aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2018-09-20 21:11:09 +0200
committerFlorian Dold <florian.dold@gmail.com>2018-09-20 21:11:09 +0200
commit74fe752ea0bd8b0c25a0db15bbc56b1753bb3a11 (patch)
treef4090ae17cf8c7695cad9da9d3742818c4bfe61e
parent1751ecb163d28da20863d463e4f21322ad1cb9ff (diff)
downloadwallet-core-74fe752ea0bd8b0c25a0db15bbc56b1753bb3a11.tar.xz
not working
-rw-r--r--emscripten/taler-emscripten-lib.js121332
-rw-r--r--src/crypto/cryptoWorker.ts20
-rw-r--r--src/crypto/emscInterface.ts379
-rw-r--r--src/crypto/emscLoader.d.ts8
-rw-r--r--src/crypto/emscLoader.js29
5 files changed, 121600 insertions, 168 deletions
diff --git a/emscripten/taler-emscripten-lib.js b/emscripten/taler-emscripten-lib.js
index dcbea842c..e1bd25dd5 100644
--- a/emscripten/taler-emscripten-lib.js
+++ b/emscripten/taler-emscripten-lib.js
@@ -1,22 +1,121328 @@
-var Module;if(!Module)Module=(typeof TalerEmscriptenLib!=="undefined"?TalerEmscriptenLib:null)||{};var moduleOverrides={};for(var key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=console.log;if(!Module["printErr"])Module["printErr"]=console.warn;var nodeFS;var nodePath;Module["read"]=function read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);return binary?ret:ret.toString()};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};Module["load"]=function load(f){globalEval(read(f))};if(!Module["thisProgram"]){if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}else{Module["thisProgram"]="unknown-program"}}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));Module["inspect"]=(function(){return"[Emscripten Module object]"})}else if(ENVIRONMENT_IS_SHELL){if(!Module["print"])Module["print"]=print;if(typeof printErr!="undefined")Module["printErr"]=printErr;if(typeof read!="undefined"){Module["read"]=read}else{Module["read"]=function read(){throw"no read() available"}}Module["readBinary"]=function readBinary(f){if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}var data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function printErr(x){console.warn(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){abort("NO_DYNAMIC_EXECUTION=1 was set, cannot eval")}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"}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var Runtime={setTempRet0:(function(value){tempRet0=value;return 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}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);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);assert("dynCall_"+sig in Module,"bad function pointer type - no table for sig '"+sig+"'");return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{assert(sig.length==1);assert("dynCall_"+sig in Module,"bad function pointer type - no table for sig '"+sig+"'");return Module["dynCall_"+sig].call(null,ptr)}}),functionPointers:[],addFunction:(function(func){for(var i=0;i<Runtime.functionPointers.length;i++){if(!Runtime.functionPointers[i]){Runtime.functionPointers[i]=func;return 2*(1+i)}}throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."}),removeFunction:(function(index){Runtime.functionPointers[(index-2)/2]=null}),warnOnce:(function(text){if(!Runtime.warnOnce.shown)Runtime.warnOnce.shown={};if(!Runtime.warnOnce.shown[text]){Runtime.warnOnce.shown[text]=1;Module.printErr(text)}}),funcWrappers:{},getFuncWrapper:(function(func,sig){assert(sig);if(!Runtime.funcWrappers[sig]){Runtime.funcWrappers[sig]={}}var sigCache=Runtime.funcWrappers[sig];if(!sigCache[func]){if(sig.length===1){sigCache[func]=function dynCall_wrapper(){return Runtime.dynCall(sig,func)}}else if(sig.length===2){sigCache[func]=function dynCall_wrapper(arg){return Runtime.dynCall(sig,func,[arg])}}else{sigCache[func]=function dynCall_wrapper(){return Runtime.dynCall(sig,func,Array.prototype.slice.call(arguments))}}}return sigCache[func]}),getCompilerSetting:(function(name){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work"}),stackAlloc:(function(size){var ret=STACKTOP;STACKTOP=STACKTOP+size|0;STACKTOP=STACKTOP+15&-16;assert((STACKTOP|0)<(STACK_MAX|0)|0)|0;return ret}),staticAlloc:(function(size){var ret=STATICTOP;STATICTOP=STATICTOP+(assert(!staticSealed),size)|0;STATICTOP=STATICTOP+15&-16;return ret}),dynamicAlloc:(function(size){assert(DYNAMICTOP_PTR);var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=(ret+size+15|0)&-16;HEAP32[DYNAMICTOP_PTR>>2]=end;if(end>=TOTAL_MEMORY){var success=enlargeMemory();if(!success){HEAP32[DYNAMICTOP_PTR>>2]=ret;return 0}}return ret}),alignMemory:(function(size,quantum){var ret=size=Math.ceil(size/(quantum?quantum:16))*(quantum?quantum:16);return ret}),makeBigInt:(function(low,high,unsigned){var ret=unsigned?+(low>>>0)+ +(high>>>0)*+4294967296:+(low>>>0)+ +(high|0)*+4294967296;return ret}),GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module["Runtime"]=Runtime;var ABORT=0;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];if(!func){abort("NO_DYNAMIC_EXECUTION=1 was set, cannot eval")}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var cwrap,ccall;((function(){var JSfuncs={"stackSave":(function(){Runtime.stackSave()}),"stackRestore":(function(){Runtime.stackRestore()}),"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){var len=(str.length<<2)+1;ret=Runtime.stackAlloc(len);stringToUTF8(str,ret,len)}return ret})};var toC={"string":JSfuncs["stringToC"],"array":JSfuncs["arrayToC"]};ccall=function ccallFunc(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;assert(returnType!=="array",'Return type should not be "array".');if(args){for(var i=0;i<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=Runtime.stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);if((!opts||!opts.async)&&typeof EmterpreterAsync==="object"){assert(!EmterpreterAsync.state,"cannot start async op with normal JS calling ccall")}if(opts&&opts.async)assert(!returnType,"async ccalls cannot return values");if(returnType==="string")ret=Pointer_stringify(ret);if(stack!==0){if(opts&&opts.async){EmterpreterAsync.asyncFinalizers.push((function(){Runtime.stackRestore(stack)}));return}Runtime.stackRestore(stack)}return ret};cwrap=function cwrap(ident,returnType,argTypes){return(function(){Runtime.warnOnce("NO_DYNAMIC_EXECUTION was set, "+"using slow cwrap implementation");return ccall(ident,returnType,argTypes,arguments)})}}))();Module["ccall"]=ccall;Module["cwrap"]=cwrap;function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";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?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>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";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;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;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;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc==="function"?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr<stop;ptr+=4){HEAP32[ptr>>2]=0}stop=ret+size;while(ptr<stop){HEAP8[ptr++>>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i<size){var curr=slab[i];if(typeof curr==="function"){curr=Runtime.getFunctionIndex(curr)}type=singleType||types[i];if(type===0){i++;continue}assert(type,"Must know what type to store in allocate!");if(type=="i64")type="i32";setValue(ret+i,curr,type);if(previousType!==type){typeSize=Runtime.getNativeTypeSize(type);previousType=type}i+=typeSize}return ret}Module["allocate"]=allocate;function getMemory(size){if(!staticSealed)return Runtime.staticAlloc(size);if(!runtimeInitialized)return Runtime.dynamicAlloc(size);return _malloc(size)}Module["getMemory"]=getMemory;function Pointer_stringify(ptr,length){if(length===0||!ptr)return"";var hasUtf=0;var t;var i=0;while(1){assert(ptr+i<TOTAL_MEMORY);t=HEAPU8[ptr+i>>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return Module["UTF8ToString"](ptr)}Module["Pointer_stringify"]=Pointer_stringify;function AsciiToString(ptr){var str="";while(1){var ch=HEAP8[ptr++>>0];if(!ch)return str;str+=String.fromCharCode(ch)}}Module["AsciiToString"]=AsciiToString;function stringToAscii(str,outPtr){return writeAsciiToMemory(str,outPtr,false)}Module["stringToAscii"]=stringToAscii;var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(u8Array,idx){var endPtr=idx;while(u8Array[endPtr])++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}}Module["UTF8ArrayToString"]=UTF8ArrayToString;function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}Module["UTF8ToString"]=UTF8ToString;function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}Module["stringToUTF8Array"]=stringToUTF8Array;function stringToUTF8(str,outPtr,maxBytesToWrite){assert(typeof maxBytesToWrite=="number","stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!");return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}Module["stringToUTF8"]=stringToUTF8;function lengthBytesUTF8(str){var len=0;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}Module["lengthBytesUTF8"]=lengthBytesUTF8;var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function demangle(func){var __cxa_demangle_func=Module["___cxa_demangle"]||Module["__cxa_demangle"];if(__cxa_demangle_func){try{var s=func.substr(1);var len=lengthBytesUTF8(s)+1;var buf=_malloc(len);stringToUTF8(s,buf,len);var status=_malloc(4);var ret=__cxa_demangle_func(buf,0,0,status);if(getValue(status,"i32")===0&&ret){return Pointer_stringify(ret)}}catch(e){}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}return func}Runtime.warnOnce("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling");return func}function demangleAll(text){var regex=/__Z[\w\d_]+/g;return text.replace(regex,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}Module["stackTrace"]=stackTrace;var PAGE_SIZE=16384;var HEAP;var buffer;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed;var STACK_BASE,STACKTOP,STACK_MAX;var DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0;staticSealed=false;function writeStackCookie(){assert((STACK_MAX&3)==0);HEAPU32[(STACK_MAX>>2)-1]=34821223;HEAPU32[(STACK_MAX>>2)-2]=2310721022}function checkStackCookie(){if(HEAPU32[(STACK_MAX>>2)-1]!=34821223||HEAPU32[(STACK_MAX>>2)-2]!=2310721022){abort("Stack overflow! Stack cookie has been overwritten, expected hex dwords 0x89BACDFE and 0x02135467, but received 0x"+HEAPU32[(STACK_MAX>>2)-2].toString(16)+" "+HEAPU32[(STACK_MAX>>2)-1].toString(16))}if(HEAP32[0]!==1668509029)throw"Runtime error: The application has corrupted its heap memory area (address zero)!"}function abortStackOverflow(allocSize){abort("Stack overflow! Attempted to allocate "+allocSize+" bytes on the stack, but stack has only "+(STACK_MAX-asm.stackSave()+allocSize)+" bytes available!")}function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}function enlargeMemory(){abortOnCannotGrowMemory()}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(TOTAL_MEMORY<TOTAL_STACK)Module.printErr("TOTAL_MEMORY should be larger than TOTAL_STACK, was "+TOTAL_MEMORY+"! (TOTAL_STACK="+TOTAL_STACK+")");assert(typeof Int32Array!=="undefined"&&typeof Float64Array!=="undefined"&&!!(new Int32Array(1))["subarray"]&&!!(new Int32Array(1))["set"],"JS engine does not provide full typed array support");if(Module["buffer"]){buffer=Module["buffer"];assert(buffer.byteLength===TOTAL_MEMORY,"provided buffer should be "+TOTAL_MEMORY+" bytes, but it is "+buffer.byteLength)}else{{buffer=new ArrayBuffer(TOTAL_MEMORY)}assert(buffer.byteLength===TOTAL_MEMORY)}updateGlobalBufferViews();function getTotalMemory(){return TOTAL_MEMORY}HEAP32[0]=1668509029;HEAP16[1]=25459;if(HEAPU8[2]!==115||HEAPU8[3]!==99)throw"Runtime error: expected the system to be little-endian!";Module["HEAP"]=HEAP;Module["buffer"]=buffer;Module["HEAP8"]=HEAP8;Module["HEAP16"]=HEAP16;Module["HEAP32"]=HEAP32;Module["HEAPU8"]=HEAPU8;Module["HEAPU16"]=HEAPU16;Module["HEAPU32"]=HEAPU32;Module["HEAPF32"]=HEAPF32;Module["HEAPF64"]=HEAPF64;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){checkStackCookie();if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){checkStackCookie();callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){checkStackCookie();callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){checkStackCookie();if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}Module["addOnPreRun"]=addOnPreRun;function addOnInit(cb){__ATINIT__.unshift(cb)}Module["addOnInit"]=addOnInit;function addOnPreMain(cb){__ATMAIN__.unshift(cb)}Module["addOnPreMain"]=addOnPreMain;function addOnExit(cb){__ATEXIT__.unshift(cb)}Module["addOnExit"]=addOnExit;function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}Module["addOnPostRun"]=addOnPostRun;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}Module["intArrayFromString"]=intArrayFromString;function intArrayToString(array){var ret=[];for(var i=0;i<array.length;i++){var chr=array[i];if(chr>255){assert(false,"Character code "+chr+" ("+String.fromCharCode(chr)+") at offset "+i+" not in 0x00-0xFF.");chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}Module["intArrayToString"]=intArrayToString;function writeStringToMemory(string,buffer,dontAddNull){Runtime.warnOnce("writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!");var lastChar,end;if(dontAddNull){end=buffer+lengthBytesUTF8(string);lastChar=HEAP8[end]}stringToUTF8(string,buffer,Infinity);if(dontAddNull)HEAP8[end]=lastChar}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){assert(array.length>=0,"writeArrayToMemory array must have a length (should be an array or typed array)");HEAP8.set(array,buffer)}Module["writeArrayToMemory"]=writeArrayToMemory;function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.length;++i){assert(str.charCodeAt(i)===str.charCodeAt(i)&255);HEAP8[buffer++>>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}Module["writeAsciiToMemory"]=writeAsciiToMemory;if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["clz32"])Math["clz32"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math["clz32"];if(!Math["trunc"])Math["trunc"]=(function(x){return x<0?Math.ceil(x):Math.floor(x)});Math.trunc=Math["trunc"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_round=Math.round;var Math_min=Math.min;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;var runDependencyTracking={};function getUniqueRunDependency(id){var orig=id;while(1){if(!runDependencyTracking[id])return id;id=orig+Math.random()}return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(id){assert(!runDependencyTracking[id]);runDependencyTracking[id]=1;if(runDependencyWatcher===null&&typeof setInterval!=="undefined"){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)")}}),1e4)}}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()}}}Module["removeRunDependency"]=removeRunDependency;Module["preloadedImages"]={};Module["preloadedAudios"]={};var ASM_CONSTS=[];STATIC_BASE=8;STATICTOP=STATIC_BASE+72896;__ATINIT__.push({func:(function(){_GNUNET_util_cl_init()})},{func:(function(){_GNUNET_CRYPTO_random_init()})},{func:(function(){_gpg_err_init()})},{func:(function(){_TALER_gcrypt_init()})});allocate([0,0,0,0,0,0,0,0,102,154,0,127,199,106,69,159,152,186,249,23,254,223,149,34,17,154,0,127,199,106,69,159,152,186,249,23,254,223,149,51,6,154,0,127,199,106,69,159,152,186,249,23,254,223,149,33,255,255,255,255,255,255,255,255,34,174,40,215,152,47,138,66,205,101,239,35,145,68,55,113,47,59,77,236,207,251,192,181,188,219,137,129,165,219,181,233,56,181,72,243,91,194,86,57,25,208,5,182,241,17,241,89,155,79,25,175,164,130,63,146,24,129,109,218,213,94,28,171,66,2,3,163,152,170,7,216,190,111,112,69,1,91,131,18,140,178,228,78,190,133,49,36,226,180,255,213,195,125,12,85,111,137,123,242,116,93,190,114,177,150,22,59,254,177,222,128,53,18,199,37,167,6,220,155,148,38,105,207,116,241,155,193,210,74,241,158,193,105,155,228,227,37,79,56,134,71,190,239,181,213,140,139,198,157,193,15,101,156,172,119,204,161,12,36,117,2,43,89,111,44,233,45,131,228,166,110,170,132,116,74,212,251,65,189,220,169,176,92,181,83,17,131,218,136,249,118,171,223,102,238,82,81,62,152,16,50,180,45,109,198,49,168,63,33,251,152,200,39,3,176,228,14,239,190,199,127,89,191,194,143,168,61,243,11,224,198,37,167,10,147,71,145,167,213,111,130,3,224,81,99,202,6,112,110,14,10,103,41,41,20,252,47,210,70,133,10,183,39,38,201,38,92,56,33,27,46,237,42,196,90,252,109,44,77,223,179,149,157,19,13,56,83,222,99,175,139,84,115,10,101,168,178,119,60,187,10,106,118,230,174,237,71,46,201,194,129,59,53,130,20,133,44,114,146,100,3,241,76,161,232,191,162,1,48,66,188,75,102,26,168,145,151,248,208,112,139,75,194,48,190,84,6,163,81,108,199,24,82,239,214,25,232,146,209,16,169,101,85,36,6,153,214,42,32,113,87,133,53,14,244,184,209,187,50,112,160,106,16,200,208,210,184,22,193,164,25,83,171,65,81,8,108,55,30,153,235,142,223,76,119,72,39,168,72,155,225,181,188,176,52,99,90,201,197,179,12,28,57,203,138,65,227,74,170,216,78,115,227,99,119,79,202,156,91,163,184,178,214,243,111,46,104,252,178,239,93,238,130,143,116,96,47,23,67,111,99,165,120,114,171,240,161,20,120,200,132,236,57,100,26,8,2,199,140,40,30,99,35,250,255,190,144,233,189,130,222,235,108,80,164,21,121,198,178,247,163,249,190,43,83,114,227,242,120,113,198,156,97,38,234,206,62,39,202,7,194,192,33,199,184,134,209,30,235,224,205,214,125,218,234,120,209,110,238,127,79,125,245,186,111,23,114,170,103,240,6,166,152,200,162,197,125,99,10,174,13,249,190,4,152,63,17,27,71,28,19,53,11,113,27,132,125,4,35,245,119,219,40,147,36,199,64,123,171,202,50,188,190,201,21,10,190,158,60,76,13,16,156,196,103,29,67,182,66,62,203,190,212,197,76,42,126,101,252,156,41,127,89,236,250,214,58,171,111,203,95,23,88,71,74,140,25,68,108,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,210,84,0,0,255,255,255,255,255,255,255,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,145,88,0,0,2,0,0,0,157,88,0,0,4,0,0,0,169,88,0,0,8,0,0,0,181,88,0,0,16,0,0,0,194,88,0,0,32,0,0,0,204,88,0,0,64,0,0,0,215,88,0,0,128,0,0,0,227,88,0,0,0,1,0,0,240,88,0,0,0,2,0,0,252,88,0,0,0,4,0,0,9,89,0,0,0,8,0,0,19,89,0,0,0,16,0,0,30,89,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,223,139,0,0,0,1,0,0,0,0,0,0,2,0,0,0,1,0,0,0,213,98,0,0,24,99,0,0,30,99,0,0,98,99,0,0,165,99,0,0,232,99,0,0,43,100,0,0,147,95,0,0,192,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,48,100,0,0,99,100,0,0,150,100,0,0,201,100,0,0,252,100,0,0,47,101,0,0,98,101,0,0,208,95,0,0,224,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,103,101,0,0,162,101,0,0,221,101,0,0,24,102,0,0,83,102,0,0,142,102,0,0,98,101,0,0,251,95,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,201,102,0,0,12,103,0,0,79,103,0,0,146,103,0,0,213,103,0,0,24,104,0,0,98,101,0,0,56,96,0,0,128,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,91,104,0,0,190,104,0,0,33,105,0,0,132,105,0,0,231,105,0,0,74,106,0,0,98,101,0,0,99,96,0,0,9,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,173,106,0,0,52,107,0,0,187,107,0,0,65,108,0,0,199,108,0,0,78,109,0,0,98,101,0,0,142,96,0,0,160,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,213,109,0,0,0,110,0,0,43,110,0,0,86,110,0,0,129,110,0,0,172,110,0,0,98,101,0,0,179,96,0,0,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,215,110,0,0,10,111,0,0,61,111,0,0,112,111,0,0,163,111,0,0,214,111,0,0,98,101,0,0,216,96,0,0,224,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,112,0,0,68,112,0,0,127,112,0,0,186,112,0,0,245,112,0,0,48,113,0,0,98,101,0,0,253,96,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,107,113,0,0,174,113,0,0,241,113,0,0,52,114,0,0,119,114,0,0,186,114,0,0,98,101,0,0,34,97,0,0,64,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,114,0,0,80,115,0,0,163,115,0,0,246,115,0,0,73,116,0,0,156,116,0,0,98,101,0,0,71,97,0,0,128,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,239,116,0,0,82,117,0,0,181,117,0,0,24,118,0,0,123,118,0,0,222,118,0,0,98,101,0,0,109,97,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,119,0,0,196,119,0,0,71,120,0,0,202,120,0,0,77,121,0,0,208,121,0,0,98,101,0,0,147,97,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,83,122,0,0,150,122,0,0,217,122,0,0,28,123,0,0,95,123,0,0,162,123,0,0,98,101,0,0,178,97,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,229,123,0,0,40,124,0,0,107,124,0,0,174,124,0,0,241,124,0,0,52,125,0,0,98,101,0,0,216,97,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,119,125,0,0,186,125,0,0,253,125,0,0,64,126,0,0,241,124,0,0,131,126,0,0,98,101,0,0,254,97,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,198,126,0,0,9,127,0,0,76,127,0,0,143,127,0,0,210,127,0,0,21,128,0,0,98,101,0,0,88,128,0,0,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,128,0,0,150,122,0,0,233,128,0,0,108,129,0,0,239,129,0,0,114,130,0,0,98,101,0,0,118,98,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,245,130,0,0,120,131,0,0,251,131,0,0,126,132,0,0,1,133,0,0,132,133,0,0,98,101,0,0,154,98,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,134,0,0,138,134,0,0,13,135,0,0,144,135,0,0,19,136,0,0,150,136,0,0,98,101,0,0,190,98,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,137,0,0,210,127,0,0,150,122,0,0,92,137,0,0,159,137,0,0,226,137,0,0,98,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,223,139,0,0,124,95,0,0,147,95,0,0,158,95,0,0,147,95,0,0,178,95,0,0,147,95,0,0,189,95,0,0,147,95,0,0,199,95,0,0,208,95,0,0,219,95,0,0,208,95,0,0,229,95,0,0,208,95,0,0,242,95,0,0,251,95,0,0,6,96,0,0,251,95,0,0,26,96,0,0,251,95,0,0,37,96,0,0,251,95,0,0,47,96,0,0,56,96,0,0,67,96,0,0,56,96,0,0,77,96,0,0,56,96,0,0,90,96,0,0,99,96,0,0,110,96,0,0,99,96,0,0,120,96,0,0,99,96,0,0,133,96,0,0,142,96,0,0,158,96,0,0,179,96,0,0,195,96,0,0,216,96,0,0,232,96,0,0,253,96,0,0,13,97,0,0,34,97,0,0,50,97,0,0,71,97,0,0,87,97,0,0,109,97,0,0,125,97,0,0,147,97,0,0,161,97,0,0,178,97,0,0,199,97,0,0,216,97,0,0,237,97,0,0,254,97,0,0,19,98,0,0,178,97,0,0,36,98,0,0,254,97,0,0,60,98,0,0,178,97,0,0,84,98,0,0,254,97,0,0,101,98,0,0,118,98,0,0,134,98,0,0,154,98,0,0,170,98,0,0,190,98,0,0,200,98,0,0,0,0,0,0,0,0,0,0,79,141,0,0,93,141,0,0,122,141,0,0,163,14,1,9,139,198,219,191,69,105,15,58,126,158,109,15,139,190,162,163,158,97,72,0,143,208,94,68,127,141,0,0,141,141,0,0,150,141,0,0,137,111,177,18,138,187,223,25,104,50,16,124,212,157,243,63,71,180,177,22,153,18,186,79,83,104,75,34,171,141,0,0,186,141,0,0,237,141,0,0,127,179,203,53,136,198,193,246,255,169,105,77,125,106,210,100,147,101,176,193,246,93,105,209,236,131,51,234,2,142,0,0,17,142,0,0,68,142,0,0,108,17,80,104,116,1,60,172,106,42,188,27,179,130,98,124,236,106,144,216,110,252,1,45,231,175,236,90,94,142,0,0,110,142,0,0,165,142,0,0,149,233,160,219,150,32,149,173,174,190,155,45,111,13,188,226,212,153,241,18,242,210,183,39,63,166,135,14,41,143,0,0,58,143,0,0,165,142,0,0,58,133,65,102,172,93,159,2,63,84,213,23,208,179,157,189,148,103,112,219,156,43,149,201,246,245,101,209,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,79,141,0,0,93,141,0,0,122,141,0,0,91,220,193,70,191,96,117,78,106,4,36,38,8,149,117,199,90,0,63,8,157,39,57,131,157,236,88,185,100,236,56,67,127,141,0,0,141,141,0,0,150,141,0,0,176,52,76,97,216,219,56,83,92,168,175,206,175,11,241,43,136,29,194,0,201,131,61,167,38,233,55,108,46,50,207,247,171,141,0,0,186,141,0,0,237,141,0,0,119,62,169,30,54,128,14,70,133,77,184,235,208,145,129,167,41,89,9,139,62,248,193,34,217,99,85,20,206,213,101,254,2,142,0,0,17,142,0,0,68,142,0,0,130,85,138,56,154,68,60,14,164,204,129,152,153,242,8,58,133,240,250,163,229,120,248,7,122,46,63,244,103,41,102,91,94,142,0,0,110,142,0,0,165,142,0,0,96,228,49,89,30,224,182,127,13,138,38,170,203,245,183,127,142,11,198,33,55,40,197,20,5,70,4,15,14,227,127,84,41,143,0,0,58,143,0,0,165,142,0,0,155,9,255,167,27,148,47,203,39,99,95,188,213,176,233,68,191,220,99,100,79,7,19,147,138,127,81,83,92,58,53,226,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,79,141,0,0,93,141,0,0,122,141,0,0,175,69,210,227,118,72,64,49,97,127,120,210,181,138,107,27,156,126,244,100,245,160,27,71,228,46,195,115,99,34,68,94,142,34,64,202,94,105,226,199,139,50,57,236,250,178,22,73,127,141,0,0,141,141,0,0,150,141,0,0,175,208,57,68,216,72,149,98,107,8,37,244,171,70,144,127,21,249,218,219,228,16,30,198,130,170,3,76,124,235,197,156,250,234,158,169,7,110,222,127,74,241,82,232,178,250,156,182,171,141,0,0,186,141,0,0,237,141,0,0,136,6,38,8,211,230,173,138,10,162,172,224,20,200,168,111,10,166,53,217,71,172,159,235,232,62,244,229,89,102,20,75,42,90,179,157,193,56,20,185,78,58,182,225,1,163,79,39,2,142,0,0,17,142,0,0,68,142,0,0,62,138,105,183,120,60,37,133,25,51,171,98,144,175,108,167,122,153,129,72,8,80,0,156,197,87,124,110,31,87,59,78,104,1,221,35,196,167,214,121,204,248,163,134,198,116,207,251,94,142,0,0,110,142,0,0,165,142,0,0,78,206,8,68,133,129,62,144,136,210,198,58,4,27,197,180,79,158,241,1,42,43,88,143,60,209,31,5,3,58,196,198,12,46,246,171,64,48,254,130,150,36,141,241,99,244,73,82,41,143,0,0,58,143,0,0,165,142,0,0,102,23,23,142,148,31,2,13,53,30,47,37,78,143,211,44,96,36,32,254,176,184,251,154,220,206,187,130,70,30,153,197,166,120,204,49,231,153,23,109,56,96,230,17,12,70,82,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,79,141,0,0,93,141,0,0,122,141,0,0,22,75,122,123,252,248,25,226,227,149,251,231,59,86,224,163,135,189,100,34,46,131,31,214,16,39,12,215,234,37,5,84,151,88,191,117,192,90,153,74,109,3,79,101,248,240,230,253,202,234,177,163,77,74,107,75,99,110,7,10,56,188,231,55,127,141,0,0,141,141,0,0,150,141,0,0,135,170,124,222,165,239,97,157,79,240,180,36,26,29,108,176,35,121,244,226,206,78,194,120,122,208,179,5,69,225,124,222,218,168,51,183,214,184,167,2,3,139,39,78,174,163,244,228,190,157,145,78,235,97,241,112,46,105,108,32,58,18,104,84,171,141,0,0,186,141,0,0,237,141,0,0,250,115,176,8,157,86,162,132,239,176,240,117,108,137,11,233,177,181,219,221,142,232,26,54,85,248,62,51,178,39,157,57,191,62,132,130,121,167,34,200,6,180,133,164,126,103,200,7,185,70,163,55,190,232,148,38,116,39,136,89,225,50,146,251,2,142,0,0,17,142,0,0,68,142,0,0,176,186,70,86,55,69,140,105,144,229,168,197,246,29,74,247,229,118,217,127,249,75,135,45,231,111,128,80,54,30,227,219,169,28,165,193,26,162,94,180,214,121,39,92,197,120,128,99,165,241,151,65,18,12,79,45,226,173,235,235,16,162,152,221,94,142,0,0,110,142,0,0,165,142,0,0,128,178,66,99,199,193,163,235,183,20,147,193,221,123,232,180,155,70,209,244,27,74,238,193,18,27,1,55,131,248,243,82,107,86,208,55,224,95,37,152,189,15,210,33,93,106,30,82,149,230,79,115,246,63,10,236,139,145,90,152,93,120,101,152,41,143,0,0,58,143,0,0,165,142,0,0,227,123,106,119,93,200,125,186,164,223,169,249,110,94,63,253,222,189,113,248,134,114,137,134,93,245,163,45,32,205,201,68,182,2,44,172,60,73,130,177,13,94,235,85,195,228,222,21,19,70,118,251,109,224,68,96,101,201,116,64,250,140,106,88,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,193,146,0,0,2,0,0,0,198,146,0,0,1,0,0,0,202,146,0,0,8,0,0,0,209,146,0,0,3,0,0,0,219,146,0,0,3,0,0,0,226,146,0,0,9,0,0,0,233,146,0,0,10,0,0,0,240,146,0,0,11,0,0,0,247,146,0,0,5,0,0,0,251,146,0,0,45,1,0,0,255,146,0,0,6,0,0,0,5,147,0,0,7,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,2,0,0,0,133,147,0,0,64,17,0,0,80,17,0,0,16,0,0,0,128,0,0,0,248,1,0,0,1,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,215,149,0,0,224,149,0,0,231,149,0,0,0,0,0,0,123,149,0,0,1,0,0,0,146,149,0,0,3,0,0,0,169,149,0,0,5,0,0,0,192,149,0,0,2,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,43,126,21,22,40,174,210,166,171,247,21,136,9,207,79,60,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,107,193,190,226,46,64,159,150,233,61,126,17,115,147,23,42,59,63,217,46,183,45,173,32,51,52,73,248,232,60,251,74,174,45,138,87,30,3,172,156,158,183,111,172,69,175,142,81,200,166,69,55,160,179,169,63,205,227,205,173,159,28,229,139,48,200,28,70,163,92,228,17,229,251,193,25,26,10,82,239,38,117,31,103,163,203,177,64,177,128,140,241,135,164,244,223,246,159,36,69,223,79,155,23,173,43,65,123,230,108,55,16,192,75,5,53,124,93,28,14,234,196,198,111,159,247,242,230,5,0,0,0,43,126,21,22,40,174,210,166,171,247,21,136,9,207,79,60,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,107,193,190,226,46,64,159,150,233,61,126,17,115,147,23,42,59,63,217,46,183,45,173,32,51,52,73,248,232,60,251,74,174,45,138,87,30,3,172,156,158,183,111,172,69,175,142,81,119,137,80,141,22,145,143,3,245,60,82,218,197,78,216,37,48,200,28,70,163,92,228,17,229,251,193,25,26,10,82,239,151,64,5,30,156,95,236,246,67,68,247,168,34,96,237,204,246,159,36,69,223,79,155,23,173,43,65,123,230,108,55,16,48,76,101,40,246,89,199,120,102,165,16,217,193,214,174,94,198,99,99,165,248,124,124,132,238,119,119,153,246,123,123,141,255,242,242,13,214,107,107,189,222,111,111,177,145,197,197,84,96,48,48,80,2,1,1,3,206,103,103,169,86,43,43,125,231,254,254,25,181,215,215,98,77,171,171,230,236,118,118,154,143,202,202,69,31,130,130,157,137,201,201,64,250,125,125,135,239,250,250,21,178,89,89,235,142,71,71,201,251,240,240,11,65,173,173,236,179,212,212,103,95,162,162,253,69,175,175,234,35,156,156,191,83,164,164,247,228,114,114,150,155,192,192,91,117,183,183,194,225,253,253,28,61,147,147,174,76,38,38,106,108,54,54,90,126,63,63,65,245,247,247,2,131,204,204,79,104,52,52,92,81,165,165,244,209,229,229,52,249,241,241,8,226,113,113,147,171,216,216,115,98,49,49,83,42,21,21,63,8,4,4,12,149,199,199,82,70,35,35,101,157,195,195,94,48,24,24,40,55,150,150,161,10,5,5,15,47,154,154,181,14,7,7,9,36,18,18,54,27,128,128,155,223,226,226,61,205,235,235,38,78,39,39,105,127,178,178,205,234,117,117,159,18,9,9,27,29,131,131,158,88,44,44,116,52,26,26,46,54,27,27,45,220,110,110,178,180,90,90,238,91,160,160,251,164,82,82,246,118,59,59,77,183,214,214,97,125,179,179,206,82,41,41,123,221,227,227,62,94,47,47,113,19,132,132,151,166,83,83,245,185,209,209,104,0,0,0,0,193,237,237,44,64,32,32,96,227,252,252,31,121,177,177,200,182,91,91,237,212,106,106,190,141,203,203,70,103,190,190,217,114,57,57,75,148,74,74,222,152,76,76,212,176,88,88,232,133,207,207,74,187,208,208,107,197,239,239,42,79,170,170,229,237,251,251,22,134,67,67,197,154,77,77,215,102,51,51,85,17,133,133,148,138,69,69,207,233,249,249,16,4,2,2,6,254,127,127,129,160,80,80,240,120,60,60,68,37,159,159,186,75,168,168,227,162,81,81,243,93,163,163,254,128,64,64,192,5,143,143,138,63,146,146,173,33,157,157,188,112,56,56,72,241,245,245,4,99,188,188,223,119,182,182,193,175,218,218,117,66,33,33,99,32,16,16,48,229,255,255,26,253,243,243,14,191,210,210,109,129,205,205,76,24,12,12,20,38,19,19,53,195,236,236,47,190,95,95,225,53,151,151,162,136,68,68,204,46,23,23,57,147,196,196,87,85,167,167,242,252,126,126,130,122,61,61,71,200,100,100,172,186,93,93,231,50,25,25,43,230,115,115,149,192,96,96,160,25,129,129,152,158,79,79,209,163,220,220,127,68,34,34,102,84,42,42,126,59,144,144,171,11,136,136,131,140,70,70,202,199,238,238,41,107,184,184,211,40,20,20,60,167,222,222,121,188,94,94,226,22,11,11,29,173,219,219,118,219,224,224,59,100,50,50,86,116,58,58,78,20,10,10,30,146,73,73,219,12,6,6,10,72,36,36,108,184,92,92,228,159,194,194,93,189,211,211,110,67,172,172,239,196,98,98,166,57,145,145,168,49,149,149,164,211,228,228,55,242,121,121,139,213,231,231,50,139,200,200,67,110,55,55,89,218,109,109,183,1,141,141,140,177,213,213,100,156,78,78,210,73,169,169,224,216,108,108,180,172,86,86,250,243,244,244,7,207,234,234,37,202,101,101,175,244,122,122,142,71,174,174,233,16,8,8,24,111,186,186,213,240,120,120,136,74,37,37,111,92,46,46,114,56,28,28,36,87,166,166,241,115,180,180,199,151,198,198,81,203,232,232,35,161,221,221,124,232,116,116,156,62,31,31,33,150,75,75,221,97,189,189,220,13,139,139,134,15,138,138,133,224,112,112,144,124,62,62,66,113,181,181,196,204,102,102,170,144,72,72,216,6,3,3,5,247,246,246,1,28,14,14,18,194,97,97,163,106,53,53,95,174,87,87,249,105,185,185,208,23,134,134,145,153,193,193,88,58,29,29,39,39,158,158,185,217,225,225,56,235,248,248,19,43,152,152,179,34,17,17,51,210,105,105,187,169,217,217,112,7,142,142,137,51,148,148,167,45,155,155,182,60,30,30,34,21,135,135,146,201,233,233,32,135,206,206,73,170,85,85,255,80,40,40,120,165,223,223,122,3,140,140,143,89,161,161,248,9,137,137,128,26,13,13,23,101,191,191,218,215,230,230,49,132,66,66,198,208,104,104,184,130,65,65,195,41,153,153,176,90,45,45,119,30,15,15,17,123,176,176,203,168,84,84,252,109,187,187,214,44,22,22,58,81,244,167,80,126,65,101,83,26,23,164,195,58,39,94,150,59,171,107,203,31,157,69,241,172,250,88,171,75,227,3,147,32,48,250,85,173,118,109,246,136,204,118,145,245,2,76,37,79,229,215,252,197,42,203,215,38,53,68,128,181,98,163,143,222,177,90,73,37,186,27,103,69,234,14,152,93,254,192,225,195,47,117,2,129,76,240,18,141,70,151,163,107,211,249,198,3,143,95,231,21,146,156,149,191,109,122,235,149,82,89,218,212,190,131,45,88,116,33,211,73,224,105,41,142,201,200,68,117,194,137,106,244,142,121,120,153,88,62,107,39,185,113,221,190,225,79,182,240,136,173,23,201,32,172,102,125,206,58,180,99,223,74,24,229,26,49,130,151,81,51,96,98,83,127,69,177,100,119,224,187,107,174,132,254,129,160,28,249,8,43,148,112,72,104,88,143,69,253,25,148,222,108,135,82,123,248,183,171,115,211,35,114,75,2,226,227,31,143,87,102,85,171,42,178,235,40,7,47,181,194,3,134,197,123,154,211,55,8,165,48,40,135,242,35,191,165,178,2,3,106,186,237,22,130,92,138,207,28,43,167,121,180,146,243,7,242,240,78,105,226,161,101,218,244,205,6,5,190,213,209,52,98,31,196,166,254,138,52,46,83,157,162,243,85,160,5,138,225,50,164,246,235,117,11,131,236,57,64,96,239,170,94,113,159,6,189,110,16,81,62,33,138,249,150,221,6,61,221,62,5,174,77,230,189,70,145,84,141,181,113,196,93,5,4,6,212,111,96,80,21,255,25,152,251,36,214,189,233,151,137,64,67,204,103,217,158,119,176,232,66,189,7,137,139,136,231,25,91,56,121,200,238,219,161,124,10,71,124,66,15,233,248,132,30,201,0,0,0,0,9,128,134,131,50,43,237,72,30,17,112,172,108,90,114,78,253,14,255,251,15,133,56,86,61,174,213,30,54,45,57,39,10,15,217,100,104,92,166,33,155,91,84,209,36,54,46,58,12,10,103,177,147,87,231,15,180,238,150,210,27,155,145,158,128,192,197,79,97,220,32,162,90,119,75,105,28,18,26,22,226,147,186,10,192,160,42,229,60,34,224,67,18,27,23,29,14,9,13,11,242,139,199,173,45,182,168,185,20,30,169,200,87,241,25,133,175,117,7,76,238,153,221,187,163,127,96,253,247,1,38,159,92,114,245,188,68,102,59,197,91,251,126,52,139,67,41,118,203,35,198,220,182,237,252,104,184,228,241,99,215,49,220,202,66,99,133,16,19,151,34,64,132,198,17,32,133,74,36,125,210,187,61,248,174,249,50,17,199,41,161,109,29,158,47,75,220,178,48,243,13,134,82,236,119,193,227,208,43,179,22,108,169,112,185,153,17,148,72,250,71,233,100,34,168,252,140,196,160,240,63,26,86,125,44,216,34,51,144,239,135,73,78,199,217,56,209,193,140,202,162,254,152,212,11,54,166,245,129,207,165,122,222,40,218,183,142,38,63,173,191,164,44,58,157,228,80,120,146,13,106,95,204,155,84,126,70,98,246,141,19,194,144,216,184,232,46,57,247,94,130,195,175,245,159,93,128,190,105,208,147,124,111,213,45,169,207,37,18,179,200,172,153,59,16,24,125,167,232,156,99,110,219,59,187,123,205,38,120,9,110,89,24,244,236,154,183,1,131,79,154,168,230,149,110,101,170,255,230,126,33,188,207,8,239,21,232,230,186,231,155,217,74,111,54,206,234,159,9,212,41,176,124,214,49,164,178,175,42,63,35,49,198,165,148,48,53,162,102,192,116,78,188,55,252,130,202,166,224,144,208,176,51,167,216,21,241,4,152,74,65,236,218,247,127,205,80,14,23,145,246,47,118,77,214,141,67,239,176,77,204,170,77,84,228,150,4,223,158,209,181,227,76,106,136,27,193,44,31,184,70,101,81,127,157,94,234,4,1,140,53,93,250,135,116,115,251,11,65,46,179,103,29,90,146,219,210,82,233,16,86,51,109,214,71,19,154,215,97,140,55,161,12,122,89,248,20,142,235,19,60,137,206,169,39,238,183,97,201,53,225,28,229,237,122,71,177,60,156,210,223,89,85,242,115,63,24,20,206,121,115,199,55,191,83,247,205,234,95,253,170,91,223,61,111,20,120,68,219,134,202,175,243,129,185,104,196,62,56,36,52,44,194,163,64,95,22,29,195,114,188,226,37,12,40,60,73,139,255,13,149,65,57,168,1,113,8,12,179,222,216,180,228,156,100,86,193,144,123,203,132,97,213,50,182,112,72,108,92,116,208,184,87,66,82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125,1,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,64,0,0,0,128,0,0,0,27,0,0,0,54,0,0,0,108,0,0,0,216,0,0,0,171,0,0,0,77,0,0,0,154,0,0,0,47,0,0,0,94,0,0,0,188,0,0,0,99,0,0,0,198,0,0,0,151,0,0,0,53,0,0,0,106,0,0,0,212,0,0,0,179,0,0,0,125,0,0,0,250,0,0,0,239,0,0,0,197,0,0,0,145,0,0,0,8,0,0,0,2,0,0,0,239,149,0,0,120,28,0,0,132,28,0,0,16,0,0,0,192,0,0,0,248,1,0,0,1,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,86,150,0,0,98,150,0,0,0,0,0,0,246,149,0,0,1,0,0,0,14,150,0,0,3,0,0,0,38,150,0,0,5,0,0,0,62,150,0,0,2,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,2,0,0,0,106,150,0,0,236,28,0,0,248,28,0,0,16,0,0,0,0,1,0,0,248,1,0,0,1,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,209,150,0,0,221,150,0,0,0,0,0,0,113,150,0,0,1,0,0,0,137,150,0,0,3,0,0,0,161,150,0,0,5,0,0,0,185,150,0,0,2,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,229,150,0,0,239,150,0,0,15,0,0,0,84,29,0,0,20,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,184,0,0,0,0,0,0,0,254,150,0,0,13,151,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,145,152,0,0,180,29,0,0,149,152,0,0,152,152,0,0,159,152,0,0,161,152,0,0,163,152,0,0,1,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,245,158,0,0,246,163,0,0,2,164,0,0,0,0,0,0,2,0,0,0,2,0,0,0,27,164,0,0,32,164,0,0,15,0,0,0,248,29,0,0,20,0,0,0,2,0,0,0,1,0,0,0,2,0,0,0,4,0,0,0,184,0,0,0,10,0,0,0,110,164,0,0,131,164,0,0,149,164,0,0,163,164,0,0,177,164,0,0,0,0,0,0,11,0,0,0,2,0,0,0,195,164,0,0,202,164,0,0,19,0,0,0,68,30,0,0,28,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,5,0,0,0,192,0,0,0,11,0,0,0,208,165,0,0,0,0,0,0,8,0,0,0,2,0,0,0,231,165,0,0,238,165,0,0,19,0,0,0,128,30,0,0,32,0,0,0,4,0,0,0,1,0,0,0,3,0,0,0,5,0,0,0,192,0,0,0,11,0,0,0,1,166,0,0,24,166,0,0,0,0,0,0,10,0,0,0,2,0,0,0,46,166,0,0,53,166,0,0,19,0,0,0,192,30,0,0,64,0,0,0,5,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,224,0,0,0,12,0,0,0,67,168,0,0,90,168,0,0,0,0,0,0,9,0,0,0,2,0,0,0,112,168,0,0,119,168,0,0,19,0,0,0,0,31,0,0,48,0,0,0,6,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,224,0,0,0,12,0,0,0,138,168,0,0,161,168,0,0,0,0,0,0,10,0,0,0,0,0,0,0,183,168,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,1,0,0,160,16,0,0,13,0,0,0,14,0,0,0,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,117,50,188,188,243,33,236,236,198,67,32,32,244,201,179,179,219,3,218,218,123,139,2,2,251,43,226,226,200,250,158,158,74,236,201,201,211,9,212,212,230,107,24,24,107,159,30,30,69,14,152,152,125,56,178,178,232,210,166,166,75,183,38,38,214,87,60,60,50,138,147,147,216,238,130,130,253,152,82,82,55,212,123,123,113,55,187,187,241,151,91,91,225,131,71,71,48,60,36,36,15,226,81,81,248,198,186,186,27,243,74,74,135,72,191,191,250,112,13,13,6,179,176,176,63,222,117,117,94,253,210,210,186,32,125,125,174,49,102,102,91,163,58,58,138,28,89,89,0,0,0,0,188,147,205,205,157,224,26,26,109,44,174,174,193,171,127,127,177,199,43,43,14,185,190,190,128,160,224,224,93,16,138,138,210,82,59,59,213,186,100,100,160,136,216,216,132,165,231,231,7,232,95,95,20,17,27,27,181,194,44,44,144,180,252,252,44,39,49,49,163,101,128,128,178,42,115,115,115,129,12,12,76,95,121,121,84,65,107,107,146,2,75,75,116,105,83,83,54,143,148,148,81,31,131,131,56,54,42,42,176,156,196,196,189,200,34,34,90,248,213,213,252,195,189,189,96,120,72,72,98,206,255,255,150,7,76,76,108,119,65,65,66,230,199,199,247,36,235,235,16,20,28,28,124,99,93,93,40,34,54,54,39,192,103,103,140,175,233,233,19,249,68,68,149,234,20,20,156,187,245,245,199,24,207,207,36,45,63,63,70,227,192,192,59,219,114,114,112,108,84,84,202,76,41,41,227,53,240,240,133,254,8,8,203,23,198,198,17,79,243,243,208,228,140,140,147,89,164,164,184,150,202,202,166,59,104,104,131,77,184,184,32,40,56,56,255,46,229,229,159,86,173,173,119,132,11,11,195,29,200,200,204,255,153,153,3,237,88,88,111,154,25,25,8,10,14,14,191,126,149,149,64,80,112,112,231,48,247,247,43,207,110,110,226,110,31,31,121,61,181,181,12,15,9,9,170,52,97,97,130,22,87,87,65,11,159,159,58,128,157,157,234,100,17,17,185,205,37,37,228,221,175,175,154,8,69,69,164,141,223,223,151,92,163,163,126,213,234,234,218,88,53,53,122,208,237,237,23,252,67,67,102,203,248,248,148,177,251,251,161,211,55,55,29,64,250,250,61,104,194,194,240,204,180,180,222,93,50,50,179,113,156,156,11,231,86,86,114,218,227,227,167,96,135,135,28,27,21,21,239,58,249,249,209,191,99,99,83,169,52,52,62,133,154,154,143,66,177,177,51,209,124,124,38,155,136,136,95,166,61,61,236,215,161,161,118,223,228,228,42,148,129,129,73,1,145,145,129,251,15,15,136,170,238,238,238,97,22,22,33,115,215,215,196,245,151,151,26,168,165,165,235,63,254,254,217,181,109,109,197,174,120,120,57,109,197,197,153,229,29,29,205,164,118,118,173,220,62,62,49,103,203,203,139,71,182,182,1,91,239,239,24,30,18,18,35,197,96,96,221,176,106,106,31,246,77,77,78,233,206,206,45,124,222,222,249,157,85,85,72,90,126,126,79,178,33,33,242,122,3,3,101,38,160,160,142,25,94,94,120,102,90,90,92,75,101,101,88,78,98,98,25,69,253,253,141,244,6,6,229,134,64,64,152,190,242,242,87,172,51,51,103,144,23,23,127,142,5,5,5,94,232,232,100,125,79,79,175,106,137,137,99,149,16,16,182,47,116,116,254,117,10,10,245,146,92,92,183,116,155,155,60,51,45,45,165,214,48,48,206,73,46,46,233,137,73,73,104,114,70,70,68,85,119,119,224,216,168,168,77,4,150,150,67,189,40,40,105,41,169,169,41,121,217,217,46,145,134,134,172,135,209,209,21,74,244,244,89,21,141,141,168,130,214,214,10,188,185,185,158,13,66,66,110,193,246,246,71,184,47,47,223,6,221,221,52,57,35,35,53,98,204,204,106,196,241,241,207,18,193,193,220,235,133,133,34,158,143,143,201,161,113,113,192,240,144,144,155,83,170,170,137,241,1,1,212,225,139,139,237,140,78,78,171,111,142,142,18,162,171,171,162,62,111,111,13,84,230,230,82,242,219,219,187,123,146,146,2,182,183,183,47,202,105,105,169,217,57,57,215,12,211,211,97,35,167,167,30,173,162,162,180,153,195,195,80,68,108,108,4,5,7,7,246,127,4,4,194,70,39,39,22,167,172,172,37,118,208,208,134,19,80,80,86,247,220,220,85,26,132,132,9,81,225,225,190,37,122,122,145,239,19,19,57,57,217,169,23,23,144,103,156,156,113,179,166,166,210,232,7,7,5,4,82,82,152,253,128,128,101,163,228,228,223,118,69,69,8,154,75,75,2,146,224,224,160,128,90,90,102,120,175,175,221,228,106,106,176,221,99,99,191,209,42,42,54,56,230,230,84,13,32,32,67,198,204,204,98,53,242,242,190,152,18,18,30,24,235,235,36,247,161,161,215,236,65,65,119,108,40,40,189,67,188,188,50,117,123,123,212,55,136,136,155,38,13,13,112,250,68,68,249,19,251,251,177,148,126,126,90,72,3,3,122,242,140,140,228,208,182,182,71,139,36,36,60,48,231,231,165,132,107,107,65,84,221,221,6,223,96,96,197,35,253,253,69,25,58,58,163,91,194,194,104,61,141,141,21,89,236,236,33,243,102,102,49,174,111,111,62,162,87,87,22,130,16,16,149,99,239,239,91,1,184,184,77,131,134,134,145,46,109,109,181,217,131,131,31,81,170,170,83,155,93,93,99,124,104,104,59,166,254,254,63,235,48,48,214,165,122,122,37,190,172,172,167,22,9,9,15,12,240,240,53,227,167,167,35,97,144,144,240,192,233,233,175,140,157,157,128,58,92,92,146,245,12,12,129,115,49,49,39,44,208,208,118,37,86,86,231,11,146,146,123,187,206,206,233,78,1,1,241,137,30,30,159,107,52,52,169,83,241,241,196,106,195,195,153,180,91,91,151,241,71,71,131,225,24,24,107,230,34,34,200,189,152,152,14,69,31,31,110,226,179,179,201,244,116,116,47,182,248,248,203,102,153,153,255,204,20,20,234,149,88,88,237,3,220,220,247,86,139,139,225,212,21,21,27,28,162,162,173,30,211,211,12,215,226,226,43,251,200,200,29,195,94,94,25,142,44,44,194,181,73,73,137,233,193,193,18,207,149,149,126,191,125,125,32,186,17,17,100,234,11,11,132,119,197,197,109,57,137,137,106,175,124,124,209,51,113,113,161,201,255,255,206,98,187,187,55,113,15,15,251,129,181,181,61,121,225,225,81,9,62,62,220,173,63,63,45,36,118,118,164,205,85,85,157,249,130,130,238,216,64,64,134,229,120,120,174,197,37,37,205,185,150,150,4,77,119,119,85,68,14,14,10,8,80,80,19,134,247,247,48,231,55,55,211,161,250,250,64,29,97,97,52,170,78,78,140,237,176,176,179,6,84,84,108,112,115,115,42,178,59,59,82,210,159,159,11,65,2,2,139,123,216,216,136,160,243,243,79,17,203,203,103,49,39,39,70,194,103,103,192,39,252,252,180,144,56,56,40,32,4,4,127,246,72,72,120,96,229,229,46,255,76,76,7,150,101,101,75,92,43,43,199,177,142,142,111,171,66,66,13,158,245,245,187,156,219,219,242,82,74,74,243,27,61,61,166,95,164,164,89,147,185,185,188,10,249,249,58,239,19,19,239,145,8,8,254,133,145,145,1,73,22,22,97,238,222,222,124,45,33,33,178,79,177,177,66,143,114,114,219,59,47,47,184,71,191,191,72,135,174,174,44,109,192,192,227,70,60,60,87,214,154,154,133,62,169,169,41,105,79,79,125,100,129,129,148,42,46,46,73,206,198,198,23,203,105,105,202,47,189,189,195,252,163,163,92,151,232,232,94,5,237,237,208,122,209,209,135,172,5,5,142,127,100,100,186,213,165,165,168,26,38,38,183,75,190,190,185,14,135,135,96,167,213,213,248,90,54,54,34,40,27,27,17,20,117,117,222,63,217,217,121,41,238,238,170,136,45,45,51,60,121,121,95,76,183,183,182,2,202,202,150,184,53,53,88,218,196,196,156,176,67,67,252,23,132,132,26,85,77,77,246,31,89,89,28,138,178,178,56,125,51,51,172,87,207,207,24,199,6,6,244,141,83,83,105,116,155,155,116,183,151,151,245,196,173,173,86,159,227,227,218,114,234,234,213,126,244,244,74,21,143,143,158,34,171,171,162,18,98,98,78,88,95,95,232,7,29,29,229,153,35,35,57,52,246,246,193,110,108,108,68,80,50,50,93,222,70,70,114,104,160,160,38,101,205,205,147,188,218,218,3,219,186,186,198,248,158,158,250,200,214,214,130,168,110,110,207,43,112,112,80,64,133,133,235,220,10,10,117,254,147,147,138,50,223,223,141,164,41,41,76,202,28,28,20,16,215,215,115,33,180,180,204,240,212,212,9,211,138,138,16,93,81,81,226,15,0,0,0,0,25,25,154,111,26,26,224,157,148,148,143,54,199,199,230,66,201,201,236,74,210,210,253,94,127,127,171,193,168,168,216,224,50,188,117,188,33,236,243,236,67,32,198,32,201,179,244,179,3,218,219,218,139,2,123,2,43,226,251,226,250,158,200,158,236,201,74,201,9,212,211,212,107,24,230,24,159,30,107,30,14,152,69,152,56,178,125,178,210,166,232,166,183,38,75,38,87,60,214,60,138,147,50,147,238,130,216,130,152,82,253,82,212,123,55,123,55,187,113,187,151,91,241,91,131,71,225,71,60,36,48,36,226,81,15,81,198,186,248,186,243,74,27,74,72,191,135,191,112,13,250,13,179,176,6,176,222,117,63,117,253,210,94,210,32,125,186,125,49,102,174,102,163,58,91,58,28,89,138,89,0,0,0,0,147,205,188,205,224,26,157,26,44,174,109,174,171,127,193,127,199,43,177,43,185,190,14,190,160,224,128,224,16,138,93,138,82,59,210,59],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);allocate([186,100,213,100,136,216,160,216,165,231,132,231,232,95,7,95,17,27,20,27,194,44,181,44,180,252,144,252,39,49,44,49,101,128,163,128,42,115,178,115,129,12,115,12,95,121,76,121,65,107,84,107,2,75,146,75,105,83,116,83,143,148,54,148,31,131,81,131,54,42,56,42,156,196,176,196,200,34,189,34,248,213,90,213,195,189,252,189,120,72,96,72,206,255,98,255,7,76,150,76,119,65,108,65,230,199,66,199,36,235,247,235,20,28,16,28,99,93,124,93,34,54,40,54,192,103,39,103,175,233,140,233,249,68,19,68,234,20,149,20,187,245,156,245,24,207,199,207,45,63,36,63,227,192,70,192,219,114,59,114,108,84,112,84,76,41,202,41,53,240,227,240,254,8,133,8,23,198,203,198,79,243,17,243,228,140,208,140,89,164,147,164,150,202,184,202,59,104,166,104,77,184,131,184,40,56,32,56,46,229,255,229,86,173,159,173,132,11,119,11,29,200,195,200,255,153,204,153,237,88,3,88,154,25,111,25,10,14,8,14,126,149,191,149,80,112,64,112,48,247,231,247,207,110,43,110,110,31,226,31,61,181,121,181,15,9,12,9,52,97,170,97,22,87,130,87,11,159,65,159,128,157,58,157,100,17,234,17,205,37,185,37,221,175,228,175,8,69,154,69,141,223,164,223,92,163,151,163,213,234,126,234,88,53,218,53,208,237,122,237,252,67,23,67,203,248,102,248,177,251,148,251,211,55,161,55,64,250,29,250,104,194,61,194,204,180,240,180,93,50,222,50,113,156,179,156,231,86,11,86,218,227,114,227,96,135,167,135,27,21,28,21,58,249,239,249,191,99,209,99,169,52,83,52,133,154,62,154,66,177,143,177,209,124,51,124,155,136,38,136,166,61,95,61,215,161,236,161,223,228,118,228,148,129,42,129,1,145,73,145,251,15,129,15,170,238,136,238,97,22,238,22,115,215,33,215,245,151,196,151,168,165,26,165,63,254,235,254,181,109,217,109,174,120,197,120,109,197,57,197,229,29,153,29,164,118,205,118,220,62,173,62,103,203,49,203,71,182,139,182,91,239,1,239,30,18,24,18,197,96,35,96,176,106,221,106,246,77,31,77,233,206,78,206,124,222,45,222,157,85,249,85,90,126,72,126,178,33,79,33,122,3,242,3,38,160,101,160,25,94,142,94,102,90,120,90,75,101,92,101,78,98,88,98,69,253,25,253,244,6,141,6,134,64,229,64,190,242,152,242,172,51,87,51,144,23,103,23,142,5,127,5,94,232,5,232,125,79,100,79,106,137,175,137,149,16,99,16,47,116,182,116,117,10,254,10,146,92,245,92,116,155,183,155,51,45,60,45,214,48,165,48,73,46,206,46,137,73,233,73,114,70,104,70,85,119,68,119,216,168,224,168,4,150,77,150,189,40,67,40,41,169,105,169,121,217,41,217,145,134,46,134,135,209,172,209,74,244,21,244,21,141,89,141,130,214,168,214,188,185,10,185,13,66,158,66,193,246,110,246,184,47,71,47,6,221,223,221,57,35,52,35,98,204,53,204,196,241,106,241,18,193,207,193,235,133,220,133,158,143,34,143,161,113,201,113,240,144,192,144,83,170,155,170,241,1,137,1,225,139,212,139,140,78,237,78,111,142,171,142,162,171,18,171,62,111,162,111,84,230,13,230,242,219,82,219,123,146,187,146,182,183,2,183,202,105,47,105,217,57,169,57,12,211,215,211,35,167,97,167,173,162,30,162,153,195,180,195,68,108,80,108,5,7,4,7,127,4,246,4,70,39,194,39,167,172,22,172,118,208,37,208,19,80,134,80,247,220,86,220,26,132,85,132,81,225,9,225,37,122,190,122,239,19,145,19,217,169,57,217,144,103,23,144,113,179,156,113,210,232,166,210,5,4,7,5,152,253,82,152,101,163,128,101,223,118,228,223,8,154,69,8,2,146,75,2,160,128,224,160,102,120,90,102,221,228,175,221,176,221,106,176,191,209,99,191,54,56,42,54,84,13,230,84,67,198,32,67,98,53,204,98,190,152,242,190,30,24,18,30,36,247,235,36,215,236,161,215,119,108,65,119,189,67,40,189,50,117,188,50,212,55,123,212,155,38,136,155,112,250,13,112,249,19,68,249,177,148,251,177,90,72,126,90,122,242,3,122,228,208,140,228,71,139,182,71,60,48,36,60,165,132,231,165,65,84,107,65,6,223,221,6,197,35,96,197,69,25,253,69,163,91,58,163,104,61,194,104,21,89,141,21,33,243,236,33,49,174,102,49,62,162,111,62,22,130,87,22,149,99,16,149,91,1,239,91,77,131,184,77,145,46,134,145,181,217,109,181,31,81,131,31,83,155,170,83,99,124,93,99,59,166,104,59,63,235,254,63,214,165,48,214,37,190,122,37,167,22,172,167,15,12,9,15,53,227,240,53,35,97,167,35,240,192,144,240,175,140,233,175,128,58,157,128,146,245,92,146,129,115,12,129,39,44,49,39,118,37,208,118,231,11,86,231,123,187,146,123,233,78,206,233,241,137,1,241,159,107,30,159,169,83,52,169,196,106,241,196,153,180,195,153,151,241,91,151,131,225,71,131,107,230,24,107,200,189,34,200,14,69,152,14,110,226,31,110,201,244,179,201,47,182,116,47,203,102,248,203,255,204,153,255,234,149,20,234,237,3,88,237,247,86,220,247,225,212,139,225,27,28,21,27,173,30,162,173,12,215,211,12,43,251,226,43,29,195,200,29,25,142,94,25,194,181,44,194,137,233,73,137,18,207,193,18,126,191,149,126,32,186,125,32,100,234,17,100,132,119,11,132,109,57,197,109,106,175,137,106,209,51,124,209,161,201,113,161,206,98,255,206,55,113,187,55,251,129,15,251,61,121,181,61,81,9,225,81,220,173,62,220,45,36,63,45,164,205,118,164,157,249,85,157,238,216,130,238,134,229,64,134,174,197,120,174,205,185,37,205,4,77,150,4,85,68,119,85,10,8,14,10,19,134,80,19,48,231,247,48,211,161,55,211,64,29,250,64,52,170,97,52,140,237,78,140,179,6,176,179,108,112,84,108,42,178,115,42,82,210,59,82,11,65,159,11,139,123,2,139,136,160,216,136,79,17,243,79,103,49,203,103,70,194,39,70,192,39,103,192,180,144,252,180,40,32,56,40,127,246,4,127,120,96,72,120,46,255,229,46,7,150,76,7,75,92,101,75,199,177,43,199,111,171,142,111,13,158,66,13,187,156,245,187,242,82,219,242,243,27,74,243,166,95,61,166,89,147,164,89,188,10,185,188,58,239,249,58,239,145,19,239,254,133,8,254,1,73,145,1,97,238,22,97,124,45,222,124,178,79,33,178,66,143,177,66,219,59,114,219,184,71,47,184,72,135,191,72,44,109,174,44,227,70,192,227,87,214,60,87,133,62,154,133,41,105,169,41,125,100,79,125,148,42,129,148,73,206,46,73,23,203,198,23,202,47,105,202,195,252,189,195,92,151,163,92,94,5,232,94,208,122,237,208,135,172,209,135,142,127,5,142,186,213,100,186,168,26,165,168,183,75,38,183,185,14,190,185,96,167,135,96,248,90,213,248,34,40,54,34,17,20,27,17,222,63,117,222,121,41,217,121,170,136,238,170,51,60,45,51,95,76,121,95,182,2,183,182,150,184,202,150,88,218,53,88,156,176,196,156,252,23,67,252,26,85,132,26,246,31,77,246,28,138,89,28,56,125,178,56,172,87,51,172,24,199,207,24,244,141,6,244,105,116,83,105,116,183,155,116,245,196,151,245,86,159,173,86,218,114,227,218,213,126,234,213,74,21,244,74,158,34,143,158,162,18,171,162,78,88,98,78,232,7,95,232,229,153,29,229,57,52,35,57,193,110,246,193,68,80,108,68,93,222,50,93,114,104,70,114,38,101,160,38,147,188,205,147,3,219,218,3,198,248,186,198,250,200,158,250,130,168,214,130,207,43,110,207,80,64,112,80,235,220,133,235,117,254,10,117,138,50,147,138,141,164,223,141,76,202,41,76,20,16,28,20,115,33,215,115,204,240,180,204,9,211,212,9,16,93,138,16,226,15,81,226,0,0,0,0,154,111,25,154,224,157,26,224,143,54,148,143,230,66,199,230,236,74,201,236,253,94,210,253,171,193,127,171,216,224,168,216,47,1,0,0,0,0,0,0,174,176,0,0,0,0,0,0,0,0,0,0,16,0,0,0,128,0,0,0,160,16,0,0,13,0,0,0,14,0,0,0,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,152,47,138,66,145,68,55,113,207,251,192,181,165,219,181,233,91,194,86,57,241,17,241,89,164,130,63,146,213,94,28,171,152,170,7,216,1,91,131,18,190,133,49,36,195,125,12,85,116,93,190,114,254,177,222,128,167,6,220,155,116,241,155,193,193,105,155,228,134,71,190,239,198,157,193,15,204,161,12,36,111,44,233,45,170,132,116,74,220,169,176,92,218,136,249,118,82,81,62,152,109,198,49,168,200,39,3,176,199,127,89,191,243,11,224,198,71,145,167,213,81,99,202,6,103,41,41,20,133,10,183,39,56,33,27,46,252,109,44,77,19,13,56,83,84,115,10,101,187,10,106,118,46,201,194,129,133,44,114,146,161,232,191,162,75,102,26,168,112,139,75,194,163,81,108,199,25,232,146,209,36,6,153,214,133,53,14,244,112,160,106,16,22,193,164,25,8,108,55,30,76,119,72,39,181,188,176,52,179,12,28,57,74,170,216,78,79,202,156,91,243,111,46,104,238,130,143,116,111,99,165,120,20,120,200,132,8,2,199,140,250,255,190,144,235,108,80,164,247,163,249,190,242,120,113,198,18,0,0,0,0,0,0,0,3,0,0,0,10,183,0,0,12,49,0,0,14,183,0,0,22,183,0,0,31,183,0,0,34,183,0,0,14,183,0,0,3,0,0,0,7,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,8,0,0,0,20,0,0,0,4,0,0,0,21,0,0,0,9,0,0,0,191,193,0,0,195,193,0,0,201,193,0,0,206,193,0,0,212,193,0,0,0,0,0,0,16,0,0,0,7,0,0,0,22,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,22,0,0,0,37,0,0,0,63,0,0,0,92,0,0,0,117,0,0,0,132,0,0,0,147,0,0,0,161,0,0,0,175,0,0,0,190,0,0,0,205,0,0,0,230,0,0,0,243,0,0,0,2,1,0,0,16,1,0,0,27,1,0,0,41,1,0,0,63,1,0,0,79,1,0,0,109,1,0,0,129,1,0,0,153,1,0,0,179,1,0,0,204,1,0,0,222,1,0,0,231,1,0,0,241,1,0,0,1,2,0,0,14,2,0,0,28,2,0,0,47,2,0,0,71,2,0,0,91,2,0,0,107,2,0,0,122,2,0,0,138,2,0,0,154,2,0,0,171,2,0,0,185,2,0,0,201,2,0,0,228,2,0,0,245,2,0,0,9,3,0,0,28,3,0,0,45,3,0,0,65,3,0,0,77,3,0,0,91,3,0,0,104,3,0,0,120,3,0,0,139,3,0,0,158,3,0,0,178,3,0,0,198,3,0,0,212,3,0,0,234,3,0,0,254,3,0,0,6,4,0,0,10,4,0,0,24,4,0,0,47,4,0,0,55,4,0,0,70,4,0,0,83,4,0,0,98,4,0,0,127,4,0,0,156,4,0,0,179,4,0,0,195,4,0,0,211,4,0,0,231,4,0,0,244,4,0,0,3,5,0,0,20,5,0,0,36,5,0,0,53,5,0,0,70,5,0,0,82,5,0,0,95,5,0,0,126,5,0,0,147,5,0,0,167,5,0,0,188,5,0,0,210,5,0,0,222,5,0,0,237,5,0,0,245,5,0,0,2,6,0,0,11,6,0,0,29,6,0,0,40,6,0,0,51,6,0,0,65,6,0,0,85,6,0,0,98,6,0,0,110,6,0,0,124,6,0,0,136,6,0,0,156,6,0,0,175,6,0,0,195,6,0,0,217,6,0,0,241,6,0,0,6,7,0,0,29,7,0,0,50,7,0,0,65,7,0,0,76,7,0,0,96,7,0,0,109,7,0,0,122,7,0,0,139,7,0,0,161,7,0,0,175,7,0,0,195,7,0,0,211,7,0,0,225,7,0,0,236,7,0,0,0,8,0,0,23,8,0,0,44,8,0,0,59,8,0,0,80,8,0,0,102,8,0,0,118,8,0,0,132,8,0,0,148,8,0,0,162,8,0,0,179,8,0,0,191,8,0,0,223,8,0,0,243,8,0,0,255,8,0,0,9,9,0,0,21,9,0,0,39,9,0,0,60,9,0,0,72,9,0,0,87,9,0,0,104,9,0,0,119,9,0,0,135,9,0,0,149,9,0,0,168,9,0,0,187,9,0,0,210,9,0,0,231,9,0,0,255,9,0,0,17,10,0,0,39,10,0,0,62,10,0,0,80,10,0,0,92,10,0,0,110,10,0,0,127,10,0,0,141,10,0,0,158,10,0,0,173,10,0,0,196,10,0,0,215,10,0,0,228,10,0,0,247,10,0,0,15,11,0,0,42,11,0,0,55,11,0,0,80,11,0,0,91,11,0,0,110,11,0,0,122,11,0,0,138,11,0,0,156,11,0,0,183,11,0,0,190,11,0,0,205,11,0,0,221,11,0,0,237,11,0,0,1,12,0,0,14,12,0,0,26,12,0,0,43,12,0,0,55,12,0,0,72,12,0,0,86,12,0,0,102,12,0,0,129,12,0,0,152,12,0,0,175,12,0,0,198,12,0,0,213,12,0,0,230,12,0,0,248,12,0,0,13,13,0,0,32,13,0,0,63,13,0,0,81,13,0,0,99,13,0,0,121,13,0,0,147,13,0,0,174,13,0,0,191,13,0,0,232,13,0,0,8,14,0,0,46,14,0,0,73,14,0,0,103,14,0,0,133,14,0,0,161,14,0,0,198,14,0,0,222,14,0,0,14,15,0,0,56,15,0,0,96,15,0,0,132,15,0,0,143,15,0,0,161,15,0,0,178,15,0,0,209,15,0,0,230,15,0,0,255,15,0,0,14,16,0,0,38,16,0,0,57,16,0,0,93,16,0,0,114,16,0,0,143,16,0,0,163,16,0,0,190,16,0,0,218,16,0,0,233,16,0,0,244,16,0,0,5,17,0,0,42,17,0,0,87,17,0,0,131,17,0,0,171,17,0,0,209,17,0,0,247,17,0,0,33,18,0,0,67,18,0,0,112,18,0,0,157,18,0,0,170,18,0,0,180,18,0,0,193,18,0,0,228,18,0,0,248,18,0,0,10,19,0,0,33,19,0,0,57,19,0,0,78,19,0,0,106,19,0,0,136,19,0,0,164,19,0,0,184,19,0,0,208,19,0,0,235,19,0,0,253,19,0,0,15,20,0,0,43,20,0,0,58,20,0,0,74,20,0,0,102,20,0,0,125,20,0,0,145,20,0,0,162,20,0,0,190,20,0,0,214,20,0,0,239,20,0,0,3,21,0,0,23,21,0,0,42,21,0,0,71,21,0,0,95,21,0,0,123,21,0,0,150,21,0,0,176,21,0,0,205,21,0,0,229,21,0,0,254,21,0,0,25,22,0,0,54,22,0,0,71,22,0,0,96,22,0,0,119,22,0,0,141,22,0,0,160,22,0,0,182,22,0,0,215,22,0,0,245,22,0,0,12,23,0,0,47,23,0,0,63,23,0,0,83,23,0,0,103,23,0,0,120,23,0,0,147,23,0,0,160,23,0,0,182,23,0,0,202,23,0,0,230,23,0,0,2,24,0,0,21,24,0,0,39,24,0,0,80,24,0,0,120,24,0,0,159,24,0,0,173,24,0,0,208,24,0,0,247,24,0,0,24,25,0,0,51,25,0,0,74,25,0,0,104,25,0,0,135,25,0,0,164,25,0,0,190,25,0,0,213,25,0,0,233,25,0,0,252,25,0,0,22,26,0,0,43,26,0,0,76,26,0,0,113,26,0,0,147,26,0,0,172,26,0,0,201,26,0,0,221,26,0,0,248,26,0,0,28,27,0,0,50,27,0,0,72,27,0,0,100,27,0,0,139,27,0,0,173,27,0,0,195,27,0,0,227,27,0,0,250,27,0,0,31,28,0,0,60,28,0,0,77,28,0,0,105,28,0,0,132,28,0,0,153,28,0,0,180,28,0,0,204,28,0,0,219,28,0,0,247,28,0,0,15,29,0,0,34,29,0,0,56,29,0,0,93,29,0,0,119,29,0,0,145,29,0,0,171,29,0,0,197,29,0,0,223,29,0,0,249,29,0,0,19,30,0,0,45,30,0,0,71,30,0,0,98,30,0,0,125,30,0,0,152,30,0,0,179,30,0,0,206,30,0,0,233,30,0,0,4,31,0,0,27,31,0,0,48,31,0,0,60,31,0,0,7,0,0,0,13,0,0,0,98,0,0,0,99,0,0,0,68,0,0,0,97,0,0,0,11,0,0,0,114,0,0,0,0,0,0,0,0,0,0,0,52,0,0,0,9,0,0,0,77,0,0,0,74,0,0,0,53,0,0,0,0,0,0,0,56,0,0,0,57,0,0,0,59,0,0,0,16,0,0,0,125,0,0,0,10,0,0,0,44,0,0,0,70,0,0,0,103,0,0,0,111,0,0,0,104,0,0,0,0,0,0,0,35,0,0,0,35,0,0,0,89,0,0,0,0,0,0,0,33,0,0,0,73,0,0,0,122,0,0,0,17,0,0,0,14,0,0,0,27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,0,0,0,113,0,0,0,43,0,0,0,0,0,0,0,84,0,0,0,115,0,0,0,4,0,0,0,22,0,0,0,5,0,0,0,106,0,0,0,21,0,0,0,120,0,0,0,51,0,0,0,45,0,0,0,46,0,0,0,47,0,0,0,79,0,0,0,80,0,0,0,83,0,0,0,82,0,0,0,81,0,0,0,48,0,0,0,40,0,0,0,124,0,0,0,24,0,0,0,31,0,0,0,90,0,0,0,72,0,0,0,36,0,0,0,119,0,0,0,0,0,0,0,100,0,0,0,102,0,0,0,101,0,0,0,23,0,0,0,55,0,0,0,105,0,0,0,50,0,0,0,61,0,0,0,19,0,0,0,2,0,0,0,8,0,0,0,37,0,0,0,67,0,0,0,123,0,0,0,12,0,0,0,42,0,0,0,64,0,0,0,65,0,0,0,92,0,0,0,28,0,0,0,63,0,0,0,60,0,0,0,38,0,0,0,15,0,0,0,107,0,0,0,20,0,0,0,39,0,0,0,118,0,0,0,88,0,0,0,95,0,0,0,25,0,0,0,76,0,0,0,6,0,0,0,95,0,0,0,75,0,0,0,1,0,0,0,96,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,71,0,0,0,93,0,0,0,91,0,0,0,34,0,0,0,78,0,0,0,66,0,0,0,121,0,0,0,85,0,0,0,30,0,0,0,0,0,0,0,108,0,0,0,94,0,0,0,29,0,0,0,3,0,0,0,69,0,0,0,116,0,0,0,86,0,0,0,62,0,0,0,110,0,0,0,109,0,0,0,26,0,0,0,117,0,0,0,49,0,0,0,87,0,0,0,11,0,0,0,18,0,0,0,54,0,0,0,107,128,0,0,81,128,0,0,127,128,0,0,47,128,0,0,49,128,0,0,104,128,0,0,0,128,0,0,82,128,0,0,11,128,0,0,21,128,0,0,6,128,0,0,138,128,0,0,86,128,0,0,1,128,0,0,36,128,0,0,95,128,0,0,19,128,0,0,35,128,0,0,139,128,0,0,80,128,0,0,97,128,0,0,51,128,0,0,48,128,0,0,75,128,0,0,65,128,0,0,102,128,0,0,134,128,0,0,37,128,0,0,91,128,0,0,126,128,0,0,122,128,0,0,66,128,0,0,109,128,0,0,32,128,0,0,117,128,0,0,28,128,0,0,29,128,0,0,69,128,0,0,83,128,0,0,94,128,0,0,98,128,0,0,63,128,0,0,87,128,0,0,43,128,0,0,22,128,0,0,54,128,0,0,55,128,0,0,56,128,0,0,62,128,0,0,136,128,0,0,78,128,0,0,53,128,0,0,10,128,0,0,14,128,0,0,140,128,0,0,76,128,0,0,16,128,0,0,17,128,0,0,18,128,0,0,93,128,0,0,79,128,0,0,131,128,0,0,92,128,0,0,88,128,0,0,89,128,0,0,119,128,0,0,84,128,0,0,4,128,0,0,128,128,0,0,23,128,0,0,114,128,0,0,68,128,0,0,33,128,0,0,13,128,0,0,106,128,0,0,103,128,0,0,12,128,0,0,118,128,0,0,57,128,0,0,58,128,0,0,61,128,0,0,60,128,0,0,59,128,0,0,45,128,0,0,121,128,0,0,130,128,0,0,137,128,0,0,100,128,0,0,30,128,0,0,67,128,0,0,116,128,0,0,90,128,0,0,115,128,0,0,125,128,0,0,101,128,0,0,105,128,0,0,108,128,0,0,5,128,0,0,2,128,0,0,3,128,0,0,72,128,0,0,74,128,0,0,73,128,0,0,24,128,0,0,26,128,0,0,77,128,0,0,50,128,0,0,96,128,0,0,124,128,0,0,133,128,0,0,132,128,0,0,25,128,0,0,41,128,0,0,42,128,0,0,7,128,0,0,46,128,0,0,129,128,0,0,135,128,0,0,99,128,0,0,70,128,0,0,52,128,0,0,120,128,0,0,34,128,0,0,85,128,0,0,64,128,0,0,20,128,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,5,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,0,0,0,24,0,0,0,176,24,1,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,60,0,0,128,61,0,0,5,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,0,0,0,24,0,0,0,184,28,1,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,192,3,0,0,192,4,0,0,192,5,0,0,192,6,0,0,192,7,0,0,192,8,0,0,192,9,0,0,192,10,0,0,192,11,0,0,192,12,0,0,192,13,0,0,192,14,0,0,192,15,0,0,192,16,0,0,192,17,0,0,192,18,0,0,192,19,0,0,192,20,0,0,192,21,0,0,192,22,0,0,192,23,0,0,192,24,0,0,192,25,0,0,192,26,0,0,192,27,0,0,192,28,0,0,192,29,0,0,192,30,0,0,192,31,0,0,192,0,0,0,179,1,0,0,195,2,0,0,195,3,0,0,195,4,0,0,195,5,0,0,195,6,0,0,195,7,0,0,195,8,0,0,195,9,0,0,195,10,0,0,195,11,0,0,195,12,0,0,195,13,0,0,211,14,0,0,195,15,0,0,195,0,0,12,187,1,0,12,195,2,0,12,195,3,0,12,195,4,0,12,211,32,0,0,0,9,0,0,0,10,0,0,0,13,0,0,0,11,0,0,0,12,0,0,0,133,0,0,0,0,32,0,0,1,32,0,0,2,32,0,0,3,32,0,0,4,32,0,0,5,32,0,0,6,32,0,0,8,32,0,0,9,32,0,0,10,32,0,0,40,32,0,0,41,32,0,0,95,32,0,0,0,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,0,0,0,172,63,0,0,3,0,0,0,0,0,0,0,45,244,81,88,207,140,177,192,70,246,181,203,41,49,3,199,4,91,112,48,180,93,253,32,120,127,139,154,216,89,41,80,104,72,137,171,167,86,3,108,255,183,205,136,63,212,119,180,43,165,163,112,241,186,228,168,252,65,131,253,217,111,225,138,122,47,45,116,150,7,31,13,9,94,3,118,44,112,247,64,165,44,167,111,87,65,168,170,116,223,160,88,100,3,74,199,196,60,83,174,175,95,24,4,21,177,227,109,40,134,171,12,164,191,67,240,233,80,129,57,87,22,82,55,3,0,5,0,7,0,11,0,13,0,17,0,19,0,23,0,29,0,31,0,37,0,41,0,43,0,47,0,53,0,59,0,61,0,67,0,71,0,73,0,79,0,83,0,89,0,97,0,101,0,103,0,107,0,109,0,113,0,127,0,131,0,137,0,139,0,149,0,151,0,157,0,163,0,167,0,173,0,179,0,181,0,191,0,193,0,197,0,199,0,211,0,223,0,227,0,229,0,233,0,239,0,241,0,251,0,1,1,7,1,13,1,15,1,21,1,25,1,27,1,37,1,51,1,55,1,57,1,61,1,75,1,81,1,91,1,93,1,97,1,103,1,111,1,117,1,123,1,127,1,133,1,141,1,145,1,153,1,163,1,165,1,175,1,177,1,183,1,187,1,193,1,201,1,205,1,207,1,211,1,223,1,231,1,235,1,243,1,247,1,253,1,9,2,11,2,29,2,35,2,45,2,51,2,57,2,59,2,65,2,75,2,81,2,87,2,89,2,95,2,101,2,105,2,107,2,119,2,129,2,131,2,135,2,141,2,147,2,149,2,161,2,165,2,171,2,179,2,189,2,197,2,207,2,215,2,221,2,227,2,231,2,239,2,245,2,249,2,1,3,5,3,19,3,29,3,41,3,43,3,53,3,55,3,59,3,61,3,71,3,85,3,89,3,91,3,95,3,109,3,113,3,115,3,119,3,139,3,143,3,151,3,161,3,169,3,173,3,179,3,185,3,199,3,203,3,209,3,215,3,223,3,229,3,241,3,245,3,251,3,253,3,7,4,9,4,15,4,25,4,27,4,37,4,39,4,45,4,63,4,67,4,69,4,73,4,79,4,85,4,93,4,99,4,105,4,127,4,129,4,139,4,147,4,157,4,163,4,169,4,177,4,189,4,193,4,199,4,205,4,207,4,213,4,225,4,235,4,253,4,255,4,3,5,9,5,11,5,17,5,21,5,23,5,27,5,39,5,41,5,47,5,81,5,87,5,93,5,101,5,119,5,129,5,143,5,147,5,149,5,153,5,159,5,167,5,171,5,173,5,179,5,191,5,201,5,203,5,207,5,209,5,213,5,219,5,231,5,243,5,251,5,7,6,13,6,17,6,23,6,31,6,35,6,43,6,47,6,61,6,65,6,71,6,73,6,77,6,83,6,85,6,91,6,101,6,121,6,127,6,131,6,133,6,157,6,161,6,163,6,173,6,185,6,187,6,197,6,205,6,211,6,217,6,223,6,241,6,247,6,251,6,253,6,9,7,19,7,31,7,39,7,55,7,69,7,75,7,79,7,81,7,85,7,87,7,97,7,109,7,115,7,121,7,139,7,141,7,157,7,159,7,181,7,187,7,195,7,201,7,205,7,207,7,211,7,219,7,225,7,235,7,237,7,247,7,5,8,15,8,21,8,33,8,35,8,39,8,41,8,51,8,63,8,65,8,81,8,83,8,89,8,93,8,95,8,105,8,113,8,131,8,155,8,159,8,165,8,173,8,189,8,191,8,195,8,203,8,219,8,221,8,225,8,233,8,239,8,245,8,249,8,5,9,7,9,29,9,35,9,37,9,43,9,47,9,53,9,67,9,73,9,77,9,79,9,85,9,89,9,95,9,107,9,113,9,119,9,133,9,137,9,143,9,155,9,163,9,169,9,173,9,199,9,217,9,227,9,235,9,239,9,245,9,247,9,253,9,19,10,31,10,33,10,49,10,57,10,61,10,73,10,87,10,97,10,99,10,103,10,111,10,117,10,123,10,127,10,129,10,133,10,139,10,147,10,151,10,153,10,159,10,169,10,171,10,181,10,189,10,193,10,207,10,217,10,229,10,231,10,237,10,241,10,243,10,3,11,17,11,21,11,27,11,35,11,41,11,45,11,63,11,71,11,81,11,87,11,93,11,101,11,111,11,123,11,137,11,141,11,147,11,153,11,155,11,183,11,185,11,195,11,203,11,207,11,221,11,225,11,233,11,245,11,251,11,7,12,11,12,17,12,37,12,47,12,49,12,65,12,91,12,95,12,97,12,109,12,115,12,119,12,131,12,137,12,145,12,149,12,157,12,179,12,181,12,185,12,187,12,199,12,227,12,229,12,235,12,241,12,247,12,251,12,1,13,3,13,15,13,19,13,31,13,33,13,43,13,45,13,61,13,63,13,79,13,85,13,105,13,121,13,129,13,133,13,135,13,139,13,141,13,163,13,171,13,183,13,189,13,199,13,201,13,205,13,211,13,213,13,219,13,229,13,231,13,243,13,253,13,255,13,9,14,23,14,29,14,33,14,39,14,47,14,53,14,59,14,75,14,87,14,89,14,93,14,107,14,113,14,117,14,125,14,135,14,143,14,149,14,155,14,177,14,183,14,185,14,195,14,209,14,213,14,219,14,237,14,239,14,249,14,7,15,11,15,13,15,23,15,37,15,41,15,49,15,67,15,71,15,77,15,79,15,83,15,89,15,91,15,103,15,107,15,127,15,149,15,161,15,163,15,167,15,173,15,179,15,181,15,187,15,209,15,211,15,217,15,233,15,239,15,251,15,253,15,3,16,15,16,31,16,33,16,37,16,43,16,57,16,61,16,63,16,81,16,105,16,115,16,121,16,123,16,133,16,135,16,145,16,147,16,157,16,163,16,165,16,175,16,177,16,187,16,193,16,201,16,231,16,241,16,243,16,253,16,5,17,11,17,21,17,39,17,45,17,57,17,69,17,71,17,89,17,95,17,99,17,105,17,111,17,129,17,131,17,141,17,155,17,161,17,165,17,167,17,171,17,195,17,197,17,209,17,215,17,231,17,239,17,245,17,251,17,13,18,29,18,31,18,35,18,41,18,43,18,49,18,55,18,65,18,71,18,83,18,95,18,113,18,115,18,121,18,125,18,143,18,151,18,175,18,179,18,181,18,185,18,191,18,193,18,205,18,209,18,223,18,253,18,7,19,13,19,25,19,39,19,45,19,55,19,67,19,69,19,73,19,79,19,87,19,93,19,103,19,105,19,109,19,123,19,129,19,135,19,0,0,0,0,194,1,132,3,70,2,8,7,202,6,140,4,78,5,16,14,210,15,148,13,86,12,24,9,218,8,156,10,94,11,32,28,226,29,164,31,102,30,40,27,234,26,172,24,110,25,48,18,242,19,180,17,118,16,56,21,250,20,188,22,126,23,64,56,130,57,196,59,6,58,72,63,138,62,204,60,14,61,80,54,146,55,212,53,22,52,88,49,154,48,220,50,30,51,96,36,162,37,228,39,38,38,104,35,170,34,236,32,46,33,112,42,178,43,244,41,54,40,120,45,186,44,252,46,62,47,128,112,66,113,4,115,198,114,136,119,74,118,12,116,206,117,144,126,82,127,20,125,214,124,152,121,90,120,28,122,222,123,160,108,98,109,36,111,230,110,168,107,106,106,44,104,238,105,176,98,114,99,52,97,246,96,184,101,122,100,60,102,254,103,192,72,2,73,68,75,134,74,200,79,10,78,76,76,142,77,208,70,18,71,84,69,150,68,216,65,26,64,92,66,158,67,224,84,34,85,100,87,166,86,232,83,42,82,108,80,174,81,240,90,50,91,116,89,182,88,248,93,58,92,124,94,190,95,0,225,194,224,132,226,70,227,8,230,202,231,140,229,78,228,16,239,210,238,148,236,86,237,24,232,218,233,156,235,94,234,32,253,226,252,164,254,102,255,40,250,234,251,172,249,110,248,48,243,242,242,180,240,118,241,56,244,250,245,188,247,126,246,64,217,130,216,196,218,6,219,72,222,138,223,204,221,14,220,80,215,146,214,212,212,22,213,88,208,154,209,220,211,30,210,96,197,162,196,228,198,38,199,104,194,170,195,236,193,46,192,112,203,178,202,244,200,54,201,120,204,186,205,252,207,62,206,128,145,66,144,4,146,198,147,136,150,74,151,12,149,206,148,144,159,82,158,20,156,214,157,152,152,90,153,28,155,222,154,160,141,98,140,36,142,230,143,168,138,106,139,44,137,238,136,176,131,114,130,52,128,246,129,184,132,122,133,60,135,254,134,192,169,2,168,68,170,134,171,200,174,10,175,76,173,142,172,208,167,18,166,84,164,150,165,216,160,26,161,92,163,158,162,224,181,34,180,100,182,166,183,232,178,42,179,108,177,174,176,240,187,50,186,116,184,182,185,248,188,58,189,124,191,190,190,73,0,49,1,83,0,127,1,48,1,105,0,120,1,255,0,129,1,83,2,130,1,131,1,132,1,133,1,134,1,84,2,135,1,136,1,137,1,86,2,138,1,87,2,139,1,140,1,142,1,221,1,143,1,89,2,144,1,91,2,145,1,146,1,147,1,96,2,148,1,99,2,150,1,105,2,151,1,104,2,152,1,153,1,156,1,111,2,157,1,114,2,159,1,117,2,166,1,128,2,167,1,168,1,169,1,131,2,172,1,173,1,174,1,136,2,175,1,176,1,177,1,138,2,178,1,139,2,183,1,146,2,184,1,185,1,188,1,189,1,196,1,198,1,196,1,197,1,197,1,198,1,199,1,201,1,199,1,200,1,200,1,201,1,202,1,204,1,202,1,203,1,203,1,204,1,241,1,243,1,241,1,242,1,242,1,243,1,244,1,245,1,246,1,149,1,247,1,191,1,32,2,158,1,134,3,172,3,136,3,173,3,137,3,174,3,138,3,175,3,140,3,204,3,142,3,205,3,143,3,206,3,153,3,69,3,153,3,190,31,163,3,194,3,247,3,248,3,250,3,251,3,96,30,155,30,158,30,223,0,89,31,81,31,91,31,83,31,93,31,85,31,95,31,87,31,188,31,179,31,204,31,195,31,236,31,229,31,252,31,243,31,58,2,101,44,59,2,60,2,61,2,154,1,62,2,102,44,65,2,66,2,67,2,128,1,68,2,137,2,69,2,140,2,244,3,184,3,249,3,242,3,253,3,123,3,254,3,124,3,255,3,125,3,192,4,207,4,38,33,201,3,42,33,107,0,43,33,229,0,50,33,78,33,131,33,132,33,96,44,97,44,98,44,107,2,99,44,125,29,100,44,125,2,109,44,81,2,110,44,113,2,111,44,80,2,112,44,82,2,114,44,115,44,117,44,118,44,126,44,63,2,127,44,64,2,242,44,243,44,125,167,121,29,139,167,140,167,141,167,101,2,170,167,102,2,199,16,39,45,205,16,45,45,118,3,119,3,156,3,181,0,146,3,208,3,152,3,209,3,166,3,213,3,160,3,214,3,154,3,240,3,161,3,241,3,149,3,245,3,207,3,215,3,0,0,0,0,65,0,32,26,192,0,32,31,0,1,1,47,50,1,1,5,57,1,1,15,74,1,1,45,121,1,1,5,112,3,1,3,145,3,32,17,163,3,32,9,0,4,80,16,16,4,32,32,96,4,1,33,138,4,1,53,193,4,1,13,208,4,1,63,20,5,1,19,49,5,48,38,160,1,1,5,179,1,1,3,205,1,1,15,222,1,1,17,248,1,1,39,34,2,1,17,216,3,1,23,0,30,1,149,160,30,1,95,8,31,248,8,24,31,248,6,40,31,248,8,56,31,248,8,72,31,248,6,104,31,248,8,136,31,248,8,152,31,248,8,168,31,248,8,184,31,248,2,186,31,182,2,200,31,170,4,216,31,248,2,218,31,156,2,232,31,248,2,234,31,144,2,248,31,128,2,250,31,130,2,70,2,1,9,16,5,1,3,96,33,16,16,0,44,48,47,103,44,1,5,128,44,1,99,235,44,1,3,64,166,1,45,128,166,1,23,34,167,1,13,50,167,1,61,121,167,1,3,126,167,1,9,144,167,1,3,160,167,1,9,33,255,32,26,0,0,0,0,119,114,97,112,46,99,0,99,111,109,109,111,110,95,97,108,108,111,99,97,116,105,111,110,46,99,0,71,78,85,78,69,84,95,120,109,97,108,108,111,99,95,0,109,97,108,108,111,99,0,71,78,85,78,69,84,95,120,102,114,101,101,95,0,71,78,85,78,69,84,95,115,110,112,114,105,110,116,102,0,99,111,109,109,111,110,95,108,111,103,103,105,110,103,46,99,0,37,115,45,37,100,0,109,121,108,111,103,0,108,111,99,97,108,116,105,109,101,32,101,114,114,111,114,0,37,98,32,37,100,32,37,72,58,37,77,58,37,83,45,37,37,48,54,117,0,42,32,37,115,0,37,115,32,37,115,32,37,115,32,37,115,0,69,82,82,79,82,0,87,65,82,78,73,78,71,0,77,69,83,83,65,71,69,0,73,78,70,79,0,68,69,66,85,71,0,78,79,78,69,0,73,78,86,65,76,73,68,0,77,101,115,115,97,103,101,32,96,37,46,42,115,39,32,114,101,112,101,97,116,101,100,32,37,117,32,116,105,109,101,115,32,105,110,32,116,104,101,32,108,97,115,116,32,37,115,10,0,71,78,85,78,69,84,95,108,111,103,95,115,107,105,112,0,99,114,121,112,116,111,95,115,121,109,109,101,116,114,105,99,46,99,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,115,121,109,109,101,116,114,105,99,95,101,110,99,114,121,112,116,0,115,101,116,117,112,95,99,105,112,104,101,114,95,116,119,111,102,105,115,104,0,115,101,116,117,112,95,99,105,112,104,101,114,95,97,101,115,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,115,121,109,109,101,116,114,105,99,95,100,101,99,114,121,112,116,0,99,114,121,112,116,111,95,101,99,99,46,99,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,101,99,100,115,97,95,107,101,121,95,103,101,116,95,112,117,98,108,105,99,0,113,64,101,100,100,115,97,0,40,112,114,105,118,97,116,101,45,107,101,121,40,101,99,99,40,99,117,114,118,101,32,34,69,100,50,53,53,49,57,34,41,40,100,32,37,98,41,41,41,0,100,101,99,111,100,101,95,112,114,105,118,97,116,101,95,101,99,100,115,97,95,107,101,121,0,103,99,114,121,95,115,101,120,112,95,98,117,105,108,100,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,101,100,100,115,97,95,107,101,121,95,103,101,116,95,112,117,98,108,105,99,0,40,112,114,105,118,97,116,101,45,107,101,121,40,101,99,99,40,99,117,114,118,101,32,34,69,100,50,53,53,49,57,34,41,40,102,108,97,103,115,32,101,100,100,115,97,41,40,100,32,37,98,41,41,41,0,100,101,99,111,100,101,95,112,114,105,118,97,116,101,95,101,100,100,115,97,95,107,101,121,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,101,99,100,104,101,95,107,101,121,95,103,101,116,95,112,117,98,108,105,99,0,100,101,99,111,100,101,95,112,114,105,118,97,116,101,95,101,99,100,104,101,95,107,101,121,0,40,103,101,110,107,101,121,40,101,99,99,40,99,117,114,118,101,32,34,69,100,50,53,53,49,57,34,41,40,102,108,97,103,115,32,101,100,100,115,97,32,110,111,45,107,101,121,116,101,115,116,41,41,41,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,101,99,100,104,101,95,107,101,121,95,99,114,101,97,116,101,0,103,99,114,121,95,112,107,95,103,101,110,107,101,121,0,107,101,121,95,102,114,111,109,95,115,101,120,112,0,40,103,101,110,107,101,121,40,101,99,99,40,99,117,114,118,101,32,34,69,100,50,53,53,49,57,34,41,40,102,108,97,103,115,41,41,41,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,101,99,100,115,97,95,107,101,121,95,99,114,101,97,116,101,0,40,103,101,110,107,101,121,40,101,99,99,40,99,117,114,118,101,32,34,69,100,50,53,53,49,57,34,41,40,102,108,97,103,115,32,101,100,100,115,97,41,41,41,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,101,100,100,115,97,95,107,101,121,95,99,114,101,97,116,101,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,101,100,100,115,97,95,115,105,103,110,0,69,100,68,83,65,32,115,105,103,110,105,110,103,32,102,97,105,108,101,100,32,97,116,32,37,115,58,37,100,58,32,37,115,10,0,40,100,97,116,97,40,102,108,97,103,115,32,101,100,100,115,97,41,40,104,97,115,104,45,97,108,103,111,32,37,115,41,40,118,97,108,117,101,32,37,98,41,41,0,100,97,116,97,95,116,111,95,101,100,100,115,97,95,118,97,108,117,101,0,40,112,117,98,108,105,99,45,107,101,121,40,101,99,99,40,99,117,114,118,101,32,69,100,50,53,53,49,57,41,40,113,32,37,98,41,41,41,0,40,115,105,103,45,118,97,108,40,101,100,100,115,97,40,114,32,37,98,41,40,115,32,37,98,41,41,41,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,101,100,100,115,97,95,118,101,114,105,102,121,0,40,112,117,98,108,105,99,45,107,101,121,40,101,99,99,40,99,117,114,118,101,32,69,100,50,53,53,49,57,41,40,102,108,97,103,115,32,101,100,100,115,97,41,40,113,32,37,98,41,41,41,0,69,100,68,83,65,32,115,105,103,110,97,116,117,114,101,32,118,101,114,105,102,105,99,97,116,105,111,110,32,102,97,105,108,101,100,32,97,116,32,37,115,58,37,100,58,32,37,115,10,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,101,99,99,95,101,99,100,104,0,103,101,116,95,97,102,102,105,110,101,32,102,97,105,108,101,100,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,101,99,100,104,95,101,100,100,115,97,0,99,114,121,112,116,111,95,104,97,115,104,46,99,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,104,97,115,104,95,99,111,110,116,101,120,116,95,115,116,97,114,116,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,104,97,115,104,95,99,111,110,116,101,120,116,95,102,105,110,105,115,104,0,99,114,121,112,116,111,95,107,100,102,46,99,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,107,100,102,95,109,111,100,95,109,112,105,0,99,114,121],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+10240);allocate([112,116,111,95,109,112,105,46,99,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,109,112,105,95,112,114,105,110,116,95,117,110,115,105,103,110,101,100,0,96,37,115,39,32,102,97,105,108,101,100,32,97,116,32,37,115,58,37,100,32,119,105,116,104,32,101,114,114,111,114,58,32,37,115,10,0,103,99,114,121,95,109,112,105,95,112,114,105,110,116,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,109,112,105,95,115,99,97,110,95,117,110,115,105,103,110,101,100,0,103,99,114,121,95,109,112,105,95,115,99,97,110,0,49,46,54,46,48,0,108,105,98,103,99,114,121,112,116,32,104,97,115,32,110,111,116,32,116,104,101,32,101,120,112,101,99,116,101,100,32,118,101,114,115,105,111,110,32,40,118,101,114,115,105,111,110,32,37,115,32,105,115,32,114,101,113,117,105,114,101,100,41,46,10,0,99,114,121,112,116,111,95,114,97,110,100,111,109,46,99,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,97,110,100,111,109,95,105,110,105,116,0,70,97,105,108,101,100,32,116,111,32,115,101,116,32,108,105,98,103,99,114,121,112,116,32,111,112,116,105,111,110,32,37,115,58,32,37,115,10,0,68,73,83,65,66,76,69,95,83,69,67,77,69,77,0,69,78,65,66,76,69,95,81,85,73,67,75,95,82,65,78,68,79,77,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,97,110,100,111,109,95,117,51,50,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,97,110,100,111,109,95,98,108,111,99,107,0,40,103,101,110,107,101,121,40,114,115,97,40,110,98,105,116,115,32,37,100,41,41,41,0,99,114,121,112,116,111,95,114,115,97,46,99,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,115,97,95,112,114,105,118,97,116,101,95,107,101,121,95,99,114,101,97,116,101,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,115,97,95,112,114,105,118,97,116,101,95,107,101,121,95,101,110,99,111,100,101,0,117,116,105,108,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,115,97,95,112,114,105,118,97,116,101,95,107,101,121,95,100,101,99,111,100,101,0,68,101,99,111,100,101,100,32,112,114,105,118,97,116,101,32,107,101,121,32,105,115,32,110,111,116,32,118,97,108,105,100,10,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,115,97,95,112,114,105,118,97,116,101,95,107,101,121,95,103,101,116,95,112,117,98,108,105,99,0,69,120,116,101,114,110,97,108,32,112,114,111,116,111,99,111,108,32,118,105,111,108,97,116,105,111,110,32,100,101,116,101,99,116,101,100,32,97,116,32,37,115,58,37,100,46,10,0,40,112,117,98,108,105,99,45,107,101,121,40,114,115,97,40,110,32,37,109,41,40,101,32,37,109,41,41,41,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,115,97,95,112,117,98,108,105,99,95,107,101,121,95,101,110,99,111,100,101,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,115,97,95,112,117,98,108,105,99,95,107,101,121,95,100,101,99,111,100,101,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,115,97,95,115,105,103,110,97,116,117,114,101,95,101,110,99,111,100,101,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,115,97,95,98,108,105,110,100,0,110,117,109,101,114,105,99,95,109,112,105,95,97,108,108,111,99,95,110,95,112,114,105,110,116,0,66,108,105,110,100,105,110,103,32,75,68,70,32,101,120,116,114,97,116,111,114,32,72,77,65,67,32,107,101,121,0,114,115,97,95,98,108,105,110,100,105,110,103,95,107,101,121,95,100,101,114,105,118,101,0,66,108,105,110,100,105,110,103,32,75,68,70,0,114,115,97,95,102,117,108,108,95,100,111,109,97,105,110,95,104,97,115,104,0,82,83,65,45,70,68,65,32,70,84,112,115,87,33,0,40,100,97,116,97,32,40,102,108,97,103,115,32,114,97,119,41,32,40,118,97,108,117,101,32,37,77,41,41,0,109,112,105,95,116,111,95,115,101,120,112,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,115,97,95,115,105,103,110,97,116,117,114,101,95,100,101,99,111,100,101,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,115,97,95,117,110,98,108,105,110,100,0,40,115,105,103,45,118,97,108,32,40,114,115,97,32,40,115,32,37,77,41,41,41,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,115,97,95,118,101,114,105,102,121,0,82,83,65,32,115,105,103,110,97,116,117,114,101,32,118,101,114,105,102,105,99,97,116,105,111,110,32,102,97,105,108,101,100,32,97,116,32,37,115,58,37,100,58,32,37,115,10,0,115,116,114,105,110,103,115,46,99,0,37,108,108,117,32,37,115,0,102,111,114,101,118,101,114,0,109,115,0,109,0,100,97,121,0,100,97,121,115,0,194,181,115,0,48,32,109,115,0,71,78,85,78,69,84,95,83,84,82,73,78,71,83,95,100,97,116,97,95,116,111,95,115,116,114,105,110,103,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,71,72,74,75,77,78,80,81,82,83,84,86,87,88,89,90,0,71,78,85,78,69,84,95,83,84,82,73,78,71,83,95,115,116,114,105,110,103,95,116,111,95,100,97,116,97,0,118,105,115,105,98,105,108,105,116,121,46,99,0,103,99,114,121,95,109,100,95,104,97,115,104,95,98,117,102,102,101,114,0,99,97,108,108,101,100,32,105,110,32,110,111,110,45,111,112,101,114,97,116,105,111,110,97,108,32,115,116,97,116,101,0,103,99,114,121,95,109,100,95,103,101,116,95,97,108,103,111,0,117,115,101,100,32,105,110,32,110,111,110,45,111,112,101,114,97,116,105,111,110,97,108,32,115,116,97,116,101,0,103,99,114,121,95,114,97,110,100,111,109,105,122,101,0,103,99,114,121,95,99,114,101,97,116,101,95,110,111,110,99,101,0,109,105,115,99,46,99,0,95,103,99,114,121,95,102,97,116,97,108,95,101,114,114,111,114,0,10,70,97,116,97,108,32,101,114,114,111,114,58,32,0,70,97,116,97,108,58,32,0,79,104,104,104,104,32,106,101,101,101,101,58,32,0,68,66,71,58,32,0,91,85,110,107,110,111,119,110,32,108,111,103,32,108,101,118,101,108,32,37,100,93,58,32,0,95,103,99,114,121,95,108,111,103,118,0,105,110,116,101,114,110,97,108,32,101,114,114,111,114,32,40,102,97,116,97,108,32,111,114,32,98,117,103,41,0,46,46,46,32,116,104,105,115,32,105,115,32,97,32,98,117,103,32,40,37,115,58,37,100,58,37,115,41,10,0,65,115,115,101,114,116,105,111,110,32,96,37,115,39,32,102,97,105,108,101,100,32,40,37,115,58,37,100,58,37,115,41,10,0,32,0,37,115,58,37,115,0,37,42,115,32,32,0,37,48,50,120,0,32,92,10,0,37,42,115,32,37,42,115,0,32,40,110,117,108,108,41,0,32,91,37,117,32,98,105,116,93,0,32,91,111,117,116,32,111,102,32,99,111,114,101,93,0,45,0,43,0,100,105,118,105,100,101,32,98,121,32,122,101,114,111,0,103,108,111,98,97,108,46,99,0,103,108,111,98,97,108,95,105,110,105,116,0,49,46,55,46,48,45,98,101,116,97,50,51,48,0,118,101,114,115,105,111,110,58,37,115,58,10,0,99,105,112,104,101,114,115,58,37,115,58,10,0,97,101,115,58,116,119,111,102,105,115,104,0,112,117,98,107,101,121,115,58,37,115,58,10,0,114,115,97,58,101,99,99,0,100,105,103,101,115,116,115,58,37,115,58,10,0,115,104,97,50,53,54,58,115,104,97,53,49,50,0,114,110,100,45,109,111,100,58,108,105,110,117,120,58,10,0,99,112,117,45,97,114,99,104,58,58,10,0,109,112,105,45,97,115,109,58,37,115,58,10,0,104,119,102,108,105,115,116,58,0,37,115,58,0,10,0,102,105,112,115,45,109,111,100,101,58,37,99,58,37,99,58,10,0,112,114,105,110,116,95,99,111,110,102,105,103,0,115,121,115,116,101,109,0,102,105,112,115,0,115,116,97,110,100,97,114,100,0,114,110,103,45,116,121,112,101,58,37,115,58,37,100,58,10,0,111,117,116,32,111,102,32,99,111,114,101,32,105,110,32,115,101,99,117,114,101,32,109,101,109,111,114,121,0,92,120,37,48,50,120,0,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,48,49,50,51,52,53,54,55,56,57,45,46,47,95,58,42,43,61,0,115,101,120,112,46,99,0,100,111,95,118,115,101,120,112,95,115,115,99,97,110,0,37,100,0,37,117,0,38,92,0,95,103,99,114,121,95,115,101,120,112,95,102,105,110,100,95,116,111,107,101,110,0,95,103,99,114,121,95,115,101,120,112,95,110,116,104,0,3,4,0,8,9,11,10,12,13,34,39,92,0,45,46,47,95,58,42,43,61,0,37,48,50,88,0,37,117,58,0,95,103,99,114,121,95,115,101,120,112,95,115,112,114,105,110,116,0,112,97,100,108,111,99,107,45,114,110,103,0,112,97,100,108,111,99,107,45,97,101,115,0,112,97,100,108,111,99,107,45,115,104,97,0,112,97,100,108,111,99,107,45,109,109,117,108,0,105,110,116,101,108,45,99,112,117,0,105,110,116,101,108,45,98,109,105,50,0,105,110,116,101,108,45,115,115,115,101,51,0,105,110,116,101,108,45,112,99,108,109,117,108,0,105,110,116,101,108,45,97,101,115,110,105,0,105,110,116,101,108,45,114,100,114,97,110,100,0,105,110,116,101,108,45,97,118,120,0,105,110,116,101,108,45,97,118,120,50,0,97,114,109,45,110,101,111,110,0,47,101,116,99,47,103,99,114,121,112,116,47,104,119,102,46,100,101,110,121,0,109,101,109,111,114,121,32,97,116,32,37,112,32,99,111,114,114,117,112,116,101,100,32,40,117,110,100,101,114,102,108,111,119,61,37,48,50,120,41,10,0,109,101,109,111,114,121,32,97,116,32,37,112,32,99,111,114,114,117,112,116,101,100,32,40,111,118,101,114,102,108,111,119,61,37,48,50,120,41,10,0,102,97,105,108,101,100,32,116,111,32,100,114,111,112,32,115,101,116,117,105,100,10,0,115,101,99,117,114,101,32,109,101,109,111,114,121,32,105,115,32,100,105,115,97,98,108,101,100,0,99,97,110,39,116,32,109,109,97,112,32,112,111,111,108,32,111,102,32,37,117,32,98,121,116,101,115,58,32,37,115,32,45,32,117,115,105,110,103,32,109,97,108,108,111,99,10,0,99,97,110,39,116,32,97,108,108,111,99,97,116,101,32,109,101,109,111,114,121,32,112,111,111,108,32,111,102,32,37,117,32,98,121,116,101,115,10,0,80,108,101,97,115,101,32,110,111,116,101,32,116,104,97,116,32,121,111,117,32,100,111,110,39,116,32,104,97,118,101,32,115,101,99,117,114,101,32,109,101,109,111,114,121,32,111,110,32,116,104,105,115,32,115,121,115,116,101,109,10,0,79,111,112,115,44,32,115,101,99,117,114,101,32,109,101,109,111,114,121,32,112,111,111,108,32,97,108,114,101,97,100,121,32,105,110,105,116,105,97,108,105,122,101,100,10,0,111,112,101,114,97,116,105,111,110,32,105,115,32,110,111,116,32,112,111,115,115,105,98,108,101,32,119,105,116,104,111,117,116,32,105,110,105,116,105,97,108,105,122,101,100,32,115,101,99,117,114,101,32,109,101,109,111,114,121,10,0,115,101,99,109,101,109,32,117,115,97,103,101,58,32,37,117,47,37,108,117,32,98,121,116,101,115,32,105,110,32,37,117,32,98,108,111,99,107,115,10,0,33,100,111,110,101,0,102,105,112,115,46,99,0,95,103,99,114,121,95,105,110,105,116,105,97,108,105,122,101,95,102,105,112,115,95,109,111,100,101,0,33,110,111,95,102,105,112,115,95,109,111,100,101,95,114,101,113,117,105,114,101,100,0,47,101,116,99,47,103,99,114,121,112,116,47,102,105,112,115,95,101,110,97,98,108,101,100,0,47,112,114,111,99,47,115,121,115,47,99,114,121,112,116,111,47,102,105,112,115,95,101,110,97,98,108,101,100,0,114,0,47,112,114,111,99,47,118,101,114,115,105,111,110,0,70,65,84,65,76,58,32,101,114,114,111,114,32,114,101,97,100,105,110,103,32,96,37,115,39,32,105,110,32,108,105,98,103,99,114,121,112,116,58,32,37,115,10,0,70,65,84,65,76,58,32,102,97,105,108,101,100,32,116,111,32,99,114,101,97,116,101,32,116,104,101,32,70,83,77,32,108,111,99,107,32,105,110,32,108,105,98,103,99,114,121,112,116,58,32,37,115,10,0,70,65,84,65,76,58,32,102,97,105,108,101,100,32,116,111,32,97,99,113,117,105,114,101,32,116,104,101,32,70,83,77,32,108,111,99,107,32,105,110,32,108,105,98,103,114,121,112,116,58,32,37,115,10,0,70,65,84,65,76,58,32,102,97,105,108,101,100,32,116,111,32,114,101,108,101,97,115,101,32,116,104,101,32,70,83,77,32,108,111,99,107,32,105,110,32,108,105,98,103,114,121,112,116,58,32,37,115,10,0,83,104,117,116,100,111,119,110,0,70,97,116,97,108,45,69,114,114,111,114,0,69,114,114,111,114,0,79,112,101,114,97,116,105,111,110,97,108,0,83,101,108,102,45,84,101,115,116,0,73,110,105,116,0,80,111,119,101,114,45,79,110,0,103,114,97,110,116,101,100,0,100,101,110,105,101,100,0,108,105,98,103,99,114,121,112,116,32,115,116,97,116,101,32,116,114,97,110,115,105,116,105,111,110,32,37,115,32,61,62,32,37,115,32,37,115,10,0,95,103,99,114,121,95,102,105,112,115,95,109,111,100,101,32,40,41,0,95,103,99,114,121,95,105,110,97,99,116,105,118,97,116,101,95,102,105,112,115,95,109,111,100,101,0,110,111,32,100,101,115,99,114,105,112,116,105,111,110,32,97,118,97,105,108,97,98,108,101,0,37,115,101,114,114,111,114,32,105,110,32,108,105,98,103,99,114,121,112,116,44,32,102,105,108,101,32,37,115,44,32,108,105,110,101,32,37,100,37,115,37,115,58,32,37,115,10,0,44,32,102,117,110,99,116,105,111,110,32,0,102,97,116,97,108,32,0,72,77,65,67,45,0,79,107,97,121,0,32,40,0,108,105,98,103,99,114,121,112,116,32,115,101,108,102,116,101,115,116,58,32,37,115,32,37,115,37,115,32,40,37,100,41,58,32,37,115,37,115,37,115,37,115,10,0,98,97,100,32,99,111,110,116,101,120,116,32,116,121,112,101,32,37,100,32,103,105,118,101,110,32,116,111,32,95,103,99,114,121,95,99,116,120,95,97,108,108,111,99,10,0,99,84,120,0,98,97,100,32,112,111,105,110,116,101,114,32,37,112,32,112,97,115,115,101,100,32,116,111,32,95,103,99,114,121,95,99,116,120,95,103,101,116,95,112,111,105,110,116,101,114,10,0,119,114,111,110,103,32,99,111,110,116,101,120,116,32,116,121,112,101,32,37,100,32,114,101,113,117,101,115,116,32,102,111,114,32,99,111,110,116,101,120,116,32,37,112,32,111,102,32,116,121,112,101,32,37,100,10,0,98,97,100,32,112,111,105,110,116,101,114,32,37,112,32,112,97,115,115,101,100,32,116,111,32,103,99,114,121,95,99,116,120,95,114,101,108,97,115,101,10,0,98,97,100,32,99,111,110,116,101,120,116,32,116,121,112,101,32,37,100,32,100,101,116,101,99,116,101,100,32,105,110,32,103,99,114,121,95,99,116,120,95,114,101,108,97,115,101,10,0,103,99,114,121,95,99,105,112,104,101,114,95,99,108,111,115,101,58,32,97,108,114,101,97,100,121,32,99,108,111,115,101,100,47,105,110,118,97,108,105,100,32,104,97,110,100,108,101,0,99,105,112,104,101,114,46,99,0,99,105,112,104,101,114,95,101,110,99,114,121,112,116,0,99,105,112,104,101,114,32,109,111,100,101,32,78,79,78,69,32,117,115,101,100,0,99,105,112,104,101,114,95,101,110,99,114,121,112,116,58,32,105,110,118,97,108,105,100,32,109,111,100,101,32,37,100,10,0,99,105,112,104,101,114,95,100,101,99,114,121,112,116,0,99,105,112,104,101,114,95,100,101,99,114,121,112,116,58,32,105,110,118,97,108,105,100,32,109,111,100,101,32,37,100,10,0,87,65,82,78,73,78,71,58,32,99,105,112,104,101,114,95,115,101,116,105,118,58,32,105,118,108,101,110,61,37,117,32,98,108,107,108,101,110,61,37,117,10,0,99,105,112,104,101,114,95,115,101,116,105,118,0,73,86,32,108,101,110,103,116,104,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,98,108,111,99,107,108,101,110,103,116,104,0,49,46,51,46,54,46,49,46,52,46,49,46,49,49,53,57,49,46,49,53,46,49,0,78,73,83,84,32,80,45,49,57,50,0,49,46,50,46,56,52,48,46,49,48,48,52,53,46,51,46,49,46,49,0,112,114,105,109,101,49,57,50,118,49,0,115,101,99,112,49,57,50,114,49,0,110,105,115,116,112,49,57,50,0,78,73,83,84,32,80,45,50,50,52,0,115,101,99,112,50,50,52,114,49,0,49,46,51,46,49,51,50,46,48,46,51,51,0,110,105,115,116,112,50,50,52,0,78,73,83,84,32,80,45,50,53,54,0,49,46,50,46,56,52,48,46,49,48,48,52,53,46,51,46,49,46,55,0,112,114,105,109,101,50,53,54,118,49,0,115,101,99,112,50,53,54,114,49,0,110,105,115,116,112,50,53,54,0,78,73,83,84,32,80,45,51,56,52,0,115,101,99,112,51,56,52,114,49,0,49,46,51,46,49,51,50,46,48,46,51,52,0,110,105,115,116,112,51,56,52,0,78,73,83,84,32,80,45,53,50,49,0,115,101,99,112,53,50,49,114,49,0,49,46,51,46,49,51,50,46,48,46,51,53,0,110,105,115,116,112,53,50,49,0,98,114,97,105,110,112,111,111,108,80,49,54,48,114,49,0,49,46,51,46,51,54,46,51,46,51,46,50,46,56,46,49,46,49,46,49,0,98,114,97,105,110,112,111,111,108,80,49,57,50,114,49,0,49,46,51,46,51,54,46,51,46,51,46,50,46,56,46,49,46,49,46,51,0,98,114,97,105,110,112,111,111,108,80,50,50,52,114,49,0,49,46,51,46,51,54,46,51,46,51,46,50,46,56,46,49,46,49,46,53,0,98,114,97,105,110,112,111,111,108,80,50,53,54,114,49,0,49,46,51,46,51,54,46,51,46,51,46,50,46,56,46,49,46,49,46,55,0,98,114,97,105,110,112,111,111,108,80,51,50,48,114,49,0,49,46,51,46,51,54,46,51,46,51,46,50,46,56,46,49,46,49,46,57,0,98,114,97,105,110,112,111,111,108,80,51,56,52,114,49,0,49,46,51,46,51,54,46,51,46,51,46,50,46,56,46,49,46,49,46,49,49,0,98,114,97,105,110,112,111,111,108,80,53,49,50,114,49,0,49,46,51,46,51,54,46,51,46,51,46,50,46,56,46,49,46,49,46,49,51,0,71,79,83,84,50,48,48,49,45,116,101,115,116,0,49,46,50,46,54,52,51,46,50,46,50,46,51,53,46,48,0,71,79,83,84,50,48,48,49,45,67,114,121,112,116,111,80,114,111,45,65,0,49,46,50,46,54,52,51,46,50,46,50,46,51,53,46,49,0,71,79,83,84,50,48,48,49,45,67,114,121,112,116,111,80,114,111,45,66,0,49,46,50,46,54,52,51,46,50,46,50,46,51,53,46,50,0,71,79,83,84,50,48,48,49,45,67,114,121,112,116,111,80,114,111,45,67,0,49,46,50,46,54,52,51,46,50,46,50,46,51,53,46,51,0,71,79,83,84,50,48,48,49,45,67,114,121,112,116,111,80,114,111,45,88,99,104,65,0,71,79,83,84,50,48,48,49,45,67,114,121,112,116,111,80,114,111,45,88,99,104,66,0,49,46,50,46,54,52,51,46,50,46,50,46,51,54,46,48,0,49,46,50,46,54,52,51,46,50,46,50,46,51,54,46,49,0,71,79,83,84,50,48,49,50,45,116,99,50,54,45,65,0,49,46,50,46,54,52,51,46,55,46,49,46,50,46,49,46,50,46,49,0,71,79,83,84,50,48,49,50,45,116,99,50,54,45,66,0,49,46,50,46,54,52,51,46,55,46,49,46,50,46,49,46,50,46,50,0,115,101,99,112,50,53,54,107,49,0,49,46,51,46,49,51,50,46,48,46,49,48,0,48,120,55,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,69,68,0,45,48,120,48,49,0,45,48,120,50,68,70,67,57,51,49,49,68,52,57,48,48,49,56,67,55,51,51,56,66,70,56,54,56,56,56,54,49,55,54,55,70,70,56,70,70,53,66,50,66,69,66,69,50,55,53,52,56,65,49,52,66,50,51,53,69,67,65,54,56,55,52,65,0,48,120,49,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,49,52,68,69,70,57,68,69,65,50,70,55,57,67,68,54,53,56,49,50,54,51,49,65,53,67,70,53,68,51,69,68,0,48,120,50,49,54,57,51,54,68,51,67,68,54,69,53,51,70,69,67,48,65,52,69,50,51,49,70,68,68,54,68,67,53,67,54,57,50,67,67,55,54,48,57,53,50,53,65,55,66,50,67,57,53,54,50,68,54,48,56,70,50,53,68,53,49,65,0,48,120,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,53,56,0,48,120,48,56,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,101,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,101,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,99,0,48,120,54,52,50,49,48,53,49,57,101,53,57,99,56,48,101,55,48,102,97,55,101,57,97,98,55,50,50,52,51,48,52,57,102,101,98,56,100,101,101,99,99,49,52,54,98,57,98,49,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,57,57,100,101,102,56,51,54,49,52,54,98,99,57,98,49,98,52,100,50,50,56,51,49,0,48,120,49,56,56,100,97,56,48,101,98,48,51,48,57,48,102,54,55,99,98,102,50,48,101,98,52,51,97,49,56,56,48,48,102,52,102,102,48,97,102,100,56,50,102,102,49,48,49,50,0,48,120,48,55,49,57,50,98,57,53,102,102,99,56,100,97,55,56,54,51,49,48,49,49,101,100,54,98,50,52,99,100,100,53,55,51,102,57,55,55,97,49,49,101,55,57,52,56,49,49,0,48,120,48,49,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,49,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,101,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,101,0,48,120,98,52,48,53,48,97,56,53,48,99,48,52,98,51,97,98,102,53,52,49,51,50,53,54,53,48,52,52,98,48,98,55,100,55,98,102,100,56,98,97,50,55,48,98,51,57,52,51,50,51,53,53,102,102,98,52,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,49,54,97,50,101,48,98,56,102,48,51,101,49,51,100,100,50,57,52,53,53,99,53,99,50,97,51,100,0,48,120,98,55,48,101,48,99,98,100,54,98,98,52,98,102,55,102,51,50,49,51,57,48,98,57,52,97,48,51,99,49,100,51,53,54,99,50,49,49,50,50,51,52,51,50,56,48,100,54,49,49,53,99,49,100,50,49,0,48,120,98,100,51,55,54,51,56,56,98,53,102,55,50,51,102,98,52,99,50,50,100,102,101,54,99,100,52,51,55,53,97,48,53,97,48,55,52,55,54,52,52,52,100,53,56,49,57,57,56,53,48,48,55,101,51,52,0,48,120,102,102,102,102,102,102,102,102,48,48,48,48,48,48,48,49,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,0,48,120,102,102,102,102,102,102,102,102,48,48,48,48,48,48,48,49,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,99,0,48,120,53,97,99,54,51,53,100,56,97,97,51,97,57,51,101,55,98,51,101,98,98,100,53,53,55,54,57,56,56,54,98,99,54,53,49,100,48,54,98,48,99,99,53,51,98,48,102,54,51,98,99,101,51,99,51,101,50,55,100,50,54,48,52,98,0,48,120,102,102,102,102,102,102,102,102,48,48,48,48,48,48,48,48,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,98,99,101,54,102,97,97,100,97,55,49,55,57,101,56,52,102,51,98,57,99,97,99,50,102,99,54,51,50,53,53,49,0,48,120,54,98,49,55,100,49,102,50,101,49,50,99,52,50,52,55,102,56,98,99,101,54,101,53,54,51,97,52,52,48,102,50,55,55,48,51,55,100,56,49,50,100,101,98,51,51,97,48,102,52,97,49,51,57,52,53,100,56,57,56,99,50,57,54,0,48,120,52,102,101,51,52,50,101,50,102,101,49,97,55,102,57,98,56,101,101,55,101,98,52,97,55,99,48,102,57,101,49,54,50,98,99,101,51,51,53,55,54,98,51,49,53,101,99,101,99,98,98,54,52,48,54,56,51,55,98,102,53,49,102,53,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,101,102,102,102,102,102,102,102,102,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,102,102,102,102,102,102,102,102,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,101,102,102,102,102,102,102,102,102,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,102,102,102,102,102,102,102,99,0,48,120,98,51,51,49,50,102,97,55,101,50,51,101,101,55,101,52,57,56,56,101,48,53,54,98,101,51,102,56,50,100,49,57,49,56,49,100,57,99,54,101,102,101,56,49,52,49,49,50,48,51,49,52,48,56,56,102,53,48,49,51,56,55,53,97,99,54,53,54,51,57,56,100,56,97,50,101,100,49,57,100,50,97,56,53,99,56,101,100,100,51,101,99,50,97,101,102,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,99,55,54,51,52,100,56,49,102,52,51,55,50,100,100,102,53,56,49,97,48,100,98,50,52,56,98,48,97,55,55,97,101,99,101,99,49,57,54,97,99,99,99,53,50,57,55,51,0,48,120,97,97,56,55,99,97,50,50,98,101,56,98,48,53,51,55,56,101,98,49,99,55,49,101,102,51,50,48,97,100,55,52,54,101,49,100,51,98,54,50,56,98,97,55,57,98,57,56,53,57,102,55,52,49,101,48,56,50,53,52,50,97,51,56,53,53,48,50,102,50,53,100,98,102,53,53,50,57,54,99,51,97,53,52,53,101,51,56,55,50,55,54,48,97,98,55,0,48,120,51,54,49,55,100,101,52,97,57,54,50,54,50,99,54,102,53,100,57,101,57,56,98,102,57,50,57,50,100,99,50,57,102,56,102,52,49,100,98,100,50,56,57,97,49,52,55,99,101,57,100,97,51,49,49,51,98,53,102,48,98,56,99,48,48,97,54,48,98,49,99,101,49,100,55,101,56,49,57,100,55,97,52,51,49,100,55,99,57,48,101,97,48,101,53,102,0,48,120,48,49,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,0,48,120,48,49,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,99,0,48,120,48,53,49,57,53,51,101,98,57,54,49,56,101,49,99,57,97,49,102,57,50,57,97,50,49,97,48,98,54,56,53,52,48,101,101,97,50,100,97,55,50,53,98,57,57,98,51,49,53,102,51,98,56,98,52,56,57,57,49,56,101,102,49,48,57,101,49,53,54,49,57,51,57,53,49,101,99,55,101,57,51,55,98,49,54,53,50,99,48,98,100,51,98,98,49,98,102,48,55,51,53,55,51,100,102,56,56,51,100,50,99,51,52,102,49,101,102,52,53,49,102,100,52,54,98,53,48,51,102,48,48,0,48,120,49,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,97,53,49,56,54,56,55,56,51,98,102,50,102,57,54,54,98,55,102,99,99,48,49,52,56,102,55,48,57,97,53,100,48,51,98,98,53,99,57,98,56,56,57,57,99,52,55,97,101,98,98,54,102,98,55,49,101,57,49,51,56,54,52,48,57,0,48,120,48,48,99,54,56,53,56,101,48,54,98,55,48,52,48,52,101,57,99,100,57,101,51,101,99,98,54,54,50,51,57,53,98,52,52,50,57,99,54,52,56,49,51,57,48,53,51,102,98,53,50,49,102,56,50,56,97,102,54,48,54,98,52,100,51,100,98,97,97,49,52,98,53,101,55,55,101,102,101,55,53,57,50,56,102,101,49,100,99,49,50,55,97,50,102,102,97,56,100,101,51,51,52,56,98,51,99,49,56,53,54,97,52,50,57,98,102,57,55,101,55,101,51,49,99,50,101,53,98,100,54,54,0,48,120,48,49,49,56,51,57,50,57,54,97,55,56,57,97,51,98,99,48,48,52,53,99,56,97,53,102,98,52,50,99,55,100,49,98,100,57,57,56,102,53,52,52,52,57,53,55,57,98,52,52,54,56,49,55,97,102,98,100,49,55,50,55,51,101,54,54,50,99,57,55,101,101,55,50,57,57,53,101,102,52,50,54,52,48,99,53,53,48,98,57,48,49,51,102,97,100,48,55,54,49,51,53,51,99,55,48,56,54,97,50,55,50,99,50,52,48,56,56,98,101,57,52,55,54,57,102,100,49,54,54,53,48,0,48,120,101,57,53,101,52,97,53,102,55,51,55,48,53,57,100,99,54,48,100,102,99,55,97,100,57,53,98,51,100,56,49,51,57,53,49,53,54,50,48,102,0,48,120,51,52,48,101,55,98,101,50,97,50,56,48,101,98,55,52,101,50,98,101,54,49,98,97,100,97,55,52,53,100,57,55,101,56,102,55,99,51,48,48,0,48,120,49,101,53,56,57,97,56,53,57,53,52,50,51,52,49,50,49,51,52,102,97,97,50,100,98,100,101,99,57,53,99,56,100,56,54,55,53,101,53,56,0,48,120,101,57,53,101,52,97,53,102,55,51,55,48,53,57,100,99,54,48,100,102,53,57,57,49,100,52,53,48,50,57,52,48,57,101,54,48,102,99,48,57,0,48,120,98,101,100,53,97,102,49,54,101,97,51,102,54,97,52,102,54,50,57,51,56,99,52,54,51,49,101,98,53,97,102,55,98,100,98,99,100,98,99,51,0,48,120,49,54,54,55,99,98,52,55,55,97,49,97,56,101,99,51,51,56,102,57,52,55,52,49,54,54,57,99,57,55,54,51,49,54,100,97,54,51,50,49,0,48,120,99,51,48,50,102,52,49,100,57,51,50,97,51,54,99,100,97,55,97,51,52,54,51,48,57,51,100,49,56,100,98,55,56,102,99,101,52,55,54,100,101,49,97,56,54,50,57,55,0,48,120,54,97,57,49,49,55,52,48,55,54,98,49,101,48,101,49,57,99,51,57,99,48,51,49,102,101,56,54,56,53,99,49,99,97,101,48,52,48,101,53,99,54,57,97,50,56,101,102,0,48,120,52,54,57,97,50,56,101,102,55,99,50,56,99,99,97,51,100,99,55,50,49,100,48,52,52,102,52,52,57,54,98,99,99,97,55,101,102,52,49,52,54,102,98,102,50,53,99,57,0,48,120,99,51,48,50,102,52,49,100,57,51,50,97,51,54,99,100,97,55,97,51,52,54,50,102,57,101,57,101,57,49,54,98,53,98,101,56,102,49,48,50,57,97,99,52,97,99,99,49,0,48,120,99,48,97,48,54,52,55,101,97,97,98,54,97,52,56,55,53,51,98,48,51,51,99,53,54,99,98,48,102,48,57,48,48,97,50,102,53,99,52,56,53,51,51,55,53,102,100,54,0,48,120,49,52,98,54,57,48,56,54,54,97,98,100,53,98,98,56,56,98,53,102,52,56,50,56,99,49,52,57,48,48,48,50,101,54,55,55,51,102,97,50,102,97,50,57,57,98,56,102,0,48,120,100,55,99,49,51,52,97,97,50,54,52,51,54,54,56,54,50,97,49,56,51,48,50,53,55,53,100,49,100,55,56,55,98,48,57,102,48,55,53,55,57,55,100,97,56,57,102,53,55,101,99,56,99,48,102,102,0,48,120,54,56,97,53,101,54,50,99,97,57,99,101,54,99,49,99,50,57,57,56,48,51,97,54,99,49,53,51,48,98,53,49,52,101,49,56,50,97,100,56,98,48,48,52,50,97,53,57,99,97,100,50,57,102,52,51,0,48,120,50,53,56,48,102,54,51,99,99,102,101,52,52,49,51,56,56,55,48,55,49,51,98,49,97,57,50,51,54,57,101,51,51,101,50,49,51,53,100,50,54,54,100,98,98,51,55,50,51,56,54,99,52,48,48,98,0,48,120,100,55,99,49,51,52,97,97,50,54,52,51,54,54,56,54,50,97,49,56,51,48,50,53,55,53,100,48,102,98,57,56,100,49,49,54,98,99,52,98,54,100,100,101,98,99,97,51,97,53,97,55,57,51,57,102,0,48,120,48,100,57,48,50,57,97,100,50,99,55,101,53,99,102,52,51,52,48,56,50,51,98,50,97,56,55,100,99,54,56,99,57,101,52,99,101,51,49,55,52,99,49,101,54,101,102,100,101,101,49,50,99,48,55,100,0,48,120,53,56,97,97,53,54,102,55,55,50,99,48,55,50,54,102,50,52,99,54,98,56,57,101,52,101,99,100,97,99,50,52,51,53,52,98,57,101,57,57,99,97,97,51,102,54,100,51,55,54,49,52,48,50,99,100,0,48,120,97,57,102,98,53,55,100,98,97,49,101,101,97,57,98,99,51,101,54,54,48,97,57,48,57,100,56,51,56,100,55,50,54,101,51,98,102,54,50,51,100,53,50,54,50,48,50,56,50,48,49,51,52,56,49,100,49,102,54,101,53,51,55,55,0,48,120,55,100,53,97,48,57,55,53,102,99,50,99,51,48,53,55,101,101,102,54,55,53,51,48,52,49,55,97,102,102,101,55,102,98,56,48,53,53,99,49,50,54,100,99,53,99,54,99,101,57,52,97,52,98,52,52,102,51,51,48,98,53,100,57,0,48,120,50,54,100,99,53,99,54,99,101,57,52,97,52,98,52,52,102,51,51,48,98,53,100,57,98,98,100,55,55,99,98,102,57,53,56,52,49,54,50,57,53,99,102,55,101,49,99,101,54,98,99,99,100,99,49,56,102,102,56,99,48,55,98,54,0,48,120,97,57,102,98,53,55,100,98,97,49,101,101,97,57,98,99,51,101,54,54,48,97,57,48,57,100,56,51,56,100,55,49,56,99,51,57,55,97,97,51,98,53,54,49,97,54,102,55,57,48,49,101,48,101,56,50,57,55,52,56,53,54,97,55,0,48,120,56,98,100,50,97,101,98,57,99,98,55,101,53,55,99,98,50,99,52,98,52,56,50,102,102,99,56,49,98,55,97,102,98,57,100,101,50,55,101,49,101,51,98,100,50,51,99,50,51,97,52,52,53,51,98,100,57,97,99,101,51,50,54,50,0,48,120,53,52,55,101,102,56,51,53,99,51,100,97,99,52,102,100,57,55,102,56,52,54,49,97,49,52,54,49,49,100,99,57,99,50,55,55,52,53,49,51,50,100,101,100,56,101,53,52,53,99,49,100,53,52,99,55,50,102,48,52,54,57,57,55,0,48,120,100,51,53,101,52,55,50,48,51,54,98,99,52,102,98,55,101,49,51,99,55,56,53,101,100,50,48,49,101,48,54,53,102,57,56,102,99,102,97,54,102,54,102,52,48,100,101,102,52,102,57,50,98,57,101,99,55,56,57,51,101,99,50,56,102,99,100,52,49,50,98,49,102,49,98,51,50,101,50,55,0,48,120,51,101,101,51,48,98,53,54,56,102,98,97,98,48,102,56,56,51,99,99,101,98,100,52,54,100,51,102,51,98,98,56,97,50,97,55,51,53,49,51,102,53,101,98,55,57,100,97,54,54,49,57,48,101,98,48,56,53,102,102,97,57,102,52,57,50,102,51,55,53,97,57,55,100,56,54,48,101,98,52,0,48,120,53,50,48,56,56,51,57,52,57,100,102,100,98,99,52,50,100,51,97,100,49,57,56,54,52,48,54,56,56,97,54,102,101,49,51,102,52,49,51,52,57,53,53,52,98,52,57,97,99,99,51,49,100,99,99,100,56,56,52,53,51,57,56,49,54,102,53,101,98,52,97,99,56,102,98,49,102,49,97,54,0,48,120,100,51,53,101,52,55,50,48,51,54,98,99,52,102,98,55,101,49,51,99,55,56,53,101,100,50,48,49,101,48,54,53,102,57,56,102,99,102,97,53,98,54,56,102,49,50,97,51,50,100,52,56,50,101,99,55,101,101,56,54,53,56,101,57,56,54,57,49,53,53,53,98,52,52,99,53,57,51,49,49,0,48,120,52,51,98,100,55,101,57,97,102,98,53,51,100,56,98,56,53,50,56,57,98,99,99,52,56,101,101,53,98,102,101,54,102,50,48,49,51,55,100,49,48,97,48,56,55,101,98,54,101,55,56,55,49,101,50,97,49,48,97,53,57,57,99,55,49,48,97,102,56,100,48,100,51,57,101,50,48,54,49,49,0,48,120,49,52,102,100,100,48,53,53,52,53,101,99,49,99,99,56,97,98,52,48,57,51,50,52,55,102,55,55,50,55,53,101,48,55,52,51,102,102,101,100,49,49,55,49,56,50,101,97,97,57,99,55,55,56,55,55,97,97,97,99,54,97,99,55,100,51,53,50,52,53,100,49,54,57,50,101,56,101,101,49,0,48,120,56,99,98,57,49,101,56,50,97,51,51,56,54,100,50,56,48,102,53,100,54,102,55,101,53,48,101,54,52,49,100,102,49,53,50,102,55,49,48,57,101,100,53,52,53,54,98,52,49,50,98,49,100,97,49,57,55,102,98,55,49,49,50,51,97,99,100,51,97,55,50,57,57,48,49,100,49,97,55,49,56,55,52,55,48,48,49,51,51,49,48,55,101,99,53,51,0,48,120,55,98,99,51,56,50,99,54,51,100,56,99,49,53,48,99,51,99,55,50,48,56,48,97,99,101,48,53,97,102,97,48,99,50,98,101,97,50,56,101,52,102,98,50,50,55,56,55,49,51,57,49,54,53,101,102,98,97,57,49,102,57,48,102,56,97,97,53,56,49,52,97,53,48,51,97,100,52,101,98,48,52,97,56,99,55,100,100,50,50,99,101,50,56,50,54,0,48,120,48,52,97,56,99,55,100,100,50,50,99,101,50,56,50,54,56,98,51,57,98,53,53,52,49,54,102,48,52,52,55,99,50,102,98,55,55,100,101,49,48,55,100,99,100,50,97,54,50,101,56,56,48,101,97,53,51,101,101,98,54,50,100,53,55,99,98,52,51,57,48,50,57,53,100,98,99,57,57,52,51,97,98,55,56,54,57,54,102,97,53,48,52,99,49,49,0,48,120,56,99,98,57,49,101,56,50,97,51,51,56,54,100,50,56,48,102,53,100,54,102,55,101,53,48,101,54,52,49,100,102,49,53,50,102,55,49,48,57,101,100,53,52,53,54,98,51,49,102,49,54,54,101,54,99,97,99,48,52,50,53,97,55,99,102,51,97,98,54,97,102,54,98,55,102,99,51,49,48,51,98,56,56,51,50,48,50,101,57,48,52,54,53,54,53,0,48,120,49,100,49,99,54,52,102,48,54,56,99,102,52,53,102,102,97,50,97,54,51,97,56,49,98,55,99,49,51,102,54,98,56,56,52,55,97,51,101,55,55,101,102,49,52,102,101,51,100,98,55,102,99,97,102,101,48,99,98,100,49,48,101,56,101,56,50,54,101,48,51,52,51,54,100,54,52,54,97,97,101,102,56,55,98,50,101,50,52,55,100,52,97,102,49,101,0,48,120,56,97,98,101,49,100,55,53,50,48,102,57,99,50,97,52,53,99,98,49,101,98,56,101,57,53,99,102,100,53,53,50,54,50,98,55,48,98,50,57,102,101,101,99,53,56,54,52,101,49,57,99,48,53,52,102,102,57,57,49,50,57,50,56,48,101,52,54,52,54,50,49,55,55,57,49,56,49,49,49,52,50,56,50,48,51,52,49,50,54,51,99,53,51,49,53,0,48,120,97,97,100,100,57,100,98,56,100,98,101,57,99,52,56,98,51,102,100,52,101,54,97,101,51,51,99,57,102,99,48,55,99,98,51,48,56,100,98,51,98,51,99,57,100,50,48,101,100,54,54,51,57,99,99,97,55,48,51,51,48,56,55,49,55,100,52,100,57,98,48,48,57,98,99,54,54,56,52,50,97,101,99,100,97,49,50,97,101,54,97,51,56,48,101,54,50,56,56,49,102,102,50,102,50,100,56,50,99,54,56,53,50,56,97,97,54,48,53,54,53,56,51,97,52,56,102,51,0,48,120,55,56,51,48,97,51,51,49,56,98,54,48,51,98,56,57,101,50,51,50,55,49,52,53,97,99,50,51,52,99,99,53,57,52,99,98,100,100,56,100,51,100,102,57,49,54,49,48,97,56,51,52,52,49,99,97,101,97,57,56,54,51,98,99,50,100],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+20480);allocate([101,100,53,100,53,97,97,56,50,53,51,97,97,49,48,97,50,101,102,49,99,57,56,98,57,97,99,56,98,53,55,102,49,49,49,55,97,55,50,98,102,50,99,55,98,57,101,55,99,49,97,99,52,100,55,55,102,99,57,52,99,97,0,48,120,51,100,102,57,49,54,49,48,97,56,51,52,52,49,99,97,101,97,57,56,54,51,98,99,50,100,101,100,53,100,53,97,97,56,50,53,51,97,97,49,48,97,50,101,102,49,99,57,56,98,57,97,99,56,98,53,55,102,49,49,49,55,97,55,50,98,102,50,99,55,98,57,101,55,99,49,97,99,52,100,55,55,102,99,57,52,99,97,100,99,48,56,51,101,54,55,57,56,52,48,53,48,98,55,53,101,98,97,101,53,100,100,50,56,48,57,98,100,54,51,56,48,49,54,102,55,50,51,0,48,120,97,97,100,100,57,100,98,56,100,98,101,57,99,52,56,98,51,102,100,52,101,54,97,101,51,51,99,57,102,99,48,55,99,98,51,48,56,100,98,51,98,51,99,57,100,50,48,101,100,54,54,51,57,99,99,97,55,48,51,51,48,56,55,48,53,53,51,101,53,99,52,49,52,99,97,57,50,54,49,57,52,49,56,54,54,49,49,57,55,102,97,99,49,48,52,55,49,100,98,49,100,51,56,49,48,56,53,100,100,97,100,100,98,53,56,55,57,54,56,50,57,99,97,57,48,48,54,57,0,48,120,56,49,97,101,101,52,98,100,100,56,50,101,100,57,54,52,53,97,50,49,51,50,50,101,57,99,52,99,54,97,57,51,56,53,101,100,57,102,55,48,98,53,100,57,49,54,99,49,98,52,51,98,54,50,101,101,102,52,100,48,48,57,56,101,102,102,51,98,49,102,55,56,101,50,100,48,100,52,56,100,53,48,100,49,54,56,55,98,57,51,98,57,55,100,53,102,55,99,54,100,53,48,52,55,52,48,54,97,53,101,54,56,56,98,51,53,50,50,48,57,98,99,98,57,102,56,50,50,0,48,120,55,100,100,101,51,56,53,100,53,54,54,51,51,50,101,99,99,48,101,97,98,102,97,57,99,102,55,56,50,50,102,100,102,50,48,57,102,55,48,48,50,52,97,53,55,98,49,97,97,48,48,48,99,53,53,98,56,56,49,102,56,49,49,49,98,50,100,99,100,101,52,57,52,97,53,102,52,56,53,101,53,98,99,97,52,98,100,56,56,97,50,55,54,51,97,101,100,49,99,97,50,98,50,102,97,56,102,48,53,52,48,54,55,56,99,100,49,101,48,102,51,97,100,56,48,56,57,50,0,48,120,56,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,52,51,49,0,48,120,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,55,0,48,120,53,102,98,102,102,52,57,56,97,97,57,51,56,99,101,55,51,57,98,56,101,48,50,50,102,98,97,102,101,102,52,48,53,54,51,102,54,101,54,97,51,52,55,50,102,99,50,97,53,49,52,99,48,99,101,57,100,97,101,50,51,98,55,101,0,48,120,56,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,49,53,48,102,101,56,97,49,56,57,50,57,55,54,49,53,52,99,53,57,99,102,99,49,57,51,97,99,99,102,53,98,51,0,48,120,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,50,0,48,120,48,56,101,50,97,56,97,48,101,54,53,49,52,55,100,52,98,100,54,51,49,54,48,51,48,101,49,54,100,49,57,99,56,53,99,57,55,102,48,97,57,99,97,50,54,55,49,50,50,98,57,54,97,98,98,99,101,97,55,101,56,102,99,56,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,100,57,55,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,100,57,52,0,48,120,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,97,54,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,54,99,54,49,49,48,55,48,57,57,53,97,100,49,48,48,52,53,56,52,49,98,48,57,98,55,54,49,98,56,57,51,0,48,120,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,49,0,48,120,56,100,57,49,101,52,55,49,101,48,57,56,57,99,100,97,50,55,100,102,53,48,53,97,52,53,51,102,50,98,55,54,51,53,50,57,52,102,50,100,100,102,50,51,101,51,98,49,50,50,97,99,99,57,57,99,57,101,57,102,49,101,49,52,0,48,120,56,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,99,57,57,0,48,120,56,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,99,57,54,0,48,120,51,101,49,97,102,52,49,57,97,50,54,57,97,53,102,56,54,54,97,55,100,51,99,50,53,99,51,100,102,56,48,97,101,57,55,57,50,53,57,51,55,51,102,102,50,98,49,56,50,102,52,57,100,52,99,101,55,101,49,98,98,99,56,98,0,48,120,56,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,49,53,102,55,48,48,99,102,102,102,49,97,54,50,52,101,53,101,52,57,55,49,54,49,98,99,99,56,97,49,57,56,102,0,48,120,51,102,97,56,49,50,52,51,53,57,102,57,54,54,56,48,98,56,51,100,49,99,51,101,98,50,99,48,55,48,101,53,99,53,52,53,99,57,56,53,56,100,48,51,101,99,102,98,55,52,52,98,102,56,100,55,49,55,55,49,55,101,102,99,0,48,120,57,98,57,102,54,48,53,102,53,97,56,53,56,49,48,55,97,98,49,101,99,56,53,101,54,98,52,49,99,56,97,97,99,102,56,52,54,101,56,54,55,56,57,48,53,49,100,51,55,57,57,56,102,55,98,57,48,50,50,100,55,53,57,98,0,48,120,57,98,57,102,54,48,53,102,53,97,56,53,56,49,48,55,97,98,49,101,99,56,53,101,54,98,52,49,99,56,97,97,99,102,56,52,54,101,56,54,55,56,57,48,53,49,100,51,55,57,57,56,102,55,98,57,48,50,50,100,55,53,57,56,0,48,120,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,56,48,53,97,0,48,120,57,98,57,102,54,48,53,102,53,97,56,53,56,49,48,55,97,98,49,101,99,56,53,101,54,98,52,49,99,56,97,97,53,56,50,99,97,51,53,49,49,101,100,100,102,98,55,52,102,48,50,102,51,97,54,53,57,56,57,56,48,98,98,57,0,48,120,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,0,48,120,52,49,101,99,101,53,53,55,52,51,55,49,49,97,56,99,51,99,98,102,51,55,56,51,99,100,48,56,99,48,101,101,52,100,52,100,99,52,52,48,100,52,54,52,49,97,56,102,51,54,54,101,53,53,48,100,102,100,98,51,98,98,54,55,0,71,79,83,84,50,48,49,50,45,116,101,115,116,0,48,120,52,53,51,49,97,99,100,49,102,101,48,48,50,51,99,55,53,53,48,100,50,54,55,98,54,98,50,102,101,101,56,48,57,50,50,98,49,52,98,50,102,102,98,57,48,102,48,52,100,52,101,98,55,99,48,57,98,53,100,50,100,49,53,100,102,49,100,56,53,50,55,52,49,97,102,52,55,48,52,97,48,52,53,56,48,52,55,101,56,48,101,52,53,52,54,100,51,53,98,56,51,51,54,102,97,99,50,50,52,100,100,56,49,54,54,52,98,98,102,53,50,56,98,101,54,51,55,51,0,48,120,49,99,102,102,48,56,48,54,97,51,49,49,49,54,100,97,50,57,100,56,99,102,97,53,52,101,53,55,101,98,55,52,56,98,99,53,102,51,55,55,101,52,57,52,48,48,102,100,100,55,56,56,98,54,52,57,101,99,97,49,97,99,52,51,54,49,56,51,52,48,49,51,98,50,97,100,55,51,50,50,52,56,48,97,56,57,99,97,53,56,101,48,99,102,55,52,98,99,57,101,53,52,48,99,50,97,100,100,54,56,57,55,102,97,100,48,97,51,48,56,52,102,51,48,50,97,100,99,0,48,120,52,53,51,49,97,99,100,49,102,101,48,48,50,51,99,55,53,53,48,100,50,54,55,98,54,98,50,102,101,101,56,48,57,50,50,98,49,52,98,50,102,102,98,57,48,102,48,52,100,52,101,98,55,99,48,57,98,53,100,50,100,49,53,100,97,56,50,102,50,100,55,101,99,98,49,100,98,97,99,55,49,57,57,48,53,99,53,101,101,99,99,52,50,51,102,49,100,56,54,101,50,53,101,100,98,101,50,51,99,53,57,53,100,54,52,52,97,97,102,49,56,55,101,54,101,54,100,102,0,48,120,50,52,100,49,57,99,99,54,52,53,55,50,101,101,51,48,102,51,57,54,98,102,54,101,98,98,102,100,55,97,54,99,53,50,49,51,98,51,98,51,100,55,48,53,55,99,99,56,50,53,102,57,49,48,57,51,97,54,56,99,100,55,54,50,102,100,54,48,54,49,49,50,54,50,99,100,56,51,56,100,99,54,98,54,48,97,97,55,101,101,101,56,48,52,101,50,56,98,99,56,52,57,57,55,55,102,97,99,51,51,98,52,98,53,51,48,102,49,98,49,50,48,50,52,56,97,57,97,0,48,120,50,98,98,51,49,50,97,52,51,98,100,50,99,101,54,101,48,100,48,50,48,54,49,51,99,56,53,55,97,99,100,100,99,102,98,102,48,54,49,101,57,49,101,53,102,50,99,51,102,51,50,52,52,55,99,50,53,57,102,51,57,98,50,99,56,51,97,98,49,53,54,100,55,55,102,49,52,57,54,98,102,55,101,98,51,51,53,49,101,49,101,101,52,101,52,51,100,99,49,97,49,56,98,57,49,98,50,52,54,52,48,98,54,100,98,98,57,50,99,98,49,97,100,100,51,55,49,101,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,100,99,55,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,100,99,52,0,48,120,101,56,99,50,53,48,53,100,101,100,102,99,56,54,100,100,99,49,98,100,48,98,50,98,54,54,54,55,102,49,100,97,51,52,98,56,50,53,55,52,55,54,49,99,98,48,101,56,55,57,98,100,48,56,49,99,102,100,48,98,54,50,54,53,101,101,51,99,98,48,57,48,102,51,48,100,50,55,54,49,52,99,98,52,53,55,52,48,49,48,100,97,57,48,100,100,56,54,50,101,102,57,100,52,101,98,101,101,52,55,54,49,53,48,51,49,57,48,55,56,53,97,55,49,99,55,54,48,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,50,55,101,54,57,53,51,50,102,52,56,100,56,57,49,49,54,102,102,50,50,98,56,100,52,101,48,53,54,48,54,48,57,98,52,98,51,56,97,98,102,97,100,50,98,56,53,100,99,97,99,100,98,49,52,49,49,102,49,48,98,50,55,53,0,48,120,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,51,0,48,120,55,53,48,51,99,102,101,56,55,97,56,51,54,97,101,51,97,54,49,98,56,56,49,54,101,50,53,52,53,48,101,54,99,101,53,101,49,99,57,51,97,99,102,49,97,98,99,49,55,55,56,48,54,52,102,100,99,98,101,102,97,57,50,49,100,102,49,54,50,54,98,101,52,102,100,48,51,54,101,57,51,100,55,53,101,54,97,53,48,101,51,97,52,49,101,57,56,48,50,56,102,101,53,102,99,50,51,53,102,53,98,56,56,57,97,53,56,57,99,98,53,50,49,53,102,50,97,52,0,48,120,56,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,54,102,0,48,120,56,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,54,99,0,48,120,54,56,55,100,49,98,52,53,57,100,99,56,52,49,52,53,55,101,51,101,48,54,99,102,54,102,53,101,50,53,49,55,98,57,55,99,55,100,54,49,52,97,102,49,51,56,98,99,98,102,56,53,100,99,56,48,54,99,52,98,50,56,57,102,51,101,57,54,53,100,50,100,98,49,52,49,54,100,50,49,55,102,56,98,50,55,54,102,97,100,49,97,98,54,57,99,53,48,102,55,56,98,101,101,49,102,97,51,49,48,54,101,102,98,56,99,99,98,99,55,99,53,49,52,48,49,49,54,0,48,120,56,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,49,52,57,97,49,101,99,49,52,50,53,54,53,97,53,52,53,97,99,102,100,98,55,55,98,100,57,100,52,48,99,102,97,56,98,57,57,54,55,49,50,49,48,49,98,101,97,48,101,99,54,51,52,54,99,53,52,51,55,52,102,50,53,98,100,0,48,120,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,50,0,48,120,49,97,56,102,55,101,100,97,51,56,57,98,48,57,52,99,50,99,48,55,49,101,51,54,52,55,97,56,57,52,48,102,51,99,49,50,51,98,54,57,55,53,55,56,99,50,49,51,98,101,54,100,100,57,101,54,99,56,101,99,55,51,51,53,100,99,98,50,50,56,102,100,49,101,100,102,52,97,51,57,49,53,50,99,98,99,97,97,102,56,99,48,51,57,56,56,50,56,48,52,49,48,53,53,102,57,52,99,101,101,101,99,55,101,50,49,51,52,48,55,56,48,102,101,52,49,98,100,0,48,120,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,69,70,70,70,70,70,67,50,70,0,48,120,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,69,66,65,65,69,68,67,69,54,65,70,52,56,65,48,51,66,66,70,68,50,53,69,56,67,68,48,51,54,52,49,52,49,0,48,120,55,57,66,69,54,54,55,69,70,57,68,67,66,66,65,67,53,53,65,48,54,50,57,53,67,69,56,55,48,66,48,55,48,50,57,66,70,67,68,66,50,68,67,69,50,56,68,57,53,57,70,50,56,49,53,66,49,54,70,56,49,55,57,56,0,48,120,52,56,51,65,68,65,55,55,50,54,65,51,67,52,54,53,53,68,65,52,70,66,70,67,48,69,49,49,48,56,65,56,70,68,49,55,66,52,52,56,65,54,56,53,53,52,49,57,57,67,52,55,68,48,56,70,70,66,49,48,68,52,66,56,0,48,120,48,52,0,45,112,97,98,103,110,104,0,98,0,103,0,104,0,100,0,46,120,0,46,121,0,46,122,0,101,99,99,32,103,101,116,32,112,97,114,97,109,58,32,70,97,105,108,101,100,32,116,111,32,103,101,116,32,97,102,102,105,110,101,32,99,111,111,114,100,105,110,97,116,101,115,10,0,40,112,117,98,108,105,99,45,107,101,121,40,101,99,99,40,112,37,109,41,40,97,37,109,41,40,98,37,109,41,40,103,37,109,41,40,110,37,109,41,40,104,37,109,41,41,41,0,103,46,120,0,103,46,121,0,113,46,120,0,113,46,121,0,101,100,100,115,97,95,101,110,99,111,100,101,112,111,105,110,116,58,32,70,97,105,108,101,100,32,116,111,32,103,101,116,32,97,102,102,105,110,101,32,99,111,111,114,100,105,110,97,116,101,115,10,0,48,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,68,0,115,99,97,110,110,105,110,103,32,69,67,67,32,112,97,114,97,109,101,116,101,114,32,102,97,105,108,101,100,58,32,37,115,10,0,50,66,56,51,50,52,56,48,52,70,67,49,68,70,48,66,50,66,52,68,48,48,57,57,51,68,70,66,68,55,65,55,50,70,52,51,49,56,48,54,65,68,50,70,69,52,55,56,67,52,69,69,49,66,50,55,52,65,48,69,65,48,66,48,0,101,99,103,101,110,32,32,32,32,32,32,112,107,0,42,32,101,95,112,107,0,32,32,101,95,112,107,0,32,32,32,32,32,109,0,32,32,32,114,0,32,32,32,101,95,114,0,32,72,40,82,43,41,0,32,32,32,101,95,115,0,69,100,119,97,114,100,115,0,87,101,105,101,114,115,116,114,97,115,115,0,69,100,50,53,53,49,57,0,83,116,97,110,100,97,114,100,0,109,112,105,95,112,114,105,110,116,32,102,97,105,108,101,100,58,32,37,115,10,0,109,112,105,95,115,99,97,110,32,102,97,105,108,101,100,58,32,37,115,10,0,83,97,109,112,108,101,32,35,49,0,79,76,163,213,214,139,167,204,10,18,8,201,198,30,156,93,160,64,60,10,0,83,97,109,112,108,101,32,35,50,0,9,34,211,64,95,170,61,25,79,130,164,88,48,115,125,92,198,199,93,36,0,83,97,109,112,108,101,32,35,51,0,188,244,30,171,139,178,216,2,243,208,92,175,124,176,146,236,248,209,163,170,0,83,97,109,112,108,101,32,35,52,0,158,168,134,239,226,104,219,236,206,66,12,117,36,223,50,224,117,26,42,38,0,70,73,80,83,45,49,57,56,97,44,32,65,46,49,0,70,73,80,83,45,49,57,56,97,44,32,65,46,50,0,70,73,80,83,45,49,57,56,97,44,32,65,46,51,0,70,73,80,83,45,49,57,56,97,44,32,65,46,52,0,104,109,97,99,0,95,103,99,114,121,95,104,109,97,99,50,53,54,95,110,101,119,32,102,97,105,108,101,100,0,95,103,99,114,121,95,104,109,97,99,50,53,54,95,102,105,110,97,108,105,122,101,32,102,97,105,108,101,100,0,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,105,110,32,115,101,99,111,110,100,32,105,109,112,108,101,109,101,110,116,97,116,105,111,110,0,97,108,103,111,114,105,116,104,109,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,100,97,116,97,45,50,56,32,107,101,121,45,52,0,119,104,97,116,32,100,111,32,121,97,32,119,97,110,116,32,102,111,114,32,110,111,116,104,105,110,103,63,0,74,101,102,101,0,100,97,116,97,45,57,32,107,101,121,45,50,48,0,72,105,32,84,104,101,114,101,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,100,97,116,97,45,53,48,32,107,101,121,45,50,48,0,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,0,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,0,100,97,116,97,45,53,48,32,107,101,121,45,50,54,0,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,0,100,97,116,97,45,53,52,32,107,101,121,45,49,51,49,0,84,101,115,116,32,85,115,105,110,103,32,76,97,114,103,101,114,32,84,104,97,110,32,66,108,111,99,107,45,83,105,122,101,32,75,101,121,32,45,32,72,97,115,104,32,75,101,121,32,70,105,114,115,116,0,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,0,100,97,116,97,45,49,53,50,32,107,101,121,45,49,51,49,0,84,104,105,115,32,105,115,32,97,32,116,101,115,116,32,117,115,105,110,103,32,97,32,108,97,114,103,101,114,32,116,104,97,110,32,98,108,111,99,107,45,115,105,122,101,32,107,101,121,32,97,110,100,32,97,32,108,97,114,103,101,114,32,116,104,97,110,32,98,108,111,99,107,45,115,105,122,101,32,100,97,116,97,46,32,84,104,101,32,107,101,121,32,110,101,101,100,115,32,116,111,32,98,101,32,104,97,115,104,101,100,32,98,101,102,111,114,101,32,98,101,105,110,103,32,117,115,101,100,32,98,121,32,116,104,101,32,72,77,65,67,32,97,108,103,111,114,105,116,104,109,46,0,100,111,101,115,32,110,111,116,32,109,97,116,99,104,0,103,99,114,121,95,109,100,95,115,101,116,107,101,121,32,102,97,105,108,101,100,0,103,99,114,121,95,109,100,95,114,101,97,100,32,102,97,105,108,101,100,0,105,110,118,97,108,105,100,32,116,101,115,116,115,32,100,97,116,97,0,111,105,100,46,0,79,73,68,46,0,109,100,95,101,110,97,98,108,101,58,32,97,108,103,111,114,105,116,104,109,32,37,100,32,110,111,116,32,97,118,97,105,108,97,98,108,101,10,0,77,68,53,32,117,115,101,100,0,109,100,46,99,0,109,100,95,119,114,105,116,101,0,109,100,95,103,101,116,95,97,108,103,111,0,112,111,115,115,105,98,108,101,32,117,115,97,103,101,32,101,114,114,111,114,0,87,65,82,78,73,78,71,58,32,109,111,114,101,32,116,104,97,110,32,111,110,101,32,97,108,103,111,114,105,116,104,109,32,105,110,32,109,100,95,103,101,116,95,97,108,103,111,40,41,10,0,109,111,114,101,32,116,104,97,110,32,111,110,101,32,97,108,103,111,114,105,116,104,109,32,105,110,32,109,100,95,114,101,97,100,40,48,41,10,0,109,100,95,114,101,97,100,0,107,101,121,108,101,110,32,60,61,32,104,100,45,62,99,116,120,45,62,109,97,99,112,97,100,115,95,66,115,105,122,101,0,112,114,101,112,97,114,101,95,109,97,99,112,97,100,115,0,103,99,114,121,95,109,100,95,111,112,101,110,32,102,97,105,108,101,100,32,102,111,114,32,97,108,103,111,32,37,100,58,32,37,115,0,110,111,32,65,83,78,46,49,32,79,73,68,32,102,111,114,32,109,100,32,97,108,103,111,32,37,100,10,0,112,114,105,109,101,103,101,110,0,99,97,110,39,116,32,103,101,110,101,114,97,116,101,32,97,32,112,114,105,109,101,32,119,105,116,104,32,108,101,115,115,32,116,104,97,110,32,37,100,32,98,105,116,115,10,0,111,118,101,114,102,108,111,119,32,105,110,32,112,114,105,109,101,32,103,101,110,101,114,97,116,105,111,110,10,0,95,103,99,114,121,95,109,112,105,95,99,109,112,40,32,40,120,41,44,32,40,110,109,105,110,117,115,49,41,32,41,32,60,32,48,32,38,38,32,95,103,99,114,121,95,109,112,105,95,99,109,112,95,117,105,40,32,40,120,41,44,32,40,49,41,32,41,32,62,32,48,0,112,114,105,109,101,103,101,110,46,99,0,105,115,95,112,114,105,109,101,0,112,115,115,0,114,97,119,0,99,111,109,112,0,111,97,101,112,0,112,107,99,115,49,0,112,97,114,97,109,0,110,111,99,111,109,112,0,114,102,99,54,57,55,57,0,110,111,112,97,114,97,109,0,112,107,99,115,49,45,114,97,119,0,105,103,110,105,110,118,102,108,97,103,0,110,111,45,107,101,121,116,101,115,116,0,110,111,45,98,108,105,110,100,105,110,103,0,117,115,101,45,102,105,112,115,49,56,54,0,117,115,101,45,102,105,112,115,49,56,54,45,50,0,110,98,105,116,115,0,114,115,97,45,117,115,101,45,101,0,115,105,103,45,118,97,108,0,104,97,115,104,45,97,108,103,111,0,108,97,98,101,108,0,114,97,110,100,111,109,45,111,118,101,114,114,105,100,101,0,115,104,97,49,0,109,100,53,0,115,104,97,50,53,54,0,114,105,112,101,109,100,49,54,48,0,114,109,100,49,54,48,0,115,104,97,51,56,52,0,115,104,97,53,49,50,0,115,104,97,50,50,52,0,109,100,50,0,109,100,52,0,116,105,103,101,114,0,104,97,118,97,108,0,100,97,116,97,0,104,97,115,104,0,115,97,108,116,45,108,101,110,103,116,104,0,63,0,112,114,105,118,97,116,101,45,107,101,121,0,112,117,98,108,105,99,45,107,101,121,0,103,101,110,107,101,121,0,97,108,103,111,114,105,116,104,109,32,100,105,115,97,98,108,101,100,0,97,108,103,111,114,105,116,104,109,32,110,111,116,32,102,111,117,110,100,0,110,111,32,115,101,108,102,116,101,115,116,32,97,118,97,105,108,97,98,108,101,0,109,111,100,117,108,101,0,65,69,83,0,232,233,234,235,237,238,239,240,242,243,244,245,247,248,249,250,1,75,175,34,120,166,157,51,29,81,128,16,54,67,233,154,103,67,195,209,81,154,180,242,205,154,120,171,9,165,17,189,65,69,83,45,49,50,56,32,116,101,115,116,32,100,101,99,114,121,112,116,105,111,110,32,102,97,105,108,101,100,46,0,65,69,83,45,49,50,56,32,116,101,115,116,32,101,110,99,114,121,112,116,105,111,110,32,102,97,105,108,101,100,46,0,99,102,98,0,111,102,98,0,108,111,119,45,108,101,118,101,108,0,99,105,112,104,101,114,0,4,5,6,7,9,10,11,12,14,15,16,17,19,20,21,22,24,25,26,27,29,30,31,32,118,119,116,117,241,242,243,244,248,249,230,231,119,112,113,114,93,30,242,13,206,214,188,188,18,19,26,199,197,71,136,170,65,69,83,45,49,57,50,32,116,101,115,116,32,100,101,99,114,121,112,116,105,111,110,32,102,97,105,108,101,100,46,0,65,69,83,45,49,57,50,32,116,101,115,116,32,101,110,99,114,121,112,116,105,111,110,32,102,97,105,108,101,100,46,0,8,9,10,11,13,14,15,16,18,19,20,21,23,24,25,26,28,29,30,31,33,34,35,36,38,39,40,41,43,44,45,46,6,154,0,127,199,106,69,159,152,186,249,23,254,223,149,33,8,14,149,23,235,22,119,113,154,207,114,128,134,4,10,227,65,69,83,45,50,53,54,32,116,101,115,116,32,100,101,99,114,121,112,116,105,111,110,32,102,97,105,108,101,100,46,0,65,69,83,45,50,53,54,32,116,101,115,116,32,101,110,99,114,121,112,116,105,111,110,32,102,97,105,108,101,100,46,0,110,111,32,116,101,115,116,32,100,97,116,97,32,102,111,114,32,116,104,105,115,32,109,111,100,101,0,111,112,101,110,0,115,101,116,32,107,101,121,0,115,101,116,32,73,86,0,101,110,99,114,121,112,116,32,99,111,109,109,97,110,100,0,101,110,99,114,121,112,116,32,109,105,115,109,97,116,99,104,0,100,101,99,114,121,112,116,32,99,111,109,109,97,110,100,0,100,101,99,114,121,112,116,32,109,105,115,109,97,116,99,104,0,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,49,46,49,0,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,49,46,50,0,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,49,46,51,0,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,49,46,52,0,82,73,74,78,68,65,69,76,0,65,69,83,49,50,56,0,65,69,83,45,49,50,56,0,65,69,83,49,57,50,0,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,49,46,50,49,0,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,49,46,50,50,0,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,49,46,50,51,0,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,49,46,50,52,0,82,73,74,78,68,65,69,76,49,57,50,0,65,69,83,45,49,57,50,0,65,69,83,50,53,54,0,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,49,46,52,49,0,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,49,46,52,50,0,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,49,46,52,51,0,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,49,46,52,52,0,82,73,74,78,68,65,69,76,50,53,54,0,65,69,83,45,50,53,54,0,82,73,80,69,77,68,49,54,48,0,48,33,48,9,6,5,43,36,3,2,1,5,0,4,20,49,46,51,46,51,54,46,51,46,51,46,49,46,50,0,49,46,51,46,51,54,46,51,46,50,46,49,0,105,32,62,32,48,0,114,115,97,45,99,111,109,109,111,110,46,99,0,95,103,99,114,121,95,114,115,97,95,112,107,99,115,49,95,101,110,99,111,100,101,95,102,111,114,95,101,110,99,0,110,32,61,61,32,110,102,114,97,109,101,0,80,75,67,83,35,49,32,98,108,111,99,107,32,116,121,112,101,32,50,32,101,110,99,111,100,101,100,32,100,97,116,97,0,118,97,108,117,101,32,101,120,116,114,97,99,116,101,100,32,102,114,111,109,32,80,75,67,83,35,49,32,98,108,111,99,107,32,116,121,112,101,32,50,32,101,110,99,111,100,101,100,32,100,97,116,97,0,105,32,62,32,49,0,95,103,99,114,121,95,114,115,97,95,112,107,99,115,49,95,101,110,99,111,100,101,95,102,111,114,95,115,105,103,0,80,75,67,83,35,49,32,98,108,111,99,107,32,116,121,112,101,32,49,32,101,110,99,111,100,101,100,32,100,97,116,97,0,95,103,99,114,121,95,114,115,97,95,112,107,99,115,49,95,101,110,99,111,100,101,95,114,97,119,95,102,111,114,95,115,105,103,0,79,65,69,80,32,101,110,99,111,100,101,100,32,100,97,116,97,0,118,97,108,117,101,32,101,120,116,114,97,99,116,101,100,32,102,114,111,109,32,79,65,69,80,32,101,110,99,111,100,101,100,32,100,97,116,97,0,104,108,101,110,0,95,103,99,114,121,95,114,115,97,95,112,115,115,95,101,110,99,111,100,101,0,80,83,83,32,101,110,99,111,100,101,100,32,100,97,116,97,0,95,103,99,114,121,95,114,115,97,95,112,115,115,95,118,101,114,105,102,121,0,82,83,65,0,110,101,0,110,101,100,112,113,117,0,97,0,115,0,110,0,40,112,114,105,118,97,116,101,45,107,101,121,32,40,114,115,97,32,32,40,110,32,35,48,48,101,48,99,101,57,54,102,57,48,98,54,99,57,101,48,50,102,51,57,50,50,98,101,97,100,97,57,51,102,101,53,48,97,56,55,53,101,97,99,54,98,99,99,49,56,98,98,57,97,57,99,102,50,101,56,52,57,54,53,99,97,97,32,32,32,32,32,32,50,100,49,102,102,57,53,97,55,102,53,52,50,52,54,53,99,54,99,48,99,49,57,100,50,55,54,101,52,53,50,54,99,101,48,52,56,56,54,56,97,55,97,57,49,52,102,100,51,52,51,99,99,51,97,56,55,100,100,55,52,50,57,49,32,32,32,32,32,32,102,102,99,53,54,53,53,48,54,100,53,98,98,98,50,53,99,98,97,99,54,97,48,101,50,100,100,49,102,56,98,99,97,97,98,48,100,52,97,50,57,99,50,102,51,55,99,57,53,48,102,51,54,51,52,56,52,98,102,50,54,57,102,55,32,32,32,32,32,32,56,57,49,52,52,48,52,54,52,98,97,102,55,57,56,50,55,101,48,51,97,51,54,101,55,48,98,56,49,52,57,51,56,101,101,98,100,99,54,51,101,57,54,52,50,52,55,98,101,55,53,100,99,53,56,98,48,49,52,98,55,101,97,50,53,49,35,41,32,32,40,101,32,35,48,49,48,48,48,49,35,41,32,32,40,100,32,35,48,52,54,49,50,57,102,50,52,56,57,100,55,49,53,55,57,98,101,48,97,55,53,102,101,48,50,57,98,100,54,99,100,98,53,55,52,101,98,102,53,55,101,97,56,97,53,98,48,102,100,97,57,52,50,99,97,98,57,52,51,98,49,49,32,32,32,32,32,32,55,100,55,98,98,57,53,101,53,100,50,56,56,55,53,101,48,102,57,102,99,53,102,99,99,48,54,97,55,50,102,54,100,53,48,50,52,54,52,100,97,98,100,101,100,55,56,101,102,54,98,55,49,54,49,55,55,98,56,51,100,53,98,100,32,32,32,32,32,32,99,53,52,51,100,99,53,100,51,102,101,100,57,51,50,101,53,57,102,53,56,57,55,101,57,50,101,54,102,53,56,97,48,102,51,51,52,50,52,49,48,54,97,51,98,54,102,97,50,99,98,102,56,55,55,53,49,48,101,52,97,99,50,49,32,32,32,32,32,32,99,51,101,101,52,55,56,53,49,101,57,55,100,49,50,57,57,54,50,50,50,97,99,51,53,54,54,100,52,99,99,98,48,98,56,51,100,49,54,52,48,55,52,97,98,102,55,100,101,54,53,53,102,99,50,52,52,54,100,97,49,55,56,49,35,41,32,32,40,112,32,35,48,48,101,56,54,49,98,55,48,48,101,49,55,101,56,97,102,101,54,56,51,55,101,55,53,49,50,101,51,53,98,54,99,97,49,49,100,48,97,101,52,55,100,56,98,56,53,49,54,49,99,54,55,98,97,102,54,52,51,55,55,50,49,51,32,32,32,32,32,32,102,101,53,50,100,55,55,50,102,50,48,51,53,98,51,99,97,56,51,48,97,102,52,49,100,56,97,52,49,50,48,101,49,99,49,99,55,48,100,49,50,99,99,50,50,102,48,48,100,50,56,100,51,49,100,100,52,56,97,56,100,52,50,52,102,49,35,41,32,32,40,113,32,35,48,48,102,55,97,55,99,97,53,51,54,55,99,54,54,49,102,56,101,54,50,100,102,51,52,102,48,100,48,53,99,49,48,99,56,56,101,53,52,57,50,51,52,56,100,100,55,98,100,100,99,57,52,50,99,57,97,56,102,51,54,57,102,57,32,32,32,32,32,32,51,53,97,48,55,55,56,53,100,50,100,98,56,48,53,50,49,53,101,100,55,56,54,101,52,50,56,53,100,102,49,54,53,56,101,101,100,51,99,101,56,52,102,52,54,57,98,56,49,98,53,48,100,51,53,56,52,48,55,98,52,97,100,51,54,49,35,41,32,32,40,117,32,35,51,48,52,53,53,57,97,57,101,97,100,53,54,100,50,51,48,57,100,50,48,51,56,49,49,97,54,52,49,98,98,49,97,48,57,54,50,54,98,99,56,101,98,51,54,102,102,102,97,50,51,99,57,54,56,101,99,53,98,100,56,57,49,101,32,32,32,32,32,32,101,98,98,97,102,99,55,51,97,101,54,54,54,101,48,49,98,97,55,99,56,57,57,48,98,97,101,48,54,99,99,50,98,98,101,49,48,98,55,53,101,54,57,102,99,97,99,98,51,53,51,97,54,52,55,51,48,55,57,100,56,101,57,98,35,41,41,41,0,40,112,117,98,108,105,99,45,107,101,121,32,40,114,115,97,32,32,40,110,32,35,48,48,101,48,99,101,57,54,102,57,48,98,54,99,57,101,48,50,102,51,57,50,50,98,101,97,100,97,57,51,102,101,53,48,97,56,55,53,101,97,99,54,98,99,99,49,56,98,98,57,97,57,99,102,50,101,56,52,57,54,53,99,97,97,32,32,32,32,32,32,50,100,49,102,102,57,53,97,55,102,53,52,50,52,54,53,99,54,99,48,99,49,57,100,50,55,54,101,52,53,50,54,99,101,48,52,56,56,54,56,97,55,97,57,49,52,102,100,51,52,51,99,99,51,97,56,55,100,100,55,52,50,57,49,32,32,32,32,32,32,102,102,99,53,54,53,53,48,54,100,53,98,98,98,50,53,99,98,97,99,54,97,48,101,50,100,100,49,102,56,98,99,97,97,98,48,100,52,97,50,57,99,50,102,51,55,99,57,53,48,102,51,54,51,52,56,52,98,102,50,54,57,102,55,32,32,32,32,32,32,56,57,49,52,52,48,52,54,52,98,97,102,55,57,56,50,55,101,48,51,97,51,54,101,55,48,98,56,49,52,57,51,56,101,101,98,100,99,54,51,101,57,54,52,50,52,55,98,101,55,53,100,99,53,56,98,48,49,52,98,55,101,97,50,53,49,35,41,32,32,40,101,32,35,48,49,48,48,48,49,35,41,41,41,0,40,100,97,116,97,32,40,102,108,97,103,115,32,112,107,99,115,49,41,32,40,104,97,115,104,32,115,104,97,49,32,35,49,49,50,50,51,51,52,52,53,53,54,54,55,55,56,56,57,57,48,48,97,97,98,98,99,99,100,100,101,101,102,102,49,48,50,48,51,48,52,48,35,41,41,0,40,100,97,116,97,32,40,102,108,97,103,115,32,112,107,99,115,49,41,32,40,104,97,115,104,32,115,104,97,49,32,35,49,49,50,50,51,51,52,52,53,53,54,54,55,55,56,56,57,57,48,48,97,97,98,98,99,99,100,100,101,101,102,102,56,48,50,48,51,48,52,48,35,41,41,0,98,97,100,32,115,105,103,110,97,116,117,114,101,32,110,111,116,32,100,101,116,101,99,116,101,100,0,99,111,110,118,101,114,116,105,110,103,32,100,97,116,97,32,102,97,105,108,101,100,0,115,105,103,110,105,110,103,32,102,97,105,108,101,100,0,118,101,114,105,102,121,32,102,97,105,108,101,100,0,40,100,97,116,97,32,40,102,108,97,103,115,32,114,97,119,41,32,40,118,97,108,117,101,32,37,109,41,41,0,101,110,99,45,118,97,108,0,114,115,97,0,118,97,108,117,101,0,109,105,115,109,97,116,99,104,0,101,110,99,114,121,112,116,32,102,97,105,108,101,100,0,103,99,114,121,95,112,107,95,100,101,99,114,121,112,116,32,114,101,116,117,114,110,101,100,32,103,97,114,98,97,103,101,0,99,105,112,104,101,114,116,101,120,116,32,109,97,116,99,104,101,115,32,112,108,97,105,110,116,101,120,116,0,100,101,99,114,121,112,116,32,102,97,105,108,101,100,0,100,101,99,114,121,112,116,32,114,101,116,117,114,110,101,100,32,110,111,32,112,108,97,105,110,116,101,120,116,0,99,111,110,118,101,114,116,0,107,101,121,32,99,111,110,115,105,115,116,101,110,99,121,0,115,105,103,110,0,101,110,99,114,121,112,116,0,112,117,98,107,101,121,0,114,115,97,95,118,101,114,105,102,121,32,100,97,116,97,0,114,115,97,95,118,101,114,105,102,121,32,32,115,105,103,0,114,115,97,95,118,101,114,105,102,121,32,32,32,32,110,0,114,115,97,95,118,101,114,105,102,121,32,32,32,32,101,0,114,115,97,95,118,101,114,105,102,121,32,32,99,109,112,0,114,115,97,95,118,101,114,105,102,121],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+30720);allocate([32,32,32,32,61,62,32,37,115,10,0,114,115,97,95,115,105,103,110,32,32,32,100,97,116,97,0,110,101,100,112,63,113,63,117,63,0,114,115,97,95,115,105,103,110,32,32,32,32,32,32,110,0,114,115,97,95,115,105,103,110,32,32,32,32,32,32,101,0,114,115,97,95,115,105,103,110,32,32,32,32,32,32,100,0,114,115,97,95,115,105,103,110,32,32,32,32,32,32,112,0,114,115,97,95,115,105,103,110,32,32,32,32,32,32,113,0,114,115,97,95,115,105,103,110,32,32,32,32,32,32,117,0,114,115,97,95,115,105,103,110,32,32,32,32,114,101,115,0,40,115,105,103,45,118,97,108,40,114,115,97,40,115,37,98,41,41,41,0,40,115,105,103,45,118,97,108,40,114,115,97,40,115,37,77,41,41,41,0,114,115,97,95,115,105,103,110,32,32,32,32,32,32,61,62,32,37,115,10,0,114,115,97,95,100,101,99,114,121,112,116,32,100,97,116,97,0,114,115,97,95,100,101,99,114,121,112,116,32,32,32,32,110,0,114,115,97,95,100,101,99,114,121,112,116,32,32,32,32,101,0,114,115,97,95,100,101,99,114,121,112,116,32,32,32,32,100,0,114,115,97,95,100,101,99,114,121,112,116,32,32,32,32,112,0,114,115,97,95,100,101,99,114,121,112,116,32,32,32,32,113,0,114,115,97,95,100,101,99,114,121,112,116,32,32,32,32,117,0,114,115,97,95,100,101,99,114,121,112,116,32,32,114,101,115,0,40,118,97,108,117,101,32,37,98,41,0,37,109,0,114,115,97,95,100,101,99,114,121,112,116,32,32,32,32,61,62,32,37,115,10,0,114,115,97,95,101,110,99,114,121,112,116,32,100,97,116,97,0,114,115,97,95,101,110,99,114,121,112,116,32,32,32,32,110,0,114,115,97,95,101,110,99,114,121,112,116,32,32,32,32,101,0,114,115,97,95,101,110,99,114,121,112,116,32,32,114,101,115,0,40,101,110,99,45,118,97,108,40,114,115,97,40,97,37,98,41,41,41,0,40,101,110,99,45,118,97,108,40,114,115,97,40,97,37,109,41,41,41,0,114,115,97,95,101,110,99,114,121,112,116,32,32,32,32,61,62,32,37,115,10,0,114,115,97,95,116,101,115,116,107,101,121,32,32,32,32,61,62,32,37,115,10,0,100,101,114,105,118,101,45,112,97,114,109,115,0,117,115,101,45,120,57,51,49,0,95,103,99,114,121,95,109,112,105,95,103,101,116,95,110,98,105,116,115,32,40,40,120,112,41,41,32,61,61,32,110,98,105,116,115,0,114,115,97,46,99,0,103,101,110,95,120,57,51,49,95,112,97,114,109,95,120,112,0,95,103,99,114,121,95,109,112,105,95,103,101,116,95,110,98,105,116,115,32,40,40,120,105,41,41,32,61,61,32,49,48,49,0,103,101,110,95,120,57,51,49,95,112,97,114,109,95,120,105,0,88,112,49,0,88,112,50,0,88,112,0,88,113,49,0,88,113,50,0,88,113,0,95,103,99,114,121,95,109,112,105,95,103,99,100,32,40,32,40,103,41,44,32,40,101,41,44,32,40,112,104,105,41,32,41,0,103,101,110,101,114,97,116,101,95,120,57,51,49,0,112,32,97,110,100,32,113,32,97,114,101,32,115,119,97,112,112,101,100,10,0,32,32,113,0,32,32,110,0,32,32,101,0,32,32,100,0,32,32,117,0,115,101,108,102,45,116,101,115,116,32,97,102,116,101,114,32,107,101,121,32,103,101,110,101,114,97,116,105,111,110,32,102,97,105,108,101,100,0,40,109,105,115,99,45,107,101,121,45,105,110,102,111,40,112,45,113,45,115,119,97,112,112,101,100,41,41,0,103,101,110,101,114,97,116,101,95,115,116,100,0,32,32,112,61,32,0,32,32,113,61,32,0,112,104,105,61,32,0,32,32,103,61,32,0,32,32,102,61,32,0,32,32,110,61,32,0,32,32,101,61,32,0,32,32,100,61,32,0,32,32,117,61,32,0,40,107,101,121,45,100,97,116,97,32,40,112,117,98,108,105,99,45,107,101,121,32,32,40,114,115,97,40,110,37,109,41,40,101,37,109,41,41,41,32,40,112,114,105,118,97,116,101,45,107,101,121,32,32,40,114,115,97,40,110,37,109,41,40,101,37,109,41,40,100,37,109,41,40,112,37,109,41,40,113,37,109,41,40,117,37,109,41,41,41,32,37,83,41,0,111,112,101,110,112,103,112,45,114,115,97,0,111,105,100,46,49,46,50,46,56,52,48,46,49,49,51,53,52,57,46,49,46,49,46,49,0,83,72,65,49,0,48,33,48,9,6,5,43,14,3,2,26,5,0,4,20,169,153,62,54,71,6,129,106,186,62,37,113,120,80,194,108,156,208,216,157,0,132,152,62,68,28,59,210,110,186,174,74,161,249,81,41,229,229,70,112,241,0,52,170,151,60,212,196,218,164,246,30,235,43,219,173,39,49,101,52,1,111,0,49,46,50,46,56,52,48,46,49,49,51,53,52,57,46,49,46,49,46,53,0,49,46,50,46,56,52,48,46,49,48,48,52,48,46,52,46,51,0,49,46,51,46,49,52,46,51,46,50,46,50,54,0,49,46,51,46,49,52,46,51,46,50,46,50,57,0,49,46,50,46,56,52,48,46,49,48,48,52,53,46,52,46,49,0,83,72,65,50,50,52,0,48,45,48,13,6,9,96,134,72,1,101,3,4,2,4,5,0,4,28,35,9,125,34,52,5,216,34,134,66,164,119,189,162,85,179,42,173,188,228,189,160,179,247,227,108,157,167,0,97,98,99,100,98,99,100,101,99,100,101,102,100,101,102,103,101,102,103,104,102,103,104,105,103,104,105,106,104,105,106,107,105,106,107,108,106,107,108,109,107,108,109,110,108,109,110,111,109,110,111,112,110,111,112,113,0,117,56,139,22,81,39,118,204,93,186,93,161,253,137,1,80,176,198,69,92,180,245,139,25,82,82,37,37,0,32,121,70,85,152,12,145,216,187,180,193,234,151,97,138,75,240,63,66,88,25,72,178,238,78,231,173,103,0,186,120,22,191,143,1,207,234,65,65,64,222,93,174,34,35,176,3,97,163,150,23,122,156,180,16,255,97,242,0,21,173,0,36,141,106,97,210,6,56,184,229,192,38,147,12,62,96,57,163,60,228,89,100,255,33,103,246,236,237,212,25,219,6,193,0,205,199,110,92,153,20,251,146,129,161,199,226,132,215,62,103,241,128,154,72,164,151,32,14,4,109,57,204,199,17,44,208,0,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,50,46,52,0,83,72,65,50,53,54,0,48,49,48,13,6,9,96,134,72,1,101,3,4,2,1,5,0,4,32,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,50,46,49,0,49,46,50,46,56,52,48,46,49,49,51,53,52,57,46,49,46,49,46,49,49,0,83,72,65,53,49,50,0,48,81,48,13,6,9,96,134,72,1,101,3,4,2,3,5,0,4,64,97,98,99,0,203,0,117,63,69,163,94,139,181,160,61,105,154,198,80,7,39,44,50,171,14,222,209,99,26,139,96,90,67,255,91,237,128,134,7,43,161,231,204,35,88,186,236,161,52,200,37,167,0,97,98,99,100,101,102,103,104,98,99,100,101,102,103,104,105,99,100,101,102,103,104,105,106,100,101,102,103,104,105,106,107,101,102,103,104,105,106,107,108,102,103,104,105,106,107,108,109,103,104,105,106,107,108,109,110,104,105,106,107,108,109,110,111,105,106,107,108,109,110,111,112,106,107,108,109,110,111,112,113,107,108,109,110,111,112,113,114,108,109,110,111,112,113,114,115,109,110,111,112,113,114,115,116,110,111,112,113,114,115,116,117,0,9,51,12,51,247,17,71,232,61,25,47,199,130,205,27,71,83,17,27,23,59,59,5,210,47,160,128,134,227,176,247,18,252,199,199,26,85,126,45,185,102,195,233,250,145,116,96,57,0,157,14,24,9,113,100,116,203,8,110,131,78,49,10,74,28,237,20,158,156,0,242,72,82,121,114,206,197,112,76,42,91,7,184,179,220,56,236,196,235,174,151,221,216,127,61,137,133,0,115,104,111,114,116,32,115,116,114,105,110,103,0,108,111,110,103,32,115,116,114,105,110,103,0,111,110,101,32,109,105,108,108,105,111,110,32,34,97,34,0,100,105,103,101,115,116,0,221,175,53,161,147,97,122,186,204,65,115,73,174,32,65,49,18,230,250,78,137,169,126,162,10,158,238,230,75,85,211,154,33,146,153,42,39,79,193,168,54,186,60,35,163,254,235,189,69,77,68,35,100,60,232,14,42,154,201,79,165,76,164,159,0,142,149,155,117,218,227,19,218,140,244,247,40,20,252,20,63,143,119,121,198,235,159,127,161,114,153,174,173,182,136,144,24,80,29,40,158,73,0,247,228,51,27,153,222,196,181,67,58,199,211,41,238,182,221,38,84,94,150,229,91,135,75,233,9,0,231,24,72,61,12,231,105,100,78,46,66,199,188,21,180,99,142,31,152,177,59,32,68,40,86,50,168,3,175,169,115,235,222,15,242,68,135,126,166,10,76,176,67,44,229,119,195,27,235,0,156,92,44,73,170,46,78,173,178,23,173,140,192,155,0,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,50,46,51,0,49,46,50,46,56,52,48,46,49,49,51,53,52,57,46,49,46,49,46,49,51,0,83,72,65,51,56,52,0,48,65,48,13,6,9,96,134,72,1,101,3,4,2,2,5,0,4,48,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,50,46,50,0,49,46,50,46,56,52,48,46,49,49,51,53,52,57,46,49,46,49,46,49,50,0,84,87,79,70,73,83,72,0,159,88,159,92,246,18,44,50,182,191,236,47,42,232,195,90,212,145,219,22,231,177,195,158,134,203,8,107,120,159,84,25,1,159,152,9,222,23,17,133,143,170,195,163,186,32,251,195,212,59,183,85,110,163,46,70,242,162,130,183,212,91,78,13,87,255,115,157,77,201,44,27,215,252,1,112,12,200,33,111,144,175,233,27,178,136,84,79,44,50,220,35,155,38,53,230,108,180,86,28,64,191,10,151,5,147,28,182,212,8,231,250,84,119,111,102,105,115,104,45,50,53,54,32,116,101,115,116,32,100,101,99,114,121,112,116,105,111,110,32,102,97,105,108,101,100,46,0,84,119,111,102,105,115,104,45,50,53,54,32,116,101,115,116,32,101,110,99,114,121,112,116,105,111,110,32,102,97,105,108,101,100,46,0,84,119,111,102,105,115,104,45,49,50,56,32,116,101,115,116,32,100,101,99,114,121,112,116,105,111,110,32,102,97,105,108,101,100,46,0,84,119,111,102,105,115,104,45,49,50,56,32,116,101,115,116,32,101,110,99,114,121,112,116,105,111,110,32,102,97,105,108,101,100,46,0,37,115,10,0,0,1,23,2,46,24,83,3,106,47,147,25,52,84,69,4,92,107,182,48,166,148,75,26,140,53,129,85,170,70,13,5,36,93,135,108,155,183,193,49,43,167,163,149,152,76,202,27,230,141,115,54,205,130,18,86,98,171,240,71,79,14,189,6,212,37,210,94,39,136,102,109,214,156,121,184,8,194,223,50,104,44,253,168,138,164,90,150,41,153,34,77,96,203,228,28,123,231,59,142,158,116,244,55,216,206,249,131,111,19,178,87,225,99,220,172,196,241,175,72,10,80,66,15,186,190,199,7,222,213,120,38,101,211,209,95,227,40,33,137,89,103,252,110,177,215,248,157,243,122,58,185,198,9,65,195,174,224,219,51,68,105,146,45,82,254,22,169,12,139,128,165,74,91,181,151,201,42,162,154,192,35,134,78,188,97,239,204,17,229,114,29,61,124,235,232,233,60,234,143,125,159,236,117,30,245,62,56,246,217,63,207,118,250,31,132,160,112,237,20,144,179,126,88,251,226,32,100,208,221,119,173,218,197,64,242,57,176,247,73,180,11,127,81,21,67,145,16,113,187,238,191,133,200,161,1,2,4,8,16,32,64,128,77,154,121,242,169,31,62,124,248,189,55,110,220,245,167,3,6,12,24,48,96,192,205,215,227,139,91,182,33,66,132,69,138,89,178,41,82,164,5,10,20,40,80,160,13,26,52,104,208,237,151,99,198,193,207,211,235,155,123,246,161,15,30,60,120,240,173,23,46,92,184,61,122,244,165,7,14,28,56,112,224,141,87,174,17,34,68,136,93,186,57,114,228,133,71,142,81,162,9,18,36,72,144,109,218,249,191,51,102,204,213,231,131,75,150,97,194,201,223,243,171,27,54,108,216,253,183,35,70,140,85,170,25,50,100,200,221,247,163,11,22,44,88,176,45,90,180,37,74,148,101,202,217,255,179,43,86,172,21,42,84,168,29,58,116,232,157,119,238,145,111,222,241,175,19,38,76,152,125,250,185,63,126,252,181,39,78,156,117,234,153,127,254,177,47,94,188,53,106,212,229,135,67,134,65,130,73,146,105,210,233,159,115,230,129,79,158,113,226,137,95,190,49,98,196,197,199,195,203,219,251,187,59,118,236,149,103,206,209,239,147,107,214,225,143,83,166,1,2,4,8,16,32,64,128,77,154,121,242,169,31,62,124,248,189,55,110,220,245,167,3,6,12,24,48,96,192,205,215,227,139,91,182,33,66,132,69,138,89,178,41,82,164,5,10,20,40,80,160,13,26,52,104,208,237,151,99,198,193,207,211,235,155,123,246,161,15,30,60,120,240,173,23,46,92,184,61,122,244,165,7,14,28,56,112,224,141,87,174,17,34,68,136,93,186,57,114,228,133,71,142,81,162,9,18,36,72,144,109,218,249,191,51,102,204,213,231,131,75,150,97,194,201,223,243,171,27,54,108,216,253,183,35,70,140,85,170,25,50,100,200,221,247,163,11,22,44,88,176,45,90,180,37,74,148,101,202,217,255,179,43,86,172,21,42,84,168,29,58,116,232,157,119,238,145,111,222,241,175,19,38,76,152,125,250,185,63,126,252,181,39,78,156,117,234,153,127,254,177,47,94,188,53,106,212,229,135,67,134,65,130,73,146,105,210,233,159,115,230,129,79,158,113,226,137,95,190,49,98,196,197,199,195,203,169,117,103,243,179,198,232,244,4,219,253,123,163,251,118,200,154,74,146,211,128,230,120,107,228,69,221,125,209,232,56,75,13,214,198,50,53,216,152,253,24,55,247,113,236,241,108,225,67,48,117,15,55,248,38,27,250,135,19,250,148,6,72,63,242,94,208,186,139,174,48,91,132,138,84,0,223,188,35,157,25,109,91,193,61,177,89,14,243,128,174,93,162,210,130,213,99,160,1,132,131,7,46,20,217,181,81,144,155,44,124,163,166,178,235,115,165,76,190,84,22,146,12,116,227,54,97,81,192,56,140,176,58,189,245,90,115,252,44,96,37,98,11,150,187,108,78,66,137,247,107,16,83,124,106,40,180,39,241,140,225,19,230,149,189,156,69,199,226,36,244,70,182,59,102,112,204,202,149,227,3,133,86,203,212,17,28,208,30,147,215,184,251,166,195,131,142,32,181,255,233,159,207,119,191,195,186,204,234,3,119,111,57,8,175,191,51,64,201,231,98,43,113,226,129,121,121,12,9,170,173,130,36,65,205,58,249,234,216,185,229,228,197,154,185,164,77,151,68,126,8,218,134,122,231,23,161,102,29,148,170,161,237,29,6,61,112,240,178,222,210,179,65,11,123,114,160,167,17,28,49,239,194,209,39,83,144,62,32,143,246,51,96,38,255,95,150,236,92,118,177,42,171,73,158,129,156,136,82,238,27,33,95,196,147,26,10,235,239,217,145,197,133,57,73,153,238,205,45,173,79,49,143,139,59,1,71,24,135,35,109,221,70,31,214,78,62,45,105,249,100,72,42,79,206,242,203,101,47,142,252,120,151,92,5,88,122,25,172,141,127,229,213,152,26,87,75,103,14,127,167,5,90,100,40,175,20,99,63,182,41,254,136,245,60,183,76,60,2,165,184,206,218,233,176,104,23,68,85,224,31,77,138,67,125,105,87,41,199,46,141,172,116,21,183,89,196,168,159,10,114,158,126,110,21,71,34,223,18,52,88,53,7,106,153,207,52,220,110,34,80,201,222,192,104,155,101,137,188,212,219,237,248,171,200,18,168,162,43,13,64,82,220,187,254,2,50,47,164,169,202,215,16,97,33,30,240,180,211,80,93,4,15,246,0,194,111,22,157,37,54,134,66,86,74,85,94,9,193,190,224,145,117,243,198,244,219,123,251,200,74,211,230,107,69,125,232,75,214,50,216,253,55,113,241,225,48,15,248,27,135,250,6,63,94,186,174,91,138,0,188,157,109,193,177,14,128,93,210,213,160,132,7,20,181,144,44,163,178,115,76,84,146,116,54,81,56,176,189,90,252,96,98,150,108,66,247,16,124,40,39,140,19,149,156,199,36,70,59,112,202,227,133,203,17,208,147,184,166,131,32,255,159,119,195,204,3,111,8,191,64,231,43,226,121,12,170,130,65,58,234,185,228,154,164,151,126,218,122,23,102,148,161,29,61,240,222,179,11,114,167,28,239,209,83,62,143,51,38,95,236,118,42,73,129,136,238,33,196,26,235,217,197,57,153,205,173,49,139,1,24,35,221,31,78,45,249,72,79,242,101,142,120,92,88,25,141,229,152,87,103,127,5,100,175,99,182,254,245,183,60,165,206,233,104,68,224,77,67,105,41,46,172,21,89,168,10,158,110,71,223,52,53,106,207,220,34,201,192,155,137,212,237,171,18,162,13,82,187,2,47,169,215,97,30,180,80,4,246,194,22,37,134,86,85,9,190,145,169,103,179,232,4,253,163,118,154,146,128,120,228,221,209,56,13,198,53,152,24,247,236,108,67,117,55,38,250,19,148,72,242,208,139,48,132,84,223,35,25,91,61,89,243,174,162,130,99,1,131,46,217,81,155,124,166,235,165,190,22,12,227,97,192,140,58,245,115,44,37,11,187,78,137,107,83,106,180,241,225,230,189,69,226,244,182,102,204,149,3,86,212,28,30,215,251,195,142,181,233,207,191,186,234,119,57,175,51,201,98,113,129,121,9,173,36,205,249,216,229,197,185,77,68,8,134,231,161,29,170,237,6,112,178,210,65,123,160,17,49,194,39,144,32,246,96,255,150,92,177,171,158,156,82,27,95,147,10,239,145,133,73,238,45,79,143,59,71,135,109,70,214,62,105,100,42,206,203,47,252,151,5,122,172,127,213,26,75,14,167,90,40,20,63,41,136,60,76,2,184,218,176,23,85,31,138,125,87,199,141,116,183,196,159,114,126,21,34,18,88,7,153,52,110,80,222,104,101,188,219,248,200,168,43,64,220,254,50,164,202,16,33,240,211,93,15,0,111,157,54,66,74,94,193,224,84,87,79,70,73,83,72,49,50,56,0,102,97,105,108,101,100,32,116,111,32,97,99,113,117,105,114,101,32,116,104,101,32,110,111,110,99,101,32,98,117,102,102,101,114,32,108,111,99,107,58,32,37,115,10,0,102,97,105,108,101,100,32,116,111,32,114,101,108,101,97,115,101,32,116,104,101,32,110,111,110,99,101,32,98,117,102,102,101,114,32,108,111,99,107,58,32,37,115,10,0,37,115,46,42,0,37,115,46,88,0,101,99,95,105,110,118,109,58,32,105,110,118,101,114,115,101,32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,58,10,0,32,32,97,0,32,32,112,0,37,115,58,32,71,101,116,116,105,110,103,32,89,45,99,111,111,114,100,105,110,97,116,101,32,111,110,32,37,115,32,105,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,10,0,95,103,99,114,121,95,109,112,105,95,101,99,95,103,101,116,95,97,102,102,105,110,101,0,77,111,110,116,103,111,109,101,114,121,0,71,67,82,89,80,84,95,66,65,82,82,69,84,84,0,37,115,58,32,37,115,32,110,111,116,32,121,101,116,32,115,117,112,112,111,114,116,101,100,10,0,95,103,99,114,121,95,109,112,105,95,101,99,95,100,117,112,95,112,111,105,110,116,0,95,103,99,114,121,95,109,112,105,95,101,99,95,97,100,100,95,112,111,105,110,116,115,0,0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,33,98,112,95,109,97,114,107,101,114,0,109,112,105,45,112,111,119,46,99,0,95,103,99,114,121,95,109,112,105,95,112,111,119,109,0,114,101,115,45,62,100,32,61,61,32,114,112,0,105,32,61,61,32,110,108,105,109,98,115,0,109,112,105,99,111,100,101,114,46,99,0,95,103,99,114,121,95,109,112,105,95,115,101,116,95,98,117,102,102,101,114,0,58,103,101,110,101,114,105,99,47,109,112,105,104,45,97,100,100,49,46,99,58,103,101,110,101,114,105,99,47,109,112,105,104,45,115,117,98,49,46,99,58,103,101,110,101,114,105,99,47,109,112,105,104,45,109,117,108,49,46,99,58,103,101,110,101,114,105,99,47,109,112,105,104,45,109,117,108,50,46,99,58,103,101,110,101,114,105,99,47,109,112,105,104,45,109,117,108,51,46,99,58,103,101,110,101,114,105,99,47,109,112,105,104,45,108,115,104,105,102,116,46,99,58,103,101,110,101,114,105,99,47,109,112,105,104,45,114,115,104,105,102,116,46,99,0,87,97,114,110,105,110,103,58,32,116,114,121,105,110,103,32,116,111,32,99,104,97,110,103,101,32,97,110,32,105,109,109,117,116,97,98,108,101,32,77,80,73,10,0,105,110,118,97,108,105,100,32,102,108,97,103,32,118,97,108,117,101,32,105,110,32,109,112,105,95,102,114,101,101,10,0,109,112,105,95,103,101,116,95,111,112,97,113,117,101,32,111,110,32,110,111,114,109,97,108,32,109,112,105,10,0,109,112,105,95,115,101,116,95,99,111,110,100,58,32,100,105,102,102,101,114,101,110,116,32,115,105,122,101,115,10,0,109,112,105,95,115,119,97,112,95,99,111,110,100,58,32,100,105,102,102,101,114,101,110,116,32,115,105,122,101,115,10,0,105,110,118,97,108,105,100,32,102,108,97,103,32,118,97,108,117,101,10,0,105,110,118,97,108,105,100,32,109,112,105,95,99,111,110,115,116,32,115,101,108,101,99,116,111,114,32,37,100,10,0,77,80,73,32,115,117,98,115,121,115,116,101,109,32,110,111,116,32,105,110,105,116,105,97,108,105,122,101,100,10,0,10,10,84,104,105,115,32,105,115,32,76,105,98,103,99,114,121,112,116,32,49,46,55,46,48,45,98,101,116,97,50,51,48,32,45,32,84,104,101,32,71,78,85,32,67,114,121,112,116,111,32,76,105,98,114,97,114,121,10,67,111,112,121,114,105,103,104,116,32,40,67,41,32,50,48,48,48,45,50,48,49,50,32,70,114,101,101,32,83,111,102,116,119,97,114,101,32,70,111,117,110,100,97,116,105,111,110,44,32,73,110,99,46,10,67,111,112,121,114,105,103,104,116,32,40,67,41,32,50,48,49,50,45,50,48,49,52,32,103,49,48,32,67,111,100,101,32,71,109,98,72,10,67,111,112,121,114,105,103,104,116,32,40,67,41,32,50,48,49,51,45,50,48,49,52,32,74,117,115,115,105,32,75,105,118,105,108,105,110,110,97,10,10,40,97,51,54,101,101,55,53,48,32,50,48,49,55,45,48,51,45,49,48,84,50,49,58,51,54,43,48,48,48,48,41,10,10,10,0,99,105,112,104,101,114,45,99,109,97,99,46,99,0,99,109,97,99,95,103,101,110,101,114,97,116,101,95,115,117,98,107,101,121,115,0,99,45,62,117,110,117,115,101,100,32,60,32,98,108,111,99,107,115,105,122,101,0,99,105,112,104,101,114,45,99,116,114,46,99,0,95,103,99,114,121,95,99,105,112,104,101,114,95,99,116,114,95,101,110,99,114,121,112,116,0,117,110,117,115,101,100,32,61,61,32,98,108,111,99,107,115,105,122,101,0,99,105,112,104,101,114,45,103,99,109,46,99,0,100,111,95,103,104,97,115,104,95,98,117,102,0,115,101,108,102,116,101,115,116,32,102,111,114,32,67,66,67,32,102,97,105,108,101,100,32,45,32,115,101,101,32,115,121,115,108,111,103,32,102,111,114,32,100,101,116,97,105,108,115,0,115,101,116,107,101,121,32,102,97,105,108,101,100,0,102,97,105,108,101,100,32,116,111,32,97,108,108,111,99,97,116,101,32,109,101,109,111,114,121,0,115,101,108,102,116,101,115,116,32,102,111,114,32,67,70,66,32,102,97,105,108,101,100,32,45,32,115,101,101,32,115,121,115,108,111,103,32,102,111,114,32,100,101,116,97,105,108,115,0,115,101,108,102,116,101,115,116,32,102,111,114,32,67,84,82,32,102,97,105,108,101,100,32,45,32,115,101,101,32,115,121,115,108,111,103,32,102,111,114,32,100,101,116,97,105,108,115,0,69,67,67,0,112,97,98,103,110,104,113,0,112,97,98,103,110,104,113,100,0,115,119,0,114,115,0,102,108,97,103,115,0,112,63,97,63,98,63,103,63,110,63,104,63,47,113,0,112,63,97,63,98,63,103,63,110,63,104,63,113,0,47,113,0,113,0,99,117,114,118,101,0,112,97,98,103,110,104,113,40,49,58,37,99,37,117,58,0,41,0,112,0,101,99,99,95,118,101,114,105,102,121,32,100,97,116,97,0,47,114,115,0,101,99,99,95,118,101,114,105,102,121,32,32,115,95,114,0,101,99,99,95,118,101,114,105,102,121,32,32,115,95,115,0,45,112,63,97,63,98,63,103,63,110,63,104,63,47,113,0,43,69,100,68,83,65,0,101,99,99,95,118,101,114,105,102,121,32,105,110,102,111,58,32,37,115,47,37,115,37,115,10,0,101,99,99,95,118,101,114,105,102,121,32,110,97,109,101,58,32,37,115,10,0,101,99,99,95,118,101,114,105,102,121,32,32,32,32,112,0,101,99,99,95,118,101,114,105,102,121,32,32,32,32,97,0,101,99,99,95,118,101,114,105,102,121,32,32,32,32,98,0,101,99,99,95,118,101,114,105,102,121,32,32,103,0,101,99,99,95,118,101,114,105,102,121,32,32,32,32,110,0,101,99,99,95,118,101,114,105,102,121,32,32,32,32,104,0,101,99,99,95,118,101,114,105,102,121,32,32,32,32,113,0,71,111,111,100,0,101,99,99,95,118,101,114,105,102,121,32,32,32,32,61,62,32,37,115,10,0,101,99,99,95,115,105,103,110,32,32,32,100,97,116,97,0,45,112,63,97,63,98,63,103,63,110,63,104,63,47,113,63,43,100,0,47,113,63,43,100,0,101,99,99,95,115,105,103,110,32,32,32,105,110,102,111,58,32,37,115,47,37,115,37,115,10,0,101,99,99,95,115,105,103,110,32,32,32,110,97,109,101,58,32,37,115,10,0,101,99,99,95,115,105,103,110,32,32,32,32,32,32,112,0,101,99,99,95,115,105,103,110,32,32,32,32,32,32,97,0,101,99,99,95,115,105,103,110,32,32,32,32,32,32,98,0,101,99,99,95,115,105,103,110,32,32,32,32,103,0,101,99,99,95,115,105,103,110,32,32,32,32,32,32,110,0,101,99,99,95,115,105,103,110,32,32,32,32,32,32,104,0,101,99,99,95,115,105,103,110,32,32,32,32,32,32,113,0,101,99,99,95,115,105,103,110,32,32,32,32,32,32,100,0,40,115,105,103,45,118,97,108,40,101,100,100,115,97,40,114,37,77,41,40,115,37,77,41,41,41,0,40,115,105,103,45,118,97,108,40,103,111,115,116,40,114,37,77,41,40,115,37,77,41,41,41,0,40,115,105,103,45,118,97,108,40,101,99,100,115,97,40,114,37,77,41,40,115,37,77,41,41,41,0,101,99,99,95,115,105,103,110,32,32,32,32,32,32,61,62,32,37,115,10,0,101,0,101,99,99,95,100,101,99,114,121,112,116,32,32,100,95,101,0,45,112,63,97,63,98,63,103,63,110,63,104,63,43,100,0,101,99,99,95,100,101,99,114,121,112,116,32,105,110,102,111,58,32,37,115,47,37,115,10,0,101,99,99,95,100,101,99,114,121,112,116,32,110,97,109,101,58,32,37,115,10,0,101,99,99,95,100,101,99,114,121,112,116,32,32,32,32,112,0,101,99,99,95,100,101,99,114,121,112,116,32,32,32,32,97,0,101,99,99,95,100,101,99,114,121,112,116,32,32,32,32,98,0,101,99,99,95,100,101,99,114,121,112,116,32,32,103,0,101,99,99,95,100,101,99,114,121,112,116,32,32,32,32,110,0,101,99,99,95,100,101,99,114,121,112,116,32,32,32,32,104,0,101,99,99,95,100,101,99,114,121,112,116,32,32,32,32,100,0,101,99,100,104,58,32,70,97,105,108,101,100,32,116,111,32,103,101,116,32,97,102,102,105,110,101,32,99,111,111,114,100,105,110,97,116,101,115,10,0,101,99,99,95,100,101,99,114,121,112,116,32,32,114,101,115,0,40,118,97,108,117,101,32,37,109,41,0,101,99,99,95,100,101,99,114,121,112,116,32,32,32,32,61,62,32,37,115,10,0,101,99,99,95,101,110,99,114,121,112,116,32,100,97,116,97,0,45,112,63,97,63,98,63,103,63,110,63,104,63,43,113,0,101,99,99,95,101,110,99,114,121,112,116,32,105,110,102,111,58,32,37,115,47,37,115,10,0,101,99,99,95,101,110,99,114,121,112,116,32,110,97,109,101,58,32,37,115,10,0,101,99,99,95,101,110,99,114,121,112,116,32,32,32,32,112,0,101,99,99,95,101,110,99,114,121,112,116,32,32,32,32,97,0,101,99,99,95,101,110,99,114,121,112,116,32,32,32,32,98,0,101,99,99,95,101,110,99,114,121,112,116,32,32,103,0,101,99,99,95,101,110,99,114,121,112,116,32,32,32,32,110,0,101,99,99,95,101,110,99,114,121,112,116,32,32,32,32,104,0,101,99,99,95,101,110,99,114,121,112,116,32,32,32,32,113,0,101,99,100,104,58,32,70,97,105,108,101,100,32,116,111,32,103,101,116,32,97,102,102,105,110,101,32,99,111,111,114,100,105,110,97,116,101,115,32,102,111,114,32,107,100,71,10,0,101,99,100,104,58,32,70,97,105,108,101,100,32,116,111,32,103,101,116,32,97,102,102,105,110,101,32,99,111,111,114,100,105,110,97,116,101,115,32,102,111,114,32,107,71,10,0,40,101,110,99,45,118,97,108,40,101,99,100,104,40,115,37,109,41,40,101,37,109,41,41,41,0,101,99,99,95,101,110,99,114,121,112,116,32,32,32,32,61,62,32,37,115,10,0,101,99,99,95,116,101,115,116,107,101,121,32,105,110,102,58,32,37,115,47,37,115,10,0,101,99,99,95,116,101,115,116,107,101,121,32,110,97,109,58,32,37,115,10,0,101,99,99,95,116,101,115,116,107,101,121,32,32,32,112,0,101,99,99,95,116,101,115,116,107,101,121,32,32,32,97,0,101,99,99,95,116,101,115,116,107,101,121,32,32,32,98,0,101,99,99,95,116,101,115,116,107,101,121,32,103,0,101,99,99,95,116,101,115,116,107,101,121,32,32,32,110,0,101,99,99,95,116,101,115,116,107,101,121,32,32,32,104,0,101,99,99,95,116,101,115,116,107,101,121,32,32,32,113,0,101,99,99,95,116,101,115,116,107,101,121,32,32,32,100,0,66,97,100,32,99,104,101,99,107,58,32,80,111,105,110,116,32,39,71,39,32,100,111,101,115,32,110,111,116,32,98,101,108,111,110,103,32,116,111,32,99,117,114,118,101,32,39,69,39,33,10,0,66,97,100,32,99,104,101,99,107,58,32,39,71,39,32,99,97,110,110,111,116,32,98,101,32,80,111,105,110,116,32,97,116,32,73,110,102,105,110,105,116,121,33,10,0,99,104,101,99,107,95,115,101,99,114,101,116,95,107,101,121,58,32,69,32,105,115,32,110,111,116,32,97,32,99,117,114,118,101,32,111,102,32,111,114,100,101,114,32,110,10,0,66,97,100,32,99,104,101,99,107,58,32,81,32,99,97,110,32,110,111,116,32,98,101,32,97,32,80,111,105,110,116,32,97,116,32,73,110,102,105,110,105,116,121,33,10,0,66,97,100,32,99,104,101,99,107,58,32,99,111,109,112,117,116,97,116,105,111,110,32,111,102,32,100,71,32,102,97,105,108,101,100,10,0,66,97,100,32,99,104,101,99,107,58,32,84,104,101,114,101,32,105,115,32,78,79,32,99,111,114,114,101,115,112,111,110,100,101,110,99,101,32,98,101,116,119,101,101,110,32,39,100,39,32,97,110,100,32,39,81,39,33,10,0,101,99,99,95,116,101,115,116,107,101,121,32,32,32,61,62,32,37,115,10,0,116,114,97,110,115,105,101,110,116,45,107,101,121,0,101,99,103,101,110,32,99,117,114,118,101,32,105,110,102,111,58,32,37,115,47,37,115,10,0,101,99,103,101,110,32,99,117,114,118,101,32,117,115,101,100,58,32,37,115,10,0,101,99,103,101,110,32,99,117,114,118,101,32,32,32,112,0,101,99,103,101,110,32,99,117,114,118,101,32,32,32,97,0,101,99,103,101,110,32,99,117,114,118,101,32,32,32,98,0,101,99,103,101,110,32,99,117,114,118,101,32,32,32,110,0,101,99,103,101,110,32,99,117,114,118,101,32,32,32,104,0,101,99,103,101,110,32,99,117,114,118,101,32,71,0,101,99,103,101,110,58,32,70,97,105,108,101,100,32,116,111,32,103,101,116,32,97,102,102,105,110,101,32,99,111,111,114,100,105,110,97,116,101,115,32,102,111,114,32,37,115,10,0,81,0,101,99,103,101,110,32,99,111,110,118,101,114,116,101,100,32,81,32,116,111,32,97,32,99,111,109,112,108,105,97,110,116,32,112,111,105,110,116,10,0,101,99,103,101,110,32,100,105,100,110,39,116,32,110,101,101,100,32,116,111,32,99,111,110,118,101,114,116,32,81,32,116,111,32,97,32,99,111,109,112,108,105,97,110,116,32,112,111,105,110,116,10,0,84,101,115,116,105,110,103,32,107,101,121,46,10,0,69,67,68,83,65,32,111,112,101,114,97,116,105,111,110,58,32,115,105,103,110,32,102,97,105,108,101,100,10,0,69,67,68,83,65,32,111,112,101,114,97,116,105,111,110,58,32,115,105,103,110,44,32,118,101,114,105,102,121,32,102,97,105,108,101,100,10,0,69,67,68,83,65,32,111,112,101,114,97,116,105,111,110,58,32,115,105,103,110,44,32,118,101,114,105,102,121,32,111,107,46,10,0,101,99,100,104,58,32,70,97,105,108,101,100,32,116,111,32,103,101,116,32,97,102,102,105,110,101,32,99,111,111,114,100,105,110,97,116,101,115,32,102,111,114,32,104,107,81,10,0,101,99,100,104,58,32,70,97,105,108,101,100,32,116,111,32,103,101,116,32,97,102,102,105,110,101,32,99,111,111,114,100,105,110,97,116,101,115,32,102,111,114,32,104,100,107,71,10,0,69,67,68,72,32,116,101,115,116,32,102,97,105,108,101,100,46,10,0,71,0,40,99,117,114,118,101,32,37,115,41,0,40,102,108,97,103,115,32,112,97,114,97,109,41,0,40,102,108,97,103,115,32,101,100,100,115,97,41,0,40,102,108,97,103,115,32,112,97,114,97,109,32,101,100,100,115,97,41,0,40,107,101,121,45,100,97,116,97,32,40,112,117,98,108,105,99,45,107,101,121,32,32,40,101,99,99,37,83,37,83,40,112,37,109,41,40,97,37,109,41,40,98,37,109,41,40,103,37,109,41,40,110,37,109,41,40,104,37,109,41,40,113,37,109,41,41,41,32,40,112,114,105,118,97,116,101,45,107,101,121,32,32,40,101,99,99,37,83,37,83,40,112,37,109,41,40,97,37,109,41,40,98,37,109,41,40,103,37,109,41,40,110,37,109,41,40,104,37,109,41,40,113,37,109,41,40,100,37,109,41,41,41,32,41,0,40,107,101,121,45,100,97,116,97,32,40,112,117,98,108,105,99,45,107,101,121,32,32,40,101,99,99,37,83,37,83,40,113,37,109,41,41,41,32,40,112,114,105,118,97,116,101,45,107,101,121,32,32,40,101,99,99,37,83,37,83,40,113,37,109,41,40,100,37,109,41,41,41,32,41,0,101,99,103,101,110,32,114,101,115,117,108,116,32,32,112,0,101,99,103,101,110,32,114,101,115,117,108,116,32,32,97,0,101,99,103,101,110,32,114,101,115,117,108,116,32,32,98,0,101,99,103,101,110,32,114,101,115,117,108,116,32,32,71,0,101,99,103,101,110,32,114,101,115,117,108,116,32,32,110,0,101,99,103,101,110,32,114,101,115,117,108,116,32,32,104,0,101,99,103,101,110,32,114,101,115,117,108,116,32,32,81,0,101,99,103,101,110,32,114,101,115,117,108,116,32,32,100,0,101,99,103,101,110,32,114,101,115,117,108,116,32,32,117,115,105,110,103,32,69,100,50,53,53,49,57,43,69,100,68,83,65,10,0,101,99,99,0,101,99,100,115,97,0,101,99,100,104,0,101,100,100,115,97,0,103,111,115,116,0,100,105,103,101,115,116,32,109,105,115,109,97,116,99,104,0,105,110,118,97,108,105,100,32,68,65,84,65,77,79,68,69,0,100,105,103,101,115,116,32,115,105,122,101,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,101,120,112,101,99,116,101,100,32,115,105,122,101,0,103,99,114,121,95,109,100,95,111,112,101,110,32,102,97,105,108,101,100,0,104,97,115,104,45,99,111,109,109,111,110,46,99,0,95,103,99,114,121,95,109,100,95,98,108,111,99,107,95,119,114,105,116,101,0,238,166,167,37,28,30,114,145,109,17,194,203,33,77,60,37,37,57,18,29,142,35,78,101,45,101,31,164,200,207,248,128,142,153,59,159,72,104,18,115,194,150,80,186,50,252,118,206,72,51,46,167,22,77,150,164,71,111,184,197,49,161,24,106,192,223,193,124,152,220,232,123,77,167,240,17,236,72,201,114,113,210,194,15,155,146,143,226,39,13,111,184,99,213,23,56,180,142,238,227,20,167,204,138,185,50,22,69,72,229,38,174,144,34,67,104,81,122,207,234,189,107,179,115,43,192,233,218,153,131,43,97,202,1,182,222,86,36,74,158,136,213,249,179,121,115,246,34,164,61,20,166,89,155,31,101,76,180,90,116,227,85,165,243,255,199,112,63,148,0,229,42,125,251,75,61,51,5,217,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,3,4,5,6,7,255,254,253,252,251,250,249,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,100,175,226,232,214,173,123,189,210,135,249,124,68,98,61,57,80,111,108,121,49,51,48,53,32,116,101,115,116,32,52,32,102,97,105,108,101,100,46,0,80,111,108,121,49,51,48,53,32,116,101,115,116,32,49,32,102,97,105,108,101,100,46,0,80,111,108,121,49,51,48,53,32,116,101,115,116,32,50,32,102,97,105,108,101,100,46,0,80,111,108,121,49,51,48,53,32,116,101,115,116,32,51,32,102,97,105,108,101,100,46,0,80,111,108,121,49,51,48,53,32,115,101,108,102,116,101,115,116,32,102,97,105,108,101,100,32,40,37,115,41,10,0,102,97,105,108,101,100,32,116,111,32,97,99,113,117,105,114,101,32,116,104,101,32,112,111,111,108,32,108,111,99,107,58,32,37,115,10,0,110,111,32,101,110,116,114,111,112,121,32,103,97,116,104,101,114,105,110,103,32,109,111,100,117,108,101,32,100,101,116,101,99,116,101,100,10,0,102,97,105,108,101,100,32,116,111,32,114,101,108,101,97,115,101,32,116,104,101,32,112,111,111,108,32,108,111,99,107,58,32,37,115,10,0,32,40,104,119,114,110,103,32,102,97,105,108,101,100,41,0,114,97,110,100,111,109,32,117,115,97,103,101,58,32,112,111,111,108,115,105,122,101,61,37,100,32,109,105,120,101,100,61,37,108,117,32,112,111,108,108,115,61,37,108,117,47,37,108,117,32,97,100,100,101,100,61,37,108,117,47,37,108,117,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,111,117,116,109,105,120,61,37,108,117,32,103,101,116,108,118,108,49,61,37,108,117,47,37,108,117,32,103,101,116,108,118,108,50,61,37,108,117,47,37,108,117,37,115,10,0,112,111,111,108,95,105,115,95,108,111,99,107,101,100,0,114,97,110,100,111,109,45,99,115,112,114,110,103,46,99,0,109,105,120,95,112,111,111,108,0,114,101,97,100,95,112,111,111,108,0,97,100,100,95,114,97,110,100,111,109,110,101,115,115,0,116,111,111,32,109,97,110,121,32,114,97,110,100,111,109,32,98,105,116,115,32,114,101,113,117,101,115,116,101,100,10,0,99,97,110,39,116,32,111,112,101,110,32,96,37,115,39,58,32,37,115,10,0,99,97,110,39,116,32,115,116,97,116,32,96,37,115,39,58,32,37,115,10,0,96,37,115,39,32,105,115,32,110,111,116,32,97,32,114,101,103,117,108,97,114,32,102,105,108,101,32,45,32,105,103,110,111,114,101,100,10,0,110,111,116,101,58,32,114,97,110,100,111,109,95,115,101,101,100,32,102,105,108,101,32,105,115,32,101,109,112,116,121,10,0,119,97,114,110,105,110,103,58,32,105,110,118,97,108,105,100,32,115,105,122,101,32,111,102,32,114,97,110,100,111,109,95,115,101,101,100,32,102,105,108,101,32,45,32,110,111,116,32,117,115,101,100,10,0,99,97,110,39,116,32,114,101,97,100,32,96,37,115,39,58,32,37,115,10,0,83,108,111,119,32,101,110,116,114,111,112,121,32,103,97,116,104,101,114,105,110,103,32,109,111,100,117,108,101,32,110,111,116,32,121,101,116,32,105,110,105,116,105,97,108,105,122,101,100,10,0,78,111,32,119,97,121,32,116,111,32,103,97,116,104,101,114,32,101,110,116,114,111,112,121,32,102,111,114,32,116,104,101,32,82,78,71,10,0,100,111,95,102,97,115,116,95,114,97,110,100,111,109,95,112,111,108,108,0,99,97,110,39,116,32,108,111,99,107,32,96,37,115,39,58,32,37,115,10,0,119,97,105,116,105,110,103,32,102,111,114,32,108,111,99,107,32,111,110,32,96,37,115,39,46,46,46,10,0,95,103,99,114,121,95,114,110,103,99,115,112,114,110,103,95,115,101,116,95,115,101,101,100,95,102,105,108,101,0,110,111,116,101,58,32,114,97,110,100,111,109,95,115,101,101,100,32,102,105,108,101,32,110,111,116,32,117,112,100,97,116,101,100,10,0,99,97,110,39,116,32,99,114,101,97,116,101,32,96,37,115,39,58,32,37,115,10,0,99,97,110,39,116,32,119,114,105,116,101,32,96,37,115,39,58,32,37,115,10,0,99,97,110,39,116,32,99,108,111,115,101,32,96,37,115,39,58,32,37,115,10,0,102,97,105,108,101,100,32,116,111,32,97,99,113,117,105,114,101,32,116,104,101,32,82,78,71,32,108,111,99,107,58,32,37,115,10,0,33,110,111,110,99,101,95,99,111,110,116,101,120,116,45,62,116,101,115,116,95,100,116,95,112,116,114,0,114,97,110,100,111,109,45,102,105,112,115,46,99,0,95,103,99,114,121,95,114,110,103,102,105,112,115,95,105,110,105,116,105,97,108,105,122,101,0,33,115,116,100,95,114,110,103,95,99,111,110,116,101,120,116,45,62,116,101,115,116,95,100,116,95,112,116,114,0,33,115,116,114,111,110,103,95,114,110,103,95,99,111,110,116,101,120,116,45,62,116,101,115,116,95,100,116,95,112,116,114,0,109,101,109,111,114,121,32,99,111,114,114,117,112,116,105,111,110,32,100,101,116,101,99,116,101,100,32,105,110,32,82,78,71,32,99,111,110,116,101,120,116],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+40960);allocate([32,37,112,10,0,102,97,105,108,101,100,32,116,111,32,114,101,108,101,97,115,101,32,116,104,101,32,82,78,71,32,108,111,99,107,58,32,37,115,10,0,114,110,103,95,99,116,120,0,102,111,114,107,32,119,105,116,104,111,117,116,32,112,114,111,112,101,114,32,114,101,45,105,110,105,116,105,97,108,105,122,97,116,105,111,110,32,100,101,116,101,99,116,101,100,32,105,110,32,82,78,71,0,115,101,118,101,114,101,32,101,114,114,111,114,32,103,101,116,116,105,110,103,32,114,97,110,100,111,109,10,0,102,105,112,115,95,114,110,103,95,105,115,95,108,111,99,107,101,100,0,120,57,51,49,95,97,101,115,95,100,114,105,118,101,114,0,114,110,103,95,99,116,120,45,62,99,105,112,104,101,114,95,104,100,0,114,110,103,95,99,116,120,45,62,105,115,95,115,101,101,100,101,100,0,116,101,109,112,118,97,108,117,101,95,102,111,114,95,120,57,51,49,95,97,101,115,95,100,114,105,118,101,114,0,120,57,51,49,95,103,101,116,95,100,116,0,103,101,116,116,105,109,101,111,102,100,97,121,40,41,32,102,97,105,108,101,100,58,32,37,115,10,0,65,69,83,32,101,110,99,114,121,112,116,105,111,110,32,105,110,32,82,78,71,32,102,97,105,108,101,100,58,32,37,115,10,0,100,117,112,108,105,99,97,116,101,32,49,50,56,32,98,105,116,32,98,108,111,99,107,32,114,101,116,117,114,110,101,100,32,98,121,32,82,78,71,0,120,57,51,49,95,114,101,115,101,101,100,0,33,101,110,116,114,111,112,121,95,99,111,108,108,101,99,116,95,98,117,102,102,101,114,0,103,101,116,95,101,110,116,114,111,112,121,0,101,114,114,111,114,32,103,101,116,116,105,110,103,32,101,110,116,114,111,112,121,32,100,97,116,97,10,0,101,110,116,114,111,112,121,95,99,111,108,108,101,99,116,95,99,98,0,101,110,116,114,111,112,121,95,99,111,108,108,101,99,116,95,98,117,102,102,101,114,0,120,57,51,49,95,103,101,110,101,114,97,116,101,95,107,101,121,0,101,114,114,111,114,32,99,114,101,97,116,105,110,103,32,99,105,112,104,101,114,32,99,111,110,116,101,120,116,32,102,111,114,32,82,78,71,58,32,37,115,10,0,101,114,114,111,114,32,99,114,101,97,116,105,110,103,32,107,101,121,32,102,111,114,32,82,78,71,58,32,37,115,10,0,115,101,108,102,116,101,115,116,95,107,97,116,0,185,202,127,214,160,245,211,66,25,109,132,145,118,28,59,190,72,178,130,152,104,194,128,0,0,0,40,24,0,0,37,0,82,23,141,41,162,213,132,18,157,137,154,69,130,2,247,119,66,156,8,61,130,244,138,64,102,181,73,39,171,66,199,195,14,183,97,60,254,176,190,115,247,110,109,111,29,163,20,250,187,75,193,14,197,251,205,70,190,40,97,231,3,43,55,125,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,247,149,189,74,82,226,158,215,19,211,19,250,32,233,141,188,200,209,229,17,89,82,247,250,55,56,180,197,206,178,176,154,13,156,197,13,22,225,188,237,207,96,98,9,157,32,131,126,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,128,0,129,1,130,2,131,3,160,32,161,33,162,34,163,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,150,237,204,195,221,4,127,117,99,25,55,111,21,34,87,86,122,20,118,119,149,23,126,200,146,232,221,21,203,31,188,177,37,62,46,162,65,27,221,245,33,72,65,113,179,141,47,76,88,57,46,51,49,32,82,78,71,32,99,111,114,101,32,102,117,110,99,116,105,111,110,32,102,97,105,108,101,100,0,82,78,71,32,111,117,116,112,117,116,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,107,110,111,119,110,32,118,97,108,117,101,0,101,114,114,111,114,32,99,114,101,97,116,105,110,103,32,99,105,112,104,101,114,32,99,111,110,116,101,120,116,32,102,111,114,32,82,78,71,0,101,114,114,111,114,32,115,101,116,116,105,110,103,32,107,101,121,32,102,111,114,32,82,78,71,0,102,111,114,107,32,100,101,116,101,99,116,105,111,110,32,102,97,105,108,101,100,0,114,97,110,100,111,109,0,75,65,84,0,102,97,105,108,101,100,32,116,111,32,97,99,113,117,105,114,101,32,116,104,101,32,83,121,115,116,101,109,32,82,78,71,32,108,111,99,107,58,32,37,115,10,0,102,97,105,108,101,100,32,116,111,32,114,101,108,101,97,115,101,32,116,104,101,32,83,121,115,116,101,109,32,82,78,71,32,108,111,99,107,58,32,37,115,10,0,98,117,102,102,101,114,0,114,97,110,100,111,109,45,115,121,115,116,101,109,46,99,0,103,101,116,95,114,97,110,100,111,109,0,101,114,114,111,114,32,114,101,97,100,105,110,103,32,114,97,110,100,111,109,32,102,114,111,109,32,115,121,115,116,101,109,32,82,78,71,32,40,114,99,61,37,100,41,10,0,115,121,115,116,101,109,95,114,110,103,95,105,115,95,108,111,99,107,101,100,0,114,101,97,100,95,99,98,0,114,101,97,100,95,99,98,95,98,117,102,102,101,114,0,47,100,101,118,47,114,97,110,100,111,109,0,47,100,101,118,47,117,114,97,110,100,111,109,0,110,101,101,100,95,101,110,116,114,111,112,121,0,115,101,108,101,99,116,40,41,32,101,114,114,111,114,58,32,37,115,10,0,98,111,103,117,115,32,114,101,97,100,32,102,114,111,109,32,114,97,110,100,111,109,32,100,101,118,105,99,101,32,40,110,61,37,100,41,10,0,114,101,97,100,32,101,114,114,111,114,32,111,110,32,114,97,110,100,111,109,32,100,101,118,105,99,101,58,32,37,115,10,0,111,112,101,110,95,100,101,118,95,114,97,110,100,111,109,0,119,97,105,116,95,100,101,118,95,114,97,110,100,111,109,0,99,97,110,39,116,32,111,112,101,110,32,37,115,58,32,37,115,10,0,101,114,114,111,114,32,115,101,116,116,105,110,103,32,70,68,95,67,76,79,69,88,69,67,32,111,110,32,102,100,32,37,100,58,32,37,115,10,0,99,104,111,111,115,105,110,103,32,97,32,114,97,110,100,111,109,32,107,32,111,102,32,37,117,32,98,105,116,115,32,97,116,32,115,101,99,108,101,118,101,108,32,37,100,10,0,9,107,32,116,111,111,32,108,97,114,103,101,32,45,32,97,103,97,105,110,10,0,9,107,32,105,115,32,122,101,114,111,32,45,32,97,103,97,105,110,10,0,1,0,101,99,100,115,97,32,115,105,103,110,32,104,97,115,104,32,32,0,101,99,100,115,97,32,115,105,103,110,32,114,101,115,117,108,116,32,114,32,0,101,99,100,115,97,32,115,105,103,110,32,114,101,115,117,108,116,32,115,32,0,103,111,115,116,32,115,105,103,110,32,104,97,115,104,32,32,0,101,99,99,32,115,105,103,110,58,32,70,97,105,108,101,100,32,116,111,32,103,101,116,32,97,102,102,105,110,101,32,99,111,111,114,100,105,110,97,116,101,115,10,0,103,111,115,116,32,115,105,103,110,32,114,101,115,117,108,116,32,114,32,0,103,111,115,116,32,115,105,103,110,32,114,101,115,117,108,116,32,115,32,0,101,99,99,32,118,101,114,105,102,121,58,32,82,101,106,101,99,116,101,100,10,0,101,99,99,32,118,101,114,105,102,121,58,32,70,97,105,108,101,100,32,116,111,32,103,101,116,32,97,102,102,105,110,101,32,99,111,111,114,100,105,110,97,116,101,115,10,0,32,32,32,32,32,120,0,32,32,32,32,32,114,0,32,32,32,32,32,115,0,101,99,99,32,118,101,114,105,102,121,58,32,78,111,116,32,118,101,114,105,102,105,101,100,10,0,101,99,99,32,118,101,114,105,102,121,58,32,65,99,99,101,112,116,101,100,10,0,33,34,108,111,99,107,32,65,66,73,32,118,101,114,115,105,111,110,34,0,112,111,115,105,120,45,108,111,99,107,46,99,0,103,101,116,95,108,111,99,107,95,111,98,106,101,99,116,0,115,116,114,101,97,109,45,62,102,108,97,103,115,46,119,114,105,116,105,110,103,0,101,115,116,114,101,97,109,46,99,0,101,115,95,102,108,117,115,104,0,83,117,99,99,101,115,115,0,71,101,110,101,114,97,108,32,101,114,114,111,114,0,85,110,107,110,111,119,110,32,112,97,99,107,101,116,0,85,110,107,110,111,119,110,32,118,101,114,115,105,111,110,32,105,110,32,112,97,99,107,101,116,0,73,110,118,97,108,105,100,32,112,117,98,108,105,99,32,107,101,121,32,97,108,103,111,114,105,116,104,109,0,73,110,118,97,108,105,100,32,100,105,103,101,115,116,32,97,108,103,111,114,105,116,104,109,0,66,97,100,32,112,117,98,108,105,99,32,107,101,121,0,66,97,100,32,115,101,99,114,101,116,32,107,101,121,0,66,97,100,32,115,105,103,110,97,116,117,114,101,0,78,111,32,112,117,98,108,105,99,32,107,101,121,0,67,104,101,99,107,115,117,109,32,101,114,114,111,114,0,66,97,100,32,112,97,115,115,112,104,114,97,115,101,0,73,110,118,97,108,105,100,32,99,105,112,104,101,114,32,97,108,103,111,114,105,116,104,109,0,75,101,121,114,105,110,103,32,111,112,101,110,0,73,110,118,97,108,105,100,32,112,97,99,107,101,116,0,73,110,118,97,108,105,100,32,97,114,109,111,114,0,78,111,32,117,115,101,114,32,73,68,0,78,111,32,115,101,99,114,101,116,32,107,101,121,0,87,114,111,110,103,32,115,101,99,114,101,116,32,107,101,121,32,117,115,101,100,0,66,97,100,32,115,101,115,115,105,111,110,32,107,101,121,0,85,110,107,110,111,119,110,32,99,111,109,112,114,101,115,115,105,111,110,32,97,108,103,111,114,105,116,104,109,0,78,117,109,98,101,114,32,105,115,32,110,111,116,32,112,114,105,109,101,0,73,110,118,97,108,105,100,32,101,110,99,111,100,105,110,103,32,109,101,116,104,111,100,0,73,110,118,97,108,105,100,32,101,110,99,114,121,112,116,105,111,110,32,115,99,104,101,109,101,0,73,110,118,97,108,105,100,32,115,105,103,110,97,116,117,114,101,32,115,99,104,101,109,101,0,73,110,118,97,108,105,100,32,97,116,116,114,105,98,117,116,101,0,78,111,32,118,97,108,117,101,0,78,111,116,32,102,111,117,110,100,0,86,97,108,117,101,32,110,111,116,32,102,111,117,110,100,0,83,121,110,116,97,120,32,101,114,114,111,114,0,66,97,100,32,77,80,73,32,118,97,108,117,101,0,73,110,118,97,108,105,100,32,112,97,115,115,112,104,114,97,115,101,0,73,110,118,97,108,105,100,32,115,105,103,110,97,116,117,114,101,32,99,108,97,115,115,0,82,101,115,111,117,114,99,101,115,32,101,120,104,97,117,115,116,101,100,0,73,110,118,97,108,105,100,32,107,101,121,114,105,110,103,0,84,114,117,115,116,32,68,66,32,101,114,114,111,114,0,66,97,100,32,99,101,114,116,105,102,105,99,97,116,101,0,73,110,118,97,108,105,100,32,117,115,101,114,32,73,68,0,85,110,101,120,112,101,99,116,101,100,32,101,114,114,111,114,0,84,105,109,101,32,99,111,110,102,108,105,99,116,0,75,101,121,115,101,114,118,101,114,32,101,114,114,111,114,0,87,114,111,110,103,32,112,117,98,108,105,99,32,107,101,121,32,97,108,103,111,114,105,116,104,109,0,84,114,105,98,117,116,101,32,116,111,32,68,46,32,65,46,0,87,101,97,107,32,101,110,99,114,121,112,116,105,111,110,32,107,101,121,0,73,110,118,97,108,105,100,32,107,101,121,32,108,101,110,103,116,104,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,83,121,110,116,97,120,32,101,114,114,111,114,32,105,110,32,85,82,73,0,73,110,118,97,108,105,100,32,85,82,73,0,78,101,116,119,111,114,107,32,101,114,114,111,114,0,85,110,107,110,111,119,110,32,104,111,115,116,0,83,101,108,102,116,101,115,116,32,102,97,105,108,101,100,0,68,97,116,97,32,110,111,116,32,101,110,99,114,121,112,116,101,100,0,68,97,116,97,32,110,111,116,32,112,114,111,99,101,115,115,101,100,0,85,110,117,115,97,98,108,101,32,112,117,98,108,105,99,32,107,101,121,0,85,110,117,115,97,98,108,101,32,115,101,99,114,101,116,32,107,101,121,0,73,110,118,97,108,105,100,32,118,97,108,117,101,0,66,97,100,32,99,101,114,116,105,102,105,99,97,116,101,32,99,104,97,105,110,0,77,105,115,115,105,110,103,32,99,101,114,116,105,102,105,99,97,116,101,0,78,111,32,100,97,116,97,0,66,117,103,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,73,110,118,97,108,105,100,32,111,112,101,114,97,116,105,111,110,32,99,111,100,101,0,84,105,109,101,111,117,116,0,73,110,116,101,114,110,97,108,32,101,114,114,111,114,0,69,79,70,32,40,103,99,114,121,112,116,41,0,73,110,118,97,108,105,100,32,111,98,106,101,99,116,0,80,114,111,118,105,100,101,100,32,111,98,106,101,99,116,32,105,115,32,116,111,111,32,115,104,111,114,116,0,80,114,111,118,105,100,101,100,32,111,98,106,101,99,116,32,105,115,32,116,111,111,32,108,97,114,103,101,0,77,105,115,115,105,110,103,32,105,116,101,109,32,105,110,32,111,98,106,101,99,116,0,78,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,67,111,110,102,108,105,99,116,105,110,103,32,117,115,101,0,73,110,118,97,108,105,100,32,99,105,112,104,101,114,32,109,111,100,101,0,73,110,118,97,108,105,100,32,102,108,97,103,0,73,110,118,97,108,105,100,32,104,97,110,100,108,101,0,82,101,115,117,108,116,32,116,114,117,110,99,97,116,101,100,0,73,110,99,111,109,112,108,101,116,101,32,108,105,110,101,0,73,110,118,97,108,105,100,32,114,101,115,112,111,110,115,101,0,78,111,32,97,103,101,110,116,32,114,117,110,110,105,110,103,0,65,103,101,110,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,100,97,116,97,0,85,110,115,112,101,99,105,102,105,99,32,65,115,115,117,97,110,32,115,101,114,118,101,114,32,102,97,117,108,116,0,71,101,110,101,114,97,108,32,65,115,115,117,97,110,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,115,101,115,115,105,111,110,32,107,101,121,0,73,110,118,97,108,105,100,32,83,45,101,120,112,114,101,115,115,105,111,110,0,85,110,115,117,112,112,111,114,116,101,100,32,97,108,103,111,114,105,116,104,109,0,78,111,32,112,105,110,101,110,116,114,121,0,112,105,110,101,110,116,114,121,32,101,114,114,111,114,0,66,97,100,32,80,73,78,0,73,110,118,97,108,105,100,32,110,97,109,101,0,66,97,100,32,100,97,116,97,0,73,110,118,97,108,105,100,32,112,97,114,97,109,101,116,101,114,0,87,114,111,110,103,32,99,97,114,100,0,78,111,32,100,105,114,109,110,103,114,0,100,105,114,109,110,103,114,32,101,114,114,111,114,0,67,101,114,116,105,102,105,99,97,116,101,32,114,101,118,111,107,101,100,0,78,111,32,67,82,76,32,107,110,111,119,110,0,67,82,76,32,116,111,111,32,111,108,100,0,76,105,110,101,32,116,111,111,32,108,111,110,103,0,78,111,116,32,116,114,117,115,116,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,108,101,100,0,66,97,100,32,67,65,32,99,101,114,116,105,102,105,99,97,116,101,0,67,101,114,116,105,102,105,99,97,116,101,32,101,120,112,105,114,101,100,0,67,101,114,116,105,102,105,99,97,116,101,32,116,111,111,32,121,111,117,110,103,0,85,110,115,117,112,112,111,114,116,101,100,32,99,101,114,116,105,102,105,99,97,116,101,0,85,110,107,110,111,119,110,32,83,45,101,120,112,114,101,115,115,105,111,110,0,85,110,115,117,112,112,111,114,116,101,100,32,112,114,111,116,101,99,116,105,111,110,0,67,111,114,114,117,112,116,101,100,32,112,114,111,116,101,99,116,105,111,110,0,65,109,98,105,103,117,111,117,115,32,110,97,109,101,0,67,97,114,100,32,101,114,114,111,114,0,67,97,114,100,32,114,101,115,101,116,32,114,101,113,117,105,114,101,100,0,67,97,114,100,32,114,101,109,111,118,101,100,0,73,110,118,97,108,105,100,32,99,97,114,100,0,67,97,114,100,32,110,111,116,32,112,114,101,115,101,110,116,0,78,111,32,80,75,67,83,49,53,32,97,112,112,108,105,99,97,116,105,111,110,0,78,111,116,32,99,111,110,102,105,114,109,101,100,0,67,111,110,102,105,103,117,114,97,116,105,111,110,32,101,114,114,111,114,0,78,111,32,112,111,108,105,99,121,32,109,97,116,99,104,0,73,110,118,97,108,105,100,32,105,110,100,101,120,0,73,110,118,97,108,105,100,32,73,68,0,78,111,32,83,109,97,114,116,67,97,114,100,32,100,97,101,109,111,110,0,83,109,97,114,116,67,97,114,100,32,100,97,101,109,111,110,32,101,114,114,111,114,0,85,110,115,117,112,112,111,114,116,101,100,32,112,114,111,116,111,99,111,108,0,66,97,100,32,80,73,78,32,109,101,116,104,111,100,0,67,97,114,100,32,110,111,116,32,105,110,105,116,105,97,108,105,122,101,100,0,85,110,115,117,112,112,111,114,116,101,100,32,111,112,101,114,97,116,105,111,110,0,87,114,111,110,103,32,107,101,121,32,117,115,97,103,101,0,78,111,116,104,105,110,103,32,102,111,117,110,100,0,87,114,111,110,103,32,98,108,111,98,32,116,121,112,101,0,77,105,115,115,105,110,103,32,118,97,108,117,101,0,72,97,114,100,119,97,114,101,32,112,114,111,98,108,101,109,0,80,73,78,32,98,108,111,99,107,101,100,0,67,111,110,100,105,116,105,111,110,115,32,111,102,32,117,115,101,32,110,111,116,32,115,97,116,105,115,102,105,101,100,0,80,73,78,115,32,97,114,101,32,110,111,116,32,115,121,110,99,101,100,0,73,110,118,97,108,105,100,32,67,82,76,0,66,69,82,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,66,69,82,0,69,108,101,109,101,110,116,32,110,111,116,32,102,111,117,110,100,0,73,100,101,110,116,105,102,105,101,114,32,110,111,116,32,102,111,117,110,100,0,73,110,118,97,108,105,100,32,116,97,103,0,73,110,118,97,108,105,100,32,108,101,110,103,116,104,0,73,110,118,97,108,105,100,32,107,101,121,32,105,110,102,111,0,85,110,101,120,112,101,99,116,101,100,32,116,97,103,0,78,111,116,32,68,69,82,32,101,110,99,111,100,101,100,0,78,111,32,67,77,83,32,111,98,106,101,99,116,0,73,110,118,97,108,105,100,32,67,77,83,32,111,98,106,101,99,116,0,85,110,107,110,111,119,110,32,67,77,83,32,111,98,106,101,99,116,0,85,110,115,117,112,112,111,114,116,101,100,32,67,77,83,32,111,98,106,101,99,116,0,85,110,115,117,112,112,111,114,116,101,100,32,101,110,99,111,100,105,110,103,0,85,110,115,117,112,112,111,114,116,101,100,32,67,77,83,32,118,101,114,115,105,111,110,0,85,110,107,110,111,119,110,32,97,108,103,111,114,105,116,104,109,0,73,110,118,97,108,105,100,32,99,114,121,112,116,111,32,101,110,103,105,110,101,0,80,117,98,108,105,99,32,107,101,121,32,110,111,116,32,116,114,117,115,116,101,100,0,68,101,99,114,121,112,116,105,111,110,32,102,97,105,108,101,100,0,75,101,121,32,101,120,112,105,114,101,100,0,83,105,103,110,97,116,117,114,101,32,101,120,112,105,114,101,100,0,69,110,99,111,100,105,110,103,32,112,114,111,98,108,101,109,0,73,110,118,97,108,105,100,32,115,116,97,116,101,0,68,117,112,108,105,99,97,116,101,100,32,118,97,108,117,101,0,77,105,115,115,105,110,103,32,97,99,116,105,111,110,0,65,83,78,46,49,32,109,111,100,117,108,101,32,110,111,116,32,102,111,117,110,100,0,73,110,118,97,108,105,100,32,79,73,68,32,115,116,114,105,110,103,0,73,110,118,97,108,105,100,32,116,105,109,101,0,73,110,118,97,108,105,100,32,67,82,76,32,111,98,106,101,99,116,0,85,110,115,117,112,112,111,114,116,101,100,32,67,82,76,32,118,101,114,115,105,111,110,0,73,110,118,97,108,105,100,32,99,101,114,116,105,102,105,99,97,116,101,32,111,98,106,101,99,116,0,85,110,107,110,111,119,110,32,110,97,109,101,0,65,32,108,111,99,97,108,101,32,102,117,110,99,116,105,111,110,32,102,97,105,108,101,100,0,78,111,116,32,108,111,99,107,101,100,0,80,114,111,116,111,99,111,108,32,118,105,111,108,97,116,105,111,110,0,73,110,118,97,108,105,100,32,77,65,67,0,73,110,118,97,108,105,100,32,114,101,113,117,101,115,116,0,85,110,107,110,111,119,110,32,101,120,116,101,110,115,105,111,110,0,85,110,107,110,111,119,110,32,99,114,105,116,105,99,97,108,32,101,120,116,101,110,115,105,111,110,0,76,111,99,107,101,100,0,85,110,107,110,111,119,110,32,111,112,116,105,111,110,0,85,110,107,110,111,119,110,32,99,111,109,109,97,110,100,0,78,111,116,32,111,112,101,114,97,116,105,111,110,97,108,0,78,111,32,112,97,115,115,112,104,114,97,115,101,32,103,105,118,101,110,0,78,111,32,80,73,78,32,103,105,118,101,110,0,78,111,116,32,101,110,97,98,108,101,100,0,78,111,32,99,114,121,112,116,111,32,101,110,103,105,110,101,0,77,105,115,115,105,110,103,32,107,101,121,0,84,111,111,32,109,97,110,121,32,111,98,106,101,99,116,115,0,76,105,109,105,116,32,114,101,97,99,104,101,100,0,78,111,116,32,105,110,105,116,105,97,108,105,122,101,100,0,77,105,115,115,105,110,103,32,105,115,115,117,101,114,32,99,101,114,116,105,102,105,99,97,116,101,0,78,111,32,107,101,121,115,101,114,118,101,114,32,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,101,108,108,105,112,116,105,99,32,99,117,114,118,101,0,85,110,107,110,111,119,110,32,101,108,108,105,112,116,105,99,32,99,117,114,118,101,0,68,117,112,108,105,99,97,116,101,100,32,107,101,121,0,65,109,98,105,103,117,111,117,115,32,114,101,115,117,108,116,0,78,111,32,99,114,121,112,116,111,32,99,111,110,116,101,120,116,0,87,114,111,110,103,32,99,114,121,112,116,111,32,99,111,110,116,101,120,116,0,66,97,100,32,99,114,121,112,116,111,32,99,111,110,116,101,120,116,0,67,111,110,102,108,105,99,116,32,105,110,32,116,104,101,32,99,114,121,112,116,111,32,99,111,110,116,101,120,116,0,66,114,111,107,101,110,32,112,117,98,108,105,99,32,107,101,121,0,66,114,111,107,101,110,32,115,101,99,114,101,116,32,107,101,121,0,73,110,118,97,108,105,100,32,77,65,67,32,97,108,103,111,114,105,116,104,109,0,79,112,101,114,97,116,105,111,110,32,102,117,108,108,121,32,99,97,110,99,101,108,108,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,121,101,116,32,102,105,110,105,115,104,101,100,0,66,117,102,102,101,114,32,116,111,111,32,115,104,111,114,116,0,73,110,118,97,108,105,100,32,108,101,110,103,116,104,32,115,112,101,99,105,102,105,101,114,32,105,110,32,83,45,101,120,112,114,101,115,115,105,111,110,0,83,116,114,105,110,103,32,116,111,111,32,108,111,110,103,32,105,110,32,83,45,101,120,112,114,101,115,115,105,111,110,0,85,110,109,97,116,99,104,101,100,32,112,97,114,101,110,116,104,101,115,101,115,32,105,110,32,83,45,101,120,112,114,101,115,115,105,111,110,0,83,45,101,120,112,114,101,115,115,105,111,110,32,110,111,116,32,99,97,110,111,110,105,99,97,108,0,66,97,100,32,99,104,97,114,97,99,116,101,114,32,105,110,32,83,45,101,120,112,114,101,115,115,105,111,110,0,66,97,100,32,113,117,111,116,97,116,105,111,110,32,105,110,32,83,45,101,120,112,114,101,115,115,105,111,110,0,90,101,114,111,32,112,114,101,102,105,120,32,105,110,32,83,45,101,120,112,114,101,115,115,105,111,110,0,78,101,115,116,101,100,32,100,105,115,112,108,97,121,32,104,105,110,116,115,32,105,110,32,83,45,101,120,112,114,101,115,115,105,111,110,0,85,110,109,97,116,99,104,101,100,32,100,105,115,112,108,97,121,32,104,105,110,116,115,0,85,110,101,120,112,101,99,116,101,100,32,114,101,115,101,114,118,101,100,32,112,117,110,99,116,117,97,116,105,111,110,32,105,110,32,83,45,101,120,112,114,101,115,115,105,111,110,0,66,97,100,32,104,101,120,97,100,101,99,105,109,97,108,32,99,104,97,114,97,99,116,101,114,32,105,110,32,83,45,101,120,112,114,101,115,115,105,111,110,0,79,100,100,32,104,101,120,97,100,101,99,105,109,97,108,32,110,117,109,98,101,114,115,32,105,110,32,83,45,101,120,112,114,101,115,115,105,111,110,0,66,97,100,32,111,99,116,97,108,32,99,104,97,114,97,99,116,101,114,32,105,110,32,83,45,101,120,112,114,101,115,115,105,111,110,0,76,101,103,97,99,121,32,107,101,121,0,82,101,113,117,101,115,116,32,116,111,111,32,115,104,111,114,116,0,82,101,113,117,101,115,116,32,116,111,111,32,108,111,110,103,0,79,98,106,101,99,116,32,105,115,32,105,110,32,116,101,114,109,105,110,97,116,105,111,110,32,115,116,97,116,101,0,78,111,32,99,101,114,116,105,102,105,99,97,116,101,32,99,104,97,105,110,0,67,101,114,116,105,102,105,99,97,116,101,32,105,115,32,116,111,111,32,108,97,114,103,101,0,73,110,118,97,108,105,100,32,114,101,99,111,114,100,0,84,104,101,32,77,65,67,32,100,111,101,115,32,110,111,116,32,118,101,114,105,102,121,0,85,110,101,120,112,101,99,116,101,100,32,109,101,115,115,97,103,101,0,67,111,109,112,114,101,115,115,105,111,110,32,111,114,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,65,32,99,111,117,110,116,101,114,32,119,111,117,108,100,32,119,114,97,112,0,70,97,116,97,108,32,97,108,101,114,116,32,109,101,115,115,97,103,101,32,114,101,99,101,105,118,101,100,0,78,111,32,99,105,112,104,101,114,32,97,108,103,111,114,105,116,104,109,0,77,105,115,115,105,110,103,32,99,108,105,101,110,116,32,99,101,114,116,105,102,105,99,97,116,101,0,67,108,111,115,101,32,110,111,116,105,102,105,99,97,116,105,111,110,32,114,101,99,101,105,118,101,100,0,84,105,99,107,101,116,32,101,120,112,105,114,101,100,0,66,97,100,32,116,105,99,107,101,116,0,85,110,107,110,111,119,110,32,105,100,101,110,116,105,116,121,0,66,97,100,32,99,101,114,116,105,102,105,99,97,116,101,32,109,101,115,115,97,103,101,32,105,110,32,104,97,110,100,115,104,97,107,101,0,66,97,100,32,99,101,114,116,105,102,105,99,97,116,101,32,114,101,113,117,101,115,116,32,109,101,115,115,97,103,101,32,105,110,32,104,97,110,100,115,104,97,107,101,0,66,97,100,32,99,101,114,116,105,102,105,99,97,116,101,32,118,101,114,105,102,121,32,109,101,115,115,97,103,101,32,105,110,32,104,97,110,100,115,104,97,107,101,0,66,97,100,32,99,104,97,110,103,101,32,99,105,112,104,101,114,32,109,101,115,115,115,97,103,101,32,105,110,32,104,97,110,100,115,104,97,107,101,0,66,97,100,32,99,108,105,101,110,116,32,104,101,108,108,111,32,109,101,115,115,97,103,101,32,105,110,32,104,97,110,100,115,104,97,107,101,0,66,97,100,32,115,101,114,118,101,114,32,104,101,108,108,111,32,109,101,115,115,97,103,101,32,105,110,32,104,97,110,100,115,104,97,107,101,0,66,97,100,32,115,101,114,118,101,114,32,104,101,108,108,111,32,100,111,110,101,32,109,101,115,115,97,103,101,32,105,110,32,104,97,110,115,104,97,107,101,0,66,97,100,32,102,105,110,105,115,104,101,100,32,109,101,115,115,97,103,101,32,105,110,32,104,97,110,100,115,104,97,107,101,0,66,97,100,32,115,101,114,118,101,114,32,107,101,121,32,101,120,99,104,97,110,103,101,32,109,101,115,115,97,103,101,32,105,110,32,104,97,110,100,115,104,97,107,101,0,66,97,100,32,99,108,105,101,110,116,32,107,101,121,32,101,120,99,104,97,110,103,101,32,109,101,115,115,97,103,101,32,105,110,32,104,97,110,100,115,104,97,107,101,0,66,111,103,117,115,32,115,116,114,105,110,103,0,70,111,114,98,105,100,100,101,110,0,75,101,121,32,100,105,115,97,98,108,101,100,0,78,111,116,32,112,111,115,115,105,98,108,101,32,119,105,116,104,32,97,32,99,97,114,100,32,98,97,115,101,100,32,107,101,121,0,73,110,118,97,108,105,100,32,108,111,99,107,32,111,98,106,101,99,116,0,71,101,110,101,114,97,108,32,73,80,67,32,101,114,114,111,114,0,73,80,67,32,97,99,99,101,112,116,32,99,97,108,108,32,102,97,105,108,101,100,0,73,80,67,32,99,111,110,110,101,99,116,32,99,97,108,108,32,102,97,105,108,101,100,0,73,110,118,97,108,105,100,32,73,80,67,32,114,101,115,112,111,110,115,101,0,73,110,118,97,108,105,100,32,118,97,108,117,101,32,112,97,115,115,101,100,32,116,111,32,73,80,67,0,73,110,99,111,109,112,108,101,116,101,32,108,105,110,101,32,112,97,115,115,101,100,32,116,111,32,73,80,67,0,76,105,110,101,32,112,97,115,115,101,100,32,116,111,32,73,80,67,32,116,111,111,32,108,111,110,103,0,78,101,115,116,101,100,32,73,80,67,32,99,111,109,109,97,110,100,115,0,78,111,32,100,97,116,97,32,99,97,108,108,98,97,99,107,32,105,110,32,73,80,67,0,78,111,32,105,110,113,117,105,114,101,32,99,97,108,108,98,97,99,107,32,105,110,32,73,80,67,0,78,111,116,32,97,110,32,73,80,67,32,115,101,114,118,101,114,0,78,111,116,32,97,110,32,73,80,67,32,99,108,105,101,110,116,0,80,114,111,98,108,101,109,32,115,116,97,114,116,105,110,103,32,73,80,67,32,115,101,114,118,101,114,0,73,80,67,32,114,101,97,100,32,101,114,114,111,114,0,73,80,67,32,119,114,105,116,101,32,101,114,114,111,114,0,84,111,111,32,109,117,99,104,32,100,97,116,97,32,102,111,114,32,73,80,67,32,108,97,121,101,114,0,85,110,101,120,112,101,99,116,101,100,32,73,80,67,32,99,111,109,109,97,110,100,0,85,110,107,110,111,119,110,32,73,80,67,32,99,111,109,109,97,110,100,0,73,80,67,32,115,121,110,116,97,120,32,101,114,114,111,114,0,73,80,67,32,99,97,108,108,32,104,97,115,32,98,101,101,110,32,99,97,110,99,101,108,108,101,100,0,78,111,32,105,110,112,117,116,32,115,111,117,114,99,101,32,102,111,114,32,73,80,67,0,78,111,32,111,117,116,112,117,116,32,115,111,117,114,99,101,32,102,111,114,32,73,80,67,0,73,80,67,32,112,97,114,97,109,101,116,101,114,32,101,114,114,111,114,0,85,110,107,110,111,119,110,32,73,80,67,32,105,110,113,117,105,114,101,0,71,101,110,101,114,97,108,32,76,68,65,80,32,101,114,114,111,114,0,71,101,110,101,114,97,108,32,76,68,65,80,32,97,116,116,114,105,98,117,116,101,32,101,114,114,111,114,0,71,101,110,101,114,97,108,32,76,68,65,80,32,110,97,109,101,32,101,114,114,111,114,0,71,101,110,101,114,97,108,32,76,68,65,80,32,115,101,99,117,114,105,116,121,32,101,114,114,111,114,0,71,101,110,101,114,97,108,32,76,68,65,80,32,115,101,114,118,105,99,101,32,101,114,114,111,114,0,71,101,110,101,114,97,108,32,76,68,65,80,32,117,112,100,97,116,101,32,101,114,114,111,114,0,69,120,112,101,114,105,109,101,110,116,97,108,32,76,68,65,80,32,101,114,114,111,114,32,99,111,100,101,0,80,114,105,118,97,116,101,32,76,68,65,80,32,101,114,114,111,114,32,99,111,100,101,0,79,116,104,101,114,32,103,101,110,101,114,97,108,32,76,68,65,80,32,101,114,114,111,114,0,76,68,65,80,32,99,111,110,110,101,99,116,105,110,103,32,102,97,105,108,101,100,32,40,88,41,0,76,68,65,80,32,114,101,102,101,114,114,97,108,32,108,105,109,105,116,32,101,120,99,101,101,100,101,100,0,76,68,65,80,32,99,108,105,101,110,116,32,108,111,111,112,0,78,111,32,76,68,65,80,32,114,101,115,117,108,116,115,32,114,101,116,117,114,110,101,100,0,76,68,65,80,32,99,111,110,116,114,111,108,32,110,111,116,32,102,111,117,110,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,76,68,65,80,0,76,68,65,80,32,99,111,110,110,101,99,116,32,101,114,114,111,114,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,105,110,32,76,68,65,80,0,66,97,100,32,112,97,114,97,109,101,116,101,114,32,116,111,32,97,110,32,76,68,65,80,32,114,111,117,116,105,110,101,0,85,115,101,114,32,99,97,110,99,101,108,108,101,100,32,76,68,65,80,32,111,112,101,114,97,116,105,111,110,0,66,97,100,32,76,68,65,80,32,115,101,97,114,99,104,32,102,105,108,116,101,114,0,85,110,107,110,111,119,110,32,76,68,65,80,32,97,117,116,104,101,110,116,105,99,97,116,105,111,110,32,109,101,116,104,111,100,0,84,105,109,101,111,117,116,32,105,110,32,76,68,65,80,0,76,68,65,80,32,100,101,99,111,100,105,110,103,32,101,114,114,111,114,0,76,68,65,80,32,101,110,99,111,100,105,110,103,32,101,114,114,111,114,0,76,68,65,80,32,108,111,99,97,108,32,101,114,114,111,114,0,67,97,110,110,111,116,32,99,111,110,116,97,99,116,32,76,68,65,80,32,115,101,114,118,101,114,0,76,68,65,80,32,115,117,99,99,101,115,115,0,76,68,65,80,32,111,112,101,114,97,116,105,111,110,115,32,101,114,114,111,114,0,76,68,65,80,32,112,114,111,116,111,99,111,108,32,101,114,114,111,114,0,84,105,109,101,32,108,105,109,105,116,32,101,120,99,101,101,100,101,100,32,105,110,32,76,68,65,80,0,83,105,122,101,32,108,105,109,105,116,32,101,120,99,101,101,100,101,100,32,105,110,32,76,68,65,80,0,76,68,65,80,32,99,111,109,112,97,114,101,32,102,97,108,115,101,0,76,68,65,80,32,99,111,109,112,97,114,101,32,116,114,117,101,0,76,68,65,80,32,97,117,116,104,101,110,116,105,99,97,116,105,111,110,32,109,101,116,104,111,100,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,116,114,111,110,103,40,101,114,41,32,76,68,65,80,32,97,117,116,104,101,110,116,105,99,97,116,105,111,110,32,114,101,113,117,105,114,101,100,0,80,97,114,116,105,97,108,32,76,68,65,80,32,114,101,115,117,108,116,115,43,114,101,102,101,114,114,97,108,32,114,101,99,101,105,118,101,100,0,76,68,65,80,32,114,101,102,101,114,114,97,108,0,65,100,109,105,110,105,115,116,114,97,116,105,118,101,32,76,68,65,80,32,108,105,109,105,116,32,101,120,99,101,101,100,101,100,0,67,114,105,116,105,99,97,108,32,76,68,65,80,32,101,120,116,101,110,115,105,111,110,32,105,115,32,117,110,97,118,97,105,108,97,98,108,101,0,67,111,110,102,105,100,101,110,116,105,97,108,105,116,121,32,114,101,113,117,105,114,101,100,32,98,121,32,76,68,65,80,0,76,68,65,80,32,83,65,83,76,32,98,105,110,100,32,105,110,32,112,114,111,103,114,101,115,115,0,78,111,32,115,117,99,104,32,76,68,65,80,32,97,116,116,114,105,98,117,116,101,0,85,110,100,101,102,105,110,101,100,32,76,68,65,80,32,97,116,116,114,105,98,117,116,101,32,116,121,112,101,0,73,110,97,112,112,114,111,112,114,105,97,116,101,32,109,97,116,99,104,105,110,103,32,105,110,32,76,68,65,80,0,67,111,110,115,116,114,97,105,110,116,32,118,105,111,108,97,116,105,111,110,32,105,110,32,76,68,65,80,0,76,68,65,80,32,116,121,112,101,32,111,114,32,118,97,108,117,101,32,101,120,105,115,116,115,0,73,110,118,97,108,105,100,32,115,121,110,116,97,120,32,105,110,32,76,68,65,80,0,78,111,32,115,117,99,104,32,76,68,65,80,32,111,98,106,101,99,116,0,76,68,65,80,32,97,108,105,97,115,32,112,114,111,98,108,101,109,0,73,110,118,97,108,105,100,32,68,78,32,115,121,110,116,97,120,32,105,110,32,76,68,65,80,0,76,68,65,80,32,101,110,116,114,121,32,105,115,32,97,32,108,101,97,102,0,76,68,65,80,32,97,108,105,97,115,32,100,101,114,101,102,101,114,101,110,99,105,110,103,32,112,114,111,98,108,101,109,0,76,68,65,80,32,112,114,111,120,121,32,97,117,116,104,111,114,105,122,97,116,105,111,110,32,102,97,105,108,117,114,101,32,40,88,41,0,73,110,97,112,112,114,111,112,114,105,97,116,101,32,76,68,65,80,32,97,117,116,104,101,110,116,105,99,97,116,105,111,110,0,73,110,118,97,108,105,100,32,76,68,65,80,32,99,114,101,100,101,110,116,105,97,108,115,0,73,110,115,117,102,102,105,99,105,101,110,116,32,97,99,99,101,115,115,32,102,111,114,32,76,68,65,80,0,76,68,65,80,32,115,101,114,118,101,114,32,105,115,32,98,117,115,121,0,76,68,65,80,32,115,101,114,118,101,114,32,105,115,32,117,110,97,118,97,105,108,97,98,108,101,0,76,68,65,80,32,115,101,114,118,101,114,32,105,115,32,117,110,119,105,108,108,105,110,103,32,116,111,32,112,101,114,102,111,114,109,0,76,111,111,112,32,100,101,116,101,99,116,101,100,32,98,121,32,76,68,65,80,0,76,68,65,80,32,110,97,109,105,110,103,32,118,105,111,108,97,116,105,111,110,0,76,68,65,80,32,111,98,106,101,99,116,32,99,108,97,115,115,32,118,105,111,108,97,116,105,111,110,0,76,68,65,80,32,111,112,101,114,97,116,105,111,110,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,110,111,110,45,108,101,97,102,0,76,68,65,80,32,111,112,101,114,97,116,105,111,110,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,82,68,78,0,65,108,114,101,97,100,121,32,101,120,105,115,116,115,32,40,76,68,65,80,41,0,67,97,110,110,111,116,32,109,111,100,105,102,121,32,76,68,65,80,32,111,98,106,101,99,116,32,99,108,97,115,115,0,76,68,65,80,32,114,101,115,117,108,116,115,32,116,111,111,32,108,97,114,103,101,0,76,68,65,80,32,111,112,101,114,97,116,105,111,110,32,97,102,102,101,99,116,115,32,109,117,108,116,105,112,108,101,32,68,83,65,115,0,86,105,114,116,117,97,108,32,76,68,65,80,32,108,105,115,116,32,118,105,101,119,32,101,114,114,111,114,0,79,116,104,101,114,32,76,68,65,80,32,101,114,114,111,114,0,82,101,115,111,117,114,99,101,115,32,101,120,104,97,117,115,116,101,100,32,105,110,32,76,67,85,80,0,83,101,99,117,114,105,116,121,32,118,105,111,108,97,116,105,111,110,32,105,110,32,76,67,85,80,0,73,110,118,97,108,105,100,32,100,97,116,97,32,105,110,32,76,67,85,80,0,85,110,115,117,112,112,111,114,116,101,100,32,115,99,104,101,109,101,32,105,110,32,76,67,85,80,0,82,101,108,111,97,100,32,114,101,113,117,105,114,101,100,32,105,110,32,76,67,85,80,0,76,68,65,80,32,99,97,110,99,101,108,108,101,100,0,78,111,32,76,68,65,80,32,111,112,101,114,97,116,105,111,110,32,116,111,32,99,97,110,99,101,108,0,84,111,111,32,108,97,116,101,32,116,111,32,99,97,110,99,101,108,32,76,68,65,80,0,67,97,110,110,111,116,32,99,97,110,99,101,108,32,76,68,65,80,0,76,68,65,80,32,97,115,115,101,114,116,105,111,110,32,102,97,105,108,101,100,0,80,114,111,120,105,101,100,32,97,117,116,104,111,114,105,122,97,116,105,111,110,32,100,101,110,105,101,100,32,98,121,32,76,68,65,80,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,49,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,50,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,51,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,52,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,53,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,54,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,55,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,56,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,57,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,49,48,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,49,49,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,49,50,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,49,51,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,49,52,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,49,53,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,49,54,0,83,121,115,116,101,109,32,101,114,114,111,114,32,119,47,111,32,101,114,114,110,111,0,85,110,107,110,111,119,110,32,115,121,115,116,101,109,32,101,114,114,111,114,0,69,110,100,32,111,102,32,102,105,108,101,0,85,110,107,110,111,119,110,32,101,114,114,111,114,32,99,111,100,101,0,97,109,111,117,110,116,46,99,0,84,65,76,69,82,95,97,109,111,117,110,116,95,99,109,112,0,84,65,76,69,82,95,97,109,111,117,110,116,95,115,117,98,116,114,97,99,116,0,84,65,76,69,82,95,97,109,111,117,110,116,95,97,100,100,0,49,46,54,46,49,0,108,105,98,103,99,114,121,112,116,32,118,101,114,115,105,111,110,32,109,105,115,109,97,116,99,104,10,0,70,97,116,97,108,32,101,114,114,111,114,32,105,110,32,108,105,98,103,99,114,121,112,116,58,32,37,115,10,0,99,114,121,112,116,111,46,99,0,65,115,115,101,114,116,105,111,110,32,102,97,105,108,101,100,32,97,116,32,37,115,58,37,100,46,10,0,116,97,108,101,114,45,99,111,105,110,45,100,101,114,105,118,97,116,105,111,110,0,84,65,76,69,82,95,115,101,116,117,112,95,102,114,101,115,104,95,99,111,105,110,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+51200);allocate([24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,4,7,3,6,5,0,18,17,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,17,34,35,36,17,37,38,39,40,41,42,43,44,17,45,46,47,16,16,48,16,16,16,16,16,16,16,49,50,51,16,52,53,16,16,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,54,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,55,17,17,17,17,56,17,57,58,59,60,61,62,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,63,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,17,64,65,17,66,67,68,69,70,71,72,73,16,16,16,74,75,76,77,78,16,16,16,79,80,16,16,16,16,81,16,16,16,16,16,16,16,16,16,17,17,17,82,83,16,16,16,16,16,16,16,16,16,16,16,17,17,17,17,84,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,17,17,85,16,16,16,16,86,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,87,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,88,89,90,91,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,92,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,254,255,255,7,254,255,255,7,0,0,0,0,0,4,32,4,255,255,127,255,255,255,127,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,195,255,3,0,31,80,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,223,60,64,215,255,255,251,255,255,255,255,255,255,255,255,255,191,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,3,252,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,254,255,255,255,127,2,254,255,255,255,255,0,0,0,0,0,255,191,182,0,255,255,255,7,7,0,0,0,255,7,255,255,255,255,255,255,255,254,255,195,255,255,255,255,255,255,255,255,255,255,255,255,239,31,254,225,255,159,0,0,255,255,255,255,255,255,0,224,255,255,255,255,255,255,255,255,255,255,255,255,3,0,255,255,255,255,255,7,48,4,255,255,255,252,255,31,0,0,255,255,255,1,0,0,0,0,0,0,0,0,253,31,0,0,0,0,0,0,240,3,255,127,255,255,255,255,255,255,255,239,255,223,225,255,207,255,254,254,238,159,249,255,255,253,197,227,159,89,128,176,207,255,3,0,238,135,249,255,255,253,109,195,135,25,2,94,192,255,63,0,238,191,251,255,255,253,237,227,191,27,1,0,207,255,0,0,238,159,249,255,255,253,237,227,159,25,192,176,207,255,2,0,236,199,61,214,24,199,255,195,199,29,129,0,192,255,0,0,238,223,253,255,255,253,239,227,223,29,96,3,207,255,0,0,236,223,253,255,255,253,239,227,223,29,96,64,207,255,6,0,236,223,253,255,255,255,255,231,223,93,128,0,207,255,0,252,236,255,127,252,255,255,251,47,127,128,95,255,0,0,12,0,254,255,255,255,255,127,255,7,63,32,255,3,0,0,0,0,150,37,240,254,174,236,255,59,95,32,255,243,0,0,0,0,1,0,0,0,255,3,0,0,255,254,255,255,255,31,254,255,3,255,255,254,255,255,255,31,0,0,0,0,0,0,0,0,255,255,255,255,255,255,127,249,255,3,255,255,231,193,255,255,127,64,255,51,255,255,255,255,191,32,255,255,255,255,255,247,255,255,255,255,255,255,255,255,255,61,127,61,255,255,255,255,255,61,255,255,255,255,61,127,61,255,127,255,255,255,255,255,255,255,61,255,255,255,255,255,255,255,255,135,0,0,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,31,0,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,159,255,255,254,255,255,7,255,255,255,255,255,255,255,255,255,199,1,0,255,223,15,0,255,255,15,0,255,255,15,0,255,223,13,0,255,255,255,255,255,255,207,255,255,1,128,16,255,3,0,0,0,0,255,3,255,255,255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,7,255,255,255,255,255,255,255,255,63,0,255,255,255,31,255,15,255,1,192,255,255,255,255,63,31,0,255,255,255,255,255,15,255,255,255,3,255,3,0,0,0,0,255,255,255,15,255,255,255,255,255,255,255,127,254,255,31,0,255,3,255,3,128,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,239,255,239,15,255,3,0,0,0,0,255,255,255,255,255,243,255,255,255,255,255,255,191,255,3,0,255,255,255,255,255,255,63,0,255,227,255,255,255,255,255,63,0,0,0,0,0,0,0,0,0,0,0,0,0,222,111,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,255,255,63,63,255,255,255,255,63,63,255,170,255,255,255,63,255,255,255,255,255,255,223,95,220,31,207,15,255,31,220,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,128,0,0,255,31,0,0,0,0,0,0,0,0,0,0,0,0,132,252,47,62,80,189,255,243,224,67,0,0,255,255,255,255,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,255,255,255,255,255,255,3,0,0,255,255,255,255,255,127,255,255,255,255,255,127,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,120,12,0,255,255,255,255,191,32,255,255,255,255,255,255,255,128,0,0,255,255,127,0,127,127,127,127,127,127,127,127,255,255,255,255,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,0,0,0,254,3,62,31,254,255,255,255,255,255,255,255,255,255,127,224,254,255,255,255,255,255,255,255,255,255,255,247,224,255,255,255,255,63,254,255,255,255,255,255,255,255,255,255,255,127,0,0,255,255,255,7,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,0,0,0,0,0,0,0,0,255,255,255,255,255,63,255,31,255,255,255,15,0,0,255,255,255,255,255,127,240,143,255,255,255,128,255,255,255,255,255,255,255,255,255,255,0,0,0,0,128,255,252,255,255,255,255,255,255,255,255,255,255,255,255,121,15,0,255,7,0,0,0,0,0,0,0,0,0,255,187,247,255,255,255,0,0,0,255,255,255,255,255,255,15,0,255,255,255,255,255,255,255,255,15,0,255,3,0,0,252,8,255,255,255,255,255,7,255,255,255,255,7,0,255,255,255,31,255,255,255,255,255,255,247,255,0,128,255,3,0,0,0,0,255,255,255,255,255,255,127,0,255,63,255,3,255,255,127,4,255,255,255,255,255,255,255,127,5,0,0,56,255,255,60,0,126,126,126,0,127,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,7,255,3,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,15,0,255,255,127,248,255,255,255,255,255,15,255,255,255,255,255,255,255,255,255,255,255,255,255,63,255,255,255,255,255,255,255,255,255,255,255,255,255,3,0,0,0,0,127,0,248,224,255,253,127,95,219,255,255,255,255,255,255,255,255,255,255,255,255,255,3,0,0,0,248,255,255,255,255,255,255,255,255,255,255,255,255,63,0,0,255,255,255,255,255,255,255,255,252,255,255,255,255,255,255,0,0,0,0,0,255,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,223,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,0,0,255,3,254,255,255,7,254,255,255,7,192,255,255,255,255,255,255,255,255,255,255,127,252,252,252,28,0,0,0,0,255,239,255,255,127,255,255,183,255,63,255,63,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,7,0,0,0,0,0,0,0,0,255,255,255,255,255,255,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,31,255,255,255,255,255,255,1,0,0,0,0,0,255,255,255,127,0,0,255,255,255,7,0,0,0,0,0,0,255,255,255,63,255,255,255,255,15,255,62,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,255,3,0,0,0,0,0,0,0,0,0,0,63,253,255,255,255,255,191,145,255,255,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,63,0,255,255,255,3,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,192,0,0,0,0,0,0,0,0,111,240,239,254,255,255,15,0,0,0,0,0,255,255,255,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,63,0,255,255,63,0,255,255,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,63,0,0,0,192,255,0,0,252,255,255,255,255,255,255,1,0,0,255,255,255,1,255,3,255,255,255,255,255,255,199,255,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,30,0,255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,63,0,255,3,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,31,0,255,255,255,255,255,127,0,0,248,255,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,223,255,255,255,255,255,255,255,255,223,100,222,255,235,239,255,255,255,255,255,255,255,191,231,223,223,255,255,255,123,95,252,253,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,255,255,255,253,255,255,247,255,255,255,247,255,255,223,255,255,255,223,255,255,127,255,255,255,127,255,255,255,253,255,255,255,253,255,255,247,207,255,255,255,255,255,255,239,255,255,255,150,254,247,10,132,234,150,170,150,247,247,94,255,251,255,15,238,251,255,15,0,0,0,0,0,0,0,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,46,0,18,16,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,16,16,34,35,16,36,37,38,39,40,41,42,43,16,44,45,46,17,47,48,17,17,49,17,17,17,50,51,52,53,54,55,56,57,17,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,58,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,59,16,60,61,62,63,64,65,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,66,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,67,16,16,68,16,69,70,71,16,72,16,73,16,16,16,16,74,75,76,77,16,16,78,16,79,80,16,16,16,16,81,16,16,16,16,16,16,16,16,16,16,16,16,16,82,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,83,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,84,85,86,87,16,16,88,89,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,90,16,91,92,93,94,95,96,97,98,16,16,16,16,16,16,16,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,254,255,0,252,1,0,0,248,1,0,0,120,0,0,0,0,255,251,223,251,0,0,128,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,0,252,255,224,175,255,255,255,255,255,255,255,255,255,255,223,255,255,255,255,255,32,64,176,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,0,0,0,0,0,134,254,255,255,255,0,64,73,0,0,0,0,0,24,0,223,255,0,200,0,0,0,0,0,0,0,1,0,60,0,0,0,0,0,0,0,0,0,0,0,0,16,224,1,30,0,96,255,191,0,0,0,0,0,0,255,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,207,3,0,0,0,3,0,32,255,127,0,0,0,78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,0,0,0,0,0,0,0,0,0,16,0,32,30,0,48,0,1,0,0,0,0,0,0,0,0,16,0,32,0,0,0,0,252,15,0,0,0,0,0,0,0,16,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,32,0,0,0,0,3,0,0,0,0,0,0,0,0,16,0,32,0,0,0,0,253,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,255,7,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,255,0,0,0,0,0,0,0,16,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,63,2,0,0,0,0,0,0,0,0,0,4,0,0,0,0,16,0,0,0,0,0,0,128,0,128,192,223,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,31,0,0,0,0,0,0,254,255,255,255,0,252,255,255,0,0,0,0,0,0,0,0,252,0,0,0,0,0,0,192,255,223,255,7,0,0,0,0,0,0,0,0,0,0,128,6,0,252,0,0,24,62,0,0,128,191,0,204,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,96,255,255,255,31,0,0,255,3,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,0,0,1,0,0,24,0,0,0,0,0,0,0,0,0,56,0,0,0,0,16,0,0,0,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,0,0,254,127,47,0,0,255,3,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,196,255,255,255,255,0,0,0,192,0,0,0,0,0,0,0,0,1,0,224,159,0,0,0,0,127,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,16,0,0,252,255,255,255,31,0,0,0,0,0,12,0,0,0,0,0,0,64,0,12,240,0,0,0,0,0,0,192,248,0,0,0,0,0,0,0,192,0,0,0,0,0,0,0,0,255,0,255,255,255,33,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,127,0,0,240,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,3,224,0,224,0,224,0,96,128,248,255,255,255,252,255,255,255,255,255,127,31,252,241,127,255,127,0,0,255,255,255,3,0,0,255,255,255,255,1,0,123,3,208,193,175,66,0,12,31,188,255,255,0,0,0,0,0,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,15,0,255,255,255,255,127,0,0,0,255,7,0,0,255,255,255,255,255,255,255,255,255,255,63,0,0,0,0,0,0,252,255,255,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,135,3,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,127,255,15,0,0,0,0,0,0,0,0,255,255,255,251,255,255,255,255,255,255,255,255,255,255,15,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,0,0,0,255,15,30,255,255,255,1,252,193,224,0,0,0,0,0,0,0,0,0,0,0,30,1,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,0,0,255,255,255,255,15,0,0,0,255,255,255,127,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,127,0,0,0,0,0,0,192,0,224,0,0,0,0,0,0,0,0,0,0,0,128,15,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,255,255,127,0,3,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,68,8,0,0,0,15,255,3,0,0,0,0,0,0,240,0,0,0,0,0,0,0,0,0,16,192,0,0,255,255,3,7,0,0,0,0,0,248,0,0,0,0,8,128,0,0,0,0,0,0,0,0,0,0,8,0,255,63,0,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,0,0,128,11,0,0,0,0,0,0,0,128,2,0,0,192,0,0,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,255,255,255,3,127,0,255,255,255,255,247,255,127,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,254,255,0,252,1,0,0,248,1,0,0,248,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,127,127,0,48,135,255,255,255,255,255,143,255,0,0,0,0,0,0,224,255,255,7,255,15,0,0,0,0,0,0,255,255,255,255,255,63,0,0,0,0,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,143,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,135,255,0,255,1,0,0,0,224,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,63,252,255,63,0,0,0,3,0,0,0,0,0,0,254,3,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,225,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,7,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,0,255,255,255,255,127,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,0,0,0,0,255,255,255,255,255,255,255,255,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,127,0,255,255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,8,0,0,0,8,0,0,32,0,0,0,32,0,0,128,0,0,0,128,0,0,0,2,0,0,0,2,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,255,255,255,255,255,15,255,255,255,255,255,255,255,255,255,255,255,255,15,0,255,127,254,127,254,255,254,255,0,0,0,0,255,7,255,255,255,127,255,255,255,255,255,255,255,15,255,255,255,255,255,7,0,0,0,0,0,0,0,0,192,255,255,255,7,0,255,255,255,255,255,7,255,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,1,0,191,255,255,255,255,255,255,255,255,31,255,255,15,0,255,255,255,255,223,7,0,0,255,255,1,0,255,255,255,255,255,255,255,127,253,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,30,255,255,255,255,255,255,255,63,15,0,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,255,255,255,255,255,255,255,255,225,255,0,0,0,0,0,0,255,255,255,255,255,255,255,255,63,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,119,97,0,47,112,114,111,99,47,115,101,108,102,47,102,100,47,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+61440);var tempDoublePtr=STATICTOP;STATICTOP+=16;assert(tempDoublePtr%8==0);var PROCINFO={ppid:1,pid:42,sid:42,pgid:42};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};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"};function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;else Module.printErr("failed to set errno from JS");return value}var PATH={splitPath:(function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)}),normalizeArray:(function(parts,allowAboveRoot){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(allowAboveRoot){for(;up--;up){parts.unshift("..")}}return parts}),normalize:(function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";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){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir}),basename:(function(path){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();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}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(){}),shutdown:(function(){}),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){stream.tty.ops.flush(stream.tty)}),flush:(function(stream){stream.tty.ops.flush(stream.tty)}),read:(function(stream,buffer,offset,length,pos){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){var BUFSIZE=256;var buf=new Buffer(BUFSIZE);var bytesRead=0;var isPosixPlatform=process.platform!="win32";var fd=process.stdin.fd;if(isPosixPlatform){var usingDevice=false;try{fd=fs.openSync("/dev/stdin","r");usingDevice=true}catch(e){}}try{bytesRead=fs.readSync(fd,buf,0,BUFSIZE,null)}catch(e){if(e.toString().indexOf("EOF")!=-1)bytesRead=0;else throw e}if(usingDevice){fs.closeSync(fd)}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()}),put_char:(function(tty,val){if(val===null||val===10){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}})},default_tty1_ops:{put_char:(function(tty,val){if(val===null||val===10){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}})}};var MEMFS={ops_table:null,mount:(function(mount){return MEMFS.createNode(null,"/",16384|511,0)}),createNode:(function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;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();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}return node.contents}),getFileDataAsTypedArray:(function(node){if(!node.contents)return new Uint8Array;if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)}),expandFileStorage:(function(node,newCapacity){if(node.contents&&node.contents.subarray&&newCapacity>node.contents.length){node.contents=MEMFS.getFileDataAsRegularArray(node);node.usedBytes=node.contents.length}if(!node.contents||node.contents.subarray){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity<CAPACITY_DOUBLING_MAX?2:1.125)|0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return}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;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}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={};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);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(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)}}}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|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){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)){if(canOwn){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){node.contents=new Uint8Array(buffer.subarray(offset,offset+length));node.usedBytes=length;return length}else if(position+length<=node.usedBytes){node.contents.set(buffer.subarray(offset,offset+length),position);return length}}MEMFS.expandFileStorage(node,position+length);if(node.contents.subarray&&buffer.subarray)node.contents.set(buffer.subarray(offset,offset+length),position);else{for(var i=0;i<length;i++){node.contents[position+i]=buffer[offset+i]}}node.usedBytes=Math.max(node.usedBytes,position+length);return length}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.usedBytes}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position}),allocate:(function(stream,offset,length){MEMFS.expandFileStorage(stream.node,offset+length);stream.node.usedBytes=Math.max(stream.node.usedBytes,offset+length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}var ptr;var allocated;var contents=stream.node.contents;if(!(flags&2)&&(contents.buffer===buffer||contents.buffer===buffer.buffer)){allocated=false;ptr=contents.byteOffset}else{if(position>0||position+length<stream.node.usedBytes){if(contents.subarray){contents=contents.subarray(position,position+length)}else{contents=Array.prototype.slice.call(contents,position,position+length)}}allocated=true;ptr=_malloc(length);if(!ptr){throw new FS.ErrnoError(ERRNO_CODES.ENOMEM)}buffer.set(contents,ptr)}return{ptr:ptr,allocated:allocated}}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(mmapFlags&2){return 0}var bytesWritten=MEMFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0})}};var IDBFS={dbs:{},indexedDB:(function(){if(typeof indexedDB!=="undefined")return indexedDB;var ret=null;if(typeof window==="object")ret=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;assert(ret,"IDBFS used, but indexedDB not supported");return ret}),DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:(function(mount){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){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)}if(!req){return callback("Unable to connect to IndexedDB")}req.onupgradeneeded=(function(e){var db=e.target.result;var transaction=e.target.transaction;var fileStore;if(db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)){fileStore=transaction.objectStore(IDBFS.DB_STORE_NAME)}else{fileStore=db.createObjectStore(IDBFS.DB_STORE_NAME)}if(!fileStore.indexNames.contains("timestamp")){fileStore.createIndex("timestamp","timestamp",{unique:false})}});req.onsuccess=(function(){db=req.result;IDBFS.dbs[name]=db;callback(null,db)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),getLocalSet:(function(mount,callback){var entries={};function isRealDir(p){return p!=="."&&p!==".."}function toAbsolute(root){return(function(p){return PATH.join2(root,p)})}var check=FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));while(check.length){var path=check.pop();var stat;try{stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){check.push.apply(check,FS.readdir(path).filter(isRealDir).map(toAbsolute(path)))}entries[path]={timestamp:stat.mtime}}return callback(null,{type:"local",entries:entries})}),getRemoteSet:(function(mount,callback){var entries={};IDBFS.getDB(mount.mountpoint,(function(err,db){if(err)return callback(err);var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readonly");transaction.onerror=(function(e){callback(this.error);e.preventDefault()});var store=transaction.objectStore(IDBFS.DB_STORE_NAME);var index=store.index("timestamp");index.openKeyCursor().onsuccess=(function(event){var cursor=event.target.result;if(!cursor){return callback(null,{type:"remote",db:db,entries:entries})}entries[cursor.primaryKey]={timestamp:cursor.key};cursor.continue()})}))}),loadLocalEntry:(function(path,callback){var stat,node;try{var lookup=FS.lookupPath(path);node=lookup.node;stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){return callback(null,{timestamp:stat.mtime,mode:stat.mode})}else if(FS.isFile(stat.mode)){node.contents=MEMFS.getFileDataAsTypedArray(node);return callback(null,{timestamp:stat.mtime,mode:stat.mode,contents:node.contents})}else{return callback(new Error("node type not supported"))}}),storeLocalEntry:(function(path,entry,callback){try{if(FS.isDir(entry.mode)){FS.mkdir(path,entry.mode)}else if(FS.isFile(entry.mode)){FS.writeFile(path,entry.contents,{encoding:"binary",canOwn:true})}else{return callback(new Error("node type not supported"))}FS.chmod(path,entry.mode);FS.utime(path,entry.timestamp,entry.timestamp)}catch(e){return callback(e)}callback(null)}),removeLocalEntry:(function(path,callback){try{var lookup=FS.lookupPath(path);var stat=FS.stat(path);if(FS.isDir(stat.mode)){FS.rmdir(path)}else if(FS.isFile(stat.mode)){FS.unlink(path)}}catch(e){return callback(e)}callback(null)}),loadRemoteEntry:(function(store,path,callback){var req=store.get(path);req.onsuccess=(function(event){callback(null,event.target.result)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),storeRemoteEntry:(function(store,path,entry,callback){var req=store.put(entry,path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),removeRemoteEntry:(function(store,path,callback){var req=store.delete(path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),reconcile:(function(src,dst,callback){var total=0;var create=[];Object.keys(src.entries).forEach((function(key){var e=src.entries[key];var e2=dst.entries[key];if(!e2||e.timestamp>e2.timestamp){create.push(key);total++}}));var remove=[];Object.keys(dst.entries).forEach((function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}}));if(!total){return callback(null)}var completed=0;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=(function(e){done(this.error);e.preventDefault()});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)}))}}));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){stat.mode=stat.mode|(stat.mode&146)>>1}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return stat.mode}),realPath:(function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)}),flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:(function(flags){flags&=~2097152;flags&=~2048;flags&=~32768;flags&=~524288;if(flags in NODEFS.flagsToPermissionStringMap){return NODEFS.flagsToPermissionStringMap[flags]}else{throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),node_ops:{getattr:(function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}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);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);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return node}),rename:(function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),unlink:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),rmdir:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readdir:(function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),symlink:(function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readlink:(function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}})},stream_ops:{open:(function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsToPermissionString(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),close:(function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),read:(function(stream,buffer,offset,length,position){if(length===0)return 0;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){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){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:(function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i<parts.length-1;i++){var curr=parts.slice(0,i+1).join("/");if(!createdParents[curr]){createdParents[curr]=WORKERFS.createNode(parent,parts[i],WORKERFS.DIR_MODE,0)}parent=createdParents[curr]}return parent}function base(path){var parts=path.split("/");return parts[parts.length-1]}Array.prototype.forEach.call(mount.opts["files"]||[],(function(file){WORKERFS.createNode(ensureParent(file.name),base(file.name),WORKERFS.FILE_MODE,0,file,file.lastModifiedDate)}));(mount.opts["blobs"]||[]).forEach((function(obj){WORKERFS.createNode(ensureParent(obj["name"]),base(obj["name"]),WORKERFS.FILE_MODE,0,obj["data"])}));(mount.opts["packages"]||[]).forEach((function(pack){pack["metadata"].files.forEach((function(file){var name=file.filename.substr(1);WORKERFS.createNode(ensureParent(name),base(name),WORKERFS.FILE_MODE,0,pack["blob"].slice(file.start,file.end))}))}));return root}),createNode:(function(parent,name,mode,dev,contents,mtime){var node=FS.createNode(parent,name,mode);node.mode=mode;node.node_ops=WORKERFS.node_ops;node.stream_ops=WORKERFS.stream_ops;node.timestamp=(mtime||new Date).getTime();assert(WORKERFS.FILE_MODE!==WORKERFS.DIR_MODE);if(mode===WORKERFS.FILE_MODE){node.size=contents.size;node.contents=contents}else{node.size=4096;node.contents={}}if(parent){parent.contents[name]=node}return node}),node_ops:{getattr:(function(node){return{dev:1,ino:undefined,mode:node.mode,nlink:1,uid:0,gid:0,rdev:undefined,size:node.size,atime:new Date(node.timestamp),mtime:new Date(node.timestamp),ctime:new Date(node.timestamp),blksize:4096,blocks:Math.ceil(node.size/4096)}}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}}),lookup:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}),mknod:(function(parent,name,mode,dev){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rename:(function(oldNode,newDir,newName){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),unlink:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rmdir:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readdir:(function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),symlink:(function(parent,newName,oldPath){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readlink:(function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)})},stream_ops:{read:(function(stream,buffer,offset,length,position){if(position>=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size}),write:(function(stream,buffer,offset,length,position){throw new FS.ErrnoError(ERRNO_CODES.EIO)}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};STATICTOP+=16;STATICTOP+=16;STATICTOP+=16;var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:(function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)}),lookupPath:(function(path,opts){path=PATH.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}var parts=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),false);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){break}current=FS.lookupNode(current,parts[i]);current_path=PATH.join2(current_path,parts[i]);if(FS.isMountpoint(current)){if(!islast||islast&&opts.follow_mount){current=current.mounted.root}}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){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}}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}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={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:(function(){return(this.mode&readMode)===readMode}),set:(function(val){val?this.mode|=readMode:this.mode&=~readMode})},write:{get:(function(){return(this.mode&writeMode)===writeMode}),set:(function(val){val?this.mode|=writeMode:this.mode&=~writeMode})},isFolder:{get:(function(){return FS.isDir(this.mode)})},isDevice:{get:(function(){return FS.isChrdev(this.mode)})}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node}),destroyNode:(function(node){FS.hashRemoveNode(node)}),isRoot:(function(node){return node===node.parent}),isMountpoint:(function(node){return!!node.mounted}),isFile:(function(mode){return(mode&61440)===32768}),isDir:(function(mode){return(mode&61440)===16384}),isLink:(function(mode){return(mode&61440)===40960}),isChrdev:(function(mode){return(mode&61440)===8192}),isBlkdev:(function(mode){return(mode&61440)===24576}),isFIFO:(function(mode){return(mode&61440)===4096}),isSocket:(function(mode){return(mode&49152)===49152}),flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:(function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags}),flagsToPermissionString:(function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms}),nodePermissions:(function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return ERRNO_CODES.EACCES}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return ERRNO_CODES.EACCES}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return ERRNO_CODES.EACCES}return 0}),mayLookup:(function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return ERRNO_CODES.EACCES;return 0}),mayCreate:(function(dir,name){try{var node=FS.lookupNode(dir,name);return ERRNO_CODES.EEXIST}catch(e){}return FS.nodePermissions(dir,"wx")}),mayDelete:(function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return ERRNO_CODES.ENOTDIR}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return ERRNO_CODES.EBUSY}}else{if(FS.isDir(node.mode)){return ERRNO_CODES.EISDIR}}return 0}),mayOpen:(function(node,flags){if(!node){return ERRNO_CODES.ENOENT}if(FS.isLink(node.mode)){return ERRNO_CODES.ELOOP}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||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={};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})}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream}),closeStream:(function(fd){FS.streams[fd]=null}),chrdev_stream_ops:{open:(function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;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&255}),makedev:(function(ma,mi){return ma<<8|mi}),registerDevice:(function(dev,ops){FS.devices[dev]={stream_ops:ops}}),getDevice:(function(dev){return FS.devices[dev]}),getMounts:(function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts}),syncfs:(function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){assert(FS.syncFSRequests>0);FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}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;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:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;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)}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}}));node.mounted=null;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;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)}),mkdir:(function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)}),mkdirTree:(function(path,mode){var dirs=path.split("/");var d="";for(var i=0;i<dirs.length;++i){if(!dirs[i])continue;d+="/"+dirs[i];try{FS.mkdir(d,mode)}catch(e){if(e.errno!=ERRNO_CODES.EEXIST)throw e}}}),mkdev:(function(path,mode,dev){if(typeof dev==="undefined"){dev=mode;mode=438}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);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);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(ERRNO_CODES.EXDEV)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}relative=PATH.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var err=FS.mayDelete(old_dir,old_name,isdir);if(err){throw new FS.ErrnoError(err)}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(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)}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{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){throw new FS.ErrnoError(err)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.unlink(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readlink:(function(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!link.node_ops.readlink){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return PATH.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))}),stat:(function(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!node.node_ops.getattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return node.node_ops.getattr(node)}),lstat:(function(path){return FS.stat(path,true)}),chmod:(function(path,mode,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})}),lchmod:(function(path,mode){FS.chmod(path,mode,true)}),fchmod:(function(fd,mode){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chmod(stream.node,mode)}),chown:(function(path,uid,gid,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{timestamp:Date.now()})}),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: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){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(ERRNO_CODES.EEXIST)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}if(!created){var err=FS.mayOpen(node,flags);if(err){throw new FS.ErrnoError(err)}}if(flags&512){FS.truncate(node,0)}flags&=~(128|512);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false},fd_start,fd_end);if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1;Module["printErr"]("read file: "+path)}}try{if(FS.trackingDelegate["onOpenFile"]){var trackingFlags=0;if((flags&2097155)!==1){trackingFlags|=FS.tracking.openFlags.READ}if((flags&2097155)!==0){trackingFlags|=FS.tracking.openFlags.WRITE}FS.trackingDelegate["onOpenFile"](path,trackingFlags)}}catch(e){console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: "+e.message)}return stream}),close:(function(stream){if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}}),llseek:(function(stream,offset,whence){if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position}),read:(function(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.read){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead}),write:(function(stream,buffer,offset,length,position,canOwn){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.write){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if(stream.flags&1024){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){if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EACCES)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}return stream.stream_ops.mmap(stream,buffer,offset,length,position,prot,flags)}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!stream||!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)}),munmap:(function(stream){return 0}),ioctl:(function(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(ERRNO_CODES.ENOTTY)}return stream.stream_ops.ioctl(stream,cmd,arg)}),readFile:(function(path,opts){opts=opts||{};opts.flags=opts.flags||"r";opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret}),writeFile:(function(path,data,opts){opts=opts||{};opts.flags=opts.flags||"w";opts.encoding=opts.encoding||"utf8";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var stream=FS.open(path,opts.flags,opts.mode);if(opts.encoding==="utf8"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,0,opts.canOwn)}else if(opts.encoding==="binary"){FS.write(stream,data,0,data.length,0,opts.canOwn)}FS.close(stream)}),cwd:(function(){return FS.currentPath}),chdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}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(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:(function(){return 0}),write:(function(stream,buffer,offset,length,pos){return length})});FS.mkdev("/dev/null",FS.makedev(1,3));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));var random_device;if(typeof crypto!=="undefined"){var randomBuffer=new Uint8Array(1);random_device=(function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]})}else if(ENVIRONMENT_IS_NODE){random_device=(function(){return require("crypto").randomBytes(1)[0]})}else{random_device=(function(){return Math.random()*256|0})}FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")}),createSpecialDirectories:(function(){FS.mkdir("/proc");FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:(function(){var node=FS.createNode("/proc/self","fd",16384|511,73);node.node_ops={lookup:(function(parent,name){var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:(function(){return stream.path})}};ret.parent=ret;return ret})};return node})},{},"/proc/self/fd")}),createStandardStreams:(function(){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")}var stdin=FS.open("/dev/stdin","r");assert(stdin.fd===0,"invalid handle for stdin ("+stdin.fd+")");var stdout=FS.open("/dev/stdout","w");assert(stdout.fd===1,"invalid handle for stdout ("+stdout.fd+")");var stderr=FS.open("/dev/stderr","w");assert(stderr.fd===2,"invalid handle for stderr ("+stderr.fd+")")}),ensureErrnoError:(function(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){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;[ERRNO_CODES.ENOENT].forEach((function(code){FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack="<generic error, no stack>"}))}),staticInit:(function(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS,"IDBFS":IDBFS,"NODEFS":NODEFS,"WORKERFS":WORKERFS}}),init:(function(input,output,error){assert(!FS.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)");FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()}),quit:(function(){FS.init.initialized=false;var fflush=Module["_fflush"];if(fflush)fflush(0);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){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){}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}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);FS.registerDevice(dev,{open:(function(stream){stream.seekable=false}),close:(function(stream){if(output&&output.buffer&&output.buffer.length){output(10)}}),read:(function(stream,buffer,offset,length,pos){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"]){try{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){function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}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(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;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!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);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;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]}));if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._length})},chunkSize:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize})}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:(function(){return this.contents.length})}});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)}}));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){for(var i=0;i<size;i++){buffer[offset+i]=contents[position+i]}}else{for(var i=0;i<size;i++){buffer[offset+i]=contents.get(position+i)}}return size};node.stream_ops=stream_ops;return node}),createPreloadedFile:(function(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish){Browser.init();var fullname=name?PATH.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency("cp "+fullname);function processData(byteArray){function finish(byteArray){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}var handled=false;Module["preloadPlugins"].forEach((function(plugin){if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,(function(){if(onerror)onerror();removeRunDependency(dep)}));handled=true}}));if(!handled)finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){Browser.asyncLoad(url,(function(byteArray){processData(byteArray)}),onerror)}else{processData(url)}}),indexedDB:(function(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB}),DB_NAME:(function(){return"EM_FS_"+window.location.pathname}),DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=function openRequest_onupgradeneeded(){console.log("creating db");var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME)};openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;var transaction=db.transaction([FS.DB_STORE_NAME],"readwrite");var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var putRequest=files.put(FS.analyzePath(path).object.contents,path);putRequest.onsuccess=function putRequest_onsuccess(){ok++;if(ok+fail==total)finish()};putRequest.onerror=function putRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror}),loadFilesFromDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=onerror;openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;try{var transaction=db.transaction([FS.DB_STORE_NAME],"readonly")}catch(e){onerror(e);return}var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var getRequest=files.get(path);getRequest.onsuccess=function getRequest_onsuccess(){if(FS.analyzePath(path).exists){FS.unlink(path)}FS.createDataFile(PATH.dirname(path),PATH.basename(path),getRequest.result,true,true,true);ok++;if(ok+fail==total)finish()};getRequest.onerror=function getRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror})};var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:(function(dirfd,path){if(path[0]!=="/"){var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=FS.getStream(dirfd);if(!dirstream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);dir=dirstream.path}path=PATH.join2(dir,path)}return path}),doStat:(function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-ERRNO_CODES.ENOTDIR}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;HEAP32[buf+36>>2]=stat.size;HEAP32[buf+40>>2]=4096;HEAP32[buf+44>>2]=stat.blocks;HEAP32[buf+48>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+52>>2]=0;HEAP32[buf+56>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ino;return 0}),doMsync:(function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)}),doMkdir:(function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0}),doMknod:(function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-ERRNO_CODES.EINVAL}FS.mknod(path,mode,dev);return 0}),doReadlink:(function(path,buf,bufsize){if(bufsize<=0)return-ERRNO_CODES.EINVAL;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len}),doAccess:(function(path,amode){if(amode&~7){return-ERRNO_CODES.EINVAL}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-ERRNO_CODES.EACCES}return 0}),doDup:(function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd}),doReadv:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr<len)break}return ret}),doWritev:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret}),varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),getStreamFromFD:(function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return stream}),getSocketFromFD:(function(){var socket=SOCKFS.getSocket(SYSCALLS.get());if(!socket)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return socket}),getSocketAddress:(function(allowNull){var addrp=SYSCALLS.get(),addrlen=SYSCALLS.get();if(allowNull&&addrp===0)return null;var info=__read_sockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall64(which,varargs){SYSCALLS.varargs=varargs;try{return PROCINFO.ppid}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_i64Subtract"]=_i64Subtract;function _sysconf(name){switch(name){case 30:return PAGE_SIZE;case 85:var maxHeapSize=2*1024*1024*1024-16777216;maxHeapSize=HEAPU8.length;return maxHeapSize/PAGE_SIZE;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;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}function ___syscall20(which,varargs){SYSCALLS.varargs=varargs;try{return PROCINFO.pid}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _pthread_mutex_destroy(){}Module["_memset"]=_memset;Module["_pthread_mutex_lock"]=_pthread_mutex_lock;function _atexit(func,arg){__ATEXIT__.unshift({func:func,arg:arg})}function _abort(){Module["abort"]()}function ___syscall195(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall194(which,varargs){SYSCALLS.varargs=varargs;try{var fd=SYSCALLS.get(),zero=SYSCALLS.getZero(),length=SYSCALLS.get64();FS.ftruncate(fd,length);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall197(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,stream.path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall202(which,varargs){SYSCALLS.varargs=varargs;try{return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall199(){return ___syscall202.apply(null,arguments)}Module["_i64Add"]=_i64Add;var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_STATIC);Module["_llvm_cttz_i32"]=_llvm_cttz_i32;Module["___udivmoddi4"]=___udivmoddi4;Module["___divdi3"]=___divdi3;function _pthread_mutex_init(){}function ___lock(){}function ___unlock(){}function ___assert_fail(condition,filename,line,func){ABORT=true;throw"Assertion failed: "+Pointer_stringify(condition)+", at: "+[filename?Pointer_stringify(filename):"unknown filename",line,func?Pointer_stringify(func):"unknown function"]+" at "+stackTrace()}function _clock(){if(_clock.start===undefined)_clock.start=Date.now();return(Date.now()-_clock.start)*(1e6/1e3)|0}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;Module["_memmove"]=_memmove;function ___syscall91(which,varargs){SYSCALLS.varargs=varargs;try{var addr=SYSCALLS.get(),len=SYSCALLS.get();var info=SYSCALLS.mappings[addr];if(!info)return 0;if(len===info.len){var stream=FS.getStream(info.fd);SYSCALLS.doMsync(addr,stream,len,info.flags);FS.munmap(stream);SYSCALLS.mappings[addr]=null;if(info.allocated){_free(info.malloc)}}return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_llvm_bswap_i32"]=_llvm_bswap_i32;function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21505:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21506:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21519:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0};case 21520:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return-ERRNO_CODES.EINVAL};case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)};case 21523:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var ___tm_current=STATICTOP;STATICTOP+=48;var ___tm_timezone=allocate(intArrayFromString("GMT"),"i8",ALLOC_STATIC);var _tzname=STATICTOP;STATICTOP+=16;var _daylight=STATICTOP;STATICTOP+=16;var _timezone=STATICTOP;STATICTOP+=16;function _tzset(){if(_tzset.called)return;_tzset.called=true;HEAP32[_timezone>>2]=-(new Date).getTimezoneOffset()*60;var winter=new Date(2e3,0,1);var summer=new Date(2e3,6,1);HEAP32[_daylight>>2]=Number(winter.getTimezoneOffset()!=summer.getTimezoneOffset());function extractZone(date){var match=date.toTimeString().match(/\(([A-Za-z ]+)\)$/);return match?match[1]:"GMT"}var winterName=extractZone(winter);var summerName=extractZone(summer);var winterNamePtr=allocate(intArrayFromString(winterName),"i8",ALLOC_NORMAL);var summerNamePtr=allocate(intArrayFromString(summerName),"i8",ALLOC_NORMAL);if(summer.getTimezoneOffset()<winter.getTimezoneOffset()){HEAP32[_tzname>>2]=winterNamePtr;HEAP32[_tzname+4>>2]=summerNamePtr}else{HEAP32[_tzname>>2]=summerNamePtr;HEAP32[_tzname+4>>2]=winterNamePtr}}function _localtime_r(time,tmPtr){_tzset();var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var start=new Date(date.getFullYear(),0,1);var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var summerOffset=(new Date(2e3,6,1)).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=date.getTimezoneOffset()==Math.min(winterOffset,summerOffset)|0;HEAP32[tmPtr+32>>2]=dst;var zonePtr=HEAP32[_tzname+(dst?Runtime.QUANTUM_SIZE:0)>>2];HEAP32[tmPtr+40>>2]=zonePtr;return tmPtr}function _localtime(time){return _localtime_r(time,___tm_current)}function ___syscall77(which,varargs){SYSCALLS.varargs=varargs;try{var who=SYSCALLS.get(),usage=SYSCALLS.get();_memset(usage,0,136);HEAP32[usage>>2]=1;HEAP32[usage+4>>2]=2;HEAP32[usage+8>>2]=3;HEAP32[usage+12>>2]=4;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_bitshift64Ashr"]=_bitshift64Ashr;Module["_bitshift64Lshr"]=_bitshift64Lshr;function ___syscall33(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),amode=SYSCALLS.get();return SYSCALLS.doAccess(path,amode)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var _environ=STATICTOP;STATICTOP+=16;function ___buildEnvironment(env){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]=ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]="C";ENV["_"]=Module["thisProgram"];poolPtr=allocate(TOTAL_ENV_SIZE,"i8",ALLOC_STATIC);envPtr=allocate(MAX_ENV_VALUES*4,"i8*",ALLOC_STATIC);HEAP32[envPtr>>2]=poolPtr;HEAP32[_environ>>2]=envPtr}else{envPtr=HEAP32[_environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in env){if(typeof env[key]==="string"){var line=key+"="+env[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i<strings.length;i++){var line=strings[i];writeAsciiToMemory(line,poolPtr);HEAP32[envPtr+i*ptrSize>>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}var ENV={};function _getenv(name){if(name===0)return 0;name=Pointer_stringify(name);if(!ENV.hasOwnProperty(name))return 0;if(_getenv.ret)_free(_getenv.ret);_getenv.ret=allocate(intArrayFromString(ENV[name]),"i8",ALLOC_NORMAL);return _getenv.ret}function _gettimeofday(ptr){var now=Date.now();HEAP32[ptr>>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}Module["_pthread_mutex_unlock"]=_pthread_mutex_unlock;function ___syscall3(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.read(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _llvm_stackrestore(p){var self=_llvm_stacksave;var ret=self.LLVM_SAVEDSTACKS[p];self.LLVM_SAVEDSTACKS.splice(p,1);Runtime.stackRestore(ret)}Module["___udivdi3"]=___udivdi3;Module["___muldsi3"]=___muldsi3;Module["___muldi3"]=___muldi3;Module["_sbrk"]=_sbrk;Module["_bitshift64Shl"]=_bitshift64Shl;function _llvm_stacksave(){var self=_llvm_stacksave;if(!self.LLVM_SAVEDSTACKS){self.LLVM_SAVEDSTACKS=[]}self.LLVM_SAVEDSTACKS.push(Runtime.stackSave());return self.LLVM_SAVEDSTACKS.length-1}Module["___uremdi3"]=___uremdi3;function ___syscall4(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.write(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall192(which,varargs){SYSCALLS.varargs=varargs;try{var addr=SYSCALLS.get(),len=SYSCALLS.get(),prot=SYSCALLS.get(),flags=SYSCALLS.get(),fd=SYSCALLS.get(),off=SYSCALLS.get();off<<=12;var ptr;var allocated=false;if(fd===-1){ptr=_memalign(PAGE_SIZE,len);if(!ptr)return-ERRNO_CODES.ENOMEM;_memset(ptr,0,len);allocated=true}else{var info=FS.getStream(fd);if(!info)return-ERRNO_CODES.EBADF;var res=FS.mmap(info,HEAPU8,addr,len,off,prot,flags);ptr=res.ptr;allocated=res.allocated}SYSCALLS.mappings[ptr]={malloc:ptr,len:len,allocated:allocated,fd:fd,flags:flags};return ptr}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall201(){return ___syscall202.apply(null,arguments)}function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]);return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strftime(s,maxsize,format,tm){var tm_zone=HEAP32[tm+40>>2];var date={tm_sec:HEAP32[tm>>2],tm_min:HEAP32[tm+4>>2],tm_hour:HEAP32[tm+8>>2],tm_mday:HEAP32[tm+12>>2],tm_mon:HEAP32[tm+16>>2],tm_year:HEAP32[tm+20>>2],tm_wday:HEAP32[tm+24>>2],tm_yday:HEAP32[tm+28>>2],tm_isdst:HEAP32[tm+32>>2],tm_gmtoff:HEAP32[tm+36>>2],tm_zone:tm_zone?Pointer_stringify(tm_zone):""};var pattern=Pointer_stringify(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value==="number"?value.toString():value||"";while(str.length<digits){str=character[0]+str}return str}function leadingNulls(value,digits){return leadingSomething(value,digits,"0")}function compareByDay(date1,date2){function sgn(value){return value<0?-1:value>0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}else{return thisDate.getFullYear()}}else{return thisDate.getFullYear()-1}}var EXPANSION_RULES_2={"%a":(function(date){return WEEKDAYS[date.tm_wday].substring(0,3)}),"%A":(function(date){return WEEKDAYS[date.tm_wday]}),"%b":(function(date){return MONTHS[date.tm_mon].substring(0,3)}),"%B":(function(date){return MONTHS[date.tm_mon]}),"%C":(function(date){var year=date.tm_year+1900;return leadingNulls(year/100|0,2)}),"%d":(function(date){return leadingNulls(date.tm_mday,2)}),"%e":(function(date){return leadingSomething(date.tm_mday,2," ")}),"%g":(function(date){return getWeekBasedYear(date).toString().substring(2)}),"%G":(function(date){return getWeekBasedYear(date)}),"%H":(function(date){return leadingNulls(date.tm_hour,2)}),"%I":(function(date){var twelveHour=date.tm_hour;if(twelveHour==0)twelveHour=12;else if(twelveHour>12)twelveHour-=12;return leadingNulls(twelveHour,2)}),"%j":(function(date){return leadingNulls(date.tm_mday+__arraySum(__isLeapYear(date.tm_year+1900)?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,date.tm_mon-1),3)}),"%m":(function(date){return leadingNulls(date.tm_mon+1,2)}),"%M":(function(date){return leadingNulls(date.tm_min,2)}),"%n":(function(){return"\n"}),"%p":(function(date){if(date.tm_hour>=0&&date.tm_hour<12){return"AM"}else{return"PM"}}),"%S":(function(date){return leadingNulls(date.tm_sec,2)}),"%t":(function(){return"\t"}),"%u":(function(date){var day=new Date(date.tm_year+1900,date.tm_mon+1,date.tm_mday,0,0,0,0);return day.getDay()||7}),"%U":(function(date){var janFirst=new Date(date.tm_year+1900,0,1);var firstSunday=janFirst.getDay()===0?janFirst:__addDays(janFirst,7-janFirst.getDay());var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstSunday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstSundayUntilEndJanuary=31-firstSunday.getDate();var days=firstSundayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstSunday,janFirst)===0?"01":"00"}),"%V":(function(date){var janFourthThisYear=new Date(date.tm_year+1900,0,4);var janFourthNextYear=new Date(date.tm_year+1901,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);var endDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);if(compareByDay(endDate,firstWeekStartThisYear)<0){return"53"}if(compareByDay(firstWeekStartNextYear,endDate)<=0){return"01"}var daysDifference;if(firstWeekStartThisYear.getFullYear()<date.tm_year+1900){daysDifference=date.tm_yday+32-firstWeekStartThisYear.getDate()}else{daysDifference=date.tm_yday+1-firstWeekStartThisYear.getDate()}return leadingNulls(Math.ceil(daysDifference/7),2)}),"%w":(function(date){var day=new Date(date.tm_year+1900,date.tm_mon+1,date.tm_mday,0,0,0,0);return day.getDay()}),"%W":(function(date){var janFirst=new Date(date.tm_year,0,1);var firstMonday=janFirst.getDay()===1?janFirst:__addDays(janFirst,janFirst.getDay()===0?1:7-janFirst.getDay()+1);var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstMonday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstMondayUntilEndJanuary=31-firstMonday.getDate();var days=firstMondayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstMonday,janFirst)===0?"01":"00"}),"%y":(function(date){return(date.tm_year+1900).toString().substring(2)}),"%Y":(function(date){return date.tm_year+1900}),"%z":(function(date){var off=date.tm_gmtoff;var ahead=off>=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?"+":"-")+String("0000"+off).slice(-4)}),"%Z":(function(date){return date.tm_zone}),"%%":(function(){return"%"})};for(var rule in EXPANSION_RULES_2){if(pattern.indexOf(rule)>=0){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date))}}var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}function ___syscall142(which,varargs){SYSCALLS.varargs=varargs;try{var nfds=SYSCALLS.get(),readfds=SYSCALLS.get(),writefds=SYSCALLS.get(),exceptfds=SYSCALLS.get(),timeout=SYSCALLS.get();assert(nfds<=64,"nfds must be less than or equal to 64");assert(!exceptfds,"exceptfds not supported");var total=0;var srcReadLow=readfds?HEAP32[readfds>>2]:0,srcReadHigh=readfds?HEAP32[readfds+4>>2]:0;var srcWriteLow=writefds?HEAP32[writefds>>2]:0,srcWriteHigh=writefds?HEAP32[writefds+4>>2]:0;var srcExceptLow=exceptfds?HEAP32[exceptfds>>2]:0,srcExceptHigh=exceptfds?HEAP32[exceptfds+4>>2]:0;var dstReadLow=0,dstReadHigh=0;var dstWriteLow=0,dstWriteHigh=0;var dstExceptLow=0,dstExceptHigh=0;var allLow=(readfds?HEAP32[readfds>>2]:0)|(writefds?HEAP32[writefds>>2]:0)|(exceptfds?HEAP32[exceptfds>>2]:0);var allHigh=(readfds?HEAP32[readfds+4>>2]:0)|(writefds?HEAP32[writefds+4>>2]:0)|(exceptfds?HEAP32[exceptfds+4>>2]:0);function check(fd,low,high,val){return fd<32?low&val:high&val}for(var fd=0;fd<nfds;fd++){var mask=1<<fd%32;if(!check(fd,allLow,allHigh,mask)){continue}var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var flags=SYSCALLS.DEFAULT_POLLMASK;if(stream.stream_ops.poll){flags=stream.stream_ops.poll(stream)}if(flags&1&&check(fd,srcReadLow,srcReadHigh,mask)){fd<32?dstReadLow=dstReadLow|mask:dstReadHigh=dstReadHigh|mask;total++}if(flags&4&&check(fd,srcWriteLow,srcWriteHigh,mask)){fd<32?dstWriteLow=dstWriteLow|mask:dstWriteHigh=dstWriteHigh|mask;total++}if(flags&2&&check(fd,srcExceptLow,srcExceptHigh,mask)){fd<32?dstExceptLow=dstExceptLow|mask:dstExceptHigh=dstExceptHigh|mask;total++}}if(readfds){HEAP32[readfds>>2]=dstReadLow;HEAP32[readfds+4>>2]=dstReadHigh}if(writefds){HEAP32[writefds>>2]=dstWriteLow;HEAP32[writefds+4>>2]=dstWriteHigh}if(exceptfds){HEAP32[exceptfds>>2]=dstExceptLow;HEAP32[exceptfds+4>>2]=dstExceptHigh}return total}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;assert(offset_high===0);FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["___remdi3"]=___remdi3;function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-ERRNO_CODES.EINVAL}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd};case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0};case 12:case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0};case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-ERRNO_CODES.EINVAL;case 9:___setErrNo(ERRNO_CODES.EINVAL);return-1;default:{return-ERRNO_CODES.EINVAL}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}FS.staticInit();__ATINIT__.unshift((function(){if(!Module["noFSInit"]&&!FS.init.initialized)FS.init()}));__ATMAIN__.push((function(){FS.ignorePermissions=false}));__ATEXIT__.push((function(){FS.quit()}));Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;__ATINIT__.unshift((function(){TTY.init()}));__ATEXIT__.push((function(){TTY.shutdown()}));if(ENVIRONMENT_IS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}___buildEnvironment(ENV);DYNAMICTOP_PTR=allocate(1,"i32",ALLOC_STATIC);STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=Runtime.alignMemory(STACK_MAX);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;staticSealed=true;assert(DYNAMIC_BASE<TOTAL_MEMORY,"TOTAL_MEMORY not big enough for stack");function nullFunc_iiii(x){Module["printErr"]("Invalid function pointer called with signature 'iiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_viiiii(x){Module["printErr"]("Invalid function pointer called with signature 'viiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_vi(x){Module["printErr"]("Invalid function pointer called with signature 'vi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_vii(x){Module["printErr"]("Invalid function pointer called with signature 'vii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_ii(x){Module["printErr"]("Invalid function pointer called with signature 'ii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_viii(x){Module["printErr"]("Invalid function pointer called with signature 'viii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_v(x){Module["printErr"]("Invalid function pointer called with signature 'v'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_iiiii(x){Module["printErr"]("Invalid function pointer called with signature 'iiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_viiiiii(x){Module["printErr"]("Invalid function pointer called with signature 'viiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_iii(x){Module["printErr"]("Invalid function pointer called with signature 'iii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_viiii(x){Module["printErr"]("Invalid function pointer called with signature 'viiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x)}function invoke_iiii(index,a1,a2,a3){try{return Module["dynCall_iiii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiii(index,a1,a2,a3,a4,a5){try{Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vi(index,a1){try{Module["dynCall_vi"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vii(index,a1,a2){try{Module["dynCall_vii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_ii(index,a1){try{return Module["dynCall_ii"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viii(index,a1,a2,a3){try{Module["dynCall_viii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_v(index){try{Module["dynCall_v"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiiii(index,a1,a2,a3,a4){try{return Module["dynCall_iiiii"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6){try{Module["dynCall_viiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iii(index,a1,a2){try{return Module["dynCall_iii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiii(index,a1,a2,a3,a4){try{Module["dynCall_viiii"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}Module.asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Uint32Array":Uint32Array,"Float32Array":Float32Array,"Float64Array":Float64Array,"NaN":NaN,"Infinity":Infinity};Module.asmLibraryArg={"abort":abort,"assert":assert,"enlargeMemory":enlargeMemory,"getTotalMemory":getTotalMemory,"abortOnCannotGrowMemory":abortOnCannotGrowMemory,"abortStackOverflow":abortStackOverflow,"nullFunc_iiii":nullFunc_iiii,"nullFunc_viiiii":nullFunc_viiiii,"nullFunc_vi":nullFunc_vi,"nullFunc_vii":nullFunc_vii,"nullFunc_ii":nullFunc_ii,"nullFunc_viii":nullFunc_viii,"nullFunc_v":nullFunc_v,"nullFunc_iiiii":nullFunc_iiiii,"nullFunc_viiiiii":nullFunc_viiiiii,"nullFunc_iii":nullFunc_iii,"nullFunc_viiii":nullFunc_viiii,"invoke_iiii":invoke_iiii,"invoke_viiiii":invoke_viiiii,"invoke_vi":invoke_vi,"invoke_vii":invoke_vii,"invoke_ii":invoke_ii,"invoke_viii":invoke_viii,"invoke_v":invoke_v,"invoke_iiiii":invoke_iiiii,"invoke_viiiiii":invoke_viiiiii,"invoke_iii":invoke_iii,"invoke_viiii":invoke_viiii,"___syscall221":___syscall221,"_pthread_mutex_init":_pthread_mutex_init,"___syscall64":___syscall64,"_abort":_abort,"___syscall202":___syscall202,"___syscall20":___syscall20,"_llvm_stackrestore":_llvm_stackrestore,"___assert_fail":___assert_fail,"___buildEnvironment":___buildEnvironment,"__addDays":__addDays,"_localtime_r":_localtime_r,"_tzset":_tzset,"___setErrNo":___setErrNo,"___syscall192":___syscall192,"___syscall197":___syscall197,"___syscall195":___syscall195,"___syscall194":___syscall194,"___syscall199":___syscall199,"_sysconf":_sysconf,"_strftime":_strftime,"_clock":_clock,"__arraySum":__arraySum,"_emscripten_memcpy_big":_emscripten_memcpy_big,"___syscall91":___syscall91,"_pthread_mutex_destroy":_pthread_mutex_destroy,"_llvm_stacksave":_llvm_stacksave,"___syscall77":___syscall77,"_getenv":_getenv,"___syscall33":___syscall33,"___syscall54":___syscall54,"___unlock":___unlock,"__isLeapYear":__isLeapYear,"___syscall3":___syscall3,"___lock":___lock,"___syscall6":___syscall6,"___syscall5":___syscall5,"___syscall4":___syscall4,"_time":_time,"_gettimeofday":_gettimeofday,"___syscall201":___syscall201,"_atexit":_atexit,"___syscall140":___syscall140,"_localtime":_localtime,"___syscall142":___syscall142,"___syscall145":___syscall145,"___syscall146":___syscall146,"DYNAMICTOP_PTR":DYNAMICTOP_PTR,"tempDoublePtr":tempDoublePtr,"ABORT":ABORT,"STACKTOP":STACKTOP,"STACK_MAX":STACK_MAX,"cttz_i8":cttz_i8};// EMSCRIPTEN_START_ASM
-var asm=(function(global,env,buffer) {
-"use asm";var a=new global.Int8Array(buffer);var b=new global.Int16Array(buffer);var c=new global.Int32Array(buffer);var d=new global.Uint8Array(buffer);var e=new global.Uint16Array(buffer);var f=new global.Uint32Array(buffer);var g=new global.Float32Array(buffer);var h=new global.Float64Array(buffer);var i=env.DYNAMICTOP_PTR|0;var j=env.tempDoublePtr|0;var k=env.ABORT|0;var l=env.STACKTOP|0;var m=env.STACK_MAX|0;var n=env.cttz_i8|0;var o=0;var p=0;var q=0;var r=0;var s=global.NaN,t=global.Infinity;var u=0,v=0,w=0,x=0,y=0.0,z=0,A=0,B=0,C=0.0;var D=0;var E=global.Math.floor;var F=global.Math.abs;var G=global.Math.sqrt;var H=global.Math.pow;var I=global.Math.cos;var J=global.Math.sin;var K=global.Math.tan;var L=global.Math.acos;var M=global.Math.asin;var N=global.Math.atan;var O=global.Math.atan2;var P=global.Math.exp;var Q=global.Math.log;var R=global.Math.ceil;var S=global.Math.imul;var T=global.Math.min;var U=global.Math.max;var V=global.Math.clz32;var W=env.abort;var X=env.assert;var Y=env.enlargeMemory;var Z=env.getTotalMemory;var _=env.abortOnCannotGrowMemory;var $=env.abortStackOverflow;var aa=env.nullFunc_iiii;var ba=env.nullFunc_viiiii;var ca=env.nullFunc_vi;var da=env.nullFunc_vii;var ea=env.nullFunc_ii;var fa=env.nullFunc_viii;var ga=env.nullFunc_v;var ha=env.nullFunc_iiiii;var ia=env.nullFunc_viiiiii;var ja=env.nullFunc_iii;var ka=env.nullFunc_viiii;var la=env.invoke_iiii;var ma=env.invoke_viiiii;var na=env.invoke_vi;var oa=env.invoke_vii;var pa=env.invoke_ii;var qa=env.invoke_viii;var ra=env.invoke_v;var sa=env.invoke_iiiii;var ta=env.invoke_viiiiii;var ua=env.invoke_iii;var va=env.invoke_viiii;var wa=env.___syscall221;var xa=env._pthread_mutex_init;var ya=env.___syscall64;var za=env._abort;var Aa=env.___syscall202;var Ba=env.___syscall20;var Ca=env._llvm_stackrestore;var Da=env.___assert_fail;var Ea=env.___buildEnvironment;var Fa=env.__addDays;var Ga=env._localtime_r;var Ha=env._tzset;var Ia=env.___setErrNo;var Ja=env.___syscall192;var Ka=env.___syscall197;var La=env.___syscall195;var Ma=env.___syscall194;var Na=env.___syscall199;var Oa=env._sysconf;var Pa=env._strftime;var Qa=env._clock;var Ra=env.__arraySum;var Sa=env._emscripten_memcpy_big;var Ta=env.___syscall91;var Ua=env._pthread_mutex_destroy;var Va=env._llvm_stacksave;var Wa=env.___syscall77;var Xa=env._getenv;var Ya=env.___syscall33;var Za=env.___syscall54;var _a=env.___unlock;var $a=env.__isLeapYear;var ab=env.___syscall3;var bb=env.___lock;var cb=env.___syscall6;var db=env.___syscall5;var eb=env.___syscall4;var fb=env._time;var gb=env._gettimeofday;var hb=env.___syscall201;var ib=env._atexit;var jb=env.___syscall140;var kb=env._localtime;var lb=env.___syscall142;var mb=env.___syscall145;var nb=env.___syscall146;var ob=0.0;
+// The Module object: Our interface to the outside world. We import
+// and export values on it. 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 check if Module already exists (e.g. case 3 above).
+// Substitution will be replaced with actual code on later stage of the build,
+// this way Closure Compiler will not mangle it (e.g. case 4. 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 = typeof TalerEmscriptenLib !== 'undefined' ? TalerEmscriptenLib : {};
+
+// --pre-jses are emitted after the Module integration code, so that they can
+// refer to Module (if they choose; they can also define Module)
+// {{PRE_JSES}}
+
+// 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 = {};
+var key;
+for (key in Module) {
+ if (Module.hasOwnProperty(key)) {
+ moduleOverrides[key] = Module[key];
+ }
+}
+
+Module['arguments'] = [];
+Module['thisProgram'] = './this.program';
+Module['quit'] = function(status, toThrow) {
+ throw toThrow;
+};
+Module['preRun'] = [];
+Module['postRun'] = [];
+
+// Determine the runtime environment we are in. You can customize this by
+// setting the ENVIRONMENT setting at compile time (see settings.js).
+
+var ENVIRONMENT_IS_WEB = false;
+var ENVIRONMENT_IS_WORKER = false;
+var ENVIRONMENT_IS_NODE = false;
+var ENVIRONMENT_IS_SHELL = false;
+ENVIRONMENT_IS_WEB = typeof window === 'object';
+ENVIRONMENT_IS_WORKER = typeof importScripts === 'function';
+ENVIRONMENT_IS_NODE = typeof process === 'object' && typeof require === 'function' && !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_WORKER;
+ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER;
+
+if (Module['ENVIRONMENT']) {
+ throw new Error('Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -s ENVIRONMENT=web or -s ENVIRONMENT=node)');
+}
+
+// Three configurations we can be running in:
+// 1) We could be the application main() thread running in the main JS UI thread. (ENVIRONMENT_IS_WORKER == false and ENVIRONMENT_IS_PTHREAD == false)
+// 2) We could be the application main() thread proxied to worker. (with Emscripten -s PROXY_TO_WORKER=1) (ENVIRONMENT_IS_WORKER == true, ENVIRONMENT_IS_PTHREAD == false)
+// 3) We could be an application pthread running in a worker. (ENVIRONMENT_IS_WORKER == true and ENVIRONMENT_IS_PTHREAD == true)
+
+assert(typeof Module['memoryInitializerPrefixURL'] === 'undefined', 'Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead');
+assert(typeof Module['pthreadMainPrefixURL'] === 'undefined', 'Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead');
+assert(typeof Module['cdInitializerPrefixURL'] === 'undefined', 'Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead');
+assert(typeof Module['filePackagePrefixURL'] === 'undefined', 'Module.filePackagePrefixURL option was removed, use Module.locateFile instead');
+
+// `/` should be present at the end if `scriptDirectory` is not empty
+var scriptDirectory = '';
+function locateFile(path) {
+ if (Module['locateFile']) {
+ return Module['locateFile'](path, scriptDirectory);
+ } else {
+ return scriptDirectory + path;
+ }
+}
+
+if (ENVIRONMENT_IS_NODE) {
+ scriptDirectory = __dirname + '/';
+
+ // Expose functionality in the same simple way that the shells work
+ // Note that we pollute the global namespace here, otherwise we break in node
+ var nodeFS;
+ var nodePath;
+
+ Module['read'] = function shell_read(filename, binary) {
+ var ret;
+ ret = tryParseAsDataURI(filename);
+ if (!ret) {
+ if (!nodeFS) nodeFS = require('fs');
+ if (!nodePath) nodePath = require('path');
+ filename = nodePath['normalize'](filename);
+ ret = nodeFS['readFileSync'](filename);
+ }
+ return binary ? ret : ret.toString();
+ };
+
+ Module['readBinary'] = function readBinary(filename) {
+ var ret = Module['read'](filename, true);
+ if (!ret.buffer) {
+ ret = new Uint8Array(ret);
+ }
+ assert(ret.buffer);
+ return ret;
+ };
+
+ if (process['argv'].length > 1) {
+ 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;
+ }
+ });
+ // Currently node will swallow unhandled rejections, but this behavior is
+ // deprecated, and in the future it will exit with error status.
+ process['on']('unhandledRejection', function(reason, p) {
+ err('node.js exiting due to unhandled promise rejection');
+ process['exit'](1);
+ });
+
+ Module['quit'] = function(status) {
+ process['exit'](status);
+ };
+
+ Module['inspect'] = function () { return '[Emscripten Module object]'; };
+} else
+if (ENVIRONMENT_IS_SHELL) {
+
+
+ if (typeof read != 'undefined') {
+ Module['read'] = function shell_read(f) {
+ var data = tryParseAsDataURI(f);
+ if (data) {
+ return intArrayToString(data);
+ }
+ return read(f);
+ };
+ }
+
+ Module['readBinary'] = function readBinary(f) {
+ var data;
+ data = tryParseAsDataURI(f);
+ if (data) {
+ return data;
+ }
+ if (typeof readbuffer === 'function') {
+ return new Uint8Array(readbuffer(f));
+ }
+ 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;
+ }
+
+ if (typeof quit === 'function') {
+ Module['quit'] = function(status) {
+ quit(status);
+ }
+ }
+} else
+if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) {
+ if (ENVIRONMENT_IS_WEB) {
+ if (document.currentScript) {
+ scriptDirectory = document.currentScript.src;
+ }
+ } else { // worker
+ scriptDirectory = self.location.href;
+ }
+ // blob urls look like blob:http://site.com/etc/etc and we cannot infer anything from them.
+ // otherwise, slice off the final part of the url to find the script directory.
+ // if scriptDirectory does not contain a slash, lastIndexOf will return -1,
+ // and scriptDirectory will correctly be replaced with an empty string.
+ if (scriptDirectory.indexOf('blob:') !== 0) {
+ scriptDirectory = scriptDirectory.substr(0, scriptDirectory.lastIndexOf('/')+1);
+ } else {
+ scriptDirectory = '';
+ }
+
+
+ Module['read'] = function shell_read(url) {
+ try {
+ var xhr = new XMLHttpRequest();
+ xhr.open('GET', url, false);
+ xhr.send(null);
+ return xhr.responseText;
+ } catch (err) {
+ var data = tryParseAsDataURI(url);
+ if (data) {
+ return intArrayToString(data);
+ }
+ throw err;
+ }
+ };
+
+ if (ENVIRONMENT_IS_WORKER) {
+ Module['readBinary'] = function readBinary(url) {
+ try {
+ var xhr = new XMLHttpRequest();
+ xhr.open('GET', url, false);
+ xhr.responseType = 'arraybuffer';
+ xhr.send(null);
+ return new Uint8Array(xhr.response);
+ } catch (err) {
+ var data = tryParseAsDataURI(url);
+ if (data) {
+ return data;
+ }
+ throw err;
+ }
+ };
+ }
+
+ Module['readAsync'] = function readAsync(url, onload, onerror) {
+ var xhr = new XMLHttpRequest();
+ xhr.open('GET', url, true);
+ xhr.responseType = 'arraybuffer';
+ xhr.onload = function xhr_onload() {
+ if (xhr.status == 200 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0
+ onload(xhr.response);
+ return;
+ }
+ var data = tryParseAsDataURI(url);
+ if (data) {
+ onload(data.buffer);
+ return;
+ }
+ onerror();
+ };
+ xhr.onerror = onerror;
+ xhr.send(null);
+ };
+
+ Module['setWindowTitle'] = function(title) { document.title = title };
+} else
+{
+ throw new Error('environment detection error');
+}
+
+// Set up the out() and err() hooks, which are how we can print to stdout or
+// stderr, respectively.
+// If the user provided Module.print or printErr, use that. Otherwise,
+// console.log is checked first, as 'print' on the web will open a print dialogue
+// printErr is preferable to console.warn (works better in shells)
+// bind(console) is necessary to fix IE/Edge closed dev tools panel behavior.
+var out = Module['print'] || (typeof console !== 'undefined' ? console.log.bind(console) : (typeof print !== 'undefined' ? print : null));
+var err = Module['printErr'] || (typeof printErr !== 'undefined' ? printErr : ((typeof console !== 'undefined' && console.warn.bind(console)) || out));
+
+// Merge back in the overrides
+for (key in moduleOverrides) {
+ if (moduleOverrides.hasOwnProperty(key)) {
+ Module[key] = moduleOverrides[key];
+ }
+}
+// Free the object hierarchy contained in the overrides, this lets the GC
+// reclaim data used e.g. in memoryInitializerRequest, which is a large typed array.
+moduleOverrides = undefined;
+
+
+
+// {{PREAMBLE_ADDITIONS}}
+
+var STACK_ALIGN = 16;
+
+// stack management, and other functionality that is provided by the compiled code,
+// should not be used before it is ready
+stackSave = stackRestore = stackAlloc = setTempRet0 = getTempRet0 = function() {
+ abort('cannot use the stack before compiled code is ready to run, and has provided stack access');
+};
+
+function staticAlloc(size) {
+ assert(!staticSealed);
+ var ret = STATICTOP;
+ STATICTOP = (STATICTOP + size + 15) & -16;
+ assert(STATICTOP < TOTAL_MEMORY, 'not enough memory for static allocation - increase TOTAL_MEMORY');
+ return ret;
+}
+
+function dynamicAlloc(size) {
+ assert(DYNAMICTOP_PTR);
+ var ret = HEAP32[DYNAMICTOP_PTR>>2];
+ var end = (ret + size + 15) & -16;
+ HEAP32[DYNAMICTOP_PTR>>2] = end;
+ if (end >= TOTAL_MEMORY) {
+ var success = enlargeMemory();
+ if (!success) {
+ HEAP32[DYNAMICTOP_PTR>>2] = ret;
+ return 0;
+ }
+ }
+ return ret;
+}
+
+function alignMemory(size, factor) {
+ if (!factor) factor = STACK_ALIGN; // stack alignment (16-byte) by default
+ var ret = size = Math.ceil(size / factor) * factor;
+ return ret;
+}
+
+function getNativeTypeSize(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 4; // A pointer
+ } else if (type[0] === 'i') {
+ var bits = parseInt(type.substr(1));
+ assert(bits % 8 === 0);
+ return bits / 8;
+ } else {
+ return 0;
+ }
+ }
+ }
+}
+
+function warnOnce(text) {
+ if (!warnOnce.shown) warnOnce.shown = {};
+ if (!warnOnce.shown[text]) {
+ warnOnce.shown[text] = 1;
+ err(text);
+ }
+}
+
+var asm2wasmImports = { // special asm2wasm imports
+ "f64-rem": function(x, y) {
+ return x % y;
+ },
+ "debugger": function() {
+ debugger;
+ }
+};
+
+
+
+var jsCallStartIndex = 1;
+var functionPointers = new Array(0);
+
+// 'sig' parameter is only used on LLVM wasm backend
+function addFunction(func, sig) {
+ if (typeof sig === 'undefined') {
+ err('warning: addFunction(): You should provide a wasm function signature string as a second argument. This is not necessary for asm.js and asm2wasm, but is required for the LLVM wasm backend, so it is recommended for full portability.');
+ }
+ var base = 0;
+ for (var i = base; i < base + 0; i++) {
+ if (!functionPointers[i]) {
+ functionPointers[i] = func;
+ return jsCallStartIndex + i;
+ }
+ }
+ throw 'Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS.';
+}
+
+function removeFunction(index) {
+ functionPointers[index-jsCallStartIndex] = null;
+}
+
+var funcWrappers = {};
+
+function getFuncWrapper(func, sig) {
+ if (!func) return; // on null pointer, return undefined
+ assert(sig);
+ if (!funcWrappers[sig]) {
+ funcWrappers[sig] = {};
+ }
+ var sigCache = funcWrappers[sig];
+ if (!sigCache[func]) {
+ // optimize away arguments usage in common cases
+ if (sig.length === 1) {
+ sigCache[func] = function dynCall_wrapper() {
+ return dynCall(sig, func);
+ };
+ } else if (sig.length === 2) {
+ sigCache[func] = function dynCall_wrapper(arg) {
+ return dynCall(sig, func, [arg]);
+ };
+ } else {
+ // general case
+ sigCache[func] = function dynCall_wrapper() {
+ return dynCall(sig, func, Array.prototype.slice.call(arguments));
+ };
+ }
+ }
+ return sigCache[func];
+}
+
+
+function makeBigInt(low, high, unsigned) {
+ return unsigned ? ((+((low>>>0)))+((+((high>>>0)))*4294967296.0)) : ((+((low>>>0)))+((+((high|0)))*4294967296.0));
+}
+
+function dynCall(sig, ptr, args) {
+ if (args && args.length) {
+ assert(args.length == sig.length-1);
+ assert(('dynCall_' + sig) in Module, 'bad function pointer type - no table for sig \'' + sig + '\'');
+ return Module['dynCall_' + sig].apply(null, [ptr].concat(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);
+ }
+}
+
+
+function getCompilerSetting(name) {
+ throw 'You must build with -s RETAIN_COMPILER_SETTINGS=1 for getCompilerSetting or emscripten_get_compiler_setting to work';
+}
+
+var Runtime = {
+ // FIXME backwards compatibility layer for ports. Support some Runtime.*
+ // for now, fix it there, then remove it from here. That way we
+ // can minimize any period of breakage.
+ dynCall: dynCall, // for SDL2 port
+ // helpful errors
+ getTempRet0: function() { abort('getTempRet0() is now a top-level function, after removing the Runtime object. Remove "Runtime."') },
+ staticAlloc: function() { abort('staticAlloc() is now a top-level function, after removing the Runtime object. Remove "Runtime."') },
+ stackAlloc: function() { abort('stackAlloc() is now a top-level function, after removing the Runtime object. Remove "Runtime."') },
+};
+
+// The address globals begin at. Very low in memory, for code size and optimization opportunities.
+// Above 0 is static memory, starting with globals.
+// Then the stack.
+// Then 'dynamic' memory for sbrk.
+var GLOBAL_BASE = 8;
+
+
+// === 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 essentials
+//========================================
+
+// whether we are quitting the application. no code should run after this.
+// set in exit() and abort()
+var ABORT = false;
+
+// set by exit() and abort(). Passed to 'onExit' handler.
+// NOTE: This is also used as the process return code code in shell environments
+// but only when noExitRuntime is false.
+var EXITSTATUS = 0;
+
+/** @type {function(*, string=)} */
+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
+ assert(func, 'Cannot call unknown function ' + ident + ', make sure it is exported');
+ return func;
+}
+
+var JSfuncs = {
+ // Helpers for cwrap -- it can't refer to Runtime directly because it might
+ // be renamed by closure, instead it calls JSfuncs['stackSave'].body to find
+ // out what the minified function name is.
+ 'stackSave': function() {
+ stackSave()
+ },
+ 'stackRestore': function() {
+ stackRestore()
+ },
+ // type conversion from js to c
+ 'arrayToC' : function(arr) {
+ var ret = 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'
+ var len = (str.length << 2) + 1;
+ ret = stackAlloc(len);
+ stringToUTF8(str, ret, len);
+ }
+ return ret;
+ }
+};
+
+// For fast lookup of conversion functions
+var toC = {
+ 'string': JSfuncs['stringToC'], 'array': JSfuncs['arrayToC']
+};
+
+
+// C calling interface.
+function ccall(ident, returnType, argTypes, args, opts) {
+ function convertReturnValue(ret) {
+ if (returnType === 'string') return Pointer_stringify(ret);
+ if (returnType === 'boolean') return Boolean(ret);
+ return ret;
+ }
+
+ var func = getCFunc(ident);
+ var cArgs = [];
+ var stack = 0;
+ assert(returnType !== 'array', 'Return type should not be "array".');
+ if (args) {
+ for (var i = 0; i < args.length; i++) {
+ var converter = toC[argTypes[i]];
+ if (converter) {
+ if (stack === 0) stack = stackSave();
+ cArgs[i] = converter(args[i]);
+ } else {
+ cArgs[i] = args[i];
+ }
+ }
+ }
+ var ret = func.apply(null, cArgs);
+ ret = convertReturnValue(ret);
+ if (stack !== 0) stackRestore(stack);
+ return ret;
+}
+
+function cwrap(ident, returnType, argTypes, opts) {
+ return function() {
+ return ccall(ident, returnType, argTypes, arguments, opts);
+ }
+}
+
+/** @type {function(number, number, string, boolean=)} */
+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);
+ }
+}
+
+/** @type {function(number, string, boolean=)} */
+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 getValue: ' + type);
+ }
+ return null;
+}
+
+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
+
+// 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_*
+/** @type {function((TypedArray|Array<number>|number), string, number, number=)} */
+function allocate(slab, types, allocator, ptr) {
+ var zeroinit, size;
+ if (typeof slab === 'number') {
+ zeroinit = true;
+ size = slab;
+ } else {
+ zeroinit = false;
+ size = slab.length;
+ }
+
+ var singleType = typeof types === 'string' ? types : null;
+
+ var ret;
+ if (allocator == ALLOC_NONE) {
+ ret = ptr;
+ } else {
+ ret = [typeof _malloc === 'function' ? _malloc : staticAlloc, stackAlloc, staticAlloc, dynamicAlloc][allocator === undefined ? ALLOC_STATIC : allocator](Math.max(size, singleType ? 1 : types.length));
+ }
+
+ if (zeroinit) {
+ var stop;
+ ptr = ret;
+ 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(/** @type {!Uint8Array} */ (slab), ret);
+ } else {
+ HEAPU8.set(new Uint8Array(slab), ret);
+ }
+ return ret;
+ }
+
+ var i = 0, type, typeSize, previousType;
+ while (i < size) {
+ var curr = slab[i];
+
+ 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 = getNativeTypeSize(type);
+ previousType = type;
+ }
+ i += typeSize;
+ }
+
+ return ret;
+}
+
+// Allocate memory during any stage of startup - static memory early on, dynamic memory later, malloc when ready
+function getMemory(size) {
+ if (!staticSealed) return staticAlloc(size);
+ if (!runtimeInitialized) return dynamicAlloc(size);
+ return _malloc(size);
+}
+
+/** @type {function(number, number=)} */
+function Pointer_stringify(ptr, length) {
+ if (length === 0 || !ptr) return '';
+ // Find the length, and check for UTF while doing so
+ var hasUtf = 0;
+ var t;
+ var i = 0;
+ while (1) {
+ assert(ptr + i < TOTAL_MEMORY);
+ t = HEAPU8[(((ptr)+(i))>>0)];
+ hasUtf |= t;
+ if (t == 0 && !length) break;
+ i++;
+ if (length && i == length) break;
+ }
+ if (!length) length = i;
+
+ var ret = '';
+
+ if (hasUtf < 128) {
+ var MAX_CHUNK = 1024; // split up into chunks, because .apply on a huge string can overflow the stack
+ var curr;
+ while (length > 0) {
+ curr = String.fromCharCode.apply(String, HEAPU8.subarray(ptr, ptr + Math.min(length, MAX_CHUNK)));
+ ret = ret ? ret + curr : curr;
+ ptr += MAX_CHUNK;
+ length -= MAX_CHUNK;
+ }
+ return ret;
+ }
+ return UTF8ToString(ptr);
+}
+
+// Given a pointer 'ptr' to a null-terminated ASCII-encoded string in the emscripten HEAP, returns
+// a copy of that string as a Javascript String object.
+
+function AsciiToString(ptr) {
+ var str = '';
+ while (1) {
+ var ch = HEAP8[((ptr++)>>0)];
+ if (!ch) return str;
+ str += String.fromCharCode(ch);
+ }
+}
+
+// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr',
+// null-terminated and encoded in ASCII form. The copy will require at most str.length+1 bytes of space in the HEAP.
+
+function stringToAscii(str, outPtr) {
+ return writeAsciiToMemory(str, outPtr, false);
+}
+
+// Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the given array that contains uint8 values, returns
+// a copy of that string as a Javascript String object.
+
+var UTF8Decoder = typeof TextDecoder !== 'undefined' ? new TextDecoder('utf8') : undefined;
+function UTF8ArrayToString(u8Array, idx) {
+ var endPtr = idx;
+ // TextDecoder needs to know the byte length in advance, it doesn't stop on null terminator by itself.
+ // Also, use the length info to avoid running tiny strings through TextDecoder, since .subarray() allocates garbage.
+ while (u8Array[endPtr]) ++endPtr;
+
+ if (endPtr - idx > 16 && u8Array.subarray && UTF8Decoder) {
+ return UTF8Decoder.decode(u8Array.subarray(idx, endPtr));
+ } else {
+ var u0, u1, u2, u3, u4, u5;
+
+ var str = '';
+ while (1) {
+ // For UTF8 byte structure, see:
+ // http://en.wikipedia.org/wiki/UTF-8#Description
+ // https://www.ietf.org/rfc/rfc2279.txt
+ // https://tools.ietf.org/html/rfc3629
+ u0 = u8Array[idx++];
+ if (!u0) return str;
+ if (!(u0 & 0x80)) { str += String.fromCharCode(u0); continue; }
+ u1 = u8Array[idx++] & 63;
+ if ((u0 & 0xE0) == 0xC0) { str += String.fromCharCode(((u0 & 31) << 6) | u1); continue; }
+ u2 = u8Array[idx++] & 63;
+ if ((u0 & 0xF0) == 0xE0) {
+ u0 = ((u0 & 15) << 12) | (u1 << 6) | u2;
+ } else {
+ u3 = u8Array[idx++] & 63;
+ if ((u0 & 0xF8) == 0xF0) {
+ u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | u3;
+ } else {
+ u4 = u8Array[idx++] & 63;
+ if ((u0 & 0xFC) == 0xF8) {
+ u0 = ((u0 & 3) << 24) | (u1 << 18) | (u2 << 12) | (u3 << 6) | u4;
+ } else {
+ u5 = u8Array[idx++] & 63;
+ u0 = ((u0 & 1) << 30) | (u1 << 24) | (u2 << 18) | (u3 << 12) | (u4 << 6) | u5;
+ }
+ }
+ }
+ if (u0 < 0x10000) {
+ str += String.fromCharCode(u0);
+ } else {
+ var ch = u0 - 0x10000;
+ str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF));
+ }
+ }
+ }
+}
+
+// Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the emscripten HEAP, returns
+// a copy of that string as a Javascript String object.
+
+function UTF8ToString(ptr) {
+ return UTF8ArrayToString(HEAPU8,ptr);
+}
+
+// Copies the given Javascript String object 'str' to the given byte array at address 'outIdx',
+// encoded in UTF8 form and null-terminated. The copy will require at most str.length*4+1 bytes of space in the HEAP.
+// Use the function lengthBytesUTF8 to compute the exact number of bytes (excluding null terminator) that this function will write.
+// Parameters:
+// str: the Javascript string to copy.
+// outU8Array: the array to copy to. Each index in this array is assumed to be one 8-byte element.
+// outIdx: The starting offset in the array to begin the copying.
+// maxBytesToWrite: The maximum number of bytes this function can write to the array.
+// This count should include the null terminator,
+// i.e. if maxBytesToWrite=1, only the null terminator will be written and nothing else.
+// maxBytesToWrite=0 does not write any bytes to the output, not even the null terminator.
+// Returns the number of bytes written, EXCLUDING the null terminator.
+
+function stringToUTF8Array(str, outU8Array, outIdx, maxBytesToWrite) {
+ if (!(maxBytesToWrite > 0)) // Parameter maxBytesToWrite is not optional. Negative values, 0, null, undefined and false each don't write out any bytes.
+ return 0;
+
+ var startIdx = outIdx;
+ var endIdx = outIdx + maxBytesToWrite - 1; // -1 for string null terminator.
+ for (var i = 0; i < str.length; ++i) {
+ // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! So decode UTF16->UTF32->UTF8.
+ // See http://unicode.org/faq/utf_bom.html#utf16-3
+ // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description and https://www.ietf.org/rfc/rfc2279.txt and https://tools.ietf.org/html/rfc3629
+ var u = str.charCodeAt(i); // possibly a lead surrogate
+ if (u >= 0xD800 && u <= 0xDFFF) {
+ var u1 = str.charCodeAt(++i);
+ u = 0x10000 + ((u & 0x3FF) << 10) | (u1 & 0x3FF);
+ }
+ if (u <= 0x7F) {
+ if (outIdx >= endIdx) break;
+ outU8Array[outIdx++] = u;
+ } else if (u <= 0x7FF) {
+ if (outIdx + 1 >= endIdx) break;
+ outU8Array[outIdx++] = 0xC0 | (u >> 6);
+ outU8Array[outIdx++] = 0x80 | (u & 63);
+ } else if (u <= 0xFFFF) {
+ if (outIdx + 2 >= endIdx) break;
+ outU8Array[outIdx++] = 0xE0 | (u >> 12);
+ outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63);
+ outU8Array[outIdx++] = 0x80 | (u & 63);
+ } else if (u <= 0x1FFFFF) {
+ if (outIdx + 3 >= endIdx) break;
+ outU8Array[outIdx++] = 0xF0 | (u >> 18);
+ outU8Array[outIdx++] = 0x80 | ((u >> 12) & 63);
+ outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63);
+ outU8Array[outIdx++] = 0x80 | (u & 63);
+ } else if (u <= 0x3FFFFFF) {
+ if (outIdx + 4 >= endIdx) break;
+ outU8Array[outIdx++] = 0xF8 | (u >> 24);
+ outU8Array[outIdx++] = 0x80 | ((u >> 18) & 63);
+ outU8Array[outIdx++] = 0x80 | ((u >> 12) & 63);
+ outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63);
+ outU8Array[outIdx++] = 0x80 | (u & 63);
+ } else {
+ if (outIdx + 5 >= endIdx) break;
+ outU8Array[outIdx++] = 0xFC | (u >> 30);
+ outU8Array[outIdx++] = 0x80 | ((u >> 24) & 63);
+ outU8Array[outIdx++] = 0x80 | ((u >> 18) & 63);
+ outU8Array[outIdx++] = 0x80 | ((u >> 12) & 63);
+ outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63);
+ outU8Array[outIdx++] = 0x80 | (u & 63);
+ }
+ }
+ // Null-terminate the pointer to the buffer.
+ outU8Array[outIdx] = 0;
+ return outIdx - startIdx;
+}
+
+// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr',
+// null-terminated and encoded in UTF8 form. The copy will require at most str.length*4+1 bytes of space in the HEAP.
+// Use the function lengthBytesUTF8 to compute the exact number of bytes (excluding null terminator) that this function will write.
+// Returns the number of bytes written, EXCLUDING the null terminator.
+
+function stringToUTF8(str, outPtr, maxBytesToWrite) {
+ assert(typeof maxBytesToWrite == 'number', 'stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!');
+ return stringToUTF8Array(str, HEAPU8,outPtr, maxBytesToWrite);
+}
+
+// Returns the number of bytes the given Javascript string takes if encoded as a UTF8 byte array, EXCLUDING the null terminator byte.
+
+function lengthBytesUTF8(str) {
+ var len = 0;
+ for (var i = 0; i < str.length; ++i) {
+ // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! So decode UTF16->UTF32->UTF8.
+ // See http://unicode.org/faq/utf_bom.html#utf16-3
+ var u = str.charCodeAt(i); // possibly a lead surrogate
+ if (u >= 0xD800 && u <= 0xDFFF) u = 0x10000 + ((u & 0x3FF) << 10) | (str.charCodeAt(++i) & 0x3FF);
+ if (u <= 0x7F) {
+ ++len;
+ } else if (u <= 0x7FF) {
+ len += 2;
+ } else if (u <= 0xFFFF) {
+ len += 3;
+ } else if (u <= 0x1FFFFF) {
+ len += 4;
+ } else if (u <= 0x3FFFFFF) {
+ len += 5;
+ } else {
+ len += 6;
+ }
+ }
+ return len;
+}
+
+// Given a pointer 'ptr' to a null-terminated UTF16LE-encoded string in the emscripten HEAP, returns
+// a copy of that string as a Javascript String object.
+
+var UTF16Decoder = typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-16le') : undefined;
+function UTF16ToString(ptr) {
+ assert(ptr % 2 == 0, 'Pointer passed to UTF16ToString must be aligned to two bytes!');
+ var endPtr = ptr;
+ // TextDecoder needs to know the byte length in advance, it doesn't stop on null terminator by itself.
+ // Also, use the length info to avoid running tiny strings through TextDecoder, since .subarray() allocates garbage.
+ var idx = endPtr >> 1;
+ while (HEAP16[idx]) ++idx;
+ endPtr = idx << 1;
+
+ if (endPtr - ptr > 32 && UTF16Decoder) {
+ return UTF16Decoder.decode(HEAPU8.subarray(ptr, endPtr));
+ } else {
+ var i = 0;
+
+ var str = '';
+ while (1) {
+ var codeUnit = HEAP16[(((ptr)+(i*2))>>1)];
+ if (codeUnit == 0) return str;
+ ++i;
+ // fromCharCode constructs a character from a UTF-16 code unit, so we can pass the UTF16 string right through.
+ str += String.fromCharCode(codeUnit);
+ }
+ }
+}
+
+// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr',
+// null-terminated and encoded in UTF16 form. The copy will require at most str.length*4+2 bytes of space in the HEAP.
+// Use the function lengthBytesUTF16() to compute the exact number of bytes (excluding null terminator) that this function will write.
+// Parameters:
+// str: the Javascript string to copy.
+// outPtr: Byte address in Emscripten HEAP where to write the string to.
+// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null
+// terminator, i.e. if maxBytesToWrite=2, only the null terminator will be written and nothing else.
+// maxBytesToWrite<2 does not write any bytes to the output, not even the null terminator.
+// Returns the number of bytes written, EXCLUDING the null terminator.
+
+function stringToUTF16(str, outPtr, maxBytesToWrite) {
+ assert(outPtr % 2 == 0, 'Pointer passed to stringToUTF16 must be aligned to two bytes!');
+ assert(typeof maxBytesToWrite == 'number', 'stringToUTF16(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!');
+ // Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed.
+ if (maxBytesToWrite === undefined) {
+ maxBytesToWrite = 0x7FFFFFFF;
+ }
+ if (maxBytesToWrite < 2) return 0;
+ maxBytesToWrite -= 2; // Null terminator.
+ var startPtr = outPtr;
+ var numCharsToWrite = (maxBytesToWrite < str.length*2) ? (maxBytesToWrite / 2) : str.length;
+ for (var i = 0; i < numCharsToWrite; ++i) {
+ // charCodeAt returns a UTF-16 encoded code unit, so it can be directly written to the HEAP.
+ var codeUnit = str.charCodeAt(i); // possibly a lead surrogate
+ HEAP16[((outPtr)>>1)]=codeUnit;
+ outPtr += 2;
+ }
+ // Null-terminate the pointer to the HEAP.
+ HEAP16[((outPtr)>>1)]=0;
+ return outPtr - startPtr;
+}
+
+// Returns the number of bytes the given Javascript string takes if encoded as a UTF16 byte array, EXCLUDING the null terminator byte.
+
+function lengthBytesUTF16(str) {
+ return str.length*2;
+}
+
+function UTF32ToString(ptr) {
+ assert(ptr % 4 == 0, 'Pointer passed to UTF32ToString must be aligned to four bytes!');
+ var i = 0;
+
+ var str = '';
+ while (1) {
+ var utf32 = HEAP32[(((ptr)+(i*4))>>2)];
+ if (utf32 == 0)
+ return str;
+ ++i;
+ // Gotcha: fromCharCode constructs a character from a UTF-16 encoded code (pair), not from a Unicode code point! So encode the code point to UTF-16 for constructing.
+ // See http://unicode.org/faq/utf_bom.html#utf16-3
+ if (utf32 >= 0x10000) {
+ var ch = utf32 - 0x10000;
+ str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF));
+ } else {
+ str += String.fromCharCode(utf32);
+ }
+ }
+}
+
+// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr',
+// null-terminated and encoded in UTF32 form. The copy will require at most str.length*4+4 bytes of space in the HEAP.
+// Use the function lengthBytesUTF32() to compute the exact number of bytes (excluding null terminator) that this function will write.
+// Parameters:
+// str: the Javascript string to copy.
+// outPtr: Byte address in Emscripten HEAP where to write the string to.
+// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null
+// terminator, i.e. if maxBytesToWrite=4, only the null terminator will be written and nothing else.
+// maxBytesToWrite<4 does not write any bytes to the output, not even the null terminator.
+// Returns the number of bytes written, EXCLUDING the null terminator.
+
+function stringToUTF32(str, outPtr, maxBytesToWrite) {
+ assert(outPtr % 4 == 0, 'Pointer passed to stringToUTF32 must be aligned to four bytes!');
+ assert(typeof maxBytesToWrite == 'number', 'stringToUTF32(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!');
+ // Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed.
+ if (maxBytesToWrite === undefined) {
+ maxBytesToWrite = 0x7FFFFFFF;
+ }
+ if (maxBytesToWrite < 4) return 0;
+ var startPtr = outPtr;
+ var endPtr = startPtr + maxBytesToWrite - 4;
+ for (var i = 0; i < str.length; ++i) {
+ // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap.
+ // See http://unicode.org/faq/utf_bom.html#utf16-3
+ var codeUnit = str.charCodeAt(i); // possibly a lead surrogate
+ if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) {
+ var trailSurrogate = str.charCodeAt(++i);
+ codeUnit = 0x10000 + ((codeUnit & 0x3FF) << 10) | (trailSurrogate & 0x3FF);
+ }
+ HEAP32[((outPtr)>>2)]=codeUnit;
+ outPtr += 4;
+ if (outPtr + 4 > endPtr) break;
+ }
+ // Null-terminate the pointer to the HEAP.
+ HEAP32[((outPtr)>>2)]=0;
+ return outPtr - startPtr;
+}
+
+// Returns the number of bytes the given Javascript string takes if encoded as a UTF16 byte array, EXCLUDING the null terminator byte.
+
+function lengthBytesUTF32(str) {
+ var len = 0;
+ for (var i = 0; i < str.length; ++i) {
+ // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap.
+ // See http://unicode.org/faq/utf_bom.html#utf16-3
+ var codeUnit = str.charCodeAt(i);
+ if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) ++i; // possibly a lead surrogate, so skip over the tail surrogate.
+ len += 4;
+ }
+
+ return len;
+}
+
+// Allocate heap space for a JS string, and write it there.
+// It is the responsibility of the caller to free() that memory.
+function allocateUTF8(str) {
+ var size = lengthBytesUTF8(str) + 1;
+ var ret = _malloc(size);
+ if (ret) stringToUTF8Array(str, HEAP8, ret, size);
+ return ret;
+}
+
+// Allocate stack space for a JS string, and write it there.
+function allocateUTF8OnStack(str) {
+ var size = lengthBytesUTF8(str) + 1;
+ var ret = stackAlloc(size);
+ stringToUTF8Array(str, HEAP8, ret, size);
+ return ret;
+}
+
+function demangle(func) {
+ warnOnce('warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling');
+ return func;
+}
+
+function demangleAll(text) {
+ var regex =
+ /__Z[\w\d_]+/g;
+ return text.replace(regex,
+ 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() {
+ var js = jsStackTrace();
+ if (Module['extraStackTrace']) js += '\n' + Module['extraStackTrace']();
+ return demangleAll(js);
+}
+
+// Memory management
+
+var PAGE_SIZE = 16384;
+var WASM_PAGE_SIZE = 65536;
+var ASMJS_PAGE_SIZE = 16777216;
+var MIN_TOTAL_MEMORY = 16777216;
+
+function alignUp(x, multiple) {
+ if (x % multiple > 0) {
+ x += multiple - (x % multiple);
+ }
+ return x;
+}
+
+var HEAP,
+/** @type {ArrayBuffer} */
+ buffer,
+/** @type {Int8Array} */
+ HEAP8,
+/** @type {Uint8Array} */
+ HEAPU8,
+/** @type {Int16Array} */
+ HEAP16,
+/** @type {Uint16Array} */
+ HEAPU16,
+/** @type {Int32Array} */
+ HEAP32,
+/** @type {Uint32Array} */
+ HEAPU32,
+/** @type {Float32Array} */
+ HEAPF32,
+/** @type {Float64Array} */
+ HEAPF64;
+
+function updateGlobalBuffer(buf) {
+ Module['buffer'] = buffer = buf;
+}
+
+function updateGlobalBufferViews() {
+ Module['HEAP8'] = HEAP8 = new Int8Array(buffer);
+ Module['HEAP16'] = HEAP16 = new Int16Array(buffer);
+ Module['HEAP32'] = HEAP32 = new Int32Array(buffer);
+ Module['HEAPU8'] = HEAPU8 = new Uint8Array(buffer);
+ Module['HEAPU16'] = HEAPU16 = new Uint16Array(buffer);
+ Module['HEAPU32'] = HEAPU32 = new Uint32Array(buffer);
+ Module['HEAPF32'] = HEAPF32 = new Float32Array(buffer);
+ Module['HEAPF64'] = HEAPF64 = new Float64Array(buffer);
+}
+
+var STATIC_BASE, STATICTOP, staticSealed; // static area
+var STACK_BASE, STACKTOP, STACK_MAX; // stack area
+var DYNAMIC_BASE, DYNAMICTOP_PTR; // dynamic area handled by sbrk
+
+ STATIC_BASE = STATICTOP = STACK_BASE = STACKTOP = STACK_MAX = DYNAMIC_BASE = DYNAMICTOP_PTR = 0;
+ staticSealed = false;
+
+
+// Initializes the stack cookie. Called at the startup of main and at the startup of each thread in pthreads mode.
+function writeStackCookie() {
+ assert((STACK_MAX & 3) == 0);
+ HEAPU32[(STACK_MAX >> 2)-1] = 0x02135467;
+ HEAPU32[(STACK_MAX >> 2)-2] = 0x89BACDFE;
+}
+
+function checkStackCookie() {
+ if (HEAPU32[(STACK_MAX >> 2)-1] != 0x02135467 || HEAPU32[(STACK_MAX >> 2)-2] != 0x89BACDFE) {
+ abort('Stack overflow! Stack cookie has been overwritten, expected hex dwords 0x89BACDFE and 0x02135467, but received 0x' + HEAPU32[(STACK_MAX >> 2)-2].toString(16) + ' ' + HEAPU32[(STACK_MAX >> 2)-1].toString(16));
+ }
+ // Also test the global address 0 for integrity. This check is not compatible with SAFE_SPLIT_MEMORY though, since that mode already tests all address 0 accesses on its own.
+ if (HEAP32[0] !== 0x63736d65 /* 'emsc' */) throw 'Runtime error: The application has corrupted its heap memory area (address zero)!';
+}
+
+function abortStackOverflow(allocSize) {
+ abort('Stack overflow! Attempted to allocate ' + allocSize + ' bytes on the stack, but stack has only ' + (STACK_MAX - stackSave() + allocSize) + ' bytes available!');
+}
+
+
+function abortOnCannotGrowMemory() {
+ abort('Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value ' + TOTAL_MEMORY + ', (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ');
+}
+
+
+function enlargeMemory() {
+ abortOnCannotGrowMemory();
+}
+
+
+var TOTAL_STACK = Module['TOTAL_STACK'] || 5242880;
+var TOTAL_MEMORY = Module['TOTAL_MEMORY'] || 16777216;
+if (TOTAL_MEMORY < TOTAL_STACK) err('TOTAL_MEMORY should be larger than TOTAL_STACK, was ' + TOTAL_MEMORY + '! (TOTAL_STACK=' + TOTAL_STACK + ')');
+
+// 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' && Int32Array.prototype.subarray !== undefined && Int32Array.prototype.set !== undefined,
+ 'JS engine does not provide full typed array support');
+
+
+
+// Use a provided buffer, if there is one, or else allocate a new one
+if (Module['buffer']) {
+ buffer = Module['buffer'];
+ assert(buffer.byteLength === TOTAL_MEMORY, 'provided buffer should be ' + TOTAL_MEMORY + ' bytes, but it is ' + buffer.byteLength);
+} else {
+ // Use a WebAssembly memory where available
+ {
+ buffer = new ArrayBuffer(TOTAL_MEMORY);
+ }
+ assert(buffer.byteLength === TOTAL_MEMORY);
+ Module['buffer'] = buffer;
+}
+updateGlobalBufferViews();
+
+
+function getTotalMemory() {
+ return TOTAL_MEMORY;
+}
+
+// Endianness check (note: assumes compiler arch was little-endian)
+ HEAP32[0] = 0x63736d65; /* 'emsc' */
+HEAP16[1] = 0x6373;
+if (HEAPU8[2] !== 0x73 || HEAPU8[3] !== 0x63) throw 'Runtime error: expected the system to be little-endian!';
+
+function callRuntimeCallbacks(callbacks) {
+ while(callbacks.length > 0) {
+ var callback = callbacks.shift();
+ if (typeof callback == 'function') {
+ callback();
+ continue;
+ }
+ var func = callback.func;
+ if (typeof func === 'number') {
+ if (callback.arg === undefined) {
+ Module['dynCall_v'](func);
+ } else {
+ Module['dynCall_vi'](func, callback.arg);
+ }
+ } else {
+ func(callback.arg === undefined ? null : callback.arg);
+ }
+ }
+}
+
+var __ATPRERUN__ = []; // 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 main() is called
+
+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() {
+ checkStackCookie();
+ if (runtimeInitialized) return;
+ runtimeInitialized = true;
+ callRuntimeCallbacks(__ATINIT__);
+}
+
+function preMain() {
+ checkStackCookie();
+ callRuntimeCallbacks(__ATMAIN__);
+}
+
+function exitRuntime() {
+ checkStackCookie();
+ callRuntimeCallbacks(__ATEXIT__);
+ runtimeExited = true;
+}
+
+function postRun() {
+ checkStackCookie();
+ // 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);
+}
+
+function addOnInit(cb) {
+ __ATINIT__.unshift(cb);
+}
+
+function addOnPreMain(cb) {
+ __ATMAIN__.unshift(cb);
+}
+
+function addOnExit(cb) {
+ __ATEXIT__.unshift(cb);
+}
+
+function addOnPostRun(cb) {
+ __ATPOSTRUN__.unshift(cb);
+}
+
+// Deprecated: This function should not be called because it is unsafe and does not provide
+// a maximum length limit of how many bytes it is allowed to write. Prefer calling the
+// function stringToUTF8Array() instead, which takes in a maximum length that can be used
+// to be secure from out of bounds writes.
+/** @deprecated */
+function writeStringToMemory(string, buffer, dontAddNull) {
+ warnOnce('writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!');
+
+ var /** @type {number} */ lastChar, /** @type {number} */ end;
+ if (dontAddNull) {
+ // stringToUTF8Array always appends null. If we don't want to do that, remember the
+ // character that existed at the location where the null will be placed, and restore
+ // that after the write (below).
+ end = buffer + lengthBytesUTF8(string);
+ lastChar = HEAP8[end];
+ }
+ stringToUTF8(string, buffer, Infinity);
+ if (dontAddNull) HEAP8[end] = lastChar; // Restore the value under the null character.
+}
+
+function writeArrayToMemory(array, buffer) {
+ assert(array.length >= 0, 'writeArrayToMemory array must have a length (should be an array or typed array)')
+ HEAP8.set(array, buffer);
+}
+
+function writeAsciiToMemory(str, buffer, dontAddNull) {
+ for (var i = 0; i < str.length; ++i) {
+ assert(str.charCodeAt(i) === str.charCodeAt(i)&0xff);
+ HEAP8[((buffer++)>>0)]=str.charCodeAt(i);
+ }
+ // Null-terminate the pointer to the HEAP.
+ if (!dontAddNull) HEAP8[((buffer)>>0)]=0;
+}
+
+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;
+}
+
+assert(Math['imul'] && Math['fround'] && Math['clz32'] && Math['trunc'], 'this is a legacy browser, build with LEGACY_VM_SUPPORT');
+
+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_round = Math.round;
+var Math_min = Math.min;
+var Math_max = Math.max;
+var Math_clz32 = Math.clz32;
+var Math_trunc = Math.trunc;
+
+// A counter of dependencies for calling run(). If we need to
+// do asynchronous work before running, increment this and
+// decrement it. Incrementing must happen in a place like
+// Module.preRun (used by emcc to add file preloading).
+// Note that you can add dependencies in preRun, even though
+// it happens right before run - run will be postponed until
+// the dependencies are met.
+var runDependencies = 0;
+var runDependencyWatcher = null;
+var dependenciesFulfilled = null; // overridden to take different actions when all run dependencies are fulfilled
+var runDependencyTracking = {};
+
+function getUniqueRunDependency(id) {
+ var orig = id;
+ while (1) {
+ if (!runDependencyTracking[id]) return id;
+ id = orig + Math.random();
+ }
+ return id;
+}
+
+function addRunDependency(id) {
+ runDependencies++;
+ if (Module['monitorRunDependencies']) {
+ Module['monitorRunDependencies'](runDependencies);
+ }
+ if (id) {
+ assert(!runDependencyTracking[id]);
+ runDependencyTracking[id] = 1;
+ if (runDependencyWatcher === null && typeof setInterval !== 'undefined') {
+ // Check for missing dependencies every few seconds
+ runDependencyWatcher = setInterval(function() {
+ if (ABORT) {
+ clearInterval(runDependencyWatcher);
+ runDependencyWatcher = null;
+ return;
+ }
+ var shown = false;
+ for (var dep in runDependencyTracking) {
+ if (!shown) {
+ shown = true;
+ err('still waiting on run dependencies:');
+ }
+ err('dependency: ' + dep);
+ }
+ if (shown) {
+ err('(end of list)');
+ }
+ }, 10000);
+ }
+ } else {
+ err('warning: run dependency added without ID');
+ }
+}
+
+function removeRunDependency(id) {
+ runDependencies--;
+ if (Module['monitorRunDependencies']) {
+ Module['monitorRunDependencies'](runDependencies);
+ }
+ if (id) {
+ assert(runDependencyTracking[id]);
+ delete runDependencyTracking[id];
+ } else {
+ err('warning: run dependency removed without ID');
+ }
+ if (runDependencies == 0) {
+ if (runDependencyWatcher !== null) {
+ clearInterval(runDependencyWatcher);
+ runDependencyWatcher = null;
+ }
+ if (dependenciesFulfilled) {
+ var callback = dependenciesFulfilled;
+ dependenciesFulfilled = null;
+ callback(); // can add another dependenciesFulfilled
+ }
+ }
+}
+
+Module["preloadedImages"] = {}; // maps url to image data
+Module["preloadedAudios"] = {}; // maps url to audio data
+
+
+
+var memoryInitializer = null;
+
+
+
+
+
+
+// Prefix of data URIs emitted by SINGLE_FILE and related options.
+var dataURIPrefix = 'data:application/octet-stream;base64,';
+
+// Indicates whether filename is a base64 data URI.
+function isDataURI(filename) {
+ return String.prototype.startsWith ?
+ filename.startsWith(dataURIPrefix) :
+ filename.indexOf(dataURIPrefix) === 0;
+}
+
+
+
+
+
+// === Body ===
+
+var ASM_CONSTS = [];
+
+
+
+
+
+STATIC_BASE = GLOBAL_BASE;
+
+STATICTOP = STATIC_BASE + 73360;
+/* global initializers */ __ATINIT__.push({ func: function() { _GNUNET_util_cl_init() } }, { func: function() { _GNUNET_CRYPTO_random_init() } }, { func: function() { _gpg_err_init() } }, { func: function() { _TALER_gcrypt_init() } }, { func: function() { ___emscripten_environ_constructor() } });
+
+
+memoryInitializer = "data:application/octet-stream;base64,AAAAAAAAAABhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaMDEyMzQ1Njc4OS0uL186Kis9AAAAAAAAAAAAAAEAAADrrgAAAgAAAPeuAAAEAAAAA68AAAgAAAAPrwAAEAAAAByvAAAgAAAAJq8AAEAAAAAxrwAAgAAAAD2vAAAAAQAASq8AAAACAABWrwAAAAQAAGOvAAAACAAAba8AAAAQAAB4rwAAAAAAAAAAAAAvcHJvYy9zeXMvY3J5cHRvL2ZpcHNfZW5hYmxlZAAAABviAAAAAQAAAAAAAAIAAAABAAAAuLUAAPu1AAABtgAARbYAAIi2AADLtgAADrcAABO3AADAAAAAAQAAAAAAAAAAAAAAHrcAAFG3AACEtwAAt7cAAOq3AAAduAAAULgAAFW4AADgAAAAAQAAAAAAAAAAAAAAYLgAAJu4AADWuAAAEbkAAEy5AACHuQAAULgAAMK5AAAAAQAAAQAAAAAAAAAAAAAAzbkAABC6AABTugAAlroAANm6AAAcuwAAULgAAF+7AACAAQAAAQAAAAAAAAAAAAAAarsAAM27AAAwvAAAk7wAAPa8AABZvQAAULgAALy9AAAJAgAAAQAAAAAAAAAAAAAAx70AAE6+AADVvgAAW78AAOG/AABowAAAULgAAO/AAACgAAAAAAAAAAAAAAAAAAAA/8AAACrBAABVwQAAgMEAAKvBAADWwQAAULgAAAHCAADAAAAAAAAAAAAAAAAAAAAAEcIAAETCAAB3wgAAqsIAAN3CAAAQwwAAULgAAEPDAADgAAAAAAAAAAAAAAAAAAAAU8MAAI7DAADJwwAABMQAAD/EAAB6xAAAULgAALXEAAAAAQAAAAAAAAAAAAAAAAAAxcQAAAjFAABLxQAAjsUAANHFAAAUxgAAULgAAFfGAABAAQAAAAAAAAAAAAAAAAAAZ8YAALrGAAANxwAAYMcAALPHAAAGyAAAULgAAFnIAACAAQAAAAAAAAAAAAAAAAAAacgAAMzIAAAvyQAAkskAAPXJAABYygAAULgAALvKAAAAAgAAAAAAAAAAAAAAAAAAy8oAAE7LAADRywAAVMwAANfMAABazQAAULgAAN3NAAAAAQAAAAAAAAAAAAAAAAAA680AAC7OAABxzgAAtM4AAPfOAAA6zwAAULgAAH3PAAAAAQAAAAAAAAAAAAAAAAAAks8AANXPAAAY0AAAW9AAAJ7QAADh0AAAULgAACTRAAAAAQAAAAAAAAAAAAAAAAAAOdEAAHzRAAC/0QAAAtIAAJ7QAABF0gAAULgAAIjSAAAAAQAAAAAAAAAAAAAAAAAAndIAAODSAAAj0wAAZtMAAKnTAADs0wAAULgAAC/UAAD/AQAAAAAAAAAAAAAAAAAAPdQAAC7OAADA1AAAQ9UAAMbVAABJ1gAAULgAAMzWAAAAAgAAAAAAAAAAAAAAAAAA3NYAAF/XAADi1wAAZdgAAOjYAABr2QAAULgAAO7ZAAAAAgAAAAAAAAAAAAAAAAAA/tkAAIHaAAAE2wAAh9sAAArcAACN3AAAULgAABDdAAAAAQAAAAAAAAAAAAAAAAAAGt0AAKnTAAAuzgAAXd0AAKDdAADj3QAAULgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABviAAAm3gAAE7cAAD3eAAATtwAAUd4AABO3AABc3gAAE7cAAGbeAABVuAAAb94AAFW4AAB53gAAVbgAAIbeAADCuQAAj94AAMK5AACj3gAAwrkAAK7eAADCuQAAuN4AAF+7AADB3gAAX7sAAMveAABfuwAA2N4AALy9AADh3gAAvL0AAOveAAC8vQAA+N4AAO/AAAAB3wAAAcIAABbfAABDwwAAK98AALXEAABA3wAAV8YAAFXfAABZyAAAat8AALvKAACA3wAA3c0AAJbfAAB9zwAAp98AACTRAAC43wAAiNIAAMnfAAB9zwAA2t8AAIjSAADy3wAAfc8AAArgAACI0gAAG+AAAMzWAAAs4AAA7tkAAEDgAAAQ3QAAVOAAAAAAAAAAAAAAAAAAAAAAAACL4wAAmeMAALbjAACjDgEJi8bbv0VpDzp+nm0Pi76io55hSACP0F5Eu+MAAMnjAADS4wAAiW+xEoq73xloMhB81J3zP0e0sRaZErpPU2hLIufjAAD24wAAKeQAAH+zyzWIxsH2/6lpTX1q0mSTZbDB9l1p0eyDM+o+5AAATeQAAIDkAABsEVBodAE8rGoqvBuzgmJ87GqQ2G78AS3nr+xamuQAAKrkAADh5AAAlemg25Ygla2uvpstbw284tSZ8RLy0rcnP6aHDmXlAAB25QAA4eQAADqFQWasXZ8CP1TVF9Cznb2UZ3DbnCuVyfb1ZdEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACL4wAAmeMAALbjAABb3MFGv2B1TmoEJCYIlXXHWgA/CJ0nOYOd7Fi5ZOw4Q7vjAADJ4wAA0uMAALA0TGHY2zhTXKivzq8L8SuIHcIAyYM9pybpN2wuMs/35+MAAPbjAAAp5AAAdz6pHjaADkaFTbjr0JGBpylZCYs++MEi2WNVFM7VZf4+5AAATeQAAIDkAACCVYo4mkQ8DqTMgZiZ8gg6hfD6o+V4+Ad6Lj/0ZylmW5rkAACq5AAA4eQAAGDkMVke4LZ/DYomqsv1t3+OC8YhNyjFFAVGBA8O439UZeUAAHblAADh5AAAmwn/pxuUL8snY1+81bDpRL/cY2RPBxOTin9RU1w6NeIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIvjAACZ4wAAtuMAAK9F0uN2SEAxYX940rWKaxucfvRk9aAbR+Quw3NjIkRejiJAyl5p4seLMjns+rIWSbvjAADJ4wAA0uMAAK/QOUTYSJViawgl9KtGkH8V+drb5BAexoKqA0x868Wc+uqeqQdu3n9K8VLosvqctufjAAD24wAAKeQAAIgGJgjT5q2KCqKs4BTIqG8KpjXZR6yf6+g+9OVZZhRLKlqzncE4FLlOOrbhAaNPJz7kAABN5AAAgOQAAD6Kabd4PCWFGTOrYpCvbKd6mYFICFAAnMVXfG4fVztOaAHdI8Sn1nnM+KOGxnTP+5rkAACq5AAA4eQAAE7OCESFgT6QiNLGOgQbxbRPnvEBKitYjzzRHwUDOsTGDC72q0Aw/oKWJI3xY/RJUmXlAAB25QAA4eQAAGYXF46UHwINNR4vJU6P0yxgJCD+sLj7mtzOu4JGHpnFpnjMMeeZF204YOYRDEZSPgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIvjAACZ4wAAtuMAABZLenv8+Bni45X75ztW4KOHvWQiLoMf1hAnDNfqJQVUl1i/dcBamUptA09l+PDm/crqsaNNSmtLY24HCji85ze74wAAyeMAANLjAACHqnzepe9hnU/wtCQaHWywI3n04s5Ownh60LMFReF83tqoM7fWuKcCA4snTq6j9OS+nZFO62HxcC5pbCA6EmhU5+MAAPbjAAAp5AAA+nOwCJ1WooTvsPB1bIkL6bG1292O6Bo2Vfg+M7InnTm/PoSCeaciyAa0haR+Z8gHuUajN77olCZ0J4hZ4TKS+z7kAABN5AAAgOQAALC6RlY3RYxpkOWoxfYdSvfldtl/+UuHLedvgFA2HuPbqRylwRqiXrTWeSdcxXiAY6Xxl0ESDE8t4q3r6xCimN2a5AAAquQAAOHkAACAskJjx8Gj67cUk8Hde+i0m0bR9BtK7sESGwE3g/jzUmtW0DfgXyWYvQ/SIV1qHlKV5k9z9j8K7IuRWphdeGWYZeUAAHblAADh5AAA43tqd13Ifbqk36n5bl4//d69cfiGcomGXfWjLSDNyUS2AiysPEmCsQ1e61XD5N4VE0Z2+23gRGBlyXRA+oxqWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAUABwALAA0AEQATABcAHQAfACUAKQArAC8ANQA7AD0AQwBHAEkATwBTAFkAYQBlAGcAawBtAHEAfwCDAIkAiwCVAJcAnQCjAKcArQCzALUAvwDBAMUAxwDTAN8A4wDlAOkA7wDxAPsAAQEHAQ0BDwEVARkBGwElATMBNwE5AT0BSwFRAVsBXQFhAWcBbwF1AXsBfwGFAY0BkQGZAaMBpQGvAbEBtwG7AcEByQHNAc8B0wHfAecB6wHzAfcB/QEJAgsCHQIjAi0CMwI5AjsCQQJLAlECVwJZAl8CZQJpAmsCdwKBAoMChwKNApMClQKhAqUCqwKzAr0CxQLPAtcC3QLjAucC7wL1AvkCAQMFAxMDHQMpAysDNQM3AzsDPQNHA1UDWQNbA18DbQNxA3MDdwOLA48DlwOhA6kDrQOzA7kDxwPLA9ED1wPfA+UD8QP1A/sD/QMHBAkEDwQZBBsEJQQnBC0EPwRDBEUESQRPBFUEXQRjBGkEfwSBBIsEkwSdBKMEqQSxBL0EwQTHBM0EzwTVBOEE6wT9BP8EAwUJBQsFEQUVBRcFGwUnBSkFLwVRBVcFXQVlBXcFgQWPBZMFlQWZBZ8FpwWrBa0FswW/BckFywXPBdEF1QXbBecF8wX7BQcGDQYRBhcGHwYjBisGLwY9BkEGRwZJBk0GUwZVBlsGZQZ5Bn8GgwaFBp0GoQajBq0GuQa7BsUGzQbTBtkG3wbxBvcG+wb9BgkHEwcfBycHNwdFB0sHTwdRB1UHVwdhB20Hcwd5B4sHjQedB58HtQe7B8MHyQfNB88H0wfbB+EH6wftB/cHBQgPCBUIIQgjCCcIKQgzCD8IQQhRCFMIWQhdCF8IaQhxCIMImwifCKUIrQi9CL8IwwjLCNsI3QjhCOkI7wj1CPkIBQkHCR0JIwklCSsJLwk1CUMJSQlNCU8JVQlZCV8JawlxCXcJhQmJCY8JmwmjCakJrQnHCdkJ4wnrCe8J9Qn3Cf0JEwofCiEKMQo5Cj0KSQpXCmEKYwpnCm8KdQp7Cn8KgQqFCosKkwqXCpkKnwqpCqsKtQq9CsEKzwrZCuUK5wrtCvEK8woDCxELFQsbCyMLKQstCz8LRwtRC1cLXQtlC28LewuJC40LkwuZC5sLtwu5C8MLywvPC90L4QvpC/UL+wsHDAsMEQwlDC8MMQxBDFsMXwxhDG0Mcwx3DIMMiQyRDJUMnQyzDLUMuQy7DMcM4wzlDOsM8Qz3DPsMAQ0DDQ8NEw0fDSENKw0tDT0NPw1PDVUNaQ15DYENhQ2HDYsNjQ2jDasNtw29DccNyQ3NDdMN1Q3bDeUN5w3zDf0N/w0JDhcOHQ4hDicOLw41DjsOSw5XDlkOXQ5rDnEOdQ59DocOjw6VDpsOsQ63DrkOww7RDtUO2w7tDu8O+Q4HDwsPDQ8XDyUPKQ8xD0MPRw9ND08PUw9ZD1sPZw9rD38PlQ+hD6MPpw+tD7MPtQ+7D9EP0w/ZD+kP7w/7D/0PAxAPEB8QIRAlECsQORA9ED8QURBpEHMQeRB7EIUQhxCREJMQnRCjEKUQrxCxELsQwRDJEOcQ8RDzEP0QBRELERURJxEtETkRRRFHEVkRXxFjEWkRbxGBEYMRjRGbEaERpRGnEasRwxHFEdER1xHnEe8R9RH7EQ0SHRIfEiMSKRIrEjESNxJBEkcSUxJfEnEScxJ5En0SjxKXEq8SsxK1ErkSvxLBEs0S0RLfEv0SBxMNExkTJxMtEzcTQxNFE0kTTxNXE10TZxNpE20TexOBE4cTAAAAAAAAAAD96AAAAgAAAALpAAABAAAABukAAAgAAAAN6QAAAwAAABfpAAADAAAAHukAAAkAAAAl6QAACgAAACzpAAALAAAAM+kAAAUAAAA36QAALQEAADvpAAAGAAAAQekAAAcAAAAAAAAAAAAAAAAAAAAAAAAAa+sAAHTrAAB76wAAAAAAAA/rAAABAAAAJusAAAMAAAA96wAABQAAAFTrAAACAAAAAAAAAAAAAAAAAAAAAAAAAOjp6uvt7u/w8vP09ff4+foBS68ieKadMx1RgBA2Q+maZ0PD0VGatPLNmnirCaURvQQFBgcJCgsMDg8QERMUFRYYGRobHR4fIAAAAAAAAAAAdnd0dfHy8/T4+ebnd3Bxcl0e8g3O1ry8EhMax8VHiKoICQoLDQ4PEBITFBUXGBkaHB0eHyEiIyQmJygpKywtLgaaAH/HakWfmLr5F/7flSEIDpUX6xZ3cZrPcoCGBArjAgAAACt+FRYortKmq/cViAnPTzwAAQIDBAUGBwgJCgsMDQ4Pa8G+4i5An5bpPX4Rc5MXKjs/2S63La0gMzRJ+Og8+0quLYpXHgOsnJ63b6xFr45RyKZFN6CzqT/N482tnxzlizDIHEajXOQR5fvBGRoKUu8mdR9no8uxQLGAjPGHpPTf9p8kRd9PmxetK0F75mw3EMBLBTV8XRwO6sTGb5/38uYFAAAAK34VFiiu0qar9xWICc9PPAABAgMEBQYHCAkKCwwNDg9rwb7iLkCfluk9fhFzkxcqOz/ZLrctrSAzNEn46Dz7Sq4tilceA6ycnrdvrEWvjlF3iVCNFpGPA/U8UtrFTtglMMgcRqNc5BHl+8EZGgpS75dABR6cX+z2Q0T3qCJg7cz2nyRF30+bF60rQXvmbDcQMExlKPZZx3hmpRDZwdauXgAAAAAAAAAAxmNjpfh8fITud3eZ9nt7jf/y8g3Wa2u93m9vsZHFxVRgMDBQAgEBA85nZ6lWKyt95/7+GbXX12JNq6vm7HZ2mo/KykUfgoKdicnJQPp9fYfv+voVsllZ645HR8n78PALQa2t7LPU1GdfoqL9Ra+v6iOcnL9TpKT35HJylpvAwFt1t7fC4f39HD2Tk65MJiZqbDY2Wn4/P0H19/cCg8zMT2g0NFxRpaX00eXlNPnx8QjicXGTq9jYc2IxMVMqFRU/CAQEDJXHx1JGIyNlncPDXjAYGCg3lpahCgUFDy+amrUOBwcJJBISNhuAgJvf4uI9zevrJk4nJ2l/srLN6nV1nxIJCRsdg4OeWCwsdDQaGi42Gxst3G5usrRaWu5boKD7pFJS9nY7O0231tZhfbOzzlIpKXvd4+M+Xi8vcROEhJemU1P1udHRaAAAAADB7e0sQCAgYOP8/B95sbHItltb7dRqar6Ny8tGZ76+2XI5OUuUSkremExM1LBYWOiFz89Ku9DQa8Xv7ypPqqrl7fv7FoZDQ8WaTU3XZjMzVRGFhZSKRUXP6fn5EAQCAgb+f3+BoFBQ8Hg8PEQln5+6S6io46JRUfNdo6P+gEBAwAWPj4o/kpKtIZ2dvHA4OEjx9fUEY7y833e2tsGv2tp1QiEhYyAQEDDl//8a/fPzDr/S0m2Bzc1MGAwMFCYTEzXD7Owvvl9f4TWXl6KIRETMLhcXOZPExFdVp6fy/H5+gno9PUfIZGSsul1d5zIZGSvmc3OVwGBgoBmBgZieT0/Ro9zcf0QiImZUKip+O5CQqwuIiIOMRkbKx+7uKWu4uNMoFBQ8p97eebxeXuIWCwsdrdvbdtvg4DtkMjJWdDo6ThQKCh6SSUnbDAYGCkgkJGy4XFzkn8LCXb3T025DrKzvxGJipjmRkagxlZWk0+TkN/J5eYvV5+cyi8jIQ243N1nabW23AY2NjLHV1WScTk7SSamp4NhsbLSsVlb68/T0B8/q6iXKZWWv9Hp6jkeurukQCAgYb7q61fB4eIhKJSVvXC4ucjgcHCRXpqbxc7S0x5fGxlHL6Ogjod3dfOh0dJw+Hx8hlktL3WG9vdwNi4uGD4qKheBwcJB8Pj5CcbW1xMxmZqqQSEjYBgMDBff29gEcDg4SwmFho2o1NV+uV1f5abm50BeGhpGZwcFYOh0dJyeenrnZ4eE46/j4EyuYmLMiEREz0mlpu6nZ2XAHjo6JM5SUpy2bm7Y8Hh4iFYeHksnp6SCHzs5JqlVV/1AoKHil3996A4yMj1mhofgJiYmAGg0NF2W/v9rX5uYxhEJCxtBoaLiCQUHDKZmZsFotLXceDw8Re7Cwy6hUVPxtu7vWLBYWOgEAAAACAAAABAAAAAgAAAAQAAAAIAAAAEAAAACAAAAAGwAAADYAAABsAAAA2AAAAKsAAABNAAAAmgAAAC8AAABeAAAAvAAAAGMAAADGAAAAlwAAADUAAABqAAAA1AAAALMAAAB9AAAA+gAAAO8AAADFAAAAkQAAAAAAAAAAAAAAiusAAAEAAACi6wAAAwAAALrrAAAFAAAA0usAAAIAAAAAAAAAAAAAAAAAAAAAAAAABewAAAEAAAAd7AAAAwAAADXsAAAFAAAATewAAAIAAAAAAAAAAAAAAAAAAAAAAAAAru4AAK/zAAC78wAAAAAAAChwcml2YXRlLWtleSAocnNhICAobiAjMDBlMGNlOTZmOTBiNmM5ZTAyZjM5MjJiZWFkYTkzZmU1MGE4NzVlYWM2YmNjMThiYjlhOWNmMmU4NDk2NWNhYSAgICAgIDJkMWZmOTVhN2Y1NDI0NjVjNmMwYzE5ZDI3NmU0NTI2Y2UwNDg4NjhhN2E5MTRmZDM0M2NjM2E4N2RkNzQyOTEgICAgICBmZmM1NjU1MDZkNWJiYjI1Y2JhYzZhMGUyZGQxZjhiY2FhYjBkNGEyOWMyZjM3Yzk1MGYzNjM0ODRiZjI2OWY3ICAgICAgODkxNDQwNDY0YmFmNzk4MjdlMDNhMzZlNzBiODE0OTM4ZWViZGM2M2U5NjQyNDdiZTc1ZGM1OGIwMTRiN2VhMjUxIykgIChlICMwMTAwMDEjKSAgKGQgIzA0NjEyOWYyNDg5ZDcxNTc5YmUwYTc1ZmUwMjliZDZjZGI1NzRlYmY1N2VhOGE1YjBmZGE5NDJjYWI5NDNiMTEgICAgICA3ZDdiYjk1ZTVkMjg4NzVlMGY5ZmM1ZmNjMDZhNzJmNmQ1MDI0NjRkYWJkZWQ3OGVmNmI3MTYxNzdiODNkNWJkICAgICAgYzU0M2RjNWQzZmVkOTMyZTU5ZjU4OTdlOTJlNmY1OGEwZjMzNDI0MTA2YTNiNmZhMmNiZjg3NzUxMGU0YWMyMSAgICAgIGMzZWU0Nzg1MWU5N2QxMjk5NjIyMmFjMzU2NmQ0Y2NiMGI4M2QxNjQwNzRhYmY3ZGU2NTVmYzI0NDZkYTE3ODEjKSAgKHAgIzAwZTg2MWI3MDBlMTdlOGFmZTY4MzdlNzUxMmUzNWI2Y2ExMWQwYWU0N2Q4Yjg1MTYxYzY3YmFmNjQzNzcyMTMgICAgICBmZTUyZDc3MmYyMDM1YjNjYTgzMGFmNDFkOGE0MTIwZTFjMWM3MGQxMmNjMjJmMDBkMjhkMzFkZDQ4YThkNDI0ZjEjKSAgKHEgIzAwZjdhN2NhNTM2N2M2NjFmOGU2MmRmMzRmMGQwNWMxMGM4OGU1NDkyMzQ4ZGQ3YmRkYzk0MmM5YThmMzY5ZjkgICAgICAzNWEwNzc4NWQyZGI4MDUyMTVlZDc4NmU0Mjg1ZGYxNjU4ZWVkM2NlODRmNDY5YjgxYjUwZDM1ODQwN2I0YWQzNjEjKSAgKHUgIzMwNDU1OWE5ZWFkNTZkMjMwOWQyMDM4MTFhNjQxYmIxYTA5NjI2YmM4ZWIzNmZmZmEyM2M5NjhlYzViZDg5MWUgICAgICBlYmJhZmM3M2FlNjY2ZTAxYmE3Yzg5OTBiYWUwNmNjMmJiZTEwYjc1ZTY5ZmNhY2IzNTNhNjQ3MzA3OWQ4ZTliIykpKQAAAAAAAAAAAAAAKHB1YmxpYy1rZXkgKHJzYSAgKG4gIzAwZTBjZTk2ZjkwYjZjOWUwMmYzOTIyYmVhZGE5M2ZlNTBhODc1ZWFjNmJjYzE4YmI5YTljZjJlODQ5NjVjYWEgICAgICAyZDFmZjk1YTdmNTQyNDY1YzZjMGMxOWQyNzZlNDUyNmNlMDQ4ODY4YTdhOTE0ZmQzNDNjYzNhODdkZDc0MjkxICAgICAgZmZjNTY1NTA2ZDViYmIyNWNiYWM2YTBlMmRkMWY4YmNhYWIwZDRhMjljMmYzN2M5NTBmMzYzNDg0YmYyNjlmNyAgICAgIDg5MTQ0MDQ2NGJhZjc5ODI3ZTAzYTM2ZTcwYjgxNDkzOGVlYmRjNjNlOTY0MjQ3YmU3NWRjNThiMDE0YjdlYTI1MSMpICAoZSAjMDEwMDAxIykpKQAAAAAoZGF0YSAoZmxhZ3MgcGtjczEpIChoYXNoIHNoYTEgIzExMjIzMzQ0NTU2Njc3ODg5OTAwYWFiYmNjZGRlZWZmMTAyMDMwNDAjKSkAAAAAAChkYXRhIChmbGFncyBwa2NzMSkgKGhhc2ggc2hhMSAjMTEyMjMzNDQ1NTY2Nzc4ODk5MDBhYWJiY2NkZGVlZmY4MDIwMzA0MCMpKQAAAAAAJ/QAADz0AABO9AAAXPQAAGr0AAAAAAAAAAAAAAAAAAAwLTANBglghkgBZQMEAgQFAAQcAAAAAAAAAAAAAAAAADAxMA0GCWCGSAFlAwQCAQUABCAAAAAAAAAAAAAAAAAAMFEwDQYJYIZIAWUDBAIDBQAEQAAAAAAAAAAAAAAAAAAirijXmC+KQs1l7yORRDdxLztN7M/7wLW824mBpdu16Ti1SPNbwlY5GdAFtvER8VmbTxmvpII/khiBbdrVXhyrQgIDo5iqB9i+b3BFAVuDEoyy5E6+hTEk4rT/1cN9DFVviXvydF2+crGWFjv+sd6ANRLHJacG3JuUJmnPdPGbwdJK8Z7BaZvk4yVPOIZHvu+11YyLxp3BD2WcrHfMoQwkdQIrWW8s6S2D5KZuqoR0StT7Qb3cqbBctVMRg9qI+Xar32buUlE+mBAytC1txjGoPyH7mMgnA7DkDu++x39Zv8KPqD3zC+DGJacKk0eRp9VvggPgUWPKBnBuDgpnKSkU/C/SRoUKtycmySZcOCEbLu0qxFr8bSxN37OVnRMNOFPeY6+LVHMKZaiydzy7Cmp25q7tRy7JwoE7NYIUhSxykmQD8Uyh6L+iATBCvEtmGqiRl/jQcItLwjC+VAajUWzHGFLv1hnoktEQqWVVJAaZ1iogcVeFNQ70uNG7MnCgahDI0NK4FsGkGVOrQVEIbDcemeuO30x3SCeoSJvhtbywNGNaycWzDBw5y4pB40qq2E5z42N3T8qcW6O4stbzby5o/LLvXe6Cj3RgLxdDb2OleHKr8KEUeMiE7DlkGggCx4woHmMj+v++kOm9gt7rbFCkFXnGsvej+b4rU3Lj8nhxxpxhJurOPifKB8LAIce4htEe6+DN1n3a6njRbu5/T331um8Xcqpn8AammMiixX1jCq4N+b4EmD8RG0ccEzULcRuEfQQj9XfbKJMkx0B7q8oyvL7JFQq+njxMDRCcxGcdQ7ZCPsu+1MVMKn5l/Jwpf1ns+tY6q2/LXxdYR0qMGURsMEEwDQYJYIZIAWUDBAICBQAEMAAAAAAAAAAAAAAAAACfWJ9c9hIsMra/7C8q6MNa1JHbFuexw56GywhreJ9UGQGfmAneFxGFj6rDo7og+8PUO7dVbqMuRvKigrfUW04NV/9znU3JLBvX/AFwDMghb5Cv6RuyiFRPLDLcI5smNeZstFYcQL8KlwWTHLbUCOf6AAEXAi4YUwNqL5MZNFRFBFxrtjCmlEsajDWBVapGDQUkXYdsm7fBMSuno5WYTMob5o1zNs2CElZiq/BHTw69BtQl0l4niGZt1px5uAjC3zJoLP2oiqRalimZIk1gy+Qce+c7jp509DfYzvmDbxOyV+Fj3KzE8a9IClBCD7q+xwfe1XgmZdPRX+MoIYlZZ/xusdf4nfN6OrnGCUHDruDbM0Rpki1S/hapDIuApUpbtZfJKqKawCOGTrxh78wR5XIdPXzr6Ok86o99n+x1HvU+OPbZP892+h+EoHDtFJCzflj74iBk0N13rdrFQPI5sPdJtAt/URVDkRBxu+6/hcihAAECBAgQIECATZp58qkfPnz4vTdu3PWnAwYMGDBgwM3X44tbtiFChEWKWbIpUqQFChQoUKANGjRo0O2XY8bBz9Prm3v2oQ8ePHjwrRcuXLg9evSlBw4cOHDgjVeuESJEiF26OXLkhUeOUaIJEiRIkG3a+b8zZszV54NLlmHCyd/zqxs2bNj9tyNGjFWqGTJkyN33owsWLFiwLVq0JUqUZcrZ/7MrVqwVKlSoHTp06J137pFv3vGvEyZMmH36uT9+/LUnTpx16pl//rEvXrw1atTlh0OGQYJJkmnS6Z9z5oFPnnHiiV++MWLExcfDy9v7uzt27JVnztHvk2vW4Y9TpgECBAgQIECATZp58qkfPnz4vTdu3PWnAwYMGDBgwM3X44tbtiFChEWKWbIpUqQFChQoUKANGjRo0O2XY8bBz9Prm3v2oQ8ePHjwrRcuXLg9evSlBw4cOHDgjVeuESJEiF26OXLkhUeOUaIJEiRIkG3a+b8zZszV54NLlmHCyd/zqxs2bNj9tyNGjFWqGTJkyN33owsWLFiwLVq0JUqUZcrZ/7MrVqwVKlSoHTp06J137pFv3vGvEyZMmH36uT9+/LUnTpx16pl//rEvXrw1atTlh0OGQYJJkmnS6Z9z5oFPnnHiiV++MWLExcfDywAAAACpdWfzs8bo9ATb/Xuj+3bImkqS04DmeGvkRd190eg4Sw3WxjI12Jj9GDf3cezxbOFDMHUPN/gmG/qHE/qUBkg/8l7QuouuMFuEilQA37wjnRltW8E9sVkO84CuXaLSgtVjoAGEgwcuFNm1UZCbLHyjprLrc6VMvlQWkgx04zZhUcA4jLA6vfVac/wsYCViC5a7bE5CifdrEFN8aii0J/GM4RPmlb2cRcfiJPRGtjtmcMzKleMDhVbL1BEc0B6T17j7psODjiC1/+mfz3e/w7rM6gN3bzkIr78zQMnnYitx4oF5eQwJqq2CJEHNOvnq2Lnl5MWauaRNl0R+CNqGeucXoWYdlKqh7R0GPXDwst7Ss0ELe3KgpxEcMe/C0SdTkD4gj/YzYCb/X5bsXHaxKqtJnoGciFLuGyFfxJMaCuvv2ZHFhTlJme7NLa1PMY+LOwFHGIcjbd1GH9ZOPi1p+WRIKk/O8stlL478eJdcBVh6GayNf+XVmBpXS2cOf6cFWmQorxRjP7Yp/oj1PLdMPAKluM7a6bBoF0RV4B9NikN9aVcpxy6NrHQVt1nEqJ8Kcp5+bhVHIt8SNFg1B2qZzzTcbiJQyd7AaJtlibzU2+34q8gSqKIrDUBS3Lv+AjIvpKnK1xBhIR7wtNNQXQQP9gDCbxadJTaGQlZKVV4Jwb7gkXXzxvTbe/vIStPma0V96EvWMtj9N3Hx4TAP+BuH+gY/XrquW4oAvJ1twbEOgF3S1aCEBxS1kCyjsnNMVJJ0NlE4sL1a/GBilmxC9xB8KCeME5WcxyRGO3DK44XLEdCTuKaDIP+fd8PMA28Iv0DnK+J5DKqCQTrqueSapJd+2noXZpShHT3w3rMLcqcc79FTPo8zJl/sdipJgYjuIcQa69nFOZnNrTGLARgj3R9OLflIT/JljnhcWBmN5ZhXZ38FZK9jtv71tzylzuloROBNQ2kpLqwVWagKnm5H3zQ1as/cIsnAm4nU7asSog1SuwIvqddhHrRQBPbCFiWGVlUJvpGpZ7PoBP2jdpqSgHjk3dE4DcY1mBj37GxDdTcm+hOUSPLQizCEVN8jGVs9WfOuooJjAYMu2VGbfKbrpb4WDONhwIw69XMsJQu7TolrU2q08eHmvUXi9LZmzJUDVtQcHtf7w4616c+/uup3Oa8zyWJxgXkJrSTN+djlxblNRAiG56Edqu0GcLLSQXugETHCJ5Ag9mD/llyxq56cUhtfkwrvkYVJ7i1PjztHh21G1j5pZCrOyy/8lwV6rH/VGksOp1ooFD8piDxMArjasBdVH4p9V8eNdLfEn3J+FSISWAeZNG5Q3mhlvNv4yKgrQNz+MqTKECHw010PAG+dNkJKXsHgdTK8vPMh7OzGQyAg9Mmzs9sD2tp7iwIC+yvi4sj6np5K7MnJ0wnU1OZrGBhrnx4eRQ6YmH04srLo0qamS7cmJtZXPDwyipOT2O6Cgv2YUlI31Ht7cTe7u/GXW1vhg0dHMDwkJA/iUVH4xrq6G/NKSodIv7/6cA0NBrOwsD/edXVe/dLSuiB9fa4xZmZbozo6ihxZWQAAAAC8k83NneAaGm0srq7Bq39/sccrKw65vr6AoODgXRCKitJSOzvVumRkoIjY2ISl5+cH6F9fFBEbG7XCLCyQtPz8LCcxMaNlgICyKnNzc4EMDExfeXlUQWtrkgJLS3RpU1M2j5SUUR+Dgzg2KiqwnMTEvcgiIlr41dX8w729YHhISGLO//+WB0xMbHdBQULmx8f3JOvrEBQcHHxjXV0oIjY2J8BnZ4yv6ekT+UREleoUFJy79fXHGM/PJC0/P0bjwMA723JycGxUVMpMKSnjNfDwhf4ICMsXxsYRT/Pz0OSMjJNZpKS4lsrKpjtoaINNuLggKDg4/y7l5Z9Wra13hAsLwx3IyMz/mZkD7VhYb5oZGQgKDg6/fpWVQFBwcOcw9/crz25u4m4fH3k9tbUMDwkJqjRhYYIWV1dBC5+fOoCdnepkERG5zSUl5N2vr5oIRUWkjd/fl1yjo37V6uraWDU1etDt7Rf8Q0Nmy/j4lLH7+6HTNzcdQPr6PWjCwvDMtLTeXTIys3GcnAvnVlZy2uPjp2CHhxwbFRXvOvn50b9jY1OpNDQ+hZqaj0KxsTPRfHwmm4iIX6Y9PezXoaF23+TkKpSBgUkBkZGB+w8PiKru7u5hFhYhc9fXxPWXlxqopaXrP/7+2bVtbcWueHg5bcXFmeUdHc2kdnat3D4+MWfLy4tHtrYBW+/vGB4SEiPFYGDdsGpqH/ZNTU7pzs4tfN7e+Z1VVUhafn5PsiEh8noDA2UmoKCOGV5eeGZaWlxLZWVYTmJiGUX9/Y30BgblhkBAmL7y8lesMzNnkBcXf44FBQVe6OhkfU9Pr2qJiWOVEBC2L3R0/nUKCvWSXFy3dJubPDMtLaXWMDDOSS4u6YlJSWhyRkZEVXd34NioqE0ElpZDvSgoaSmpqSl52dkukYaGrIfR0RVK9PRZFY2NqILW1gq8ubmeDUJCbsH29ke4Ly/fBt3dNDkjIzVizMxqxPHxzxLBwdzrhYUino+PyaFxccDwkJCbU6qqifEBAdThi4vtjE5Oq2+OjhKiq6uiPm9vDVTm5lLy29u7e5KSAra3ty/KaWmp2Tk51wzT02Ejp6ceraKitJnDw1BEbGwEBQcH9n8EBMJGJycWp6ysJXbQ0IYTUFBW99zcVRqEhAlR4eG+JXp6ke8TEzk52akXF5BnnJxxs6am0ugHBwUEUlKY/YCAZaPk5N92RUUImktLApLg4KCAWlpmeK+v3eRqarDdY2O/0SoqNjjm5lQNICBDxszMYjXy8r6YEhIeGOvrJPehodfsQUF3bCgovUO8vDJ1e3vUN4iImyYNDXD6RET5E/v7sZR+flpIAwN68oyM5NC2tkeLJCQ8MOfnpYRra0FU3d0G32BgxSP9/UUZOjqjW8LCaD2NjRVZ7Owh82ZmMa5vbz6iV1cWghAQlWPv71sBuLhNg4aGkS5tbbXZg4MfUaqqU5tdXWN8aGg7pv7+P+swMNalenolvqyspxYJCQ8M8PA146enI2GQkPDA6emvjJ2dgDpcXJL1DAyBczExJyzQ0HYlVlbnC5KSe7vOzulOAQHxiR4en2s0NKlT8fHEasPDmbRbW5fxR0eD4RgYa+YiIsi9mJgORR8fbuKzs8n0dHQvtvj4y2aZmf/MFBTqlVhY7QPc3PdWi4vh1BUVGxyioq0e09MM1+LiK/vIyB3DXl4ZjiwswrVJSYnpwcESz5WVfr99fSC6ERFk6gsLhHfFxW05iYlqr3x80TNxcaHJ///OYru7N3EPD/uBtbU9eeHhUQk+PtytPz8tJHZ2pM1VVZ35goLu2EBAhuV4eK7FJSXNuZaWBE13d1VEDg4KCFBQE4b39zDnNzfTofr6QB1hYTSqTk6M7bCwswZUVGxwc3Mqsjs7UtKfnwtBAgKLe9jYiKDz808Ry8tnMScnRsJnZ8An/Py0kDg4KCAEBH/2SEh4YOXlLv9MTAeWZWVLXCsrx7GOjm+rQkINnvX1u5zb2/JSSkrzGz09pl+kpFmTubm8Cvn5Ou8TE++RCAj+hZGRAUkWFmHu3t58LSEhsk+xsUKPcnLbOy8vuEe/v0iHrq4sbcDA40Y8PFfWmpqFPqmpKWlPT31kgYGUKi4uSc7GxhfLaWnKL729w/yjo1yX6OheBe3t0HrR0YesBQWOf2RkutWlpagaJia3S76+uQ6Hh2Cn1dX4WjY2IigbGxEUdXXeP9nZeSnu7qqILS0zPHl5X0y3t7YCysqWuDU1WNrExJywQ0P8F4SEGlVNTfYfWVkcirKyOH0zM6xXz88YxwYG9I1TU2l0m5t0t5eX9cStrVaf4+Pacurq1X709EoVj4+eIqurohJiYk5YX1/oBx0d5ZkjIzk09vbBbmxsRFAyMl3eRkZyaKCgJmXNzZO82toD27q6xvienvrI1taCqG5uzytwcFBAhYXr3AoKdf6Tk4oy39+NpCkpTMocHBQQ19dzIbS0zPDU1AnTiooQXVFR4g8AAAAAGRmabxoa4J2UlI82x8fmQsnJ7ErS0v1ef3+rwaio2OAyvHW8Iezz7EMgxiDJs/SzA9rb2osCewIr4vvi+p7InuzJSskJ1NPUaxjmGJ8eax4OmEWYOLJ9stKm6Ka3JksmVzzWPIqTMpPugtiCmFL9UtR7N3s3u3G7l1vxW4NH4Uc8JDAk4lEPUca6+LrzShtKSL+Hv3AN+g2zsAaw3nU/df3SXtIgfbp9MWauZqM6WzocWYpZAAAAAJPNvM3gGp0aLK5trqt/wX/HK7Erub4OvqDggOAQil2KUjvSO7pk1WSI2KDYpeeE5+hfB18RGxQbwiy1LLT8kPwnMSwxZYCjgCpzsnOBDHMMX3lMeUFrVGsCS5JLaVN0U4+UNpQfg1GDNio4KpzEsMTIIr0i+NVa1cO9/L14SGBIzv9i/wdMlkx3QWxB5sdCxyTr9+sUHBAcY118XSI2KDbAZydnr+mM6flEE0TqFJUUu/Wc9RjPx88tPyQ/48BGwNtyO3JsVHBUTCnKKTXw4/D+CIUIF8bLxk/zEfPkjNCMWaSTpJbKuMo7aKZoTbiDuCg4IDgu5f/lVq2frYQLdwsdyMPI/5nMme1YA1iaGW8ZCg4IDn6Vv5VQcEBwMPfn989uK25uH+IfPbV5tQ8JDAk0YaphFleCVwufQZ+AnTqdZBHqEc0luSXdr+SvCEWaRY3fpN9co5ej1ep+6lg12jXQ7Xrt/EMXQ8v4Zvix+5T70zehN0D6Hfpowj3CzLTwtF0y3jJxnLOc51YLVtrjcuNgh6eHGxUcFTr57/m/Y9FjqTRTNIWaPppCsY+x0XwzfJuIJoimPV8916Hsod/kduSUgSqBAZFJkfsPgQ+q7ojuYRbuFnPXIdf1l8SXqKUapT/+6/61bdltrnjFeG3FOcXlHZkdpHbNdtw+rT5nyzHLR7aLtlvvAe8eEhgSxWAjYLBq3Wr2TR9N6c5OznzeLd6dVflVWn5IfrIhTyF6A/IDJqBloBlejl5mWnhaS2VcZU5iWGJF/Rn99AaNBoZA5UC+8pjyrDNXM5AXZxeOBX8FXugF6H1PZE9qia+JlRBjEC90tnR1Cv4Kklz1XHSbt5szLTwt1jClMEkuzi6JSelJckZoRlV3RHfYqOCoBJZNlr0oQygpqWmpedkp2ZGGLoaH0azRSvQV9BWNWY2C1qjWvLkKuQ1CnkLB9m72uC9HLwbd3905IzQjYsw1zMTxavESwc/B64XchZ6PIo+hcclx8JDAkFOqm6rxAYkB4YvUi4xO7U5vjquOoqsSqz5vom9U5g3m8ttS23uSu5K2twK3ymkvadk5qTkM09fTI6dhp62iHqKZw7TDRGxQbAUHBAd/BPYERifCJ6esFqx20CXQE1CGUPfcVtwahFWEUeEJ4SV6vnrvE5ET2ak52ZBnF5Bxs5xx0uim0gUEBwWY/VKYZaOAZd925N8ImkUIApJLAqCA4KBmeFpm3eSv3bDdarC/0WO/NjgqNlQN5lRDxiBDYjXMYr6Y8r4eGBIeJPfrJNfsodd3bEF3vUMovTJ1vDLUN3vUmyaIm3D6DXD5E0T5sZT7sVpIflp68gN65NCM5EeLtkc8MCQ8pYTnpUFUa0EG390GxSNgxUUZ/UWjWzqjaD3CaBVZjRUh8+whMa5mMT6ibz4WglcWlWMQlVsB71tNg7hNkS6GkbXZbbUfUYMfU5uqU2N8XWM7pmg7P+v+P9alMNYlvnolpxaspw8MCQ814/A1I2GnI/DAkPCvjOmvgDqdgJL1XJKBcwyBJywxJ3Yl0HbnC1bne7uSe+lOzunxiQHxn2sen6lTNKnEavHEmbTDmZfxW5eD4UeDa+YYa8i9IsgORZgObuIfbsn0s8kvtnQvy2b4y//Mmf/qlRTq7QNY7fdW3Pfh1IvhGxwVG60eoq0M19MMK/viKx3DyB0Zjl4ZwrUswonpSYkSz8ESfr+VfiC6fSBk6hFkhHcLhG05xW1qr4lq0TN80aHJcaHOYv/ON3G7N/uBD/s9ebU9UQnhUdytPtwtJD8tpM12pJ35VZ3u2ILuhuVAhq7FeK7NuSXNBE2WBFVEd1UKCA4KE4ZQEzDn9zDToTfTQB36QDSqYTSM7U6Mswaws2xwVGwqsnMqUtI7UgtBnwuLewKLiKDYiE8R809nMctnRsInRsAnZ8C0kPy0KCA4KH/2BH94YEh4Lv/lLgeWTAdLXGVLx7Erx2+rjm8NnkINu5z1u/JS2/LzG0rzpl89plmTpFm8Crm8Ou/5Ou+RE+/+hQj+AUmRAWHuFmF8Ld58sk8hskKPsULbO3LbuEcvuEiHv0gsba4s40bA41fWPFeFPpqFKWmpKX1kT32UKoGUSc4uSRfLxhfKL2nKw/y9w1yXo1xeBehe0Hrt0Ies0YeOfwWOutVkuqgapai3Sya3uQ6+uWCnh2D4WtX4Iig2IhEUGxHeP3XeeSnZeaqI7qozPC0zX0x5X7YCt7aWuMqWWNo1WJywxJz8F0P8GlWEGvYfTfYcilkcOH2yOKxXM6wYx88Y9I0G9Gl0U2l0t5t09cSX9VafrVbacuPa1X7q1UoV9EqeIo+eohKrok5YYk7oB1/o5Zkd5Tk0IznBbvbBRFBsRF3eMl1yaEZyJmWgJpO8zZMD29oDxvi6xvrInvqCqNaCzytuz1BAcFDr3IXrdf4KdYoyk4qNpN+NTMopTBQQHBRzIddzzPC0zAnT1AkQXYoQ4g9R4gAAAACabxma4J0a4I82lI/mQsfm7ErJ7P1e0v2rwX+r2OCo2AABAgIDAwMDBAQEBAQEBAQFBQUFBQUFBQUFBQUFBQUFBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg6Z2VuZXJpYy9tcGloLWFkZDEuYzpnZW5lcmljL21waWgtc3ViMS5jOmdlbmVyaWMvbXBpaC1tdWwxLmM6Z2VuZXJpYy9tcGloLW11bDIuYzpnZW5lcmljL21waWgtbXVsMy5jOmdlbmVyaWMvbXBpaC1sc2hpZnQuYzpnZW5lcmljL21waWgtcnNoaWZ0LmMAAAAAAAAAAAAAAAAAAAAACgpUaGlzIGlzIExpYmdjcnlwdCAxLjcuMC1iZXRhMjMwIC0gVGhlIEdOVSBDcnlwdG8gTGlicmFyeQpDb3B5cmlnaHQgKEMpIDIwMDAtMjAxMiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KQ29weXJpZ2h0IChDKSAyMDEyLTIwMTQgZzEwIENvZGUgR21iSApDb3B5cmlnaHQgKEMpIDIwMTMtMjAxNCBKdXNzaSBLaXZpbGlubmEKCihhMzZlZTc1MCAyMDE4LTA5LTIwVDEwOjUxKzAwMDApCgoKAAAAAAAAAAAAAAAAmC+KQpFEN3HP+8C1pdu16VvCVjnxEfFZpII/ktVeHKuYqgfYAVuDEr6FMSTDfQxVdF2+cv6x3oCnBtybdPGbwcFpm+SGR77vxp3BD8yhDCRvLOktqoR0StypsFzaiPl2UlE+mG3GMajIJwOwx39Zv/ML4MZHkafVUWPKBmcpKRSFCrcnOCEbLvxtLE0TDThTVHMKZbsKanYuycKBhSxykqHov6JLZhqocItLwqNRbMcZ6JLRJAaZ1oU1DvRwoGoQFsGkGQhsNx5Md0gntbywNLMMHDlKqthOT8qcW/NvLmjugo90b2OleBR4yIQIAseM+v++kOtsUKT3o/m+8nhxxgAAwgGEA0YCCAfKBowETgUQDtIPlA1WDBgJ2gicCl4LIBziHaQfZh4oG+oarBhuGTAS8hO0EXYQOBX6FLwWfhdAOII5xDsGOkg/ij7MPA49UDaSN9Q1FjRYMZow3DIeM2AkoiXkJyYmaCOqIuwgLiFwKrIr9Ck2KHgtuiz8Lj4vgHBCcQRzxnKId0p2DHTOdZB+Un8UfdZ8mHlaeBx63nugbGJtJG/mbqhramosaO5psGJyYzRh9mC4ZXpkPGb+Z8BIAklES4ZKyE8KTkxMjk3QRhJHVEWWRNhBGkBcQp5D4FQiVWRXplboUypSbFCuUfBaMlt0WbZY+F06XHxevl8A4cLghOJG4wjmyueM5U7kEO/S7pTsVu0Y6NrpnOte6iD94vyk/mb/KPrq+6z5bvgw8/LytPB28Tj0+vW89372QNmC2MTaBttI3orfzN0O3FDXktbU1BbVWNCa0dzTHtJgxaLE5MYmx2jCqsPswS7AcMuyyvTINsl4zLrN/M8+zoCRQpAEksaTiJZKlwyVzpSQn1KeFJzWnZiYWpkcm96aoI1ijCSO5o+oimqLLInuiLCDcoI0gPaBuIR6hTyH/obAqQKoRKqGq8iuCq9MrY6s0KcSplSklqXYoBqhXKOeouC1IrRktqa36LIqs2yxrrDwuzK6dLi2ufi8Or18v76+ZpoAf8dqRZ+YuvkX/t+VIhGaAH/HakWfmLr5F/7flTMGmgB/x2pFn5i6+Rf+35UhWwcBAF8HAQBlBwEAagcBAHAHAQAAAAAAAAAAAAAAAACOmTufSGgSc8KWULoy/HbOSDMupxZNlqRHb7jFMaEYasDfwXyY3Oh7TafwEexIyXJx0sIPm5KP4icNb7hj1Rc4tI7u4xSnzIq5MhZFSOUmrpAiQ2hRes/qvWuzcyvA6dqZgythygG23lYkSp6I1fmzeXP2IqQ9FKZZmx9lTLRadONVpQAAAAAAAAAAAAAAAADupqclHB5ykW0RwsshTTwlJTkSHY4jTmUtZR+kyM/4gPP/x3A/lADlKn37Sz0zBdn/////////////////////AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAQIDBAUGB//+/fz7+vn//////////////////wAAAABkr+Lo1q17vdKH+XxEYj05ucp/1qD100IZbYSRdhw7vkiygphowoAAAAAoGAAAJQBSF40potWEEp2JmkWCAvd3QpwIPYL0ikBmtUknq0LHww63YTz+sL5z925tbx2jFPq7S8EOxfvNRr4oYecDKzd9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA95W9SlLintcT0xP6IOmNvMjR5RFZUvf6Nzi0xc6ysJoNnMUNFuG87c9gYgmdIIN+AAECAwQFBgcICQoLDA0OD4AAgQGCAoMDoCChIaIioyP/////////////////////lu3Mw90Ef3VjGTdvFSJXVnoUdneVF37IkujdFcsfvLElPi6iQRvd9SFIQXGzjS9MAAAAAAgAAAAWAAAAJQAAAD8AAABcAAAAdQAAAIQAAACTAAAAoQAAAK8AAAC+AAAAzQAAAOYAAADzAAAAAgEAABABAAAbAQAAKQEAAD8BAABPAQAAbQEAAIEBAACZAQAAswEAAMwBAADeAQAA5wEAAPEBAAABAgAADgIAABwCAAAvAgAARwIAAFsCAABrAgAAegIAAIoCAACaAgAAqwIAALkCAADJAgAA5AIAAPUCAAAJAwAAHAMAAC0DAABBAwAATQMAAFsDAABoAwAAeAMAAIsDAACeAwAAsgMAAMYDAADUAwAA6gMAAP4DAAAGBAAACgQAABgEAAAvBAAANwQAAEYEAABTBAAAYgQAAH8EAACcBAAAswQAAMMEAADTBAAA5wQAAPQEAAADBQAAFAUAACQFAAA1BQAARgUAAFIFAABfBQAAfgUAAJMFAACnBQAAvAUAANIFAADeBQAA7QUAAPUFAAACBgAACwYAAB0GAAAoBgAAMwYAAEEGAABVBgAAYgYAAG4GAAB8BgAAiAYAAJwGAACvBgAAwwYAANkGAADxBgAABgcAAB0HAAAyBwAAQQcAAEwHAABgBwAAbQcAAHoHAACLBwAAoQcAAK8HAADDBwAA0wcAAOEHAADsBwAAAAgAABcIAAAsCAAAOwgAAFAIAABmCAAAdggAAIQIAACUCAAAoggAALMIAAC/CAAA3wgAAPMIAAD/CAAACQkAABUJAAAnCQAAPAkAAEgJAABXCQAAaAkAAHcJAACHCQAAlQkAAKgJAAC7CQAA0gkAAOcJAAD/CQAAEQoAACcKAAA+CgAAUAoAAFwKAABuCgAAfwoAAI0KAACeCgAArQoAAMQKAADXCgAA5AoAAPcKAAAPCwAAKgsAADcLAABQCwAAWwsAAG4LAAB6CwAAigsAAJwLAAC3CwAAvgsAAM0LAADdCwAA7QsAAAEMAAAODAAAGgwAACsMAAA3DAAASAwAAFYMAABmDAAAgQwAAJgMAACvDAAAxgwAANUMAADmDAAA+AwAAA0NAAAgDQAAPw0AAFENAABjDQAAeQ0AAJMNAACuDQAAvw0AAOgNAAAIDgAALg4AAEkOAABnDgAAhQ4AAKEOAADGDgAA3g4AAA4PAAA4DwAAYA8AAIQPAACPDwAAoQ8AALIPAADRDwAA5g8AAP8PAAAOEAAAJhAAADkQAABdEAAAchAAAI8QAACjEAAAvhAAANoQAADpEAAA9BAAAAURAAAqEQAAVxEAAIMRAACrEQAA0REAAPcRAAAhEgAAQxIAAHASAACdEgAAqhIAALQSAADBEgAA5BIAAPgSAAAKEwAAIRMAADkTAABOEwAAahMAAIgTAACkEwAAuBMAANATAADrEwAA/RMAAA8UAAArFAAAOhQAAEoUAABmFAAAfRQAAJEUAACiFAAAvhQAANYUAADvFAAAAxUAABcVAAAqFQAARxUAAF8VAAB7FQAAlhUAALAVAADNFQAA5RUAAP4VAAAZFgAANhYAAEcWAABgFgAAdxYAAI0WAACgFgAAthYAANcWAAD1FgAADBcAAC8XAAA/FwAAUxcAAGcXAAB4FwAAkxcAAKAXAAC2FwAAyhcAAOYXAAACGAAAFRgAACcYAABQGAAAeBgAAJ8YAACtGAAA0BgAAPcYAAAYGQAAMxkAAEoZAABoGQAAhxkAAKQZAAC+GQAA1RkAAOkZAAD8GQAAFhoAACsaAABMGgAAcRoAAJMaAACsGgAAyRoAAN0aAAD4GgAAHBsAADIbAABIGwAAZBsAAIsbAACtGwAAwxsAAOMbAAD6GwAAHxwAADwcAABNHAAAaRwAAIQcAACZHAAAtBwAAMwcAADbHAAA9xwAAA8dAAAiHQAAOB0AAF0dAAB3HQAAkR0AAKsdAADFHQAA3x0AAPkdAAATHgAALR4AAEceAABiHgAAfR4AAJgeAACzHgAAzh4AAOkeAAAEHwAAGx8AADAfAAA8HwAAU3VjY2VzcwBHZW5lcmFsIGVycm9yAFVua25vd24gcGFja2V0AFVua25vd24gdmVyc2lvbiBpbiBwYWNrZXQASW52YWxpZCBwdWJsaWMga2V5IGFsZ29yaXRobQBJbnZhbGlkIGRpZ2VzdCBhbGdvcml0aG0AQmFkIHB1YmxpYyBrZXkAQmFkIHNlY3JldCBrZXkAQmFkIHNpZ25hdHVyZQBObyBwdWJsaWMga2V5AENoZWNrc3VtIGVycm9yAEJhZCBwYXNzcGhyYXNlAEludmFsaWQgY2lwaGVyIGFsZ29yaXRobQBLZXlyaW5nIG9wZW4ASW52YWxpZCBwYWNrZXQASW52YWxpZCBhcm1vcgBObyB1c2VyIElEAE5vIHNlY3JldCBrZXkAV3Jvbmcgc2VjcmV0IGtleSB1c2VkAEJhZCBzZXNzaW9uIGtleQBVbmtub3duIGNvbXByZXNzaW9uIGFsZ29yaXRobQBOdW1iZXIgaXMgbm90IHByaW1lAEludmFsaWQgZW5jb2RpbmcgbWV0aG9kAEludmFsaWQgZW5jcnlwdGlvbiBzY2hlbWUASW52YWxpZCBzaWduYXR1cmUgc2NoZW1lAEludmFsaWQgYXR0cmlidXRlAE5vIHZhbHVlAE5vdCBmb3VuZABWYWx1ZSBub3QgZm91bmQAU3ludGF4IGVycm9yAEJhZCBNUEkgdmFsdWUASW52YWxpZCBwYXNzcGhyYXNlAEludmFsaWQgc2lnbmF0dXJlIGNsYXNzAFJlc291cmNlcyBleGhhdXN0ZWQASW52YWxpZCBrZXlyaW5nAFRydXN0IERCIGVycm9yAEJhZCBjZXJ0aWZpY2F0ZQBJbnZhbGlkIHVzZXIgSUQAVW5leHBlY3RlZCBlcnJvcgBUaW1lIGNvbmZsaWN0AEtleXNlcnZlciBlcnJvcgBXcm9uZyBwdWJsaWMga2V5IGFsZ29yaXRobQBUcmlidXRlIHRvIEQuIEEuAFdlYWsgZW5jcnlwdGlvbiBrZXkASW52YWxpZCBrZXkgbGVuZ3RoAEludmFsaWQgYXJndW1lbnQAU3ludGF4IGVycm9yIGluIFVSSQBJbnZhbGlkIFVSSQBOZXR3b3JrIGVycm9yAFVua25vd24gaG9zdABTZWxmdGVzdCBmYWlsZWQARGF0YSBub3QgZW5jcnlwdGVkAERhdGEgbm90IHByb2Nlc3NlZABVbnVzYWJsZSBwdWJsaWMga2V5AFVudXNhYmxlIHNlY3JldCBrZXkASW52YWxpZCB2YWx1ZQBCYWQgY2VydGlmaWNhdGUgY2hhaW4ATWlzc2luZyBjZXJ0aWZpY2F0ZQBObyBkYXRhAEJ1ZwBOb3Qgc3VwcG9ydGVkAEludmFsaWQgb3BlcmF0aW9uIGNvZGUAVGltZW91dABJbnRlcm5hbCBlcnJvcgBFT0YgKGdjcnlwdCkASW52YWxpZCBvYmplY3QAUHJvdmlkZWQgb2JqZWN0IGlzIHRvbyBzaG9ydABQcm92aWRlZCBvYmplY3QgaXMgdG9vIGxhcmdlAE1pc3NpbmcgaXRlbSBpbiBvYmplY3QATm90IGltcGxlbWVudGVkAENvbmZsaWN0aW5nIHVzZQBJbnZhbGlkIGNpcGhlciBtb2RlAEludmFsaWQgZmxhZwBJbnZhbGlkIGhhbmRsZQBSZXN1bHQgdHJ1bmNhdGVkAEluY29tcGxldGUgbGluZQBJbnZhbGlkIHJlc3BvbnNlAE5vIGFnZW50IHJ1bm5pbmcAQWdlbnQgZXJyb3IASW52YWxpZCBkYXRhAFVuc3BlY2lmaWMgQXNzdWFuIHNlcnZlciBmYXVsdABHZW5lcmFsIEFzc3VhbiBlcnJvcgBJbnZhbGlkIHNlc3Npb24ga2V5AEludmFsaWQgUy1leHByZXNzaW9uAFVuc3VwcG9ydGVkIGFsZ29yaXRobQBObyBwaW5lbnRyeQBwaW5lbnRyeSBlcnJvcgBCYWQgUElOAEludmFsaWQgbmFtZQBCYWQgZGF0YQBJbnZhbGlkIHBhcmFtZXRlcgBXcm9uZyBjYXJkAE5vIGRpcm1uZ3IAZGlybW5nciBlcnJvcgBDZXJ0aWZpY2F0ZSByZXZva2VkAE5vIENSTCBrbm93bgBDUkwgdG9vIG9sZABMaW5lIHRvbyBsb25nAE5vdCB0cnVzdGVkAE9wZXJhdGlvbiBjYW5jZWxsZWQAQmFkIENBIGNlcnRpZmljYXRlAENlcnRpZmljYXRlIGV4cGlyZWQAQ2VydGlmaWNhdGUgdG9vIHlvdW5nAFVuc3VwcG9ydGVkIGNlcnRpZmljYXRlAFVua25vd24gUy1leHByZXNzaW9uAFVuc3VwcG9ydGVkIHByb3RlY3Rpb24AQ29ycnVwdGVkIHByb3RlY3Rpb24AQW1iaWd1b3VzIG5hbWUAQ2FyZCBlcnJvcgBDYXJkIHJlc2V0IHJlcXVpcmVkAENhcmQgcmVtb3ZlZABJbnZhbGlkIGNhcmQAQ2FyZCBub3QgcHJlc2VudABObyBQS0NTMTUgYXBwbGljYXRpb24ATm90IGNvbmZpcm1lZABDb25maWd1cmF0aW9uIGVycm9yAE5vIHBvbGljeSBtYXRjaABJbnZhbGlkIGluZGV4AEludmFsaWQgSUQATm8gU21hcnRDYXJkIGRhZW1vbgBTbWFydENhcmQgZGFlbW9uIGVycm9yAFVuc3VwcG9ydGVkIHByb3RvY29sAEJhZCBQSU4gbWV0aG9kAENhcmQgbm90IGluaXRpYWxpemVkAFVuc3VwcG9ydGVkIG9wZXJhdGlvbgBXcm9uZyBrZXkgdXNhZ2UATm90aGluZyBmb3VuZABXcm9uZyBibG9iIHR5cGUATWlzc2luZyB2YWx1ZQBIYXJkd2FyZSBwcm9ibGVtAFBJTiBibG9ja2VkAENvbmRpdGlvbnMgb2YgdXNlIG5vdCBzYXRpc2ZpZWQAUElOcyBhcmUgbm90IHN5bmNlZABJbnZhbGlkIENSTABCRVIgZXJyb3IASW52YWxpZCBCRVIARWxlbWVudCBub3QgZm91bmQASWRlbnRpZmllciBub3QgZm91bmQASW52YWxpZCB0YWcASW52YWxpZCBsZW5ndGgASW52YWxpZCBrZXkgaW5mbwBVbmV4cGVjdGVkIHRhZwBOb3QgREVSIGVuY29kZWQATm8gQ01TIG9iamVjdABJbnZhbGlkIENNUyBvYmplY3QAVW5rbm93biBDTVMgb2JqZWN0AFVuc3VwcG9ydGVkIENNUyBvYmplY3QAVW5zdXBwb3J0ZWQgZW5jb2RpbmcAVW5zdXBwb3J0ZWQgQ01TIHZlcnNpb24AVW5rbm93biBhbGdvcml0aG0ASW52YWxpZCBjcnlwdG8gZW5naW5lAFB1YmxpYyBrZXkgbm90IHRydXN0ZWQARGVjcnlwdGlvbiBmYWlsZWQAS2V5IGV4cGlyZWQAU2lnbmF0dXJlIGV4cGlyZWQARW5jb2RpbmcgcHJvYmxlbQBJbnZhbGlkIHN0YXRlAER1cGxpY2F0ZWQgdmFsdWUATWlzc2luZyBhY3Rpb24AQVNOLjEgbW9kdWxlIG5vdCBmb3VuZABJbnZhbGlkIE9JRCBzdHJpbmcASW52YWxpZCB0aW1lAEludmFsaWQgQ1JMIG9iamVjdABVbnN1cHBvcnRlZCBDUkwgdmVyc2lvbgBJbnZhbGlkIGNlcnRpZmljYXRlIG9iamVjdABVbmtub3duIG5hbWUAQSBsb2NhbGUgZnVuY3Rpb24gZmFpbGVkAE5vdCBsb2NrZWQAUHJvdG9jb2wgdmlvbGF0aW9uAEludmFsaWQgTUFDAEludmFsaWQgcmVxdWVzdABVbmtub3duIGV4dGVuc2lvbgBVbmtub3duIGNyaXRpY2FsIGV4dGVuc2lvbgBMb2NrZWQAVW5rbm93biBvcHRpb24AVW5rbm93biBjb21tYW5kAE5vdCBvcGVyYXRpb25hbABObyBwYXNzcGhyYXNlIGdpdmVuAE5vIFBJTiBnaXZlbgBOb3QgZW5hYmxlZABObyBjcnlwdG8gZW5naW5lAE1pc3Npbmcga2V5AFRvbyBtYW55IG9iamVjdHMATGltaXQgcmVhY2hlZABOb3QgaW5pdGlhbGl6ZWQATWlzc2luZyBpc3N1ZXIgY2VydGlmaWNhdGUATm8ga2V5c2VydmVyIGF2YWlsYWJsZQBJbnZhbGlkIGVsbGlwdGljIGN1cnZlAFVua25vd24gZWxsaXB0aWMgY3VydmUARHVwbGljYXRlZCBrZXkAQW1iaWd1b3VzIHJlc3VsdABObyBjcnlwdG8gY29udGV4dABXcm9uZyBjcnlwdG8gY29udGV4dABCYWQgY3J5cHRvIGNvbnRleHQAQ29uZmxpY3QgaW4gdGhlIGNyeXB0byBjb250ZXh0AEJyb2tlbiBwdWJsaWMga2V5AEJyb2tlbiBzZWNyZXQga2V5AEludmFsaWQgTUFDIGFsZ29yaXRobQBPcGVyYXRpb24gZnVsbHkgY2FuY2VsbGVkAE9wZXJhdGlvbiBub3QgeWV0IGZpbmlzaGVkAEJ1ZmZlciB0b28gc2hvcnQASW52YWxpZCBsZW5ndGggc3BlY2lmaWVyIGluIFMtZXhwcmVzc2lvbgBTdHJpbmcgdG9vIGxvbmcgaW4gUy1leHByZXNzaW9uAFVubWF0Y2hlZCBwYXJlbnRoZXNlcyBpbiBTLWV4cHJlc3Npb24AUy1leHByZXNzaW9uIG5vdCBjYW5vbmljYWwAQmFkIGNoYXJhY3RlciBpbiBTLWV4cHJlc3Npb24AQmFkIHF1b3RhdGlvbiBpbiBTLWV4cHJlc3Npb24AWmVybyBwcmVmaXggaW4gUy1leHByZXNzaW9uAE5lc3RlZCBkaXNwbGF5IGhpbnRzIGluIFMtZXhwcmVzc2lvbgBVbm1hdGNoZWQgZGlzcGxheSBoaW50cwBVbmV4cGVjdGVkIHJlc2VydmVkIHB1bmN0dWF0aW9uIGluIFMtZXhwcmVzc2lvbgBCYWQgaGV4YWRlY2ltYWwgY2hhcmFjdGVyIGluIFMtZXhwcmVzc2lvbgBPZGQgaGV4YWRlY2ltYWwgbnVtYmVycyBpbiBTLWV4cHJlc3Npb24AQmFkIG9jdGFsIGNoYXJhY3RlciBpbiBTLWV4cHJlc3Npb24ATGVnYWN5IGtleQBSZXF1ZXN0IHRvbyBzaG9ydABSZXF1ZXN0IHRvbyBsb25nAE9iamVjdCBpcyBpbiB0ZXJtaW5hdGlvbiBzdGF0ZQBObyBjZXJ0aWZpY2F0ZSBjaGFpbgBDZXJ0aWZpY2F0ZSBpcyB0b28gbGFyZ2UASW52YWxpZCByZWNvcmQAVGhlIE1BQyBkb2VzIG5vdCB2ZXJpZnkAVW5leHBlY3RlZCBtZXNzYWdlAENvbXByZXNzaW9uIG9yIGRlY29tcHJlc3Npb24gZmFpbGVkAEEgY291bnRlciB3b3VsZCB3cmFwAEZhdGFsIGFsZXJ0IG1lc3NhZ2UgcmVjZWl2ZWQATm8gY2lwaGVyIGFsZ29yaXRobQBNaXNzaW5nIGNsaWVudCBjZXJ0aWZpY2F0ZQBDbG9zZSBub3RpZmljYXRpb24gcmVjZWl2ZWQAVGlja2V0IGV4cGlyZWQAQmFkIHRpY2tldABVbmtub3duIGlkZW50aXR5AEJhZCBjZXJ0aWZpY2F0ZSBtZXNzYWdlIGluIGhhbmRzaGFrZQBCYWQgY2VydGlmaWNhdGUgcmVxdWVzdCBtZXNzYWdlIGluIGhhbmRzaGFrZQBCYWQgY2VydGlmaWNhdGUgdmVyaWZ5IG1lc3NhZ2UgaW4gaGFuZHNoYWtlAEJhZCBjaGFuZ2UgY2lwaGVyIG1lc3NzYWdlIGluIGhhbmRzaGFrZQBCYWQgY2xpZW50IGhlbGxvIG1lc3NhZ2UgaW4gaGFuZHNoYWtlAEJhZCBzZXJ2ZXIgaGVsbG8gbWVzc2FnZSBpbiBoYW5kc2hha2UAQmFkIHNlcnZlciBoZWxsbyBkb25lIG1lc3NhZ2UgaW4gaGFuc2hha2UAQmFkIGZpbmlzaGVkIG1lc3NhZ2UgaW4gaGFuZHNoYWtlAEJhZCBzZXJ2ZXIga2V5IGV4Y2hhbmdlIG1lc3NhZ2UgaW4gaGFuZHNoYWtlAEJhZCBjbGllbnQga2V5IGV4Y2hhbmdlIG1lc3NhZ2UgaW4gaGFuZHNoYWtlAEJvZ3VzIHN0cmluZwBGb3JiaWRkZW4AS2V5IGRpc2FibGVkAE5vdCBwb3NzaWJsZSB3aXRoIGEgY2FyZCBiYXNlZCBrZXkASW52YWxpZCBsb2NrIG9iamVjdABHZW5lcmFsIElQQyBlcnJvcgBJUEMgYWNjZXB0IGNhbGwgZmFpbGVkAElQQyBjb25uZWN0IGNhbGwgZmFpbGVkAEludmFsaWQgSVBDIHJlc3BvbnNlAEludmFsaWQgdmFsdWUgcGFzc2VkIHRvIElQQwBJbmNvbXBsZXRlIGxpbmUgcGFzc2VkIHRvIElQQwBMaW5lIHBhc3NlZCB0byBJUEMgdG9vIGxvbmcATmVzdGVkIElQQyBjb21tYW5kcwBObyBkYXRhIGNhbGxiYWNrIGluIElQQwBObyBpbnF1aXJlIGNhbGxiYWNrIGluIElQQwBOb3QgYW4gSVBDIHNlcnZlcgBOb3QgYW4gSVBDIGNsaWVudABQcm9ibGVtIHN0YXJ0aW5nIElQQyBzZXJ2ZXIASVBDIHJlYWQgZXJyb3IASVBDIHdyaXRlIGVycm9yAFRvbyBtdWNoIGRhdGEgZm9yIElQQyBsYXllcgBVbmV4cGVjdGVkIElQQyBjb21tYW5kAFVua25vd24gSVBDIGNvbW1hbmQASVBDIHN5bnRheCBlcnJvcgBJUEMgY2FsbCBoYXMgYmVlbiBjYW5jZWxsZWQATm8gaW5wdXQgc291cmNlIGZvciBJUEMATm8gb3V0cHV0IHNvdXJjZSBmb3IgSVBDAElQQyBwYXJhbWV0ZXIgZXJyb3IAVW5rbm93biBJUEMgaW5xdWlyZQBHZW5lcmFsIExEQVAgZXJyb3IAR2VuZXJhbCBMREFQIGF0dHJpYnV0ZSBlcnJvcgBHZW5lcmFsIExEQVAgbmFtZSBlcnJvcgBHZW5lcmFsIExEQVAgc2VjdXJpdHkgZXJyb3IAR2VuZXJhbCBMREFQIHNlcnZpY2UgZXJyb3IAR2VuZXJhbCBMREFQIHVwZGF0ZSBlcnJvcgBFeHBlcmltZW50YWwgTERBUCBlcnJvciBjb2RlAFByaXZhdGUgTERBUCBlcnJvciBjb2RlAE90aGVyIGdlbmVyYWwgTERBUCBlcnJvcgBMREFQIGNvbm5lY3RpbmcgZmFpbGVkIChYKQBMREFQIHJlZmVycmFsIGxpbWl0IGV4Y2VlZGVkAExEQVAgY2xpZW50IGxvb3AATm8gTERBUCByZXN1bHRzIHJldHVybmVkAExEQVAgY29udHJvbCBub3QgZm91bmQATm90IHN1cHBvcnRlZCBieSBMREFQAExEQVAgY29ubmVjdCBlcnJvcgBPdXQgb2YgbWVtb3J5IGluIExEQVAAQmFkIHBhcmFtZXRlciB0byBhbiBMREFQIHJvdXRpbmUAVXNlciBjYW5jZWxsZWQgTERBUCBvcGVyYXRpb24AQmFkIExEQVAgc2VhcmNoIGZpbHRlcgBVbmtub3duIExEQVAgYXV0aGVudGljYXRpb24gbWV0aG9kAFRpbWVvdXQgaW4gTERBUABMREFQIGRlY29kaW5nIGVycm9yAExEQVAgZW5jb2RpbmcgZXJyb3IATERBUCBsb2NhbCBlcnJvcgBDYW5ub3QgY29udGFjdCBMREFQIHNlcnZlcgBMREFQIHN1Y2Nlc3MATERBUCBvcGVyYXRpb25zIGVycm9yAExEQVAgcHJvdG9jb2wgZXJyb3IAVGltZSBsaW1pdCBleGNlZWRlZCBpbiBMREFQAFNpemUgbGltaXQgZXhjZWVkZWQgaW4gTERBUABMREFQIGNvbXBhcmUgZmFsc2UATERBUCBjb21wYXJlIHRydWUATERBUCBhdXRoZW50aWNhdGlvbiBtZXRob2Qgbm90IHN1cHBvcnRlZABTdHJvbmcoZXIpIExEQVAgYXV0aGVudGljYXRpb24gcmVxdWlyZWQAUGFydGlhbCBMREFQIHJlc3VsdHMrcmVmZXJyYWwgcmVjZWl2ZWQATERBUCByZWZlcnJhbABBZG1pbmlzdHJhdGl2ZSBMREFQIGxpbWl0IGV4Y2VlZGVkAENyaXRpY2FsIExEQVAgZXh0ZW5zaW9uIGlzIHVuYXZhaWxhYmxlAENvbmZpZGVudGlhbGl0eSByZXF1aXJlZCBieSBMREFQAExEQVAgU0FTTCBiaW5kIGluIHByb2dyZXNzAE5vIHN1Y2ggTERBUCBhdHRyaWJ1dGUAVW5kZWZpbmVkIExEQVAgYXR0cmlidXRlIHR5cGUASW5hcHByb3ByaWF0ZSBtYXRjaGluZyBpbiBMREFQAENvbnN0cmFpbnQgdmlvbGF0aW9uIGluIExEQVAATERBUCB0eXBlIG9yIHZhbHVlIGV4aXN0cwBJbnZhbGlkIHN5bnRheCBpbiBMREFQAE5vIHN1Y2ggTERBUCBvYmplY3QATERBUCBhbGlhcyBwcm9ibGVtAEludmFsaWQgRE4gc3ludGF4IGluIExEQVAATERBUCBlbnRyeSBpcyBhIGxlYWYATERBUCBhbGlhcyBkZXJlZmVyZW5jaW5nIHByb2JsZW0ATERBUCBwcm94eSBhdXRob3JpemF0aW9uIGZhaWx1cmUgKFgpAEluYXBwcm9wcmlhdGUgTERBUCBhdXRoZW50aWNhdGlvbgBJbnZhbGlkIExEQVAgY3JlZGVudGlhbHMASW5zdWZmaWNpZW50IGFjY2VzcyBmb3IgTERBUABMREFQIHNlcnZlciBpcyBidXN5AExEQVAgc2VydmVyIGlzIHVuYXZhaWxhYmxlAExEQVAgc2VydmVyIGlzIHVud2lsbGluZyB0byBwZXJmb3JtAExvb3AgZGV0ZWN0ZWQgYnkgTERBUABMREFQIG5hbWluZyB2aW9sYXRpb24ATERBUCBvYmplY3QgY2xhc3MgdmlvbGF0aW9uAExEQVAgb3BlcmF0aW9uIG5vdCBhbGxvd2VkIG9uIG5vbi1sZWFmAExEQVAgb3BlcmF0aW9uIG5vdCBhbGxvd2VkIG9uIFJETgBBbHJlYWR5IGV4aXN0cyAoTERBUCkAQ2Fubm90IG1vZGlmeSBMREFQIG9iamVjdCBjbGFzcwBMREFQIHJlc3VsdHMgdG9vIGxhcmdlAExEQVAgb3BlcmF0aW9uIGFmZmVjdHMgbXVsdGlwbGUgRFNBcwBWaXJ0dWFsIExEQVAgbGlzdCB2aWV3IGVycm9yAE90aGVyIExEQVAgZXJyb3IAUmVzb3VyY2VzIGV4aGF1c3RlZCBpbiBMQ1VQAFNlY3VyaXR5IHZpb2xhdGlvbiBpbiBMQ1VQAEludmFsaWQgZGF0YSBpbiBMQ1VQAFVuc3VwcG9ydGVkIHNjaGVtZSBpbiBMQ1VQAFJlbG9hZCByZXF1aXJlZCBpbiBMQ1VQAExEQVAgY2FuY2VsbGVkAE5vIExEQVAgb3BlcmF0aW9uIHRvIGNhbmNlbABUb28gbGF0ZSB0byBjYW5jZWwgTERBUABDYW5ub3QgY2FuY2VsIExEQVAATERBUCBhc3NlcnRpb24gZmFpbGVkAFByb3hpZWQgYXV0aG9yaXphdGlvbiBkZW5pZWQgYnkgTERBUABVc2VyIGRlZmluZWQgZXJyb3IgY29kZSAxAFVzZXIgZGVmaW5lZCBlcnJvciBjb2RlIDIAVXNlciBkZWZpbmVkIGVycm9yIGNvZGUgMwBVc2VyIGRlZmluZWQgZXJyb3IgY29kZSA0AFVzZXIgZGVmaW5lZCBlcnJvciBjb2RlIDUAVXNlciBkZWZpbmVkIGVycm9yIGNvZGUgNgBVc2VyIGRlZmluZWQgZXJyb3IgY29kZSA3AFVzZXIgZGVmaW5lZCBlcnJvciBjb2RlIDgAVXNlciBkZWZpbmVkIGVycm9yIGNvZGUgOQBVc2VyIGRlZmluZWQgZXJyb3IgY29kZSAxMABVc2VyIGRlZmluZWQgZXJyb3IgY29kZSAxMQBVc2VyIGRlZmluZWQgZXJyb3IgY29kZSAxMgBVc2VyIGRlZmluZWQgZXJyb3IgY29kZSAxMwBVc2VyIGRlZmluZWQgZXJyb3IgY29kZSAxNABVc2VyIGRlZmluZWQgZXJyb3IgY29kZSAxNQBVc2VyIGRlZmluZWQgZXJyb3IgY29kZSAxNgBTeXN0ZW0gZXJyb3Igdy9vIGVycm5vAFVua25vd24gc3lzdGVtIGVycm9yAEVuZCBvZiBmaWxlAFVua25vd24gZXJyb3IgY29kZQAABwAAAA0AAABiAAAAYwAAAEQAAABhAAAACwAAAHIAAAAAAAAAAAAAADQAAAAJAAAATQAAAEoAAAA1AAAAAAAAADgAAAA5AAAAOwAAABAAAAB9AAAACgAAACwAAABGAAAAZwAAAG8AAABoAAAAAAAAACMAAAAjAAAAWQAAAAAAAAAhAAAASQAAAHoAAAARAAAADgAAABsAAAAAAAAAAAAAAAAAAABwAAAAcQAAACsAAAAAAAAAVAAAAHMAAAAEAAAAFgAAAAUAAABqAAAAFQAAAHgAAAAzAAAALQAAAC4AAAAvAAAATwAAAFAAAABTAAAAUgAAAFEAAAAwAAAAKAAAAHwAAAAYAAAAHwAAAFoAAABIAAAAJAAAAHcAAAAAAAAAZAAAAGYAAABlAAAAFwAAADcAAABpAAAAMgAAAD0AAAATAAAAAgAAAAgAAAAlAAAAQwAAAHsAAAAMAAAAKgAAAEAAAABBAAAAXAAAABwAAAA/AAAAPAAAACYAAAAPAAAAawAAABQAAAAnAAAAdgAAAFgAAABfAAAAGQAAAEwAAAAGAAAAXwAAAEsAAAABAAAAYAAAACAAAAAAAAAAAAAAAAAAAAAAAAAARwAAAF0AAABbAAAAIgAAAE4AAABCAAAAeQAAAFUAAAAeAAAAAAAAAGwAAABeAAAAHQAAAAMAAABFAAAAdAAAAFYAAAA+AAAAbgAAAG0AAAAaAAAAdQAAADEAAABXAAAACwAAABIAAAA2AAAAAAAAAAAAAAAAAAAAa4AAAFGAAAB/gAAAL4AAADGAAABogAAAAIAAAFKAAAALgAAAFYAAAAaAAACKgAAAVoAAAAGAAAAkgAAAX4AAABOAAAAjgAAAi4AAAFCAAABhgAAAM4AAADCAAABLgAAAQYAAAGaAAACGgAAAJYAAAFuAAAB+gAAAeoAAAEKAAABtgAAAIIAAAHWAAAAcgAAAHYAAAEWAAABTgAAAXoAAAGKAAAA/gAAAV4AAACuAAAAWgAAANoAAADeAAAA4gAAAPoAAAIiAAABOgAAANYAAAAqAAAAOgAAAjIAAAEyAAAAQgAAAEYAAABKAAABdgAAAT4AAAIOAAABcgAAAWIAAAFmAAAB3gAAAVIAAAASAAACAgAAAF4AAAHKAAABEgAAAIYAAAA2AAABqgAAAZ4AAAAyAAAB2gAAAOYAAADqAAAA9gAAAPIAAADuAAAAtgAAAeYAAAIKAAACJgAAAZIAAAB6AAABDgAAAdIAAAFqAAABzgAAAfYAAAGWAAABpgAAAbIAAAAWAAAACgAAAA4AAAEiAAABKgAAASYAAABiAAAAagAAATYAAADKAAABggAAAfIAAAIWAAACEgAAAGYAAACmAAAAqgAAAB4AAAC6AAACBgAAAh4AAAGOAAABGgAAANIAAAHiAAAAigAAAVYAAAECAAAAUgAAAAAAAAAAAAAACAADAAwAAwAQAAMAFAADABgAAwAcAAMAIAADACQAAwAoAAMALAADADAAAwA0AAMAOAADADwAAwBAAAMARAADAEgAAwBMAAMAUAADAFQAAwBYAAMAXAADAGAAAwBkAAMAaAADAGwAAwBwAAMAdAADAHgAAwB8AAMAAAACzAQAAwwIAAMMDAADDBAAAwwUAAMMGAADDBwAAwwgAAMMJAADDCgAAwwsAAMMMAADDDQAA0w4AAMMPAADDAAAMuwEADMMCAAzDAwAMwwQADNMAAAAA/////////////////////////////////////////////////////////////////wABAgMEBQYHCAn/////////CgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiP///////8KCwwNDg8QERITFBUWFxgZGhscHR4fICEiI/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAAAAAAAAAAAAAAAAAAARAAoAERERAAAAAAUAAAAAAAAJAAAAAAsAAAAAAAAAABEADwoREREDCgcAARMJCwsAAAkGCwAACwAGEQAAABEREQAAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAARAAoKERERAAoAAAIACQsAAAAJAAsAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAA0AAAAEDQAAAAAJDgAAAAAADgAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAPAAAAAA8AAAAACRAAAAAAABAAABAAABIAAAASEhIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAABISEgAAAAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAAAAAAAoAAAAACgAAAAAJCwAAAAAACwAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAwAAAAACQwAAAAAAAwAAAwAADAxMjM0NTY3ODlBQkNERUZUISIZDQECAxFLHAwQBAsdEh4naG5vcHFiIAUGDxMUFRoIFgcoJBcYCQoOGx8lI4OCfSYqKzw9Pj9DR0pNWFlaW1xdXl9gYWNkZWZnaWprbHJzdHl6e3wAAAAAAAAAAABJbGxlZ2FsIGJ5dGUgc2VxdWVuY2UARG9tYWluIGVycm9yAFJlc3VsdCBub3QgcmVwcmVzZW50YWJsZQBOb3QgYSB0dHkAUGVybWlzc2lvbiBkZW5pZWQAT3BlcmF0aW9uIG5vdCBwZXJtaXR0ZWQATm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQBObyBzdWNoIHByb2Nlc3MARmlsZSBleGlzdHMAVmFsdWUgdG9vIGxhcmdlIGZvciBkYXRhIHR5cGUATm8gc3BhY2UgbGVmdCBvbiBkZXZpY2UAT3V0IG9mIG1lbW9yeQBSZXNvdXJjZSBidXN5AEludGVycnVwdGVkIHN5c3RlbSBjYWxsAFJlc291cmNlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlAEludmFsaWQgc2VlawBDcm9zcy1kZXZpY2UgbGluawBSZWFkLW9ubHkgZmlsZSBzeXN0ZW0ARGlyZWN0b3J5IG5vdCBlbXB0eQBDb25uZWN0aW9uIHJlc2V0IGJ5IHBlZXIAT3BlcmF0aW9uIHRpbWVkIG91dABDb25uZWN0aW9uIHJlZnVzZWQASG9zdCBpcyBkb3duAEhvc3QgaXMgdW5yZWFjaGFibGUAQWRkcmVzcyBpbiB1c2UAQnJva2VuIHBpcGUASS9PIGVycm9yAE5vIHN1Y2ggZGV2aWNlIG9yIGFkZHJlc3MAQmxvY2sgZGV2aWNlIHJlcXVpcmVkAE5vIHN1Y2ggZGV2aWNlAE5vdCBhIGRpcmVjdG9yeQBJcyBhIGRpcmVjdG9yeQBUZXh0IGZpbGUgYnVzeQBFeGVjIGZvcm1hdCBlcnJvcgBJbnZhbGlkIGFyZ3VtZW50AEFyZ3VtZW50IGxpc3QgdG9vIGxvbmcAU3ltYm9saWMgbGluayBsb29wAEZpbGVuYW1lIHRvbyBsb25nAFRvbyBtYW55IG9wZW4gZmlsZXMgaW4gc3lzdGVtAE5vIGZpbGUgZGVzY3JpcHRvcnMgYXZhaWxhYmxlAEJhZCBmaWxlIGRlc2NyaXB0b3IATm8gY2hpbGQgcHJvY2VzcwBCYWQgYWRkcmVzcwBGaWxlIHRvbyBsYXJnZQBUb28gbWFueSBsaW5rcwBObyBsb2NrcyBhdmFpbGFibGUAUmVzb3VyY2UgZGVhZGxvY2sgd291bGQgb2NjdXIAU3RhdGUgbm90IHJlY292ZXJhYmxlAFByZXZpb3VzIG93bmVyIGRpZWQAT3BlcmF0aW9uIGNhbmNlbGVkAEZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZABObyBtZXNzYWdlIG9mIGRlc2lyZWQgdHlwZQBJZGVudGlmaWVyIHJlbW92ZWQARGV2aWNlIG5vdCBhIHN0cmVhbQBObyBkYXRhIGF2YWlsYWJsZQBEZXZpY2UgdGltZW91dABPdXQgb2Ygc3RyZWFtcyByZXNvdXJjZXMATGluayBoYXMgYmVlbiBzZXZlcmVkAFByb3RvY29sIGVycm9yAEJhZCBtZXNzYWdlAEZpbGUgZGVzY3JpcHRvciBpbiBiYWQgc3RhdGUATm90IGEgc29ja2V0AERlc3RpbmF0aW9uIGFkZHJlc3MgcmVxdWlyZWQATWVzc2FnZSB0b28gbGFyZ2UAUHJvdG9jb2wgd3JvbmcgdHlwZSBmb3Igc29ja2V0AFByb3RvY29sIG5vdCBhdmFpbGFibGUAUHJvdG9jb2wgbm90IHN1cHBvcnRlZABTb2NrZXQgdHlwZSBub3Qgc3VwcG9ydGVkAE5vdCBzdXBwb3J0ZWQAUHJvdG9jb2wgZmFtaWx5IG5vdCBzdXBwb3J0ZWQAQWRkcmVzcyBmYW1pbHkgbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbABBZGRyZXNzIG5vdCBhdmFpbGFibGUATmV0d29yayBpcyBkb3duAE5ldHdvcmsgdW5yZWFjaGFibGUAQ29ubmVjdGlvbiByZXNldCBieSBuZXR3b3JrAENvbm5lY3Rpb24gYWJvcnRlZABObyBidWZmZXIgc3BhY2UgYXZhaWxhYmxlAFNvY2tldCBpcyBjb25uZWN0ZWQAU29ja2V0IG5vdCBjb25uZWN0ZWQAQ2Fubm90IHNlbmQgYWZ0ZXIgc29ja2V0IHNodXRkb3duAE9wZXJhdGlvbiBhbHJlYWR5IGluIHByb2dyZXNzAE9wZXJhdGlvbiBpbiBwcm9ncmVzcwBTdGFsZSBmaWxlIGhhbmRsZQBSZW1vdGUgSS9PIGVycm9yAFF1b3RhIGV4Y2VlZGVkAE5vIG1lZGl1bSBmb3VuZABXcm9uZyBtZWRpdW0gdHlwZQBObyBlcnJvciBpbmZvcm1hdGlvbgAAAAAAACAAAAAJAAAACgAAAA0AAAALAAAADAAAAIUAAAAAIAAAASAAAAIgAAADIAAABCAAAAUgAAAGIAAACCAAAAkgAAAKIAAAKCAAACkgAABfIAAAADAAAAAAAAAAAAAAAAAAAEEAIBrAACAfAAEBLzIBAQU5AQEPSgEBLXkBAQVwAwEDkQMgEaMDIAkABFAQEAQgIGAEASGKBAE1wQQBDdAEAT8UBQETMQUwJqABAQWzAQEDzQEBD94BARH4AQEnIgIBEdgDARcAHgGVoB4BXwgf+AgYH/gGKB/4CDgf+AhIH/gGaB/4CIgf+AiYH/gIqB/4CLgf+AK6H7YCyB+qBNgf+ALaH5wC6B/4AuofkAL4H4AC+h+CAkYCAQkQBQEDYCEQEAAsMC9nLAEFgCwBY+ssAQNApgEtgKYBFyKnAQ0ypwE9eacBA36nAQmQpwEDoKcBCSH/IBoAAAAAAAAAAAAAAABJADEBUwB/ATABaQB4Af8AgQFTAoIBgwGEAYUBhgFUAocBiAGJAVYCigFXAosBjAGOAd0BjwFZApABWwKRAZIBkwFgApQBYwKWAWkClwFoApgBmQGcAW8CnQFyAp8BdQKmAYACpwGoAakBgwKsAa0BrgGIAq8BsAGxAYoCsgGLArcBkgK4AbkBvAG9AcQBxgHEAcUBxQHGAccByQHHAcgByAHJAcoBzAHKAcsBywHMAfEB8wHxAfIB8gHzAfQB9QH2AZUB9wG/ASACngGGA6wDiAOtA4kDrgOKA68DjAPMA44DzQOPA84DmQNFA5kDvh+jA8ID9wP4A/oD+wNgHpsenh7fAFkfUR9bH1MfXR9VH18fVx+8H7MfzB/DH+wf5R/8H/MfOgJlLDsCPAI9ApoBPgJmLEECQgJDAoABRAKJAkUCjAL0A7gD+QPyA/0DewP+A3wD/wN9A8AEzwQmIckDKiFrACsh5QAyIU4hgyGEIWAsYSxiLGsCYyx9HWQsfQJtLFECbixxAm8sUAJwLFICcixzLHUsdix+LD8CfyxAAvIs8yx9p3kdi6eMp42nZQKqp2YCxxAnLc0QLS12A3cDnAO1AJID0AOYA9EDpgPVA6AD1gOaA/ADoQPxA5UD9QPPA9cDAAAAAAAAAAAAAAAAEhETFBUWFxgZGhscHR4fICERIiMkESUmJygpKissES0uLxAQMBAQEBAQEBAxMjMQNDUQEBERERERERERERERERERERERERERERERERE2ERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERNxERERE4ETk6Ozw9PhERERERERERERERERERERERERERERERERERERERERERERERERERERERERE/EBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEUBBEUJDREVGR0hJEBAQSktMTU4QEBBPUBAQEBBREBAQEBAQEBAQERERUlMQEBAQEBAQEBAQEBERERFUEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQERFVEBAQEFYQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQVxAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQWFlaWxAQEBAQEBAQEBAQEBAQEBAQEBAQEBBcEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////////////////////////////////////////AAAAAAAAAAD+//8H/v//BwAAAAAABCAE//9/////f//////////////////////////////////D/wMAH1AAAAAAAAAAAAAAIAAAAAAA3zxA1///+////////////7///////////////////////wP8/////////////////////////wD+////fwL+/////wAAAAAA/7+2AP///wcHAAAA/wf//////////v/D////////////////7x/+4f+fAAD///////8A4P///////////////wMA//////8HMAT////8/x8AAP///wEAAAAAAAAAAP0fAAAAAAAA8AP/f//////////v/9/h/8///v7un/n///3F459ZgLDP/wMA7of5///9bcOHGQJewP8/AO6/+////e3jvxsBAM//AADun/n///3t458ZwLDP/wIA7Mc91hjH/8PHHYEAwP8AAO7f/f///e/j3x1gA8//AADs3/3///3v498dYEDP/wYA7N/9/////+ffXYAAz/8A/Oz/f/z///svf4Bf/wAADAD+/////3//Bz8g/wMAAAAAliXw/q7s/ztfIP/zAAAAAAEAAAD/AwAA//7///8f/v8D///+////HwAAAAAAAAAA////////f/n/A///58H//39A/zP/////vyD///////f///////////89fz3//////z3/////PX89/3//////////Pf//////////hwAAAAD//wAA/////////////x8A/v//////////////////////////////////////////////////////////n////v//B////////////8cBAP/fDwD//w8A//8PAP/fDQD////////P//8BgBD/AwAAAAD/A///////////////AP//////B///////////PwD///8f/w//AcD/////Px8A//////8P////A/8DAAAAAP///w//////////f/7/HwD/A/8DgAAAAAAAAAAAAAAA////////7//vD/8DAAAAAP//////8////////7//AwD///////8/AP/j//////8/AAAAAAAAAAAAAAAAAN5vAP///////////////////////////////wAAAAAAAAAA//8/P/////8/P/+q////P////////99f3B/PD/8f3B8AAAAAAAAAAAAAAAAAAAKAAAD/HwAAAAAAAAAAAAAAAIT8Lz5Qvf/z4EMAAP//////AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMD///////8DAAD//////3///////3//////////////////////H3gMAP////+/IP////////+AAAD//38Af39/f39/f3//////AAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAA/gM+H/7///////////9/4P7/////////////9+D/////P/7/////////////fwAA////BwAAAAAAAP///////////////////////////////z8AAAAAAAAAAAD/////////////////////////////////HwAAAAAAAP//////////////////////HwAAAAAAAAAA//////8//x////8PAAD//////3/wj////4D/////////////AAAAAID//P///////////////3kPAP8HAAAAAAAAAAAA/7v3////AAAA////////DwD//////////w8A/wMAAPwI//////8H/////wcA////H/////////f/AID/AwAAAAD///////9/AP8//wP//38E/////////38FAAA4//88AH5+fgB/fwAAAAAAAAAAAAAAAAAAAAAAAP//////B/8D//////////////////////////8PAP//f/j//////w//////////////////P/////////////////8DAAAAAH8A+OD//X9f2/////////////////8DAAAA+P///////////////z8AAP///////////P///////wAAAAAA/w8AAAAAAAAAAAAAAAAAAN//////////////////////HwAA/wP+//8H/v//B8D/////////////f/z8/BwAAAAA/+///3///7f/P/8/AAAAAP///////////////////wcAAAAAAAAAAP///////x8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8f////////AQAAAAAA////fwAA////BwAAAAAAAP///z//////D/8+AAAAAAD/////////////////////////P/8DAAAAAAAAAAAAAD/9/////7+R//8/AAAAAAAAAAAAAAAAAAAAAAAAAAAA//8/AP///wMAAAAAAAAAAP/////////AAAAAAAAAAABv8O/+//8PAAAAAAD///8fAAAAAAAAAAAAAAAAAAAAAP///////z8A//8/AP//BwAAAAAAAAAAAAAAAAAAAAAA////////////AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////////z8AAADA/wAA/P///////wEAAP///wH/A////////8f/AAAAAAAAAAD//////////x4A/wMAAAAAAAAAAAAAAAAAAAAAAAAAAP///////z8A/wMAAAAAAAD/////////////////fwAAAAAAAAAAAAAAAAAAAAAAAP///////////////wcAAAAAAAAAAAAAAAAAAAAAAAAA//////9/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////////AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////////HwD//////38AAPj/AAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////////////3///////////32Te/+vv/////////7/n39////97X/z9//////////////////////////////////////////////////////8//////f//9/////f//9/////f//9/////f/////3////9///3z////////+////+W/vcKhOqWqpb3917/+/8P7vv/DwAAAAAAAAAAEhATFBUWFxgZGhscHR4fICEQECIjECQlJicoKSorECwtLhEvMBERMRERETIzNDU2Nzg5ERAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBA6EBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBA7EDw9Pj9AQRAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBBCEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBBDEBBEEEVGRxBIEEkQEBAQSktMTRAQThBPUBAQEBBREBAQEBAQEBAQEBAQEFIQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEFMQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBBUVVZXEBBYWRAQEBAQEBAQEBAQEBAQEBAQEBAQEBBaEFtcXV5fYGFiEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////////////////////////////////////////AAAAAP7/APwBAAD4AQAAeAAAAAD/+9/7AACAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8APz/4K//////////////3///////IECwAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAPwDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPwAAAAAAIb+////AEBJAAAAAAAYAN//AMgAAAAAAAAAAQA8AAAAAAAAAAAAAAAAEOABHgBg/78AAAAAAAD/BwAAAAAAAAAAAAAAAAAAAAAAAAD4zwMAAAADACD/fwAAAE4AAAAAAAAAAAAAAAAAAAAAAPwAAAAAAAAAAAAQACAeADAAAQAAAAAAAAAAEAAgAAAAAPwPAAAAAAAAABAAIAAAAAAAAAAAAAAAAAAQACAAAAAAAwAAAAAAAAAAEAAgAAAAAP0AAAAAAAAAAAAAIAAAAAD/BwAAAAAAAAAAACAAAAAAAP8AAAAAAAAAEAAgAAAAAAAAAAAAAAAAAAAAIAAAAAA/AgAAAAAAAAAAAAQAAAAAEAAAAAAAAIAAgMDfAAwAAAAAAAAAAAAAAAAAHwAAAAAAAP7///8A/P//AAAAAAAAAAD8AAAAAAAAwP/f/wcAAAAAAAAAAAAAgAYA/AAAGD4AAIC/AMwAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAGD///8fAAD/AwAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAEAABgAAAAAAAAAAAA4AAAAABAAAABwAAAAAAAAAAAAAAAAAAAAMAAA/n8vAAD/A/9/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4xAAAAAAAAAAAAAAAAAAAAAAAAxP////8AAADAAAAAAAAAAAABAOCfAAAAAH8/AAAAAAAAAAAAAAAAAAAAABAAEAAA/P///x8AAAAAAAwAAAAAAABAAAzwAAAAAAAAwPgAAAAAAAAAwAAAAAAAAAAA/wD///8hEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////fwAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAPgAOAA4ABggPj////8//////9/H/zxf/9/AAD///8DAAD/////AQB7A9DBr0IADB+8//8AAAAAAAL//////////////////////////////////////////////////////////w8A/////38AAAD/BwAA/////////////z8AAAAAAAD8///+/////////////////////////////////////////////////////x//AwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOCHA/4AAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAAAAP//////f/8PAAAAAAAAAAD////7/////////////w8A//////////////////////////////////8/AAAA/w8e////AfzB4AAAAAAAAAAAAAAAHgEAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAP//AAAAAP////8PAAAA////f////////////////////////////////////38AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////////wAAAAAAAAAAAAAAAAAAAAAAAP///////38AAAAAAADAAOAAAAAAAAAAAAAAAIAPcAAAAAAAAAAAAAAAAAAA/wD//38AAwAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAEQIAAAAD/8DAAAAAAAA8AAAAAAAAAAAABDAAAD//wMHAAAAAAD4AAAAAAiAAAAAAAAAAAAAAAgA/z8AwAAAAAAAAAAAAAAAAAAAAPAAAIALAAAAAAAAAIACAADAAABDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAgAAAAAAAAAAAAAAAAAAAAD8/wMAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADD///8DfwD/////9/9/DwAAAAAAAAAAAAAAAAAAAAAAgP7/APwBAAD4AQAA+D8AAAAAAAAAAAAAAAAAAAB/fwAwh///////j/8AAAAAAADg//8H/w8AAAAAAAD//////z8AAAAADwAAAAAAAAAAAAAAAAAAgAAAAAAAAAEAAAAAAAAAAAAAAAAAAACA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAADAjwAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAh/8A/wEAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+AAAA/wAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////fwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMA//P8/AAAAAwAAAAAAAP4DAAAAAAAAAAAAAAAAABgADwAAAAAAAAAAAAAAAAAAAOEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAcAAAAAAAAAAAAAAAAA////////////////////////////////////////PwD/////f/7///////////////////////////8/AAAAAP//////////PwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////////////38A//8DAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAIAAAACAAAIAAAACAAAIAAAACAAAAAAgAAAAIAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwD//////w////////////////8PAP9//n/+//7/AAAAAP8H////f/////////8P//////8HAAAAAAAAAADA////BwD//////wf/AQMAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////AQC///////////8f//8PAP/////fBwAA//8BAP////////9//f////////////////////////////8e/////////z8PAP///wAAAAAAAAAAAAAAAAAAAAAAAPj//////////+H/AAAAAAAA//////////8/AAAAAAAAAP//////////////////DwAAAAAAAAAAAAAAAAAAAAAAAAAAAC30UVjPjLHARva1yykxA8cEW3AwtF39IHh/i5rYWSlQaEiJq6dWA2z/t82IP9R3tCulo3DxuuSo/EGD/dlv4Yp6Ly10lgcfDQleA3YscPdApSynb1dBqKp036BYZANKx8Q8U66vXxgEFbHjbSiGqwykv0Pw6VCBOVcWUjf/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAIAAADB6QAAIBIAADASAAAQAAAAgAAAAPgBAAABAAAAAgAAAAMAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAFH0p1B+QWVTGhekwzonXpY7q2vLH51F8az6WKtL4wOTIDD6Va12bfaIzHaR9QJMJU/l1/zFKsvXJjVEgLVio4/esVpJJbobZ0XqDphd/sDhwy91AoFM8BKNRpeja9P5xgOPX+cVkpyVv21665VSWdrUvoMtWHQh00ngaSmOychEdcKJavSOeXiZWD5rJ7lx3b7hT7bwiK0XySCsZn3OOrRj30oY5RoxgpdRM2BiU39FsWR34LtrroT+gaAc+QgrlHBIaFiPRf0ZlN5sh1J7+Lerc9MjcksC4uMfj1dmVasqsusoBy+1wgOGxXua0zcIpTAoh/Ijv6WyAgNquu0WglyKzxwrp3m0kvMH8vBOaeKhZdr0zQYFvtXRNGIfxKb+ijQuU52i81WgBYrhMqT263ULg+w5QGDvql5xnwa9bhBRPiGK+ZbdBj3dPgWuTea9RpFUjbVxxF0FBAbUb2BQFf8ZmPsk1r3pl4lAQ8xn2Z53sOhCvQeJi4jnGVs4ecju26F8Ckd8Qg/p+IQeyQAAAAAJgIaDMivtSB4RcKxsWnJO/Q7/+w+FOFY9rtUeNi05JwoP2WRoXKYhm1tU0SQ2LjoMCmexk1fnD7TultIbm5GegMDFT2HcIKJad0tpHBIaFuKTugrAoCrlPCLgQxIbFx0OCQ0L8ovHrS22qLkUHqnIV/EZha91B0zumd27o39g/fcBJp9ccvW8RGY7xVv7fjSLQyl2yyPG3Lbt/Gi45PFj1zHcykJjhRATlyJAhMYRIIVKJH3Suz34rvkyEccpoW0dni9L3LIw8w2GUux3wePQK7MWbKlwuZkRlEj6R+lkIqj8jMSg8D8aVn0s2CIzkO+HSU7H2TjRwYzKov6Y1As2pvWBz6V63ijat44mP62/pCw6neRQeJINal/Mm1R+RmL2jRPCkNi46C45916Cw6/1n12AvmnQk3xv1S2pzyUSs8ismTsQGH2n6Jxjbts7u3vNJngJblkY9OyatwGDT5qo5pVuZar/5n4hvM8I7xXo5rrnm9lKbzbO6p8J1CmwfNYxpLKvKj8jMcallDA1ombAdE68N/yCyqbgkNCwM6fYFfEEmEpB7Nr3f81QDheR9i92TdaNQ++wTcyqTVTklgTfntG140xqiBvBLB+4RmVRf51e6gQBjDVd+od0c/sLQS6zZx1aktvSUukQVjNt1kcTmtdhjDehDHpZ+BSO6xM8ic6pJ+63Yck14Rzl7XpHsTyc0t9ZVfJzPxgUznlzxze/U/fN6l/9qlvfPW8UeETbhsqv84G5aMQ+OCQ0LMKjQF8WHcNyvOIlDCg8SYv/DZVBOagBcQgMs97YtOScZFbBkHvLhGHVMrZwSGxcdNC4V0JSCWrVMDalOL9Ao56B89f7fOM5gpsv/4c0jkNExN7py1R7lDKmwiM97kyVC0L6w04ILqFmKNkksnZboklti9Elcvj2ZIZomBbUpFzMXWW2kmxwSFD97bnaXhVGV6eNnYSQ2KsAjLzTCvfkWAW4s0UG0Cwej8o/DwLBr70DAROKazqREUFPZ9zql/LPzvC05nOWrHQi5601heL5N+gcdd9uR/EacR0pxYlvt2IOqhi+G/xWPkvG0nkgmtvA/njNWvQf3agziAfHMbESEFkngOxfYFF/qRm1Sg0t5Xqfk8mc76DgO02uKvWwyOu7PINTmWEXKwR+unfWJuFpFGNVIQx9CAAAAAIAAACD6wAA5JkAAOAYAAAQAAAAwAAAAPgBAAABAAAAAgAAAAMAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAOrrAAD26wAAAAAAAAkAAAACAAAA/usAADCaAAAQGQAAEAAAAAABAAD4AQAAAQAAAAIAAAADAAAAAAAAAAAAAAAEAAAAAAAAAAAAAABl7AAAcewAAAAAAAADAAAAAAAAAHnsAACD7AAADwAAAHCaAAAUAAAABQAAAAYAAAAHAAAACAAAALgAAAAAAAAAkuwAAKHsAAAAAAAAAQAAAAIAAAADAAAAJe4AAEAZAAAp7gAALO4AADPuAAA17gAAN+4AAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAAAAAAAAAAAAAAgAAAAIAAADU8wAA2fMAAA8AAABAHwAAFAAAABIAAAAGAAAAEwAAABQAAAC4AAAAFQAAAAsAAAACAAAAfPQAAGAfAAATAAAAOJsAABwAAAAWAAAABgAAABcAAAAYAAAAwAAAABkAAAB29QAAAAAAAAgAAAACAAAAjfUAAIAfAAATAAAAdJsAACAAAAAaAAAABgAAABcAAAAYAAAAwAAAABkAAACU9QAAq/UAAAAAAAAKAAAAAgAAAMH1AACgHwAAEwAAALSbAABAAAAAGwAAAAYAAAAcAAAAHQAAAOAAAAAeAAAAw/cAANr3AAAAAAAACQAAAAIAAADw9wAAQCIAABMAAAD0mwAAMAAAAB8AAAAGAAAAHAAAAB0AAADgAAAAHgAAAPf3AAAO+AAAAAAAAAoAAAAAAAAAJPgAAAAAAAAAAAAAEAAAAAABAACgEAAAIAAAACEAAAAiAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvAQAAAAAAAMD4AAAAAAAAAAAAABAAAACAAAAAoBAAACAAAAAhAAAAIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAAAAAAAMAAACm/AAAgD8AAKr8AACy/AAAu/wAAL78AACq/AAAIwAAACQAAAAlAAAAJgAAACcAAAAoAAAAKQAAACoAAAArAAAALAAAAC0AAAAQAAAALgAAAC8AAAAwAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////////AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////////////////////////////////////BQAAAAAAAAAAAAAAMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMgAAADMAAABYFgEAAAQAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAACv////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOidAABsngAABQAAAAAAAAAAAAAAMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANAAAADMAAACDHgEAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJB4BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAHdyYXAuYwBjb21tb25fYWxsb2NhdGlvbi5jAEdOVU5FVF94bWFsbG9jXwB1dGlsLWNvbW1vbi1hbGxvY2F0aW9uAG1hbGxvYwBHTlVORVRfeGZyZWVfAEdOVU5FVF9zbnByaW50ZgBjb21tb25fbG9nZ2luZy5jACVzLSVkAG15bG9nAGxvY2FsdGltZSBlcnJvcgAlYiAlZCAlSDolTTolUy0lJTA2dQAqICVzAE5PTkUASU5WQUxJRABERUJVRwBFUlJPUgBXQVJOSU5HAE1FU1NBR0UASU5GTwAlcyAlcyAlcyAlcwBNZXNzYWdlIGAlLipzJyByZXBlYXRlZCAldSB0aW1lcyBpbiB0aGUgbGFzdCAlcwoAR05VTkVUX2xvZ19za2lwAGNyeXB0b19zeW1tZXRyaWMuYwBHTlVORVRfQ1JZUFRPX3N5bW1ldHJpY19lbmNyeXB0AHNldHVwX2NpcGhlcl90d29maXNoAHNldHVwX2NpcGhlcl9hZXMAR05VTkVUX0NSWVBUT19zeW1tZXRyaWNfZGVjcnlwdABjcnlwdG9fZWNjLmMAR05VTkVUX0NSWVBUT19lY2RzYV9rZXlfZ2V0X3B1YmxpYwBxQGVkZHNhAChwcml2YXRlLWtleShlY2MoY3VydmUgIkVkMjU1MTkiKShkICViKSkpAHV0aWwtY3J5cHRvLWVjYwBkZWNvZGVfcHJpdmF0ZV9lY2RzYV9rZXkAZ2NyeV9zZXhwX2J1aWxkAEdOVU5FVF9DUllQVE9fZWRkc2Ffa2V5X2dldF9wdWJsaWMAKHByaXZhdGUta2V5KGVjYyhjdXJ2ZSAiRWQyNTUxOSIpKGZsYWdzIGVkZHNhKShkICViKSkpAGRlY29kZV9wcml2YXRlX2VkZHNhX2tleQBkZWNvZGVfcHJpdmF0ZV9lY2RoZV9rZXkAR05VTkVUX0NSWVBUT19lY2RoZV9rZXlfZ2V0X3B1YmxpYwAoZ2Vua2V5KGVjYyhjdXJ2ZSAiRWQyNTUxOSIpKGZsYWdzIGVkZHNhIG5vLWtleXRlc3QpKSkAR05VTkVUX0NSWVBUT19lY2RoZV9rZXlfY3JlYXRlMgBnY3J5X3BrX2dlbmtleQBrZXlfZnJvbV9zZXhwAChnZW5rZXkoZWNjKGN1cnZlICJFZDI1NTE5IikoZmxhZ3MpKSkAR05VTkVUX0NSWVBUT19lY2RzYV9rZXlfY3JlYXRlAChnZW5rZXkoZWNjKGN1cnZlICJFZDI1NTE5IikoZmxhZ3MgZWRkc2EpKSkAR05VTkVUX0NSWVBUT19lZGRzYV9rZXlfY3JlYXRlAEdOVU5FVF9DUllQVE9fZWRkc2Ffc2lnbgBFZERTQSBzaWduaW5nIGZhaWxlZCBhdCAlczolZDogJXMKAChkYXRhKGZsYWdzIGVkZHNhKShoYXNoLWFsZ28gJXMpKHZhbHVlICViKSkAZGF0YV90b19lZGRzYV92YWx1ZQAocHVibGljLWtleShlY2MoY3VydmUgRWQyNTUxOSkocSAlYikpKQAoc2lnLXZhbChlZGRzYShyICViKShzICViKSkpAEdOVU5FVF9DUllQVE9fZWRkc2FfdmVyaWZ5AChwdWJsaWMta2V5KGVjYyhjdXJ2ZSBFZDI1NTE5KShmbGFncyBlZGRzYSkocSAlYikpKQBFZERTQSBzaWduYXR1cmUgdmVyaWZpY2F0aW9uIGZhaWxlZCBhdCAlczolZDogJXMKAEdOVU5FVF9DUllQVE9fZWNjX2VjZGgAZ2V0X2FmZmluZSBmYWlsZWQAcG9pbnRfdG9faGFzaABHTlVORVRfQ1JZUFRPX2VjZGhfZWRkc2EAY3J5cHRvX2hhc2guYwBHTlVORVRfQ1JZUFRPX2hhc2hfY29udGV4dF9zdGFydABHTlVORVRfQ1JZUFRPX2hhc2hfY29udGV4dF9maW5pc2gAY3J5cHRvX2tkZi5jAEdOVU5FVF9DUllQVE9fa2RmX21vZF9tcGkAY3J5cHRvX21waS5jAEdOVU5FVF9DUllQVE9fbXBpX3ByaW50X3Vuc2lnbmVkAHV0aWwtY3J5cHRvLW1waQBgJXMnIGZhaWxlZCBhdCAlczolZCB3aXRoIGVycm9yOiAlcwoAZ2NyeV9tcGlfcHJpbnQAR05VTkVUX0NSWVBUT19tcGlfc2Nhbl91bnNpZ25lZABnY3J5X21waV9zY2FuADEuNi4wAGxpYmdjcnlwdCBoYXMgbm90IHRoZSBleHBlY3RlZCB2ZXJzaW9uICh2ZXJzaW9uICVzIGlzIHJlcXVpcmVkKS4KAGNyeXB0b19yYW5kb20uYwBHTlVORVRfQ1JZUFRPX3JhbmRvbV9pbml0AEZhaWxlZCB0byBzZXQgbGliZ2NyeXB0IG9wdGlvbiAlczogJXMKAERJU0FCTEVfU0VDTUVNAEVOQUJMRV9RVUlDS19SQU5ET00AR05VTkVUX0NSWVBUT19yYW5kb21fYmxvY2sAR05VTkVUX0NSWVBUT19yYW5kb21fdTMyAChnZW5rZXkocnNhKG5iaXRzICVkKSkpAGNyeXB0b19yc2EuYwBHTlVORVRfQ1JZUFRPX3JzYV9wcml2YXRlX2tleV9jcmVhdGUAR05VTkVUX0NSWVBUT19yc2FfcHJpdmF0ZV9rZXlfZW5jb2RlAHV0aWwtY3J5cHRvLXJzYQBHTlVORVRfQ1JZUFRPX3JzYV9wcml2YXRlX2tleV9kZWNvZGUARGVjb2RlZCBwcml2YXRlIGtleSBpcyBub3QgdmFsaWQKAEdOVU5FVF9DUllQVE9fcnNhX3ByaXZhdGVfa2V5X2dldF9wdWJsaWMARXh0ZXJuYWwgcHJvdG9jb2wgdmlvbGF0aW9uIGRldGVjdGVkIGF0ICVzOiVkLgoAKHB1YmxpYy1rZXkocnNhKG4gJW0pKGUgJW0pKSkAR05VTkVUX0NSWVBUT19yc2FfcHVibGljX2tleV9lbmNvZGUAR05VTkVUX0NSWVBUT19yc2FfcHVibGljX2tleV9kZWNvZGUAR05VTkVUX0NSWVBUT19yc2Ffc2lnbmF0dXJlX2VuY29kZQBHTlVORVRfQ1JZUFRPX3JzYV9ibGluZABudW1lcmljX21waV9hbGxvY19uX3ByaW50AHJzYV9ibGluZGluZ19rZXlfZGVyaXZlAEJsaW5kaW5nIEtERiBleHRyYXRvciBITUFDIGtleQBCbGluZGluZyBLREYAcnNhX2Z1bGxfZG9tYWluX2hhc2gAUlNBLUZEQSBGVHBzVyEAKGRhdGEgKGZsYWdzIHJhdykgKHZhbHVlICVNKSkAbXBpX3RvX3NleHAAR05VTkVUX0NSWVBUT19yc2Ffc2lnbmF0dXJlX2RlY29kZQBHTlVORVRfQ1JZUFRPX3JzYV91bmJsaW5kAChzaWctdmFsIChyc2EgKHMgJU0pKSkAR05VTkVUX0NSWVBUT19yc2FfdmVyaWZ5AFJTQSBzaWduYXR1cmUgdmVyaWZpY2F0aW9uIGZhaWxlZCBhdCAlczolZDogJXMKAHN0cmluZ3MuYwAlbGx1ICVzAGZvcmV2ZXIAbXMAbQBkYXkAZGF5cwDCtXMAMCBtcwBHTlVORVRfU1RSSU5HU19kYXRhX3RvX3N0cmluZwBBc3NlcnRpb24gZmFpbGVkIGF0ICVzOiVkLgoAMDEyMzQ1Njc4OUFCQ0RFRkdISktNTlBRUlNUVldYWVoAR05VTkVUX1NUUklOR1Nfc3RyaW5nX3RvX2RhdGEAdmlzaWJpbGl0eS5jAGdjcnlfbWRfaGFzaF9idWZmZXIAY2FsbGVkIGluIG5vbi1vcGVyYXRpb25hbCBzdGF0ZQBnY3J5X21kX2dldF9hbGdvAHVzZWQgaW4gbm9uLW9wZXJhdGlvbmFsIHN0YXRlAGdjcnlfcmFuZG9taXplAGdjcnlfY3JlYXRlX25vbmNlAG1pc2MuYwBfZ2NyeV9mYXRhbF9lcnJvcgAKRmF0YWwgZXJyb3I6IABGYXRhbDogAE9oaGhoIGplZWVlOiAAREJHOiAAW1Vua25vd24gbG9nIGxldmVsICVkXTogAF9nY3J5X2xvZ3YAaW50ZXJuYWwgZXJyb3IgKGZhdGFsIG9yIGJ1ZykALi4uIHRoaXMgaXMgYSBidWcgKCVzOiVkOiVzKQoAQXNzZXJ0aW9uIGAlcycgZmFpbGVkICglczolZDolcykKACAAJXM6JXMAJSpzICAAJTAyeAAgXAoAJSpzICUqcwAgKG51bGwpACBbJXUgYml0XQAgW291dCBvZiBjb3JlXQArAC0AZGl2aWRlIGJ5IHplcm8AZ2xvYmFsLmMAZ2xvYmFsX2luaXQAMS43LjAtYmV0YTIzMAB2ZXJzaW9uOiVzOgoAY2lwaGVyczolczoKAGFlczp0d29maXNoAHB1YmtleXM6JXM6CgByc2E6ZWNjAGRpZ2VzdHM6JXM6CgBzaGEyNTY6c2hhNTEyAHJuZC1tb2Q6bGludXg6CgBjcHUtYXJjaDo6CgBtcGktYXNtOiVzOgoAaHdmbGlzdDoAJXM6AAoAZmlwcy1tb2RlOiVjOiVjOgoAcHJpbnRfY29uZmlnAHN5c3RlbQBmaXBzAHN0YW5kYXJkAHJuZy10eXBlOiVzOiVkOgoAY3VzdG9tIGFsbG9jYXRpb24gaGFuZGxlcgBvdXQgb2YgY29yZSBpbiBzZWN1cmUgbWVtb3J5AFx4JTAyeABzZXhwLmMAZG9fdnNleHBfc3NjYW4AJWQAJXUAJlwAX2djcnlfc2V4cF9maW5kX3Rva2VuAF9nY3J5X3NleHBfbnRoAAMEAAgJCwoMDSInXAAtLi9fOiorPQAlMDJYACV1OgBfZ2NyeV9zZXhwX3NwcmludABwYWRsb2NrLXJuZwBwYWRsb2NrLWFlcwBwYWRsb2NrLXNoYQBwYWRsb2NrLW1tdWwAaW50ZWwtY3B1AGludGVsLWJtaTIAaW50ZWwtc3NzZTMAaW50ZWwtcGNsbXVsAGludGVsLWFlc25pAGludGVsLXJkcmFuZABpbnRlbC1hdngAaW50ZWwtYXZ4MgBhcm0tbmVvbgAvZXRjL2djcnlwdC9od2YuZGVueQBtZW1vcnkgYXQgJXAgY29ycnVwdGVkICh1bmRlcmZsb3c9JTAyeCkKAG1lbW9yeSBhdCAlcCBjb3JydXB0ZWQgKG92ZXJmbG93PSUwMngpCgBmYWlsZWQgdG8gZHJvcCBzZXR1aWQKAHNlY3VyZSBtZW1vcnkgaXMgZGlzYWJsZWQAY2FuJ3QgbW1hcCBwb29sIG9mICV1IGJ5dGVzOiAlcyAtIHVzaW5nIG1hbGxvYwoAY2FuJ3QgYWxsb2NhdGUgbWVtb3J5IHBvb2wgb2YgJXUgYnl0ZXMKAFBsZWFzZSBub3RlIHRoYXQgeW91IGRvbid0IGhhdmUgc2VjdXJlIG1lbW9yeSBvbiB0aGlzIHN5c3RlbQoAT29wcywgc2VjdXJlIG1lbW9yeSBwb29sIGFscmVhZHkgaW5pdGlhbGl6ZWQKAG9wZXJhdGlvbiBpcyBub3QgcG9zc2libGUgd2l0aG91dCBpbml0aWFsaXplZCBzZWN1cmUgbWVtb3J5CgBzZWNtZW0gdXNhZ2U6ICV1LyVsdSBieXRlcyBpbiAldSBibG9ja3MKACFkb25lAGZpcHMuYwBfZ2NyeV9pbml0aWFsaXplX2ZpcHNfbW9kZQAhbm9fZmlwc19tb2RlX3JlcXVpcmVkAC9ldGMvZ2NyeXB0L2ZpcHNfZW5hYmxlZAByAC9wcm9jL3ZlcnNpb24ARkFUQUw6IGVycm9yIHJlYWRpbmcgYCVzJyBpbiBsaWJnY3J5cHQ6ICVzCgBGQVRBTDogZmFpbGVkIHRvIGNyZWF0ZSB0aGUgRlNNIGxvY2sgaW4gbGliZ2NyeXB0OiAlcwoARkFUQUw6IGZhaWxlZCB0byBhY3F1aXJlIHRoZSBGU00gbG9jayBpbiBsaWJncnlwdDogJXMKAEZBVEFMOiBmYWlsZWQgdG8gcmVsZWFzZSB0aGUgRlNNIGxvY2sgaW4gbGliZ3J5cHQ6ICVzCgBTaHV0ZG93bgBGYXRhbC1FcnJvcgBFcnJvcgBPcGVyYXRpb25hbABTZWxmLVRlc3QASW5pdABQb3dlci1PbgBncmFudGVkAGRlbmllZABsaWJnY3J5cHQgc3RhdGUgdHJhbnNpdGlvbiAlcyA9PiAlcyAlcwoAX2djcnlfZmlwc19tb2RlICgpAF9nY3J5X2luYWN0aXZhdGVfZmlwc19tb2RlAG5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZQAlc2Vycm9yIGluIGxpYmdjcnlwdCwgZmlsZSAlcywgbGluZSAlZCVzJXM6ICVzCgAsIGZ1bmN0aW9uIABmYXRhbCAASE1BQy0AT2theQAgKABsaWJnY3J5cHQgc2VsZnRlc3Q6ICVzICVzJXMgKCVkKTogJXMlcyVzJXMKAGJhZCBjb250ZXh0IHR5cGUgJWQgZ2l2ZW4gdG8gX2djcnlfY3R4X2FsbG9jCgBjVHgAYmFkIHBvaW50ZXIgJXAgcGFzc2VkIHRvIF9nY3J5X2N0eF9nZXRfcG9pbnRlcgoAd3JvbmcgY29udGV4dCB0eXBlICVkIHJlcXVlc3QgZm9yIGNvbnRleHQgJXAgb2YgdHlwZSAlZAoAYmFkIHBvaW50ZXIgJXAgcGFzc2VkIHRvIGdjcnlfY3R4X3JlbGFzZQoAYmFkIGNvbnRleHQgdHlwZSAlZCBkZXRlY3RlZCBpbiBnY3J5X2N0eF9yZWxhc2UKAGdjcnlfY2lwaGVyX2Nsb3NlOiBhbHJlYWR5IGNsb3NlZC9pbnZhbGlkIGhhbmRsZQBjaXBoZXIuYwBjaXBoZXJfZW5jcnlwdABjaXBoZXIgbW9kZSBOT05FIHVzZWQAY2lwaGVyX2VuY3J5cHQ6IGludmFsaWQgbW9kZSAlZAoAY2lwaGVyX2RlY3J5cHQAY2lwaGVyX2RlY3J5cHQ6IGludmFsaWQgbW9kZSAlZAoAV0FSTklORzogY2lwaGVyX3NldGl2OiBpdmxlbj0ldSBibGtsZW49JXUKAGNpcGhlcl9zZXRpdgBJViBsZW5ndGggZG9lcyBub3QgbWF0Y2ggYmxvY2tsZW5ndGgAMHg3RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkVEAC0weDAxAC0weDJERkM5MzExRDQ5MDAxOEM3MzM4QkY4Njg4ODYxNzY3RkY4RkY1QjJCRUJFMjc1NDhBMTRCMjM1RUNBNjg3NEEAMHgxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE0REVGOURFQTJGNzlDRDY1ODEyNjMxQTVDRjVEM0VEADB4MjE2OTM2RDNDRDZFNTNGRUMwQTRFMjMxRkRENkRDNUM2OTJDQzc2MDk1MjVBN0IyQzk1NjJENjA4RjI1RDUxQQAweDY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NTgAMHgwOABOSVNUIFAtMTkyADB4ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmVmZmZmZmZmZmZmZmZmZmZmADB4ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmVmZmZmZmZmZmZmZmZmZmZjADB4NjQyMTA1MTllNTljODBlNzBmYTdlOWFiNzIyNDMwNDlmZWI4ZGVlY2MxNDZiOWIxADB4ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmOTlkZWY4MzYxNDZiYzliMWI0ZDIyODMxADB4MTg4ZGE4MGViMDMwOTBmNjdjYmYyMGViNDNhMTg4MDBmNGZmMGFmZDgyZmYxMDEyADB4MDcxOTJiOTVmZmM4ZGE3ODYzMTAxMWVkNmIyNGNkZDU3M2Y5NzdhMTFlNzk0ODExADB4MDEATklTVCBQLTIyNAAweGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxADB4ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmVmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmUAMHhiNDA1MGE4NTBjMDRiM2FiZjU0MTMyNTY1MDQ0YjBiN2Q3YmZkOGJhMjcwYjM5NDMyMzU1ZmZiNAAweGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxNmEyZTBiOGYwM2UxM2RkMjk0NTVjNWMyYTNkADB4YjcwZTBjYmQ2YmI0YmY3ZjMyMTM5MGI5NGEwM2MxZDM1NmMyMTEyMjM0MzI4MGQ2MTE1YzFkMjEAMHhiZDM3NjM4OGI1ZjcyM2ZiNGMyMmRmZTZjZDQzNzVhMDVhMDc0NzY0NDRkNTgxOTk4NTAwN2UzNABOSVNUIFAtMjU2ADB4ZmZmZmZmZmYwMDAwMDAwMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZgAweGZmZmZmZmZmMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMAMHg1YWM2MzVkOGFhM2E5M2U3YjNlYmJkNTU3Njk4ODZiYzY1MWQwNmIwY2M1M2IwZjYzYmNlM2MzZTI3ZDI2MDRiADB4ZmZmZmZmZmYwMDAwMDAwMGZmZmZmZmZmZmZmZmZmZmZiY2U2ZmFhZGE3MTc5ZTg0ZjNiOWNhYzJmYzYzMjU1MQAweDZiMTdkMWYyZTEyYzQyNDdmOGJjZTZlNTYzYTQ0MGYyNzcwMzdkODEyZGViMzNhMGY0YTEzOTQ1ZDg5OGMyOTYAMHg0ZmUzNDJlMmZlMWE3ZjliOGVlN2ViNGE3YzBmOWUxNjJiY2UzMzU3NmIzMTVlY2VjYmI2NDA2ODM3YmY1MWY1AE5JU1QgUC0zODQAMHhmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlZmZmZmZmZmYwMDAwMDAwMDAwMDAwMDAwZmZmZmZmZmYAMHhmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlZmZmZmZmZmYwMDAwMDAwMDAwMDAwMDAwZmZmZmZmZmMAMHhiMzMxMmZhN2UyM2VlN2U0OTg4ZTA1NmJlM2Y4MmQxOTE4MWQ5YzZlZmU4MTQxMTIwMzE0MDg4ZjUwMTM4NzVhYzY1NjM5OGQ4YTJlZDE5ZDJhODVjOGVkZDNlYzJhZWYAMHhmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjNzYzNGQ4MWY0MzcyZGRmNTgxYTBkYjI0OGIwYTc3YWVjZWMxOTZhY2NjNTI5NzMAMHhhYTg3Y2EyMmJlOGIwNTM3OGViMWM3MWVmMzIwYWQ3NDZlMWQzYjYyOGJhNzliOTg1OWY3NDFlMDgyNTQyYTM4NTUwMmYyNWRiZjU1Mjk2YzNhNTQ1ZTM4NzI3NjBhYjcAMHgzNjE3ZGU0YTk2MjYyYzZmNWQ5ZTk4YmY5MjkyZGMyOWY4ZjQxZGJkMjg5YTE0N2NlOWRhMzExM2I1ZjBiOGMwMGE2MGIxY2UxZDdlODE5ZDdhNDMxZDdjOTBlYTBlNWYATklTVCBQLTUyMQAweDAxZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZgAweDAxZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYwAweDA1MTk1M2ViOTYxOGUxYzlhMWY5MjlhMjFhMGI2ODU0MGVlYTJkYTcyNWI5OWIzMTVmM2I4YjQ4OTkxOGVmMTA5ZTE1NjE5Mzk1MWVjN2U5MzdiMTY1MmMwYmQzYmIxYmYwNzM1NzNkZjg4M2QyYzM0ZjFlZjQ1MWZkNDZiNTAzZjAwADB4MWZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYTUxODY4NzgzYmYyZjk2NmI3ZmNjMDE0OGY3MDlhNWQwM2JiNWM5Yjg4OTljNDdhZWJiNmZiNzFlOTEzODY0MDkAMHgwMGM2ODU4ZTA2YjcwNDA0ZTljZDllM2VjYjY2MjM5NWI0NDI5YzY0ODEzOTA1M2ZiNTIxZjgyOGFmNjA2YjRkM2RiYWExNGI1ZTc3ZWZlNzU5MjhmZTFkYzEyN2EyZmZhOGRlMzM0OGIzYzE4NTZhNDI5YmY5N2U3ZTMxYzJlNWJkNjYAMHgwMTE4MzkyOTZhNzg5YTNiYzAwNDVjOGE1ZmI0MmM3ZDFiZDk5OGY1NDQ0OTU3OWI0NDY4MTdhZmJkMTcyNzNlNjYyYzk3ZWU3Mjk5NWVmNDI2NDBjNTUwYjkwMTNmYWQwNzYxMzUzYzcwODZhMjcyYzI0MDg4YmU5NDc2OWZkMTY2NTAAYnJhaW5wb29sUDE2MHIxADB4ZTk1ZTRhNWY3MzcwNTlkYzYwZGZjN2FkOTViM2Q4MTM5NTE1NjIwZgAweDM0MGU3YmUyYTI4MGViNzRlMmJlNjFiYWRhNzQ1ZDk3ZThmN2MzMDAAMHgxZTU4OWE4NTk1NDIzNDEyMTM0ZmFhMmRiZGVjOTVjOGQ4Njc1ZTU4ADB4ZTk1ZTRhNWY3MzcwNTlkYzYwZGY1OTkxZDQ1MDI5NDA5ZTYwZmMwOQAweGJlZDVhZjE2ZWEzZjZhNGY2MjkzOGM0NjMxZWI1YWY3YmRiY2RiYzMAMHgxNjY3Y2I0NzdhMWE4ZWMzMzhmOTQ3NDE2NjljOTc2MzE2ZGE2MzIxAGJyYWlucG9vbFAxOTJyMQAweGMzMDJmNDFkOTMyYTM2Y2RhN2EzNDYzMDkzZDE4ZGI3OGZjZTQ3NmRlMWE4NjI5NwAweDZhOTExNzQwNzZiMWUwZTE5YzM5YzAzMWZlODY4NWMxY2FlMDQwZTVjNjlhMjhlZgAweDQ2OWEyOGVmN2MyOGNjYTNkYzcyMWQwNDRmNDQ5NmJjY2E3ZWY0MTQ2ZmJmMjVjOQAweGMzMDJmNDFkOTMyYTM2Y2RhN2EzNDYyZjllOWU5MTZiNWJlOGYxMDI5YWM0YWNjMQAweGMwYTA2NDdlYWFiNmE0ODc1M2IwMzNjNTZjYjBmMDkwMGEyZjVjNDg1MzM3NWZkNgAweDE0YjY5MDg2NmFiZDViYjg4YjVmNDgyOGMxNDkwMDAyZTY3NzNmYTJmYTI5OWI4ZgBicmFpbnBvb2xQMjI0cjEAMHhkN2MxMzRhYTI2NDM2Njg2MmExODMwMjU3NWQxZDc4N2IwOWYwNzU3OTdkYTg5ZjU3ZWM4YzBmZgAweDY4YTVlNjJjYTljZTZjMWMyOTk4MDNhNmMxNTMwYjUxNGUxODJhZDhiMDA0MmE1OWNhZDI5ZjQzADB4MjU4MGY2M2NjZmU0NDEzODg3MDcxM2IxYTkyMzY5ZTMzZTIxMzVkMjY2ZGJiMzcyMzg2YzQwMGIAMHhkN2MxMzRhYTI2NDM2Njg2MmExODMwMjU3NWQwZmI5OGQxMTZiYzRiNmRkZWJjYTNhNWE3OTM5ZgAweDBkOTAyOWFkMmM3ZTVjZjQzNDA4MjNiMmE4N2RjNjhjOWU0Y2UzMTc0YzFlNmVmZGVlMTJjMDdkADB4NThhYTU2Zjc3MmMwNzI2ZjI0YzZiODllNGVjZGFjMjQzNTRiOWU5OWNhYTNmNmQzNzYxNDAyY2QAYnJhaW5wb29sUDI1NnIxADB4YTlmYjU3ZGJhMWVlYTliYzNlNjYwYTkwOWQ4MzhkNzI2ZTNiZjYyM2Q1MjYyMDI4MjAxMzQ4MWQxZjZlNTM3NwAweDdkNWEwOTc1ZmMyYzMwNTdlZWY2NzUzMDQxN2FmZmU3ZmI4MDU1YzEyNmRjNWM2Y2U5NGE0YjQ0ZjMzMGI1ZDkAMHgyNmRjNWM2Y2U5NGE0YjQ0ZjMzMGI1ZDliYmQ3N2NiZjk1ODQxNjI5NWNmN2UxY2U2YmNjZGMxOGZmOGMwN2I2ADB4YTlmYjU3ZGJhMWVlYTliYzNlNjYwYTkwOWQ4MzhkNzE4YzM5N2FhM2I1NjFhNmY3OTAxZTBlODI5NzQ4NTZhNwAweDhiZDJhZWI5Y2I3ZTU3Y2IyYzRiNDgyZmZjODFiN2FmYjlkZTI3ZTFlM2JkMjNjMjNhNDQ1M2JkOWFjZTMyNjIAMHg1NDdlZjgzNWMzZGFjNGZkOTdmODQ2MWExNDYxMWRjOWMyNzc0NTEzMmRlZDhlNTQ1YzFkNTRjNzJmMDQ2OTk3AGJyYWlucG9vbFAzMjByMQAweGQzNWU0NzIwMzZiYzRmYjdlMTNjNzg1ZWQyMDFlMDY1Zjk4ZmNmYTZmNmY0MGRlZjRmOTJiOWVjNzg5M2VjMjhmY2Q0MTJiMWYxYjMyZTI3ADB4M2VlMzBiNTY4ZmJhYjBmODgzY2NlYmQ0NmQzZjNiYjhhMmE3MzUxM2Y1ZWI3OWRhNjYxOTBlYjA4NWZmYTlmNDkyZjM3NWE5N2Q4NjBlYjQAMHg1MjA4ODM5NDlkZmRiYzQyZDNhZDE5ODY0MDY4OGE2ZmUxM2Y0MTM0OTU1NGI0OWFjYzMxZGNjZDg4NDUzOTgxNmY1ZWI0YWM4ZmIxZjFhNgAweGQzNWU0NzIwMzZiYzRmYjdlMTNjNzg1ZWQyMDFlMDY1Zjk4ZmNmYTViNjhmMTJhMzJkNDgyZWM3ZWU4NjU4ZTk4NjkxNTU1YjQ0YzU5MzExADB4NDNiZDdlOWFmYjUzZDhiODUyODliY2M0OGVlNWJmZTZmMjAxMzdkMTBhMDg3ZWI2ZTc4NzFlMmExMGE1OTljNzEwYWY4ZDBkMzllMjA2MTEAMHgxNGZkZDA1NTQ1ZWMxY2M4YWI0MDkzMjQ3Zjc3Mjc1ZTA3NDNmZmVkMTE3MTgyZWFhOWM3Nzg3N2FhYWM2YWM3ZDM1MjQ1ZDE2OTJlOGVlMQBicmFpbnBvb2xQMzg0cjEAMHg4Y2I5MWU4MmEzMzg2ZDI4MGY1ZDZmN2U1MGU2NDFkZjE1MmY3MTA5ZWQ1NDU2YjQxMmIxZGExOTdmYjcxMTIzYWNkM2E3Mjk5MDFkMWE3MTg3NDcwMDEzMzEwN2VjNTMAMHg3YmMzODJjNjNkOGMxNTBjM2M3MjA4MGFjZTA1YWZhMGMyYmVhMjhlNGZiMjI3ODcxMzkxNjVlZmJhOTFmOTBmOGFhNTgxNGE1MDNhZDRlYjA0YThjN2RkMjJjZTI4MjYAMHgwNGE4YzdkZDIyY2UyODI2OGIzOWI1NTQxNmYwNDQ3YzJmYjc3ZGUxMDdkY2QyYTYyZTg4MGVhNTNlZWI2MmQ1N2NiNDM5MDI5NWRiYzk5NDNhYjc4Njk2ZmE1MDRjMTEAMHg4Y2I5MWU4MmEzMzg2ZDI4MGY1ZDZmN2U1MGU2NDFkZjE1MmY3MTA5ZWQ1NDU2YjMxZjE2NmU2Y2FjMDQyNWE3Y2YzYWI2YWY2YjdmYzMxMDNiODgzMjAyZTkwNDY1NjUAMHgxZDFjNjRmMDY4Y2Y0NWZmYTJhNjNhODFiN2MxM2Y2Yjg4NDdhM2U3N2VmMTRmZTNkYjdmY2FmZTBjYmQxMGU4ZTgyNmUwMzQzNmQ2NDZhYWVmODdiMmUyNDdkNGFmMWUAMHg4YWJlMWQ3NTIwZjljMmE0NWNiMWViOGU5NWNmZDU1MjYyYjcwYjI5ZmVlYzU4NjRlMTljMDU0ZmY5OTEyOTI4MGU0NjQ2MjE3NzkxODExMTQyODIwMzQxMjYzYzUzMTUAYnJhaW5wb29sUDUxMnIxADB4YWFkZDlkYjhkYmU5YzQ4YjNmZDRlNmFlMzNjOWZjMDdjYjMwOGRiM2IzYzlkMjBlZDY2MzljY2E3MDMzMDg3MTdkNGQ5YjAwOWJjNjY4NDJhZWNkYTEyYWU2YTM4MGU2Mjg4MWZmMmYyZDgyYzY4NTI4YWE2MDU2NTgzYTQ4ZjMAMHg3ODMwYTMzMThiNjAzYjg5ZTIzMjcxNDVhYzIzNGNjNTk0Y2JkZDhkM2RmOTE2MTBhODM0NDFjYWVhOTg2M2JjMmRlZDVkNWFhODI1M2FhMTBhMmVmMWM5OGI5YWM4YjU3ZjExMTdhNzJiZjJjN2I5ZTdjMWFjNGQ3N2ZjOTRjYQAweDNkZjkxNjEwYTgzNDQxY2FlYTk4NjNiYzJkZWQ1ZDVhYTgyNTNhYTEwYTJlZjFjOThiOWFjOGI1N2YxMTE3YTcyYmYyYzdiOWU3YzFhYzRkNzdmYzk0Y2FkYzA4M2U2Nzk4NDA1MGI3NWViYWU1ZGQyODA5YmQ2MzgwMTZmNzIzADB4YWFkZDlkYjhkYmU5YzQ4YjNmZDRlNmFlMzNjOWZjMDdjYjMwOGRiM2IzYzlkMjBlZDY2MzljY2E3MDMzMDg3MDU1M2U1YzQxNGNhOTI2MTk0MTg2NjExOTdmYWMxMDQ3MWRiMWQzODEwODVkZGFkZGI1ODc5NjgyOWNhOTAwNjkAMHg4MWFlZTRiZGQ4MmVkOTY0NWEyMTMyMmU5YzRjNmE5Mzg1ZWQ5ZjcwYjVkOTE2YzFiNDNiNjJlZWY0ZDAwOThlZmYzYjFmNzhlMmQwZDQ4ZDUwZDE2ODdiOTNiOTdkNWY3YzZkNTA0NzQwNmE1ZTY4OGIzNTIyMDliY2I5ZjgyMgAweDdkZGUzODVkNTY2MzMyZWNjMGVhYmZhOWNmNzgyMmZkZjIwOWY3MDAyNGE1N2IxYWEwMDBjNTViODgxZjgxMTFiMmRjZGU0OTRhNWY0ODVlNWJjYTRiZDg4YTI3NjNhZWQxY2EyYjJmYThmMDU0MDY3OGNkMWUwZjNhZDgwODkyAEdPU1QyMDAxLXRlc3QAMHg4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDMxADB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNwAweDVmYmZmNDk4YWE5MzhjZTczOWI4ZTAyMmZiYWZlZjQwNTYzZjZlNmEzNDcyZmMyYTUxNGMwY2U5ZGFlMjNiN2UAMHg4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTUwZmU4YTE4OTI5NzYxNTRjNTljZmMxOTNhY2NmNWIzADB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMgAweDA4ZTJhOGEwZTY1MTQ3ZDRiZDYzMTYwMzBlMTZkMTljODVjOTdmMGE5Y2EyNjcxMjJiOTZhYmJjZWE3ZThmYzgAR09TVDIwMDEtQ3J5cHRvUHJvLUEAMHhmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZDk3ADB4ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmQ5NAAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwYTYAMHhmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjZjNjExMDcwOTk1YWQxMDA0NTg0MWIwOWI3NjFiODkzADB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMQAweDhkOTFlNDcxZTA5ODljZGEyN2RmNTA1YTQ1M2YyYjc2MzUyOTRmMmRkZjIzZTNiMTIyYWNjOTljOWU5ZjFlMTQAR09TVDIwMDEtQ3J5cHRvUHJvLUIAMHg4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwYzk5ADB4ODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMGM5NgAweDNlMWFmNDE5YTI2OWE1Zjg2NmE3ZDNjMjVjM2RmODBhZTk3OTI1OTM3M2ZmMmIxODJmNDlkNGNlN2UxYmJjOGIAMHg4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTVmNzAwY2ZmZjFhNjI0ZTVlNDk3MTYxYmNjOGExOThmADB4M2ZhODEyNDM1OWY5NjY4MGI4M2QxYzNlYjJjMDcwZTVjNTQ1Yzk4NThkMDNlY2ZiNzQ0YmY4ZDcxNzcxN2VmYwBHT1NUMjAwMS1DcnlwdG9Qcm8tQwAweDliOWY2MDVmNWE4NTgxMDdhYjFlYzg1ZTZiNDFjOGFhY2Y4NDZlODY3ODkwNTFkMzc5OThmN2I5MDIyZDc1OWIAMHg5YjlmNjA1ZjVhODU4MTA3YWIxZWM4NWU2YjQxYzhhYWNmODQ2ZTg2Nzg5MDUxZDM3OTk4ZjdiOTAyMmQ3NTk4ADB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODA1YQAweDliOWY2MDVmNWE4NTgxMDdhYjFlYzg1ZTZiNDFjOGFhNTgyY2EzNTExZWRkZmI3NGYwMmYzYTY1OTg5ODBiYjkAMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwADB4NDFlY2U1NTc0MzcxMWE4YzNjYmYzNzgzY2QwOGMwZWU0ZDRkYzQ0MGQ0NjQxYThmMzY2ZTU1MGRmZGIzYmI2NwBHT1NUMjAxMi10ZXN0ADB4NDUzMWFjZDFmZTAwMjNjNzU1MGQyNjdiNmIyZmVlODA5MjJiMTRiMmZmYjkwZjA0ZDRlYjdjMDliNWQyZDE1ZGYxZDg1Mjc0MWFmNDcwNGEwNDU4MDQ3ZTgwZTQ1NDZkMzViODMzNmZhYzIyNGRkODE2NjRiYmY1MjhiZTYzNzMAMHgxY2ZmMDgwNmEzMTExNmRhMjlkOGNmYTU0ZTU3ZWI3NDhiYzVmMzc3ZTQ5NDAwZmRkNzg4YjY0OWVjYTFhYzQzNjE4MzQwMTNiMmFkNzMyMjQ4MGE4OWNhNThlMGNmNzRiYzllNTQwYzJhZGQ2ODk3ZmFkMGEzMDg0ZjMwMmFkYwAweDQ1MzFhY2QxZmUwMDIzYzc1NTBkMjY3YjZiMmZlZTgwOTIyYjE0YjJmZmI5MGYwNGQ0ZWI3YzA5YjVkMmQxNWRhODJmMmQ3ZWNiMWRiYWM3MTk5MDVjNWVlY2M0MjNmMWQ4NmUyNWVkYmUyM2M1OTVkNjQ0YWFmMTg3ZTZlNmRmADB4MjRkMTljYzY0NTcyZWUzMGYzOTZiZjZlYmJmZDdhNmM1MjEzYjNiM2Q3MDU3Y2M4MjVmOTEwOTNhNjhjZDc2MmZkNjA2MTEyNjJjZDgzOGRjNmI2MGFhN2VlZTgwNGUyOGJjODQ5OTc3ZmFjMzNiNGI1MzBmMWIxMjAyNDhhOWEAMHgyYmIzMTJhNDNiZDJjZTZlMGQwMjA2MTNjODU3YWNkZGNmYmYwNjFlOTFlNWYyYzNmMzI0NDdjMjU5ZjM5YjJjODNhYjE1NmQ3N2YxNDk2YmY3ZWIzMzUxZTFlZTRlNDNkYzFhMThiOTFiMjQ2NDBiNmRiYjkyY2IxYWRkMzcxZQBHT1NUMjAxMi10YzI2LUEAMHhmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmRjNwAweGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZGM0ADB4ZThjMjUwNWRlZGZjODZkZGMxYmQwYjJiNjY2N2YxZGEzNGI4MjU3NDc2MWNiMGU4NzliZDA4MWNmZDBiNjI2NWVlM2NiMDkwZjMwZDI3NjE0Y2I0NTc0MDEwZGE5MGRkODYyZWY5ZDRlYmVlNDc2MTUwMzE5MDc4NWE3MWM3NjAAMHhmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMjdlNjk1MzJmNDhkODkxMTZmZjIyYjhkNGUwNTYwNjA5YjRiMzhhYmZhZDJiODVkY2FjZGIxNDExZjEwYjI3NQAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzADB4NzUwM2NmZTg3YTgzNmFlM2E2MWI4ODE2ZTI1NDUwZTZjZTVlMWM5M2FjZjFhYmMxNzc4MDY0ZmRjYmVmYTkyMWRmMTYyNmJlNGZkMDM2ZTkzZDc1ZTZhNTBlM2E0MWU5ODAyOGZlNWZjMjM1ZjViODg5YTU4OWNiNTIxNWYyYTQAR09TVDIwMTItdGMyNi1CADB4ODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNmYAMHg4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2YwAweDY4N2QxYjQ1OWRjODQxNDU3ZTNlMDZjZjZmNWUyNTE3Yjk3YzdkNjE0YWYxMzhiY2JmODVkYzgwNmM0YjI4OWYzZTk2NWQyZGIxNDE2ZDIxN2Y4YjI3NmZhZDFhYjY5YzUwZjc4YmVlMWZhMzEwNmVmYjhjY2JjN2M1MTQwMTE2ADB4ODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTQ5YTFlYzE0MjU2NWE1NDVhY2ZkYjc3YmQ5ZDQwY2ZhOGI5OTY3MTIxMDFiZWEwZWM2MzQ2YzU0Mzc0ZjI1YmQAMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMgAweDFhOGY3ZWRhMzg5YjA5NGMyYzA3MWUzNjQ3YTg5NDBmM2MxMjNiNjk3NTc4YzIxM2JlNmRkOWU2YzhlYzczMzVkY2IyMjhmZDFlZGY0YTM5MTUyY2JjYWFmOGMwMzk4ODI4MDQxMDU1Zjk0Y2VlZWM3ZTIxMzQwNzgwZmU0MWJkAHNlY3AyNTZrMQAweEZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZFRkZGRkZDMkYAMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRUJBQUVEQ0U2QUY0OEEwM0JCRkQyNUU4Q0QwMzY0MTQxADB4NzlCRTY2N0VGOURDQkJBQzU1QTA2Mjk1Q0U4NzBCMDcwMjlCRkNEQjJEQ0UyOEQ5NTlGMjgxNUIxNkY4MTc5OAAweDQ4M0FEQTc3MjZBM0M0NjU1REE0RkJGQzBFMTEwOEE4RkQxN0I0NDhBNjg1NTQxOTlDNDdEMDhGRkIxMEQ0QjgAMS4zLjYuMS40LjEuMTE1OTEuMTUuMQAxLjIuODQwLjEwMDQ1LjMuMS4xAHByaW1lMTkydjEAc2VjcDE5MnIxAG5pc3RwMTkyAHNlY3AyMjRyMQAxLjMuMTMyLjAuMzMAbmlzdHAyMjQAMS4yLjg0MC4xMDA0NS4zLjEuNwBwcmltZTI1NnYxAHNlY3AyNTZyMQBuaXN0cDI1NgBzZWNwMzg0cjEAMS4zLjEzMi4wLjM0AG5pc3RwMzg0AHNlY3A1MjFyMQAxLjMuMTMyLjAuMzUAbmlzdHA1MjEAMS4zLjM2LjMuMy4yLjguMS4xLjEAMS4zLjM2LjMuMy4yLjguMS4xLjMAMS4zLjM2LjMuMy4yLjguMS4xLjUAMS4zLjM2LjMuMy4yLjguMS4xLjcAMS4zLjM2LjMuMy4yLjguMS4xLjkAMS4zLjM2LjMuMy4yLjguMS4xLjExADEuMy4zNi4zLjMuMi44LjEuMS4xMwAxLjIuNjQzLjIuMi4zNS4wADEuMi42NDMuMi4yLjM1LjEAMS4yLjY0My4yLjIuMzUuMgAxLjIuNjQzLjIuMi4zNS4zAEdPU1QyMDAxLUNyeXB0b1Byby1YY2hBAEdPU1QyMDAxLUNyeXB0b1Byby1YY2hCADEuMi42NDMuMi4yLjM2LjAAMS4yLjY0My4yLjIuMzYuMQAxLjIuNjQzLjcuMS4yLjEuMi4xADEuMi42NDMuNy4xLjIuMS4yLjIAMS4zLjEzMi4wLjEwADB4MDQALXBhYmduaABiAGcAaABkAC54AC55AC56AGVjYyBnZXQgcGFyYW06IEZhaWxlZCB0byBnZXQgYWZmaW5lIGNvb3JkaW5hdGVzCgAocHVibGljLWtleShlY2MocCVtKShhJW0pKGIlbSkoZyVtKShuJW0pKGglbSkpKQBnLngAZy55AHEueABxLnkAZWRkc2FfZW5jb2RlcG9pbnQ6IEZhaWxlZCB0byBnZXQgYWZmaW5lIGNvb3JkaW5hdGVzCgAwRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZEAHNjYW5uaW5nIEVDQyBwYXJhbWV0ZXIgZmFpbGVkOiAlcwoAMkI4MzI0ODA0RkMxREYwQjJCNEQwMDk5M0RGQkQ3QTcyRjQzMTgwNkFEMkZFNDc4QzRFRTFCMjc0QTBFQTBCMABlY2dlbiAgICAgIHBrACogZV9wawAgIGVfcGsAICAgICBtACAgIHIAICAgZV9yACBIKFIrKQAgICBlX3MARWR3YXJkcwBXZWllcnN0cmFzcwBFZDI1NTE5AFN0YW5kYXJkAG1waV9wcmludCBmYWlsZWQ6ICVzCgBtcGlfc2NhbiBmYWlsZWQ6ICVzCgBTYW1wbGUgIzEAT0yj1daLp8wKEgjJxh6cXaBAPAoAU2FtcGxlICMyAAki00Bfqj0ZT4KkWDBzfVzGx10kAFNhbXBsZSAjMwC89B6ri7LYAvPQXK98sJLs+NGjqgBTYW1wbGUgIzQAnqiG7+Jo2+zOQgx1JN8y4HUaKiYARklQUy0xOThhLCBBLjEARklQUy0xOThhLCBBLjIARklQUy0xOThhLCBBLjMARklQUy0xOThhLCBBLjQAaG1hYwBfZ2NyeV9obWFjMjU2X2ZpbmFsaXplIGZhaWxlZABkb2VzIG5vdCBtYXRjaCBpbiBzZWNvbmQgaW1wbGVtZW50YXRpb24AX2djcnlfaG1hYzI1Nl9uZXcgZmFpbGVkAGFsZ29yaXRobSBub3QgYXZhaWxhYmxlAGRhdGEtMjgga2V5LTQAd2hhdCBkbyB5YSB3YW50IGZvciBub3RoaW5nPwBKZWZlAGRhdGEtOSBrZXktMjAASGkgVGhlcmUACwsLCwsLCwsLCwsLCwsLCwsLCwsAZGF0YS01MCBrZXktMjAA3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d0AqqqqqqqqqqqqqqqqqqqqqqqqqqoAZGF0YS01MCBrZXktMjYAzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc0AAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGQBkYXRhLTU0IGtleS0xMzEAVGVzdCBVc2luZyBMYXJnZXIgVGhhbiBCbG9jay1TaXplIEtleSAtIEhhc2ggS2V5IEZpcnN0AKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqAGRhdGEtMTUyIGtleS0xMzEAVGhpcyBpcyBhIHRlc3QgdXNpbmcgYSBsYXJnZXIgdGhhbiBibG9jay1zaXplIGtleSBhbmQgYSBsYXJnZXIgdGhhbiBibG9jay1zaXplIGRhdGEuIFRoZSBrZXkgbmVlZHMgdG8gYmUgaGFzaGVkIGJlZm9yZSBiZWluZyB1c2VkIGJ5IHRoZSBITUFDIGFsZ29yaXRobS4AZG9lcyBub3QgbWF0Y2gAZ2NyeV9tZF9zZXRrZXkgZmFpbGVkAGdjcnlfbWRfcmVhZCBmYWlsZWQAaW52YWxpZCB0ZXN0cyBkYXRhAG9pZC4AT0lELgBtZF9lbmFibGU6IGFsZ29yaXRobSAlZCBub3QgYXZhaWxhYmxlCgBNRDUgdXNlZABtZC5jAG1kX3dyaXRlAG1kX2dldF9hbGdvAHBvc3NpYmxlIHVzYWdlIGVycm9yAFdBUk5JTkc6IG1vcmUgdGhhbiBvbmUgYWxnb3JpdGhtIGluIG1kX2dldF9hbGdvKCkKAG1vcmUgdGhhbiBvbmUgYWxnb3JpdGhtIGluIG1kX3JlYWQoMCkKAG1kX3JlYWQAa2V5bGVuIDw9IGhkLT5jdHgtPm1hY3BhZHNfQnNpemUAcHJlcGFyZV9tYWNwYWRzAGdjcnlfbWRfb3BlbiBmYWlsZWQgZm9yIGFsZ28gJWQ6ICVzAG5vIEFTTi4xIE9JRCBmb3IgbWQgYWxnbyAlZAoAcHJpbWVnZW4AY2FuJ3QgZ2VuZXJhdGUgYSBwcmltZSB3aXRoIGxlc3MgdGhhbiAlZCBiaXRzCgBvdmVyZmxvdyBpbiBwcmltZSBnZW5lcmF0aW9uCgBfZ2NyeV9tcGlfY21wKCAoeCksIChubWludXMxKSApIDwgMCAmJiBfZ2NyeV9tcGlfY21wX3VpKCAoeCksICgxKSApID4gMABwcmltZWdlbi5jAGlzX3ByaW1lAHBzcwByYXcAY29tcABvYWVwAHBrY3MxAHBhcmFtAG5vY29tcAByZmM2OTc5AG5vcGFyYW0AcGtjczEtcmF3AGlnbmludmZsYWcAbm8ta2V5dGVzdABuby1ibGluZGluZwB1c2UtZmlwczE4NgB1c2UtZmlwczE4Ni0yAG5iaXRzAHJzYS11c2UtZQBzaWctdmFsAGhhc2gtYWxnbwBsYWJlbAByYW5kb20tb3ZlcnJpZGUAc2hhMQBtZDUAc2hhMjU2AHJpcGVtZDE2MABybWQxNjAAc2hhMzg0AHNoYTUxMgBzaGEyMjQAbWQyAG1kNAB0aWdlcgBoYXZhbABkYXRhAGhhc2gAc2FsdC1sZW5ndGgAPwBwcml2YXRlLWtleQBwdWJsaWMta2V5AGdlbmtleQBhbGdvcml0aG0gZGlzYWJsZWQAYWxnb3JpdGhtIG5vdCBmb3VuZABubyBzZWxmdGVzdCBhdmFpbGFibGUAbW9kdWxlAEFFUwBBRVMtMTI4IHRlc3QgZGVjcnlwdGlvbiBmYWlsZWQuAEFFUy0xMjggdGVzdCBlbmNyeXB0aW9uIGZhaWxlZC4AY2ZiAG9mYgBsb3ctbGV2ZWwAY2lwaGVyAEFFUy0xOTIgdGVzdCBkZWNyeXB0aW9uIGZhaWxlZC4AQUVTLTE5MiB0ZXN0IGVuY3J5cHRpb24gZmFpbGVkLgBBRVMtMjU2IHRlc3QgZGVjcnlwdGlvbiBmYWlsZWQuAEFFUy0yNTYgdGVzdCBlbmNyeXB0aW9uIGZhaWxlZC4Abm8gdGVzdCBkYXRhIGZvciB0aGlzIG1vZGUAb3BlbgBzZXQga2V5AHNldCBJVgBlbmNyeXB0IGNvbW1hbmQAZW5jcnlwdCBtaXNtYXRjaABkZWNyeXB0IGNvbW1hbmQAZGVjcnlwdCBtaXNtYXRjaAAyLjE2Ljg0MC4xLjEwMS4zLjQuMS4xADIuMTYuODQwLjEuMTAxLjMuNC4xLjIAMi4xNi44NDAuMS4xMDEuMy40LjEuMwAyLjE2Ljg0MC4xLjEwMS4zLjQuMS40AFJJSk5EQUVMAEFFUzEyOABBRVMtMTI4AEFFUzE5MgAyLjE2Ljg0MC4xLjEwMS4zLjQuMS4yMQAyLjE2Ljg0MC4xLjEwMS4zLjQuMS4yMgAyLjE2Ljg0MC4xLjEwMS4zLjQuMS4yMwAyLjE2Ljg0MC4xLjEwMS4zLjQuMS4yNABSSUpOREFFTDE5MgBBRVMtMTkyAEFFUzI1NgAyLjE2Ljg0MC4xLjEwMS4zLjQuMS40MQAyLjE2Ljg0MC4xLjEwMS4zLjQuMS40MgAyLjE2Ljg0MC4xLjEwMS4zLjQuMS40MwAyLjE2Ljg0MC4xLjEwMS4zLjQuMS40NABSSUpOREFFTDI1NgBBRVMtMjU2AFJJUEVNRDE2MAAwITAJBgUrJAMCAQUABBQxLjMuMzYuMy4zLjEuMgAxLjMuMzYuMy4yLjEAaSA+IDAAcnNhLWNvbW1vbi5jAF9nY3J5X3JzYV9wa2NzMV9lbmNvZGVfZm9yX2VuYwBuID09IG5mcmFtZQBQS0NTIzEgYmxvY2sgdHlwZSAyIGVuY29kZWQgZGF0YQB2YWx1ZSBleHRyYWN0ZWQgZnJvbSBQS0NTIzEgYmxvY2sgdHlwZSAyIGVuY29kZWQgZGF0YQBpID4gMQBfZ2NyeV9yc2FfcGtjczFfZW5jb2RlX2Zvcl9zaWcAUEtDUyMxIGJsb2NrIHR5cGUgMSBlbmNvZGVkIGRhdGEAX2djcnlfcnNhX3BrY3MxX2VuY29kZV9yYXdfZm9yX3NpZwBPQUVQIGVuY29kZWQgZGF0YQB2YWx1ZSBleHRyYWN0ZWQgZnJvbSBPQUVQIGVuY29kZWQgZGF0YQBobGVuAF9nY3J5X3JzYV9wc3NfZW5jb2RlAFBTUyBlbmNvZGVkIGRhdGEAX2djcnlfcnNhX3Bzc192ZXJpZnkAUlNBAG5lAG5lZHBxdQBhAHMAbgBiYWQgc2lnbmF0dXJlIG5vdCBkZXRlY3RlZABjb252ZXJ0aW5nIGRhdGEgZmFpbGVkAHNpZ25pbmcgZmFpbGVkAHZlcmlmeSBmYWlsZWQAKGRhdGEgKGZsYWdzIHJhdykgKHZhbHVlICVtKSkAZW5jLXZhbAByc2EAdmFsdWUAbWlzbWF0Y2gAZW5jcnlwdCBmYWlsZWQAZ2NyeV9wa19kZWNyeXB0IHJldHVybmVkIGdhcmJhZ2UAY2lwaGVydGV4dCBtYXRjaGVzIHBsYWludGV4dABkZWNyeXB0IGZhaWxlZABkZWNyeXB0IHJldHVybmVkIG5vIHBsYWludGV4dABjb252ZXJ0AGtleSBjb25zaXN0ZW5jeQBzaWduAGVuY3J5cHQAcHVia2V5AHJzYV92ZXJpZnkgZGF0YQByc2FfdmVyaWZ5ICBzaWcAcnNhX3ZlcmlmeSAgICBuAHJzYV92ZXJpZnkgICAgZQByc2FfdmVyaWZ5ICBjbXAAcnNhX3ZlcmlmeSAgICA9PiAlcwoAcnNhX3NpZ24gICBkYXRhAG5lZHA/cT91PwByc2Ffc2lnbiAgICAgIG4AcnNhX3NpZ24gICAgICBlAHJzYV9zaWduICAgICAgZAByc2Ffc2lnbiAgICAgIHAAcnNhX3NpZ24gICAgICBxAHJzYV9zaWduICAgICAgdQByc2Ffc2lnbiAgICByZXMAKHNpZy12YWwocnNhKHMlYikpKQAoc2lnLXZhbChyc2EocyVNKSkpAHJzYV9zaWduICAgICAgPT4gJXMKAHJzYV9kZWNyeXB0IGRhdGEAcnNhX2RlY3J5cHQgICAgbgByc2FfZGVjcnlwdCAgICBlAHJzYV9kZWNyeXB0ICAgIGQAcnNhX2RlY3J5cHQgICAgcAByc2FfZGVjcnlwdCAgICBxAHJzYV9kZWNyeXB0ICAgIHUAcnNhX2RlY3J5cHQgIHJlcwAodmFsdWUgJWIpACVtAHJzYV9kZWNyeXB0ICAgID0+ICVzCgByc2FfZW5jcnlwdCBkYXRhAHJzYV9lbmNyeXB0ICAgIG4AcnNhX2VuY3J5cHQgICAgZQByc2FfZW5jcnlwdCAgcmVzAChlbmMtdmFsKHJzYShhJWIpKSkAKGVuYy12YWwocnNhKGElbSkpKQByc2FfZW5jcnlwdCAgICA9PiAlcwoAcnNhX3Rlc3RrZXkgICAgPT4gJXMKAGRlcml2ZS1wYXJtcwB1c2UteDkzMQBfZ2NyeV9tcGlfZ2V0X25iaXRzICgoeHApKSA9PSBuYml0cwByc2EuYwBnZW5feDkzMV9wYXJtX3hwAF9nY3J5X21waV9nZXRfbmJpdHMgKCh4aSkpID09IDEwMQBnZW5feDkzMV9wYXJtX3hpAFhwMQBYcDIAWHAAWHExAFhxMgBYcQBfZ2NyeV9tcGlfZ2NkICggKGcpLCAoZSksIChwaGkpICkAZ2VuZXJhdGVfeDkzMQBwIGFuZCBxIGFyZSBzd2FwcGVkCgAgIHEAICBuACAgZQAgIGQAICB1AHNlbGYtdGVzdCBhZnRlciBrZXkgZ2VuZXJhdGlvbiBmYWlsZWQAKG1pc2Mta2V5LWluZm8ocC1xLXN3YXBwZWQpKQBnZW5lcmF0ZV9zdGQAICBwPSAAICBxPSAAcGhpPSAAICBnPSAAICBmPSAAICBuPSAAICBlPSAAICBkPSAAICB1PSAAKGtleS1kYXRhIChwdWJsaWMta2V5ICAocnNhKG4lbSkoZSVtKSkpIChwcml2YXRlLWtleSAgKHJzYShuJW0pKGUlbSkoZCVtKShwJW0pKHElbSkodSVtKSkpICVTKQBvcGVucGdwLXJzYQBvaWQuMS4yLjg0MC4xMTM1NDkuMS4xLjEAU0hBMQAwITAJBgUrDgMCGgUABBSpmT42RwaBaro+JXF4UMJsnNDYnQCEmD5EHDvSbrquSqH5USnl5UZw8QA0qpc81MTapPYe6yvbrScxZTQBbwAxLjIuODQwLjExMzU0OS4xLjEuNQAxLjIuODQwLjEwMDQwLjQuMwAxLjMuMTQuMy4yLjI2ADEuMy4xNC4zLjIuMjkAMS4yLjg0MC4xMDA0NS40LjEAU0hBMjI0ACMJfSI0BdgihkKkd72iVbMqrbzkvaCz9+NsnacAYWJjZGJjZGVjZGVmZGVmZ2VmZ2hmZ2hpZ2hpamhpamtpamtsamtsbWtsbW5sbW5vbW5vcG5vcHEAdTiLFlEndsxdul2h/YkBULDGRVy09YsZUlIlJQAgeUZVmAyR2Lu0weqXYYpL8D9CWBlIsu5O561nALp4Fr+PAc/qQUFA3l2uIiOwA2Gjlhd6nLQQ/2HyABWtACSNamHSBji45cAmkww+YDmjPORZZP8hZ/bs7dQZ2wbBAM3HblyZFPuSgaHH4oTXPmfxgJpIpJcgDgRtOczHESzQADIuMTYuODQwLjEuMTAxLjMuNC4yLjQAU0hBMjU2ADIuMTYuODQwLjEuMTAxLjMuNC4yLjEAMS4yLjg0MC4xMTM1NDkuMS4xLjExAFNIQTUxMgBhYmMAywB1P0WjXou1oD1pmsZQBycsMqsO3tFjGotgWkP/W+2AhgcroefMI1i67KE0yCWnAGFiY2RlZmdoYmNkZWZnaGljZGVmZ2hpamRlZmdoaWprZWZnaGlqa2xmZ2hpamtsbWdoaWprbG1uaGlqa2xtbm9pamtsbW5vcGprbG1ub3Bxa2xtbm9wcXJsbW5vcHFyc21ub3BxcnN0bm9wcXJzdHUACTMMM/cRR+g9GS/Hgs0bR1MRGxc7OwXSL6CAhuOw9xL8x8caVX4tuWbD6fqRdGA5AJ0OGAlxZHTLCG6DTjEKShztFJ6cAPJIUnlyzsVwTCpbB7iz3DjsxOuul93Yfz2JhQBzaG9ydCBzdHJpbmcAbG9uZyBzdHJpbmcAb25lIG1pbGxpb24gImEiAGRpZ2VzdADdrzWhk2F6usxBc0muIEExEub6TompfqIKnu7mS1XTmiGSmSonT8GoNro8I6P+671FTUQjZDzoDiqayU+lTKSfAI6Vm3Xa4xPajPT3KBT8FD+Pd3nG659/oXKZrq22iJAYUB0onkkA9+QzG5nexLVDOsfTKe623SZUXpblW4dL6QkA5xhIPQznaWROLkLHvBW0Y44fmLE7IEQoVjKoA6+pc+veD/JEh36mCkywQyzld8Mb6wCcXCxJqi5OrbIXrYzAmwAyLjE2Ljg0MC4xLjEwMS4zLjQuMi4zADEuMi44NDAuMTEzNTQ5LjEuMS4xMwBTSEEzODQAMi4xNi44NDAuMS4xMDEuMy40LjIuMgAxLjIuODQwLjExMzU0OS4xLjEuMTIAVFdPRklTSABUd29maXNoLTI1NiB0ZXN0IGRlY3J5cHRpb24gZmFpbGVkLgBUd29maXNoLTI1NiB0ZXN0IGVuY3J5cHRpb24gZmFpbGVkLgBUd29maXNoLTEyOCB0ZXN0IGRlY3J5cHRpb24gZmFpbGVkLgBUd29maXNoLTEyOCB0ZXN0IGVuY3J5cHRpb24gZmFpbGVkLgAlcwoAVFdPRklTSDEyOABmYWlsZWQgdG8gYWNxdWlyZSB0aGUgbm9uY2UgYnVmZmVyIGxvY2s6ICVzCgBmYWlsZWQgdG8gcmVsZWFzZSB0aGUgbm9uY2UgYnVmZmVyIGxvY2s6ICVzCgAlcy4qACVzLlgAZWNfaW52bTogaW52ZXJzZSBkb2VzIG5vdCBleGlzdDoKACAgYQAgIHAAJXM6IEdldHRpbmcgWS1jb29yZGluYXRlIG9uICVzIGlzIG5vdCBzdXBwb3J0ZWQKAF9nY3J5X21waV9lY19nZXRfYWZmaW5lAE1vbnRnb21lcnkAR0NSWVBUX0JBUlJFVFQAJXM6ICVzIG5vdCB5ZXQgc3VwcG9ydGVkCgBfZ2NyeV9tcGlfZWNfZHVwX3BvaW50AF9nY3J5X21waV9lY19hZGRfcG9pbnRzACFicF9tYXJrZXIAbXBpLXBvdy5jAF9nY3J5X21waV9wb3dtAHJlcy0+ZCA9PSBycABpID09IG5saW1icwBtcGljb2Rlci5jAF9nY3J5X21waV9zZXRfYnVmZmVyAFdhcm5pbmc6IHRyeWluZyB0byBjaGFuZ2UgYW4gaW1tdXRhYmxlIE1QSQoAaW52YWxpZCBmbGFnIHZhbHVlIGluIG1waV9mcmVlCgBtcGlfZ2V0X29wYXF1ZSBvbiBub3JtYWwgbXBpCgBtcGlfc2V0X2NvbmQ6IGRpZmZlcmVudCBzaXplcwoAbXBpX3N3YXBfY29uZDogZGlmZmVyZW50IHNpemVzCgBpbnZhbGlkIGZsYWcgdmFsdWUKAGludmFsaWQgbXBpX2NvbnN0IHNlbGVjdG9yICVkCgBNUEkgc3Vic3lzdGVtIG5vdCBpbml0aWFsaXplZAoAY2lwaGVyLWNtYWMuYwBjbWFjX2dlbmVyYXRlX3N1YmtleXMAYy0+dW51c2VkIDwgYmxvY2tzaXplAGNpcGhlci1jdHIuYwBfZ2NyeV9jaXBoZXJfY3RyX2VuY3J5cHQAdW51c2VkID09IGJsb2Nrc2l6ZQBjaXBoZXItZ2NtLmMAZG9fZ2hhc2hfYnVmAHNlbGZ0ZXN0IGZvciBDQkMgZmFpbGVkIC0gc2VlIHN5c2xvZyBmb3IgZGV0YWlscwBzZXRrZXkgZmFpbGVkAGZhaWxlZCB0byBhbGxvY2F0ZSBtZW1vcnkAc2VsZnRlc3QgZm9yIENGQiBmYWlsZWQgLSBzZWUgc3lzbG9nIGZvciBkZXRhaWxzAHNlbGZ0ZXN0IGZvciBDVFIgZmFpbGVkIC0gc2VlIHN5c2xvZyBmb3IgZGV0YWlscwBFQ0MAcGFiZ25ocQBwYWJnbmhxZABzdwBycwBmbGFncwBwP2E/Yj9nP24/aD8vcQBwP2E/Yj9nP24/aD9xAC9xAHEAY3VydmUAcGFiZ25ocSgxOiVjJXU6ACkAcABlY2NfdmVyaWZ5IGRhdGEAL3JzAGVjY192ZXJpZnkgIHNfcgBlY2NfdmVyaWZ5ICBzX3MALXA/YT9iP2c/bj9oPy9xACtFZERTQQBlY2NfdmVyaWZ5IGluZm86ICVzLyVzJXMKAGVjY192ZXJpZnkgbmFtZTogJXMKAGVjY192ZXJpZnkgICAgcABlY2NfdmVyaWZ5ICAgIGEAZWNjX3ZlcmlmeSAgICBiAGVjY192ZXJpZnkgIGcAZWNjX3ZlcmlmeSAgICBuAGVjY192ZXJpZnkgICAgaABlY2NfdmVyaWZ5ICAgIHEAR29vZABlY2NfdmVyaWZ5ICAgID0+ICVzCgBlY2Nfc2lnbiAgIGRhdGEALXA/YT9iP2c/bj9oPy9xPytkAC9xPytkAGVjY19zaWduICAgaW5mbzogJXMvJXMlcwoAZWNjX3NpZ24gICBuYW1lOiAlcwoAZWNjX3NpZ24gICAgICBwAGVjY19zaWduICAgICAgYQBlY2Nfc2lnbiAgICAgIGIAZWNjX3NpZ24gICAgZwBlY2Nfc2lnbiAgICAgIG4AZWNjX3NpZ24gICAgICBoAGVjY19zaWduICAgICAgcQBlY2Nfc2lnbiAgICAgIGQAKHNpZy12YWwoZWRkc2EociVNKShzJU0pKSkAKHNpZy12YWwoZ29zdChyJU0pKHMlTSkpKQAoc2lnLXZhbChlY2RzYShyJU0pKHMlTSkpKQBlY2Nfc2lnbiAgICAgID0+ICVzCgBlAGVjY19kZWNyeXB0ICBkX2UALXA/YT9iP2c/bj9oPytkAGVjY19kZWNyeXB0IGluZm86ICVzLyVzCgBlY2NfZGVjcnlwdCBuYW1lOiAlcwoAZWNjX2RlY3J5cHQgICAgcABlY2NfZGVjcnlwdCAgICBhAGVjY19kZWNyeXB0ICAgIGIAZWNjX2RlY3J5cHQgIGcAZWNjX2RlY3J5cHQgICAgbgBlY2NfZGVjcnlwdCAgICBoAGVjY19kZWNyeXB0ICAgIGQAZWNkaDogRmFpbGVkIHRvIGdldCBhZmZpbmUgY29vcmRpbmF0ZXMKAGVjY19kZWNyeXB0ICByZXMAKHZhbHVlICVtKQBlY2NfZGVjcnlwdCAgICA9PiAlcwoAZWNjX2VuY3J5cHQgZGF0YQAtcD9hP2I/Zz9uP2g/K3EAZWNjX2VuY3J5cHQgaW5mbzogJXMvJXMKAGVjY19lbmNyeXB0IG5hbWU6ICVzCgBlY2NfZW5jcnlwdCAgICBwAGVjY19lbmNyeXB0ICAgIGEAZWNjX2VuY3J5cHQgICAgYgBlY2NfZW5jcnlwdCAgZwBlY2NfZW5jcnlwdCAgICBuAGVjY19lbmNyeXB0ICAgIGgAZWNjX2VuY3J5cHQgICAgcQBlY2RoOiBGYWlsZWQgdG8gZ2V0IGFmZmluZSBjb29yZGluYXRlcyBmb3Iga2RHCgBlY2RoOiBGYWlsZWQgdG8gZ2V0IGFmZmluZSBjb29yZGluYXRlcyBmb3Iga0cKAChlbmMtdmFsKGVjZGgocyVtKShlJW0pKSkAZWNjX2VuY3J5cHQgICAgPT4gJXMKAGVjY190ZXN0a2V5IGluZjogJXMvJXMKAGVjY190ZXN0a2V5IG5hbTogJXMKAGVjY190ZXN0a2V5ICAgcABlY2NfdGVzdGtleSAgIGEAZWNjX3Rlc3RrZXkgICBiAGVjY190ZXN0a2V5IGcAZWNjX3Rlc3RrZXkgICBuAGVjY190ZXN0a2V5ICAgaABlY2NfdGVzdGtleSAgIHEAZWNjX3Rlc3RrZXkgICBkAEJhZCBjaGVjazogUG9pbnQgJ0cnIGRvZXMgbm90IGJlbG9uZyB0byBjdXJ2ZSAnRSchCgBCYWQgY2hlY2s6ICdHJyBjYW5ub3QgYmUgUG9pbnQgYXQgSW5maW5pdHkhCgBjaGVja19zZWNyZXRfa2V5OiBFIGlzIG5vdCBhIGN1cnZlIG9mIG9yZGVyIG4KAEJhZCBjaGVjazogUSBjYW4gbm90IGJlIGEgUG9pbnQgYXQgSW5maW5pdHkhCgBCYWQgY2hlY2s6IGNvbXB1dGF0aW9uIG9mIGRHIGZhaWxlZAoAQmFkIGNoZWNrOiBUaGVyZSBpcyBOTyBjb3JyZXNwb25kZW5jZSBiZXR3ZWVuICdkJyBhbmQgJ1EnIQoAZWNjX3Rlc3RrZXkgICA9PiAlcwoAdHJhbnNpZW50LWtleQBlY2dlbiBjdXJ2ZSBpbmZvOiAlcy8lcwoAZWNnZW4gY3VydmUgdXNlZDogJXMKAGVjZ2VuIGN1cnZlICAgcABlY2dlbiBjdXJ2ZSAgIGEAZWNnZW4gY3VydmUgICBiAGVjZ2VuIGN1cnZlICAgbgBlY2dlbiBjdXJ2ZSAgIGgAZWNnZW4gY3VydmUgRwBlY2dlbjogRmFpbGVkIHRvIGdldCBhZmZpbmUgY29vcmRpbmF0ZXMgZm9yICVzCgBRAGVjZ2VuIGNvbnZlcnRlZCBRIHRvIGEgY29tcGxpYW50IHBvaW50CgBlY2dlbiBkaWRuJ3QgbmVlZCB0byBjb252ZXJ0IFEgdG8gYSBjb21wbGlhbnQgcG9pbnQKAFRlc3Rpbmcga2V5LgoARUNEU0Egb3BlcmF0aW9uOiBzaWduIGZhaWxlZAoARUNEU0Egb3BlcmF0aW9uOiBzaWduLCB2ZXJpZnkgZmFpbGVkCgBFQ0RTQSBvcGVyYXRpb246IHNpZ24sIHZlcmlmeSBvay4KAGVjZGg6IEZhaWxlZCB0byBnZXQgYWZmaW5lIGNvb3JkaW5hdGVzIGZvciBoa1EKAGVjZGg6IEZhaWxlZCB0byBnZXQgYWZmaW5lIGNvb3JkaW5hdGVzIGZvciBoZGtHCgBFQ0RIIHRlc3QgZmFpbGVkLgoARwAoY3VydmUgJXMpAChmbGFncyBlZGRzYSkAKGZsYWdzIHBhcmFtKQAoZmxhZ3MgcGFyYW0gZWRkc2EpAChrZXktZGF0YSAocHVibGljLWtleSAgKGVjYyVTJVMocCVtKShhJW0pKGIlbSkoZyVtKShuJW0pKGglbSkocSVtKSkpIChwcml2YXRlLWtleSAgKGVjYyVTJVMocCVtKShhJW0pKGIlbSkoZyVtKShuJW0pKGglbSkocSVtKShkJW0pKSkgKQAoa2V5LWRhdGEgKHB1YmxpYy1rZXkgIChlY2MlUyVTKHElbSkpKSAocHJpdmF0ZS1rZXkgIChlY2MlUyVTKHElbSkoZCVtKSkpICkAZWNnZW4gcmVzdWx0ICBwAGVjZ2VuIHJlc3VsdCAgYQBlY2dlbiByZXN1bHQgIGIAZWNnZW4gcmVzdWx0ICBHAGVjZ2VuIHJlc3VsdCAgbgBlY2dlbiByZXN1bHQgIGgAZWNnZW4gcmVzdWx0ICBRAGVjZ2VuIHJlc3VsdCAgZABlY2dlbiByZXN1bHQgIHVzaW5nIEVkMjU1MTkrRWREU0EKAGVjYwBlY2RzYQBlY2RoAGVkZHNhAGdvc3QAZGlnZXN0IG1pc21hdGNoAGludmFsaWQgREFUQU1PREUAZGlnZXN0IHNpemUgZG9lcyBub3QgbWF0Y2ggZXhwZWN0ZWQgc2l6ZQBnY3J5X21kX29wZW4gZmFpbGVkAGhhc2gtY29tbW9uLmMAX2djcnlfbWRfYmxvY2tfd3JpdGUAUG9seTEzMDUgdGVzdCA0IGZhaWxlZC4AUG9seTEzMDUgdGVzdCAxIGZhaWxlZC4AUG9seTEzMDUgdGVzdCAyIGZhaWxlZC4AUG9seTEzMDUgdGVzdCAzIGZhaWxlZC4AUG9seTEzMDUgc2VsZnRlc3QgZmFpbGVkICglcykKAGZhaWxlZCB0byBhY3F1aXJlIHRoZSBwb29sIGxvY2s6ICVzCgBubyBlbnRyb3B5IGdhdGhlcmluZyBtb2R1bGUgZGV0ZWN0ZWQKAGZhaWxlZCB0byByZWxlYXNlIHRoZSBwb29sIGxvY2s6ICVzCgAgKGh3cm5nIGZhaWxlZCkAcmFuZG9tIHVzYWdlOiBwb29sc2l6ZT0lZCBtaXhlZD0lbHUgcG9sbHM9JWx1LyVsdSBhZGRlZD0lbHUvJWx1CiAgICAgICAgICAgICAgb3V0bWl4PSVsdSBnZXRsdmwxPSVsdS8lbHUgZ2V0bHZsMj0lbHUvJWx1JXMKAHBvb2xfaXNfbG9ja2VkAHJhbmRvbS1jc3BybmcuYwBtaXhfcG9vbAByZWFkX3Bvb2wAYWRkX3JhbmRvbW5lc3MAdG9vIG1hbnkgcmFuZG9tIGJpdHMgcmVxdWVzdGVkCgBjYW4ndCBvcGVuIGAlcyc6ICVzCgBjYW4ndCBzdGF0IGAlcyc6ICVzCgBgJXMnIGlzIG5vdCBhIHJlZ3VsYXIgZmlsZSAtIGlnbm9yZWQKAG5vdGU6IHJhbmRvbV9zZWVkIGZpbGUgaXMgZW1wdHkKAHdhcm5pbmc6IGludmFsaWQgc2l6ZSBvZiByYW5kb21fc2VlZCBmaWxlIC0gbm90IHVzZWQKAGNhbid0IHJlYWQgYCVzJzogJXMKAFNsb3cgZW50cm9weSBnYXRoZXJpbmcgbW9kdWxlIG5vdCB5ZXQgaW5pdGlhbGl6ZWQKAE5vIHdheSB0byBnYXRoZXIgZW50cm9weSBmb3IgdGhlIFJORwoAZG9fZmFzdF9yYW5kb21fcG9sbABjYW4ndCBsb2NrIGAlcyc6ICVzCgB3YWl0aW5nIGZvciBsb2NrIG9uIGAlcycuLi4KAF9nY3J5X3JuZ2NzcHJuZ19zZXRfc2VlZF9maWxlAG5vdGU6IHJhbmRvbV9zZWVkIGZpbGUgbm90IHVwZGF0ZWQKAGNhbid0IGNyZWF0ZSBgJXMnOiAlcwoAY2FuJ3Qgd3JpdGUgYCVzJzogJXMKAGNhbid0IGNsb3NlIGAlcyc6ICVzCgBmYWlsZWQgdG8gYWNxdWlyZSB0aGUgUk5HIGxvY2s6ICVzCgAhbm9uY2VfY29udGV4dC0+dGVzdF9kdF9wdHIAcmFuZG9tLWZpcHMuYwBfZ2NyeV9ybmdmaXBzX2luaXRpYWxpemUAIXN0ZF9ybmdfY29udGV4dC0+dGVzdF9kdF9wdHIAIXN0cm9uZ19ybmdfY29udGV4dC0+dGVzdF9kdF9wdHIAbWVtb3J5IGNvcnJ1cHRpb24gZGV0ZWN0ZWQgaW4gUk5HIGNvbnRleHQgJXAKAGZhaWxlZCB0byByZWxlYXNlIHRoZSBSTkcgbG9jazogJXMKAHJuZ19jdHgAZm9yayB3aXRob3V0IHByb3BlciByZS1pbml0aWFsaXphdGlvbiBkZXRlY3RlZCBpbiBSTkcAc2V2ZXJlIGVycm9yIGdldHRpbmcgcmFuZG9tCgBmaXBzX3JuZ19pc19sb2NrZWQAeDkzMV9hZXNfZHJpdmVyAHJuZ19jdHgtPmNpcGhlcl9oZABybmdfY3R4LT5pc19zZWVkZWQAdGVtcHZhbHVlX2Zvcl94OTMxX2Flc19kcml2ZXIAeDkzMV9nZXRfZHQAZ2V0dGltZW9mZGF5KCkgZmFpbGVkOiAlcwoAQUVTIGVuY3J5cHRpb24gaW4gUk5HIGZhaWxlZDogJXMKAGR1cGxpY2F0ZSAxMjggYml0IGJsb2NrIHJldHVybmVkIGJ5IFJORwB4OTMxX3Jlc2VlZAAhZW50cm9weV9jb2xsZWN0X2J1ZmZlcgBnZXRfZW50cm9weQBlcnJvciBnZXR0aW5nIGVudHJvcHkgZGF0YQoAZW50cm9weV9jb2xsZWN0X2NiAGVudHJvcHlfY29sbGVjdF9idWZmZXIAeDkzMV9nZW5lcmF0ZV9rZXkAZXJyb3IgY3JlYXRpbmcgY2lwaGVyIGNvbnRleHQgZm9yIFJORzogJXMKAGVycm9yIGNyZWF0aW5nIGtleSBmb3IgUk5HOiAlcwoAc2VsZnRlc3Rfa2F0AFg5LjMxIFJORyBjb3JlIGZ1bmN0aW9uIGZhaWxlZABSTkcgb3V0cHV0IGRvZXMgbm90IG1hdGNoIGtub3duIHZhbHVlAGVycm9yIGNyZWF0aW5nIGNpcGhlciBjb250ZXh0IGZvciBSTkcAZXJyb3Igc2V0dGluZyBrZXkgZm9yIFJORwBmb3JrIGRldGVjdGlvbiBmYWlsZWQAcmFuZG9tAEtBVABmYWlsZWQgdG8gYWNxdWlyZSB0aGUgU3lzdGVtIFJORyBsb2NrOiAlcwoAZmFpbGVkIHRvIHJlbGVhc2UgdGhlIFN5c3RlbSBSTkcgbG9jazogJXMKAGJ1ZmZlcgByYW5kb20tc3lzdGVtLmMAZ2V0X3JhbmRvbQBlcnJvciByZWFkaW5nIHJhbmRvbSBmcm9tIHN5c3RlbSBSTkcgKHJjPSVkKQoAc3lzdGVtX3JuZ19pc19sb2NrZWQAcmVhZF9jYgByZWFkX2NiX2J1ZmZlcgAvZGV2L3JhbmRvbQAvZGV2L3VyYW5kb20AbmVlZF9lbnRyb3B5AGJvZ3VzIHJlYWQgZnJvbSByYW5kb20gZGV2aWNlIChuPSVkKQoAc2VsZWN0KCkgZXJyb3I6ICVzCgByZWFkIGVycm9yIG9uIHJhbmRvbSBkZXZpY2U6ICVzCgBvcGVuX2Rldl9yYW5kb20Ad2FpdF9kZXZfcmFuZG9tAGNhbid0IG9wZW4gJXM6ICVzCgBlcnJvciBzZXR0aW5nIEZEX0NMT0VYRUMgb24gZmQgJWQ6ICVzCgBjaG9vc2luZyBhIHJhbmRvbSBrIG9mICV1IGJpdHMgYXQgc2VjbGV2ZWwgJWQKAAlrIHRvbyBsYXJnZSAtIGFnYWluCgAJayBpcyB6ZXJvIC0gYWdhaW4KAAEAZWNkc2Egc2lnbiBoYXNoICAAZWNkc2Egc2lnbiByZXN1bHQgciAAZWNkc2Egc2lnbiByZXN1bHQgcyAAZ29zdCBzaWduIGhhc2ggIABlY2Mgc2lnbjogRmFpbGVkIHRvIGdldCBhZmZpbmUgY29vcmRpbmF0ZXMKAGdvc3Qgc2lnbiByZXN1bHQgciAAZ29zdCBzaWduIHJlc3VsdCBzIABlY2MgdmVyaWZ5OiBSZWplY3RlZAoAZWNjIHZlcmlmeTogRmFpbGVkIHRvIGdldCBhZmZpbmUgY29vcmRpbmF0ZXMKACAgICAgeAAgICAgIHIAICAgICBzAGVjYyB2ZXJpZnk6IE5vdCB2ZXJpZmllZAoAZWNjIHZlcmlmeTogQWNjZXB0ZWQKACEibG9jayBBQkkgdmVyc2lvbiIAcG9zaXgtbG9jay5jAGdldF9sb2NrX29iamVjdABzdHJlYW0tPmZsYWdzLndyaXRpbmcAZXN0cmVhbS5jAGVzX2ZsdXNoAGFtb3VudC5jAFRBTEVSX2Ftb3VudF9jbXAAVEFMRVJfYW1vdW50X3N1YnRyYWN0AFRBTEVSX2Ftb3VudF9hZGQAMS42LjEAbGliZ2NyeXB0IHZlcnNpb24gbWlzbWF0Y2gKAEZhdGFsIGVycm9yIGluIGxpYmdjcnlwdDogJXMKAGNyeXB0by5jAEFzc2VydGlvbiBmYWlsZWQgYXQgJXM6JWQuIEFib3J0aW5nLgoAdGFsZXItY29pbi1kZXJpdmF0aW9uAFRBTEVSX3NldHVwX2ZyZXNoX2NvaW4AAAECBAcDBgUALSsgICAwWDB4AChudWxsKQAtMFgrMFggMFgtMHgrMHggMHgAaW5mAElORgBuYW4ATkFOAC4AcndhAC9wcm9jL3NlbGYvZmQv";
+
+
+
+
+
+/* no memory initializer */
+var tempDoublePtr = STATICTOP; STATICTOP += 16;
+
+assert(tempDoublePtr % 8 == 0);
+
+function copyTempFloat(ptr) { // functions, because inlining this code increases code size too much
+
+ HEAP8[tempDoublePtr] = HEAP8[ptr];
+
+ HEAP8[tempDoublePtr+1] = HEAP8[ptr+1];
+
+ HEAP8[tempDoublePtr+2] = HEAP8[ptr+2];
+
+ HEAP8[tempDoublePtr+3] = HEAP8[ptr+3];
+
+}
+
+function copyTempDouble(ptr) {
+
+ HEAP8[tempDoublePtr] = HEAP8[ptr];
+
+ HEAP8[tempDoublePtr+1] = HEAP8[ptr+1];
+
+ HEAP8[tempDoublePtr+2] = HEAP8[ptr+2];
+
+ HEAP8[tempDoublePtr+3] = HEAP8[ptr+3];
+
+ HEAP8[tempDoublePtr+4] = HEAP8[ptr+4];
+
+ HEAP8[tempDoublePtr+5] = HEAP8[ptr+5];
+
+ HEAP8[tempDoublePtr+6] = HEAP8[ptr+6];
+
+ HEAP8[tempDoublePtr+7] = HEAP8[ptr+7];
+
+}
+
+// {{PRE_LIBRARY}}
+
+
+ function ___assert_fail(condition, filename, line, func) {
+ abort('Assertion failed: ' + Pointer_stringify(condition) + ', at: ' + [filename ? Pointer_stringify(filename) : 'unknown filename', line, func ? Pointer_stringify(func) : 'unknown function']);
+ }
+
+
+ var ENV={};function ___buildEnvironment(environ) {
+ // WARNING: Arbitrary limit!
+ var MAX_ENV_VALUES = 64;
+ var TOTAL_ENV_SIZE = 1024;
+
+ // Statically allocate memory for the environment.
+ var poolPtr;
+ var envPtr;
+ if (!___buildEnvironment.called) {
+ ___buildEnvironment.called = true;
+ // Set default values. Use string keys for Closure Compiler compatibility.
+ ENV['USER'] = ENV['LOGNAME'] = 'web_user';
+ ENV['PATH'] = '/';
+ ENV['PWD'] = '/';
+ ENV['HOME'] = '/home/web_user';
+ ENV['LANG'] = 'C.UTF-8';
+ ENV['_'] = Module['thisProgram'];
+ // Allocate memory.
+ poolPtr = getMemory(TOTAL_ENV_SIZE);
+ envPtr = getMemory(MAX_ENV_VALUES * 4);
+ HEAP32[((envPtr)>>2)]=poolPtr;
+ HEAP32[((environ)>>2)]=envPtr;
+ } else {
+ envPtr = HEAP32[((environ)>>2)];
+ poolPtr = HEAP32[((envPtr)>>2)];
+ }
+
+ // Collect key=value lines.
+ var strings = [];
+ var totalSize = 0;
+ for (var key in ENV) {
+ if (typeof ENV[key] === 'string') {
+ var line = key + '=' + ENV[key];
+ strings.push(line);
+ totalSize += line.length;
+ }
+ }
+ if (totalSize > TOTAL_ENV_SIZE) {
+ throw new Error('Environment size exceeded TOTAL_ENV_SIZE!');
+ }
+
+ // Make new.
+ var ptrSize = 4;
+ for (var i = 0; i < strings.length; i++) {
+ var line = strings[i];
+ writeAsciiToMemory(line, poolPtr);
+ HEAP32[(((envPtr)+(i * ptrSize))>>2)]=poolPtr;
+ poolPtr += line.length + 1;
+ }
+ HEAP32[(((envPtr)+(strings.length * ptrSize))>>2)]=0;
+ }
+
+
+
+
+
+
+
+
+
+ function ___lock() {}
+
+
+
+
+
+
+
+ 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};
+
+ 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"};
+
+ function ___setErrNo(value) {
+ if (Module['___errno_location']) HEAP32[((Module['___errno_location']())>>2)]=value;
+ else err('failed to set errno from JS');
+ return value;
+ }
+
+ var PATH={splitPath:function(filename) {
+ var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;
+ return splitPathRe.exec(filename).slice(1);
+ },normalizeArray:function(parts, allowAboveRoot) {
+ // if the path tries to go above the root, `up` ends up > 0
+ var up = 0;
+ for (var i = parts.length - 1; i >= 0; i--) {
+ var last = parts[i];
+ if (last === '.') {
+ parts.splice(i, 1);
+ } else if (last === '..') {
+ parts.splice(i, 1);
+ up++;
+ } else if (up) {
+ parts.splice(i, 1);
+ up--;
+ }
+ }
+ // if the path is allowed to go above the root, restore leading ..s
+ if (allowAboveRoot) {
+ for (; up; up--) {
+ parts.unshift('..');
+ }
+ }
+ return parts;
+ },normalize:function(path) {
+ var isAbsolute = path.charAt(0) === '/',
+ trailingSlash = path.substr(-1) === '/';
+ // Normalize the path
+ path = PATH.normalizeArray(path.split('/').filter(function(p) {
+ return !!p;
+ }), !isAbsolute).join('/');
+ if (!path && !isAbsolute) {
+ path = '.';
+ }
+ if (path && trailingSlash) {
+ path += '/';
+ }
+ return (isAbsolute ? '/' : '') + path;
+ },dirname:function(path) {
+ var result = PATH.splitPath(path),
+ root = result[0],
+ dir = result[1];
+ if (!root && !dir) {
+ // No dirname whatsoever
+ return '.';
+ }
+ if (dir) {
+ // It has a dirname, strip trailing slash
+ dir = dir.substr(0, dir.length - 1);
+ }
+ return root + dir;
+ },basename:function(path) {
+ // EMSCRIPTEN return '/'' for '/', not an empty string
+ if (path === '/') return '/';
+ var lastSlash = path.lastIndexOf('/');
+ if (lastSlash === -1) return path;
+ return path.substr(lastSlash+1);
+ },extname:function(path) {
+ return PATH.splitPath(path)[3];
+ },join:function() {
+ var paths = Array.prototype.slice.call(arguments, 0);
+ return PATH.normalize(paths.join('/'));
+ },join2:function(l, r) {
+ return PATH.normalize(l + '/' + r);
+ },resolve:function() {
+ var resolvedPath = '',
+ resolvedAbsolute = false;
+ for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {
+ var path = (i >= 0) ? arguments[i] : FS.cwd();
+ // Skip empty and invalid entries
+ if (typeof path !== 'string') {
+ throw new TypeError('Arguments to path.resolve must be strings');
+ } else if (!path) {
+ return ''; // an invalid portion invalidates the whole thing
+ }
+ resolvedPath = path + '/' + resolvedPath;
+ resolvedAbsolute = path.charAt(0) === '/';
+ }
+ // At this point the path should be resolved to a full absolute path, but
+ // handle relative paths to be safe (might happen when process.cwd() fails)
+ resolvedPath = PATH.normalizeArray(resolvedPath.split('/').filter(function(p) {
+ return !!p;
+ }), !resolvedAbsolute).join('/');
+ return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.';
+ },relative:function(from, to) {
+ from = PATH.resolve(from).substr(1);
+ to = PATH.resolve(to).substr(1);
+ function trim(arr) {
+ var start = 0;
+ for (; start < arr.length; start++) {
+ if (arr[start] !== '') break;
+ }
+ var end = arr.length - 1;
+ for (; end >= 0; end--) {
+ if (arr[end] !== '') break;
+ }
+ if (start > end) return [];
+ return arr.slice(start, end - start + 1);
+ }
+ var fromParts = trim(from.split('/'));
+ var toParts = trim(to.split('/'));
+ var length = Math.min(fromParts.length, toParts.length);
+ var samePartsLength = length;
+ for (var i = 0; i < length; i++) {
+ if (fromParts[i] !== toParts[i]) {
+ samePartsLength = i;
+ break;
+ }
+ }
+ var outputParts = [];
+ for (var i = samePartsLength; i < fromParts.length; i++) {
+ outputParts.push('..');
+ }
+ outputParts = outputParts.concat(toParts.slice(samePartsLength));
+ return outputParts.join('/');
+ }};
+
+ var TTY={ttys:[],init:function () {
+ // https://github.com/kripken/emscripten/pull/1555
+ // if (ENVIRONMENT_IS_NODE) {
+ // // currently, FS.init does not distinguish if process.stdin is a file or TTY
+ // // device, it always assumes it's a TTY device. because of this, we're forcing
+ // // process.stdin to UTF8 encoding to at least make stdin reading compatible
+ // // with text files until FS.init can be refactored.
+ // process['stdin']['setEncoding']('utf8');
+ // }
+ },shutdown:function() {
+ // https://github.com/kripken/emscripten/pull/1555
+ // if (ENVIRONMENT_IS_NODE) {
+ // // inolen: any idea as to why node -e 'process.stdin.read()' wouldn't exit immediately (with process.stdin being a tty)?
+ // // isaacs: because now it's reading from the stream, you've expressed interest in it, so that read() kicks off a _read() which creates a ReadReq operation
+ // // inolen: I thought read() in that case was a synchronous operation that just grabbed some amount of buffered data if it exists?
+ // // isaacs: it is. but it also triggers a _read() call, which calls readStart() on the handle
+ // // isaacs: do process.stdin.pause() and i'd think it'd probably close the pending call
+ // process['stdin']['pause']();
+ // }
+ },register:function(dev, ops) {
+ TTY.ttys[dev] = { input: [], output: [], ops: ops };
+ FS.registerDevice(dev, TTY.stream_ops);
+ },stream_ops:{open:function(stream) {
+ var tty = TTY.ttys[stream.node.rdev];
+ if (!tty) {
+ throw new FS.ErrnoError(ERRNO_CODES.ENODEV);
+ }
+ stream.tty = tty;
+ stream.seekable = false;
+ },close:function(stream) {
+ // flush any pending line data
+ stream.tty.ops.flush(stream.tty);
+ },flush:function(stream) {
+ stream.tty.ops.flush(stream.tty);
+ },read:function(stream, buffer, offset, length, pos /* ignored */) {
+ if (!stream.tty || !stream.tty.ops.get_char) {
+ throw new FS.ErrnoError(ERRNO_CODES.ENXIO);
+ }
+ var bytesRead = 0;
+ for (var i = 0; i < length; i++) {
+ var result;
+ try {
+ result = stream.tty.ops.get_char(stream.tty);
+ } catch (e) {
+ throw new FS.ErrnoError(ERRNO_CODES.EIO);
+ }
+ if (result === undefined && bytesRead === 0) {
+ throw new FS.ErrnoError(ERRNO_CODES.EAGAIN);
+ }
+ if (result === null || result === undefined) break;
+ bytesRead++;
+ buffer[offset+i] = result;
+ }
+ if (bytesRead) {
+ stream.node.timestamp = Date.now();
+ }
+ return bytesRead;
+ },write:function(stream, buffer, offset, length, pos) {
+ if (!stream.tty || !stream.tty.ops.put_char) {
+ throw new FS.ErrnoError(ERRNO_CODES.ENXIO);
+ }
+ for (var i = 0; i < length; i++) {
+ try {
+ stream.tty.ops.put_char(stream.tty, buffer[offset+i]);
+ } catch (e) {
+ throw new FS.ErrnoError(ERRNO_CODES.EIO);
+ }
+ }
+ if (length) {
+ stream.node.timestamp = Date.now();
+ }
+ return i;
+ }},default_tty_ops:{get_char:function(tty) {
+ if (!tty.input.length) {
+ var result = null;
+ if (ENVIRONMENT_IS_NODE) {
+ // we will read data by chunks of BUFSIZE
+ var BUFSIZE = 256;
+ var buf = new Buffer(BUFSIZE);
+ var bytesRead = 0;
+
+ var isPosixPlatform = (process.platform != 'win32'); // Node doesn't offer a direct check, so test by exclusion
+
+ var fd = process.stdin.fd;
+ if (isPosixPlatform) {
+ // Linux and Mac cannot use process.stdin.fd (which isn't set up as sync)
+ var usingDevice = false;
+ try {
+ fd = fs.openSync('/dev/stdin', 'r');
+ usingDevice = true;
+ } catch (e) {}
+ }
+
+ try {
+ bytesRead = fs.readSync(fd, buf, 0, BUFSIZE, null);
+ } catch(e) {
+ // Cross-platform differences: on Windows, reading EOF throws an exception, but on other OSes,
+ // reading EOF returns 0. Uniformize behavior by treating the EOF exception to return 0.
+ if (e.toString().indexOf('EOF') != -1) bytesRead = 0;
+ else throw e;
+ }
+
+ if (usingDevice) { fs.closeSync(fd); }
+ if (bytesRead > 0) {
+ result = buf.slice(0, bytesRead).toString('utf-8');
+ } else {
+ result = null;
+ }
+
+ } else if (typeof window != 'undefined' &&
+ typeof window.prompt == 'function') {
+ // Browser.
+ result = window.prompt('Input: '); // returns null on cancel
+ if (result !== null) {
+ result += '\n';
+ }
+ } else if (typeof readline == 'function') {
+ // Command line.
+ result = readline();
+ if (result !== null) {
+ result += '\n';
+ }
+ }
+ if (!result) {
+ return null;
+ }
+ tty.input = intArrayFromString(result, true);
+ }
+ return tty.input.shift();
+ },put_char:function(tty, val) {
+ if (val === null || val === 10) {
+ out(UTF8ArrayToString(tty.output, 0));
+ tty.output = [];
+ } else {
+ if (val != 0) tty.output.push(val); // val == 0 would cut text output off in the middle.
+ }
+ },flush:function(tty) {
+ if (tty.output && tty.output.length > 0) {
+ out(UTF8ArrayToString(tty.output, 0));
+ tty.output = [];
+ }
+ }},default_tty1_ops:{put_char:function(tty, val) {
+ if (val === null || val === 10) {
+ err(UTF8ArrayToString(tty.output, 0));
+ tty.output = [];
+ } else {
+ if (val != 0) tty.output.push(val);
+ }
+ },flush:function(tty) {
+ if (tty.output && tty.output.length > 0) {
+ err(UTF8ArrayToString(tty.output, 0));
+ tty.output = [];
+ }
+ }}};
+
+ var MEMFS={ops_table:null,mount:function(mount) {
+ return MEMFS.createNode(null, '/', 16384 | 511 /* 0777 */, 0);
+ },createNode:function(parent, name, mode, dev) {
+ if (FS.isBlkdev(mode) || FS.isFIFO(mode)) {
+ // no supported
+ throw new FS.ErrnoError(ERRNO_CODES.EPERM);
+ }
+ if (!MEMFS.ops_table) {
+ MEMFS.ops_table = {
+ dir: {
+ node: {
+ getattr: MEMFS.node_ops.getattr,
+ setattr: MEMFS.node_ops.setattr,
+ lookup: MEMFS.node_ops.lookup,
+ mknod: MEMFS.node_ops.mknod,
+ rename: MEMFS.node_ops.rename,
+ unlink: MEMFS.node_ops.unlink,
+ rmdir: MEMFS.node_ops.rmdir,
+ readdir: MEMFS.node_ops.readdir,
+ symlink: MEMFS.node_ops.symlink
+ },
+ stream: {
+ llseek: MEMFS.stream_ops.llseek
+ }
+ },
+ file: {
+ node: {
+ getattr: MEMFS.node_ops.getattr,
+ setattr: MEMFS.node_ops.setattr
+ },
+ stream: {
+ llseek: MEMFS.stream_ops.llseek,
+ read: MEMFS.stream_ops.read,
+ write: MEMFS.stream_ops.write,
+ allocate: MEMFS.stream_ops.allocate,
+ mmap: MEMFS.stream_ops.mmap,
+ msync: MEMFS.stream_ops.msync
+ }
+ },
+ link: {
+ node: {
+ getattr: MEMFS.node_ops.getattr,
+ setattr: MEMFS.node_ops.setattr,
+ readlink: MEMFS.node_ops.readlink
+ },
+ stream: {}
+ },
+ chrdev: {
+ node: {
+ getattr: MEMFS.node_ops.getattr,
+ setattr: MEMFS.node_ops.setattr
+ },
+ stream: FS.chrdev_stream_ops
+ }
+ };
+ }
+ var node = FS.createNode(parent, name, mode, dev);
+ if (FS.isDir(node.mode)) {
+ node.node_ops = MEMFS.ops_table.dir.node;
+ node.stream_ops = MEMFS.ops_table.dir.stream;
+ node.contents = {};
+ } else if (FS.isFile(node.mode)) {
+ node.node_ops = MEMFS.ops_table.file.node;
+ node.stream_ops = MEMFS.ops_table.file.stream;
+ node.usedBytes = 0; // The actual number of bytes used in the typed array, as opposed to contents.length which gives the whole capacity.
+ // When the byte data of the file is populated, this will point to either a typed array, or a normal JS array. Typed arrays are preferred
+ // for performance, and used by default. However, typed arrays are not resizable like normal JS arrays are, so there is a small disk size
+ // penalty involved for appending file writes that continuously grow a file similar to std::vector capacity vs used -scheme.
+ node.contents = null;
+ } else if (FS.isLink(node.mode)) {
+ node.node_ops = MEMFS.ops_table.link.node;
+ node.stream_ops = MEMFS.ops_table.link.stream;
+ } else if (FS.isChrdev(node.mode)) {
+ node.node_ops = MEMFS.ops_table.chrdev.node;
+ node.stream_ops = MEMFS.ops_table.chrdev.stream;
+ }
+ node.timestamp = Date.now();
+ // add the new node to the parent
+ if (parent) {
+ parent.contents[name] = node;
+ }
+ return node;
+ },getFileDataAsRegularArray:function(node) {
+ if (node.contents && node.contents.subarray) {
+ var arr = [];
+ for (var i = 0; i < node.usedBytes; ++i) arr.push(node.contents[i]);
+ return arr; // Returns a copy of the original data.
+ }
+ return node.contents; // No-op, the file contents are already in a JS array. Return as-is.
+ },getFileDataAsTypedArray:function(node) {
+ if (!node.contents) return new Uint8Array;
+ if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes); // Make sure to not return excess unused bytes.
+ return new Uint8Array(node.contents);
+ },expandFileStorage:function(node, newCapacity) {
+ // If we are asked to expand the size of a file that already exists, revert to using a standard JS array to store the file
+ // instead of a typed array. This makes resizing the array more flexible because we can just .push() elements at the back to
+ // increase the size.
+ if (node.contents && node.contents.subarray && newCapacity > node.contents.length) {
+ node.contents = MEMFS.getFileDataAsRegularArray(node);
+ node.usedBytes = node.contents.length; // We might be writing to a lazy-loaded file which had overridden this property, so force-reset it.
+ }
+
+ if (!node.contents || node.contents.subarray) { // Keep using a typed array if creating a new storage, or if old one was a typed array as well.
+ var prevCapacity = node.contents ? node.contents.length : 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) {
+ assert(position === 0, 'canOwn must imply no weird position inside the file');
+ node.contents = buffer.subarray(offset, offset + length);
+ node.usedBytes = length;
+ return length;
+ } else if (node.usedBytes === 0 && position === 0) { // If this is a simple first write to an empty file, do a fast set since we don't need to care about old data.
+ node.contents = new Uint8Array(buffer.subarray(offset, offset + length));
+ node.usedBytes = length;
+ return length;
+ } else if (position + length <= node.usedBytes) { // Writing to an already allocated and used subrange of the file?
+ node.contents.set(buffer.subarray(offset, offset + length), position);
+ return length;
+ }
+ }
+
+ // Appending to an existing file and we need to reallocate, or source data did not come as a typed array.
+ MEMFS.expandFileStorage(node, position+length);
+ if (node.contents.subarray && buffer.subarray) node.contents.set(buffer.subarray(offset, offset + length), position); // Use typed array write if available.
+ else {
+ for (var i = 0; i < length; i++) {
+ node.contents[position + i] = buffer[offset + i]; // Or fall back to manual write if not.
+ }
+ }
+ node.usedBytes = Math.max(node.usedBytes, position+length);
+ return length;
+ },llseek:function(stream, offset, whence) {
+ var position = offset;
+ if (whence === 1) { // SEEK_CUR.
+ position += stream.position;
+ } else if (whence === 2) { // SEEK_END.
+ if (FS.isFile(stream.node.mode)) {
+ position += stream.node.usedBytes;
+ }
+ }
+ if (position < 0) {
+ throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
+ }
+ return position;
+ },allocate:function(stream, offset, length) {
+ MEMFS.expandFileStorage(stream.node, offset + length);
+ stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length);
+ },mmap:function(stream, buffer, offset, length, position, prot, flags) {
+ if (!FS.isFile(stream.node.mode)) {
+ throw new FS.ErrnoError(ERRNO_CODES.ENODEV);
+ }
+ var ptr;
+ var allocated;
+ var contents = stream.node.contents;
+ // Only make a new copy when MAP_PRIVATE is specified.
+ if ( !(flags & 2) &&
+ (contents.buffer === buffer || contents.buffer === buffer.buffer) ) {
+ // We can't emulate MAP_SHARED when the file is not backed by the buffer
+ // we're mapping to (e.g. the HEAP buffer).
+ allocated = false;
+ ptr = contents.byteOffset;
+ } else {
+ // Try to avoid unnecessary slices.
+ if (position > 0 || position + length < stream.node.usedBytes) {
+ if (contents.subarray) {
+ contents = contents.subarray(position, position + length);
+ } else {
+ contents = Array.prototype.slice.call(contents, position, position + length);
+ }
+ }
+ allocated = true;
+ ptr = _malloc(length);
+ if (!ptr) {
+ throw new FS.ErrnoError(ERRNO_CODES.ENOMEM);
+ }
+ buffer.set(contents, ptr);
+ }
+ return { ptr: ptr, allocated: allocated };
+ },msync:function(stream, buffer, offset, length, mmapFlags) {
+ if (!FS.isFile(stream.node.mode)) {
+ throw new FS.ErrnoError(ERRNO_CODES.ENODEV);
+ }
+ if (mmapFlags & 2) {
+ // MAP_PRIVATE calls need not to be synced back to underlying fs
+ return 0;
+ }
+
+ var bytesWritten = MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false);
+ // should we check if bytesWritten and length are the same?
+ return 0;
+ }}};
+
+ var IDBFS={dbs:{},indexedDB:function() {
+ if (typeof indexedDB !== 'undefined') return indexedDB;
+ var ret = null;
+ if (typeof window === 'object') ret = window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB;
+ assert(ret, 'IDBFS used, but indexedDB not supported');
+ return ret;
+ },DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:function(mount) {
+ // reuse all of the core MEMFS functionality
+ return MEMFS.mount.apply(null, arguments);
+ },syncfs:function(mount, populate, callback) {
+ IDBFS.getLocalSet(mount, function(err, local) {
+ if (err) return callback(err);
+
+ IDBFS.getRemoteSet(mount, function(err, remote) {
+ if (err) return callback(err);
+
+ var src = populate ? remote : local;
+ var dst = populate ? local : remote;
+
+ IDBFS.reconcile(src, dst, callback);
+ });
+ });
+ },getDB:function(name, callback) {
+ // check the cache first
+ var db = IDBFS.dbs[name];
+ if (db) {
+ return callback(null, db);
+ }
+
+ var req;
+ try {
+ req = IDBFS.indexedDB().open(name, IDBFS.DB_VERSION);
+ } catch (e) {
+ return callback(e);
+ }
+ if (!req) {
+ return callback("Unable to connect to IndexedDB");
+ }
+ req.onupgradeneeded = function(e) {
+ var db = e.target.result;
+ var transaction = e.target.transaction;
+
+ var fileStore;
+
+ if (db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)) {
+ fileStore = transaction.objectStore(IDBFS.DB_STORE_NAME);
+ } else {
+ fileStore = db.createObjectStore(IDBFS.DB_STORE_NAME);
+ }
+
+ if (!fileStore.indexNames.contains('timestamp')) {
+ fileStore.createIndex('timestamp', 'timestamp', { unique: false });
+ }
+ };
+ req.onsuccess = function() {
+ db = req.result;
+
+ // add to the cache
+ IDBFS.dbs[name] = db;
+ callback(null, db);
+ };
+ req.onerror = function(e) {
+ callback(this.error);
+ e.preventDefault();
+ };
+ },getLocalSet:function(mount, callback) {
+ var entries = {};
+
+ function isRealDir(p) {
+ return p !== '.' && p !== '..';
+ };
+ function toAbsolute(root) {
+ return function(p) {
+ return PATH.join2(root, p);
+ }
+ };
+
+ var check = FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));
+
+ while (check.length) {
+ var path = check.pop();
+ var stat;
+
+ try {
+ stat = FS.stat(path);
+ } catch (e) {
+ return callback(e);
+ }
+
+ if (FS.isDir(stat.mode)) {
+ check.push.apply(check, FS.readdir(path).filter(isRealDir).map(toAbsolute(path)));
+ }
+
+ entries[path] = { timestamp: stat.mtime };
+ }
+
+ return callback(null, { type: 'local', entries: entries });
+ },getRemoteSet:function(mount, callback) {
+ var entries = {};
+
+ IDBFS.getDB(mount.mountpoint, function(err, db) {
+ if (err) return callback(err);
+
+ try {
+ var transaction = db.transaction([IDBFS.DB_STORE_NAME], 'readonly');
+ transaction.onerror = function(e) {
+ callback(this.error);
+ e.preventDefault();
+ };
+
+ var store = transaction.objectStore(IDBFS.DB_STORE_NAME);
+ var index = store.index('timestamp');
+
+ index.openKeyCursor().onsuccess = function(event) {
+ var cursor = event.target.result;
+
+ if (!cursor) {
+ return callback(null, { type: 'remote', db: db, entries: entries });
+ }
+
+ entries[cursor.primaryKey] = { timestamp: cursor.key };
+
+ cursor.continue();
+ };
+ } catch (e) {
+ return callback(e);
+ }
+ });
+ },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, { canOwn: true });
+ } else {
+ return callback(new Error('node type not supported'));
+ }
+
+ FS.chmod(path, entry.mode);
+ FS.utime(path, entry.timestamp, entry.timestamp);
+ } catch (e) {
+ return callback(e);
+ }
+
+ callback(null);
+ },removeLocalEntry:function(path, callback) {
+ try {
+ var lookup = FS.lookupPath(path);
+ var stat = FS.stat(path);
+
+ if (FS.isDir(stat.mode)) {
+ FS.rmdir(path);
+ } else if (FS.isFile(stat.mode)) {
+ FS.unlink(path);
+ }
+ } catch (e) {
+ return callback(e);
+ }
+
+ callback(null);
+ },loadRemoteEntry:function(store, path, callback) {
+ var req = store.get(path);
+ req.onsuccess = function(event) { callback(null, event.target.result); };
+ req.onerror = function(e) {
+ callback(this.error);
+ e.preventDefault();
+ };
+ },storeRemoteEntry:function(store, path, entry, callback) {
+ var req = store.put(entry, path);
+ req.onsuccess = function() { callback(null); };
+ req.onerror = function(e) {
+ callback(this.error);
+ e.preventDefault();
+ };
+ },removeRemoteEntry:function(store, path, callback) {
+ var req = store.delete(path);
+ req.onsuccess = function() { callback(null); };
+ req.onerror = function(e) {
+ callback(this.error);
+ e.preventDefault();
+ };
+ },reconcile:function(src, dst, callback) {
+ var total = 0;
+
+ var create = [];
+ Object.keys(src.entries).forEach(function (key) {
+ var e = src.entries[key];
+ var e2 = dst.entries[key];
+ if (!e2 || e.timestamp > e2.timestamp) {
+ create.push(key);
+ total++;
+ }
+ });
+
+ var remove = [];
+ Object.keys(dst.entries).forEach(function (key) {
+ var e = dst.entries[key];
+ var e2 = src.entries[key];
+ if (!e2) {
+ remove.push(key);
+ total++;
+ }
+ });
+
+ if (!total) {
+ return callback(null);
+ }
+
+ var errored = false;
+ var completed = 0;
+ var db = src.type === 'remote' ? src.db : dst.db;
+ var transaction = db.transaction([IDBFS.DB_STORE_NAME], 'readwrite');
+ var store = transaction.objectStore(IDBFS.DB_STORE_NAME);
+
+ function done(err) {
+ if (err) {
+ if (!done.errored) {
+ done.errored = true;
+ return callback(err);
+ }
+ return;
+ }
+ if (++completed >= total) {
+ return callback(null);
+ }
+ };
+
+ transaction.onerror = function(e) {
+ done(this.error);
+ e.preventDefault();
+ };
+
+ // sort paths in ascending order so directory entries are created
+ // before the files inside them
+ create.sort().forEach(function (path) {
+ if (dst.type === 'local') {
+ IDBFS.loadRemoteEntry(store, path, function (err, entry) {
+ if (err) return done(err);
+ IDBFS.storeLocalEntry(path, entry, done);
+ });
+ } else {
+ IDBFS.loadLocalEntry(path, function (err, entry) {
+ if (err) return done(err);
+ IDBFS.storeRemoteEntry(store, path, entry, done);
+ });
+ }
+ });
+
+ // sort paths in descending order so files are deleted before their
+ // parent directories
+ remove.sort().reverse().forEach(function(path) {
+ if (dst.type === 'local') {
+ IDBFS.removeLocalEntry(path, done);
+ } else {
+ IDBFS.removeRemoteEntry(store, path, done);
+ }
+ });
+ }};
+
+ var NODEFS={isWindows:false,staticInit:function() {
+ NODEFS.isWindows = !!process.platform.match(/^win/);
+ var flags = process["binding"]("constants");
+ // Node.js 4 compatibility: it has no namespaces for constants
+ if (flags["fs"]) {
+ flags = flags["fs"];
+ }
+ NODEFS.flagsForNodeMap = {
+ "1024": flags["O_APPEND"],
+ "64": flags["O_CREAT"],
+ "128": flags["O_EXCL"],
+ "0": flags["O_RDONLY"],
+ "2": flags["O_RDWR"],
+ "4096": flags["O_SYNC"],
+ "512": flags["O_TRUNC"],
+ "1": flags["O_WRONLY"]
+ };
+ },bufferFrom:function (arrayBuffer) {
+ // Node.js < 4.5 compatibility: Buffer.from does not support ArrayBuffer
+ // Buffer.from before 4.5 was just a method inherited from Uint8Array
+ // Buffer.alloc has been added with Buffer.from together, so check it instead
+ return Buffer.alloc ? Buffer.from(arrayBuffer) : new Buffer(arrayBuffer);
+ },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) {
+ // Node.js on Windows never represents permission bit 'x', so
+ // propagate read bits to execute bits
+ stat.mode = stat.mode | ((stat.mode & 292) >> 2);
+ }
+ } 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);
+ },flagsForNode:function(flags) {
+ flags &= ~0x200000 /*O_PATH*/; // Ignore this flag from musl, otherwise node.js fails to open the file.
+ flags &= ~0x800 /*O_NONBLOCK*/; // Ignore this flag from musl, otherwise node.js fails to open the file.
+ flags &= ~0x8000 /*O_LARGEFILE*/; // Ignore this flag from musl, otherwise node.js fails to open the file.
+ flags &= ~0x80000 /*O_CLOEXEC*/; // Some applications may pass it; it makes no sense for a single process.
+ var newFlags = 0;
+ for (var k in NODEFS.flagsForNodeMap) {
+ if (flags & k) {
+ newFlags |= NODEFS.flagsForNodeMap[k];
+ flags ^= k;
+ }
+ }
+
+ if (!flags) {
+ return newFlags;
+ } else {
+ throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
+ }
+ },node_ops:{getattr:function(node) {
+ var path = NODEFS.realPath(node);
+ var stat;
+ try {
+ stat = fs.lstatSync(path);
+ } catch (e) {
+ if (!e.code) throw e;
+ throw new FS.ErrnoError(ERRNO_CODES[e.code]);
+ }
+ // node.js v0.10.20 doesn't report blksize and blocks on Windows. Fake them with default blksize of 4096.
+ // See http://support.microsoft.com/kb/140365
+ if (NODEFS.isWindows && !stat.blksize) {
+ stat.blksize = 4096;
+ }
+ if (NODEFS.isWindows && !stat.blocks) {
+ stat.blocks = (stat.size+stat.blksize-1)/stat.blksize|0;
+ }
+ return {
+ dev: stat.dev,
+ ino: stat.ino,
+ mode: stat.mode,
+ nlink: stat.nlink,
+ uid: stat.uid,
+ gid: stat.gid,
+ rdev: stat.rdev,
+ size: stat.size,
+ atime: stat.atime,
+ mtime: stat.mtime,
+ ctime: stat.ctime,
+ blksize: stat.blksize,
+ blocks: stat.blocks
+ };
+ },setattr:function(node, attr) {
+ var path = NODEFS.realPath(node);
+ try {
+ if (attr.mode !== undefined) {
+ fs.chmodSync(path, attr.mode);
+ // update the common node structure mode as well
+ node.mode = attr.mode;
+ }
+ if (attr.timestamp !== undefined) {
+ var date = new Date(attr.timestamp);
+ fs.utimesSync(path, date, date);
+ }
+ if (attr.size !== undefined) {
+ fs.truncateSync(path, attr.size);
+ }
+ } catch (e) {
+ if (!e.code) throw e;
+ throw new FS.ErrnoError(ERRNO_CODES[e.code]);
+ }
+ },lookup:function (parent, name) {
+ var path = PATH.join2(NODEFS.realPath(parent), name);
+ var mode = NODEFS.getMode(path);
+ return NODEFS.createNode(parent, name, mode);
+ },mknod:function (parent, name, mode, dev) {
+ var node = NODEFS.createNode(parent, name, mode, dev);
+ // create the backing node for this in the fs root as well
+ var path = NODEFS.realPath(node);
+ try {
+ if (FS.isDir(node.mode)) {
+ fs.mkdirSync(path, node.mode);
+ } else {
+ fs.writeFileSync(path, '', { mode: node.mode });
+ }
+ } catch (e) {
+ if (!e.code) throw e;
+ throw new FS.ErrnoError(ERRNO_CODES[e.code]);
+ }
+ return node;
+ },rename:function (oldNode, newDir, newName) {
+ var oldPath = NODEFS.realPath(oldNode);
+ var newPath = PATH.join2(NODEFS.realPath(newDir), newName);
+ try {
+ fs.renameSync(oldPath, newPath);
+ } catch (e) {
+ if (!e.code) throw e;
+ throw new FS.ErrnoError(ERRNO_CODES[e.code]);
+ }
+ },unlink:function(parent, name) {
+ var path = PATH.join2(NODEFS.realPath(parent), name);
+ try {
+ fs.unlinkSync(path);
+ } catch (e) {
+ if (!e.code) throw e;
+ throw new FS.ErrnoError(ERRNO_CODES[e.code]);
+ }
+ },rmdir:function(parent, name) {
+ var path = PATH.join2(NODEFS.realPath(parent), name);
+ try {
+ fs.rmdirSync(path);
+ } catch (e) {
+ if (!e.code) throw e;
+ throw new FS.ErrnoError(ERRNO_CODES[e.code]);
+ }
+ },readdir:function(node) {
+ var path = NODEFS.realPath(node);
+ try {
+ return fs.readdirSync(path);
+ } catch (e) {
+ if (!e.code) throw e;
+ throw new FS.ErrnoError(ERRNO_CODES[e.code]);
+ }
+ },symlink:function(parent, newName, oldPath) {
+ var newPath = PATH.join2(NODEFS.realPath(parent), newName);
+ try {
+ fs.symlinkSync(oldPath, newPath);
+ } catch (e) {
+ if (!e.code) throw e;
+ throw new FS.ErrnoError(ERRNO_CODES[e.code]);
+ }
+ },readlink:function(node) {
+ var path = NODEFS.realPath(node);
+ try {
+ path = fs.readlinkSync(path);
+ path = NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root), path);
+ return path;
+ } catch (e) {
+ if (!e.code) throw e;
+ throw new FS.ErrnoError(ERRNO_CODES[e.code]);
+ }
+ }},stream_ops:{open:function (stream) {
+ var path = NODEFS.realPath(stream.node);
+ try {
+ if (FS.isFile(stream.node.mode)) {
+ stream.nfd = fs.openSync(path, NODEFS.flagsForNode(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) {
+ // Node.js < 6 compatibility: node errors on 0 length reads
+ if (length === 0) return 0;
+ try {
+ return fs.readSync(stream.nfd, NODEFS.bufferFrom(buffer.buffer), offset, length, position);
+ } catch (e) {
+ throw new FS.ErrnoError(ERRNO_CODES[e.code]);
+ }
+ },write:function (stream, buffer, offset, length, position) {
+ try {
+ return fs.writeSync(stream.nfd, NODEFS.bufferFrom(buffer.buffer), offset, length, position);
+ } catch (e) {
+ throw new FS.ErrnoError(ERRNO_CODES[e.code]);
+ }
+ },llseek:function (stream, offset, whence) {
+ var position = offset;
+ if (whence === 1) { // SEEK_CUR.
+ position += stream.position;
+ } else if (whence === 2) { // SEEK_END.
+ if (FS.isFile(stream.node.mode)) {
+ try {
+ var stat = fs.fstatSync(stream.nfd);
+ position += stat.size;
+ } catch (e) {
+ throw new FS.ErrnoError(ERRNO_CODES[e.code]);
+ }
+ }
+ }
+
+ if (position < 0) {
+ throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
+ }
+
+ return position;
+ }}};
+
+ var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:function (mount) {
+ assert(ENVIRONMENT_IS_WORKER);
+ if (!WORKERFS.reader) WORKERFS.reader = new FileReaderSync();
+ var root = WORKERFS.createNode(null, '/', WORKERFS.DIR_MODE, 0);
+ var createdParents = {};
+ function ensureParent(path) {
+ // return the parent node, creating subdirs as necessary
+ var parts = path.split('/');
+ var parent = root;
+ for (var i = 0; i < parts.length-1; i++) {
+ var curr = parts.slice(0, i+1).join('/');
+ // Issue 4254: Using curr as a node name will prevent the node
+ // from being found in FS.nameTable when FS.open is called on
+ // a path which holds a child of this node,
+ // given that all FS functions assume node names
+ // are just their corresponding parts within their given path,
+ // rather than incremental aggregates which include their parent's
+ // directories.
+ if (!createdParents[curr]) {
+ createdParents[curr] = WORKERFS.createNode(parent, parts[i], WORKERFS.DIR_MODE, 0);
+ }
+ parent = createdParents[curr];
+ }
+ return parent;
+ }
+ function base(path) {
+ var parts = path.split('/');
+ return parts[parts.length-1];
+ }
+ // We also accept FileList here, by using Array.prototype
+ Array.prototype.forEach.call(mount.opts["files"] || [], function(file) {
+ WORKERFS.createNode(ensureParent(file.name), base(file.name), WORKERFS.FILE_MODE, 0, file, file.lastModifiedDate);
+ });
+ (mount.opts["blobs"] || []).forEach(function(obj) {
+ WORKERFS.createNode(ensureParent(obj["name"]), base(obj["name"]), WORKERFS.FILE_MODE, 0, obj["data"]);
+ });
+ (mount.opts["packages"] || []).forEach(function(pack) {
+ pack['metadata'].files.forEach(function(file) {
+ var name = file.filename.substr(1); // remove initial slash
+ WORKERFS.createNode(ensureParent(name), base(name), WORKERFS.FILE_MODE, 0, pack['blob'].slice(file.start, file.end));
+ });
+ });
+ return root;
+ },createNode:function (parent, name, mode, dev, contents, mtime) {
+ var node = FS.createNode(parent, name, mode);
+ node.mode = mode;
+ node.node_ops = WORKERFS.node_ops;
+ node.stream_ops = WORKERFS.stream_ops;
+ node.timestamp = (mtime || new Date).getTime();
+ assert(WORKERFS.FILE_MODE !== WORKERFS.DIR_MODE);
+ if (mode === WORKERFS.FILE_MODE) {
+ node.size = contents.size;
+ node.contents = contents;
+ } else {
+ node.size = 4096;
+ node.contents = {};
+ }
+ if (parent) {
+ parent.contents[name] = node;
+ }
+ return node;
+ },node_ops:{getattr:function(node) {
+ return {
+ dev: 1,
+ ino: undefined,
+ mode: node.mode,
+ nlink: 1,
+ uid: 0,
+ gid: 0,
+ rdev: undefined,
+ size: node.size,
+ atime: new Date(node.timestamp),
+ mtime: new Date(node.timestamp),
+ ctime: new Date(node.timestamp),
+ blksize: 4096,
+ blocks: Math.ceil(node.size / 4096),
+ };
+ },setattr:function(node, attr) {
+ if (attr.mode !== undefined) {
+ node.mode = attr.mode;
+ }
+ if (attr.timestamp !== undefined) {
+ node.timestamp = attr.timestamp;
+ }
+ },lookup:function(parent, name) {
+ throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
+ },mknod:function (parent, name, mode, dev) {
+ throw new FS.ErrnoError(ERRNO_CODES.EPERM);
+ },rename:function (oldNode, newDir, newName) {
+ throw new FS.ErrnoError(ERRNO_CODES.EPERM);
+ },unlink:function(parent, name) {
+ throw new FS.ErrnoError(ERRNO_CODES.EPERM);
+ },rmdir:function(parent, name) {
+ throw new FS.ErrnoError(ERRNO_CODES.EPERM);
+ },readdir:function(node) {
+ var entries = ['.', '..'];
+ for (var key in node.contents) {
+ if (!node.contents.hasOwnProperty(key)) {
+ continue;
+ }
+ entries.push(key);
+ }
+ return entries;
+ },symlink:function(parent, newName, oldPath) {
+ throw new FS.ErrnoError(ERRNO_CODES.EPERM);
+ },readlink:function(node) {
+ throw new FS.ErrnoError(ERRNO_CODES.EPERM);
+ }},stream_ops:{read:function (stream, buffer, offset, length, position) {
+ if (position >= stream.node.size) return 0;
+ var chunk = stream.node.contents.slice(position, position + length);
+ var ab = WORKERFS.reader.readAsArrayBuffer(chunk);
+ buffer.set(new Uint8Array(ab), offset);
+ return chunk.size;
+ },write:function (stream, buffer, offset, length, position) {
+ throw new FS.ErrnoError(ERRNO_CODES.EIO);
+ },llseek:function (stream, offset, whence) {
+ var position = offset;
+ if (whence === 1) { // SEEK_CUR.
+ position += stream.position;
+ } else if (whence === 2) { // SEEK_END.
+ if (FS.isFile(stream.node.mode)) {
+ position += stream.node.size;
+ }
+ }
+ if (position < 0) {
+ throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
+ }
+ return position;
+ }}};
+
+ var _stdin=STATICTOP; STATICTOP += 16;;
+
+ var _stdout=STATICTOP; STATICTOP += 16;;
+
+ var _stderr=STATICTOP; STATICTOP += 16;;var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function(e) {
+ if (!(e instanceof FS.ErrnoError)) throw e + ' : ' + stackTrace();
+ return ___setErrNo(e.errno);
+ },lookupPath:function(path, opts) {
+ path = PATH.resolve(FS.cwd(), path);
+ opts = opts || {};
+
+ if (!path) return { path: '', node: null };
+
+ var defaults = {
+ follow_mount: true,
+ recurse_count: 0
+ };
+ for (var key in defaults) {
+ if (opts[key] === undefined) {
+ opts[key] = defaults[key];
+ }
+ }
+
+ if (opts.recurse_count > 8) { // max recursive lookup of 8
+ throw new FS.ErrnoError(ERRNO_CODES.ELOOP);
+ }
+
+ // split the path
+ var parts = PATH.normalizeArray(path.split('/').filter(function(p) {
+ return !!p;
+ }), false);
+
+ // start at the root
+ var current = FS.root;
+ var current_path = '/';
+
+ for (var i = 0; i < parts.length; i++) {
+ var islast = (i === parts.length-1);
+ if (islast && opts.parent) {
+ // stop resolving
+ break;
+ }
+
+ current = FS.lookupNode(current, parts[i]);
+ current_path = PATH.join2(current_path, parts[i]);
+
+ // jump to the mount's root node if this is a mountpoint
+ if (FS.isMountpoint(current)) {
+ if (!islast || (islast && opts.follow_mount)) {
+ current = current.mounted.root;
+ }
+ }
+
+ // by default, lookupPath will not follow a symlink if it is the final path component.
+ // setting opts.follow = true will override this behavior.
+ if (!islast || opts.follow) {
+ var count = 0;
+ while (FS.isLink(current.mode)) {
+ var link = FS.readlink(current_path);
+ current_path = PATH.resolve(PATH.dirname(current_path), link);
+
+ var lookup = FS.lookupPath(current_path, { recurse_count: opts.recurse_count });
+ current = lookup.node;
+
+ if (count++ > 40) { // limit max consecutive symlinks to 40 (SYMLOOP_MAX).
+ throw new FS.ErrnoError(ERRNO_CODES.ELOOP);
+ }
+ }
+ }
+ }
+
+ return { path: current_path, node: current };
+ },getPath:function(node) {
+ var path;
+ while (true) {
+ if (FS.isRoot(node)) {
+ var mount = node.mount.mountpoint;
+ if (!path) return mount;
+ return mount[mount.length-1] !== '/' ? mount + '/' + path : mount + path;
+ }
+ path = path ? node.name + '/' + path : node.name;
+ node = node.parent;
+ }
+ },hashName:function(parentid, name) {
+ var hash = 0;
+
+
+ for (var i = 0; i < name.length; i++) {
+ hash = ((hash << 5) - hash + name.charCodeAt(i)) | 0;
+ }
+ return ((parentid + hash) >>> 0) % FS.nameTable.length;
+ },hashAddNode:function(node) {
+ var hash = FS.hashName(node.parent.id, node.name);
+ node.name_next = FS.nameTable[hash];
+ FS.nameTable[hash] = node;
+ },hashRemoveNode:function(node) {
+ var hash = FS.hashName(node.parent.id, node.name);
+ if (FS.nameTable[hash] === node) {
+ FS.nameTable[hash] = node.name_next;
+ } else {
+ var current = FS.nameTable[hash];
+ while (current) {
+ if (current.name_next === node) {
+ current.name_next = node.name_next;
+ break;
+ }
+ current = current.name_next;
+ }
+ }
+ },lookupNode:function(parent, name) {
+ var err = FS.mayLookup(parent);
+ if (err) {
+ throw new FS.ErrnoError(err, parent);
+ }
+ var hash = FS.hashName(parent.id, name);
+ for (var node = FS.nameTable[hash]; node; node = node.name_next) {
+ var nodeName = node.name;
+ if (node.parent.id === parent.id && nodeName === name) {
+ return node;
+ }
+ }
+ // if we failed to find it in the cache, call into the VFS
+ return FS.lookup(parent, name);
+ },createNode:function(parent, name, mode, rdev) {
+ if (!FS.FSNode) {
+ FS.FSNode = function(parent, name, mode, rdev) {
+ if (!parent) {
+ parent = this; // root node sets parent to itself
+ }
+ this.parent = parent;
+ this.mount = parent.mount;
+ this.mounted = null;
+ this.id = FS.nextInode++;
+ this.name = name;
+ this.mode = mode;
+ this.node_ops = {};
+ this.stream_ops = {};
+ this.rdev = rdev;
+ };
+
+ FS.FSNode.prototype = {};
+
+ // compatibility
+ var readMode = 292 | 73;
+ var writeMode = 146;
+
+ // NOTE we must use Object.defineProperties instead of individual calls to
+ // Object.defineProperty in order to make closure compiler happy
+ Object.defineProperties(FS.FSNode.prototype, {
+ read: {
+ get: function() { return (this.mode & readMode) === readMode; },
+ set: function(val) { val ? this.mode |= readMode : this.mode &= ~readMode; }
+ },
+ write: {
+ get: function() { return (this.mode & writeMode) === writeMode; },
+ set: function(val) { val ? this.mode |= writeMode : this.mode &= ~writeMode; }
+ },
+ isFolder: {
+ get: function() { return FS.isDir(this.mode); }
+ },
+ isDevice: {
+ get: function() { return FS.isChrdev(this.mode); }
+ }
+ });
+ }
+
+ var node = new FS.FSNode(parent, name, mode, rdev);
+
+ FS.hashAddNode(node);
+
+ return node;
+ },destroyNode:function(node) {
+ FS.hashRemoveNode(node);
+ },isRoot:function(node) {
+ return node === node.parent;
+ },isMountpoint:function(node) {
+ return !!node.mounted;
+ },isFile:function(mode) {
+ return (mode & 61440) === 32768;
+ },isDir:function(mode) {
+ return (mode & 61440) === 16384;
+ },isLink:function(mode) {
+ return (mode & 61440) === 40960;
+ },isChrdev:function(mode) {
+ return (mode & 61440) === 8192;
+ },isBlkdev:function(mode) {
+ return (mode & 61440) === 24576;
+ },isFIFO:function(mode) {
+ return (mode & 61440) === 4096;
+ },isSocket:function(mode) {
+ return (mode & 49152) === 49152;
+ },flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(str) {
+ var flags = FS.flagModes[str];
+ if (typeof flags === 'undefined') {
+ throw new Error('Unknown file open mode: ' + str);
+ }
+ return flags;
+ },flagsToPermissionString:function(flag) {
+ var perms = ['r', 'w', 'rw'][flag & 3];
+ if ((flag & 512)) {
+ perms += 'w';
+ }
+ return perms;
+ },nodePermissions:function(node, perms) {
+ if (FS.ignorePermissions) {
+ return 0;
+ }
+ // return 0 if any user, group or owner bits are set.
+ if (perms.indexOf('r') !== -1 && !(node.mode & 292)) {
+ return ERRNO_CODES.EACCES;
+ } else if (perms.indexOf('w') !== -1 && !(node.mode & 146)) {
+ return ERRNO_CODES.EACCES;
+ } else if (perms.indexOf('x') !== -1 && !(node.mode & 73)) {
+ return ERRNO_CODES.EACCES;
+ }
+ return 0;
+ },mayLookup:function(dir) {
+ var err = FS.nodePermissions(dir, 'x');
+ if (err) return err;
+ if (!dir.node_ops.lookup) return ERRNO_CODES.EACCES;
+ return 0;
+ },mayCreate:function(dir, name) {
+ try {
+ var node = FS.lookupNode(dir, name);
+ return ERRNO_CODES.EEXIST;
+ } catch (e) {
+ }
+ return FS.nodePermissions(dir, 'wx');
+ },mayDelete:function(dir, name, isdir) {
+ var node;
+ try {
+ node = FS.lookupNode(dir, name);
+ } catch (e) {
+ return e.errno;
+ }
+ var err = FS.nodePermissions(dir, 'wx');
+ if (err) {
+ return err;
+ }
+ if (isdir) {
+ if (!FS.isDir(node.mode)) {
+ return ERRNO_CODES.ENOTDIR;
+ }
+ if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) {
+ return ERRNO_CODES.EBUSY;
+ }
+ } else {
+ if (FS.isDir(node.mode)) {
+ return ERRNO_CODES.EISDIR;
+ }
+ }
+ return 0;
+ },mayOpen:function(node, flags) {
+ if (!node) {
+ return ERRNO_CODES.ENOENT;
+ }
+ if (FS.isLink(node.mode)) {
+ return ERRNO_CODES.ELOOP;
+ } else if (FS.isDir(node.mode)) {
+ if (FS.flagsToPermissionString(flags) !== 'r' || // opening for write
+ (flags & 512)) { // TODO: check for O_SEARCH? (== search for dir only)
+ return ERRNO_CODES.EISDIR;
+ }
+ }
+ return FS.nodePermissions(node, FS.flagsToPermissionString(flags));
+ },MAX_OPEN_FDS:4096,nextfd:function(fd_start, fd_end) {
+ fd_start = fd_start || 0;
+ fd_end = fd_end || FS.MAX_OPEN_FDS;
+ for (var fd = fd_start; fd <= fd_end; fd++) {
+ if (!FS.streams[fd]) {
+ return fd;
+ }
+ }
+ throw new FS.ErrnoError(ERRNO_CODES.EMFILE);
+ },getStream:function(fd) {
+ return FS.streams[fd];
+ },createStream:function(stream, fd_start, fd_end) {
+ if (!FS.FSStream) {
+ FS.FSStream = function(){};
+ FS.FSStream.prototype = {};
+ // compatibility
+ Object.defineProperties(FS.FSStream.prototype, {
+ object: {
+ get: function() { return this.node; },
+ set: function(val) { this.node = val; }
+ },
+ isRead: {
+ get: function() { return (this.flags & 2097155) !== 1; }
+ },
+ isWrite: {
+ get: function() { return (this.flags & 2097155) !== 0; }
+ },
+ isAppend: {
+ get: function() { return (this.flags & 1024); }
+ }
+ });
+ }
+ // clone it, so we can return an instance of FSStream
+ var newStream = new FS.FSStream();
+ for (var p in stream) {
+ newStream[p] = stream[p];
+ }
+ stream = newStream;
+ var fd = FS.nextfd(fd_start, fd_end);
+ stream.fd = fd;
+ FS.streams[fd] = stream;
+ return stream;
+ },closeStream:function(fd) {
+ FS.streams[fd] = null;
+ },chrdev_stream_ops:{open:function(stream) {
+ var device = FS.getDevice(stream.node.rdev);
+ // override node's stream ops with the device's
+ stream.stream_ops = device.stream_ops;
+ // forward the open call
+ if (stream.stream_ops.open) {
+ stream.stream_ops.open(stream);
+ }
+ },llseek:function() {
+ throw new FS.ErrnoError(ERRNO_CODES.ESPIPE);
+ }},major:function(dev) {
+ return ((dev) >> 8);
+ },minor:function(dev) {
+ return ((dev) & 0xff);
+ },makedev:function(ma, mi) {
+ return ((ma) << 8 | (mi));
+ },registerDevice:function(dev, ops) {
+ FS.devices[dev] = { stream_ops: ops };
+ },getDevice:function(dev) {
+ return FS.devices[dev];
+ },getMounts:function(mount) {
+ var mounts = [];
+ var check = [mount];
+
+ while (check.length) {
+ var m = check.pop();
+
+ mounts.push(m);
+
+ check.push.apply(check, m.mounts);
+ }
+
+ return mounts;
+ },syncfs:function(populate, callback) {
+ if (typeof(populate) === 'function') {
+ callback = populate;
+ populate = false;
+ }
+
+ FS.syncFSRequests++;
+
+ if (FS.syncFSRequests > 1) {
+ console.log('warning: ' + FS.syncFSRequests + ' FS.syncfs operations in flight at once, probably just doing extra work');
+ }
+
+ var mounts = FS.getMounts(FS.root.mount);
+ var completed = 0;
+
+ function doCallback(err) {
+ assert(FS.syncFSRequests > 0);
+ FS.syncFSRequests--;
+ return callback(err);
+ }
+
+ function done(err) {
+ if (err) {
+ if (!done.errored) {
+ done.errored = true;
+ return doCallback(err);
+ }
+ return;
+ }
+ if (++completed >= mounts.length) {
+ doCallback(null);
+ }
+ };
+
+ // sync all mounts
+ mounts.forEach(function (mount) {
+ if (!mount.type.syncfs) {
+ return done(null);
+ }
+ mount.type.syncfs(mount, populate, done);
+ });
+ },mount:function(type, opts, mountpoint) {
+ var root = mountpoint === '/';
+ var pseudo = !mountpoint;
+ var node;
+
+ if (root && FS.root) {
+ throw new FS.ErrnoError(ERRNO_CODES.EBUSY);
+ } else if (!root && !pseudo) {
+ var lookup = FS.lookupPath(mountpoint, { follow_mount: false });
+
+ mountpoint = lookup.path; // use the absolute path
+ node = lookup.node;
+
+ if (FS.isMountpoint(node)) {
+ throw new FS.ErrnoError(ERRNO_CODES.EBUSY);
+ }
+
+ if (!FS.isDir(node.mode)) {
+ throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR);
+ }
+ }
+
+ var mount = {
+ type: type,
+ opts: opts,
+ mountpoint: mountpoint,
+ mounts: []
+ };
+
+ // create a root node for the fs
+ var mountRoot = type.mount(mount);
+ mountRoot.mount = mount;
+ mount.root = mountRoot;
+
+ if (root) {
+ FS.root = mountRoot;
+ } else if (node) {
+ // set as a mountpoint
+ node.mounted = mount;
+
+ // add the new mount to the current mount's children
+ if (node.mount) {
+ node.mount.mounts.push(mount);
+ }
+ }
+
+ return mountRoot;
+ },unmount:function (mountpoint) {
+ var lookup = FS.lookupPath(mountpoint, { follow_mount: false });
+
+ if (!FS.isMountpoint(lookup.node)) {
+ throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
+ }
+
+ // destroy the nodes for this mount, and all its child mounts
+ var node = lookup.node;
+ var mount = node.mounted;
+ var mounts = FS.getMounts(mount);
+
+ Object.keys(FS.nameTable).forEach(function (hash) {
+ var current = FS.nameTable[hash];
+
+ while (current) {
+ var next = current.name_next;
+
+ if (mounts.indexOf(current.mount) !== -1) {
+ FS.destroyNode(current);
+ }
+
+ current = next;
+ }
+ });
+
+ // no longer a mountpoint
+ node.mounted = null;
+
+ // remove this mount from the child mounts
+ var idx = node.mount.mounts.indexOf(mount);
+ assert(idx !== -1);
+ node.mount.mounts.splice(idx, 1);
+ },lookup:function(parent, name) {
+ return parent.node_ops.lookup(parent, name);
+ },mknod:function(path, mode, dev) {
+ var lookup = FS.lookupPath(path, { parent: true });
+ var parent = lookup.node;
+ var name = PATH.basename(path);
+ if (!name || name === '.' || name === '..') {
+ throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
+ }
+ var err = FS.mayCreate(parent, name);
+ if (err) {
+ throw new FS.ErrnoError(err);
+ }
+ if (!parent.node_ops.mknod) {
+ throw new FS.ErrnoError(ERRNO_CODES.EPERM);
+ }
+ return parent.node_ops.mknod(parent, name, mode, dev);
+ },create:function(path, mode) {
+ mode = mode !== undefined ? mode : 438 /* 0666 */;
+ mode &= 4095;
+ mode |= 32768;
+ return FS.mknod(path, mode, 0);
+ },mkdir:function(path, mode) {
+ mode = mode !== undefined ? mode : 511 /* 0777 */;
+ mode &= 511 | 512;
+ mode |= 16384;
+ return FS.mknod(path, mode, 0);
+ },mkdirTree:function(path, mode) {
+ var dirs = path.split('/');
+ var d = '';
+ for (var i = 0; i < dirs.length; ++i) {
+ if (!dirs[i]) continue;
+ d += '/' + dirs[i];
+ try {
+ FS.mkdir(d, mode);
+ } catch(e) {
+ if (e.errno != ERRNO_CODES.EEXIST) throw e;
+ }
+ }
+ },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) {
+ // According to POSIX, we should map EISDIR to EPERM, but
+ // we instead do what Linux does (and we must, as we use
+ // the musl linux libc).
+ throw new FS.ErrnoError(err);
+ }
+ if (!parent.node_ops.unlink) {
+ throw new FS.ErrnoError(ERRNO_CODES.EPERM);
+ }
+ if (FS.isMountpoint(node)) {
+ throw new FS.ErrnoError(ERRNO_CODES.EBUSY);
+ }
+ try {
+ if (FS.trackingDelegate['willDeletePath']) {
+ FS.trackingDelegate['willDeletePath'](path);
+ }
+ } catch(e) {
+ console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: " + e.message);
+ }
+ parent.node_ops.unlink(parent, name);
+ FS.destroyNode(node);
+ try {
+ if (FS.trackingDelegate['onDeletePath']) FS.trackingDelegate['onDeletePath'](path);
+ } catch(e) {
+ console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: " + e.message);
+ }
+ },readlink:function(path) {
+ var lookup = FS.lookupPath(path);
+ var link = lookup.node;
+ if (!link) {
+ throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
+ }
+ if (!link.node_ops.readlink) {
+ throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
+ }
+ return PATH.resolve(FS.getPath(link.parent), link.node_ops.readlink(link));
+ },stat:function(path, dontFollow) {
+ var lookup = FS.lookupPath(path, { follow: !dontFollow });
+ var node = lookup.node;
+ if (!node) {
+ throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
+ }
+ if (!node.node_ops.getattr) {
+ throw new FS.ErrnoError(ERRNO_CODES.EPERM);
+ }
+ return node.node_ops.getattr(node);
+ },lstat:function(path) {
+ return FS.stat(path, true);
+ },chmod:function(path, mode, dontFollow) {
+ var node;
+ if (typeof path === 'string') {
+ var lookup = FS.lookupPath(path, { follow: !dontFollow });
+ node = lookup.node;
+ } else {
+ node = path;
+ }
+ if (!node.node_ops.setattr) {
+ throw new FS.ErrnoError(ERRNO_CODES.EPERM);
+ }
+ node.node_ops.setattr(node, {
+ mode: (mode & 4095) | (node.mode & ~4095),
+ timestamp: Date.now()
+ });
+ },lchmod:function(path, mode) {
+ FS.chmod(path, mode, true);
+ },fchmod:function(fd, mode) {
+ var stream = FS.getStream(fd);
+ if (!stream) {
+ throw new FS.ErrnoError(ERRNO_CODES.EBADF);
+ }
+ FS.chmod(stream.node, mode);
+ },chown:function(path, uid, gid, dontFollow) {
+ var node;
+ if (typeof path === 'string') {
+ var lookup = FS.lookupPath(path, { follow: !dontFollow });
+ node = lookup.node;
+ } else {
+ node = path;
+ }
+ if (!node.node_ops.setattr) {
+ throw new FS.ErrnoError(ERRNO_CODES.EPERM);
+ }
+ node.node_ops.setattr(node, {
+ timestamp: Date.now()
+ // we ignore the uid / gid for now
+ });
+ },lchown:function(path, uid, gid) {
+ FS.chown(path, uid, gid, true);
+ },fchown:function(fd, uid, gid) {
+ var stream = FS.getStream(fd);
+ if (!stream) {
+ throw new FS.ErrnoError(ERRNO_CODES.EBADF);
+ }
+ FS.chown(stream.node, uid, gid);
+ },truncate:function(path, len) {
+ if (len < 0) {
+ throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
+ }
+ var node;
+ if (typeof path === 'string') {
+ var lookup = FS.lookupPath(path, { follow: true });
+ node = lookup.node;
+ } else {
+ node = path;
+ }
+ if (!node.node_ops.setattr) {
+ throw new FS.ErrnoError(ERRNO_CODES.EPERM);
+ }
+ if (FS.isDir(node.mode)) {
+ throw new FS.ErrnoError(ERRNO_CODES.EISDIR);
+ }
+ if (!FS.isFile(node.mode)) {
+ throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
+ }
+ var err = FS.nodePermissions(node, 'w');
+ if (err) {
+ throw new FS.ErrnoError(err);
+ }
+ node.node_ops.setattr(node, {
+ size: len,
+ timestamp: Date.now()
+ });
+ },ftruncate:function(fd, len) {
+ var stream = FS.getStream(fd);
+ if (!stream) {
+ throw new FS.ErrnoError(ERRNO_CODES.EBADF);
+ }
+ if ((stream.flags & 2097155) === 0) {
+ throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
+ }
+ FS.truncate(stream.node, len);
+ },utime:function(path, atime, mtime) {
+ var lookup = FS.lookupPath(path, { follow: true });
+ var node = lookup.node;
+ node.node_ops.setattr(node, {
+ timestamp: Math.max(atime, mtime)
+ });
+ },open:function(path, flags, mode, fd_start, fd_end) {
+ if (path === "") {
+ throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
+ }
+ flags = typeof flags === 'string' ? FS.modeStringToFlags(flags) : flags;
+ mode = typeof mode === 'undefined' ? 438 /* 0666 */ : mode;
+ if ((flags & 64)) {
+ mode = (mode & 4095) | 32768;
+ } else {
+ mode = 0;
+ }
+ var node;
+ if (typeof path === 'object') {
+ node = path;
+ } else {
+ path = PATH.normalize(path);
+ try {
+ var lookup = FS.lookupPath(path, {
+ follow: !(flags & 131072)
+ });
+ node = lookup.node;
+ } catch (e) {
+ // ignore
+ }
+ }
+ // perhaps we need to create the node
+ var created = false;
+ if ((flags & 64)) {
+ if (node) {
+ // if O_CREAT and O_EXCL are set, error out if the node already exists
+ if ((flags & 128)) {
+ throw new FS.ErrnoError(ERRNO_CODES.EEXIST);
+ }
+ } else {
+ // node doesn't exist, try to create it
+ node = FS.mknod(path, mode, 0);
+ created = true;
+ }
+ }
+ if (!node) {
+ throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
+ }
+ // can't truncate a device
+ if (FS.isChrdev(node.mode)) {
+ flags &= ~512;
+ }
+ // if asked only for a directory, then this must be one
+ if ((flags & 65536) && !FS.isDir(node.mode)) {
+ throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR);
+ }
+ // check permissions, if this is not a file we just created now (it is ok to
+ // create and write to a file with read-only permissions; it is read-only
+ // for later use)
+ if (!created) {
+ var err = FS.mayOpen(node, flags);
+ if (err) {
+ throw new FS.ErrnoError(err);
+ }
+ }
+ // do truncation if necessary
+ if ((flags & 512)) {
+ FS.truncate(node, 0);
+ }
+ // we've already handled these, don't pass down to the underlying vfs
+ flags &= ~(128 | 512);
+
+ // register the stream with the filesystem
+ var stream = FS.createStream({
+ node: node,
+ path: FS.getPath(node), // we want the absolute path to the node
+ flags: flags,
+ seekable: true,
+ position: 0,
+ stream_ops: node.stream_ops,
+ // used by the file family libc calls (fopen, fwrite, ferror, etc.)
+ ungotten: [],
+ error: false
+ }, fd_start, fd_end);
+ // call the new stream's open function
+ if (stream.stream_ops.open) {
+ stream.stream_ops.open(stream);
+ }
+ if (Module['logReadFiles'] && !(flags & 1)) {
+ if (!FS.readFiles) FS.readFiles = {};
+ if (!(path in FS.readFiles)) {
+ FS.readFiles[path] = 1;
+ err('read file: ' + path);
+ }
+ }
+ try {
+ if (FS.trackingDelegate['onOpenFile']) {
+ var trackingFlags = 0;
+ if ((flags & 2097155) !== 1) {
+ trackingFlags |= FS.tracking.openFlags.READ;
+ }
+ if ((flags & 2097155) !== 0) {
+ trackingFlags |= FS.tracking.openFlags.WRITE;
+ }
+ FS.trackingDelegate['onOpenFile'](path, trackingFlags);
+ }
+ } catch(e) {
+ console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: " + e.message);
+ }
+ return stream;
+ },close:function(stream) {
+ if (FS.isClosed(stream)) {
+ throw new FS.ErrnoError(ERRNO_CODES.EBADF);
+ }
+ if (stream.getdents) stream.getdents = null; // free readdir state
+ try {
+ if (stream.stream_ops.close) {
+ stream.stream_ops.close(stream);
+ }
+ } catch (e) {
+ throw e;
+ } finally {
+ FS.closeStream(stream.fd);
+ }
+ stream.fd = null;
+ },isClosed:function(stream) {
+ return stream.fd === null;
+ },llseek:function(stream, offset, whence) {
+ if (FS.isClosed(stream)) {
+ throw new FS.ErrnoError(ERRNO_CODES.EBADF);
+ }
+ if (!stream.seekable || !stream.stream_ops.llseek) {
+ throw new FS.ErrnoError(ERRNO_CODES.ESPIPE);
+ }
+ stream.position = stream.stream_ops.llseek(stream, offset, whence);
+ stream.ungotten = [];
+ return stream.position;
+ },read:function(stream, buffer, offset, length, position) {
+ if (length < 0 || position < 0) {
+ throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
+ }
+ if (FS.isClosed(stream)) {
+ throw new FS.ErrnoError(ERRNO_CODES.EBADF);
+ }
+ 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 = typeof position !== 'undefined';
+ if (!seeking) {
+ position = stream.position;
+ } 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 (FS.isClosed(stream)) {
+ throw new FS.ErrnoError(ERRNO_CODES.EBADF);
+ }
+ 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 = typeof position !== 'undefined';
+ if (!seeking) {
+ position = stream.position;
+ } 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 (FS.isClosed(stream)) {
+ throw new FS.ErrnoError(ERRNO_CODES.EBADF);
+ }
+ 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(stream.node.mode)) {
+ throw new FS.ErrnoError(ERRNO_CODES.ENODEV);
+ }
+ if (!stream.stream_ops.allocate) {
+ throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP);
+ }
+ stream.stream_ops.allocate(stream, offset, length);
+ },mmap:function(stream, buffer, offset, length, position, prot, flags) {
+ // TODO if PROT is PROT_WRITE, make sure we have write access
+ if ((stream.flags & 2097155) === 1) {
+ throw new FS.ErrnoError(ERRNO_CODES.EACCES);
+ }
+ if (!stream.stream_ops.mmap) {
+ throw new FS.ErrnoError(ERRNO_CODES.ENODEV);
+ }
+ return stream.stream_ops.mmap(stream, buffer, offset, length, position, prot, flags);
+ },msync:function(stream, buffer, offset, length, mmapFlags) {
+ if (!stream || !stream.stream_ops.msync) {
+ return 0;
+ }
+ return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags);
+ },munmap:function(stream) {
+ return 0;
+ },ioctl:function(stream, cmd, arg) {
+ if (!stream.stream_ops.ioctl) {
+ throw new FS.ErrnoError(ERRNO_CODES.ENOTTY);
+ }
+ return stream.stream_ops.ioctl(stream, cmd, arg);
+ },readFile:function(path, opts) {
+ opts = opts || {};
+ opts.flags = opts.flags || 'r';
+ opts.encoding = opts.encoding || 'binary';
+ if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') {
+ throw new Error('Invalid encoding type "' + opts.encoding + '"');
+ }
+ var ret;
+ var stream = FS.open(path, opts.flags);
+ var stat = FS.stat(path);
+ var length = stat.size;
+ var buf = new Uint8Array(length);
+ FS.read(stream, buf, 0, length, 0);
+ if (opts.encoding === 'utf8') {
+ ret = UTF8ArrayToString(buf, 0);
+ } else if (opts.encoding === 'binary') {
+ ret = buf;
+ }
+ FS.close(stream);
+ return ret;
+ },writeFile:function(path, data, opts) {
+ opts = opts || {};
+ opts.flags = opts.flags || 'w';
+ var stream = FS.open(path, opts.flags, opts.mode);
+ if (typeof data === 'string') {
+ var buf = new Uint8Array(lengthBytesUTF8(data)+1);
+ var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length);
+ FS.write(stream, buf, 0, actualNumBytes, undefined, opts.canOwn);
+ } else if (ArrayBuffer.isView(data)) {
+ FS.write(stream, data, 0, data.byteLength, undefined, opts.canOwn);
+ } else {
+ throw new Error('Unsupported data type');
+ }
+ FS.close(stream);
+ },cwd:function() {
+ return FS.currentPath;
+ },chdir:function(path) {
+ var lookup = FS.lookupPath(path, { follow: true });
+ if (lookup.node === null) {
+ throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
+ }
+ if (!FS.isDir(lookup.node.mode)) {
+ throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR);
+ }
+ var err = FS.nodePermissions(lookup.node, 'x');
+ if (err) {
+ throw new FS.ErrnoError(err);
+ }
+ FS.currentPath = lookup.path;
+ },createDefaultDirectories:function() {
+ FS.mkdir('/tmp');
+ FS.mkdir('/home');
+ FS.mkdir('/home/web_user');
+ },createDefaultDevices:function() {
+ // create /dev
+ FS.mkdir('/dev');
+ // setup /dev/null
+ FS.registerDevice(FS.makedev(1, 3), {
+ read: function() { return 0; },
+ write: function(stream, buffer, offset, length, pos) { return length; }
+ });
+ FS.mkdev('/dev/null', FS.makedev(1, 3));
+ // setup /dev/tty and /dev/tty1
+ // stderr needs to print output using Module['printErr']
+ // so we register a second tty just for it.
+ TTY.register(FS.makedev(5, 0), TTY.default_tty_ops);
+ TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops);
+ FS.mkdev('/dev/tty', FS.makedev(5, 0));
+ FS.mkdev('/dev/tty1', FS.makedev(6, 0));
+ // setup /dev/[u]random
+ var random_device;
+ if (typeof crypto !== 'undefined') {
+ // for modern web browsers
+ var randomBuffer = new Uint8Array(1);
+ random_device = function() { crypto.getRandomValues(randomBuffer); return randomBuffer[0]; };
+ } else if (ENVIRONMENT_IS_NODE) {
+ // for nodejs
+ random_device = function() { return require('crypto')['randomBytes'](1)[0]; };
+ } else {
+ // default for ES5 platforms
+ random_device = function() { return (Math.random()*256)|0; };
+ }
+ FS.createDevice('/dev', 'random', random_device);
+ FS.createDevice('/dev', 'urandom', random_device);
+ // we're not going to emulate the actual shm device,
+ // just create the tmp dirs that reside in it commonly
+ FS.mkdir('/dev/shm');
+ FS.mkdir('/dev/shm/tmp');
+ },createSpecialDirectories:function() {
+ // create /proc/self/fd which allows /proc/self/fd/6 => readlink gives the name of the stream for fd 6 (see test_unistd_ttyname)
+ FS.mkdir('/proc');
+ FS.mkdir('/proc/self');
+ FS.mkdir('/proc/self/fd');
+ FS.mount({
+ mount: function() {
+ var node = FS.createNode('/proc/self', 'fd', 16384 | 511 /* 0777 */, 73);
+ node.node_ops = {
+ lookup: function(parent, name) {
+ var fd = +name;
+ var stream = FS.getStream(fd);
+ if (!stream) throw new FS.ErrnoError(ERRNO_CODES.EBADF);
+ var ret = {
+ parent: null,
+ mount: { mountpoint: 'fake' },
+ node_ops: { readlink: function() { return stream.path } }
+ };
+ ret.parent = ret; // make it look like a simple root node
+ return ret;
+ }
+ };
+ return node;
+ }
+ }, {}, '/proc/self/fd');
+ },createStandardStreams:function() {
+ // TODO deprecate the old functionality of a single
+ // input / output callback and that utilizes FS.createDevice
+ // and instead require a unique set of stream ops
+
+ // by default, we symlink the standard streams to the
+ // default tty devices. however, if the standard streams
+ // have been overwritten we create a unique device for
+ // them instead.
+ if (Module['stdin']) {
+ FS.createDevice('/dev', 'stdin', Module['stdin']);
+ } else {
+ FS.symlink('/dev/tty', '/dev/stdin');
+ }
+ if (Module['stdout']) {
+ FS.createDevice('/dev', 'stdout', null, Module['stdout']);
+ } else {
+ FS.symlink('/dev/tty', '/dev/stdout');
+ }
+ if (Module['stderr']) {
+ FS.createDevice('/dev', 'stderr', null, Module['stderr']);
+ } else {
+ FS.symlink('/dev/tty1', '/dev/stderr');
+ }
+
+ // open default streams for the stdin, stdout and stderr devices
+ var stdin = FS.open('/dev/stdin', 'r');
+ assert(stdin.fd === 0, 'invalid handle for stdin (' + stdin.fd + ')');
+
+ var stdout = FS.open('/dev/stdout', 'w');
+ assert(stdout.fd === 1, 'invalid handle for stdout (' + stdout.fd + ')');
+
+ var stderr = FS.open('/dev/stderr', 'w');
+ assert(stderr.fd === 2, 'invalid handle for stderr (' + stderr.fd + ')');
+ },ensureErrnoError:function() {
+ if (FS.ErrnoError) return;
+ FS.ErrnoError = function ErrnoError(errno, node) {
+ //err(stackTrace()); // useful for debugging
+ this.node = node;
+ this.setErrno = function(errno) {
+ this.errno = errno;
+ for (var key in ERRNO_CODES) {
+ if (ERRNO_CODES[key] === errno) {
+ this.code = key;
+ break;
+ }
+ }
+ };
+ this.setErrno(errno);
+ this.message = ERRNO_MESSAGES[errno];
+ // Node.js compatibility: assigning on this.stack fails on Node 4 (but fixed on Node 8)
+ if (this.stack) Object.defineProperty(this, "stack", { value: (new Error).stack, writable: true });
+ if (this.stack) this.stack = demangleAll(this.stack);
+ };
+ FS.ErrnoError.prototype = new Error();
+ FS.ErrnoError.prototype.constructor = FS.ErrnoError;
+ // Some errors may happen quite a bit, to avoid overhead we reuse them (and suffer a lack of stack info)
+ [ERRNO_CODES.ENOENT].forEach(function(code) {
+ FS.genericErrors[code] = new FS.ErrnoError(code);
+ FS.genericErrors[code].stack = '<generic error, no stack>';
+ });
+ },staticInit:function() {
+ FS.ensureErrnoError();
+
+ FS.nameTable = new Array(4096);
+
+ FS.mount(MEMFS, {}, '/');
+
+ FS.createDefaultDirectories();
+ FS.createDefaultDevices();
+ FS.createSpecialDirectories();
+
+ FS.filesystems = {
+ 'MEMFS': MEMFS,
+ 'IDBFS': IDBFS,
+ 'NODEFS': NODEFS,
+ 'WORKERFS': WORKERFS,
+ };
+ },init:function(input, output, error) {
+ assert(!FS.init.initialized, 'FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)');
+ FS.init.initialized = true;
+
+ FS.ensureErrnoError();
+
+ // Allow Module.stdin etc. to provide defaults, if none explicitly passed to us here
+ Module['stdin'] = input || Module['stdin'];
+ Module['stdout'] = output || Module['stdout'];
+ Module['stderr'] = error || Module['stderr'];
+
+ FS.createStandardStreams();
+ },quit:function() {
+ FS.init.initialized = false;
+ // force-flush all streams, so we get musl std streams printed out
+ var fflush = Module['_fflush'];
+ if (fflush) fflush(0);
+ // close all of our streams
+ for (var i = 0; i < FS.streams.length; i++) {
+ var stream = FS.streams[i];
+ if (!stream) {
+ continue;
+ }
+ FS.close(stream);
+ }
+ },getMode:function(canRead, canWrite) {
+ var mode = 0;
+ if (canRead) mode |= 292 | 73;
+ if (canWrite) mode |= 146;
+ return mode;
+ },joinPath:function(parts, forceRelative) {
+ var path = PATH.join.apply(null, parts);
+ if (forceRelative && path[0] == '/') path = path.substr(1);
+ return path;
+ },absolutePath:function(relative, base) {
+ return PATH.resolve(base, relative);
+ },standardizePath:function(path) {
+ return PATH.normalize(path);
+ },findObject:function(path, dontResolveLastLink) {
+ var ret = FS.analyzePath(path, dontResolveLastLink);
+ if (ret.exists) {
+ return ret.object;
+ } else {
+ ___setErrNo(ret.error);
+ return null;
+ }
+ },analyzePath:function(path, dontResolveLastLink) {
+ // operate from within the context of the symlink's target
+ try {
+ var lookup = FS.lookupPath(path, { follow: !dontResolveLastLink });
+ path = lookup.path;
+ } catch (e) {
+ }
+ var ret = {
+ isRoot: false, exists: false, error: 0, name: null, path: null, object: null,
+ parentExists: false, parentPath: null, parentObject: null
+ };
+ try {
+ var lookup = FS.lookupPath(path, { parent: true });
+ ret.parentExists = true;
+ ret.parentPath = lookup.path;
+ ret.parentObject = lookup.node;
+ ret.name = PATH.basename(path);
+ lookup = FS.lookupPath(path, { follow: !dontResolveLastLink });
+ ret.exists = true;
+ ret.path = lookup.path;
+ ret.object = lookup.node;
+ ret.name = lookup.node.name;
+ ret.isRoot = lookup.path === '/';
+ } catch (e) {
+ ret.error = e.errno;
+ };
+ return ret;
+ },createFolder:function(parent, name, canRead, canWrite) {
+ var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name);
+ var mode = FS.getMode(canRead, canWrite);
+ return FS.mkdir(path, mode);
+ },createPath:function(parent, path, canRead, canWrite) {
+ parent = typeof parent === 'string' ? parent : FS.getPath(parent);
+ var parts = path.split('/').reverse();
+ while (parts.length) {
+ var part = parts.pop();
+ if (!part) continue;
+ var current = PATH.join2(parent, part);
+ try {
+ FS.mkdir(current);
+ } catch (e) {
+ // ignore EEXIST
+ }
+ parent = current;
+ }
+ return current;
+ },createFile:function(parent, name, properties, canRead, canWrite) {
+ var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name);
+ var mode = FS.getMode(canRead, canWrite);
+ return FS.create(path, mode);
+ },createDataFile:function(parent, name, data, canRead, canWrite, canOwn) {
+ var path = name ? PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name) : parent;
+ var mode = FS.getMode(canRead, canWrite);
+ var node = FS.create(path, mode);
+ if (data) {
+ if (typeof data === 'string') {
+ var arr = new Array(data.length);
+ for (var i = 0, len = data.length; i < len; ++i) arr[i] = data.charCodeAt(i);
+ data = arr;
+ }
+ // make sure we can write to the file
+ FS.chmod(node, mode | 146);
+ var stream = FS.open(node, 'w');
+ FS.write(stream, data, 0, data.length, 0, canOwn);
+ FS.close(stream);
+ FS.chmod(node, mode);
+ }
+ return node;
+ },createDevice:function(parent, name, input, output) {
+ var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name);
+ var mode = FS.getMode(!!input, !!output);
+ if (!FS.createDevice.major) FS.createDevice.major = 64;
+ var dev = FS.makedev(FS.createDevice.major++, 0);
+ // Create a fake device that a set of stream ops to emulate
+ // the old behavior.
+ FS.registerDevice(dev, {
+ open: function(stream) {
+ stream.seekable = false;
+ },
+ close: function(stream) {
+ // flush any pending line data
+ if (output && output.buffer && output.buffer.length) {
+ output(10);
+ }
+ },
+ read: function(stream, buffer, offset, length, pos /* ignored */) {
+ var bytesRead = 0;
+ for (var i = 0; i < length; i++) {
+ var result;
+ try {
+ result = input();
+ } catch (e) {
+ throw new FS.ErrnoError(ERRNO_CODES.EIO);
+ }
+ if (result === undefined && bytesRead === 0) {
+ throw new FS.ErrnoError(ERRNO_CODES.EAGAIN);
+ }
+ if (result === null || result === undefined) break;
+ bytesRead++;
+ buffer[offset+i] = result;
+ }
+ if (bytesRead) {
+ stream.node.timestamp = Date.now();
+ }
+ return bytesRead;
+ },
+ write: function(stream, buffer, offset, length, pos) {
+ for (var i = 0; i < length; i++) {
+ try {
+ output(buffer[offset+i]);
+ } catch (e) {
+ throw new FS.ErrnoError(ERRNO_CODES.EIO);
+ }
+ }
+ if (length) {
+ stream.node.timestamp = Date.now();
+ }
+ return i;
+ }
+ });
+ return FS.mkdev(path, mode, dev);
+ },createLink:function(parent, name, target, canRead, canWrite) {
+ var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name);
+ return FS.symlink(target, path);
+ },forceLoadFile:function(obj) {
+ if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true;
+ var success = true;
+ if (typeof XMLHttpRequest !== 'undefined') {
+ throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");
+ } else if (Module['read']) {
+ // Command-line.
+ try {
+ // WARNING: Can't read binary files in V8's d8 or tracemonkey's js, as
+ // read() will try to parse UTF8.
+ obj.contents = intArrayFromString(Module['read'](obj.url), true);
+ obj.usedBytes = obj.contents.length;
+ } catch (e) {
+ success = false;
+ }
+ } else {
+ throw new Error('Cannot load without read() or XMLHttpRequest.');
+ }
+ if (!success) ___setErrNo(ERRNO_CODES.EIO);
+ return success;
+ },createLazyFile:function(parent, name, url, canRead, canWrite) {
+ // Lazy chunked Uint8Array (implements get and length from Uint8Array). Actual getting is abstracted away for eventual reuse.
+ function LazyUint8Array() {
+ this.lengthKnown = false;
+ this.chunks = []; // Loaded chunks. Index is the chunk number
+ }
+ LazyUint8Array.prototype.get = function LazyUint8Array_get(idx) {
+ if (idx > this.length-1 || idx < 0) {
+ return undefined;
+ }
+ var chunkOffset = idx % this.chunkSize;
+ var chunkNum = (idx / this.chunkSize)|0;
+ return this.getter(chunkNum)[chunkOffset];
+ }
+ LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(getter) {
+ this.getter = getter;
+ }
+ LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() {
+ // Find length
+ var xhr = new XMLHttpRequest();
+ xhr.open('HEAD', url, false);
+ xhr.send(null);
+ if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status);
+ var datalength = Number(xhr.getResponseHeader("Content-length"));
+ var header;
+ var hasByteServing = (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes";
+ var usesGzip = (header = xhr.getResponseHeader("Content-Encoding")) && header === "gzip";
+
+ var chunkSize = 1024*1024; // Chunk size in bytes
+
+ if (!hasByteServing) chunkSize = datalength;
+
+ // Function to get a range from the remote URL.
+ var doXHR = (function(from, to) {
+ if (from > to) throw new Error("invalid range (" + from + ", " + to + ") or no bytes requested!");
+ if (to > datalength-1) throw new Error("only " + datalength + " bytes available! programmer error!");
+
+ // TODO: Use mozResponseArrayBuffer, responseStream, etc. if available.
+ var xhr = new XMLHttpRequest();
+ xhr.open('GET', url, false);
+ if (datalength !== chunkSize) xhr.setRequestHeader("Range", "bytes=" + from + "-" + to);
+
+ // Some hints to the browser that we want binary data.
+ if (typeof Uint8Array != 'undefined') xhr.responseType = 'arraybuffer';
+ if (xhr.overrideMimeType) {
+ xhr.overrideMimeType('text/plain; charset=x-user-defined');
+ }
+
+ xhr.send(null);
+ if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status);
+ if (xhr.response !== undefined) {
+ return new Uint8Array(xhr.response || []);
+ } else {
+ return intArrayFromString(xhr.responseText || '', true);
+ }
+ });
+ var lazyArray = this;
+ lazyArray.setDataGetter(function(chunkNum) {
+ var start = chunkNum * chunkSize;
+ var end = (chunkNum+1) * chunkSize - 1; // including this byte
+ end = Math.min(end, datalength-1); // if datalength-1 is selected, this is the last block
+ if (typeof(lazyArray.chunks[chunkNum]) === "undefined") {
+ lazyArray.chunks[chunkNum] = doXHR(start, end);
+ }
+ if (typeof(lazyArray.chunks[chunkNum]) === "undefined") throw new Error("doXHR failed!");
+ return lazyArray.chunks[chunkNum];
+ });
+
+ if (usesGzip || !datalength) {
+ // if the server uses gzip or doesn't supply the length, we have to download the whole file to get the (uncompressed) length
+ chunkSize = datalength = 1; // this will force getter(0)/doXHR do download the whole file
+ datalength = this.getter(0).length;
+ chunkSize = datalength;
+ console.log("LazyFiles on gzip forces download of the whole file when length is accessed");
+ }
+
+ this._length = datalength;
+ this._chunkSize = chunkSize;
+ this.lengthKnown = true;
+ }
+ if (typeof XMLHttpRequest !== 'undefined') {
+ if (!ENVIRONMENT_IS_WORKER) throw 'Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc';
+ var lazyArray = new LazyUint8Array();
+ Object.defineProperties(lazyArray, {
+ length: {
+ get: function() {
+ if(!this.lengthKnown) {
+ this.cacheLength();
+ }
+ return this._length;
+ }
+ },
+ chunkSize: {
+ get: function() {
+ if(!this.lengthKnown) {
+ this.cacheLength();
+ }
+ return this._chunkSize;
+ }
+ }
+ });
+
+ var properties = { isDevice: false, contents: lazyArray };
+ } else {
+ var properties = { isDevice: false, url: url };
+ }
+
+ var node = FS.createFile(parent, name, properties, canRead, canWrite);
+ // This is a total hack, but I want to get this lazy file code out of the
+ // core of MEMFS. If we want to keep this lazy file concept I feel it should
+ // be its own thin LAZYFS proxying calls to MEMFS.
+ if (properties.contents) {
+ node.contents = properties.contents;
+ } else if (properties.url) {
+ node.contents = null;
+ node.url = properties.url;
+ }
+ // Add a function that defers querying the file size until it is asked the first time.
+ Object.defineProperties(node, {
+ usedBytes: {
+ get: function() { return this.contents.length; }
+ }
+ });
+ // override each stream op with one that tries to force load the lazy file first
+ var stream_ops = {};
+ var keys = Object.keys(node.stream_ops);
+ keys.forEach(function(key) {
+ var fn = node.stream_ops[key];
+ stream_ops[key] = function forceLoadLazyFile() {
+ if (!FS.forceLoadFile(node)) {
+ throw new FS.ErrnoError(ERRNO_CODES.EIO);
+ }
+ return fn.apply(null, arguments);
+ };
+ });
+ // use a custom read function
+ stream_ops.read = function stream_ops_read(stream, buffer, offset, length, position) {
+ if (!FS.forceLoadFile(node)) {
+ throw new FS.ErrnoError(ERRNO_CODES.EIO);
+ }
+ var contents = stream.node.contents;
+ if (position >= contents.length)
+ return 0;
+ var size = Math.min(contents.length - position, length);
+ assert(size >= 0);
+ if (contents.slice) { // normal array
+ for (var i = 0; i < size; i++) {
+ buffer[offset + i] = contents[position + i];
+ }
+ } else {
+ for (var i = 0; i < size; i++) { // LazyUint8Array from sync binary XHR
+ buffer[offset + i] = contents.get(position + i);
+ }
+ }
+ return size;
+ };
+ node.stream_ops = stream_ops;
+ return node;
+ },createPreloadedFile:function(parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) {
+ Browser.init(); // XXX perhaps this method should move onto Browser?
+ // TODO we should allow people to just pass in a complete filename instead
+ // of parent and name being that we just join them anyways
+ var fullname = name ? PATH.resolve(PATH.join2(parent, name)) : parent;
+ var dep = getUniqueRunDependency('cp ' + fullname); // might have several active requests for the same fullname
+ function processData(byteArray) {
+ function finish(byteArray) {
+ if (preFinish) preFinish();
+ if (!dontCreateFile) {
+ FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn);
+ }
+ if (onload) onload();
+ removeRunDependency(dep);
+ }
+ var handled = false;
+ Module['preloadPlugins'].forEach(function(plugin) {
+ if (handled) return;
+ if (plugin['canHandle'](fullname)) {
+ plugin['handle'](byteArray, fullname, finish, function() {
+ if (onerror) onerror();
+ removeRunDependency(dep);
+ });
+ handled = true;
+ }
+ });
+ if (!handled) finish(byteArray);
+ }
+ addRunDependency(dep);
+ if (typeof url == 'string') {
+ Browser.asyncLoad(url, function(byteArray) {
+ processData(byteArray);
+ }, onerror);
+ } else {
+ processData(url);
+ }
+ },indexedDB:function() {
+ return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB;
+ },DB_NAME:function() {
+ return 'EM_FS_' + window.location.pathname;
+ },DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:function(paths, onload, onerror) {
+ onload = onload || function(){};
+ onerror = onerror || function(){};
+ var indexedDB = FS.indexedDB();
+ try {
+ var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION);
+ } catch (e) {
+ return onerror(e);
+ }
+ openRequest.onupgradeneeded = function openRequest_onupgradeneeded() {
+ console.log('creating db');
+ var db = openRequest.result;
+ db.createObjectStore(FS.DB_STORE_NAME);
+ };
+ openRequest.onsuccess = function openRequest_onsuccess() {
+ var db = openRequest.result;
+ var transaction = db.transaction([FS.DB_STORE_NAME], 'readwrite');
+ var files = transaction.objectStore(FS.DB_STORE_NAME);
+ var ok = 0, fail = 0, total = paths.length;
+ function finish() {
+ if (fail == 0) onload(); else onerror();
+ }
+ paths.forEach(function(path) {
+ var putRequest = files.put(FS.analyzePath(path).object.contents, path);
+ putRequest.onsuccess = function putRequest_onsuccess() { ok++; if (ok + fail == total) finish() };
+ putRequest.onerror = function putRequest_onerror() { fail++; if (ok + fail == total) finish() };
+ });
+ transaction.onerror = onerror;
+ };
+ openRequest.onerror = onerror;
+ },loadFilesFromDB:function(paths, onload, onerror) {
+ onload = onload || function(){};
+ onerror = onerror || function(){};
+ var indexedDB = FS.indexedDB();
+ try {
+ var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION);
+ } catch (e) {
+ return onerror(e);
+ }
+ openRequest.onupgradeneeded = onerror; // no database to load from
+ openRequest.onsuccess = function openRequest_onsuccess() {
+ var db = openRequest.result;
+ try {
+ var transaction = db.transaction([FS.DB_STORE_NAME], 'readonly');
+ } catch(e) {
+ onerror(e);
+ return;
+ }
+ var files = transaction.objectStore(FS.DB_STORE_NAME);
+ var ok = 0, fail = 0, total = paths.length;
+ function finish() {
+ if (fail == 0) onload(); else onerror();
+ }
+ paths.forEach(function(path) {
+ var getRequest = files.get(path);
+ getRequest.onsuccess = function getRequest_onsuccess() {
+ if (FS.analyzePath(path).exists) {
+ FS.unlink(path);
+ }
+ FS.createDataFile(PATH.dirname(path), PATH.basename(path), getRequest.result, true, true, true);
+ ok++;
+ if (ok + fail == total) finish();
+ };
+ getRequest.onerror = function getRequest_onerror() { fail++; if (ok + fail == total) finish() };
+ });
+ transaction.onerror = onerror;
+ };
+ openRequest.onerror = onerror;
+ }};var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:function(dirfd, path) {
+ if (path[0] !== '/') {
+ // relative path
+ var dir;
+ if (dirfd === -100) {
+ dir = FS.cwd();
+ } else {
+ var dirstream = FS.getStream(dirfd);
+ if (!dirstream) throw new FS.ErrnoError(ERRNO_CODES.EBADF);
+ dir = dirstream.path;
+ }
+ path = PATH.join2(dir, path);
+ }
+ return path;
+ },doStat:function(func, path, buf) {
+ try {
+ var stat = func(path);
+ } catch (e) {
+ if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) {
+ // an error occurred while trying to look up the path; we should just report ENOTDIR
+ return -ERRNO_CODES.ENOTDIR;
+ }
+ throw e;
+ }
+ HEAP32[((buf)>>2)]=stat.dev;
+ HEAP32[(((buf)+(4))>>2)]=0;
+ HEAP32[(((buf)+(8))>>2)]=stat.ino;
+ HEAP32[(((buf)+(12))>>2)]=stat.mode;
+ HEAP32[(((buf)+(16))>>2)]=stat.nlink;
+ HEAP32[(((buf)+(20))>>2)]=stat.uid;
+ HEAP32[(((buf)+(24))>>2)]=stat.gid;
+ HEAP32[(((buf)+(28))>>2)]=stat.rdev;
+ HEAP32[(((buf)+(32))>>2)]=0;
+ HEAP32[(((buf)+(36))>>2)]=stat.size;
+ HEAP32[(((buf)+(40))>>2)]=4096;
+ HEAP32[(((buf)+(44))>>2)]=stat.blocks;
+ HEAP32[(((buf)+(48))>>2)]=(stat.atime.getTime() / 1000)|0;
+ HEAP32[(((buf)+(52))>>2)]=0;
+ HEAP32[(((buf)+(56))>>2)]=(stat.mtime.getTime() / 1000)|0;
+ HEAP32[(((buf)+(60))>>2)]=0;
+ HEAP32[(((buf)+(64))>>2)]=(stat.ctime.getTime() / 1000)|0;
+ HEAP32[(((buf)+(68))>>2)]=0;
+ HEAP32[(((buf)+(72))>>2)]=stat.ino;
+ return 0;
+ },doMsync:function(addr, stream, len, flags) {
+ var buffer = new Uint8Array(HEAPU8.subarray(addr, addr + len));
+ FS.msync(stream, buffer, 0, len, flags);
+ },doMkdir:function(path, mode) {
+ // remove a trailing slash, if one - /a/b/ has basename of '', but
+ // we want to create b in the context of this function
+ path = PATH.normalize(path);
+ if (path[path.length-1] === '/') path = path.substr(0, path.length-1);
+ FS.mkdir(path, mode, 0);
+ return 0;
+ },doMknod:function(path, mode, dev) {
+ // we don't want this in the JS API as it uses mknod to create all nodes.
+ switch (mode & 61440) {
+ case 32768:
+ case 8192:
+ case 24576:
+ case 4096:
+ case 49152:
+ break;
+ default: return -ERRNO_CODES.EINVAL;
+ }
+ FS.mknod(path, mode, dev);
+ return 0;
+ },doReadlink:function(path, buf, bufsize) {
+ if (bufsize <= 0) return -ERRNO_CODES.EINVAL;
+ var ret = FS.readlink(path);
+
+ var len = Math.min(bufsize, lengthBytesUTF8(ret));
+ var endChar = HEAP8[buf+len];
+ stringToUTF8(ret, buf, bufsize+1);
+ // readlink is one of the rare functions that write out a C string, but does never append a null to the output buffer(!)
+ // stringToUTF8() always appends a null byte, so restore the character under the null byte after the write.
+ HEAP8[buf+len] = endChar;
+
+ return len;
+ },doAccess:function(path, amode) {
+ if (amode & ~7) {
+ // need a valid mode
+ return -ERRNO_CODES.EINVAL;
+ }
+ var node;
+ var lookup = FS.lookupPath(path, { follow: true });
+ node = lookup.node;
+ var perms = '';
+ if (amode & 4) perms += 'r';
+ if (amode & 2) perms += 'w';
+ if (amode & 1) perms += 'x';
+ if (perms /* otherwise, they've just passed F_OK */ && FS.nodePermissions(node, perms)) {
+ return -ERRNO_CODES.EACCES;
+ }
+ return 0;
+ },doDup:function(path, flags, suggestFD) {
+ var suggest = FS.getStream(suggestFD);
+ if (suggest) FS.close(suggest);
+ return FS.open(path, flags, 0, suggestFD, suggestFD).fd;
+ },doReadv:function(stream, iov, iovcnt, offset) {
+ var ret = 0;
+ for (var i = 0; i < iovcnt; i++) {
+ var ptr = HEAP32[(((iov)+(i*8))>>2)];
+ var len = HEAP32[(((iov)+(i*8 + 4))>>2)];
+ var curr = FS.read(stream, HEAP8,ptr, len, offset);
+ if (curr < 0) return -1;
+ ret += curr;
+ if (curr < len) break; // nothing more to read
+ }
+ return ret;
+ },doWritev:function(stream, iov, iovcnt, offset) {
+ var ret = 0;
+ for (var i = 0; i < iovcnt; i++) {
+ var ptr = HEAP32[(((iov)+(i*8))>>2)];
+ var len = HEAP32[(((iov)+(i*8 + 4))>>2)];
+ var curr = FS.write(stream, HEAP8,ptr, len, offset);
+ if (curr < 0) return -1;
+ ret += curr;
+ }
+ return ret;
+ },varargs:0,get:function(varargs) {
+ SYSCALLS.varargs += 4;
+ var ret = HEAP32[(((SYSCALLS.varargs)-(4))>>2)];
+ return ret;
+ },getStr:function() {
+ var ret = Pointer_stringify(SYSCALLS.get());
+ return ret;
+ },getStreamFromFD:function() {
+ var stream = FS.getStream(SYSCALLS.get());
+ if (!stream) throw new FS.ErrnoError(ERRNO_CODES.EBADF);
+ return stream;
+ },getSocketFromFD:function() {
+ var socket = SOCKFS.getSocket(SYSCALLS.get());
+ if (!socket) throw new FS.ErrnoError(ERRNO_CODES.EBADF);
+ return socket;
+ },getSocketAddress:function(allowNull) {
+ var addrp = SYSCALLS.get(), addrlen = SYSCALLS.get();
+ if (allowNull && addrp === 0) return null;
+ var info = __read_sockaddr(addrp, addrlen);
+ if (info.errno) throw new FS.ErrnoError(info.errno);
+ info.addr = DNS.lookup_addr(info.addr) || info.addr;
+ return info;
+ },get64:function() {
+ var low = SYSCALLS.get(), high = SYSCALLS.get();
+ if (low >= 0) assert(high === 0);
+ else assert(high === -1);
+ return low;
+ },getZero:function() {
+ assert(SYSCALLS.get() === 0);
+ }};function ___syscall140(which, varargs) {SYSCALLS.varargs = varargs;
+ try {
+ // llseek
+ var stream = SYSCALLS.getStreamFromFD(), offset_high = SYSCALLS.get(), offset_low = SYSCALLS.get(), result = SYSCALLS.get(), whence = SYSCALLS.get();
+ // NOTE: offset_high is unused - Emscripten's off_t is 32-bit
+ var offset = offset_low;
+ FS.llseek(stream, offset, whence);
+ HEAP32[((result)>>2)]=stream.position;
+ if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null; // reset readdir state
+ return 0;
+ } catch (e) {
+ if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+ }
+
+ function ___syscall142(which, varargs) {SYSCALLS.varargs = varargs;
+ try {
+ // newselect
+ // readfds are supported,
+ // writefds checks socket open status
+ // exceptfds not supported
+ // timeout is always 0 - fully async
+ var nfds = SYSCALLS.get(), readfds = SYSCALLS.get(), writefds = SYSCALLS.get(), exceptfds = SYSCALLS.get(), timeout = SYSCALLS.get();
+
+ assert(nfds <= 64, 'nfds must be less than or equal to 64'); // fd sets have 64 bits // TODO: this could be 1024 based on current musl headers
+ assert(!exceptfds, 'exceptfds not supported');
+
+ var total = 0;
+
+ var srcReadLow = (readfds ? HEAP32[((readfds)>>2)] : 0),
+ srcReadHigh = (readfds ? HEAP32[(((readfds)+(4))>>2)] : 0);
+ var srcWriteLow = (writefds ? HEAP32[((writefds)>>2)] : 0),
+ srcWriteHigh = (writefds ? HEAP32[(((writefds)+(4))>>2)] : 0);
+ var srcExceptLow = (exceptfds ? HEAP32[((exceptfds)>>2)] : 0),
+ srcExceptHigh = (exceptfds ? HEAP32[(((exceptfds)+(4))>>2)] : 0);
+
+ var dstReadLow = 0,
+ dstReadHigh = 0;
+ var dstWriteLow = 0,
+ dstWriteHigh = 0;
+ var dstExceptLow = 0,
+ dstExceptHigh = 0;
+
+ var allLow = (readfds ? HEAP32[((readfds)>>2)] : 0) |
+ (writefds ? HEAP32[((writefds)>>2)] : 0) |
+ (exceptfds ? HEAP32[((exceptfds)>>2)] : 0);
+ var allHigh = (readfds ? HEAP32[(((readfds)+(4))>>2)] : 0) |
+ (writefds ? HEAP32[(((writefds)+(4))>>2)] : 0) |
+ (exceptfds ? HEAP32[(((exceptfds)+(4))>>2)] : 0);
+
+ function check(fd, low, high, val) {
+ return (fd < 32 ? (low & val) : (high & val));
+ }
+
+ for (var fd = 0; fd < nfds; fd++) {
+ var mask = 1 << (fd % 32);
+ if (!(check(fd, allLow, allHigh, mask))) {
+ continue; // index isn't in the set
+ }
+
+ var stream = FS.getStream(fd);
+ if (!stream) throw new FS.ErrnoError(ERRNO_CODES.EBADF);
+
+ var flags = SYSCALLS.DEFAULT_POLLMASK;
+
+ if (stream.stream_ops.poll) {
+ flags = stream.stream_ops.poll(stream);
+ }
+
+ if ((flags & 1) && check(fd, srcReadLow, srcReadHigh, mask)) {
+ fd < 32 ? (dstReadLow = dstReadLow | mask) : (dstReadHigh = dstReadHigh | mask);
+ total++;
+ }
+ if ((flags & 4) && check(fd, srcWriteLow, srcWriteHigh, mask)) {
+ fd < 32 ? (dstWriteLow = dstWriteLow | mask) : (dstWriteHigh = dstWriteHigh | mask);
+ total++;
+ }
+ if ((flags & 2) && check(fd, srcExceptLow, srcExceptHigh, mask)) {
+ fd < 32 ? (dstExceptLow = dstExceptLow | mask) : (dstExceptHigh = dstExceptHigh | mask);
+ total++;
+ }
+ }
+
+ if (readfds) {
+ HEAP32[((readfds)>>2)]=dstReadLow;
+ HEAP32[(((readfds)+(4))>>2)]=dstReadHigh;
+ }
+ if (writefds) {
+ HEAP32[((writefds)>>2)]=dstWriteLow;
+ HEAP32[(((writefds)+(4))>>2)]=dstWriteHigh;
+ }
+ if (exceptfds) {
+ HEAP32[((exceptfds)>>2)]=dstExceptLow;
+ HEAP32[(((exceptfds)+(4))>>2)]=dstExceptHigh;
+ }
+
+ return total;
+ } catch (e) {
+ if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+ }
+
+ function ___syscall145(which, varargs) {SYSCALLS.varargs = varargs;
+ try {
+ // readv
+ var stream = SYSCALLS.getStreamFromFD(), iov = SYSCALLS.get(), iovcnt = SYSCALLS.get();
+ return SYSCALLS.doReadv(stream, iov, iovcnt);
+ } catch (e) {
+ if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+ }
+
+ function ___syscall146(which, varargs) {SYSCALLS.varargs = varargs;
+ try {
+ // writev
+ var stream = SYSCALLS.getStreamFromFD(), iov = SYSCALLS.get(), iovcnt = SYSCALLS.get();
+ return SYSCALLS.doWritev(stream, iov, iovcnt);
+ } catch (e) {
+ if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+ }
+
+ function ___syscall192(which, varargs) {SYSCALLS.varargs = varargs;
+ try {
+ // mmap2
+ var addr = SYSCALLS.get(), len = SYSCALLS.get(), prot = SYSCALLS.get(), flags = SYSCALLS.get(), fd = SYSCALLS.get(), off = SYSCALLS.get()
+ off <<= 12; // undo pgoffset
+ var ptr;
+ var allocated = false;
+ if (fd === -1) {
+ ptr = _memalign(PAGE_SIZE, len);
+ if (!ptr) return -ERRNO_CODES.ENOMEM;
+ _memset(ptr, 0, len);
+ allocated = true;
+ } else {
+ var info = FS.getStream(fd);
+ if (!info) return -ERRNO_CODES.EBADF;
+ var res = FS.mmap(info, HEAPU8, addr, len, off, prot, flags);
+ ptr = res.ptr;
+ allocated = res.allocated;
+ }
+ SYSCALLS.mappings[ptr] = { malloc: ptr, len: len, allocated: allocated, fd: fd, flags: flags };
+ return ptr;
+ } catch (e) {
+ if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+ }
+
+ function ___syscall194(which, varargs) {SYSCALLS.varargs = varargs;
+ try {
+ // ftruncate64
+ var fd = SYSCALLS.get(), zero = SYSCALLS.getZero(), length = SYSCALLS.get64();
+ FS.ftruncate(fd, length);
+ return 0;
+ } catch (e) {
+ if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+ }
+
+ function ___syscall195(which, varargs) {SYSCALLS.varargs = varargs;
+ try {
+ // SYS_stat64
+ var path = SYSCALLS.getStr(), buf = SYSCALLS.get();
+ return SYSCALLS.doStat(FS.stat, path, buf);
+ } catch (e) {
+ if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+ }
+
+ function ___syscall197(which, varargs) {SYSCALLS.varargs = varargs;
+ try {
+ // SYS_fstat64
+ var stream = SYSCALLS.getStreamFromFD(), buf = SYSCALLS.get();
+ return SYSCALLS.doStat(FS.stat, stream.path, buf);
+ } catch (e) {
+ if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+ }
+
+
+ function ___syscall202(which, varargs) {SYSCALLS.varargs = varargs;
+ try {
+ // getgid32
+ return 0;
+ } catch (e) {
+ if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+ }function ___syscall199(
+ ) {
+ return ___syscall202.apply(null, arguments)
+ }
+
+
+ var PROCINFO={ppid:1,pid:42,sid:42,pgid:42};function ___syscall20(which, varargs) {SYSCALLS.varargs = varargs;
+ try {
+ // getpid
+ return PROCINFO.pid;
+ } catch (e) {
+ if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+ }
+
+ function ___syscall201(
+ ) {
+ return ___syscall202.apply(null, arguments)
+ }
+
+ function ___syscall221(which, varargs) {SYSCALLS.varargs = varargs;
+ try {
+ // fcntl64
+ var stream = SYSCALLS.getStreamFromFD(), cmd = SYSCALLS.get();
+ switch (cmd) {
+ case 0: {
+ var arg = SYSCALLS.get();
+ if (arg < 0) {
+ return -ERRNO_CODES.EINVAL;
+ }
+ var newStream;
+ newStream = FS.open(stream.path, stream.flags, 0, arg);
+ return newStream.fd;
+ }
+ case 1:
+ case 2:
+ return 0; // FD_CLOEXEC makes no sense for a single process.
+ case 3:
+ return stream.flags;
+ case 4: {
+ var arg = SYSCALLS.get();
+ stream.flags |= arg;
+ return 0;
+ }
+ case 12:
+ case 12: {
+ var arg = SYSCALLS.get();
+ var offset = 0;
+ // We're always unlocked.
+ HEAP16[(((arg)+(offset))>>1)]=2;
+ return 0;
+ }
+ case 13:
+ case 14:
+ case 13:
+ case 14:
+ return 0; // Pretend that the locking is successful.
+ case 16:
+ case 8:
+ return -ERRNO_CODES.EINVAL; // These are for sockets. We don't have them fully implemented yet.
+ case 9:
+ // musl trusts getown return values, due to a bug where they must be, as they overlap with errors. just return -1 here, so fnctl() returns that, and we set errno ourselves.
+ ___setErrNo(ERRNO_CODES.EINVAL);
+ return -1;
+ default: {
+ return -ERRNO_CODES.EINVAL;
+ }
+ }
+ } catch (e) {
+ if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+ }
+
+ function ___syscall3(which, varargs) {SYSCALLS.varargs = varargs;
+ try {
+ // read
+ var stream = SYSCALLS.getStreamFromFD(), buf = SYSCALLS.get(), count = SYSCALLS.get();
+ return FS.read(stream, HEAP8,buf, count);
+ } catch (e) {
+ if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+ }
+
+ function ___syscall33(which, varargs) {SYSCALLS.varargs = varargs;
+ try {
+ // access
+ var path = SYSCALLS.getStr(), amode = SYSCALLS.get();
+ return SYSCALLS.doAccess(path, amode);
+ } catch (e) {
+ if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+ }
+
+ function ___syscall4(which, varargs) {SYSCALLS.varargs = varargs;
+ try {
+ // write
+ var stream = SYSCALLS.getStreamFromFD(), buf = SYSCALLS.get(), count = SYSCALLS.get();
+ return FS.write(stream, HEAP8,buf, count);
+ } catch (e) {
+ if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+ }
+
+ function ___syscall5(which, varargs) {SYSCALLS.varargs = varargs;
+ try {
+ // open
+ var pathname = SYSCALLS.getStr(), flags = SYSCALLS.get(), mode = SYSCALLS.get() // optional TODO
+ var stream = FS.open(pathname, flags, mode);
+ return stream.fd;
+ } catch (e) {
+ if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+ }
+
+ function ___syscall54(which, varargs) {SYSCALLS.varargs = varargs;
+ try {
+ // ioctl
+ var stream = SYSCALLS.getStreamFromFD(), op = SYSCALLS.get();
+ switch (op) {
+ case 21509:
+ case 21505: {
+ if (!stream.tty) return -ERRNO_CODES.ENOTTY;
+ return 0;
+ }
+ case 21510:
+ case 21511:
+ case 21512:
+ case 21506:
+ case 21507:
+ case 21508: {
+ if (!stream.tty) return -ERRNO_CODES.ENOTTY;
+ return 0; // no-op, not actually adjusting terminal settings
+ }
+ case 21519: {
+ if (!stream.tty) return -ERRNO_CODES.ENOTTY;
+ var argp = SYSCALLS.get();
+ HEAP32[((argp)>>2)]=0;
+ return 0;
+ }
+ case 21520: {
+ if (!stream.tty) return -ERRNO_CODES.ENOTTY;
+ return -ERRNO_CODES.EINVAL; // not supported
+ }
+ case 21531: {
+ var argp = SYSCALLS.get();
+ return FS.ioctl(stream, op, argp);
+ }
+ case 21523: {
+ // TODO: in theory we should write to the winsize struct that gets
+ // passed in, but for now musl doesn't read anything on it
+ if (!stream.tty) return -ERRNO_CODES.ENOTTY;
+ return 0;
+ }
+ case 21524: {
+ // TODO: technically, this ioctl call should change the window size.
+ // but, since emscripten doesn't have any concept of a terminal window
+ // yet, we'll just silently throw it away as we do TIOCGWINSZ
+ if (!stream.tty) return -ERRNO_CODES.ENOTTY;
+ return 0;
+ }
+ default: abort('bad ioctl syscall ' + op);
+ }
+ } catch (e) {
+ if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+ }
+
+ function ___syscall6(which, varargs) {SYSCALLS.varargs = varargs;
+ try {
+ // close
+ var stream = SYSCALLS.getStreamFromFD();
+ FS.close(stream);
+ return 0;
+ } catch (e) {
+ if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+ }
+
+ function ___syscall64(which, varargs) {SYSCALLS.varargs = varargs;
+ try {
+ // getppid
+ return PROCINFO.ppid;
+ } catch (e) {
+ if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+ }
+
+ function ___syscall77(which, varargs) {SYSCALLS.varargs = varargs;
+ try {
+ // getrusage
+ var who = SYSCALLS.get(), usage = SYSCALLS.get();
+ _memset(usage, 0, 136);
+ HEAP32[((usage)>>2)]=1; // fake some values
+ HEAP32[(((usage)+(4))>>2)]=2;
+ HEAP32[(((usage)+(8))>>2)]=3;
+ HEAP32[(((usage)+(12))>>2)]=4;
+ return 0;
+ } catch (e) {
+ if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+ }
+
+ function ___syscall91(which, varargs) {SYSCALLS.varargs = varargs;
+ try {
+ // munmap
+ var addr = SYSCALLS.get(), len = SYSCALLS.get();
+ // TODO: support unmmap'ing parts of allocations
+ var info = SYSCALLS.mappings[addr];
+ if (!info) return 0;
+ if (len === info.len) {
+ var stream = FS.getStream(info.fd);
+ SYSCALLS.doMsync(addr, stream, len, info.flags)
+ FS.munmap(stream);
+ SYSCALLS.mappings[addr] = null;
+ if (info.allocated) {
+ _free(info.malloc);
+ }
+ }
+ return 0;
+ } catch (e) {
+ if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+ }
+
+
+
+ function ___unlock() {}
+
+
+
+ function _abort() {
+ Module['abort']();
+ }
+
+ function _atexit(func, arg) {
+ warnOnce('atexit() called, but NO_EXIT_RUNTIME is set, so atexits() will not be called. set NO_EXIT_RUNTIME to 0 (see the FAQ)');
+ __ATEXIT__.unshift({ func: func, arg: arg });
+ }
+
+
+
+
+
+
+
+ function _clock() {
+ if (_clock.start === undefined) _clock.start = Date.now();
+ return ((Date.now() - _clock.start) * (1000000 / 1000))|0;
+ }
+
+ function _getenv(name) {
+ // char *getenv(const char *name);
+ // http://pubs.opengroup.org/onlinepubs/009695399/functions/getenv.html
+ if (name === 0) return 0;
+ name = Pointer_stringify(name);
+ if (!ENV.hasOwnProperty(name)) return 0;
+
+ if (_getenv.ret) _free(_getenv.ret);
+ _getenv.ret = allocateUTF8(ENV[name]);
+ return _getenv.ret;
+ }
+
+ function _gettimeofday(ptr) {
+ var now = Date.now();
+ HEAP32[((ptr)>>2)]=(now/1000)|0; // seconds
+ HEAP32[(((ptr)+(4))>>2)]=((now % 1000)*1000)|0; // microseconds
+ return 0;
+ }
+
+
+
+
+
+
+ function _llvm_stackrestore(p) {
+ var self = _llvm_stacksave;
+ var ret = self.LLVM_SAVEDSTACKS[p];
+ self.LLVM_SAVEDSTACKS.splice(p, 1);
+ stackRestore(ret);
+ }
+
+ function _llvm_stacksave() {
+ var self = _llvm_stacksave;
+ if (!self.LLVM_SAVEDSTACKS) {
+ self.LLVM_SAVEDSTACKS = [];
+ }
+ self.LLVM_SAVEDSTACKS.push(stackSave());
+ return self.LLVM_SAVEDSTACKS.length-1;
+ }
+
+
+ var ___tm_current=STATICTOP; STATICTOP += 48;;
+
+
+ var ___tm_timezone=allocate(intArrayFromString("GMT"), "i8", ALLOC_STATIC);
+
+ function _tzset() {
+ // TODO: Use (malleable) environment variables instead of system settings.
+ if (_tzset.called) return;
+ _tzset.called = true;
+
+ // timezone is specified as seconds west of UTC ("The external variable
+ // `timezone` shall be set to the difference, in seconds, between
+ // Coordinated Universal Time (UTC) and local standard time."), the same
+ // as returned by getTimezoneOffset().
+ // See http://pubs.opengroup.org/onlinepubs/009695399/functions/tzset.html
+ HEAP32[((__get_timezone())>>2)]=(new Date()).getTimezoneOffset() * 60;
+
+ var winter = new Date(2000, 0, 1);
+ var summer = new Date(2000, 6, 1);
+ HEAP32[((__get_daylight())>>2)]=Number(winter.getTimezoneOffset() != summer.getTimezoneOffset());
+
+ function extractZone(date) {
+ var match = date.toTimeString().match(/\(([A-Za-z ]+)\)$/);
+ return match ? match[1] : "GMT";
+ };
+ var winterName = extractZone(winter);
+ var summerName = extractZone(summer);
+ var winterNamePtr = allocate(intArrayFromString(winterName), 'i8', ALLOC_NORMAL);
+ var summerNamePtr = allocate(intArrayFromString(summerName), 'i8', ALLOC_NORMAL);
+ if (summer.getTimezoneOffset() < winter.getTimezoneOffset()) {
+ // Northern hemisphere
+ HEAP32[((__get_tzname())>>2)]=winterNamePtr;
+ HEAP32[(((__get_tzname())+(4))>>2)]=summerNamePtr;
+ } else {
+ HEAP32[((__get_tzname())>>2)]=summerNamePtr;
+ HEAP32[(((__get_tzname())+(4))>>2)]=winterNamePtr;
+ }
+ }function _localtime_r(time, tmPtr) {
+ _tzset();
+ var date = new Date(HEAP32[((time)>>2)]*1000);
+ HEAP32[((tmPtr)>>2)]=date.getSeconds();
+ HEAP32[(((tmPtr)+(4))>>2)]=date.getMinutes();
+ HEAP32[(((tmPtr)+(8))>>2)]=date.getHours();
+ HEAP32[(((tmPtr)+(12))>>2)]=date.getDate();
+ HEAP32[(((tmPtr)+(16))>>2)]=date.getMonth();
+ HEAP32[(((tmPtr)+(20))>>2)]=date.getFullYear()-1900;
+ HEAP32[(((tmPtr)+(24))>>2)]=date.getDay();
+
+ var start = new Date(date.getFullYear(), 0, 1);
+ var yday = ((date.getTime() - start.getTime()) / (1000 * 60 * 60 * 24))|0;
+ HEAP32[(((tmPtr)+(28))>>2)]=yday;
+ HEAP32[(((tmPtr)+(36))>>2)]=-(date.getTimezoneOffset() * 60);
+
+ // Attention: DST is in December in South, and some regions don't have DST at all.
+ var summerOffset = new Date(2000, 6, 1).getTimezoneOffset();
+ var winterOffset = start.getTimezoneOffset();
+ var dst = (summerOffset != winterOffset && date.getTimezoneOffset() == Math.min(winterOffset, summerOffset))|0;
+ HEAP32[(((tmPtr)+(32))>>2)]=dst;
+
+ var zonePtr = HEAP32[(((__get_tzname())+(dst ? 4 : 0))>>2)];
+ HEAP32[(((tmPtr)+(40))>>2)]=zonePtr;
+
+ return tmPtr;
+ }function _localtime(time) {
+ return _localtime_r(time, ___tm_current);
+ }
+
+
+ function _emscripten_memcpy_big(dest, src, num) {
+ HEAPU8.set(HEAPU8.subarray(src, src+num), dest);
+ return dest;
+ }
+
+
+
+
+
+ function _pthread_mutex_destroy() {}
+
+ function _pthread_mutex_init() {}
+
+
+
+
+
+
+
+
+ function __isLeapYear(year) {
+ return year%4 === 0 && (year%100 !== 0 || year%400 === 0);
+ }
+
+ function __arraySum(array, index) {
+ var sum = 0;
+ for (var i = 0; i <= index; sum += array[i++]);
+ return sum;
+ }
+
+
+ var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];
+
+ var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date, days) {
+ var newDate = new Date(date.getTime());
+ while(days > 0) {
+ var leap = __isLeapYear(newDate.getFullYear());
+ var currentMonth = newDate.getMonth();
+ var daysInCurrentMonth = (leap ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR)[currentMonth];
+
+ if (days > daysInCurrentMonth-newDate.getDate()) {
+ // we spill over to next month
+ days -= (daysInCurrentMonth-newDate.getDate()+1);
+ newDate.setDate(1);
+ if (currentMonth < 11) {
+ newDate.setMonth(currentMonth+1)
+ } else {
+ newDate.setMonth(0);
+ newDate.setFullYear(newDate.getFullYear()+1);
+ }
+ } else {
+ // we stay in current month
+ newDate.setDate(newDate.getDate()+days);
+ return newDate;
+ }
+ }
+
+ return newDate;
+ }function _strftime(s, maxsize, format, tm) {
+ // size_t strftime(char *restrict s, size_t maxsize, const char *restrict format, const struct tm *restrict timeptr);
+ // http://pubs.opengroup.org/onlinepubs/009695399/functions/strftime.html
+
+ var tm_zone = HEAP32[(((tm)+(40))>>2)];
+
+ var date = {
+ tm_sec: HEAP32[((tm)>>2)],
+ tm_min: HEAP32[(((tm)+(4))>>2)],
+ tm_hour: HEAP32[(((tm)+(8))>>2)],
+ tm_mday: HEAP32[(((tm)+(12))>>2)],
+ tm_mon: HEAP32[(((tm)+(16))>>2)],
+ tm_year: HEAP32[(((tm)+(20))>>2)],
+ tm_wday: HEAP32[(((tm)+(24))>>2)],
+ tm_yday: HEAP32[(((tm)+(28))>>2)],
+ tm_isdst: HEAP32[(((tm)+(32))>>2)],
+ tm_gmtoff: HEAP32[(((tm)+(36))>>2)],
+ tm_zone: tm_zone ? Pointer_stringify(tm_zone) : ''
+ };
+
+ var pattern = Pointer_stringify(format);
+
+ // expand format
+ var EXPANSION_RULES_1 = {
+ '%c': '%a %b %d %H:%M:%S %Y', // Replaced by the locale's appropriate date and time representation - e.g., Mon Aug 3 14:02:01 2013
+ '%D': '%m/%d/%y', // Equivalent to %m / %d / %y
+ '%F': '%Y-%m-%d', // Equivalent to %Y - %m - %d
+ '%h': '%b', // Equivalent to %b
+ '%r': '%I:%M:%S %p', // Replaced by the time in a.m. and p.m. notation
+ '%R': '%H:%M', // Replaced by the time in 24-hour notation
+ '%T': '%H:%M:%S', // Replaced by the time
+ '%x': '%m/%d/%y', // Replaced by the locale's appropriate date representation
+ '%X': '%H:%M:%S' // Replaced by the locale's appropriate date representation
+ };
+ for (var rule in EXPANSION_RULES_1) {
+ pattern = pattern.replace(new RegExp(rule, 'g'), EXPANSION_RULES_1[rule]);
+ }
+
+ var WEEKDAYS = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
+ var MONTHS = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];
+
+ function leadingSomething(value, digits, character) {
+ var str = typeof value === 'number' ? value.toString() : (value || '');
+ while (str.length < digits) {
+ str = character[0]+str;
+ }
+ return str;
+ };
+
+ function leadingNulls(value, digits) {
+ return leadingSomething(value, digits, '0');
+ };
+
+ function compareByDay(date1, date2) {
+ function sgn(value) {
+ return value < 0 ? -1 : (value > 0 ? 1 : 0);
+ };
+
+ var compare;
+ if ((compare = sgn(date1.getFullYear()-date2.getFullYear())) === 0) {
+ if ((compare = sgn(date1.getMonth()-date2.getMonth())) === 0) {
+ compare = sgn(date1.getDate()-date2.getDate());
+ }
+ }
+ return compare;
+ };
+
+ function getFirstWeekStartDate(janFourth) {
+ switch (janFourth.getDay()) {
+ case 0: // Sunday
+ return new Date(janFourth.getFullYear()-1, 11, 29);
+ case 1: // Monday
+ return janFourth;
+ case 2: // Tuesday
+ return new Date(janFourth.getFullYear(), 0, 3);
+ case 3: // Wednesday
+ return new Date(janFourth.getFullYear(), 0, 2);
+ case 4: // Thursday
+ return new Date(janFourth.getFullYear(), 0, 1);
+ case 5: // Friday
+ return new Date(janFourth.getFullYear()-1, 11, 31);
+ case 6: // Saturday
+ return new Date(janFourth.getFullYear()-1, 11, 30);
+ }
+ };
+
+ function getWeekBasedYear(date) {
+ var thisDate = __addDays(new Date(date.tm_year+1900, 0, 1), date.tm_yday);
+
+ var janFourthThisYear = new Date(thisDate.getFullYear(), 0, 4);
+ var janFourthNextYear = new Date(thisDate.getFullYear()+1, 0, 4);
+
+ var firstWeekStartThisYear = getFirstWeekStartDate(janFourthThisYear);
+ var firstWeekStartNextYear = getFirstWeekStartDate(janFourthNextYear);
+
+ if (compareByDay(firstWeekStartThisYear, thisDate) <= 0) {
+ // this date is after the start of the first week of this year
+ if (compareByDay(firstWeekStartNextYear, thisDate) <= 0) {
+ return thisDate.getFullYear()+1;
+ } else {
+ return thisDate.getFullYear();
+ }
+ } else {
+ return thisDate.getFullYear()-1;
+ }
+ };
+
+ var EXPANSION_RULES_2 = {
+ '%a': function(date) {
+ return WEEKDAYS[date.tm_wday].substring(0,3);
+ },
+ '%A': function(date) {
+ return WEEKDAYS[date.tm_wday];
+ },
+ '%b': function(date) {
+ return MONTHS[date.tm_mon].substring(0,3);
+ },
+ '%B': function(date) {
+ return MONTHS[date.tm_mon];
+ },
+ '%C': function(date) {
+ var year = date.tm_year+1900;
+ return leadingNulls((year/100)|0,2);
+ },
+ '%d': function(date) {
+ return leadingNulls(date.tm_mday, 2);
+ },
+ '%e': function(date) {
+ return leadingSomething(date.tm_mday, 2, ' ');
+ },
+ '%g': function(date) {
+ // %g, %G, and %V give values according to the ISO 8601:2000 standard week-based year.
+ // In this system, weeks begin on a Monday and week 1 of the year is the week that includes
+ // January 4th, which is also the week that includes the first Thursday of the year, and
+ // is also the first week that contains at least four days in the year.
+ // If the first Monday of January is the 2nd, 3rd, or 4th, the preceding days are part of
+ // the last week of the preceding year; thus, for Saturday 2nd January 1999,
+ // %G is replaced by 1998 and %V is replaced by 53. If December 29th, 30th,
+ // or 31st is a Monday, it and any following days are part of week 1 of the following year.
+ // Thus, for Tuesday 30th December 1997, %G is replaced by 1998 and %V is replaced by 01.
+
+ return getWeekBasedYear(date).toString().substring(2);
+ },
+ '%G': function(date) {
+ return getWeekBasedYear(date);
+ },
+ '%H': function(date) {
+ return leadingNulls(date.tm_hour, 2);
+ },
+ '%I': function(date) {
+ var twelveHour = date.tm_hour;
+ if (twelveHour == 0) twelveHour = 12;
+ else if (twelveHour > 12) twelveHour -= 12;
+ return leadingNulls(twelveHour, 2);
+ },
+ '%j': function(date) {
+ // Day of the year (001-366)
+ return leadingNulls(date.tm_mday+__arraySum(__isLeapYear(date.tm_year+1900) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, date.tm_mon-1), 3);
+ },
+ '%m': function(date) {
+ return leadingNulls(date.tm_mon+1, 2);
+ },
+ '%M': function(date) {
+ return leadingNulls(date.tm_min, 2);
+ },
+ '%n': function() {
+ return '\n';
+ },
+ '%p': function(date) {
+ if (date.tm_hour >= 0 && date.tm_hour < 12) {
+ return 'AM';
+ } else {
+ return 'PM';
+ }
+ },
+ '%S': function(date) {
+ return leadingNulls(date.tm_sec, 2);
+ },
+ '%t': function() {
+ return '\t';
+ },
+ '%u': function(date) {
+ var day = new Date(date.tm_year+1900, date.tm_mon+1, date.tm_mday, 0, 0, 0, 0);
+ return day.getDay() || 7;
+ },
+ '%U': function(date) {
+ // Replaced by the week number of the year as a decimal number [00,53].
+ // The first Sunday of January is the first day of week 1;
+ // days in the new year before this are in week 0. [ tm_year, tm_wday, tm_yday]
+ var janFirst = new Date(date.tm_year+1900, 0, 1);
+ var firstSunday = janFirst.getDay() === 0 ? janFirst : __addDays(janFirst, 7-janFirst.getDay());
+ var endDate = new Date(date.tm_year+1900, date.tm_mon, date.tm_mday);
+
+ // is target date after the first Sunday?
+ if (compareByDay(firstSunday, endDate) < 0) {
+ // calculate difference in days between first Sunday and endDate
+ var februaryFirstUntilEndMonth = __arraySum(__isLeapYear(endDate.getFullYear()) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, endDate.getMonth()-1)-31;
+ var firstSundayUntilEndJanuary = 31-firstSunday.getDate();
+ var days = firstSundayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();
+ return leadingNulls(Math.ceil(days/7), 2);
+ }
+
+ return compareByDay(firstSunday, janFirst) === 0 ? '01': '00';
+ },
+ '%V': function(date) {
+ // Replaced by the week number of the year (Monday as the first day of the week)
+ // as a decimal number [01,53]. If the week containing 1 January has four
+ // or more days in the new year, then it is considered week 1.
+ // Otherwise, it is the last week of the previous year, and the next week is week 1.
+ // Both January 4th and the first Thursday of January are always in week 1. [ tm_year, tm_wday, tm_yday]
+ var janFourthThisYear = new Date(date.tm_year+1900, 0, 4);
+ var janFourthNextYear = new Date(date.tm_year+1901, 0, 4);
+
+ var firstWeekStartThisYear = getFirstWeekStartDate(janFourthThisYear);
+ var firstWeekStartNextYear = getFirstWeekStartDate(janFourthNextYear);
+
+ var endDate = __addDays(new Date(date.tm_year+1900, 0, 1), date.tm_yday);
+
+ if (compareByDay(endDate, firstWeekStartThisYear) < 0) {
+ // if given date is before this years first week, then it belongs to the 53rd week of last year
+ return '53';
+ }
+
+ if (compareByDay(firstWeekStartNextYear, endDate) <= 0) {
+ // if given date is after next years first week, then it belongs to the 01th week of next year
+ return '01';
+ }
+
+ // given date is in between CW 01..53 of this calendar year
+ var daysDifference;
+ if (firstWeekStartThisYear.getFullYear() < date.tm_year+1900) {
+ // first CW of this year starts last year
+ daysDifference = date.tm_yday+32-firstWeekStartThisYear.getDate()
+ } else {
+ // first CW of this year starts this year
+ daysDifference = date.tm_yday+1-firstWeekStartThisYear.getDate();
+ }
+ return leadingNulls(Math.ceil(daysDifference/7), 2);
+ },
+ '%w': function(date) {
+ var day = new Date(date.tm_year+1900, date.tm_mon+1, date.tm_mday, 0, 0, 0, 0);
+ return day.getDay();
+ },
+ '%W': function(date) {
+ // Replaced by the week number of the year as a decimal number [00,53].
+ // The first Monday of January is the first day of week 1;
+ // days in the new year before this are in week 0. [ tm_year, tm_wday, tm_yday]
+ var janFirst = new Date(date.tm_year, 0, 1);
+ var firstMonday = janFirst.getDay() === 1 ? janFirst : __addDays(janFirst, janFirst.getDay() === 0 ? 1 : 7-janFirst.getDay()+1);
+ var endDate = new Date(date.tm_year+1900, date.tm_mon, date.tm_mday);
+
+ // is target date after the first Monday?
+ if (compareByDay(firstMonday, endDate) < 0) {
+ var februaryFirstUntilEndMonth = __arraySum(__isLeapYear(endDate.getFullYear()) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, endDate.getMonth()-1)-31;
+ var firstMondayUntilEndJanuary = 31-firstMonday.getDate();
+ var days = firstMondayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();
+ return leadingNulls(Math.ceil(days/7), 2);
+ }
+ return compareByDay(firstMonday, janFirst) === 0 ? '01': '00';
+ },
+ '%y': function(date) {
+ // Replaced by the last two digits of the year as a decimal number [00,99]. [ tm_year]
+ return (date.tm_year+1900).toString().substring(2);
+ },
+ '%Y': function(date) {
+ // Replaced by the year as a decimal number (for example, 1997). [ tm_year]
+ return date.tm_year+1900;
+ },
+ '%z': function(date) {
+ // Replaced by the offset from UTC in the ISO 8601:2000 standard format ( +hhmm or -hhmm ).
+ // For example, "-0430" means 4 hours 30 minutes behind UTC (west of Greenwich).
+ var off = date.tm_gmtoff;
+ var ahead = off >= 0;
+ off = Math.abs(off) / 60;
+ // convert from minutes into hhmm format (which means 60 minutes = 100 units)
+ off = (off / 60)*100 + (off % 60);
+ return (ahead ? '+' : '-') + String("0000" + off).slice(-4);
+ },
+ '%Z': function(date) {
+ return date.tm_zone;
+ },
+ '%%': function() {
+ return '%';
+ }
+ };
+ for (var rule in EXPANSION_RULES_2) {
+ if (pattern.indexOf(rule) >= 0) {
+ pattern = pattern.replace(new RegExp(rule, 'g'), EXPANSION_RULES_2[rule](date));
+ }
+ }
+
+ var bytes = intArrayFromString(pattern, false);
+ if (bytes.length > maxsize) {
+ return 0;
+ }
+
+ writeArrayToMemory(bytes, s);
+ return bytes.length-1;
+ }
+
+ function _sysconf(name) {
+ // long sysconf(int name);
+ // http://pubs.opengroup.org/onlinepubs/009695399/functions/sysconf.html
+ switch(name) {
+ case 30: return PAGE_SIZE;
+ case 85:
+ var maxHeapSize = 2*1024*1024*1024 - 16777216;
+ maxHeapSize = HEAPU8.length;
+ return maxHeapSize / PAGE_SIZE;
+ case 132:
+ case 133:
+ case 12:
+ case 137:
+ case 138:
+ case 15:
+ case 235:
+ case 16:
+ case 17:
+ case 18:
+ case 19:
+ case 20:
+ case 149:
+ case 13:
+ case 10:
+ case 236:
+ case 153:
+ case 9:
+ case 21:
+ case 22:
+ case 159:
+ case 154:
+ case 14:
+ case 77:
+ case 78:
+ case 139:
+ case 80:
+ case 81:
+ case 82:
+ case 68:
+ case 67:
+ case 164:
+ case 11:
+ case 29:
+ case 47:
+ case 48:
+ case 95:
+ case 52:
+ case 51:
+ case 46:
+ return 200809;
+ case 79:
+ return 0;
+ case 27:
+ case 246:
+ case 127:
+ case 128:
+ case 23:
+ case 24:
+ case 160:
+ case 161:
+ case 181:
+ case 182:
+ case 242:
+ case 183:
+ case 184:
+ case 243:
+ case 244:
+ case 245:
+ case 165:
+ case 178:
+ case 179:
+ case 49:
+ case 50:
+ case 168:
+ case 169:
+ case 175:
+ case 170:
+ case 171:
+ case 172:
+ case 97:
+ case 76:
+ case 32:
+ case 173:
+ case 35:
+ return -1;
+ case 176:
+ case 177:
+ case 7:
+ case 155:
+ case 8:
+ case 157:
+ case 125:
+ case 126:
+ case 92:
+ case 93:
+ case 129:
+ case 130:
+ case 131:
+ case 94:
+ case 91:
+ return 1;
+ case 74:
+ case 60:
+ case 69:
+ case 70:
+ case 4:
+ return 1024;
+ case 31:
+ case 42:
+ case 72:
+ return 32;
+ case 87:
+ case 26:
+ case 33:
+ return 2147483647;
+ case 34:
+ case 1:
+ return 47839;
+ case 38:
+ case 36:
+ return 99;
+ case 43:
+ case 37:
+ return 2048;
+ case 0: return 2097152;
+ case 3: return 65536;
+ case 28: return 32768;
+ case 44: return 32767;
+ case 75: return 16384;
+ case 39: return 1000;
+ case 89: return 700;
+ case 71: return 256;
+ case 40: return 255;
+ case 2: return 100;
+ case 180: return 64;
+ case 25: return 20;
+ case 5: return 16;
+ case 6: return 6;
+ case 73: return 4;
+ case 84: {
+ if (typeof navigator === 'object') return navigator['hardwareConcurrency'] || 1;
+ return 1;
+ }
+ }
+ ___setErrNo(ERRNO_CODES.EINVAL);
+ return -1;
+ }
+
+ function _time(ptr) {
+ var ret = (Date.now()/1000)|0;
+ if (ptr) {
+ HEAP32[((ptr)>>2)]=ret;
+ }
+ return ret;
+ }
+FS.staticInit();__ATINIT__.unshift(function() { if (!Module["noFSInit"] && !FS.init.initialized) FS.init() });__ATMAIN__.push(function() { FS.ignorePermissions = false });__ATEXIT__.push(function() { FS.quit() });;
+__ATINIT__.unshift(function() { TTY.init() });__ATEXIT__.push(function() { TTY.shutdown() });;
+if (ENVIRONMENT_IS_NODE) { var fs = require("fs"); var NODEJS_PATH = require("path"); NODEFS.staticInit(); };
+DYNAMICTOP_PTR = staticAlloc(4);
+
+STACK_BASE = STACKTOP = alignMemory(STATICTOP);
+
+STACK_MAX = STACK_BASE + TOTAL_STACK;
+
+DYNAMIC_BASE = alignMemory(STACK_MAX);
+
+HEAP32[DYNAMICTOP_PTR>>2] = DYNAMIC_BASE;
+
+staticSealed = true; // seal the static portion of memory
+
+assert(DYNAMIC_BASE < TOTAL_MEMORY, "TOTAL_MEMORY not big enough for stack");
+
+var ASSERTIONS = true;
+
+/** @type {function(string, boolean=, number=)} */
+function intArrayFromString(stringy, dontAddNull, length) {
+ var len = length > 0 ? length : lengthBytesUTF8(stringy)+1;
+ var u8array = new Array(len);
+ var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length);
+ if (dontAddNull) u8array.length = numBytesWritten;
+ return u8array;
+}
+
+function intArrayToString(array) {
+ var ret = [];
+ for (var i = 0; i < array.length; i++) {
+ var chr = array[i];
+ if (chr > 0xFF) {
+ if (ASSERTIONS) {
+ 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('');
+}
+
+
+// Copied from https://github.com/strophe/strophejs/blob/e06d027/src/polyfills.js#L149
+
+// This code was written by Tyler Akins and has been placed in the
+// public domain. It would be nice if you left this header intact.
+// Base64 code from Tyler Akins -- http://rumkin.com
+
+/**
+ * Decodes a base64 string.
+ * @param {String} input The string to decode.
+ */
+var decodeBase64 = typeof atob === 'function' ? atob : function (input) {
+ var keyStr = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';
+
+ var output = '';
+ var chr1, chr2, chr3;
+ var enc1, enc2, enc3, enc4;
+ var i = 0;
+ // remove all characters that are not A-Z, a-z, 0-9, +, /, or =
+ input = input.replace(/[^A-Za-z0-9\+\/\=]/g, '');
+ do {
+ enc1 = keyStr.indexOf(input.charAt(i++));
+ enc2 = keyStr.indexOf(input.charAt(i++));
+ enc3 = keyStr.indexOf(input.charAt(i++));
+ enc4 = keyStr.indexOf(input.charAt(i++));
+
+ chr1 = (enc1 << 2) | (enc2 >> 4);
+ chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
+ chr3 = ((enc3 & 3) << 6) | enc4;
+
+ output = output + String.fromCharCode(chr1);
+
+ if (enc3 !== 64) {
+ output = output + String.fromCharCode(chr2);
+ }
+ if (enc4 !== 64) {
+ output = output + String.fromCharCode(chr3);
+ }
+ } while (i < input.length);
+ return output;
+};
+
+// Converts a string of base64 into a byte array.
+// Throws error on invalid input.
+function intArrayFromBase64(s) {
+ if (typeof ENVIRONMENT_IS_NODE === 'boolean' && ENVIRONMENT_IS_NODE) {
+ var buf;
+ try {
+ buf = Buffer.from(s, 'base64');
+ } catch (_) {
+ buf = new Buffer(s, 'base64');
+ }
+ return new Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength);
+ }
+
+ try {
+ var decoded = decodeBase64(s);
+ var bytes = new Uint8Array(decoded.length);
+ for (var i = 0 ; i < decoded.length ; ++i) {
+ bytes[i] = decoded.charCodeAt(i);
+ }
+ return bytes;
+ } catch (_) {
+ throw new Error('Converting base64 string to bytes failed.');
+ }
+}
+
+// If filename is a base64 data URI, parses and returns data (Buffer on node,
+// Uint8Array otherwise). If filename is not a base64 data URI, returns undefined.
+function tryParseAsDataURI(filename) {
+ if (!isDataURI(filename)) {
+ return;
+ }
+
+ return intArrayFromBase64(filename.slice(dataURIPrefix.length));
+}
+
+
+
+function nullFunc_ii(x) { err("Invalid function pointer called with signature 'ii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); err("Build with ASSERTIONS=2 for more info.");abort(x) }
+
+function nullFunc_iii(x) { err("Invalid function pointer called with signature 'iii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); err("Build with ASSERTIONS=2 for more info.");abort(x) }
+
+function nullFunc_iiii(x) { err("Invalid function pointer called with signature 'iiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); err("Build with ASSERTIONS=2 for more info.");abort(x) }
+
+function nullFunc_iiiii(x) { err("Invalid function pointer called with signature 'iiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); err("Build with ASSERTIONS=2 for more info.");abort(x) }
+
+function nullFunc_v(x) { err("Invalid function pointer called with signature 'v'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); err("Build with ASSERTIONS=2 for more info.");abort(x) }
+
+function nullFunc_vi(x) { err("Invalid function pointer called with signature 'vi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); err("Build with ASSERTIONS=2 for more info.");abort(x) }
+
+function nullFunc_vii(x) { err("Invalid function pointer called with signature 'vii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); err("Build with ASSERTIONS=2 for more info.");abort(x) }
+
+function nullFunc_viii(x) { err("Invalid function pointer called with signature 'viii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); err("Build with ASSERTIONS=2 for more info.");abort(x) }
+
+function nullFunc_viiii(x) { err("Invalid function pointer called with signature 'viiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); err("Build with ASSERTIONS=2 for more info.");abort(x) }
+
+function nullFunc_viiiii(x) { err("Invalid function pointer called with signature 'viiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); err("Build with ASSERTIONS=2 for more info.");abort(x) }
+
+function nullFunc_viiiiii(x) { err("Invalid function pointer called with signature 'viiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); err("Build with ASSERTIONS=2 for more info.");abort(x) }
+
+function invoke_ii(index,a1) {
+ var sp = stackSave();
+ try {
+ return Module["dynCall_ii"](index,a1);
+ } catch(e) {
+ stackRestore(sp);
+ if (typeof e !== 'number' && e !== 'longjmp') throw e;
+ Module["setThrew"](1, 0);
+ }
+}
+
+function invoke_iii(index,a1,a2) {
+ var sp = stackSave();
+ try {
+ return Module["dynCall_iii"](index,a1,a2);
+ } catch(e) {
+ stackRestore(sp);
+ if (typeof e !== 'number' && e !== 'longjmp') throw e;
+ Module["setThrew"](1, 0);
+ }
+}
+
+function invoke_iiii(index,a1,a2,a3) {
+ var sp = stackSave();
+ try {
+ return Module["dynCall_iiii"](index,a1,a2,a3);
+ } catch(e) {
+ stackRestore(sp);
+ if (typeof e !== 'number' && e !== 'longjmp') throw e;
+ Module["setThrew"](1, 0);
+ }
+}
+
+function invoke_iiiii(index,a1,a2,a3,a4) {
+ var sp = stackSave();
+ try {
+ return Module["dynCall_iiiii"](index,a1,a2,a3,a4);
+ } catch(e) {
+ stackRestore(sp);
+ if (typeof e !== 'number' && e !== 'longjmp') throw e;
+ Module["setThrew"](1, 0);
+ }
+}
+
+function invoke_v(index) {
+ var sp = stackSave();
+ try {
+ Module["dynCall_v"](index);
+ } catch(e) {
+ stackRestore(sp);
+ if (typeof e !== 'number' && e !== 'longjmp') throw e;
+ Module["setThrew"](1, 0);
+ }
+}
+
+function invoke_vi(index,a1) {
+ var sp = stackSave();
+ try {
+ Module["dynCall_vi"](index,a1);
+ } catch(e) {
+ stackRestore(sp);
+ if (typeof e !== 'number' && e !== 'longjmp') throw e;
+ Module["setThrew"](1, 0);
+ }
+}
+
+function invoke_vii(index,a1,a2) {
+ var sp = stackSave();
+ try {
+ Module["dynCall_vii"](index,a1,a2);
+ } catch(e) {
+ stackRestore(sp);
+ if (typeof e !== 'number' && e !== 'longjmp') throw e;
+ Module["setThrew"](1, 0);
+ }
+}
+
+function invoke_viii(index,a1,a2,a3) {
+ var sp = stackSave();
+ try {
+ Module["dynCall_viii"](index,a1,a2,a3);
+ } catch(e) {
+ stackRestore(sp);
+ if (typeof e !== 'number' && e !== 'longjmp') throw e;
+ Module["setThrew"](1, 0);
+ }
+}
+
+function invoke_viiii(index,a1,a2,a3,a4) {
+ var sp = stackSave();
+ try {
+ Module["dynCall_viiii"](index,a1,a2,a3,a4);
+ } catch(e) {
+ stackRestore(sp);
+ if (typeof e !== 'number' && e !== 'longjmp') throw e;
+ Module["setThrew"](1, 0);
+ }
+}
+
+function invoke_viiiii(index,a1,a2,a3,a4,a5) {
+ var sp = stackSave();
+ try {
+ Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5);
+ } catch(e) {
+ stackRestore(sp);
+ if (typeof e !== 'number' && e !== 'longjmp') throw e;
+ Module["setThrew"](1, 0);
+ }
+}
+
+function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6) {
+ var sp = stackSave();
+ try {
+ Module["dynCall_viiiiii"](index,a1,a2,a3,a4,a5,a6);
+ } catch(e) {
+ stackRestore(sp);
+ if (typeof e !== 'number' && e !== 'longjmp') throw e;
+ Module["setThrew"](1, 0);
+ }
+}
+
+Module.asmGlobalArg = { "Math": Math, "Int8Array": Int8Array, "Int16Array": Int16Array, "Int32Array": Int32Array, "Uint8Array": Uint8Array, "Uint16Array": Uint16Array, "Uint32Array": Uint32Array, "Float32Array": Float32Array, "Float64Array": Float64Array, "NaN": NaN, "Infinity": Infinity };
+
+Module.asmLibraryArg = { "abort": abort, "assert": assert, "enlargeMemory": enlargeMemory, "getTotalMemory": getTotalMemory, "abortOnCannotGrowMemory": abortOnCannotGrowMemory, "abortStackOverflow": abortStackOverflow, "nullFunc_ii": nullFunc_ii, "nullFunc_iii": nullFunc_iii, "nullFunc_iiii": nullFunc_iiii, "nullFunc_iiiii": nullFunc_iiiii, "nullFunc_v": nullFunc_v, "nullFunc_vi": nullFunc_vi, "nullFunc_vii": nullFunc_vii, "nullFunc_viii": nullFunc_viii, "nullFunc_viiii": nullFunc_viiii, "nullFunc_viiiii": nullFunc_viiiii, "nullFunc_viiiiii": nullFunc_viiiiii, "invoke_ii": invoke_ii, "invoke_iii": invoke_iii, "invoke_iiii": invoke_iiii, "invoke_iiiii": invoke_iiiii, "invoke_v": invoke_v, "invoke_vi": invoke_vi, "invoke_vii": invoke_vii, "invoke_viii": invoke_viii, "invoke_viiii": invoke_viiii, "invoke_viiiii": invoke_viiiii, "invoke_viiiiii": invoke_viiiiii, "___assert_fail": ___assert_fail, "___buildEnvironment": ___buildEnvironment, "___lock": ___lock, "___setErrNo": ___setErrNo, "___syscall140": ___syscall140, "___syscall142": ___syscall142, "___syscall145": ___syscall145, "___syscall146": ___syscall146, "___syscall192": ___syscall192, "___syscall194": ___syscall194, "___syscall195": ___syscall195, "___syscall197": ___syscall197, "___syscall199": ___syscall199, "___syscall20": ___syscall20, "___syscall201": ___syscall201, "___syscall202": ___syscall202, "___syscall221": ___syscall221, "___syscall3": ___syscall3, "___syscall33": ___syscall33, "___syscall4": ___syscall4, "___syscall5": ___syscall5, "___syscall54": ___syscall54, "___syscall6": ___syscall6, "___syscall64": ___syscall64, "___syscall77": ___syscall77, "___syscall91": ___syscall91, "___unlock": ___unlock, "__addDays": __addDays, "__arraySum": __arraySum, "__isLeapYear": __isLeapYear, "_abort": _abort, "_atexit": _atexit, "_clock": _clock, "_emscripten_memcpy_big": _emscripten_memcpy_big, "_getenv": _getenv, "_gettimeofday": _gettimeofday, "_llvm_stackrestore": _llvm_stackrestore, "_llvm_stacksave": _llvm_stacksave, "_localtime": _localtime, "_localtime_r": _localtime_r, "_pthread_mutex_destroy": _pthread_mutex_destroy, "_pthread_mutex_init": _pthread_mutex_init, "_strftime": _strftime, "_sysconf": _sysconf, "_time": _time, "_tzset": _tzset, "DYNAMICTOP_PTR": DYNAMICTOP_PTR, "tempDoublePtr": tempDoublePtr, "STACKTOP": STACKTOP, "STACK_MAX": STACK_MAX };
+// EMSCRIPTEN_START_ASM
+var asm = (/** @suppress {uselessCode} */ 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 DYNAMICTOP_PTR=env.DYNAMICTOP_PTR|0;
+ var tempDoublePtr=env.tempDoublePtr|0;
+ var STACKTOP=env.STACKTOP|0;
+ var STACK_MAX=env.STACK_MAX|0;
+
+ var __THREW__ = 0;
+ var threwValue = 0;
+ var setjmpId = 0;
+ var undef = 0;
+ var nan = global.NaN, inf = global.Infinity;
+ var tempInt = 0, tempBigInt = 0, tempBigIntS = 0, tempValue = 0, tempDouble = 0.0;
+ var tempRet0 = 0;
+
+ var Math_floor=global.Math.floor;
+ var Math_abs=global.Math.abs;
+ var Math_sqrt=global.Math.sqrt;
+ var Math_pow=global.Math.pow;
+ var Math_cos=global.Math.cos;
+ var Math_sin=global.Math.sin;
+ var Math_tan=global.Math.tan;
+ var Math_acos=global.Math.acos;
+ var Math_asin=global.Math.asin;
+ var Math_atan=global.Math.atan;
+ var Math_atan2=global.Math.atan2;
+ var Math_exp=global.Math.exp;
+ var Math_log=global.Math.log;
+ var Math_ceil=global.Math.ceil;
+ var Math_imul=global.Math.imul;
+ var Math_min=global.Math.min;
+ var Math_max=global.Math.max;
+ var Math_clz32=global.Math.clz32;
+ var abort=env.abort;
+ var assert=env.assert;
+ var enlargeMemory=env.enlargeMemory;
+ var getTotalMemory=env.getTotalMemory;
+ var abortOnCannotGrowMemory=env.abortOnCannotGrowMemory;
+ var abortStackOverflow=env.abortStackOverflow;
+ var nullFunc_ii=env.nullFunc_ii;
+ var nullFunc_iii=env.nullFunc_iii;
+ var nullFunc_iiii=env.nullFunc_iiii;
+ var nullFunc_iiiii=env.nullFunc_iiiii;
+ var nullFunc_v=env.nullFunc_v;
+ var nullFunc_vi=env.nullFunc_vi;
+ var nullFunc_vii=env.nullFunc_vii;
+ var nullFunc_viii=env.nullFunc_viii;
+ var nullFunc_viiii=env.nullFunc_viiii;
+ var nullFunc_viiiii=env.nullFunc_viiiii;
+ var nullFunc_viiiiii=env.nullFunc_viiiiii;
+ var invoke_ii=env.invoke_ii;
+ var invoke_iii=env.invoke_iii;
+ var invoke_iiii=env.invoke_iiii;
+ var invoke_iiiii=env.invoke_iiiii;
+ var invoke_v=env.invoke_v;
+ var invoke_vi=env.invoke_vi;
+ var invoke_vii=env.invoke_vii;
+ var invoke_viii=env.invoke_viii;
+ var invoke_viiii=env.invoke_viiii;
+ var invoke_viiiii=env.invoke_viiiii;
+ var invoke_viiiiii=env.invoke_viiiiii;
+ var ___assert_fail=env.___assert_fail;
+ var ___buildEnvironment=env.___buildEnvironment;
+ var ___lock=env.___lock;
+ var ___setErrNo=env.___setErrNo;
+ var ___syscall140=env.___syscall140;
+ var ___syscall142=env.___syscall142;
+ var ___syscall145=env.___syscall145;
+ var ___syscall146=env.___syscall146;
+ var ___syscall192=env.___syscall192;
+ var ___syscall194=env.___syscall194;
+ var ___syscall195=env.___syscall195;
+ var ___syscall197=env.___syscall197;
+ var ___syscall199=env.___syscall199;
+ var ___syscall20=env.___syscall20;
+ var ___syscall201=env.___syscall201;
+ var ___syscall202=env.___syscall202;
+ var ___syscall221=env.___syscall221;
+ var ___syscall3=env.___syscall3;
+ var ___syscall33=env.___syscall33;
+ var ___syscall4=env.___syscall4;
+ var ___syscall5=env.___syscall5;
+ var ___syscall54=env.___syscall54;
+ var ___syscall6=env.___syscall6;
+ var ___syscall64=env.___syscall64;
+ var ___syscall77=env.___syscall77;
+ var ___syscall91=env.___syscall91;
+ var ___unlock=env.___unlock;
+ var __addDays=env.__addDays;
+ var __arraySum=env.__arraySum;
+ var __isLeapYear=env.__isLeapYear;
+ var _abort=env._abort;
+ var _atexit=env._atexit;
+ var _clock=env._clock;
+ var _emscripten_memcpy_big=env._emscripten_memcpy_big;
+ var _getenv=env._getenv;
+ var _gettimeofday=env._gettimeofday;
+ var _llvm_stackrestore=env._llvm_stackrestore;
+ var _llvm_stacksave=env._llvm_stacksave;
+ var _localtime=env._localtime;
+ var _localtime_r=env._localtime_r;
+ var _pthread_mutex_destroy=env._pthread_mutex_destroy;
+ var _pthread_mutex_init=env._pthread_mutex_init;
+ var _strftime=env._strftime;
+ var _sysconf=env._sysconf;
+ var _time=env._time;
+ var _tzset=env._tzset;
+ var tempFloat = 0.0;
+
// EMSCRIPTEN_START_FUNCS
-function Ab(a){a=a|0;var b=0;b=l;l=l+a|0;l=l+15&-16;if((l|0)>=(m|0))$(a|0);return b|0}function Bb(){return l|0}function Cb(a){a=a|0;l=a}function Db(a,b){a=a|0;b=b|0;l=a;m=b}function Eb(a,b){a=a|0;b=b|0;if(!o){o=a;p=b}}function Fb(a){a=a|0;D=a}function Gb(){return D|0}function Hb(a){a=a|0;var b=0;b=Pb(32,19010,38)|0;jc(a,b);return b|0}function Ib(a){a=a|0;var b=0;b=Pb(32,19010,56)|0;hc(a,b);return b|0}function Jb(a){a=a|0;var b=0;b=Pb(32,19010,73)|0;lc(a,b);return b|0}function Kb(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;f=d+8|0;e=Pb(f,19010,87)|0;cr(e+8|0,c|0,d|0)|0;c=Xp(b)|0;d=e+4|0;a[d>>0]=c;a[d+1>>0]=c>>8;a[d+2>>0]=c>>16;a[d+3>>0]=c>>24;d=Xp(f)|0;a[e>>0]=d;a[e+1>>0]=d>>8;a[e+2>>0]=d>>16;a[e+3>>0]=d>>24;return e|0}function Lb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=l;l=l+32|0;if((l|0)>=(m|0))$(32);f=g;if((no(e,f)|0)!=1){f=0;l=g;return f|0}e=f;c[e>>2]=a;c[e+4>>2]=b;c[f+8>>2]=d;e=Pb(24,19010,117)|0;c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];c[e+16>>2]=c[f+16>>2];c[e+20>>2]=c[f+20>>2];f=e;l=g;return f|0}function Mb(a){a=a|0;D=c[a+4>>2]|0;return c[a>>2]|0}function Nb(a){a=a|0;return c[a+8>>2]|0}function Ob(a){a=a|0;return a+12|0}function Pb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0;q=l;l=l+64|0;if((l|0)>=(m|0))$(64);p=q+24|0;o=q+8|0;n=q;e=q+56|0;f=q+52|0;g=q+48|0;h=q+44|0;i=q+40|0;j=q+36|0;k=q+32|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if((c[e>>2]|0)>>>0>41943040){c[i>>2]=74;if((c[178]|0)==-1)c[178]=Wb(1,0,19017,19037,c[i>>2]|0)|0;if((Xb()|0)>0){Yb(-1,0);Vb()}if(!(c[178]|0))Vb();i=c[g>>2]|0;c[n>>2]=c[f>>2];c[n+4>>2]=i;Zb(1,61295,n);Vb()}c[h>>2]=Qb(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;if(c[h>>2]|0){l=q;return c[h>>2]|0}c[j>>2]=81;if((c[179]|0)==-1)c[179]=Wb(1,20980,19017,19037,c[j>>2]|0)|0;if((Xb()|0)<=0){if(c[179]|0){q=dp(c[(zo()|0)>>2]|0)|0;c[o>>2]=19053;c[o+4>>2]=19017;c[o+8>>2]=81;c[o+12>>2]=q;cc(1,20980,20531,o)}}else Yb(-1,0);c[k>>2]=82;if((c[180]|0)==-1)c[180]=Wb(1,0,19017,19037,c[k>>2]|0)|0;if((Xb()|0)>0){Yb(-1,0);Vb()}if(!(c[180]|0))Vb();c[p>>2]=19017;c[p+4>>2]=82;Zb(1,61295,p);Vb();return 0}function Qb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+32|0;if((l|0)>=(m|0))$(32);e=h+16|0;f=h+12|0;g=h;c[f>>2]=a;c[h+8>>2]=b;c[h+4>>2]=d;c[g>>2]=Oq(c[f>>2]|0)|0;if(!(c[g>>2]|0)){c[e>>2]=0;g=c[e>>2]|0;l=h;return g|0}else{Yq(c[g>>2]|0,0,c[f>>2]|0)|0;c[e>>2]=c[g>>2];g=c[e>>2]|0;l=h;return g|0}return 0}function Rb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;if((l|0)>=(m|0))$(32);i=j;e=j+20|0;f=j+16|0;g=j+12|0;h=j+8|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[e>>2]|0){Pq(c[e>>2]|0);l=j;return}c[h>>2]=311;if((c[181]|0)==-1)c[181]=Wb(1,0,19017,19060,c[h>>2]|0)|0;if((Xb()|0)>0){Yb(-1,0);Vb()}if(!(c[181]|0))Vb();j=c[g>>2]|0;c[i>>2]=c[f>>2];c[i+4>>2]=j;Zb(1,61295,i);Vb()}function Sb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0;i=l;l=l+48|0;if((l|0)>=(m|0))$(48);h=i;o=i+44|0;j=i+40|0;n=i+36|0;f=i+32|0;k=i+16|0;g=i+8|0;c[o>>2]=a;c[j>>2]=b;c[n>>2]=d;c[k>>2]=e;c[f>>2]=mp(c[o>>2]|0,c[j>>2]|0,c[n>>2]|0,k)|0;if((c[f>>2]|0)>>>0<(c[j>>2]|0)>>>0){l=i;return c[f>>2]|0}c[g>>2]=506;if((c[182]|0)==-1)c[182]=Wb(1,0,19017,19074,c[g>>2]|0)|0;if((Xb()|0)>0){Yb(-1,0);Vb()}if(!(c[182]|0))Vb();c[h>>2]=19017;c[h+4>>2]=506;Zb(1,61295,h);Vb();return 0}function Tb(){c[17562]=c[3935];return}function Ub(){return}function Vb(){za()}function Wb(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+48|0;if((l|0)>=(m|0))$(48);r=s+32|0;k=s+28|0;n=s+24|0;o=s+20|0;p=s+16|0;g=s+12|0;h=s+8|0;i=s+4|0;j=s;c[k>>2]=a;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[g>>2]=f;if(!(c[n>>2]|0))c[n>>2]=c[17563];if((c[17564]|0)>=0&0==(c[17565]|0)){c[r>>2]=(c[k>>2]|0)<=(c[17564]|0)&1;r=c[r>>2]|0;l=s;return r|0}c[j>>2]=(c[17564]|0)>=0&1;c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[17566]|0))break;c[h>>2]=(c[17567]|0)+((c[i>>2]|0)*112|0);if(!(c[j>>2]|0?!(c[(c[h>>2]|0)+108>>2]|0):0))q=9;if((((((q|0)==9?(q=0,(c[g>>2]|0)>=(c[(c[h>>2]|0)+96>>2]|0)):0)?(c[g>>2]|0)<=(c[(c[h>>2]|0)+100>>2]|0):0)?0==(Kq(c[h>>2]|0,c[n>>2]|0,0,0,0)|0):0)?0==(Kq((c[h>>2]|0)+32|0,c[o>>2]|0,0,0,0)|0):0)?0==(Kq((c[h>>2]|0)+64|0,c[p>>2]|0,0,0,0)|0):0){q=14;break}c[i>>2]=(c[i>>2]|0)+1}if((q|0)==14){c[r>>2]=(c[k>>2]|0)<=(c[(c[h>>2]|0)+104>>2]|0)&1;r=c[r>>2]|0;l=s;return r|0}a=c[k>>2]|0;if((c[17564]|0)>=0){c[r>>2]=(a|0)<=(c[17564]|0)&1;r=c[r>>2]|0;l=s;return r|0}else{c[r>>2]=(a|0)<=4&1;r=c[r>>2]|0;l=s;return r|0}return 0}function Xb(){return c[17572]|0}function Yb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;if((l|0)>=(m|0))$(32);h=i;d=i+20|0;e=i+16|0;f=i+12|0;g=i+8|0;c[d>>2]=a;c[e>>2]=b;if(c[d>>2]|0){c[17572]=(c[17572]|0)+(c[d>>2]|0);l=i;return}c[f>>2]=0==(c[17572]|0)&1;c[17572]=0;if((c[e>>2]|0)==0|(c[f>>2]|0)!=0){l=i;return}c[g>>2]=906;if((c[184]|0)==-1)c[184]=Wb(1,0,19090,19268,c[g>>2]|0)|0;if((Xb()|0)>0){Yb(-1,0);l=i;return}if(!(c[184]|0)){l=i;return}c[h>>2]=19090;c[h+4>>2]=906;Zb(1,61295,h);l=i;return}function Zb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+32|0;if((l|0)>=(m|0))$(32);h=e+20|0;g=e+16|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;_b(c[h>>2]|0,c[17568]|0,c[g>>2]|0,f);l=e;return}function _b(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=l;l=l+240|0;if((l|0)>=(m|0))$(240);y=A+40|0;z=A+32|0;h=A+24|0;s=A+108|0;t=A+104|0;u=A+100|0;v=A+96|0;w=A+176|0;x=A+112|0;j=A+92|0;k=A+88|0;B=A+72|0;g=A+68|0;n=A+64|0;i=A+16|0;o=A+56|0;p=A+8|0;q=A+48|0;r=A;c[s>>2]=b;c[t>>2]=d;c[u>>2]=e;c[v>>2]=f;c[B>>2]=c[c[v>>2]>>2];c[k>>2]=(mp(0,0,c[u>>2]|0,B)|0)+1;if(!(c[k>>2]|0)){c[g>>2]=952;if((c[183]|0)==-1)c[183]=Wb(1,0,19090,19113,c[g>>2]|0)|0;if((Xb()|0)>0){Yb(-1,0);Vb()}if(!(c[183]|0))Vb();c[h>>2]=19090;c[h+4>>2]=952;Zb(1,61295,h);Vb()}b=w;d=b+64|0;do{a[b>>0]=0;b=b+1|0}while((b|0)<(d|0));b=c[k>>2]|0;c[n>>2]=Va()|0;g=l;l=l+((1*b|0)+15&-16)|0;if((l|0)>=(m|0))$((1*b|0)+15&-16|0);gb(o|0,0)|0;h=qd()|0;B=i;c[B>>2]=h;c[B+4>>2]=D;B=i;h=c[B+4>>2]|0;B=(h|0)>0|(h|0)==0&(c[B>>2]|0)>>>0>0;h=i;h=br(c[h>>2]|0,c[h+4>>2]|0,1e3,0)|0;f=c[o>>2]|0;h=_q(f|0,((f|0)<0)<<31>>31|0,h|0,D|0)|0;c[o>>2]=h;do if(B){i=or(c[i>>2]|0,c[i+4>>2]|0,1e3,0)|0;i=kr(i|0,D|0,1e3,0)|0;B=o+4|0;h=c[B>>2]|0;i=_q(h|0,((h|0)<0)<<31>>31|0,i|0,D|0)|0;c[B>>2]=i;B=c[o+4>>2]|0;i=((B|0)<0)<<31>>31;if((i|0)>0|(i|0)==0&B>>>0>1e6){B=o+4|0;i=c[B>>2]|0;i=Xq(i|0,((i|0)<0)<<31>>31|0,1e6,0)|0;c[B>>2]=i;c[o>>2]=(c[o>>2]|0)+1}}else{h=c[o+4>>2]|0;e=((h|0)<0)<<31>>31;B=i;B=or(c[B>>2]|0,c[B+4>>2]|0,1e3,0)|0;B=Xq(0,0,B|0,D|0)|0;B=kr(B|0,D|0,1e3,0)|0;f=D;b=i;b=or(c[b>>2]|0,c[b+4>>2]|0,1e3,0)|0;b=kr(b|0,D|0,1e3,0)|0;d=D;if((e|0)>(f|0)|(e|0)==(f|0)&h>>>0>B>>>0){B=o+4|0;i=c[B>>2]|0;i=_q(i|0,((i|0)<0)<<31>>31|0,b|0,d|0)|0;c[B>>2]=i;break}else{i=_q(1e6,0,b|0,d|0)|0;B=o+4|0;h=c[B>>2]|0;i=_q(h|0,((h|0)<0)<<31>>31|0,i|0,D|0)|0;c[B>>2]=i;c[o>>2]=(c[o>>2]|0)+-1;break}}while(0);c[j>>2]=kb(o|0)|0;if(!(c[j>>2]|0))Mp(w,19119)|0;else{Pa(x|0,64,19135,c[j>>2]|0)|0;c[z>>2]=c[o+4>>2];lp(w,64,x,z)|0}mp(g,c[k>>2]|0,c[u>>2]|0,c[v>>2]|0)|0;B=70224;if(0!=(c[s>>2]&64|0)&(0!=(c[B>>2]|0)?1:0!=(c[B+4>>2]|0))?0==(Jo(g,71362,256)|0):0){c[17569]=(c[17569]|0)+1;c[y>>2]=c[17556];c[y+4>>2]=c[17557];z=ud(y)|0;B=p;c[B>>2]=z;c[B+4>>2]=D;B=p;z=c[B+4>>2]|0;if(z>>>0>10|(z|0)==10&(c[B>>2]|0)>>>0>250327040|(c[17569]|0)>>>0>1e3)$b(w);c[q>>2]=1;B=c[n>>2]|0;Ca(B|0);l=A;return}$b(w);Vp(71362,g,256)|0;c[17569]=0;c[17570]=c[s>>2];z=sd()|0;B=r;c[B>>2]=z;c[B+4>>2]=D;c[17556]=c[r>>2];c[17557]=c[r+4>>2];Vp(71618,c[t>>2]|0,32)|0;ac(c[s>>2]|0,c[t>>2]|0,w,g);c[q>>2]=0;B=c[n>>2]|0;Ca(B|0);l=A;return}function $b(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0;o=l;l=l+640|0;if((l|0)>=(m|0))$(640);d=o+32|0;n=o+16|0;e=o+52|0;f=o+56|0;g=o+48|0;h=o+44|0;i=o+40|0;j=o+8|0;k=o;c[e>>2]=b;b=70224;if((0==(c[b>>2]|0)?0==(c[b+4>>2]|0):0)|0==(c[17569]|0)){l=o;return}c[g>>2]=0;c[h>>2]=No(71362,0,256)|0;if(c[h>>2]|0){if((c[h>>2]|0)!=71362)c[h>>2]=(c[h>>2]|0)+-1}else c[h>>2]=71617;if((a[c[h>>2]>>0]|0)==10){c[g>>2]=1;a[c[h>>2]>>0]=0};c[d>>2]=c[17556];c[d+4>>2]=c[17557];p=ud(d)|0;b=j;c[b>>2]=p;c[b+4>>2]=D;c[d>>2]=c[j>>2];c[d+4>>2]=c[j+4>>2];c[i>>2]=ld(d,1)|0;b=c[17569]|0;j=c[i>>2]|0;c[n>>2]=256;c[n+4>>2]=71362;c[n+8>>2]=b;c[n+12>>2]=j;lp(f,576,19219,n)|0;if((c[g>>2]|0)==1)a[c[h>>2]>>0]=10;ac(c[17570]|0,71618,c[e>>2]|0,f);n=sd()|0;p=k;c[p>>2]=n;c[p+4>>2]=D;c[17556]=c[k>>2];c[17557]=c[k+4>>2];c[17569]=0;l=o;return}function ac(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0;o=l;l=l+48|0;if((l|0)>=(m|0))$(48);n=o+8|0;k=o;f=o+40|0;g=o+36|0;h=o+32|0;i=o+28|0;j=o+24|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[i>>2]=e;if(0!=(c[17562]|0)&0==(c[17571]|0)){a=c[17562]|0;if((c[f>>2]|0)==4){c[k>>2]=c[i>>2];Rp(a,19156,k)|0}else{b=c[h>>2]|0;d=c[g>>2]|0;e=bc(c[f>>2]|0)|0;k=c[i>>2]|0;c[n>>2]=b;c[n+4>>2]=d;c[n+8>>2]=e;c[n+12>>2]=k;Rp(a,19161,n)|0}$p(c[17562]|0)|0}c[j>>2]=c[17571];while(1){if(!(c[j>>2]|0))break;qb[c[(c[j>>2]|0)+4>>2]&15](c[(c[j>>2]|0)+8>>2]|0,c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,c[i>>2]|0);c[j>>2]=c[c[j>>2]>>2]}l=o;return}function bc(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;if((l|0)>=(m|0))$(16);b=e+4|0;d=e;c[d>>2]=a;do if((c[d>>2]&1|0)<=0){if((c[d>>2]&2|0)>0){c[b>>2]=19179;break}if((c[d>>2]&4|0)>0){c[b>>2]=19187;break}if((c[d>>2]&8|0)>0){c[b>>2]=19195;break}if((c[d>>2]&16|0)>0){c[b>>2]=19200;break}if(!(c[d>>2]&-65)){c[b>>2]=19206;break}else{c[b>>2]=19211;break}}else c[b>>2]=19173;while(0);l=e;return c[b>>2]|0}function cc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,n=0;n=l;l=l+176|0;if((l|0)>=(m|0))$(176);k=n;f=n+32|0;g=n+28|0;h=n+24|0;i=n+8|0;j=n+40|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(!(c[g>>2]|0))c[g>>2]=c[17563];c[i>>2]=e;g=c[g>>2]|0;e=qq()|0;c[k>>2]=g;c[k+4>>2]=e;Sb(j,128,19107,k)|0;_b(c[f>>2]|0,j,c[h>>2]|0,i);l=n;return}function dc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+64|0;if((l|0)>=(m|0))$(64);u=v+8|0;t=v;o=v+56|0;p=v+52|0;q=v+48|0;r=v+44|0;s=v+40|0;g=v+36|0;h=v+32|0;i=v+28|0;j=v+24|0;k=v+20|0;n=v+16|0;c[p>>2]=a;c[q>>2]=b;c[r>>2]=d;c[s>>2]=e;c[g>>2]=f;b=c[q>>2]|0;c[i>>2]=Va()|0;a=b;d=l;l=l+((1*a|0)+15&-16)|0;if((l|0)>=(m|0))$((1*a|0)+15&-16|0);if(1!=(ec(h,c[r>>2]|0,c[s>>2]|0)|0)){c[o>>2]=-1;c[j>>2]=1;u=c[i>>2]|0;Ca(u|0);u=c[o>>2]|0;l=v;return u|0}if(ee(c[h>>2]|0,d,c[q>>2]|0,c[p>>2]|0,c[q>>2]|0)|0){c[k>>2]=136;if((c[185]|0)==-1)c[185]=Wb(1,0,19284,19303,c[k>>2]|0)|0;if((Xb()|0)>0){Yb(-1,0);Vb()}if(!(c[185]|0))Vb();c[t>>2]=19284;c[t+4>>2]=136;Zb(1,61295,t);Vb()}be(c[h>>2]|0);if(1!=(fc(h,c[r>>2]|0,c[s>>2]|0)|0)){c[o>>2]=-1;c[j>>2]=1;u=c[i>>2]|0;Ca(u|0);u=c[o>>2]|0;l=v;return u|0}if(!(ee(c[h>>2]|0,c[g>>2]|0,c[q>>2]|0,d,c[q>>2]|0)|0)){be(c[h>>2]|0);Yq(d|0,0,b|0)|0;c[o>>2]=c[q>>2];c[j>>2]=1;u=c[i>>2]|0;Ca(u|0);u=c[o>>2]|0;l=v;return u|0}c[n>>2]=140;if((c[186]|0)==-1)c[186]=Wb(1,0,19284,19303,c[n>>2]|0)|0;if((Xb()|0)>0){Yb(-1,0);Vb()}if(!(c[186]|0))Vb();c[u>>2]=19284;c[u+4>>2]=140;Zb(1,61295,u);Vb();return 0}function ec(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0;q=l;l=l+64|0;if((l|0)>=(m|0))$(64);p=q+16|0;o=q+8|0;n=q;e=q+48|0;f=q+44|0;g=q+40|0;h=q+36|0;i=q+32|0;j=q+28|0;k=q+24|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(ae(c[e>>2]|0,9,2,0)|0){c[i>>2]=68;if((c[190]|0)==-1)c[190]=Wb(1,0,19284,19356,c[i>>2]|0)|0;if((Xb()|0)>0){Yb(-1,0);Vb()}if(!(c[190]|0))Vb();c[n>>2]=19284;c[n+4>>2]=68;Zb(1,61295,n);Vb()}c[h>>2]=ce(c[c[e>>2]>>2]|0,c[f>>2]|0,32)|0;if(0!=(c[h>>2]|0)?((c[h>>2]&255)<<24>>24|0)!=43:0){c[j>>2]=72;if((c[191]|0)==-1)c[191]=Wb(1,0,19284,19356,c[j>>2]|0)|0;if((Xb()|0)>0){Yb(-1,0);Vb()}if(!(c[191]|0))Vb();c[o>>2]=19284;c[o+4>>2]=72;Zb(1,61295,o);Vb()}c[h>>2]=de(c[c[e>>2]>>2]|0,c[g>>2]|0,16)|0;if(!(c[h>>2]|0)){l=q;return 1}if(((c[h>>2]&255)<<24>>24|0)==43){l=q;return 1}c[k>>2]=76;if((c[192]|0)==-1)c[192]=Wb(1,0,19284,19356,c[k>>2]|0)|0;if((Xb()|0)>0){Yb(-1,0);Vb()}if(!(c[192]|0))Vb();c[p>>2]=19284;c[p+4>>2]=76;Zb(1,61295,p);Vb();return 0}function fc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0;q=l;l=l+64|0;if((l|0)>=(m|0))$(64);p=q+16|0;o=q+8|0;n=q;e=q+48|0;f=q+44|0;g=q+40|0;h=q+36|0;i=q+32|0;j=q+28|0;k=q+24|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(ae(c[e>>2]|0,10,2,0)|0){c[i>>2]=98;if((c[187]|0)==-1)c[187]=Wb(1,0,19284,19335,c[i>>2]|0)|0;if((Xb()|0)>0){Yb(-1,0);Vb()}if(!(c[187]|0))Vb();c[n>>2]=19284;c[n+4>>2]=98;Zb(1,61295,n);Vb()}c[h>>2]=ce(c[c[e>>2]>>2]|0,(c[f>>2]|0)+32|0,32)|0;if(0!=(c[h>>2]|0)?((c[h>>2]&255)<<24>>24|0)!=43:0){c[j>>2]=102;if((c[188]|0)==-1)c[188]=Wb(1,0,19284,19335,c[j>>2]|0)|0;if((Xb()|0)>0){Yb(-1,0);Vb()}if(!(c[188]|0))Vb();c[o>>2]=19284;c[o+4>>2]=102;Zb(1,61295,o);Vb()}c[h>>2]=de(c[c[e>>2]>>2]|0,(c[g>>2]|0)+16|0,16)|0;if(!(c[h>>2]|0)){l=q;return 1}if(((c[h>>2]&255)<<24>>24|0)==43){l=q;return 1}c[k>>2]=106;if((c[189]|0)==-1)c[189]=Wb(1,0,19284,19335,c[k>>2]|0)|0;if((Xb()|0)>0){Yb(-1,0);Vb()}if(!(c[189]|0))Vb();c[p>>2]=19284;c[p+4>>2]=106;Zb(1,61295,p);Vb();return 0}function gc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+64|0;if((l|0)>=(m|0))$(64);u=v+8|0;t=v;o=v+56|0;p=v+52|0;q=v+48|0;r=v+44|0;s=v+40|0;g=v+36|0;h=v+32|0;i=v+28|0;j=v+24|0;k=v+20|0;n=v+16|0;c[p>>2]=a;c[q>>2]=b;c[r>>2]=d;c[s>>2]=e;c[g>>2]=f;b=c[q>>2]|0;c[i>>2]=Va()|0;a=b;d=l;l=l+((1*a|0)+15&-16)|0;if((l|0)>=(m|0))$((1*a|0)+15&-16|0);if(1!=(fc(h,c[r>>2]|0,c[s>>2]|0)|0)){c[o>>2]=-1;c[j>>2]=1;u=c[i>>2]|0;Ca(u|0);u=c[o>>2]|0;l=v;return u|0}if(fe(c[h>>2]|0,d,c[q>>2]|0,c[p>>2]|0,c[q>>2]|0)|0){c[k>>2]=172;if((c[193]|0)==-1)c[193]=Wb(1,0,19284,19373,c[k>>2]|0)|0;if((Xb()|0)>0){Yb(-1,0);Vb()}if(!(c[193]|0))Vb();c[t>>2]=19284;c[t+4>>2]=172;Zb(1,61295,t);Vb()}be(c[h>>2]|0);if(1!=(ec(h,c[r>>2]|0,c[s>>2]|0)|0)){c[o>>2]=-1;c[j>>2]=1;u=c[i>>2]|0;Ca(u|0);u=c[o>>2]|0;l=v;return u|0}if(!(fe(c[h>>2]|0,c[g>>2]|0,c[q>>2]|0,d,c[q>>2]|0)|0)){be(c[h>>2]|0);Yq(d|0,0,b|0)|0;c[o>>2]=c[q>>2];c[j>>2]=1;u=c[i>>2]|0;Ca(u|0);u=c[o>>2]|0;l=v;return u|0}c[n>>2]=176;if((c[194]|0)==-1)c[194]=Wb(1,0,19284,19373,c[n>>2]|0)|0;if((Xb()|0)>0){Yb(-1,0);Vb()}if(!(c[194]|0))Vb();c[u>>2]=19284;c[u+4>>2]=176;Zb(1,61295,u);Vb();return 0}function hc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0;p=l;l=l+64|0;if((l|0)>=(m|0))$(64);o=p+16|0;n=p+8|0;k=p;q=p+52|0;d=p+48|0;e=p+44|0;f=p+40|0;g=p+36|0;h=p+32|0;i=p+28|0;j=p+24|0;c[q>>2]=a;c[d>>2]=b;c[e>>2]=ic(c[q>>2]|0)|0;if(!(c[e>>2]|0)){c[h>>2]=231;if((c[195]|0)==-1)c[195]=Wb(1,0,19405,19418,c[h>>2]|0)|0;if((Xb()|0)>0){Yb(-1,0);Vb()}if(!(c[195]|0))Vb();c[k>>2]=19405;c[k+4>>2]=231;Zb(1,61295,k);Vb()}if(Sd(f,c[e>>2]|0,0)|0){c[i>>2]=232;if((c[196]|0)==-1)c[196]=Wb(1,0,19405,19418,c[i>>2]|0)|0;if((Xb()|0)>0){Yb(-1,0);Vb()}if(!(c[196]|0))Vb();c[n>>2]=19405;c[n+4>>2]=232;Zb(1,61295,n);Vb()}Cd(c[e>>2]|0);c[g>>2]=Td(19453,c[f>>2]|0,0)|0;if(c[g>>2]|0){Jc(c[d>>2]|0,32,c[g>>2]|0);Id(c[g>>2]|0);ve(c[f>>2]|0);l=p;return}c[j>>2]=235;if((c[197]|0)==-1)c[197]=Wb(1,0,19405,19418,c[j>>2]|0)|0;if((Xb()|0)>0){Yb(-1,0);Vb()}if(!(c[197]|0))Vb();c[o>>2]=19405;c[o+4>>2]=235;Zb(1,61295,o);Vb()}function ic(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=l;l=l+64|0;if((l|0)>=(m|0))$(64);h=i+24|0;g=i+8|0;j=i;k=i+48|0;b=i+44|0;d=i+40|0;e=i+36|0;f=i+32|0;c[k>>2]=a;a=c[k>>2]|0;c[j>>2]=32;c[j+4>>2]=a;c[d>>2]=Bd(b,0,19461,j)|0;if(!(c[d>>2]|0)){l=i;return c[b>>2]|0}c[e>>2]=136;if((c[198]|0)==-1)c[198]=Wb(1,20980,19405,19503,c[e>>2]|0)|0;if((Xb()|0)<=0){if(c[198]|0){k=xd(c[d>>2]|0)|0;c[g>>2]=19528;c[g+4>>2]=19405;c[g+8>>2]=136;c[g+12>>2]=k;cc(1,20980,20531,g)}}else Yb(-1,0);c[f>>2]=137;if((c[199]|0)==-1)c[199]=Wb(1,0,19405,19503,c[f>>2]|0)|0;if((Xb()|0)>0){Yb(-1,0);Vb()}if(!(c[199]|0))Vb();c[h>>2]=19405;c[h+4>>2]=137;Zb(1,61295,h);Vb();return 0}function jc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0;p=l;l=l+64|0;if((l|0)>=(m|0))$(64);o=p+16|0;n=p+8|0;k=p;q=p+52|0;d=p+48|0;e=p+44|0;f=p+40|0;g=p+36|0;h=p+32|0;i=p+28|0;j=p+24|0;c[q>>2]=a;c[d>>2]=b;c[e>>2]=kc(c[q>>2]|0)|0;if(!(c[e>>2]|0)){c[h>>2]=257;if((c[200]|0)==-1)c[200]=Wb(1,0,19405,19544,c[h>>2]|0)|0;if((Xb()|0)>0){Yb(-1,0);Vb()}if(!(c[200]|0))Vb();c[k>>2]=19405;c[k+4>>2]=257;Zb(1,61295,k);Vb()}if(Sd(f,c[e>>2]|0,0)|0){c[i>>2]=258;if((c[201]|0)==-1)c[201]=Wb(1,0,19405,19544,c[i>>2]|0)|0;if((Xb()|0)>0){Yb(-1,0);Vb()}if(!(c[201]|0))Vb();c[n>>2]=19405;c[n+4>>2]=258;Zb(1,61295,n);Vb()}Cd(c[e>>2]|0);c[g>>2]=Td(19453,c[f>>2]|0,0)|0;if(c[g>>2]|0){Jc(c[d>>2]|0,32,c[g>>2]|0);Id(c[g>>2]|0);ve(c[f>>2]|0);l=p;return}c[j>>2]=261;if((c[202]|0)==-1)c[202]=Wb(1,0,19405,19544,c[j>>2]|0)|0;if((Xb()|0)>0){Yb(-1,0);Vb()}if(!(c[202]|0))Vb();c[o>>2]=19405;c[o+4>>2]=261;Zb(1,61295,o);Vb()}function kc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=l;l=l+64|0;if((l|0)>=(m|0))$(64);h=i+24|0;g=i+8|0;j=i;k=i+48|0;b=i+44|0;d=i+40|0;e=i+36|0;f=i+32|0;c[k>>2]=a;a=c[k>>2]|0;c[j>>2]=32;c[j+4>>2]=a;c[d>>2]=Bd(b,0,19579,j)|0;if(!(c[d>>2]|0)){l=i;return c[b>>2]|0}c[e>>2]=169;if((c[203]|0)==-1)c[203]=Wb(1,20980,19405,19634,c[e>>2]|0)|0;if((Xb()|0)<=0){if(c[203]|0){k=xd(c[d>>2]|0)|0;c[g>>2]=19528;c[g+4>>2]=19405;c[g+8>>2]=169;c[g+12>>2]=k;cc(1,20980,20531,g)}}else Yb(-1,0);c[f>>2]=170;if((c[204]|0)==-1)c[204]=Wb(1,0,19405,19634,c[f>>2]|0)|0;if((Xb()|0)>0){Yb(-1,0);Vb()}if(!(c[204]|0))Vb();c[h>>2]=19405;c[h+4>>2]=170;Zb(1,61295,h);Vb();return 0}function lc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0;p=l;l=l+64|0;if((l|0)>=(m|0))$(64);o=p+16|0;n=p+8|0;k=p;q=p+52|0;d=p+48|0;e=p+44|0;f=p+40|0;g=p+36|0;h=p+32|0;i=p+28|0;j=p+24|0;c[q>>2]=a;c[d>>2]=b;c[e>>2]=mc(c[q>>2]|0)|0;if(!(c[e>>2]|0)){c[h>>2]=283;if((c[205]|0)==-1)c[205]=Wb(1,0,19405,19659,c[h>>2]|0)|0;if((Xb()|0)>0){Yb(-1,0);Vb()}if(!(c[205]|0))Vb();c[k>>2]=19405;c[k+4>>2]=283;Zb(1,61295,k);Vb()}if(Sd(f,c[e>>2]|0,0)|0){c[i>>2]=284;if((c[206]|0)==-1)c[206]=Wb(1,0,19405,19659,c[i>>2]|0)|0;if((Xb()|0)>0){Yb(-1,0);Vb()}if(!(c[206]|0))Vb();c[n>>2]=19405;c[n+4>>2]=284;Zb(1,61295,n);Vb()}Cd(c[e>>2]|0);c[g>>2]=Td(19453,c[f>>2]|0,0)|0;if(c[g>>2]|0){Jc(c[d>>2]|0,32,c[g>>2]|0);Id(c[g>>2]|0);ve(c[f>>2]|0);l=p;return}c[j>>2]=287;if((c[207]|0)==-1)c[207]=Wb(1,0,19405,19659,c[j>>2]|0)|0;if((Xb()|0)>0){Yb(-1,0);Vb()}if(!(c[207]|0))Vb();c[o>>2]=19405;c[o+4>>2]=287;Zb(1,61295,o);Vb()}function mc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=l;l=l+64|0;if((l|0)>=(m|0))$(64);h=i+24|0;g=i+8|0;j=i;k=i+48|0;b=i+44|0;d=i+40|0;e=i+36|0;f=i+32|0;c[k>>2]=a;a=c[k>>2]|0;c[j>>2]=32;c[j+4>>2]=a;c[d>>2]=Bd(b,0,19461,j)|0;if(!(c[d>>2]|0)){l=i;return c[b>>2]|0}c[e>>2]=202;if((c[208]|0)==-1)c[208]=Wb(1,20980,19405,19694,c[e>>2]|0)|0;if((Xb()|0)<=0){if(c[208]|0){k=xd(c[d>>2]|0)|0;c[g>>2]=19528;c[g+4>>2]=19405;c[g+8>>2]=202;c[g+12>>2]=k;cc(1,20980,20531,g)}}else Yb(-1,0);c[f>>2]=203;if((c[209]|0)==-1)c[209]=Wb(1,0,19405,19694,c[f>>2]|0)|0;if((Xb()|0)>0){Yb(-1,0);Vb()}if(!(c[209]|0))Vb();c[h>>2]=19405;c[h+4>>2]=203;Zb(1,61295,h);Vb();return 0}function nc(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0;p=l;l=l+96|0;if((l|0)>=(m|0))$(96);n=p+40|0;o=p+24|0;k=p+8|0;a=p+88|0;b=p+84|0;d=p+80|0;e=p+76|0;f=p+72|0;g=p+68|0;h=p+64|0;i=p+60|0;j=p+56|0;q=Bd(e,0,19719,p)|0;c[g>>2]=q;if(q){c[h>>2]=505;if((c[210]|0)==-1)c[210]=Wb(1,20980,19405,19774,c[h>>2]|0)|0;if((Xb()|0)<=0){if(c[210]|0){q=xd(c[g>>2]|0)|0;c[k>>2]=19528;c[k+4>>2]=19405;c[k+8>>2]=505;c[k+12>>2]=q;cc(1,20980,20531,k)}}else Yb(-1,0);c[a>>2]=0;q=c[a>>2]|0;l=p;return q|0}q=je(d,c[e>>2]|0)|0;c[g>>2]=q;if(q){c[i>>2]=510;if((c[211]|0)==-1)c[211]=Wb(1,20980,19405,19774,c[i>>2]|0)|0;if((Xb()|0)<=0){if(c[211]|0){q=xd(c[g>>2]|0)|0;c[o>>2]=19805;c[o+4>>2]=19405;c[o+8>>2]=510;c[o+12>>2]=q;cc(1,20980,20531,o)}}else Yb(-1,0);Cd(c[e>>2]|0);c[a>>2]=0;q=c[a>>2]|0;l=p;return q|0}Cd(c[e>>2]|0);q=oc(f,c[d>>2]|0,37667,35384)|0;c[g>>2]=q;if(!q){Cd(c[d>>2]|0);c[b>>2]=Pb(32,19405,530)|0;Jc(c[b>>2]|0,32,c[f>>2]|0);Id(c[f>>2]|0);c[a>>2]=c[b>>2];q=c[a>>2]|0;l=p;return q|0}c[j>>2]=525;if((c[212]|0)==-1)c[212]=Wb(1,20980,19405,19774,c[j>>2]|0)|0;if((Xb()|0)<=0){if(c[212]|0){q=xd(c[g>>2]|0)|0;c[n>>2]=19820;c[n+4>>2]=19405;c[n+8>>2]=525;c[n+12>>2]=q;cc(1,20980,20531,n)}}else Yb(-1,0);Cd(c[d>>2]|0);c[a>>2]=0;q=c[a>>2]|0;l=p;return q|0}function oc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0;q=l;l=l+48|0;if((l|0)>=(m|0))$(48);n=q+36|0;o=q+32|0;s=q+28|0;r=q+24|0;g=q+20|0;p=q+16|0;h=q+12|0;i=q+8|0;j=q+4|0;k=q;c[o>>2]=b;c[s>>2]=d;c[r>>2]=e;c[g>>2]=f;c[p>>2]=Ed(c[s>>2]|0,c[r>>2]|0,0)|0;if(!(c[p>>2]|0)){c[n>>2]=1;s=c[n>>2]|0;l=q;return s|0}c[h>>2]=Fd(c[p>>2]|0)|0;Cd(c[p>>2]|0);c[p>>2]=c[h>>2];if(!(c[p>>2]|0)){c[n>>2]=2;s=c[n>>2]|0;l=q;return s|0}c[k>>2]=0;c[i>>2]=c[g>>2];while(1){d=c[p>>2]|0;if(!(a[c[i>>2]>>0]|0)){b=18;break}c[h>>2]=Ed(d,c[i>>2]|0,1)|0;if(!(c[h>>2]|0)){b=8;break}s=Gd(c[h>>2]|0,1,5)|0;c[(c[o>>2]|0)+(c[k>>2]<<2)>>2]=s;Cd(c[h>>2]|0);if(!(c[(c[o>>2]|0)+(c[k>>2]<<2)>>2]|0)){b=13;break}c[i>>2]=(c[i>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+1}if((b|0)==8){c[j>>2]=0;while(1){if((c[j>>2]|0)>>>0>=(c[k>>2]|0)>>>0)break;ye(c[(c[o>>2]|0)+(c[j>>2]<<2)>>2]|0);c[(c[o>>2]|0)+(c[j>>2]<<2)>>2]=0;c[j>>2]=(c[j>>2]|0)+1}Cd(c[p>>2]|0);c[n>>2]=3;s=c[n>>2]|0;l=q;return s|0}else if((b|0)==13){c[j>>2]=0;while(1){if((c[j>>2]|0)>>>0>=(c[k>>2]|0)>>>0)break;ye(c[(c[o>>2]|0)+(c[j>>2]<<2)>>2]|0);c[(c[o>>2]|0)+(c[j>>2]<<2)>>2]=0;c[j>>2]=(c[j>>2]|0)+1}Cd(c[p>>2]|0);c[n>>2]=4;s=c[n>>2]|0;l=q;return s|0}else if((b|0)==18){Cd(d);c[n>>2]=0;s=c[n>>2]|0;l=q;return s|0}return 0}function pc(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0;p=l;l=l+96|0;if((l|0)>=(m|0))$(96);n=p+40|0;o=p+24|0;k=p+8|0;a=p+88|0;b=p+84|0;d=p+80|0;e=p+76|0;f=p+72|0;g=p+68|0;h=p+64|0;i=p+60|0;j=p+56|0;q=Bd(e,0,19834,p)|0;c[g>>2]=q;if(q){c[h>>2]=555;if((c[213]|0)==-1)c[213]=Wb(1,20980,19405,19872,c[h>>2]|0)|0;if((Xb()|0)<=0){if(c[213]|0){q=xd(c[g>>2]|0)|0;c[k>>2]=19528;c[k+4>>2]=19405;c[k+8>>2]=555;c[k+12>>2]=q;cc(1,20980,20531,k)}}else Yb(-1,0);c[a>>2]=0;q=c[a>>2]|0;l=p;return q|0}q=je(d,c[e>>2]|0)|0;c[g>>2]=q;if(q){c[i>>2]=560;if((c[214]|0)==-1)c[214]=Wb(1,20980,19405,19872,c[i>>2]|0)|0;if((Xb()|0)<=0){if(c[214]|0){q=xd(c[g>>2]|0)|0;c[o>>2]=19805;c[o+4>>2]=19405;c[o+8>>2]=560;c[o+12>>2]=q;cc(1,20980,20531,o)}}else Yb(-1,0);Cd(c[e>>2]|0);c[a>>2]=0;q=c[a>>2]|0;l=p;return q|0}Cd(c[e>>2]|0);q=oc(f,c[d>>2]|0,37667,35384)|0;c[g>>2]=q;if(!q){Cd(c[d>>2]|0);c[b>>2]=Pb(32,19405,580)|0;Jc(c[b>>2]|0,32,c[f>>2]|0);Id(c[f>>2]|0);c[a>>2]=c[b>>2];q=c[a>>2]|0;l=p;return q|0}c[j>>2]=575;if((c[215]|0)==-1)c[215]=Wb(1,20980,19405,19872,c[j>>2]|0)|0;if((Xb()|0)<=0){if(c[215]|0){q=xd(c[g>>2]|0)|0;c[n>>2]=19820;c[n+4>>2]=19405;c[n+8>>2]=575;c[n+12>>2]=q;cc(1,20980,20531,n)}}else Yb(-1,0);Cd(c[d>>2]|0);c[a>>2]=0;q=c[a>>2]|0;l=p;return q|0}function qc(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0;p=l;l=l+96|0;if((l|0)>=(m|0))$(96);n=p+40|0;o=p+24|0;k=p+8|0;a=p+88|0;b=p+84|0;d=p+80|0;e=p+76|0;f=p+72|0;g=p+68|0;h=p+64|0;i=p+60|0;j=p+56|0;q=Bd(e,0,19903,p)|0;c[g>>2]=q;if(q){c[h>>2]=604;if((c[216]|0)==-1)c[216]=Wb(1,20980,19405,19947,c[h>>2]|0)|0;if((Xb()|0)<=0){if(c[216]|0){q=xd(c[g>>2]|0)|0;c[k>>2]=19528;c[k+4>>2]=19405;c[k+8>>2]=604;c[k+12>>2]=q;cc(1,20980,20531,k)}}else Yb(-1,0);c[a>>2]=0;q=c[a>>2]|0;l=p;return q|0}q=je(d,c[e>>2]|0)|0;c[g>>2]=q;if(q){c[i>>2]=609;if((c[217]|0)==-1)c[217]=Wb(1,20980,19405,19947,c[i>>2]|0)|0;if((Xb()|0)<=0){if(c[217]|0){q=xd(c[g>>2]|0)|0;c[o>>2]=19805;c[o+4>>2]=19405;c[o+8>>2]=609;c[o+12>>2]=q;cc(1,20980,20531,o)}}else Yb(-1,0);Cd(c[e>>2]|0);c[a>>2]=0;q=c[a>>2]|0;l=p;return q|0}Cd(c[e>>2]|0);q=oc(f,c[d>>2]|0,37667,35384)|0;c[g>>2]=q;if(!q){Cd(c[d>>2]|0);c[b>>2]=Pb(32,19405,629)|0;Jc(c[b>>2]|0,32,c[f>>2]|0);Id(c[f>>2]|0);c[a>>2]=c[b>>2];q=c[a>>2]|0;l=p;return q|0}c[j>>2]=624;if((c[218]|0)==-1)c[218]=Wb(1,20980,19405,19947,c[j>>2]|0)|0;if((Xb()|0)<=0){if(c[218]|0){q=xd(c[g>>2]|0)|0;c[n>>2]=19820;c[n+4>>2]=19405;c[n+8>>2]=624;c[n+12>>2]=q;cc(1,20980,20531,n)}}else Yb(-1,0);Cd(c[d>>2]|0);c[a>>2]=0;q=c[a>>2]|0;l=p;return q|0}function rc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=l;l=l+80|0;if((l|0)>=(m|0))$(80);q=r+16|0;p=r;i=r+68|0;t=r+64|0;s=r+60|0;j=r+56|0;k=r+52|0;n=r+48|0;o=r+44|0;e=r+40|0;f=r+32|0;g=r+28|0;h=r+24|0;c[t>>2]=a;c[s>>2]=b;c[j>>2]=d;c[k>>2]=kc(c[t>>2]|0)|0;c[o>>2]=sc(c[s>>2]|0)|0;d=ge(n,c[o>>2]|0,c[k>>2]|0)|0;c[e>>2]=d;if(d){c[g>>2]=807;if((c[219]|0)==-1)c[219]=Wb(2,20980,19405,19978,c[g>>2]|0)|0;if((Xb()|0)<=0){if(c[219]|0){t=xd(c[e>>2]|0)|0;c[p>>2]=19405;c[p+4>>2]=807;c[p+8>>2]=t;cc(2,20980,20003,p)}}else Yb(-1,0);Cd(c[o>>2]|0);Cd(c[k>>2]|0);c[i>>2]=-1;t=c[i>>2]|0;l=r;return t|0}Cd(c[k>>2]|0);Cd(c[o>>2]|0);t=oc(f,c[n>>2]|0,37529,46882)|0;c[e>>2]=t;if(!t){Cd(c[n>>2]|0);Jc(c[j>>2]|0,32,c[f>>2]|0);Jc((c[j>>2]|0)+32|0,32,c[f+4>>2]|0);Id(c[f>>2]|0);Id(c[f+4>>2]|0);c[i>>2]=1;t=c[i>>2]|0;l=r;return t|0}c[h>>2]=819;if((c[220]|0)==-1)c[220]=Wb(1,0,19405,19978,c[h>>2]|0)|0;if((Xb()|0)<=0){if(c[220]|0){c[q>>2]=19405;c[q+4>>2]=819;Zb(1,61295,q)}}else Yb(-1,0);Cd(c[n>>2]|0);c[i>>2]=-1;t=c[i>>2]|0;l=r;return t|0}function sc(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0;i=l;l=l+128|0;if((l|0)>=(m|0))$(128);h=i+16|0;j=i;b=i+116|0;o=i+112|0;k=i+48|0;e=i+40|0;f=i+36|0;g=i+32|0;c[o>>2]=a;n=c[o>>2]|0;a=c[o>>2]|0;wc(n,Yp(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24)|0,k);c[j>>2]=37609;c[j+4>>2]=64;c[j+8>>2]=k;a=Bd(e,0,20038,j)|0;c[f>>2]=a;if(!a){c[b>>2]=c[e>>2];o=c[b>>2]|0;l=i;return o|0}c[g>>2]=698;if((c[221]|0)==-1)c[221]=Wb(1,20980,19405,20082,c[g>>2]|0)|0;if((Xb()|0)<=0){if(c[221]|0){o=xd(c[f>>2]|0)|0;c[h>>2]=19528;c[h+4>>2]=19405;c[h+8>>2]=698;c[h+12>>2]=o;cc(1,20980,20531,h)}}else Yb(-1,0);c[b>>2]=0;o=c[b>>2]|0;l=i;return o|0}function tc(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=l;l=l+96|0;if((l|0)>=(m|0))$(96);u=w+40|0;t=w+32|0;v=w+16|0;s=w;n=w+92|0;x=w+88|0;o=w+84|0;p=w+80|0;q=w+76|0;r=w+72|0;g=w+68|0;h=w+64|0;i=w+60|0;j=w+56|0;k=w+52|0;c[x>>2]=a;c[o>>2]=b;c[p>>2]=e;c[q>>2]=f;e=c[x>>2]|0;f=(c[o>>2]|0)+4|0;if((e|0)!=(Yp(d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24)|0)){c[n>>2]=-1;x=c[n>>2]|0;l=w;return x|0}f=c[p>>2]|0;x=(c[p>>2]|0)+32|0;c[s>>2]=32;c[s+4>>2]=f;c[s+8>>2]=32;c[s+12>>2]=x;x=Bd(g,0,20141,s)|0;c[i>>2]=x;if(x){c[j>>2]=918;if((c[222]|0)==-1)c[222]=Wb(1,20980,19405,20170,c[j>>2]|0)|0;if((Xb()|0)<=0){if(c[222]|0){x=xd(c[i>>2]|0)|0;c[v>>2]=19528;c[v+4>>2]=19405;c[v+8>>2]=918;c[v+12>>2]=x;cc(1,20980,20531,v)}}else Yb(-1,0);c[n>>2]=-1;x=c[n>>2]|0;l=w;return x|0}c[r>>2]=sc(c[o>>2]|0)|0;x=c[q>>2]|0;c[t>>2]=32;c[t+4>>2]=x;x=Bd(h,0,20197,t)|0;c[i>>2]=x;if(x){Cd(c[r>>2]|0);Cd(c[g>>2]|0);c[n>>2]=-1;x=c[n>>2]|0;l=w;return x|0}c[i>>2]=he(c[g>>2]|0,c[r>>2]|0,c[h>>2]|0)|0;Cd(c[h>>2]|0);Cd(c[r>>2]|0);Cd(c[g>>2]|0);if(!(c[i>>2]|0)){c[n>>2]=1;x=c[n>>2]|0;l=w;return x|0}c[k>>2]=938;if((c[223]|0)==-1)c[223]=Wb(8,20980,19405,20170,c[k>>2]|0)|0;if((Xb()|0)<=0){if(c[223]|0){x=xd(c[i>>2]|0)|0;c[u>>2]=19405;c[u+4>>2]=938;c[u+8>>2]=x;cc(8,20980,20249,u)}}else Yb(-1,0);c[n>>2]=-1;x=c[n>>2]|0;l=w;return x|0}function uc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;z=l;l=l+144|0;if((l|0)>=(m|0))$(144);w=z+40|0;v=z+32|0;y=z+16|0;x=z+8|0;A=z;p=z+104|0;q=z+100|0;B=z+96|0;r=z+92|0;s=z+88|0;t=z+84|0;u=z+80|0;e=z+76|0;f=z+72|0;g=z+68|0;h=z+112|0;i=z+64|0;j=z+60|0;k=z+56|0;n=z+52|0;o=z+48|0;c[q>>2]=a;c[B>>2]=b;c[r>>2]=d;d=c[B>>2]|0;c[A>>2]=32;c[A+4>>2]=d;if(Bd(f,0,20102,A)|0){c[p>>2]=-1;B=c[p>>2]|0;l=z;return B|0}if(Sd(e,c[f>>2]|0,0)|0){c[j>>2]=972;if((c[224]|0)==-1)c[224]=Wb(1,0,19405,20299,c[j>>2]|0)|0;if((Xb()|0)>0){Yb(-1,0);Vb()}if(!(c[224]|0))Vb();c[x>>2]=19405;c[x+4>>2]=972;Zb(1,61295,x);Vb()}Cd(c[f>>2]|0);c[t>>2]=Ud(46923,c[e>>2]|0,0)|0;Lc(u,c[q>>2]|0,32);c[s>>2]=Qd(0)|0;Wd(c[s>>2]|0,c[u>>2]|0,c[t>>2]|0,c[e>>2]|0);Rd(c[t>>2]|0);Id(c[u>>2]|0);c[g>>2]=Hd(256)|0;if(Vd(c[g>>2]|0,0,c[s>>2]|0,c[e>>2]|0)|0){c[k>>2]=989;if((c[225]|0)==-1)c[225]=Wb(1,20980,19405,20299,c[k>>2]|0)|0;if((Xb()|0)<=0){if(c[225]|0){B=xd(0)|0;c[y>>2]=20322;c[y+4>>2]=19405;c[y+8>>2]=989;c[y+12>>2]=B;cc(1,20980,20531,y)}}else Yb(-1,0);Rd(c[s>>2]|0);ve(c[e>>2]|0);c[p>>2]=-1;B=c[p>>2]|0;l=z;return B|0}Rd(c[s>>2]|0);ve(c[e>>2]|0);c[i>>2]=32;if($d(c[g>>2]|0,2)|0){c[n>>2]=998;if((c[226]|0)==-1)c[226]=Wb(1,0,19405,20299,c[n>>2]|0)|0;if((Xb()|0)>0){Yb(-1,0);Vb()}if(!(c[226]|0))Vb();c[v>>2]=19405;c[v+4>>2]=998;Zb(1,61295,v);Vb()}if(!(Ld(1,h,c[i>>2]|0,i,c[g>>2]|0)|0)){wc(h,c[i>>2]|0,c[r>>2]|0);Id(c[g>>2]|0);c[p>>2]=1;B=c[p>>2]|0;l=z;return B|0}c[o>>2]=1005;if((c[227]|0)==-1)c[227]=Wb(1,0,19405,20299,c[o>>2]|0)|0;if((Xb()|0)>0){Yb(-1,0);Vb()}if(!(c[227]|0))Vb();c[w>>2]=19405;c[w+4>>2]=1005;Zb(1,61295,w);Vb();return 0}function vc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;z=l;l=l+144|0;if((l|0)>=(m|0))$(144);w=z+40|0;v=z+32|0;y=z+16|0;x=z+8|0;A=z;p=z+104|0;q=z+100|0;B=z+96|0;r=z+92|0;s=z+88|0;t=z+84|0;u=z+80|0;e=z+76|0;f=z+72|0;g=z+68|0;h=z+112|0;i=z+64|0;j=z+60|0;k=z+56|0;n=z+52|0;o=z+48|0;c[q>>2]=a;c[B>>2]=b;c[r>>2]=d;d=c[B>>2]|0;c[A>>2]=32;c[A+4>>2]=d;if(Bd(f,0,20102,A)|0){c[p>>2]=-1;B=c[p>>2]|0;l=z;return B|0}if(Sd(e,c[f>>2]|0,0)|0){c[j>>2]=1403;if((c[228]|0)==-1)c[228]=Wb(1,0,19405,20340,c[j>>2]|0)|0;if((Xb()|0)>0){Yb(-1,0);Vb()}if(!(c[228]|0))Vb();c[x>>2]=19405;c[x+4>>2]=1403;Zb(1,61295,x);Vb()}Cd(c[f>>2]|0);c[t>>2]=Ud(46923,c[e>>2]|0,0)|0;Lc(u,c[q>>2]|0,32);c[s>>2]=Qd(0)|0;Wd(c[s>>2]|0,c[u>>2]|0,c[t>>2]|0,c[e>>2]|0);Rd(c[t>>2]|0);Id(c[u>>2]|0);c[g>>2]=Hd(256)|0;if(Vd(c[g>>2]|0,0,c[s>>2]|0,c[e>>2]|0)|0){c[k>>2]=1420;if((c[229]|0)==-1)c[229]=Wb(1,20980,19405,20340,c[k>>2]|0)|0;if((Xb()|0)<=0){if(c[229]|0){B=xd(0)|0;c[y>>2]=20322;c[y+4>>2]=19405;c[y+8>>2]=1420;c[y+12>>2]=B;cc(1,20980,20531,y)}}else Yb(-1,0);Rd(c[s>>2]|0);ve(c[e>>2]|0);c[p>>2]=-1;B=c[p>>2]|0;l=z;return B|0}Rd(c[s>>2]|0);ve(c[e>>2]|0);c[i>>2]=32;if($d(c[g>>2]|0,2)|0){c[n>>2]=1429;if((c[230]|0)==-1)c[230]=Wb(1,0,19405,20340,c[n>>2]|0)|0;if((Xb()|0)>0){Yb(-1,0);Vb()}if(!(c[230]|0))Vb();c[v>>2]=19405;c[v+4>>2]=1429;Zb(1,61295,v);Vb()}if(!(Ld(1,h,c[i>>2]|0,i,c[g>>2]|0)|0)){wc(h,c[i>>2]|0,c[r>>2]|0);Id(c[g>>2]|0);c[p>>2]=1;B=c[p>>2]|0;l=z;return B|0}c[o>>2]=1436;if((c[231]|0)==-1)c[231]=Wb(1,0,19405,20340,c[o>>2]|0)|0;if((Xb()|0)>0){Yb(-1,0);Vb()}if(!(c[231]|0))Vb();c[w>>2]=19405;c[w+4>>2]=1436;Zb(1,61295,w);Vb();return 0}function wc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;if((l|0)>=(m|0))$(16);g=e+8|0;f=e+4|0;h=e;c[g>>2]=a;c[f>>2]=b;c[h>>2]=d;pe(10,c[h>>2]|0,c[g>>2]|0,c[f>>2]|0);l=e;return}function xc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;if((l|0)>=(m|0))$(16);d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=15;while(1){if((c[f>>2]|0)<0)break;b=Nc(c[d>>2]|0,-1)|0;c[(c[e>>2]|0)+(c[f>>2]<<2)>>2]=b;c[f>>2]=(c[f>>2]|0)+-1}l=g;return}function yc(){var a=0,b=0,d=0,e=0;e=l;l=l+16|0;if((l|0)>=(m|0))$(16);d=e;a=e+12|0;b=e+8|0;c[a>>2]=Pb(4,20365,425)|0;if(!(ke(c[a>>2]|0,10,0)|0)){l=e;return c[a>>2]|0}c[b>>2]=429;if((c[232]|0)==-1)c[232]=Wb(1,0,20365,20379,c[b>>2]|0)|0;if((Xb()|0)>0){Yb(-1,0);Vb()}if(!(c[232]|0))Vb();c[d>>2]=20365;c[d+4>>2]=429;Zb(1,61295,d);Vb();return 0}function zc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;if((l|0)>=(m|0))$(16);h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;ne(c[c[h>>2]>>2]|0,c[g>>2]|0,c[f>>2]|0);l=e;return}function Ac(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;if((l|0)>=(m|0))$(32);g=j;i=j+20|0;e=j+16|0;h=j+12|0;f=j+8|0;c[i>>2]=b;c[e>>2]=d;c[h>>2]=oe(c[c[i>>2]>>2]|0,0)|0;if(c[h>>2]|0){if(!(c[e>>2]|0)){i=c[i>>2]|0;Bc(i);l=j;return}e=c[e>>2]|0;b=c[h>>2]|0;d=e+64|0;do{a[e>>0]=a[b>>0]|0;e=e+1|0;b=b+1|0}while((e|0)<(d|0));i=c[i>>2]|0;Bc(i);l=j;return}c[f>>2]=462;if((c[233]|0)==-1)c[233]=Wb(1,0,20365,20412,c[f>>2]|0)|0;if((Xb()|0)>0){Yb(-1,0);Vb()}if(!(c[233]|0))Vb();c[g>>2]=20365;c[g+4>>2]=462;Zb(1,61295,g);Vb()}function Bc(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;if((l|0)>=(m|0))$(16);d=b;c[d>>2]=a;le(c[c[d>>2]>>2]|0);Rb(c[d>>2]|0,20365,480);l=b;return}function Cc(b,d,e,f,g,h,i,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0;U=l;l=l+144|0;if((l|0)>=(m|0))$(144);S=U+136|0;G=U+132|0;n=U+128|0;o=U+124|0;p=U+120|0;q=U+116|0;r=U+112|0;s=U+108|0;t=U+104|0;w=U+100|0;H=U+96|0;I=U+92|0;J=U+88|0;x=U+84|0;K=U+80|0;L=U+76|0;M=U+72|0;F=U+68|0;N=U+64|0;O=U+60|0;y=U+56|0;z=U+40|0;P=U+36|0;u=U+32|0;v=U+28|0;Q=U+24|0;R=U+20|0;A=U+16|0;B=U+12|0;C=U+8|0;D=U+4|0;E=U;c[G>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=i;c[t>>2]=j;c[w>>2]=k;c[M>>2]=re(c[p>>2]|0)|0;c[F>>2]=re(c[o>>2]|0)|0;b=c[F>>2]|0;c[N>>2]=Va()|0;f=l;l=l+((1*b|0)+15&-16)|0;if((l|0)>=(m|0))$((1*b|0)+15&-16|0);if(!(c[M>>2]|0)){c[S>>2]=-1;c[P>>2]=1;T=c[N>>2]|0;Ca(T|0);T=c[S>>2]|0;l=U;return T|0}if(ke(H,c[o>>2]|0,2)|0){c[S>>2]=-1;c[P>>2]=1;T=c[N>>2]|0;Ca(T|0);T=c[S>>2]|0;l=U;return T|0}if(ke(I,c[p>>2]|0,2)|0){le(c[H>>2]|0);c[S>>2]=-1;c[P>>2]=1;T=c[N>>2]|0;Ca(T|0);T=c[S>>2]|0;l=U;return T|0}c[z>>2]=c[c[w>>2]>>2];c[y>>2]=0;while(1){o=(c[z>>2]|0)+(4-1)&~(4-1);p=c[o>>2]|0;c[z>>2]=o+4;c[u>>2]=p;if(!(c[u>>2]|0))break;o=(c[z>>2]|0)+(4-1)&~(4-1);p=c[o>>2]|0;c[z>>2]=o+4;c[v>>2]=p;c[y>>2]=(c[y>>2]|0)+(c[v>>2]|0)}Yq(c[G>>2]|0,0,c[n>>2]|0)|0;a:do if((Dc(c[H>>2]|0,c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,f)|0)!=1)T=45;else{c[K>>2]=((c[n>>2]|0)>>>0)/((c[M>>2]|0)>>>0)|0;c[L>>2]=((c[n>>2]|0)>>>0)%((c[M>>2]|0)>>>0)|0;c[Q>>2]=(c[M>>2]|0)+(c[y>>2]|0)+1;b=c[Q>>2]|0;c[R>>2]=Va()|0;e=l;l=l+((1*b|0)+15&-16)|0;if((l|0)>=(m|0))$((1*b|0)+15&-16|0);c[B>>2]=e+(c[M>>2]|0);c[z>>2]=c[c[w>>2]>>2];while(1){v=(c[z>>2]|0)+(4-1)&~(4-1);w=c[v>>2]|0;c[z>>2]=v+4;c[C>>2]=w;w=c[C>>2]|0;c[A>>2]=w;if(!w)break;v=(c[z>>2]|0)+(4-1)&~(4-1);w=c[v>>2]|0;c[z>>2]=v+4;c[E>>2]=w;c[D>>2]=c[E>>2];if(c[D>>2]|0)cr(c[B>>2]|0,c[A>>2]|0,c[D>>2]|0)|0;c[B>>2]=(c[B>>2]|0)+(c[D>>2]|0)}do if((c[K>>2]|0)>>>0>0){a[e+(c[M>>2]|0)+(c[y>>2]|0)>>0]=1;c[J>>2]=Ec(c[I>>2]|0,f,c[F>>2]|0,e+(c[M>>2]|0)|0,(c[y>>2]|0)+1|0)|0;if(!(c[J>>2]|0)){c[P>>2]=4;break}if(c[M>>2]|0)cr(c[G>>2]|0,c[J>>2]|0,c[M>>2]|0)|0;c[G>>2]=(c[G>>2]|0)+(c[M>>2]|0);T=22}else T=22;while(0);do if((T|0)==22){c[x>>2]=1;while(1){if((c[x>>2]|0)>>>0>=(c[K>>2]|0)>>>0)break;if(c[M>>2]|0)cr(e|0,(c[G>>2]|0)+(0-(c[M>>2]|0))|0,c[M>>2]|0)|0;Yq(e+(c[M>>2]|0)+(c[y>>2]|0)|0,(c[x>>2]|0)+1&255|0,1)|0;me(c[I>>2]|0);c[J>>2]=Ec(c[I>>2]|0,f,c[F>>2]|0,e,c[Q>>2]|0)|0;if(!(c[J>>2]|0)){T=27;break}if(c[M>>2]|0)cr(c[G>>2]|0,c[J>>2]|0,c[M>>2]|0)|0;c[G>>2]=(c[G>>2]|0)+(c[M>>2]|0);c[x>>2]=(c[x>>2]|0)+1}if((T|0)==27){c[P>>2]=4;break}if((c[L>>2]|0)>>>0>0){if((c[K>>2]|0)>>>0>0){if(c[M>>2]|0)cr(e|0,(c[G>>2]|0)+(0-(c[M>>2]|0))|0,c[M>>2]|0)|0;c[x>>2]=(c[x>>2]|0)+1}Yq(e+(c[M>>2]|0)+(c[y>>2]|0)|0,c[x>>2]&255|0,1)|0;me(c[I>>2]|0);d=c[I>>2]|0;b=c[F>>2]|0;if((c[K>>2]|0)>>>0>0)c[J>>2]=Ec(d,f,b,e,c[Q>>2]|0)|0;else c[J>>2]=Ec(d,f,b,e+(c[M>>2]|0)|0,(c[Q>>2]|0)-(c[M>>2]|0)|0)|0;if(!(c[J>>2]|0)){c[P>>2]=4;break}if(c[L>>2]|0)cr(c[G>>2]|0,c[J>>2]|0,c[L>>2]|0)|0}c[O>>2]=1;c[P>>2]=22}while(0);Ca(c[R>>2]|0);switch(c[P>>2]|0){case 4:{T=45;break a}case 22:break a;default:{}}T=c[N>>2]|0;Ca(T|0);T=c[S>>2]|0;l=U;return T|0}while(0);if((T|0)==45)c[O>>2]=-1;le(c[H>>2]|0);le(c[I>>2]|0);c[S>>2]=c[O>>2];c[P>>2]=1;T=c[N>>2]|0;Ca(T|0);T=c[S>>2]|0;l=U;return T|0}function Dc(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0;n=l;l=l+32|0;if((l|0)>=(m|0))$(32);j=n+28|0;k=n+24|0;r=n+20|0;q=n+16|0;p=n+12|0;o=n+8|0;h=n+4|0;i=n;c[k>>2]=a;c[r>>2]=b;c[q>>2]=d;c[p>>2]=e;c[o>>2]=f;c[h>>2]=g;c[i>>2]=Ec(c[k>>2]|0,c[r>>2]|0,c[q>>2]|0,c[p>>2]|0,c[o>>2]|0)|0;if(!(c[i>>2]|0)){c[j>>2]=-1;r=c[j>>2]|0;l=n;return r|0}if(re(qe(c[k>>2]|0)|0)|0){q=c[h>>2]|0;r=c[i>>2]|0;cr(q|0,r|0,re(qe(c[k>>2]|0)|0)|0)|0}c[j>>2]=1;r=c[j>>2]|0;l=n;return r|0}function Ec(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,n=0;g=l;l=l+32|0;if((l|0)>=(m|0))$(32);h=g+16|0;n=g+12|0;k=g+8|0;j=g+4|0;i=g;c[h>>2]=a;c[n>>2]=b;c[k>>2]=d;c[j>>2]=e;c[i>>2]=f;se(c[h>>2]|0,c[n>>2]|0,c[k>>2]|0)|0;ne(c[h>>2]|0,c[j>>2]|0,c[i>>2]|0);f=oe(c[h>>2]|0,0)|0;l=g;return f|0}function Fc(a,b,d,e,f,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;k=l;l=l+64|0;if((l|0)>=(m|0))$(64);w=k+52|0;v=k+48|0;u=k+44|0;t=k+40|0;s=k+36|0;r=k+32|0;q=k+28|0;p=k+24|0;o=k+8|0;n=k;c[w>>2]=a;c[v>>2]=b;c[u>>2]=d;c[t>>2]=e;c[s>>2]=f;c[r>>2]=g;c[q>>2]=h;c[p>>2]=i;c[o>>2]=j;c[n>>2]=Cc(c[w>>2]|0,c[v>>2]|0,c[u>>2]|0,c[t>>2]|0,c[s>>2]|0,c[r>>2]|0,c[q>>2]|0,c[p>>2]|0,o)|0;l=k;return c[n>>2]|0}function Gc(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0;i=l;l=l+32|0;if((l|0)>=(m|0))$(32);r=i+24|0;q=i+20|0;p=i+16|0;o=i+12|0;n=i+8|0;k=i+4|0;j=i;c[r>>2]=a;c[q>>2]=b;c[p>>2]=d;c[o>>2]=e;c[n>>2]=f;c[k>>2]=g;c[j>>2]=h;h=Cc(c[r>>2]|0,c[q>>2]|0,10,8,c[p>>2]|0,c[o>>2]|0,c[n>>2]|0,c[k>>2]|0,c[j>>2]|0)|0;l=i;return h|0}function Hc(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0;i=l;l=l+48|0;if((l|0)>=(m|0))$(48);s=i+44|0;r=i+40|0;q=i+36|0;p=i+32|0;o=i+28|0;n=i+24|0;k=i+8|0;j=i;c[s>>2]=a;c[r>>2]=b;c[q>>2]=d;c[p>>2]=e;c[o>>2]=f;c[n>>2]=g;c[k>>2]=h;c[j>>2]=Gc(c[s>>2]|0,c[r>>2]|0,c[q>>2]|0,c[p>>2]|0,c[o>>2]|0,c[n>>2]|0,k)|0;l=i;return c[j>>2]|0}function Ic(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;E=l;l=l+112|0;if((l|0)>=(m|0))$(112);C=E+40|0;B=E+32|0;D=E+24|0;x=E;u=E+108|0;v=E+104|0;w=E+100|0;i=E+96|0;j=E+92|0;k=E+88|0;n=E+84|0;o=E+80|0;p=E+76|0;q=E+72|0;r=E+68|0;s=E+64|0;y=E+60|0;z=E+56|0;A=E+52|0;t=E+48|0;c[u>>2]=a;c[v>>2]=b;c[w>>2]=d;c[i>>2]=e;c[j>>2]=f;c[k>>2]=g;c[n>>2]=h;c[p>>2]=Xd(c[v>>2]|0)|0;c[r>>2]=0;while(1){b=((((c[p>>2]|0)-1|0)>>>0)/8|0)+1|0;c[s>>2]=Va()|0;a=b;d=l;l=l+((1*a|0)+15&-16)|0;if((l|0)>=(m|0))$((1*a|0)+15&-16|0);e=c[w>>2]|0;f=c[i>>2]|0;g=c[j>>2]|0;h=c[k>>2]|0;F=c[n>>2]|0;a=Fo(c[n>>2]|0)|0;c[x>>2]=F;c[x+4>>2]=a;c[x+8>>2]=r;c[x+12>>2]=4;c[x+16>>2]=0;c[x+20>>2]=0;c[o>>2]=Hc(d,b,e,f,g,h,x)|0;if(1!=(c[o>>2]|0)){a=3;break}c[o>>2]=Kd(c[u>>2]|0,5,d,b,q)|0;if(c[o>>2]|0){a=11;break}Zd(c[c[u>>2]>>2]|0,c[p>>2]|0);if(Yd(c[c[u>>2]>>2]|0,c[p>>2]|0)|0){a=19;break}c[r>>2]=(c[r>>2]|0)+1;if(0>(Jd(c[c[u>>2]>>2]|0,c[v>>2]|0)|0))c[t>>2]=3;else{Id(c[c[u>>2]>>2]|0);c[t>>2]=0}Ca(c[s>>2]|0);if((c[t>>2]|0)>>>0>=1){a=30;break}}if((a|0)==3){c[y>>2]=155;if((c[234]|0)==-1)c[234]=Wb(1,0,20446,20459,c[y>>2]|0)|0;if((Xb()|0)>0){Yb(-1,0);Vb()}if(!(c[234]|0))Vb();c[D>>2]=20446;c[D+4>>2]=155;Zb(1,61295,D);Vb()}else if((a|0)==11){c[z>>2]=162;if((c[235]|0)==-1)c[235]=Wb(1,0,20446,20459,c[z>>2]|0)|0;if((Xb()|0)>0){Yb(-1,0);Vb()}if(!(c[235]|0))Vb();c[B>>2]=20446;c[B+4>>2]=162;Zb(1,61295,B);Vb()}else if((a|0)==19){c[A>>2]=165;if((c[236]|0)==-1)c[236]=Wb(1,0,20446,20459,c[A>>2]|0)|0;if((Xb()|0)>0){Yb(-1,0);Vb()}if(!(c[236]|0))Vb();c[C>>2]=20446;c[C+4>>2]=165;Zb(1,61295,C);Vb()}else if((a|0)==30){l=E;return}}function Jc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+80|0;if((l|0)>=(m|0))$(80);s=t+24|0;r=t+8|0;q=t;h=t+68|0;i=t+64|0;j=t+60|0;k=t+56|0;n=t+52|0;o=t+48|0;p=t+44|0;e=t+40|0;f=t+36|0;g=t+32|0;c[h>>2]=a;c[i>>2]=b;c[j>>2]=d;if($d(c[j>>2]|0,2)|0){c[p>>2]=_d(c[j>>2]|0,o)|0;if(c[p>>2]|0){c[k>>2]=(((c[o>>2]|0)+7|0)>>>0)/8|0;if((c[k>>2]|0)>>>0>(c[i>>2]|0)>>>0)c[k>>2]=c[i>>2];if(c[k>>2]|0)cr(c[h>>2]|0,c[p>>2]|0,c[k>>2]|0)|0;if((c[k>>2]|0)>>>0>=(c[i>>2]|0)>>>0){l=t;return}Yq((c[h>>2]|0)+(c[k>>2]|0)|0,0,(c[i>>2]|0)-(c[k>>2]|0)|0)|0;l=t;return}c[e>>2]=89;if((c[237]|0)==-1)c[237]=Wb(1,0,20485,20498,c[e>>2]|0)|0;if((Xb()|0)>0){Yb(-1,0);Vb()}if(!(c[237]|0))Vb();c[q>>2]=20485;c[q+4>>2]=89;Zb(1,61295,q);Vb()}else{c[k>>2]=c[i>>2];q=Ld(5,c[h>>2]|0,c[k>>2]|0,k,c[j>>2]|0)|0;c[n>>2]=q;if(!q){Kc(c[h>>2]|0,c[k>>2]|0,c[i>>2]|0);l=t;return}c[f>>2]=110;if((c[238]|0)==-1)c[238]=Wb(1,20980,20485,20498,c[f>>2]|0)|0;if((Xb()|0)<=0){if(c[238]|0){t=xd(c[n>>2]|0)|0;c[r>>2]=20568;c[r+4>>2]=20485;c[r+8>>2]=110;c[r+12>>2]=t;cc(1,20980,20531,r)}}else Yb(-1,0);c[g>>2]=111;if((c[239]|0)==-1)c[239]=Wb(1,0,20485,20498,c[g>>2]|0)|0;if((Xb()|0)>0){Yb(-1,0);Vb()}if(!(c[239]|0))Vb();c[s>>2]=20485;c[s+4>>2]=111;Zb(1,61295,s);Vb()}}function Kc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;if((l|0)>=(m|0))$(16);e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[e>>2];if((c[f>>2]|0)>>>0>=(c[g>>2]|0)>>>0){l=i;return}dr((c[h>>2]|0)+((c[g>>2]|0)-(c[f>>2]|0))|0,c[e>>2]|0,c[f>>2]|0)|0;Yq(c[e>>2]|0,0,(c[g>>2]|0)-(c[f>>2]|0)|0)|0;l=i;return}function Lc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0;j=l;l=l+48|0;if((l|0)>=(m|0))$(48);i=j+16|0;h=j;o=j+44|0;n=j+40|0;k=j+36|0;e=j+32|0;f=j+28|0;g=j+24|0;c[o>>2]=a;c[n>>2]=b;c[k>>2]=d;d=Kd(c[o>>2]|0,5,c[n>>2]|0,c[k>>2]|0,k)|0;c[e>>2]=d;if(!d){l=j;return}c[f>>2]=140;if((c[240]|0)==-1)c[240]=Wb(1,20980,20485,20583,c[f>>2]|0)|0;if((Xb()|0)<=0){if(c[240]|0){o=xd(c[e>>2]|0)|0;c[h>>2]=20615;c[h+4>>2]=20485;c[h+8>>2]=140;c[h+12>>2]=o;cc(1,20980,20531,h)}}else Yb(-1,0);c[g>>2]=141;if((c[241]|0)==-1)c[241]=Wb(1,0,20485,20583,c[g>>2]|0)|0;if((Xb()|0)>0){Yb(-1,0);Vb()}if(!(c[241]|0))Vb();c[i>>2]=20485;c[i+4>>2]=141;Zb(1,61295,i);Vb()}function Mc(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0;n=l;l=l+80|0;if((l|0)>=(m|0))$(80);i=n+56|0;h=n+48|0;g=n+40|0;f=n+32|0;k=n+24|0;j=n+16|0;e=n+8|0;d=n;a=n+64|0;b=n+60|0;if(yd(20629)|0){c[j>>2]=0;j=zd(37,j)|0;c[a>>2]=j;if(j|0){j=c[3935]|0;e=xd(c[a>>2]|0)|0;c[k>>2]=20782;c[k+4>>2]=e;Rp(j,20743,k)|0}c[f>>2]=0;k=zd(44,f)|0;c[a>>2]=k;if(!k){c[h>>2]=0;zd(38,h)|0;c[i>>2]=0;zd(48,i)|0;j=fb(0)|0;k=Nc(2,-1)|0;k=j^k;Oc(k);l=n;return}j=c[3935]|0;k=xd(c[a>>2]|0)|0;c[g>>2]=20797;c[g+4>>2]=k;Rp(j,20743,g)|0;c[h>>2]=0;zd(38,h)|0;c[i>>2]=0;zd(48,i)|0;j=fb(0)|0;k=Nc(2,-1)|0;k=j^k;Oc(k);l=n;return}n=c[3935]|0;c[d>>2]=20629;Rp(n,20635,d)|0;c[b>>2]=286;if((c[242]|0)==-1)c[242]=Wb(1,0,20701,20717,c[b>>2]|0)|0;if((Xb()|0)>0){Yb(-1,0);Vb()}if(!(c[242]|0))Vb();c[e>>2]=20701;c[e+4>>2]=286;Zb(1,61295,e);Vb()}function Nc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0.0;p=l;l=l+64|0;if((l|0)>=(m|0))$(64);o=p+16|0;n=p+8|0;k=p;d=p+48|0;e=p+44|0;f=p+40|0;g=p+36|0;h=p+32|0;i=p+28|0;j=p+24|0;c[e>>2]=a;c[f>>2]=b;if((c[f>>2]|0)>>>0<=0){c[i>>2]=157;if((c[243]|0)==-1)c[243]=Wb(1,0,20701,20817,c[i>>2]|0)|0;if((Xb()|0)>0){Yb(-1,0);Vb()}if(!(c[243]|0))Vb();c[k>>2]=20701;c[k+4>>2]=157;Zb(1,61295,k);Vb()}switch(c[e>>2]|0){case 1:{o=c[17573]|0;c[17573]=o+1;if(!((o>>>0)%256|0)){c[n>>2]=0;zd(48,n)|0}c[h>>2]=-1-(4294967295%((c[f>>2]|0)>>>0)|0);do te(g,4,1);while((c[g>>2]|0)>>>0>=(c[h>>2]|0)>>>0);c[d>>2]=((c[g>>2]|0)>>>0)%((c[f>>2]|0)>>>0)|0;o=c[d>>2]|0;l=p;return o|0}case 2:{c[h>>2]=-1-(4294967295%((c[f>>2]|0)>>>0)|0);do ue(g,4);while((c[g>>2]|0)>>>0>=(c[h>>2]|0)>>>0);c[d>>2]=((c[g>>2]|0)>>>0)%((c[f>>2]|0)>>>0)|0;o=c[d>>2]|0;l=p;return o|0}case 0:{q=+((c[f>>2]|0)>>>0);c[g>>2]=~~(q*+Pc())>>>0;if((c[g>>2]|0)>>>0>=(c[f>>2]|0)>>>0)c[g>>2]=(c[f>>2]|0)-1;c[d>>2]=c[g>>2];o=c[d>>2]|0;l=p;return o|0}default:{c[j>>2]=189;if((c[244]|0)==-1)c[244]=Wb(1,0,20701,20817,c[j>>2]|0)|0;if((Xb()|0)>0){Yb(-1,0);Vb()}if(!(c[244]|0))Vb();c[o>>2]=20701;c[o+4>>2]=189;Zb(1,61295,o);Vb()}}return 0}function Oc(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;if((l|0)>=(m|0))$(16);d=b;c[d>>2]=a;Cq(c[d>>2]|0);l=b;return}function Pc(){return +(+(Eq()|0)/2147483647.0)}function Qc(){we(0,0);return}function Rc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0;k=l;l=l+48|0;if((l|0)>=(m|0))$(48);j=k+16|0;i=k+8|0;h=k;n=k+36|0;e=k+32|0;f=k+28|0;g=k+24|0;c[n>>2]=a;c[e>>2]=b;c[f>>2]=d;switch(c[n>>2]|0){case 1:{n=c[17574]|0;c[17574]=n+1;if(!((n>>>0)%256|0)){c[h>>2]=0;zd(48,h)|0}te(c[e>>2]|0,c[f>>2]|0,1);l=k;return}case 2:{ue(c[e>>2]|0,c[f>>2]|0);l=k;return}case 0:{n=c[17574]|0;c[17574]=n+1;if(!((n>>>0)%256|0)){c[i>>2]=0;zd(48,i)|0}te(c[e>>2]|0,c[f>>2]|0,0);l=k;return}default:{c[g>>2]=135;if((c[245]|0)==-1)c[245]=Wb(1,0,20701,20842,c[g>>2]|0)|0;if((Xb()|0)>0){Yb(-1,0);Vb()}if(!(c[245]|0))Vb();c[j>>2]=20701;c[j+4>>2]=135;Zb(1,61295,j);Vb()}}}function Sc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0;j=l;l=l+48|0;if((l|0)>=(m|0))$(48);i=j+16|0;h=j+8|0;k=j;n=j+44|0;b=j+40|0;d=j+36|0;e=j+32|0;f=j+28|0;g=j+24|0;c[n>>2]=a;c[k>>2]=c[n>>2];if(Bd(e,0,20869,k)|0){c[f>>2]=155;if((c[246]|0)==-1)c[246]=Wb(1,0,20893,20906,c[f>>2]|0)|0;if((Xb()|0)>0){Yb(-1,0);Vb()}if(!(c[246]|0))Vb();c[h>>2]=20893;c[h+4>>2]=155;Zb(1,61295,h);Vb()}if(!(je(d,c[e>>2]|0)|0)){Cd(c[e>>2]|0);c[b>>2]=Pb(4,20893,164)|0;c[c[b>>2]>>2]=c[d>>2];l=j;return c[b>>2]|0}c[g>>2]=158;if((c[247]|0)==-1)c[247]=Wb(1,0,20893,20906,c[g>>2]|0)|0;if((Xb()|0)>0){Yb(-1,0);Vb()}if(!(c[247]|0))Vb();c[i>>2]=20893;c[i+4>>2]=158;Zb(1,61295,i);Vb();return 0}function Tc(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;if((l|0)>=(m|0))$(16);d=b;c[d>>2]=a;Cd(c[c[d>>2]>>2]|0);Rb(c[d>>2]|0,20893,179);l=b;return}function Uc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+32|0;if((l|0)>=(m|0))$(32);h=i;j=i+24|0;d=i+20|0;e=i+16|0;f=i+12|0;g=i+8|0;c[j>>2]=a;c[d>>2]=b;c[e>>2]=Dd(c[c[j>>2]>>2]|0,0,0,0)|0;c[f>>2]=Pb(c[e>>2]|0,20893,202)|0;b=(c[e>>2]|0)-1|0;if((b|0)==(Dd(c[c[j>>2]>>2]|0,0,c[f>>2]|0,c[e>>2]|0)|0)){c[c[d>>2]>>2]=c[f>>2];l=i;return c[e>>2]|0}c[g>>2]=207;if((c[248]|0)==-1)c[248]=Wb(1,0,20893,20943,c[g>>2]|0)|0;if((Xb()|0)>0){Yb(-1,0);Vb()}if(!(c[248]|0))Vb();c[h>>2]=20893;c[h+4>>2]=207;Zb(1,61295,h);Vb();return 0}function Vc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0;j=l;l=l+48|0;if((l|0)>=(m|0))$(48);i=j+8|0;h=j;d=j+32|0;n=j+28|0;k=j+24|0;e=j+20|0;f=j+16|0;g=j+12|0;c[n>>2]=a;c[k>>2]=b;c[e>>2]=Pb(4,20893,226)|0;if(Ad(c[e>>2]|0,c[n>>2]|0,c[k>>2]|0,0)|0){c[f>>2]=234;if((c[249]|0)==-1)c[249]=Wb(2,20980,20893,20985,c[f>>2]|0)|0;if((Xb()|0)<=0){if(c[249]|0)cc(2,20980,21022,h)}else Yb(-1,0);Rb(c[e>>2]|0,20893,235);c[d>>2]=0;n=c[d>>2]|0;l=j;return n|0}if(!(ie(c[c[e>>2]>>2]|0)|0)){c[d>>2]=c[e>>2];n=c[d>>2]|0;l=j;return n|0}c[g>>2]=241;if((c[250]|0)==-1)c[250]=Wb(2,20980,20893,20985,c[g>>2]|0)|0;if((Xb()|0)<=0){if(c[250]|0)cc(2,20980,21022,i)}else Yb(-1,0);Tc(c[e>>2]|0);c[d>>2]=0;n=c[d>>2]|0;l=j;return n|0}function Wc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0;n=l;l=l+64|0;if((l|0)>=(m|0))$(64);k=n+8|0;j=n;b=n+48|0;d=n+44|0;e=n+40|0;f=n+32|0;g=n+24|0;h=n+20|0;i=n+16|0;c[d>>2]=a;c[g>>2]=Xc(f,c[c[d>>2]>>2]|0,37679,39061)|0;if(c[g>>2]|0)c[g>>2]=Xc(f,c[c[d>>2]>>2]|0,37667,39061)|0;if(c[g>>2]|0)c[g>>2]=Xc(f,c[c[d>>2]>>2]|0,40693,39061)|0;if(!(c[g>>2]|0)){j=c[f+4>>2]|0;c[k>>2]=c[f>>2];c[k+4>>2]=j;c[g>>2]=Bd(h,0,21145,k)|0;Id(c[f>>2]|0);Id(c[f+4>>2]|0);c[e>>2]=Pb(4,20893,280)|0;c[c[e>>2]>>2]=c[h>>2];c[b>>2]=c[e>>2];k=c[b>>2]|0;l=n;return k|0}c[i>>2]=270;if((c[251]|0)==-1)c[251]=Wb(2,0,20893,21056,c[i>>2]|0)|0;if((Xb()|0)<=0){if(c[251]|0){c[j>>2]=20893;c[j+4>>2]=270;Zb(66,21097,j)}}else Yb(-1,0);c[b>>2]=0;k=c[b>>2]|0;l=n;return k|0}function Xc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0;q=l;l=l+48|0;if((l|0)>=(m|0))$(48);n=q+36|0;o=q+32|0;s=q+28|0;r=q+24|0;g=q+20|0;p=q+16|0;h=q+12|0;i=q+8|0;j=q+4|0;k=q;c[o>>2]=b;c[s>>2]=d;c[r>>2]=e;c[g>>2]=f;f=Ed(c[s>>2]|0,c[r>>2]|0,0)|0;c[p>>2]=f;if(!f){c[n>>2]=1;s=c[n>>2]|0;l=q;return s|0}c[h>>2]=Fd(c[p>>2]|0)|0;Cd(c[p>>2]|0);c[p>>2]=c[h>>2];if(!(c[p>>2]|0)){c[n>>2]=2;s=c[n>>2]|0;l=q;return s|0}c[k>>2]=0;c[i>>2]=c[g>>2];while(1){d=c[p>>2]|0;if(!(a[c[i>>2]>>0]|0)){b=18;break}s=Ed(d,c[i>>2]|0,1)|0;c[h>>2]=s;if(!s){b=8;break}s=Gd(c[h>>2]|0,1,5)|0;c[(c[o>>2]|0)+(c[k>>2]<<2)>>2]=s;Cd(c[h>>2]|0);if(!(c[(c[o>>2]|0)+(c[k>>2]<<2)>>2]|0)){b=13;break}c[i>>2]=(c[i>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+1}if((b|0)==8){c[j>>2]=0;while(1){if((c[j>>2]|0)>>>0>=(c[k>>2]|0)>>>0)break;ye(c[(c[o>>2]|0)+(c[j>>2]<<2)>>2]|0);c[(c[o>>2]|0)+(c[j>>2]<<2)>>2]=0;c[j>>2]=(c[j>>2]|0)+1}Cd(c[p>>2]|0);c[n>>2]=3;s=c[n>>2]|0;l=q;return s|0}else if((b|0)==13){c[j>>2]=0;while(1){if((c[j>>2]|0)>>>0>=(c[k>>2]|0)>>>0)break;ye(c[(c[o>>2]|0)+(c[j>>2]<<2)>>2]|0);c[(c[o>>2]|0)+(c[j>>2]<<2)>>2]=0;c[j>>2]=(c[j>>2]|0)+1}Cd(c[p>>2]|0);c[n>>2]=4;s=c[n>>2]|0;l=q;return s|0}else if((b|0)==18){Cd(d);c[n>>2]=0;s=c[n>>2]|0;l=q;return s|0}return 0}function Yc(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;if((l|0)>=(m|0))$(16);d=b;c[d>>2]=a;Cd(c[c[d>>2]>>2]|0);Rb(c[d>>2]|0,20893,295);l=b;return}function Zc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+32|0;if((l|0)>=(m|0))$(32);h=i;j=i+24|0;d=i+20|0;e=i+16|0;f=i+12|0;g=i+8|0;c[j>>2]=a;c[d>>2]=b;c[e>>2]=Dd(c[c[j>>2]>>2]|0,3,0,0)|0;c[f>>2]=Pb(c[e>>2]|0,20893,318)|0;b=(c[e>>2]|0)-1|0;if((b|0)==(Dd(c[c[j>>2]>>2]|0,3,c[f>>2]|0,c[e>>2]|0)|0)){c[c[d>>2]>>2]=c[f>>2];l=i;return c[e>>2]|0}c[g>>2]=323;if((c[252]|0)==-1)c[252]=Wb(1,0,20893,21175,c[g>>2]|0)|0;if((Xb()|0)>0){Yb(-1,0);Vb()}if(!(c[252]|0))Vb();c[h>>2]=20893;c[h+4>>2]=323;Zb(1,61295,h);Vb();return 0}function _c(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0;n=l;l=l+48|0;if((l|0)>=(m|0))$(48);k=n+8|0;j=n;d=n+44|0;p=n+40|0;o=n+36|0;e=n+32|0;f=n+28|0;g=n+24|0;h=n+20|0;i=n+16|0;c[p>>2]=a;c[o>>2]=b;c[e>>2]=Pb(4,20893,367)|0;if(Ad(c[e>>2]|0,c[p>>2]|0,c[o>>2]|0,0)|0){c[h>>2]=374;if((c[253]|0)==-1)c[253]=Wb(2,0,20893,21211,c[h>>2]|0)|0;if((Xb()|0)<=0){if(c[253]|0){c[j>>2]=20893;c[j+4>>2]=374;Zb(66,21097,j)}}else Yb(-1,0);Rb(c[e>>2]|0,20893,375);c[d>>2]=0;p=c[d>>2]|0;l=n;return p|0}c[g>>2]=Xc(f,c[c[e>>2]>>2]|0,37679,39075)|0;if(c[g>>2]|0)c[g>>2]=Xc(f,c[c[e>>2]>>2]|0,40693,39075)|0;if(!(c[g>>2]|0)){Id(c[f>>2]|0);c[d>>2]=c[e>>2];p=c[d>>2]|0;l=n;return p|0}c[i>>2]=385;if((c[254]|0)==-1)c[254]=Wb(1,0,20893,21211,c[i>>2]|0)|0;if((Xb()|0)<=0){if(c[254]|0){c[k>>2]=20893;c[k+4>>2]=385;Zb(1,61295,k)}}else Yb(-1,0);Cd(c[c[e>>2]>>2]|0);Rb(c[e>>2]|0,20893,387);c[d>>2]=0;p=c[d>>2]|0;l=n;return p|0}function $c(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+32|0;if((l|0)>=(m|0))$(32);h=i;j=i+24|0;d=i+20|0;e=i+16|0;f=i+12|0;g=i+8|0;c[j>>2]=a;c[d>>2]=b;c[e>>2]=Dd(c[c[j>>2]>>2]|0,3,0,0)|0;c[f>>2]=Pb(c[e>>2]|0,20893,958)|0;b=(c[e>>2]|0)-1|0;if((b|0)==(Dd(c[c[j>>2]>>2]|0,3,c[f>>2]|0,c[e>>2]|0)|0)){c[c[d>>2]>>2]=c[f>>2];l=i;return c[e>>2]|0}c[g>>2]=963;if((c[255]|0)==-1)c[255]=Wb(1,0,20893,21247,c[g>>2]|0)|0;if((Xb()|0)>0){Yb(-1,0);Vb()}if(!(c[255]|0))Vb();c[h>>2]=20893;c[h+4>>2]=963;Zb(1,61295,h);Vb();return 0}function ad(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+80|0;if((l|0)>=(m|0))$(80);x=y+8|0;w=y;r=y+76|0;s=y+72|0;t=y+68|0;u=y+64|0;v=y+60|0;g=y+56|0;h=y+52|0;i=y+48|0;j=y+40|0;k=y+32|0;n=y+28|0;o=y+24|0;p=y+20|0;q=y+16|0;c[s>>2]=a;c[t>>2]=b;c[u>>2]=d;c[v>>2]=e;c[g>>2]=f;if(!((c[v>>2]|0)!=0&(c[g>>2]|0)!=0)){c[p>>2]=738;if((c[256]|0)==-1)c[256]=Wb(1,0,20893,21282,c[p>>2]|0)|0;if((Xb()|0)>0){Yb(-1,0);Vb()}if(!(c[256]|0))Vb();c[w>>2]=20893;c[w+4>>2]=738;Zb(1,61295,w);Vb()}c[o>>2]=Xc(j,c[c[u>>2]>>2]|0,37679,39061)|0;if(c[o>>2]|0)c[o>>2]=Xc(j,c[c[u>>2]>>2]|0,40693,39061)|0;if(!(c[o>>2]|0)){c[i>>2]=bd(c[u>>2]|0,c[s>>2]|0)|0;do if(c[i>>2]|0){c[h>>2]=cd(c[u>>2]|0,c[t>>2]|0)|0;if(!(c[h>>2]|0)){Id(c[i>>2]|0);break}c[k>>2]=Hd(0)|0;Nd(c[k>>2]|0,c[c[h>>2]>>2]|0,c[j+4>>2]|0,c[j>>2]|0);c[n>>2]=Hd(0)|0;Md(c[n>>2]|0,c[i>>2]|0,c[k>>2]|0,c[j>>2]|0);Id(c[i>>2]|0);Id(c[j>>2]|0);Id(c[j+4>>2]|0);Id(c[k>>2]|0);dd(c[h>>2]|0);x=ed(c[n>>2]|0,c[v>>2]|0)|0;c[c[g>>2]>>2]=x;Id(c[n>>2]|0);c[r>>2]=1;x=c[r>>2]|0;l=y;return x|0}while(0);Id(c[j>>2]|0);Id(c[j+4>>2]|0);c[c[v>>2]>>2]=0;c[c[g>>2]>>2]=0;c[r>>2]=0;x=c[r>>2]|0;l=y;return x|0}c[q>>2]=744;if((c[257]|0)==-1)c[257]=Wb(1,0,20893,21282,c[q>>2]|0)|0;if((Xb()|0)<=0){if(c[257]|0){c[x>>2]=20893;c[x+4>>2]=744;Zb(1,61295,x)}}else Yb(-1,0);c[c[v>>2]>>2]=0;c[c[g>>2]>>2]=0;c[r>>2]=0;x=c[r>>2]|0;l=y;return x|0}function bd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+64|0;if((l|0)>=(m|0))$(64);o=r+8|0;n=r;p=r+52|0;f=r+48|0;g=r+44|0;h=r+40|0;i=r+36|0;j=r+32|0;k=r+28|0;q=r+24|0;d=r+20|0;e=r+16|0;c[f>>2]=a;c[g>>2]=b;if(Xc(i,c[c[f>>2]>>2]|0,40693,39075)|0){c[d>>2]=689;if((c[262]|0)==-1)c[262]=Wb(1,0,20893,21400,c[d>>2]|0)|0;if((Xb()|0)>0){Yb(-1,0);Vb()}if(!(c[262]|0))Vb();c[n>>2]=20893;c[n+4>>2]=689;Zb(1,61295,n);Vb()}if(!($d(c[i>>2]|0,2)|0)){c[k>>2]=Zc(c[f>>2]|0,j)|0;Ic(h,c[i>>2]|0,c[j>>2]|0,c[k>>2]|0,c[g>>2]|0,64,21421);Rb(c[j>>2]|0,20893,704);c[q>>2]=fd(c[h>>2]|0,c[i>>2]|0)|0;Id(c[i>>2]|0);a=c[h>>2]|0;if(c[q>>2]|0){c[p>>2]=a;q=c[p>>2]|0;l=r;return q|0}else{Id(a);c[p>>2]=0;q=c[p>>2]|0;l=r;return q|0}}c[e>>2]=691;if((c[263]|0)==-1)c[263]=Wb(1,0,20893,21400,c[e>>2]|0)|0;if((Xb()|0)>0){Yb(-1,0);Vb()}if(!(c[263]|0))Vb();c[o>>2]=20893;c[o+4>>2]=691;Zb(1,61295,o);Vb();return 0}function cd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0;q=l;l=l+64|0;if((l|0)>=(m|0))$(64);p=q+16|0;o=q+8|0;n=q;d=q+52|0;e=q+48|0;f=q+44|0;g=q+40|0;h=q+36|0;i=q+32|0;j=q+28|0;k=q+24|0;c[d>>2]=a;c[e>>2]=b;c[f>>2]=21332;c[g>>2]=Pb(4,20893,434)|0;if(!(c[g>>2]|0)){c[i>>2]=435;if((c[259]|0)==-1)c[259]=Wb(1,0,20893,21363,c[i>>2]|0)|0;if((Xb()|0)>0){Yb(-1,0);Vb()}if(!(c[259]|0))Vb();c[n>>2]=20893;c[n+4>>2]=435;Zb(1,61295,n);Vb()}if(Xc(h,c[c[d>>2]>>2]|0,40693,39075)|0){c[j>>2]=438;if((c[260]|0)==-1)c[260]=Wb(1,0,20893,21363,c[j>>2]|0)|0;if((Xb()|0)>0){Yb(-1,0);Vb()}if(!(c[260]|0))Vb();c[o>>2]=20893;c[o+4>>2]=438;Zb(1,61295,o);Vb()}if(!($d(c[h>>2]|0,2)|0)){k=c[g>>2]|0;n=c[h>>2]|0;o=c[f>>2]|0;p=Fo(c[f>>2]|0)|0;Ic(k,n,o,p,c[e>>2]|0,32,21387);if(fd(c[c[g>>2]>>2]|0,c[h>>2]|0)|0){p=c[h>>2]|0;Id(p);p=c[g>>2]|0;l=q;return p|0}Rb(c[g>>2]|0,20893,448);c[g>>2]=0;p=c[h>>2]|0;Id(p);p=c[g>>2]|0;l=q;return p|0}c[k>>2]=440;if((c[261]|0)==-1)c[261]=Wb(1,0,20893,21363,c[k>>2]|0)|0;if((Xb()|0)>0){Yb(-1,0);Vb()}if(!(c[261]|0))Vb();c[p>>2]=20893;c[p+4>>2]=440;Zb(1,61295,p);Vb();return 0}function dd(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;if((l|0)>=(m|0))$(16);d=b;c[d>>2]=a;Id(c[c[d>>2]>>2]|0);Rb(c[d>>2]|0,20893,631);l=b;return}function ed(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+32|0;if((l|0)>=(m|0))$(32);h=i;j=i+28|0;d=i+24|0;e=i+20|0;f=i+16|0;g=i+8|0;c[j>>2]=a;c[d>>2]=b;Ld(5,0,0,e,c[j>>2]|0)|0;c[f>>2]=Pb(c[e>>2]|0,20893,655)|0;if(!(Ld(5,c[f>>2]|0,c[e>>2]|0,i+12|0,c[j>>2]|0)|0)){c[c[d>>2]>>2]=c[f>>2];l=i;return c[e>>2]|0}c[g>>2]=661;if((c[258]|0)==-1)c[258]=Wb(1,0,20893,21306,c[g>>2]|0)|0;if((Xb()|0)>0){Yb(-1,0);Vb()}if(!(c[258]|0))Vb();c[h>>2]=20893;c[h+4>>2]=661;Zb(1,61295,h);Vb();return 0}function fd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=l;l=l+16|0;if((l|0)>=(m|0))$(16);h=d+12|0;g=d+8|0;f=d+4|0;e=d;c[h>>2]=a;c[g>>2]=b;c[f>>2]=Hd(0)|0;c[e>>2]=Od(c[f>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;Id(c[f>>2]|0);l=d;return c[e>>2]|0}function gd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;f=l;l=l+32|0;if((l|0)>=(m|0))$(32);e=f+8|0;g=f;h=f+24|0;b=f+20|0;d=f+16|0;c[h>>2]=a;c[b>>2]=0;c[g>>2]=c[h>>2];if(!(Bd(b,0,21436,g)|0)){l=f;return c[b>>2]|0}c[d>>2]=806;if((c[264]|0)==-1)c[264]=Wb(1,0,20893,21466,c[d>>2]|0)|0;if((Xb()|0)>0){Yb(-1,0);Vb()}if(!(c[264]|0))Vb();c[e>>2]=20893;c[e+4>>2]=806;Zb(1,61295,e);Vb();return 0}function hd(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;if((l|0)>=(m|0))$(16);d=b;c[d>>2]=a;Cd(c[c[d>>2]>>2]|0);Rb(c[d>>2]|0,20893,936);l=b;return}function id(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0;n=l;l=l+48|0;if((l|0)>=(m|0))$(48);k=n+8|0;j=n;d=n+44|0;p=n+40|0;o=n+36|0;e=n+32|0;f=n+28|0;g=n+24|0;h=n+20|0;i=n+16|0;c[p>>2]=a;c[o>>2]=b;c[e>>2]=Pb(4,20893,985)|0;if(Ad(c[e>>2]|0,c[p>>2]|0,c[o>>2]|0,0)|0){c[h>>2]=992;if((c[265]|0)==-1)c[265]=Wb(2,0,20893,21478,c[h>>2]|0)|0;if((Xb()|0)<=0){if(c[265]|0){c[j>>2]=20893;c[j+4>>2]=992;Zb(66,21097,j)}}else Yb(-1,0);Rb(c[e>>2]|0,20893,993);c[d>>2]=0;p=c[d>>2]|0;l=n;return p|0}c[f>>2]=Xc(g,c[c[e>>2]>>2]|0,37529,39073)|0;if(c[f>>2]|0)c[f>>2]=Xc(g,c[c[e>>2]>>2]|0,40693,39073)|0;if(!(c[f>>2]|0)){Id(c[g>>2]|0);c[d>>2]=c[e>>2];p=c[d>>2]|0;l=n;return p|0}c[i>>2]=1003;if((c[266]|0)==-1)c[266]=Wb(2,0,20893,21478,c[i>>2]|0)|0;if((Xb()|0)<=0){if(c[266]|0){c[k>>2]=20893;c[k+4>>2]=1003;Zb(66,21097,k)}}else Yb(-1,0);Cd(c[c[e>>2]>>2]|0);Rb(c[e>>2]|0,20893,1005);c[d>>2]=0;p=c[d>>2]|0;l=n;return p|0}function jd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=l;l=l+112|0;if((l|0)>=(m|0))$(112);z=C+40|0;y=C+32|0;x=C+24|0;B=C+16|0;A=C+8|0;w=C;p=C+108|0;q=C+104|0;r=C+100|0;s=C+96|0;t=C+92|0;u=C+88|0;v=C+84|0;e=C+80|0;f=C+76|0;g=C+72|0;h=C+68|0;i=C+64|0;j=C+60|0;k=C+56|0;n=C+52|0;o=C+48|0;c[q>>2]=a;c[r>>2]=b;c[s>>2]=d;c[g>>2]=Xc(u,c[c[s>>2]>>2]|0,37679,39075)|0;if(c[g>>2]|0)c[g>>2]=Xc(u,c[c[s>>2]>>2]|0,40693,39075)|0;if(c[g>>2]|0){c[i>>2]=1066;if((c[267]|0)==-1)c[267]=Wb(2,0,20893,21513,c[i>>2]|0)|0;if((Xb()|0)<=0){if(c[267]|0){c[w>>2]=20893;c[w+4>>2]=1066;Zb(66,21097,w)}}else Yb(-1,0);c[p>>2]=0;B=c[p>>2]|0;l=C;return B|0}c[g>>2]=Xc(v,c[c[q>>2]>>2]|0,37529,39073)|0;if(c[g>>2]|0)c[g>>2]=Xc(v,c[c[q>>2]>>2]|0,40693,39073)|0;if(c[g>>2]|0){Id(c[u>>2]|0);c[j>>2]=1075;if((c[268]|0)==-1)c[268]=Wb(2,0,20893,21513,c[j>>2]|0)|0;if((Xb()|0)<=0){if(c[268]|0){c[A>>2]=20893;c[A+4>>2]=1075;Zb(66,21097,A)}}else Yb(-1,0);c[p>>2]=0;B=c[p>>2]|0;l=C;return B|0}c[t>>2]=cd(c[s>>2]|0,c[r>>2]|0)|0;if(!(c[t>>2]|0)){c[k>>2]=1086;if((c[269]|0)==-1)c[269]=Wb(2,0,20893,21513,c[k>>2]|0)|0;if((Xb()|0)<=0){if(c[269]|0){c[B>>2]=20893;c[B+4>>2]=1086;Zb(66,21097,B)}}else Yb(-1,0);Id(c[u>>2]|0);Id(c[v>>2]|0);c[p>>2]=0;B=c[p>>2]|0;l=C;return B|0}c[e>>2]=Hd(0)|0;if(1!=(Pd(c[e>>2]|0,c[c[t>>2]>>2]|0,c[u>>2]|0)|0)){c[n>>2]=1100;if((c[270]|0)==-1)c[270]=Wb(2,0,20893,21513,c[n>>2]|0)|0;if((Xb()|0)<=0){if(c[270]|0){c[x>>2]=20893;c[x+4>>2]=1100;Zb(66,21097,x)}}else Yb(-1,0);Id(c[e>>2]|0);dd(c[t>>2]|0);Id(c[u>>2]|0);Id(c[v>>2]|0);c[p>>2]=0;B=c[p>>2]|0;l=C;return B|0}c[f>>2]=Hd(0)|0;Md(c[f>>2]|0,c[v>>2]|0,c[e>>2]|0,c[u>>2]|0);Id(c[u>>2]|0);Id(c[e>>2]|0);Id(c[v>>2]|0);dd(c[t>>2]|0);c[h>>2]=Pb(4,20893,1115)|0;B=c[h>>2]|0;c[y>>2]=c[f>>2];if(!(Bd(B,0,21539,y)|0)){Id(c[f>>2]|0);c[p>>2]=c[h>>2];B=c[p>>2]|0;l=C;return B|0}c[o>>2]=1120;if((c[271]|0)==-1)c[271]=Wb(1,0,20893,21513,c[o>>2]|0)|0;if((Xb()|0)>0){Yb(-1,0);Vb()}if(!(c[271]|0))Vb();c[z>>2]=20893;c[z+4>>2]=1120;Zb(1,61295,z);Vb();return 0}function kd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0;q=l;l=l+64|0;if((l|0)>=(m|0))$(64);p=q+8|0;o=q;g=q+52|0;r=q+48|0;h=q+44|0;i=q+40|0;j=q+36|0;k=q+32|0;n=q+28|0;e=q+24|0;f=q+20|0;c[r>>2]=a;c[h>>2]=b;c[i>>2]=d;c[k>>2]=bd(c[i>>2]|0,c[r>>2]|0)|0;if(!(c[k>>2]|0)){c[e>>2]=1146;if((c[272]|0)==-1)c[272]=Wb(2,0,20893,21562,c[e>>2]|0)|0;if((Xb()|0)<=0){if(c[272]|0){c[o>>2]=20893;c[o+4>>2]=1146;Zb(66,21097,o)}}else Yb(-1,0);c[g>>2]=0;r=c[g>>2]|0;l=q;return r|0}c[j>>2]=gd(c[k>>2]|0)|0;Id(c[k>>2]|0);c[n>>2]=he(c[c[h>>2]>>2]|0,c[j>>2]|0,c[c[i>>2]>>2]|0)|0;Cd(c[j>>2]|0);if(!(c[n>>2]|0)){c[g>>2]=1;r=c[g>>2]|0;l=q;return r|0}c[f>>2]=1169;if((c[273]|0)==-1)c[273]=Wb(2,20980,20893,21562,c[f>>2]|0)|0;if((Xb()|0)<=0){if(c[273]|0){r=xd(c[n>>2]|0)|0;c[p>>2]=20893;c[p+4>>2]=1168;c[p+8>>2]=r;cc(2,20980,21587,p)}}else Yb(-1,0);c[g>>2]=-1;r=c[g>>2]|0;l=q;return r|0}function ld(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0;j=l;l=l+48|0;if((l|0)>=(m|0))$(48);h=j+16|0;d=j+40|0;e=j+36|0;f=j+32|0;g=j+8|0;k=j;c[e>>2]=b;c[f>>2]=21675;o=a;b=c[o+4>>2]|0;n=g;c[n>>2]=c[o>>2];c[n+4>>2]=b;n=rd()|0;b=k;c[b>>2]=n;c[b+4>>2]=D;b=a;if((c[k>>2]|0)==(c[b>>2]|0)?(c[k+4>>2]|0)==(c[b+4>>2]|0):0){c[d>>2]=21653;o=c[d>>2]|0;l=j;return o|0}o=a;if(0==(c[o>>2]|0)?0==(c[o+4>>2]|0):0){c[d>>2]=21679;o=c[d>>2]|0;l=j;return o|0}o=g;n=c[o+4>>2]|0;if(!(!(1==(c[e>>2]|0)&(n>>>0>0|(n|0)==0&(c[o>>2]|0)>>>0>5e3))?(o=g,o=nr(c[o>>2]|0,c[o+4>>2]|0,1e3,0)|0,!(0==(o|0)&0==(D|0))):0))i=7;do if((i|0)==7){n=g;n=ir(c[n>>2]|0,c[n+4>>2]|0,1e3,0)|0;o=g;c[o>>2]=n;c[o+4>>2]=D;c[f>>2]=21661;o=g;n=c[o+4>>2]|0;if(!(1==(c[e>>2]|0)&(n>>>0>0|(n|0)==0&(c[o>>2]|0)>>>0>5e3))?(o=g,o=nr(c[o>>2]|0,c[o+4>>2]|0,1e3,0)|0,!(0==(o|0)&0==(D|0))):0)break;n=g;n=ir(c[n>>2]|0,c[n+4>>2]|0,1e3,0)|0;o=g;c[o>>2]=n;c[o+4>>2]=D;c[f>>2]=39073;o=g;n=c[o+4>>2]|0;if(!(1==(c[e>>2]|0)&(n>>>0>0|(n|0)==0&(c[o>>2]|0)>>>0>300))?(o=g,o=nr(c[o>>2]|0,c[o+4>>2]|0,60,0)|0,!(0==(o|0)&0==(D|0))):0)break;n=g;n=ir(c[n>>2]|0,c[n+4>>2]|0,60,0)|0;o=g;c[o>>2]=n;c[o+4>>2]=D;c[f>>2]=21664;o=g;n=c[o+4>>2]|0;if(!(1==(c[e>>2]|0)&(n>>>0>0|(n|0)==0&(c[o>>2]|0)>>>0>300))?(o=g,o=nr(c[o>>2]|0,c[o+4>>2]|0,60,0)|0,!(0==(o|0)&0==(D|0))):0)break;n=g;n=ir(c[n>>2]|0,c[n+4>>2]|0,60,0)|0;o=g;c[o>>2]=n;c[o+4>>2]=D;c[f>>2]=35382;o=g;n=c[o+4>>2]|0;if(!(1==(c[e>>2]|0)&(n>>>0>0|(n|0)==0&(c[o>>2]|0)>>>0>120))?(o=g,o=nr(c[o>>2]|0,c[o+4>>2]|0,24,0)|0,!(0==(o|0)&0==(D|0))):0)break;n=g;n=ir(c[n>>2]|0,c[n+4>>2]|0,24,0)|0;o=g;c[o>>2]=n;c[o+4>>2]=D;o=g;if(1==(c[o>>2]|0)?0==(c[o+4>>2]|0):0){c[f>>2]=21666;break}else{c[f>>2]=21670;break}}while(0);i=g;k=c[i+4>>2]|0;o=c[f>>2]|0;n=h;c[n>>2]=c[i>>2];c[n+4>>2]=k;c[h+8>>2]=o;Sb(71651,128,21645,h)|0;c[d>>2]=71651;o=c[d>>2]|0;l=j;return o|0}function md(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=l;l=l+96|0;if((l|0)>=(m|0))$(96);x=A+24|0;z=A+16|0;y=A+8|0;o=A;t=A+84|0;B=A+80|0;n=A+76|0;u=A+72|0;v=A+68|0;w=A+64|0;h=A+60|0;i=A+56|0;p=A+52|0;j=A+48|0;k=A+44|0;q=A+40|0;r=A+36|0;s=A+32|0;c[B>>2]=b;c[n>>2]=e;c[u>>2]=f;c[v>>2]=g;c[j>>2]=c[B>>2];if((c[v>>2]|0)>>>0<((((c[n>>2]<<3)+4|0)>>>0)/5|0)>>>0){c[k>>2]=883;if((c[274]|0)==-1)c[274]=Wb(1,0,21635,21684,c[k>>2]|0)|0;if((Xb()|0)<=0){if(c[274]|0){c[o>>2]=21635;c[o+4>>2]=883;Zb(1,61295,o)}}else Yb(-1,0);c[t>>2]=0;B=c[t>>2]|0;l=A;return B|0}c[p>>2]=0;c[w>>2]=0;c[h>>2]=0;c[i>>2]=0;while(1){if(!((c[h>>2]|0)>>>0<(c[n>>2]|0)>>>0?1:(c[p>>2]|0)>>>0>0)){b=32;break}if((c[p>>2]|0)>>>0<5?(c[h>>2]|0)>>>0<(c[n>>2]|0)>>>0:0){o=c[i>>2]<<8;B=c[h>>2]|0;c[h>>2]=B+1;c[i>>2]=o|(d[(c[j>>2]|0)+B>>0]|0);c[p>>2]=(c[p>>2]|0)+8}if((c[p>>2]|0)>>>0<5){c[i>>2]=c[i>>2]<<5-(c[p>>2]|0);if((c[p>>2]|0)!=((c[n>>2]<<3>>>0)%5|0|0)){b=15;break}c[p>>2]=5}if((c[w>>2]|0)>>>0>=(c[v>>2]|0)>>>0){b=24;break}o=a[(c[277]|0)+((c[i>>2]|0)>>>((c[p>>2]|0)-5|0)&31)>>0]|0;B=c[w>>2]|0;c[w>>2]=B+1;a[(c[u>>2]|0)+B>>0]=o;c[p>>2]=(c[p>>2]|0)-5}if((b|0)==15){c[q>>2]=900;if((c[275]|0)==-1)c[275]=Wb(1,0,21635,21684,c[q>>2]|0)|0;if((Xb()|0)>0){Yb(-1,0);Vb()}if(!(c[275]|0))Vb();c[y>>2]=21635;c[y+4>>2]=900;Zb(1,61295,y);Vb()}else if((b|0)==24){c[r>>2]=905;if((c[276]|0)==-1)c[276]=Wb(1,0,21635,21684,c[r>>2]|0)|0;if((Xb()|0)<=0){if(c[276]|0){c[z>>2]=21635;c[z+4>>2]=905;Zb(1,61295,z)}}else Yb(-1,0);c[t>>2]=0;B=c[t>>2]|0;l=A;return B|0}else if((b|0)==32){if(!(c[p>>2]|0)){if((c[w>>2]|0)>>>0<(c[v>>2]|0)>>>0)a[(c[u>>2]|0)+(c[w>>2]|0)>>0]=0;c[t>>2]=(c[u>>2]|0)+(c[w>>2]|0);B=c[t>>2]|0;l=A;return B|0}c[s>>2]=911;if((c[278]|0)==-1)c[278]=Wb(1,0,21635,21684,c[s>>2]|0)|0;if((Xb()|0)>0){Yb(-1,0);Vb()}if(!(c[278]|0))Vb();c[x>>2]=21635;c[x+4>>2]=911;Zb(1,61295,x);Vb()}return 0}function nd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;if((l|0)>=(m|0))$(32);e=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[f>>2]=b;c[g>>2]=d;c[i>>2]=c[g>>2]<<3;if((((c[i>>2]|0)>>>0)%5|0)>>>0>0)c[i>>2]=(c[i>>2]|0)+(5-(((c[i>>2]|0)>>>0)%5|0));c[i>>2]=((c[i>>2]|0)>>>0)/5|0;c[h>>2]=Pb((c[i>>2]|0)+1|0,21635,939)|0;c[j>>2]=md(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,c[i>>2]|0)|0;if(!(c[j>>2]|0)){Rb(c[h>>2]|0,21635,943);c[e>>2]=0;j=c[e>>2]|0;l=k;return j|0}else{a[c[j>>2]>>0]=0;c[e>>2]=c[h>>2];j=c[e>>2]|0;l=k;return j|0}return 0}function od(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+64|0;if((l|0)>=(m|0))$(64);w=x;v=x+60|0;r=x+56|0;i=x+52|0;j=x+48|0;k=x+44|0;s=x+40|0;n=x+36|0;o=x+32|0;t=x+28|0;p=x+24|0;g=x+20|0;q=x+16|0;h=x+12|0;u=x+8|0;c[r>>2]=b;c[i>>2]=d;c[j>>2]=e;c[k>>2]=f;c[h>>2]=c[k>>2]<<3;if(!(c[i>>2]|0))if(!(c[k>>2]|0)){c[v>>2]=1;w=c[v>>2]|0;l=x;return w|0}else{c[v>>2]=-1;w=c[v>>2]|0;l=x;return w|0}c[q>>2]=c[j>>2];c[n>>2]=c[k>>2];c[s>>2]=c[i>>2];if((((c[h>>2]|0)>>>0)%5|0)>>>0>0){c[t>>2]=((c[h>>2]|0)>>>0)%5|0;c[g>>2]=5-(c[t>>2]|0);k=(c[s>>2]|0)+-1|0;c[s>>2]=k;k=pd(a[(c[r>>2]|0)+k>>0]|0)|0;c[p>>2]=k;c[o>>2]=k>>c[g>>2]}else{c[t>>2]=5;c[g>>2]=0;k=(c[s>>2]|0)+-1|0;c[s>>2]=k;k=pd(a[(c[r>>2]|0)+k>>0]|0)|0;c[p>>2]=k;c[o>>2]=k}if(((((c[h>>2]|0)+(c[g>>2]|0)|0)>>>0)/5|0|0)!=(c[i>>2]|0)){c[v>>2]=-1;w=c[v>>2]|0;l=x;return w|0}if(-1==(c[p>>2]|0)){c[v>>2]=-1;w=c[v>>2]|0;l=x;return w|0}while(1){d=c[s>>2]|0;if((c[n>>2]|0)>>>0<=0){b=25;break}if(!d){b=14;break}k=(c[s>>2]|0)+-1|0;c[s>>2]=k;k=pd(a[(c[r>>2]|0)+k>>0]|0)|0;c[p>>2]=k;c[o>>2]=k<<c[t>>2]|c[o>>2];if(-1==(c[p>>2]|0)){b=22;break}c[t>>2]=(c[t>>2]|0)+5;if((c[t>>2]|0)>>>0<8)continue;j=c[o>>2]&255;k=(c[n>>2]|0)+-1|0;c[n>>2]=k;a[(c[q>>2]|0)+k>>0]=j;c[o>>2]=(c[o>>2]|0)>>>8;c[t>>2]=(c[t>>2]|0)-8}if((b|0)==14){c[u>>2]=1003;if((c[279]|0)==-1)c[279]=Wb(1,0,21635,21747,c[u>>2]|0)|0;if((Xb()|0)<=0){if(c[279]|0){c[w>>2]=21635;c[w+4>>2]=1003;Zb(1,61295,w)}}else Yb(-1,0);c[v>>2]=-1;w=c[v>>2]|0;l=x;return w|0}else if((b|0)==22){c[v>>2]=-1;w=c[v>>2]|0;l=x;return w|0}else if((b|0)==25)if(0!=(d|0)|0!=(c[t>>2]|0)){c[v>>2]=-1;w=c[v>>2]|0;l=x;return w|0}else{c[v>>2]=1;w=c[v>>2]|0;l=x;return w|0}return 0}function pd(b){b=b|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;if((l|0)>=(m|0))$(16);e=h+4|0;f=h+8|0;g=h;a[f>>0]=b;switch(d[f>>0]|0|0){case 111:case 79:{a[f>>0]=48;break}case 76:case 108:case 73:case 105:{a[f>>0]=49;break}case 85:case 117:{a[f>>0]=86;break}default:{}}if((d[f>>0]|0|0)>=48?(d[f>>0]|0|0)<=57:0){c[e>>2]=(d[f>>0]|0)-48;g=c[e>>2]|0;l=h;return g|0}if((d[f>>0]|0|0)>=97?(d[f>>0]|0|0)<=122:0)a[f>>0]=Bp(d[f>>0]|0)|0;c[g>>2]=0;if((d[f>>0]|0|0)>=65?(d[f>>0]|0|0)<=90:0){if(73<(d[f>>0]|0|0))c[g>>2]=(c[g>>2]|0)+1;if(76<(d[f>>0]|0|0))c[g>>2]=(c[g>>2]|0)+1;if(79<(d[f>>0]|0|0))c[g>>2]=(c[g>>2]|0)+1;if(85<(d[f>>0]|0|0))c[g>>2]=(c[g>>2]|0)+1;c[e>>2]=(d[f>>0]|0)-65+10-(c[g>>2]|0);g=c[e>>2]|0;l=h;return g|0}c[e>>2]=-1;g=c[e>>2]|0;l=h;return g|0}function qd(){var a=0;a=70232;D=c[a+4>>2]|0;return c[a>>2]|0}function rd(){var a=0,b=0;a=l;l=l+16|0;if((l|0)>=(m|0))$(16);b=a;c[b>>2]=c[16];c[b+4>>2]=c[17];D=c[b+4>>2]|0;l=a;return c[b>>2]|0}function sd(){var a=0,b=0,d=0,e=0,f=0;a=l;l=l+32|0;if((l|0)>=(m|0))$(32);b=a+8|0;d=a;e=a+16|0;gb(e|0,0)|0;f=c[e>>2]|0;f=kr(f|0,((f|0)<0)<<31>>31|0,1e3,0)|0;f=kr(f|0,D|0,1e3,0)|0;e=c[e+4>>2]|0;e=_q(f|0,D|0,e|0,((e|0)<0)<<31>>31|0)|0;f=70232;f=_q(e|0,D|0,c[f>>2]|0,c[f+4>>2]|0)|0;e=d;c[e>>2]=f;c[e+4>>2]=D;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];D=c[b+4>>2]|0;l=a;return c[b>>2]|0}function td(){var a=0,b=0;a=l;l=l+16|0;if((l|0)>=(m|0))$(16);b=a;c[b>>2]=c[17560];c[b+4>>2]=c[17561];D=c[b+4>>2]|0;l=a;return c[b>>2]|0}function ud(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=l;l=l+32|0;if((l|0)>=(m|0))$(32);b=f+24|0;d=f+16|0;e=f+8|0;h=f;g=sd()|0;j=h;c[j>>2]=g;c[j+4>>2]=D;c[d>>2]=c[h>>2];c[d+4>>2]=c[h+4>>2];h=a;j=c[h+4>>2]|0;g=d;i=c[g+4>>2]|0;if(j>>>0>i>>>0|((j|0)==(i|0)?(c[h>>2]|0)>>>0>(c[g>>2]|0)>>>0:0)){j=td()|0;i=b;c[i>>2]=j;c[i+4>>2]=D;i=b;j=i;j=c[j>>2]|0;i=i+4|0;i=c[i>>2]|0;D=i;l=f;return j|0}else{i=d;j=a;j=Xq(c[i>>2]|0,c[i+4>>2]|0,c[j>>2]|0,c[j+4>>2]|0)|0;i=e;c[i>>2]=j;c[i+4>>2]=D;c[b>>2]=c[e>>2];c[b+4>>2]=c[e+4>>2];i=b;j=i;j=c[j>>2]|0;i=i+4|0;i=c[i>>2]|0;D=i;l=f;return j|0}return 0}function vd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;if((l|0)>=(m|0))$(16);e=d;f=e;c[f>>2]=a;c[f+4>>2]=b;b=Xp(c[e>>2]|0)|0;b=_q(0,b|0,Xp(c[e+4>>2]|0)|0,0)|0;l=d;return b|0}function wd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;if((l|0)>=(m|0))$(16);e=d;f=e;c[f>>2]=a;c[f+4>>2]=b;b=Yp(c[e>>2]|0)|0;b=_q(0,b|0,Yp(c[e+4>>2]|0)|0,0)|0;l=d;return b|0}function xd(a){a=a|0;return Pn(a)|0}function yd(a){a=a|0;return Ye(a)|0}function zd(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;if((l|0)>=(m|0))$(16);e=d;c[e>>2]=b;b=Ze(a,e)|0;l=d;return ((b|0)==0?0:b&65535|16777216)|0}function Ad(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=tf(a,b,c,d)|0;return ((d|0)==0?0:d&65535|16777216)|0}function Bd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=l;l=l+16|0;if((l|0)>=(m|0))$(16);g=f;c[g>>2]=e;e=Ef(a,b,d,g)|0;l=f;return ((e|0)==0?0:e&65535|16777216)|0}function Cd(a){a=a|0;sf(a);return}function Dd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Gf(a,b,c,d)|0}function Ed(a,b,c){a=a|0;b=b|0;c=c|0;return uf(a,b,c)|0}function Fd(a){a=a|0;return Cf(a)|0}function Gd(a,b,c){a=a|0;b=b|0;c=c|0;return Af(a,b,c)|0}function Hd(a){a=a|0;return Hl(a)|0}function Id(a){a=a|0;Jl(a);return}function Jd(a,b){a=a|0;b=b|0;return wk(a,b)|0}function Kd(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;e=Sk(a,b,c,d,e)|0;return ((e|0)==0?0:e&65535|16777216)|0}function Ld(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;e=Tk(a,b,c,d,e)|0;return ((e|0)==0?0:e&65535|16777216)|0}function Md(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Lk(a,b,c,d);return}function Nd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Mk(a,b,c,d);return}function Od(a,b,c){a=a|0;b=b|0;c=c|0;return Ek(a,b,c)|0}function Pd(a,b,c){a=a|0;b=b|0;c=c|0;return Fk(a,b,c)|0}function Qd(a){a=a|0;return Oj(a)|0}function Rd(a){a=a|0;Qj(a);return}function Sd(a,b,c){a=a|0;b=b|0;c=c|0;c=Hg(a,b,c)|0;return ((c|0)==0?0:c&65535|16777216)|0}function Td(a,b,c){a=a|0;b=b|0;c=c|0;return Zj(a,b,c)|0}function Ud(a,b,c){a=a|0;b=b|0;c=c|0;return _j(a,b,c)|0}function Vd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Nj(a,b,c,sg(d,1)|0)|0}function Wd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ck(a,b,c,sg(d,1)|0);return}function Xd(a){a=a|0;return lk(a)|0}function Yd(a,b){a=a|0;b=b|0;return mk(a,b)|0}function Zd(a,b){a=a|0;b=b|0;pk(a,b);return}function _d(a,b){a=a|0;b=b|0;return wl(a,b)|0}function $d(a,b){a=a|0;b=b|0;return Ll(a,b)|0}function ae(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(!(We()|0)){c[a>>2]=0;e=16777392;return e|0}else{e=vg(a,b,d,e)|0;e=(e|0)==0?0:e&65535|16777216;return e|0}return 0}function be(a){a=a|0;xg(a);return}function ce(a,b,c){a=a|0;b=b|0;c=c|0;if(!(We()|0)){c=16777392;return c|0}c=Ag(a,b,c)|0;c=(c|0)==0?0:c&65535|536870912;return c|0}function de(a,b,c){a=a|0;b=b|0;c=c|0;if(!(We()|0)){c=16777392;return c|0}c=Bg(a,b,c)|0;c=(c|0)==0?0:c&65535|536870912;return c|0}function ee(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(We()|0){e=yg(a,b,c,d,e)|0;e=(e|0)==0?0:e&65535|16777216;return e|0}if(!b){e=16777392;return e|0}Yq(b|0,66,c|0)|0;e=16777392;return e|0}function fe(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(!(We()|0)){e=16777392;return e|0}e=zg(a,b,c,d,e)|0;e=(e|0)==0?0:e&65535|16777216;return e|0}function ge(a,b,d){a=a|0;b=b|0;d=d|0;if(!(We()|0)){c[a>>2]=0;d=16777392;return d|0}else{d=Sh(a,b,d)|0;d=(d|0)==0?0:d&65535|16777216;return d|0}return 0}function he(a,b,c){a=a|0;b=b|0;c=c|0;if(!(We()|0)){c=16777392;return c|0}c=Th(a,b,c)|0;c=(c|0)==0?0:c&65535|16777216;return c|0}function ie(a){a=a|0;if(!(We()|0)){a=16777392;return a|0}a=Uh(a)|0;a=(a|0)==0?0:a&65535|16777216;return a|0}function je(a,b){a=a|0;b=b|0;if(!(We()|0)){c[a>>2]=0;b=16777392;return b|0}else{b=Vh(a,b)|0;b=(b|0)==0?0:b&65535|16777216;return b|0}return 0}function ke(a,b,d){a=a|0;b=b|0;d=d|0;if(!(We()|0)){c[a>>2]=0;d=16777392;return d|0}else{d=eh(a,b,d)|0;d=(d|0)==0?0:d&65535|16777216;return d|0}return 0}function le(a){a=a|0;kh(a);return}function me(a){a=a|0;ih(a);return}function ne(a,b,c){a=a|0;b=b|0;c=c|0;if(!(We()|0))return;lh(a,b,c);return}function oe(a,b){a=a|0;b=b|0;return ph(a,b)|0}function pe(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(!(We()|0))kg(21777,1175,21790,0,21810);oh(a,b,c,d);return}function qe(a){a=a|0;if(!(We()|0)){kg(21777,1198,21842,0,21859);a=0;return a|0}else{a=rh(a)|0;return a|0}return 0}function re(a){a=a|0;return sh(a)|0}function se(a,b,c){a=a|0;b=b|0;c=c|0;if(!(We()|0)){c=16777392;return c|0}c=nh(a,b,c)|0;c=(c|0)==0?0:c&65535|16777216;return c|0}function te(a,b,c){a=a|0;b=b|0;c=c|0;if(!(We()|0)){kg(21777,1287,21889,1,21810);fg()}else{Dj(a,b,c);return}}function ue(a,b){a=a|0;b=b|0;if(!(We()|0)){kg(21777,1340,21904,1,21810);fg()}else{Hj(a,b);return}}function ve(a){a=a|0;tg(a);return}function we(a,b){a=a|0;b=b|0;of(a,b);return}function xe(a,b){a=a|0;b=b|0;Ae(a,b);return}function ye(a){a=a|0;cf(a);return}function ze(a){a=a|0;var b=0;b=c[17575]|0;if(!b){b=a;return b|0}b=tb[b&15](a)|0;return b|0}function Ae(a,b){a=a|0;b=b|0;c[17576]=b;c[17577]=a;return}function Be(a,b){a=a|0;b=b|0;if(!b)b=Pn(a)|0;if(c[17577]|0?(gg()|0)==0:0)ub[c[17577]&7](c[17576]|0,a,b);kg(21922,86,21929,1,b);Ce(21947);Ce(b);Ce(22378);bg();za()}function Ce(a){a=a|0;oq(2,a,Fo(a)|0)|0;return}function De(a){a=a|0;c[17580]=a;return}function Ee(a){a=a|0;return (c[17580]|0)>=(a|0)|0}function Fe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;if((l|0)>=(m|0))$(16);f=g;e=c[17578]|0;if(!e){switch(a|0){case 30:case 20:case 10:case 0:break;case 40:{iq(21962,7,1,c[3935]|0)|0;break}case 50:{iq(21970,13,1,c[3935]|0)|0;break}case 100:{iq(21984,5,1,c[3935]|0)|0;break}default:{e=c[3935]|0;c[f>>2]=a;Rp(e,21990,f)|0}}np(c[3935]|0,b,d)|0}else zb[e&1](c[17579]|0,a,b,d);switch(a|0){case 40:case 50:{kg(21922,140,22015,1,22026);bg();za();break}default:{l=g;return}}}function Ge(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;if((l|0)>=(m|0))$(16);f=e;c[f>>2]=d;Fe(a,b,f);l=e;return}function He(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=l;l=l+16|0;if((l|0)>=(m|0))$(16);c[e>>2]=a;c[e+4>>2]=b;c[e+8>>2]=d;Ge(50,22056,e);za()}function Ie(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=l;l=l+16|0;if((l|0)>=(m|0))$(16);c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;c[f+12>>2]=e;Ge(50,22086,f);za()}function Je(a,b){a=a|0;b=b|0;var d=0,e=0;e=l;l=l+16|0;if((l|0)>=(m|0))$(16);d=e;c[d>>2]=b;b=c[17578]|0;if(!b){np(c[3935]|0,a,d)|0;l=e;return}else{zb[b&1](c[17579]|0,10,a,d);l=e;return}}function Ke(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=l;l=l+16|0;if((l|0)>=(m|0))$(16);e=f;c[e>>2]=d;a=c[17578]|0;if(!a){np(c[3935]|0,b,e)|0;l=f;return 0}else{zb[a&1](c[17579]|0,10,b,e);l=f;return 0}return 0}function Le(a,b){a=a|0;b=b|0;var d=0,e=0;e=l;l=l+16|0;if((l|0)>=(m|0))$(16);d=e;c[d>>2]=b;b=c[17578]|0;if(!b){np(c[3935]|0,a,d)|0;l=e;return}else{zb[b&1](c[17579]|0,30,a,d);l=e;return}}function Me(a,b){a=a|0;b=b|0;var d=0;d=l;l=l+16|0;if((l|0)>=(m|0))$(16);c[d>>2]=b;Fe(40,a,d);za()}function Ne(a,b){a=a|0;b=b|0;var d=0;d=l;l=l+16|0;if((l|0)>=(m|0))$(16);c[d>>2]=b;Fe(50,a,d);za()}function Oe(a,b){a=a|0;b=b|0;var d=0,e=0;e=l;l=l+16|0;if((l|0)>=(m|0))$(16);d=e;c[d>>2]=b;b=c[17578]|0;if(!b){b=c[3935]|0;iq(21984,5,1,b)|0;np(b,a,d)|0;l=e;return}else{zb[b&1](c[17579]|0,100,a,d);l=e;return}}function Pe(a,b){a=a|0;b=b|0;var d=0,e=0;e=l;l=l+16|0;if((l|0)>=(m|0))$(16);d=e;if(!a){l=e;return}c[d>>2]=b;b=c[17578]|0;if(!b)np(c[3935]|0,a,d)|0;else zb[b&1](c[17579]|0,0,a,d);l=e;return}function Qe(a,b,c){a=a|0;b=b|0;c=c|0;Re(a,22120,b,c);return}function Re(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+80|0;if((l|0)>=(m|0))$(80);r=s+64|0;p=s+48|0;o=s+40|0;n=s+32|0;k=s+24|0;j=s+16|0;i=s+8|0;h=s;q=(b|0)!=0;if(q?(a[b>>0]|0)!=0:0){c[h>>2]=b;c[h+4>>2]=e;Oe(22122,h);if((f|0)!=0&((g|0)!=0&(a[e+1>>0]|0)==91)){Pe(22378,i);c[j>>2]=Fo(b)|0;c[j+4>>2]=71847;Oe(22128,j);i=1;e=22120}else i=1}else i=0;a:do if(g|0){h=g+-1|0;if(!i)while(1){c[k>>2]=d[f>>0];Pe(22134,k);if(!h)break a;else{f=f+1|0;h=h+-1|0}}else i=0;while(1){c[n>>2]=d[f>>0];Pe(22134,n);i=i+1|0;if((h|0)!=0&(i|0)==32){Pe(22139,o);k=Fo(b)|0;i=Fo(e)|0;c[p>>2]=k;c[p+4>>2]=71847;c[p+8>>2]=i;c[p+12>>2]=71847;Oe(22143,p);i=0}if(!h)break;else{f=f+1|0;h=h+-1|0}}}while(0);if(!q){l=s;return}Pe(22378,r);l=s;return}function Se(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0;p=l;l=l+80|0;if((l|0)>=(m|0))$(80);n=p+32|0;o=p+24|0;g=p+16|0;j=p+8|0;i=p;h=p+44|0;k=p+40|0;e=p+36|0;f=p+48|0;if(!d){d=b|0?b:22120;if(a[d>>0]|0){c[i>>2]=d;c[i+4>>2]=22151;Oe(22122,i)}Pe(22378,j);l=p;return}if(c[d+12>>2]&4|0){o=wl(d,e)|0;c[g>>2]=c[e>>2];lp(f,30,22159,g)|0;Re(b|0?b:22120,f,o,((c[e>>2]|0)+7|0)>>>3);l=p;return}f=Ok(d,0,h,k)|0;if(!f){d=b|0?b:22120;if(a[d>>0]|0){c[o>>2]=d;c[o+4>>2]=22169;Oe(22122,o)}Pe(22378,n);l=p;return}e=c[h>>2]|0;d=c[k>>2]|0?22184:22186;if(!e)Re(b,d,71847,1);else Re(b,d,f,e);cf(f);l=p;return}function Te(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=l;d=b+63+((b|0)==0&1)&-64;e=d;b=l;l=l+((1*e|0)+15&-16)|0;if((l|0)>=(m|0))$((1*e|0)+15&-16|0);if((d|0)!=0&(b&7|0)!=0)do{a[b>>0]=0;b=b+1|0;d=d+-1|0}while((d|0)!=0&(b&7|0)!=0);if(d>>>0>=8){g=d+-8|0;h=g&-8;f=h+8|0;e=b;while(1){j=e;c[j>>2]=0;c[j+4>>2]=0;d=d+-8|0;if(d>>>0<=7)break;else e=e+8|0}b=b+f|0;d=g-h|0}if(!d){l=i;return}while(1){a[b>>0]=0;d=d+-1|0;if(!d)break;else b=b+1|0}l=i;return}function Ue(){return}function Ve(){Tn(33);Be(Qn(c[(zo()|0)>>2]|0)|0,22188)}function We(){if(!(c[17581]|0))Xe();return mg()|0}function Xe(){if(c[17581]|0)return;c[17581]=1;qj(0);dg(c[17582]|0);Mf();if((((((Cg()|0)==0?(vh()|0)==0:0)?(Wh()|0)==0:0)?(wh()|0)==0:0)?(Wf()|0)==0:0)?(jl()|0)==0:0)return;He(22203,123,22212)}function Ye(b){b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;if(!b){Xe();h=22224;return h|0}if((a[b>>0]|0)==1?(a[b+1>>0]|0)==1:0){h=Nl()|0;return h|0}Xe();c=a[b>>0]|0;if(c<<24>>24==48?((a[b+1>>0]|0)+-48|0)>>>0<10:0){h=0;return h|0}d=(c<<24>>24)+-48|0;if(d>>>0<10){e=0;do{e=(e*10|0)+d|0;b=b+1|0;c=a[b>>0]|0;d=(c<<24>>24)+-48|0}while(d>>>0<10);if((e|0)<0){h=0;return h|0}}else e=0;if(c<<24>>24!=46){h=0;return h|0}d=b+1|0;g=a[d>>0]|0;if(g<<24>>24==48?((a[b+2>>0]|0)+-48|0)>>>0<10:0){h=0;return h|0}c=(g<<24>>24)+-48|0;if(c>>>0<10){f=d;d=0;do{d=(d*10|0)+c|0;f=f+1|0;b=a[f>>0]|0;c=(b<<24>>24)+-48|0}while(c>>>0<10);if((d|0)<0){h=0;return h|0}else h=d}else{h=0;f=d;b=g}if(b<<24>>24!=46){h=0;return h|0}d=f+1|0;b=a[d>>0]|0;if(b<<24>>24==48?((a[f+2>>0]|0)+-48|0)>>>0<10:0){h=0;return h|0}c=(b<<24>>24)+-48|0;if(c>>>0<10){b=0;do{b=(b*10|0)+c|0;d=d+1|0;c=(a[d>>0]|0)+-48|0}while(c>>>0<10);if((b|0)<0){h=0;return h|0}}else b=0;if((e|0)<1){h=22224;return h|0}if((e|0)==1){if((h|0)<7){h=22224;return h|0}if((h|0)==7&(b|0)==0){h=22224;return h|0}}h=0;return h|0}function Ze(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+112|0;if((l|0)>=(m|0))$(112);r=s+88|0;p=s+80|0;o=s+72|0;n=s+64|0;h=s+48|0;g=s+24|0;f=s+16|0;e=s+8|0;d=s;j=s+96|0;do switch(a|0){case 31:{Nf();b=0;l=s;return b|0}case 44:{qj(0);wj();b=0;l=s;return b|0}case 51:{b=(zj()|0)!=0&1;l=s;return b|0}case 13:{uj();b=0;l=s;return b|0}case 14:{cg();b=0;l=s;return b|0}case 30:{Xe();Uf(0);b=0;l=s;return b|0}case 37:{Xe();c[17583]=1;b=0;l=s;return b|0}case 24:{Xe();q=(c[b>>2]|0)+(4-1)&~(4-1);r=c[q>>2]|0;c[b>>2]=q+4;Uf(r);b=(Tf()|0)>>>2&1;l=s;return b|0}case 25:{Xe();bg();b=0;l=s;return b|0}case 27:{qj(0);Sf(Tf()|0|1);b=0;l=s;return b|0}case 28:{qj(0);Sf(Tf()|0|2);b=0;l=s;return b|0}case 29:{qj(0);Sf((Tf()|0)&-3);b=0;l=s;return b|0}case 22:{Xe();vj();b=0;l=s;return b|0}case 45:{qj(0);q=(c[b>>2]|0)+(4-1)&~(4-1);r=c[q>>2]|0;c[b>>2]=q+4;Ej(r);b=0;l=s;return b|0}case 46:{qj(0);if(!(c[17581]|0))Xe();if(!(mg()|0)){b=0;l=s;return b|0}Fj();b=0;l=s;return b|0}case 19:{qj(0);q=(c[b>>2]|0)+(4-1)&~(4-1);r=c[q>>2]|0;c[b>>2]=q+4;De(r);b=0;l=s;return b|0}case 20:{q=(c[b>>2]|0)+(4-1)&~(4-1);r=c[q>>2]|0;c[b>>2]=q+4;c[17584]=c[17584]|r;b=0;l=s;return b|0}case 21:{q=(c[b>>2]|0)+(4-1)&~(4-1);r=c[q>>2]|0;c[b>>2]=q+4;c[17584]=c[17584]&~r;b=0;l=s;return b|0}case 36:{Xe();b=0;l=s;return b|0}case 40:{b=c[17581]|0;l=s;return b|0}case 39:{b=c[17585]|0;l=s;return b|0}case 38:{if(c[17585]|0){b=0;l=s;return b|0}Xe();rj(0);c[17585]=1;if(!(c[17581]|0))Xe();mg()|0;b=0;l=s;return b|0}case 47:{qj(0);Xe();b=0;l=s;return b|0}case 48:{qj(0);rj(1);if(!(c[17581]|0))Xe();if(!(mg()|0)){b=0;l=s;return b|0}Gj();b=0;l=s;return b|0}case 52:{b=16777276;l=s;return b|0}case 49:{qj(0);q=(c[b>>2]|0)+(4-1)&~(4-1);r=c[q>>2]|0;c[b>>2]=q+4;xj(r);b=0;l=s;return b|0}case 50:{qj(0);rj(1);q=(c[b>>2]|0)+(4-1)&~(4-1);r=c[q>>2]|0;c[b>>2]=q+4;yj((r|0)!=0&1)|0;b=0;l=s;return b|0}case 70:{sj();b=0;l=s;return b|0}case 53:{i=(c[b>>2]|0)+(4-1)&~(4-1);k=c[i>>2]|0;c[b>>2]=i+4;qj(0);i=k|0?28:27;c[d>>2]=22224;pb[i&63](k,22238,d)|0;c[e>>2]=22264;pb[i&63](k,22251,e)|0;c[f>>2]=22289;pb[i&63](k,22276,f)|0;c[g>>2]=22310;pb[i&63](k,22297,g)|0;pb[i&63](k,22324,s+32|0)|0;pb[i&63](k,22340,s+40|0)|0;c[h>>2]=il()|0;pb[i&63](k,22352,h)|0;e=Kf()|0;pb[i&63](k,22365,s+56|0)|0;a=Lf(0,j)|0;if(a|0){d=0;do{if(c[j>>2]&e|0){c[n>>2]=a;pb[i&63](k,22374,n)|0}d=d+1|0;a=Lf(d,j)|0}while((a|0)!=0)}pb[i&63](k,22378,o)|0;b=(gg()|0)!=0;a=(hg()|0)!=0;c[p>>2]=b?121:110;c[p+4>>2]=a?121:110;pb[i&63](k,22380,p)|0;a=tj(0)|0;switch(a|0){case 1:{q=22423;break}case 2:{q=22418;break}case 3:{q=22411;break}default:He(22203,321,22398)}c[r>>2]=q;c[r+4>>2]=a;pb[i&63](k,22432,r)|0;b=0;l=s;return b|0}case 54:{qj(0);b=(pg()|0)!=0&1;l=s;return b|0}case 55:{if(!(gg()|0)){b=0;l=s;return b|0}b=lg()|0;b=(c[17583]|b|0)==0&1;l=s;return b|0}case 56:{qj(0);if(!(c[17581]|0)){c[17582]=1;b=0;l=s;return b|0}if(!(qg()|0)){b=mg()|0;b=(b|0)!=0;b=b&1;l=s;return b|0}ng(1)|0;b=mg()|0;b=(b|0)!=0;b=b&1;l=s;return b|0}case 57:{Xe();b=ng(1)|0;l=s;return b|0}case 58:{r=(c[b>>2]|0)+(4-1)&~(4-1);a=c[r>>2]|0;c[b>>2]=r+4;r=(c[b>>2]|0)+(4-1)&~(4-1);d=c[r>>2]|0;c[b>>2]=r+4;r=(c[b>>2]|0)+(4-1)&~(4-1);e=c[r>>2]|0;c[b>>2]=r+4;r=(c[b>>2]|0)+(4-1)&~(4-1);f=c[r>>2]|0;c[b>>2]=r+4;r=(c[b>>2]|0)+(4-1)&~(4-1);g=c[r>>2]|0;c[b>>2]=r+4;r=(c[b>>2]|0)+(4-1)&~(4-1);h=c[r>>2]|0;c[b>>2]=r+4;r=(c[b>>2]|0)+(4-1)&~(4-1);i=c[r>>2]|0;c[b>>2]=r+4;r=(c[b>>2]|0)+(4-1)&~(4-1);j=c[r>>2]|0;c[b>>2]=r+4;if(!(c[17581]|0))Xe();if(!(mg()|0)){b=176;l=s;return b|0}b=Jj(a,d,e,f,g,h,i,j)|0;l=s;return b|0}case 59:{r=(c[b>>2]|0)+(4-1)&~(4-1);a=c[r>>2]|0;c[b>>2]=r+4;r=(c[b>>2]|0)+(4-1)&~(4-1);d=c[r>>2]|0;c[b>>2]=r+4;r=(c[b>>2]|0)+(4-1)&~(4-1);e=c[r>>2]|0;c[b>>2]=r+4;if(!(c[17581]|0))Xe();if(!(mg()|0)){b=176;l=s;return b|0}b=Kj(a,d,e)|0;l=s;return b|0}case 60:{q=(c[b>>2]|0)+(4-1)&~(4-1);r=c[q>>2]|0;c[b>>2]=q+4;Lj(r);b=0;l=s;return b|0}case 61:{q=(c[b>>2]|0)+(4-1)&~(4-1);r=c[q>>2]|0;c[b>>2]=q+4;switch(r|0){case 30111:{b=Un(1120)|0;l=s;return b|0}case 30112:{b=Vn(1120)|0;l=s;return b|0}case 30113:{b=Wn(1120)|0;l=s;return b|0}case 30114:{b=Xn(1120)|0;l=s;return b|0}default:{b=61;l=s;return b|0}}}case 63:{q=(c[b>>2]|0)+(4-1)&~(4-1);r=c[q>>2]|0;c[b>>2]=q+4;b=Jf(r)|0;l=s;return b|0}case 64:{if(c[17581]|0){b=1;l=s;return b|0}qj(0);ig();b=0;l=s;return b|0}case 65:{r=(c[b>>2]|0)+(4-1)&~(4-1);a=c[r>>2]|0;c[b>>2]=r+4;if((a|0)<=0){b=0;l=s;return b|0}qj(a);b=0;l=s;return b|0}case 66:{r=(c[b>>2]|0)+(4-1)&~(4-1);a=c[r>>2]|0;c[b>>2]=r+4;if(!a){b=0;l=s;return b|0}c[a>>2]=tj(c[17581]^1)|0;b=0;l=s;return b|0}case 67:{qj(0);Sf(Tf()|0|8);b=0;l=s;return b|0}case 68:{qj(0);Sf(Tf()|0|16);b=0;l=s;return b|0}case 72:case 71:{b=69;l=s;return b|0}case 62:case 23:{b=0;l=s;return b|0}default:{qj(0);b=61;l=s;return b|0}}while(0);return 0}function _e(a){a=a|0;var b=0;b=c[17586]|0;if(!b)a=Of(a)|0;else a=tb[b&15](a)|0;if(a|0){b=a;return b|0}b=zo()|0;a=c[b>>2]|0;if(!a){Tn(12);a=c[b>>2]|0}Qn(a)|0;b=0;return b|0}function $e(a){a=a|0;var b=0,d=0;do if(c[17583]|0){if(hg()|0){c[17583]=0;d=5;break}if(c[17583]|0){b=c[17586]|0;if(!b){b=Of(a)|0;break}else{b=tb[b&15](a)|0;break}}else d=5}else d=5;while(0);do if((d|0)==5){b=c[17587]|0;if(!b){b=Pf(a)|0;break}else{b=tb[b&15](a)|0;break}}while(0);if(b|0){d=b;return d|0}a=zo()|0;b=c[a>>2]|0;if(!b){Tn(12);b=c[a>>2]|0}Qn(b)|0;d=0;return d|0}function af(a){a=a|0;var b=0;do if(c[17583]|0){if(hg()|0){c[17583]=0;break}if(c[17583]|0){b=0;return b|0}}while(0);b=c[17588]|0;if(!b){b=ag(a)|0;return b|0}else{b=tb[b&15](a)|0;return b|0}return 0}function bf(a,b){a=a|0;b=b|0;var d=0;if(!a){d=c[17586]|0;if(!d)d=Of(b)|0;else d=tb[d&15](b)|0;if(d|0){a=d;return a|0}b=zo()|0;d=c[b>>2]|0;if(!d){Tn(12);d=c[b>>2]|0}Qn(d)|0;a=0;return a|0}if(!b){d=c[(zo()|0)>>2]|0;b=c[17590]|0;if(!b)Rf(a);else rb[b&7](a);if(!d){a=0;return a|0}Tn(d);a=0;return a|0}d=c[17589]|0;if(!d)d=Qf(a,b)|0;else d=yb[d&7](a,b)|0;if(d|0){a=d;return a|0}if(c[(zo()|0)>>2]|0){a=0;return a|0}Tn(12);a=0;return a|0}function cf(a){a=a|0;var b=0,d=0;if(!a)return;b=c[(zo()|0)>>2]|0;d=c[17590]|0;if(!d)Rf(a);else rb[d&7](a);if(!b)return;Tn(b);return}function df(a,b){a=a|0;b=b|0;var d=0;d=S(b,a)|0;if(b|0?((d>>>0)/(b>>>0)|0|0)!=(a|0):0){Tn(12);d=0;return d|0}a=c[17586]|0;if(!a)a=Of(d)|0;else a=tb[a&15](d)|0;if(a|0){Yq(a|0,0,d|0)|0;d=a;return d|0}b=zo()|0;a=c[b>>2]|0;if(!a){Tn(12);a=c[b>>2]|0}Qn(a)|0;d=0;return d|0}function ef(a,b){a=a|0;b=b|0;var c=0;c=S(b,a)|0;if(b|0?((c>>>0)/(b>>>0)|0|0)!=(a|0):0){Tn(12);c=0;return c|0}a=$e(c)|0;if(!a){c=0;return c|0}Yq(a|0,0,c|0)|0;c=a;return c|0}function ff(a){a=a|0;var b=0,d=0,e=0,f=0;e=Fo(a)|0;do if(c[17583]|0){if(hg()|0){c[17583]=0;f=6;break}if(c[17583]|0){d=e+1|0;f=10}else f=6}else f=6;while(0);if((f|0)==6){b=c[17588]|0;if(!b)d=ag(a)|0;else d=tb[b&15](a)|0;b=e+1|0;if(d){b=$e(b)|0;if(!b){a=0;return a|0}}else{d=b;f=10}}if((f|0)==10){b=c[17586]|0;if(!b)b=Of(d)|0;else b=tb[b&15](d)|0;if(!b){d=zo()|0;b=c[d>>2]|0;if(!b){Tn(12);b=c[d>>2]|0}Qn(b)|0;a=0;return a|0}}Mp(b,a)|0;a=b;return a|0}function gf(a){a=a|0;var b=0,d=0,e=0;while(1){b=c[17586]|0;if(!b)b=Of(a)|0;else b=tb[b&15](a)|0;if(b|0){a=11;break}d=zo()|0;b=c[d>>2]|0;if(!b){Tn(12);b=c[d>>2]|0}Qn(b)|0;e=(gg()|0)==0;b=c[17591]|0;if(!(e&(b|0)!=0)){a=10;break}if(!(pb[b&63](c[17592]|0,a,0)|0)){a=10;break}}if((a|0)==10)Be(Qn(c[d>>2]|0)|0,0);else if((a|0)==11)return b|0;return 0}function hf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;while(1){d=bf(a,b)|0;if(d|0){g=13;break}f=(gg()|0)==0;e=c[17591]|0;if(!(f&(e|0)!=0)){g=12;break}f=c[17592]|0;do if(c[17583]|0)if(!(hg()|0))if(!(c[17583]|0)){g=8;break}else{d=0;break}else{c[17583]=0;g=8;break}else g=8;while(0);do if((g|0)==8){g=0;d=c[17588]|0;if(!d){d=ag(a)|0;break}else{d=tb[d&15](a)|0;break}}while(0);if(!(pb[e&63](f,b,d|0?3:2)|0)){g=12;break}}if((g|0)==12)Be(Qn(c[(zo()|0)>>2]|0)|0,0);else if((g|0)==13)return d|0;return 0}function jf(a){a=a|0;var b=0,d=0;while(1){d=$e(a)|0;if(d|0){b=6;break}d=(gg()|0)==0;b=c[17591]|0;if(!(d&(b|0)!=0)){b=5;break}if(!(pb[b&63](c[17592]|0,a,1)|0)){b=5;break}}if((b|0)==5){d=Qn(c[(zo()|0)>>2]|0)|0;Be(d,ze(22449)|0)}else if((b|0)==6)return d|0;return 0}function kf(a,b){a=a|0;b=b|0;var d=0;d=S(b,a)|0;if(b|0?((d>>>0)/(b>>>0)|0|0)!=(a|0):0){Tn(12);Be(Qn(c[(zo()|0)>>2]|0)|0,0)}b=gf(d)|0;Yq(b|0,0,d|0)|0;return b|0}function lf(a,b){a=a|0;b=b|0;var d=0;d=S(b,a)|0;if(b|0?((d>>>0)/(b>>>0)|0|0)!=(a|0):0){Tn(12);Be(Qn(c[(zo()|0)>>2]|0)|0,0)}b=jf(d)|0;Yq(b|0,0,d|0)|0;return b|0}function mf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;do{b=ff(a)|0;if(b|0){f=15;break}e=Fo(a)|0;do if(c[17583]|0)if(!(hg()|0))if(!(c[17583]|0)){f=7;break}else{b=0;break}else{c[17583]=0;f=7;break}else f=7;while(0);do if((f|0)==7){f=0;b=c[17588]|0;if(!b){b=ag(a)|0;break}else{b=tb[b&15](a)|0;break}}while(0);d=(b|0)!=0;g=(gg()|0)==0;b=c[17591]|0;if(!(g&(b|0)!=0))break}while((pb[b&63](c[17592]|0,e,d&1)|0)!=0);if((f|0)==15)return b|0;b=Qn(c[(zo()|0)>>2]|0)|0;if(!d){g=0;Be(b,g)}g=ze(22449)|0;Be(b,g);return 0}function nf(a){a=a|0;var b=0;b=(gg()|0)==0;return (b?c[17584]&a:0)|0}function of(a,b){a=a|0;b=b|0;xh(a,b);oj(a,b);return}function pf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0;p=l;l=l+16|0;if((l|0)>=(m|0))$(16);o=(e|0)==0?p+4|0:e;n=(f|0)==0?p:f;c[n>>2]=0;c[o>>2]=0;a:do if(!b)e=0;else{if((a[b>>0]|0)!=40){c[n>>2]=204;e=0;break}k=d+-1|0;e=0;d=0;j=0;i=0;f=b;b=40;b:while(1){g=b&255;c:do if(j)if(b<<24>>24==58){b=d+j|0;if(k>>>0<b>>>0){f=9;break b}d=b;h=0;b=i;f=f+j|0;break}else{if((b+-48&255)>=10){f=13;break b}h=(j*10|0)+-48+g|0;b=i;break}else switch(b<<24>>24){case 40:{if(i|0){f=16;break b}e=e+1|0;h=0;b=0;break c}case 41:{if(!e){f=19;break b}if(i|0){f=21;break b}e=e+-1|0;if(!e){f=23;break b}else{h=0;b=0;break c}}case 91:if(!i){h=0;b=f;break c}else{f=25;break b}case 93:if(!i){f=27;break b}else{h=0;b=0;break c}default:{if((b+-48&255)>=10){f=32;break b}if(b<<24>>24==48){f=30;break b}h=g+-48|0;b=i;break c}}while(0);g=f+1|0;d=d+1|0;if(k>>>0<d>>>0){f=5;break}j=h;i=b;f=g;b=a[g>>0]|0}switch(f|0){case 5:{c[o>>2]=d;c[n>>2]=202;e=0;break a}case 9:{c[o>>2]=d;c[n>>2]=202;e=0;break a}case 13:{c[o>>2]=d;c[n>>2]=201;e=0;break a}case 16:{c[o>>2]=d;c[n>>2]=209;e=0;break a}case 19:{c[o>>2]=d;c[n>>2]=203;e=0;break a}case 21:{c[o>>2]=d;c[n>>2]=209;e=0;break a}case 23:{e=d+1|0;break a}case 25:{c[o>>2]=d;c[n>>2]=208;e=0;break a}case 27:{c[o>>2]=d;c[n>>2]=209;e=0;break a}case 30:{c[o>>2]=d;c[n>>2]=207;e=0;break a}case 32:switch(b<<24>>24){case 92:case 38:{c[o>>2]=d;c[n>>2]=210;e=0;break a}default:{c[o>>2]=d;c[n>>2]=205;e=0;break a}}}}while(0);l=p;return e|0}function qf(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;i=l;l=l+16|0;if((l|0)>=(m|0))$(16);j=i;c[j>>2]=h;h=rf(a,b,d,e,f,g,j)|0;l=i;return h|0}function rf(b,e,f,g,h,i,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;T=l;l=l+64|0;if((l|0)>=(m|0))$(64);P=T+8|0;O=T;M=T+16|0;N=T+12|0;if(!b){S=45;l=T;return S|0}c[b>>2]=0;if(!f){S=45;l=T;return S|0}R=(e|0)==0?T+52|0:e;k=g+2|0;p=(g|0)==0;if(!p?(af(f)|0)!=0:0)e=$e(k)|0;else e=_e(k)|0;s=e;a:do if(!e){n=Qn(c[(zo()|0)>>2]|0)|0;c[R>>2]=0;o=s;S=283}else{b:do if(p){q=f;g=0;o=s;e=s;S=274}else{K=(h|0)!=0;L=(i|0)==0;q=f;J=g;A=0;y=0;x=0;r=0;B=0;C=0;D=0;E=0;F=0;G=0;g=0;p=s;e=s;c:while(1){w=(r|0)!=0;if(!(w|(x|0)==0))if(!(No(22485,a[q>>0]|0,71)|0)){u=q;v=u-x|0;h=p;t=e-p|0;do if((t+3+v|0)>>>0>=k>>>0){s=k+6+(v<<1)|0;if(s>>>0<=k>>>0){e=67;S=18;break c}h=bf(h,s)|0;if(!h){h=Qn(c[(zo()|0)>>2]|0)|0;if(!h)break;else{e=h;S=18;break c}}else{p=h;k=s;e=h+t|0;break}}while(0);H=e;I=H+1|0;a[H>>0]=1;S=v&65535;a[I>>0]=S;a[I+1>>0]=S>>8;H=H+3|0;cr(H|0,x|0,v|0)|0;I=0;H=H+v|0;S=20}else{z=y;h=q;w=J;r=0;t=G}else{I=x;H=e;S=20}d:do if((S|0)==20){S=0;if(y|0){e=a[q>>0]|0;if(F|0)switch(e<<24>>24|0){case 92:case 39:case 34:case 114:case 102:case 110:case 118:case 116:case 98:{F=0;z=y;x=I;h=q;w=J;t=G;e=H;break d}case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:{if(J>>>0<=2){S=26;break c}if((a[q+1>>0]&-8)<<24>>24!=48){S=26;break c}e=q+2|0;if((a[e>>0]&-8)<<24>>24!=48){S=26;break c}F=0;z=y;x=I;h=e;w=J+-2|0;t=G;e=H;break d}case 120:{if(J>>>0<=2){S=33;break c}e=a[q+1>>0]|0;if((e+-48&255)>=10)switch(e<<24>>24){case 65:case 66:case 67:case 68:case 69:case 70:case 97:case 98:case 99:case 100:case 101:case 102:break;default:{S=33;break c}}h=q+2|0;e=a[h>>0]|0;if((e+-48&255)>=10)switch(e<<24>>24){case 65:case 66:case 67:case 68:case 69:case 70:case 97:case 98:case 99:case 100:case 101:case 102:break;default:{S=33;break c}}F=0;z=y;x=I;w=J+-2|0;t=G;e=H;break d}case 13:{h=q+1|0;w=(a[h>>0]|0)==10;F=0;z=y;x=I;h=w?h:q;w=(w<<31>>31)+J|0;t=G;e=H;break d}case 10:{h=q+1|0;w=(a[h>>0]|0)==13;F=0;z=y;x=I;h=w?h:q;w=(w<<31>>31)+J|0;t=G;e=H;break d}default:{S=37;break c}}if(e<<24>>24==92){F=1;z=y;x=I;h=q;w=J;t=G;e=H;break}if(e<<24>>24!=34){F=0;z=y;x=I;h=q;w=J;t=G;e=H;break}s=y+1|0;t=q;v=t-s|0;e=p;u=H-p|0;do if((v+3+u|0)>>>0>=k>>>0){h=(v<<1)+6+k|0;if(h>>>0<=k>>>0){e=67;S=81;break c}e=bf(e,h)|0;if(!e){e=Qn(c[(zo()|0)>>2]|0)|0;if(!e){e=H;break}else{S=81;break c}}else{p=e;k=h;e=e+u|0;break}}else e=H;while(0);x=e+1|0;a[e>>0]=1;a[x>>0]=0;a[x+1>>0]=0;e=e+3|0;y=e;e:do if(v){w=v;h=0;while(1){t=a[s>>0]|0;u=t&255;f:do if(!h){if(t<<24>>24==92){h=1;u=w;break}a[e>>0]=t;h=0;u=w;e=e+1|0}else do switch(t<<24>>24){case 98:{a[e>>0]=8;h=0;u=w;e=e+1|0;break f}case 116:{a[e>>0]=9;h=0;u=w;e=e+1|0;break f}case 118:{a[e>>0]=11;h=0;u=w;e=e+1|0;break f}case 110:{a[e>>0]=10;h=0;u=w;e=e+1|0;break f}case 102:{a[e>>0]=12;h=0;u=w;e=e+1|0;break f}case 114:{a[e>>0]=13;h=0;u=w;e=e+1|0;break f}case 34:{a[e>>0]=34;h=0;u=w;e=e+1|0;break f}case 39:{a[e>>0]=39;h=0;u=w;e=e+1|0;break f}case 92:{a[e>>0]=92;h=0;u=w;e=e+1|0;break f}case 13:{t=s+1|0;if(w>>>0<=1)break e;H=(a[t>>0]|0)==10;h=0;u=(H<<31>>31)+w|0;s=H?t:s;break f}case 10:{t=s+1|0;if(w>>>0<=1)break e;H=(a[t>>0]|0)==13;h=0;u=(H<<31>>31)+w|0;s=H?t:s;break f}case 120:{if(w>>>0<=2){h=0;u=w;break f}t=a[s+1>>0]|0;if((t+-48&255)>=10)switch(t<<24>>24){case 65:case 66:case 67:case 68:case 69:case 70:case 97:case 98:case 99:case 100:case 101:case 102:break;default:{h=0;u=w;break f}}v=s+2|0;u=a[v>>0]|0;if((u+-48&255)>=10)switch(u<<24>>24){case 65:case 66:case 67:case 68:case 69:case 70:case 97:case 98:case 99:case 100:case 101:case 102:break;default:{h=0;u=w;break f}}h=t&255;if((t&255)<58)s=h+-48|0;else s=h+10+((t&255)<71?-65:-97)|0;h=u&255;if((u&255)<58)h=h+-48|0;else h=h+10+((u&255)<71?-65:-97)|0;a[e>>0]=h+(s<<4);h=0;u=w+-2|0;e=e+1|0;s=v;break f}default:{if(!(w>>>0>2&(t&-8)<<24>>24==48)){h=0;u=w;break f}h=a[s+1>>0]|0;if((h&-8)<<24>>24!=48){h=0;u=w;break f}v=s+2|0;t=a[v>>0]|0;if((t&-8)<<24>>24!=48){h=0;u=w;break f}a[e>>0]=(u<<6)+80+((h&255)<<3)+(t&255);h=0;u=w+-2|0;e=e+1|0;s=v;break f}}while(0);while(0);w=u+-1|0;if(!w)break;else s=s+1|0}}while(0);F=e-y&65535;a[x>>0]=F;a[x+1>>0]=F>>8;F=0;z=0;x=I;h=q;w=J;t=G;break}if(w){e=a[q>>0]|0;h=e<<24>>24;if(kp(h)|0){E=E+1|0;z=0;x=I;h=q;w=J;t=G;e=H;break}if(e<<24>>24!=35)switch(h|0){case 10:case 13:case 12:case 11:case 9:case 32:{z=0;x=I;h=q;w=J;t=G;e=H;break d}default:{S=112;break c}}if(E&1|0){S=87;break c}t=(E|0)/2|0;e=p;s=H-p|0;do if((t+3+s|0)>>>0>=k>>>0){h=(t<<1)+6+k|0;if(h>>>0<=k>>>0){e=67;S=93;break c}e=bf(e,h)|0;if(!e){e=Qn(c[(zo()|0)>>2]|0)|0;if(!e){e=H;break}else{S=93;break c}}else{p=e;k=h;e=e+s|0;break}}else e=H;while(0);h=e+1|0;a[e>>0]=1;H=t&65535;a[h>>0]=H;a[h+1>>0]=H>>8;e=e+3|0;h=r+1|0;if(h>>>0>=q>>>0){z=0;x=I;h=q;w=J;r=0;t=G;break}while(1){s=r;r=h;g:while(1){h=a[r>>0]|0;switch(h<<24>>24|0){case 10:case 13:case 12:case 11:case 9:case 32:break;default:break g}h=r+1|0;if(h>>>0<q>>>0){s=r;r=h}else{z=0;x=I;h=q;w=J;r=0;t=G;break d}}r=h&255;h=r+-48|0;do if(h>>>0>=10)if((r+-65|0)>>>0<6){h=r+-55|0;break}else{h=(r+-97|0)>>>0<6?r+-87|0:0;break}while(0);r=s+2|0;h:do if(r>>>0<q>>>0){i:while(1){s=a[r>>0]|0;switch(s<<24>>24|0){case 10:case 13:case 12:case 11:case 9:case 32:break;default:break i}r=r+1|0;if(r>>>0>=q>>>0)break h}t=h<<4;s=s&255;h=s+-48|0;do if(h>>>0>=10)if((s+-65|0)>>>0<6){h=s+-55|0;break}else{h=(s+-97|0)>>>0<6?s+-87|0:0;break}while(0);h=h+t|0}while(0);H=e;e=H+1|0;a[H>>0]=h;h=r+1|0;if(h>>>0>=q>>>0){z=0;x=I;h=q;w=J;r=0;t=G;break d}}}if(B|0){B=(a[q>>0]|0)==124?0:B;z=0;x=I;h=q;w=J;r=0;t=G;e=H;break}if(A|0){e=a[q>>0]|0;if((e+-48&255)<10){B=0;z=0;x=I;h=q;w=J;r=0;t=G;e=H;break}switch(e<<24>>24){case 34:{A=0;B=0;F=0;z=q;x=I;h=q;w=J;r=0;t=G;e=H;break d}case 58:{s=Fq(A)|0;if(s>>>0>(J+-1|0)>>>0){S=119;break c}e=p;r=H-p|0;do if((r+3+s|0)>>>0>=k>>>0){h=k+6+(s<<1)|0;if(h>>>0<=k>>>0){e=67;S=125;break c}e=bf(e,h)|0;if(!e){e=Qn(c[(zo()|0)>>2]|0)|0;if(!e){e=H;break}else{S=125;break c}}else{p=e;k=h;e=e+r|0;break}}else e=H;while(0);A=e+1|0;a[e>>0]=1;B=s&65535;a[A>>0]=B;a[A+1>>0]=B>>8;e=e+3|0;cr(e|0,q+1|0,s|0)|0;A=0;B=0;z=0;x=I;h=q+s|0;w=J-s|0;r=0;t=G;e=e+s|0;break d}case 35:{A=0;B=0;E=0;z=0;x=I;h=q;w=J;r=q;t=G;e=H;break d}case 124:{A=0;B=q;z=0;x=I;h=q;w=J;r=0;t=G;e=H;break d}default:{S=129;break c}}}h=a[q>>0]|0;if(!D)switch(h<<24>>24){case 34:{A=0;B=0;D=0;F=0;z=q;x=I;h=q;w=J;r=0;t=G;e=H;break d}case 40:{if(C|0){S=239;break c}e=p;r=H-p|0;do if((r+3|0)>>>0>=k>>>0){h=k+6|0;if(k>>>0>=4294967290){e=67;S=245;break c}e=bf(e,h)|0;if(!e){e=Qn(c[(zo()|0)>>2]|0)|0;if(!e){e=H;break}else{S=245;break c}}else{p=e;k=h;e=e+r|0;break}}else e=H;while(0);a[e>>0]=3;A=0;B=0;C=0;D=0;g=g+1|0;z=0;x=I;h=q;w=J;r=0;t=G;e=e+1|0;break d}case 41:{if(C|0){S=248;break c}e=p;r=H-p|0;do if((r+3|0)>>>0>=k>>>0){h=k+6|0;if(k>>>0>=4294967290){e=67;S=254;break c}e=bf(e,h)|0;if(!e){e=Qn(c[(zo()|0)>>2]|0)|0;if(!e){e=H;break}else{S=254;break c}}else{p=e;k=h;e=e+r|0;break}}else e=H;while(0);a[e>>0]=4;A=0;B=0;C=0;D=0;g=g+-1|0;z=0;x=I;h=q;w=J;r=0;t=G;e=e+1|0;break d}case 35:{A=0;B=0;D=0;E=0;z=0;x=I;h=q;w=J;r=q;t=G;e=H;break d}case 124:{A=0;B=q;D=0;z=0;x=I;h=q;w=J;r=0;t=G;e=H;break d}case 91:if(!C){A=0;B=0;C=q;D=0;z=0;x=I;h=q;w=J;r=0;t=G;e=H;break d}else{S=259;break c}case 93:if(!C){S=261;break c}else{A=0;B=0;C=0;D=0;z=0;x=I;h=q;w=J;r=0;t=G;e=H;break d}default:{if((h+-48&255)<10)if(h<<24>>24==48){S=264;break c}else{A=q;B=0;D=0;z=0;x=I;h=q;w=J;r=0;t=G;e=H;break d}e=h<<24>>24;if(No(22485,e,71)|0){A=0;B=0;D=0;z=0;x=q;h=q;w=J;r=0;t=G;e=H;break d}switch(e|0){case 10:case 13:case 12:case 11:case 9:case 32:{A=0;B=0;D=0;z=0;x=I;h=q;w=J;r=0;t=G;e=H;break d}default:{}}if(h<<24>>24==123){S=268;break c}if(No(22584,e,3)|0){S=270;break c}if(K&h<<24>>24==37){A=0;B=0;D=q;z=0;x=I;h=q;w=J;r=0;t=G;e=H;break d}else{S=272;break c}}}switch(h<<24>>24){case 77:case 109:{c[M>>2]=0;s=(a[q>>0]|0)==109?1:5;if(L){t=(c[j>>2]|0)+(4-1)&~(4-1);u=c[t>>2]|0;c[j>>2]=t+4;t=G}else{u=c[c[i+(G<<2)>>2]>>2]|0;t=G+1|0}if(!(Ll(u,2)|0)){if(Tk(s,0,0,M,u)|0){S=152;break c}e=c[M>>2]|0;h=p;r=H-p|0;do if((r+3+e|0)>>>0>=k>>>0){e=k+6+(e<<1)|0;if(e>>>0<=k>>>0){e=67;S=158;break c}h=bf(h,e)|0;if(!h){e=Qn(c[(zo()|0)>>2]|0)|0;if(!e){e=H;break}else{S=158;break c}}else{p=h;k=e;e=h+r|0;break}}else e=H;while(0);h=p;do if(!(af(h)|0)){if(!(Ll(u,1)|0))break;r=$e(k)|0;if(!r){S=163;break c}e=e-p|0;cr(r|0,h|0,e|0)|0;cf(p);p=r;e=r+e|0}while(0);H=e+1|0;a[e>>0]=1;G=c[M>>2]&65535;a[H>>0]=G;a[H+1>>0]=G>>8;e=e+3|0;if(Tk(s,e,c[M>>2]|0,M,u)|0){S=165;break c}e=e+(c[M>>2]|0)|0}else{s=wl(u,N)|0;e=((c[N>>2]|0)+7|0)>>>3;c[M>>2]=e;if((s|0)!=0&(e|0)!=0){h=p;r=H-p|0;do if((r+3+e|0)>>>0>=k>>>0){e=k+6+(e<<1)|0;if(e>>>0<=k>>>0){e=67;S=142;break c}h=bf(h,e)|0;if(!h){e=Qn(c[(zo()|0)>>2]|0)|0;if(!e){e=H;break}else{S=142;break c}}else{p=h;k=e;e=h+r|0;break}}else e=H;while(0);h=p;do if(!(af(h)|0)){if(!(Ll(u,1)|0))break;r=$e(k)|0;if(!r){S=147;break c}e=e-p|0;cr(r|0,h|0,e|0)|0;cf(p);p=r;e=r+e|0}while(0);H=e+1|0;a[e>>0]=1;G=c[M>>2]&65535;a[H>>0]=G;a[H+1>>0]=G>>8;e=e+3|0;cr(e|0,s|0,c[M>>2]|0)|0;e=e+(c[M>>2]|0)|0}else e=H}A=0;B=0;D=0;z=0;x=I;h=q;w=J;r=0;break d}case 115:{if(L){t=(c[j>>2]|0)+(4-1)&~(4-1);s=c[t>>2]|0;c[j>>2]=t+4;t=G}else{s=c[c[i+(G<<2)>>2]>>2]|0;t=G+1|0}u=Fo(s)|0;e=p;r=H-p|0;do if((r+3+u|0)>>>0>=k>>>0){h=k+6+(u<<1)|0;if(h>>>0<=k>>>0){e=67;S=178;break c}e=bf(e,h)|0;if(!e){e=Qn(c[(zo()|0)>>2]|0)|0;if(!e){e=H;break}else{S=178;break c}}else{p=e;k=h;e=e+r|0;break}}else e=H;while(0);A=e+1|0;a[e>>0]=1;B=u&65535;a[A>>0]=B;a[A+1>>0]=B>>8;e=e+3|0;cr(e|0,s|0,u|0)|0;A=0;B=0;D=0;z=0;x=I;h=q;w=J;r=0;e=e+u|0;break d}case 98:{if(L){u=(c[j>>2]|0)+(4-1)&~(4-1);v=c[u>>2]|0;c[j>>2]=u+4;u=(c[j>>2]|0)+(4-1)&~(4-1);t=c[u>>2]|0;c[j>>2]=u+4;u=G}else{t=c[c[i+(G+1<<2)>>2]>>2]|0;v=c[c[i+(G<<2)>>2]>>2]|0;u=G+2|0}e=p;r=H-p|0;do if((r+3+v|0)>>>0>=k>>>0){h=k+6+(v<<1)|0;if(h>>>0<=k>>>0){n=67;S=187;break c}s=bf(e,h)|0;if(!s){h=Qn(c[(zo()|0)>>2]|0)|0;if(!h){e=H;break}else{n=h;S=187;break c}}else{p=s;k=h;e=s+r|0;break}}else e=H;while(0);do if(v){h=p;if(af(h)|0)break;if(!(af(t)|0))break;r=$e(k)|0;if(!r){S=193;break c}e=e-p|0;cr(r|0,h|0,e|0)|0;cf(p);p=r;e=r+e|0}while(0);A=e+1|0;a[e>>0]=1;B=v&65535;a[A>>0]=B;a[A+1>>0]=B>>8;e=e+3|0;cr(e|0,t|0,v|0)|0;A=0;B=0;D=0;z=0;x=I;h=q;w=J;r=0;t=u;e=e+v|0;break d}case 100:{if(L){t=(c[j>>2]|0)+(4-1)&~(4-1);e=c[t>>2]|0;c[j>>2]=t+4;t=G}else{e=c[c[i+(G<<2)>>2]>>2]|0;t=G+1|0}c[O>>2]=e;Pp(M,22578,O)|0;s=Fo(M)|0;e=p;r=H-p|0;do if((r+3+s|0)>>>0>=k>>>0){h=k+6+(s<<1)|0;if(h>>>0<=k>>>0){e=67;S=204;break c}e=bf(e,h)|0;if(!e){e=Qn(c[(zo()|0)>>2]|0)|0;if(!e){e=H;break}else{S=204;break c}}else{p=e;k=h;e=e+r|0;break}}else e=H;while(0);A=e+1|0;a[e>>0]=1;B=s&65535;a[A>>0]=B;a[A+1>>0]=B>>8;e=e+3|0;cr(e|0,M|0,s|0)|0;A=0;B=0;D=0;z=0;x=I;h=q;w=J;r=0;e=e+s|0;break d}case 117:{if(L){t=(c[j>>2]|0)+(4-1)&~(4-1);e=c[t>>2]|0;c[j>>2]=t+4;t=G}else{e=c[c[i+(G<<2)>>2]>>2]|0;t=G+1|0}c[P>>2]=e;Pp(M,22581,P)|0;s=Fo(M)|0;e=p;r=H-p|0;do if((r+3+s|0)>>>0>=k>>>0){h=k+6+(s<<1)|0;if(h>>>0<=k>>>0){e=67;S=214;break c}e=bf(e,h)|0;if(!e){e=Qn(c[(zo()|0)>>2]|0)|0;if(!e){e=H;break}else{S=214;break c}}else{p=e;k=h;e=e+r|0;break}}else e=H;while(0);A=e+1|0;a[e>>0]=1;B=s&65535;a[A>>0]=B;a[A+1>>0]=B>>8;e=e+3|0;cr(e|0,M|0,s|0)|0;A=0;B=0;D=0;z=0;x=I;h=q;w=J;r=0;e=e+s|0;break d}case 83:{if(L){y=(c[j>>2]|0)+(4-1)&~(4-1);w=c[y>>2]|0;c[j>>2]=y+4;y=G}else{w=c[c[i+(G<<2)>>2]>>2]|0;y=G+1|0}if(!w){A=0;B=0;D=0;z=0;x=I;h=q;w=J;r=0;t=y;e=H;break d}e=a[w>>0]|0;if(!(e<<24>>24)){A=0;B=0;D=0;z=0;x=I;h=q;w=J;r=0;t=y;e=H;break d}v=w;u=0;r=w;h=0;while(1){s=r;r=e;j:while(1){t=s+1|0;switch(r<<24>>24){case 3:{S=225;break j}case 4:{S=227;break j}case 1:{e=t+(((d[t>>0]|d[t+1>>0]<<8)&65535)+2)|0;break}default:e=t}r=a[e>>0]|0;if(!(r<<24>>24)){A=0;B=0;D=0;z=0;x=I;h=q;w=J;r=0;t=y;e=H;break d}else s=e}if((S|0)==225){S=0;e=u+1|0;h=(u|0)==0?s-v|0:h}else if((S|0)==227){S=0;e=u+-1|0;if(!e)break}s=a[t>>0]|0;if(!(s<<24>>24)){A=0;B=0;D=0;z=0;x=I;h=q;w=J;r=0;t=y;e=H;break d}else{u=e;r=t;e=s}}u=t-v|0;if(!u){A=0;B=0;D=0;z=0;x=I;h=q;w=J;r=0;t=y;e=H;break d}e=p;s=H-p|0;do if((s+3+u|0)>>>0>=k>>>0){r=k+6+(u<<1)|0;if(r>>>0<=k>>>0){e=67;S=235;break c}e=bf(e,r)|0;if(!e){e=Qn(c[(zo()|0)>>2]|0)|0;if(!e){e=H;break}else{S=235;break c}}else{p=e;k=r;e=e+s|0;break}}else e=H;while(0);cr(e|0,w+h|0,u|0)|0;A=0;B=0;D=0;z=0;x=I;h=q;w=J;r=0;t=y;e=e+u|0;break d}default:{S=236;break c}}}while(0);q=h+1|0;J=w+-1|0;if(!J){o=p;S=274;break b}else{y=z;G=t}}switch(S|0){case 18:{c[R>>2]=u-f;o=p;break b}case 26:{c[R>>2]=q-f;e=206;o=p;break b}case 33:{c[R>>2]=q-f;e=206;o=p;break b}case 37:{c[R>>2]=q-f;e=206;o=p;break b}case 81:{c[R>>2]=t-f;o=p;break b}case 87:{c[R>>2]=q-f;e=212;o=p;break b}case 93:{c[R>>2]=q-f;o=p;break b}case 112:{c[R>>2]=q-f;e=211;o=p;break b}case 119:{c[R>>2]=q-f;e=202;o=p;break b}case 125:{c[R>>2]=q-f;o=p;break b}case 129:{c[R>>2]=q-f;e=201;o=p;break b}case 142:{c[R>>2]=q-f;o=p;S=150;break}case 147:{e=Qn(c[(zo()|0)>>2]|0)|0;o=p;S=150;break}case 152:{He(22556,1433,22563);break}case 158:{c[R>>2]=q-f;n=e;o=p;Q=k;break}case 163:{n=Qn(c[(zo()|0)>>2]|0)|0;o=p;Q=k;break}case 165:{He(22556,1460,22563);break}case 178:{c[R>>2]=q-f;o=p;break b}case 187:{c[R>>2]=q-f;g=p;break a}case 193:{n=Qn(c[(zo()|0)>>2]|0)|0;o=p;S=283;break a}case 204:{c[R>>2]=q-f;o=p;break b}case 214:{c[R>>2]=q-f;o=p;break b}case 235:{c[R>>2]=q-f;o=p;break b}case 236:{c[R>>2]=q-f;e=201;o=p;break b}case 239:{c[R>>2]=q-f;e=209;o=p;break b}case 245:{c[R>>2]=q-f;o=p;break b}case 248:{c[R>>2]=q-f;e=209;o=p;break b}case 254:{c[R>>2]=q-f;o=p;break b}case 259:{c[R>>2]=q-f;e=208;o=p;break b}case 261:{c[R>>2]=q-f;e=209;o=p;break b}case 264:{c[R>>2]=q-f;e=207;o=p;break b}case 268:{c[R>>2]=q-f;e=210;o=p;break b}case 270:{c[R>>2]=q-f;e=210;o=p;break b}case 272:{c[R>>2]=q-f;e=205;o=p;break b}}if((S|0)==150){n=e;Q=k}k=Q;S=283;break a}while(0);k:do if((S|0)==274){n=o;h=e-o|0;l:do if((h+3|0)>>>0>=k>>>0){p=k+6|0;do if(k>>>0<4294967290){n=bf(n,p)|0;if(!n){n=Qn(c[(zo()|0)>>2]|0)|0;if(!n)break l;else{e=n;break}}else{o=n;k=p;e=n+h|0;break l}}else e=67;while(0);c[R>>2]=q-f;break k}while(0);a[e>>0]=0;if(!g){k=o;e=o;S=295;break a}else e=203}while(0);n=e;g=o;e=o}while(0);if((S|0)==283){e=o;if(!n){k=o;S=295}else g=o}if((S|0)==295){m:do if(k){switch(a[e>>0]|0){case 0:{sf(e);e=0;break m}case 3:break;default:break m}if((a[e+1>>0]|0)==4){sf(e);e=0}}else e=0;while(0);c[b>>2]=e;S=0;l=T;return S|0}if(!e){S=n;l=T;return S|0}if(af(e)|0){if((k|0)!=0&(e&7|0)!=0)do{a[e>>0]=0;e=e+1|0;k=k+-1|0}while((k|0)!=0&(e&7|0)!=0);if(k>>>0>=8){p=k+-8|0;h=p&-8;q=h+8|0;o=e;while(1){S=o;c[S>>2]=0;c[S+4>>2]=0;k=k+-8|0;if(k>>>0<=7)break;else o=o+8|0}k=p-h|0;e=e+q|0}if(k|0)while(1){a[e>>0]=0;k=k+-1|0;if(!k)break;else e=e+1|0}}cf(g);S=n;l=T;return S|0}function sf(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;if(!b)return;if(af(b)|0){f=a[b>>0]|0;if(!(f<<24>>24))e=b;else{e=b;do{g=e+1|0;if(f<<24>>24==1)e=e+3+((d[g>>0]|d[g+1>>0]<<8)&65535)|0;else e=g;f=a[e>>0]|0}while(f<<24>>24!=0)}j=b;e=e-j|0;if((e|0)!=0&(j&7|0)!=0){f=b;do{a[f>>0]=0;f=f+1|0;e=e+-1|0}while((e|0)!=0&(f&7|0)!=0)}else f=b;if(e>>>0>=8){i=e+-8|0;j=i&-8;h=j+8|0;g=f;while(1){k=g;c[k>>2]=0;c[k+4>>2]=0;e=e+-8|0;if(e>>>0<=7)break;else g=g+8|0}f=f+h|0;e=i-j|0}if(e|0)while(1){a[f>>0]=0;e=e+-1|0;if(!e)break;else f=f+1|0}}cf(b);return}function tf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;if((l|0)>=(m|0))$(16);f=i;g=i+8|0;h=i+4|0;do if((a|0)!=0?(c[a>>2]=0,(b|0)!=0&e>>>0<2):0){if(!(e|d)){d=pf(b,0,0,g)|0;if(!d){d=c[g>>2]|0;break}}else if((d|0)==0&(e|0)!=0)d=Fo(b)|0;d=qf(h,0,b,d,0,0,f)|0;c[g>>2]=d;if(!d){c[a>>2]=c[h>>2];d=0}}else d=45;while(0);l=i;return d|0}function uf(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0;if(!b){h=0;return h|0}if(!e)e=Fo(c)|0;g=b;a:while(1){f=a[g>>0]|0;switch(f<<24>>24){case 0:{e=0;h=26;break a}case 3:break;default:{b=g+1|0;if(f<<24>>24!=1){g=b;continue a}g=g+3+((d[b>>0]|d[b+1>>0]<<8)&65535)|0;continue a}}b=g+1|0;if((a[b>>0]|0)!=1){g=b;continue}b=g+2|0;f=g+4|0;b=(d[b>>0]|d[b+1>>0]<<8)&65535;if((b|0)==(e|0)?(Tp(f,c,e)|0)==0:0)break;g=f+b|0}if((h|0)==26)return e|0;b=1;f=f+e|0;b:do{e=f;c:while(1){switch(a[e>>0]|0){case 0:{h=15;break b}case 3:{h=13;break c}case 4:{h=14;break c}case 1:{e=e+1|0;e=e+(((d[e>>0]|d[e+1>>0]<<8)&65535)+2)+-1|0;break}default:{}}e=e+1|0}if((h|0)==13){h=0;b=b+1|0}else if((h|0)==14){h=0;b=b+-1|0}f=e+1|0}while((b|0)!=0);if((h|0)==15)He(22556,481,22587);e=f-g&65535;b=_e(e+1|0)|0;if(!b){h=0;return h|0}cr(b|0,g|0,e|0)|0;a[b+e>>0]=0;switch(a[b>>0]|0){case 0:{sf(b);h=0;return h|0}case 3:{if((a[b+1>>0]|0)!=4){h=b;return h|0}sf(b);h=0;return h|0}default:{h=b;return h|0}}return 0}function vf(b){b=b|0;var c=0,e=0,f=0,g=0;if(!b){g=0;return g|0}e=0;c=0;a:while(1){f=e;b:while(1){c:while(1){e=a[b>>0]|0;if(!(e<<24>>24))break a;b=b+1|0;switch(e<<24>>24){case 1:{g=7;break b}case 3:{g=8;break b}case 4:break c;default:{}}}f=f+-1|0}if((g|0)==7){e=f;b=b+(((d[b>>0]|d[b+1>>0]<<8)&65535)+2)|0;f=(f|0)==1&1}else if((g|0)==8){e=f+1|0;f=(f|0)==1&1}c=f+c|0}return c|0}function wf(b,c){b=b|0;c=c|0;var e=0,f=0,g=0;if(!b){g=0;return g|0}if((a[b>>0]|0)!=3){g=0;return g|0}a:do if((c|0)>0){e=0;b:while(1){c:while(1){d:while(1){f=b+1|0;switch(a[f>>0]|0){case 0:{b=0;break b}case 1:{g=9;break c}case 4:{g=11;break c}case 3:break d;default:b=f}}e=e+1|0;b=f}if((g|0)==9){b=b+2|0;b=b+(((d[b>>0]|d[b+1>>0]<<8)&65535)+2)+-1|0}else if((g|0)==11){e=e+-1|0;b=f}c=(((e|0)==0)<<31>>31)+c|0;if((c|0)<=0)break a}return b|0}while(0);f=b+1|0;e:do switch(a[f>>0]|0){case 1:{b=b+2|0;b=(d[b>>0]|d[b+1>>0]<<8)&65535;e=_e(b+6|0)|0;if(!e){g=0;return g|0}else{g=e+1|0;a[e>>0]=3;c=b+3|0;cr(g|0,f|0,c|0)|0;c=g+c|0;a[c>>0]=4;a[c+1>>0]=0;c=e;b=e;break e}}case 3:{c=1;b=f;f:while(1){g:while(1){e=b+1|0;switch(a[e>>0]|0){case 0:{g=18;break f}case 3:{g=16;break g}case 4:{g=17;break g}case 1:break;default:{b=e;continue g}}g=b+2|0;b=g+(((d[g>>0]|d[g+1>>0]<<8)&65535)+2)+-1|0}if((g|0)==16){g=0;c=c+1|0}else if((g|0)==17){g=0;c=c+-1|0}if(!c)break;else b=e}if((g|0)==18)He(22556,673,22609);b=b+2-f&65535;e=_e(b+1|0)|0;if(!e){g=0;return g|0}cr(e|0,f|0,b|0)|0;a[e+b>>0]=0;switch(a[e>>0]|0){case 3:{c=e;b=e;break e}case 0:break;default:{g=e;return g|0}}sf(e);g=0;return g|0}default:{g=0;return g|0}}while(0);if((a[c+1>>0]|0)!=4){g=b;return g|0}sf(b);g=0;return g|0}function xf(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;c[f>>2]=0;if(!b){f=0;return f|0}g=a[b>>0]|0;if(g<<24>>24==3){b=b+1|0;h=a[b>>0]|0;g=h<<24>>24==1;a:do if((e|0)>0){i=0;b:while(1){c:do if(g){g=i;j=6}else{g=i;d:while(1){switch(h<<24>>24){case 0:{b=0;break b}case 4:break d;case 3:{g=g+1|0;break}default:{}}b=b+1|0;h=a[b>>0]|0;if(h<<24>>24==1){j=6;break c}}i=g+-1|0}while(0);if((j|0)==6){j=0;b=b+1|0;i=g;b=b+(((d[b>>0]|d[b+1>>0]<<8)&65535)+2)+-1|0}e=(((i|0)==0)<<31>>31)+e|0;b=b+1|0;h=a[b>>0]|0;g=h<<24>>24==1;if((e|0)<=0)break a}return b|0}while(0);if(!g){f=0;return f|0}}else if(!((e|0)==0&g<<24>>24==1)){f=0;return f|0}j=b+1|0;c[f>>2]=(d[j>>0]|d[j+1>>0]<<8)&65535;f=b+3|0;return f|0}function yf(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;c[f>>2]=0;if(!b){f=0;return f|0}g=a[b>>0]|0;if(g<<24>>24==3){g=b+1|0;h=a[g>>0]|0;b=h<<24>>24==1;a:do if((e|0)>0){i=0;b:while(1){c:do if(b){b=i;j=6}else{b=i;d:while(1){switch(h<<24>>24){case 0:{b=0;break b}case 4:break d;case 3:{b=b+1|0;break}default:{}}g=g+1|0;h=a[g>>0]|0;if(h<<24>>24==1){j=6;break c}}i=b+-1|0}while(0);if((j|0)==6){j=0;g=g+1|0;i=b;g=g+(((d[g>>0]|d[g+1>>0]<<8)&65535)+2)+-1|0}e=(((i|0)==0)<<31>>31)+e|0;g=g+1|0;h=a[g>>0]|0;b=h<<24>>24==1;if((e|0)<=0)break a}return b|0}while(0);if(b)b=g;else{f=0;return f|0}}else if(!((e|0)==0&g<<24>>24==1)){f=0;return f|0}j=b+1|0;j=d[j>>0]|d[j+1>>0]<<8;g=j&65535;if(!(j<<16>>16)){f=0;return f|0}h=_e(g)|0;if(!h){f=0;return f|0}cr(h|0,b+3|0,g|0)|0;c[f>>2]=g;f=h;return f|0}function zf(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0;if(!b){h=0;return h|0}e=a[b>>0]|0;if(e<<24>>24==3){e=b+1|0;f=a[e>>0]|0;b=f<<24>>24==1;a:do if((c|0)>0){g=0;b:while(1){c:do if(b){b=g;h=6}else{b=g;d:while(1){switch(f<<24>>24){case 0:{b=0;break b}case 4:break d;case 3:{b=b+1|0;break}default:{}}e=e+1|0;f=a[e>>0]|0;if(f<<24>>24==1){h=6;break c}}g=b+-1|0}while(0);if((h|0)==6){h=0;e=e+1|0;g=b;e=e+(((d[e>>0]|d[e+1>>0]<<8)&65535)+2)+-1|0}c=(((g|0)==0)<<31>>31)+c|0;e=e+1|0;f=a[e>>0]|0;b=f<<24>>24==1;if((c|0)<=0)break a}return b|0}while(0);if(b)b=e;else{h=0;return h|0}}else if(!((c|0)==0&e<<24>>24==1)){h=0;return h|0}h=b+1|0;h=d[h>>0]|d[h+1>>0]<<8;e=h&65535;if(!(h<<16>>16)){h=0;return h|0}f=_e(e+1|0)|0;if(!f){h=0;return h|0}cr(f|0,b+3|0,e|0)|0;a[f+e>>0]=0;h=f;return h|0}function Af(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,n=0;n=l;l=l+16|0;if((l|0)>=(m|0))$(16);k=n;switch(f|0){case 8:{if(!b){k=0;l=n;return k|0}f=a[b>>0]|0;if(f<<24>>24==3){g=b+1|0;h=a[g>>0]|0;f=h<<24>>24==1;a:do if((e|0)>0){i=e;e=0;b:while(1){c:do if(f){f=e;j=7}else{f=e;d:while(1){switch(h<<24>>24){case 0:{b=0;break b}case 4:break d;case 3:{f=f+1|0;break}default:{}}g=g+1|0;h=a[g>>0]|0;if(h<<24>>24==1){j=7;break c}}e=f+-1|0}while(0);if((j|0)==7){j=0;g=g+1|0;e=f;g=g+(((d[g>>0]|d[g+1>>0]<<8)&65535)+2)+-1|0}i=(((e|0)==0)<<31>>31)+i|0;g=g+1|0;h=a[g>>0]|0;f=h<<24>>24==1;if((i|0)<=0)break a}l=n;return b|0}while(0);if(f)f=g;else{k=0;l=n;return k|0}}else if((e|0)==0&f<<24>>24==1)f=b;else{k=0;l=n;return k|0}j=f+1|0;j=d[j>>0]|d[j+1>>0]<<8;g=j&65535;if(!(j<<16>>16)){k=0;l=n;return k|0}h=_e(g)|0;if(!h){k=0;l=n;return k|0}cr(h|0,f+3|0,g|0)|0;if(!(af(b)|0))b=Hl(0)|0;else b=Il(0)|0;c[k>>2]=b;if(!b){cf(h);k=0;l=n;return k|0}else{ul(b,h,g<<3)|0;k=b;l=n;return k|0}}case 0:{i=1;break}default:i=f}if(!b){k=0;l=n;return k|0}f=a[b>>0]|0;if(f<<24>>24==3){b=b+1|0;g=a[b>>0]|0;f=g<<24>>24==1;e:do if((e|0)>0){h=0;f:while(1){g:do if(f){f=h;j=28}else{f=h;h:while(1){switch(g<<24>>24){case 0:{b=0;break f}case 4:break h;case 3:{f=f+1|0;break}default:{}}b=b+1|0;g=a[b>>0]|0;if(g<<24>>24==1){j=28;break g}}h=f+-1|0}while(0);if((j|0)==28){j=0;b=b+1|0;h=f;b=b+(((d[b>>0]|d[b+1>>0]<<8)&65535)+2)+-1|0}e=(((h|0)==0)<<31>>31)+e|0;b=b+1|0;g=a[b>>0]|0;f=g<<24>>24==1;if((e|0)<=0)break e}l=n;return b|0}while(0);if(!f){k=0;l=n;return k|0}}else if(!((e|0)==0&f<<24>>24==1)){k=0;l=n;return k|0}j=b+1|0;j=(Sk(k,i,b+3|0,(d[j>>0]|d[j+1>>0]<<8)&65535,0)|0)==0;k=j?c[k>>2]|0:0;l=n;return k|0}function Bf(b){b=b|0;var c=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;if(!b){l=0;return l|0}if((a[b>>0]|0)==3){c=1;i=0;f=-1}else{l=0;return l|0}a:while(1){b:while(1){c:while(1){e=b+1|0;switch(a[e>>0]|0){case 0:{k=0;l=19;break a}case 3:{l=8;break b}case 4:{l=10;break b}case 1:break c;default:b=e}}b=b+2|0;b=b+(((d[b>>0]|d[b+1>>0]<<8)&65535)+2)+-1|0;c=f+c|0;if((c|0)<=0){j=b;break a}}if((l|0)==8){l=0;g=c;h=i+1|0}else if((l|0)==10){l=0;h=i+-1|0;g=(((h|0)==0)<<31>>31)+c|0}if((g|0)>0){c=g;i=h;b=e;f=((h|0)==0)<<31>>31}else{j=e;break}}if((l|0)==19)return k|0;e=j+1|0;b=0;c=e;d:do{switch(a[c>>0]|0){case 0:{k=0;l=19;break d}case 1:{c=c+1|0;c=c+(((d[c>>0]|d[c+1>>0]<<8)&65535)+2)+-1|0;break}case 3:{b=b+1|0;break}case 4:{b=b+-1|0;break}default:{}}c=c+1|0}while((b|0)!=0);if((l|0)==19)return k|0;b=c-e&65535;c=_e(b+3|0)|0;if(!c){l=0;return l|0}l=c+1|0;a[c>>0]=3;cr(l|0,e|0,b|0)|0;k=l+b|0;a[k>>0]=4;a[k+1>>0]=0;if((a[l>>0]|0)!=4){l=c;return l|0}sf(c);l=0;return l|0}function Cf(a){a=a|0;var b=0;b=Bf(a)|0;a=wf(b,0)|0;sf(b);return a|0}function Df(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=l;l=l+16|0;if((l|0)>=(m|0))$(16);g=f;c[g>>2]=e;e=rf(a,b,d,Fo(d)|0,1,0,g)|0;l=f;return e|0}function Ef(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return rf(a,b,c,Fo(c)|0,1,0,d)|0}function Ff(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=l;l=l+16|0;if((l|0)>=(m|0))$(16);d=qf(a,b,c,d,0,0,e)|0;l=e;return d|0}function Gf(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=l;l=l+48|0;if((l|0)>=(m|0))$(48);A=C+16|0;z=C+8|0;y=C;v=C+20|0;w=(e|0)==3;x=(f|0)!=0;B=(f|0)==0;u=(e|0)!=1;t=(e|0)==1;s=u^1;r=0;e=0;h=b|0?b:22624;a:while(1){b:while(1){switch(a[h>>0]|0){case 0:{b=79;break a}case 3:{b=4;break b}case 4:{b=13;break b}case 1:break;default:{b=78;break a}}b=h+1|0;b=d[b>>0]|d[b+1>>0]<<8;p=h+3|0;q=b&65535;if(w){o=b<<16>>16==0;c:do if(o){k=2;b=1}else{b=a[p>>0]|0;d:do if(b<<24>>24>=1){n=p;j=q;i=1;h=b;while(1){if((h&255)<32|(h+-127&255)<34?(No(22627,h&255,10)|0)==0:0)break d;if(i){if(!((h+-48&255)<10|((h&-33)+-65&255)<26)){k=(No(22637,h&255,9)|0)==0;i=k?0:i}}else i=0;k=n+1|0;h=j+-1|0;if(!h)break;n=k;j=h;h=a[k>>0]|0}if((b+-48&255)>9&(i|0)!=0){k=q;b=2;break c}else{j=2;h=q;k=p}while(1){e:do switch(b<<24>>24){case 92:case 39:case 34:case 13:case 12:case 10:case 11:case 9:case 8:{b=j+2|0;break}default:if((b&255)<32|(b+-127&255)<34){b=j+4|0;break e}else{b=j+1|0;break e}}while(0);h=h+-1|0;i=k+1|0;if(!h){k=b;b=1;break c}j=b;k=i;b=a[i>>0]|0}}while(0);k=(q<<1)+2|0;b=0}while(0);e=k+e|0;if(x){if(e>>>0>=g>>>0){e=0;b=87;break a}switch(b&3){case 1:{if(f|0){b=f+1|0;a[f>>0]=34;f:do if(!o){i=q;j=p;while(1){h=a[j>>0]|0;g:do switch(h<<24>>24){case 8:{a[b>>0]=92;a[b+1>>0]=98;b=b+2|0;break}case 9:{a[b>>0]=92;a[b+1>>0]=116;b=b+2|0;break}case 11:{a[b>>0]=92;a[b+1>>0]=118;b=b+2|0;break}case 10:{a[b>>0]=92;a[b+1>>0]=110;b=b+2|0;break}case 12:{a[b>>0]=92;a[b+1>>0]=102;b=b+2|0;break}case 13:{a[b>>0]=92;a[b+1>>0]=114;b=b+2|0;break}case 34:{a[b>>0]=92;a[b+1>>0]=34;b=b+2|0;break}case 39:{a[b>>0]=92;a[b+1>>0]=39;b=b+2|0;break}case 92:{a[b>>0]=92;a[b+1>>0]=92;b=b+2|0;break}default:if((h&255)<32|(h+-127&255)<34){c[y>>2]=h&255;Pp(b,22478,y)|0;b=b+4|0;break g}else{a[b>>0]=h;b=b+1|0;break g}}while(0);i=i+-1|0;if(!i)break f;else j=j+1|0}}while(0);a[b>>0]=34}break}case 2:{if(f|0)cr(f|0,p|0,q|0)|0;break}default:if(f|0){b=f+1|0;a[f>>0]=35;if(!o){i=q<<1;h=0;while(1){c[z>>2]=d[p+h>>0];Pp(b,22646,z)|0;h=h+1|0;if((h|0)==(q|0))break;else b=b+2|0}b=f+(i|1)|0}a[b>>0]=35}}f=f+k|0}if((a[p+q>>0]|0)!=4){e=e+1|0;if(x){if(e>>>0>=g>>>0){e=0;b=87;break a}a[f>>0]=32;f=f+1|0}}}else{c[A>>2]=q;Pp(v,22651,A)|0;e=q+e+(Fo(v)|0)|0;if(!B){if(e>>>0>=g>>>0){e=0;b=87;break a}f=Np(f,v)|0;cr(f|0,p|0,q|0)|0;f=f+q|0}}h=p+q|0}if((b|0)==4){h=h+1|0;if(u)e=r+e+((r|0)!=0&1)|0;e=e+1|0;if(!B){if(e>>>0>=g>>>0){e=0;b=87;break}if(!((r|0)==0|s)){b=f+1|0;a[f>>0]=10;if((r|0)>0){Yq(b|0,32,r|0)|0;f=b+r|0}else f=b}a[f>>0]=40;f=f+1|0}r=r+1|0;continue}else if((b|0)==13){h=h+1|0;b=e+1|0;if(x){if(b>>>0>=g>>>0){e=0;b=87;break}a[f>>0]=41;f=f+1|0}i=r+-1|0;if(t){r=i;e=b;continue}switch(a[h>>0]|0){case 0:case 3:{r=i;e=b;continue a}default:{}}e=e+2+i|0;if(!x){r=i;continue}if(e>>>0>=g>>>0){e=0;b=87;break}a[f>>0]=10;b=f+1|0;if((r|0)<=1){r=i;f=b;continue}Yq(b|0,32,i|0)|0;f=f+r|0;r=i;continue}}if((b|0)==78)He(22556,2008,22655);else if((b|0)==79){do if(t){if(B)b=86}else{e=e+1|0;if(!B)if(e>>>0<g>>>0){a[f>>0]=10;f=f+1|0;break}else{g=0;l=C;return g|0}else b=86}while(0);if((b|0)==86){g=e+1|0;l=C;return g|0}if(e>>>0>=g>>>0){g=0;l=C;return g|0}a[f>>0]=0;g=e;l=C;return g|0}else if((b|0)==87){l=C;return e|0}return 0}function Hf(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+112|0;if((l|0)>=(m|0))$(112);u=y+80|0;w=y;x=y+84|0;h=x;i=h+20|0;do{a[h>>0]=0;h=h+1|0}while((h|0)<(i|0));j=a[f>>0]|0;do if(j<<24>>24){h=f;i=0;a:while(1){b:do switch(j<<24>>24){case 63:case 47:case 45:case 43:case 38:break;default:{switch(j<<24>>24|0){case 10:case 13:case 12:case 11:case 9:case 32:break b;default:{}}if(j<<24>>24==39){v=h+1|0;h=Ko(v,39)|0;if((h|0)==0|(h|0)==(v|0)){h=29;v=94;break a}}t=(c[g>>2]|0)+(4-1)&~(4-1);v=c[t>>2]|0;c[g>>2]=t+4;c[w+(i<<2)>>2]=v;if(!v){h=128;v=94;break a}i=i+1|0}}while(0);h=h+1|0;j=a[h>>0]|0;if(!(i>>>0<20&j<<24>>24!=0)){v=9;break}}if((v|0)==9){if(!(j<<24>>24))break;else h=183;l=y;return h|0}else if((v|0)==94){l=y;return h|0}}else i=0;while(0);s=(c[g>>2]|0)+(4-1)&~(4-1);t=c[s>>2]|0;c[g>>2]=s+4;if(t|0){x=45;l=y;return x|0}c:do if(!e){g=0;v=12}else{j=e;g=0;while(1){if(!(a[j>>0]|0)){v=12;break c}h=Ko(j,33)|0;if((h|0)==(j|0)){j=0;h=27;break c}h=(h|0)==0?0:h-j|0;e=uf(b,j,h)|0;if(!e){j=0;h=27;break c}sf(g);j=(h|0)==0?0:j+(h+1)|0;if(!j){b=e;g=e;v=12;break}else{b=e;g=e}}}while(0);d:do if((v|0)==12){t=43;i=0;e:while(1){h=a[f>>0]|0;f:do switch(h<<24>>24){case 0:break e;case 47:case 45:case 43:case 38:{j=h<<24>>24;h=f;break}default:{switch(h<<24>>24|0){case 10:case 13:case 12:case 11:case 9:case 32:{j=t;h=f;break f}default:{}}switch(h<<24>>24){case 63:{j=t;h=f;break f}case 39:{h=f+1|0;f=Ko(h,39)|0;if((f|0)==0|(f|0)==(h|0)){j=0;h=29;break d}j=uf(b,h,f-h|0)|0;break}default:j=uf(b,f,1)|0}do if(j){g:do switch(t|0){case 38:{h=c[w+(i<<2)>>2]|0;r=h+12|0;s=c[r>>2]|0;if(!s){c[h>>2]=0;if((a[j>>0]|0)!=3){v=58;break e}k=j+1|0;n=a[k>>0]|0;q=1;e=0;o=n<<24>>24==1;do{h:do if(o)v=49;else{i:while(1){switch(n<<24>>24){case 0:{v=58;break e}case 4:break i;case 3:{e=e+1|0;break}default:{}}k=k+1|0;n=a[k>>0]|0;if(n<<24>>24==1){v=49;break h}}e=e+-1|0;p=k}while(0);if((v|0)==49){v=0;p=k+1|0;p=p+(((d[p>>0]|d[p+1>>0]<<8)&65535)+2)+-1|0}q=(((e|0)==0)<<31>>31)+q|0;k=p+1|0;n=a[k>>0]|0;o=n<<24>>24==1}while((q|0)>0);if(!o){v=58;break e}s=p+2|0;s=d[s>>0]|d[s+1>>0]<<8;e=s&65535;if(!(s<<16>>16)){v=58;break e}k=_e(e)|0;if(!k){v=58;break e}cr(k|0,p+4|0,e|0)|0;c[h>>2]=e;c[r>>2]=k;c[h+8>>2]=e;c[h+4>>2]=0;a[x+i>>0]=2;break g}else{if((a[j>>0]|0)!=3){h=65;break d}k=j+1|0;n=a[k>>0]|0;q=1;e=0;o=n<<24>>24==1;do{j:do if(o)v=36;else{k:while(1){switch(n<<24>>24){case 0:{h=65;break d}case 4:break k;case 3:{e=e+1|0;break}default:{}}k=k+1|0;n=a[k>>0]|0;if(n<<24>>24==1){v=36;break j}}e=e+-1|0;p=k}while(0);if((v|0)==36){v=0;p=k+1|0;p=p+(((d[p>>0]|d[p+1>>0]<<8)&65535)+2)+-1|0}q=(((e|0)==0)<<31>>31)+q|0;k=p+1|0;n=a[k>>0]|0;o=n<<24>>24==1}while((q|0)>0);if(!o){h=65;break d}r=p+2|0;r=d[r>>0]|d[r+1>>0]<<8;e=r&65535;if(!(r<<16>>16)){h=65;break d}k=c[h+4>>2]|0;if((k+e|0)>>>0>(c[h>>2]|0)>>>0){h=200;break d}cr(s+k|0,p+4|0,e|0)|0;c[h+8>>2]=e;a[x+i>>0]=1;break g}}case 47:{s=Af(j,1,8)|0;h=c[w+(i<<2)>>2]|0;c[h>>2]=s;break}case 45:{l:do if((a[j>>0]|0)==3){e=j+1|0;o=a[e>>0]|0;p=1;h=0;n=o<<24>>24==1;do{m:do if(n)v=64;else{k=o;n:while(1){switch(k<<24>>24){case 0:{h=0;break l}case 4:break n;case 3:{h=h+1|0;break}default:{}}e=e+1|0;k=a[e>>0]|0;if(k<<24>>24==1){v=64;break m}}h=h+-1|0;k=e}while(0);if((v|0)==64){v=0;k=e+1|0;k=k+(((d[k>>0]|d[k+1>>0]<<8)&65535)+2)+-1|0}p=(((h|0)==0)<<31>>31)+p|0;e=k+1|0;o=a[e>>0]|0;n=o<<24>>24==1}while((p|0)>0);if(n){h=k+2|0;h=(Sk(u,1,k+4|0,(d[h>>0]|d[h+1>>0]<<8)&65535,0)|0)==0;h=h?c[u>>2]|0:0}else h=0}else h=0;while(0);s=c[w+(i<<2)>>2]|0;c[s>>2]=h;h=s;break}default:{o:do if((a[j>>0]|0)==3){e=j+1|0;o=a[e>>0]|0;p=1;h=0;n=o<<24>>24==1;do{p:do if(n)v=76;else{k=o;q:while(1){switch(k<<24>>24){case 0:{h=0;break o}case 4:break q;case 3:{h=h+1|0;break}default:{}}e=e+1|0;k=a[e>>0]|0;if(k<<24>>24==1){v=76;break p}}h=h+-1|0;k=e}while(0);if((v|0)==76){v=0;k=e+1|0;k=k+(((d[k>>0]|d[k+1>>0]<<8)&65535)+2)+-1|0}p=(((h|0)==0)<<31>>31)+p|0;e=k+1|0;o=a[e>>0]|0;n=o<<24>>24==1}while((p|0)>0);if(n){h=k+2|0;h=(Sk(u,5,k+4|0,(d[h>>0]|d[h+1>>0]<<8)&65535,0)|0)==0;h=h?c[u>>2]|0:0}else h=0}else h=0;while(0);s=c[w+(i<<2)>>2]|0;c[s>>2]=h;h=s}}while(0);sf(j);if(!(c[h>>2]|0)){j=0;h=65;break d}}else{if((a[f+1>>0]|0)!=63){j=0;h=68;break d}h=w+(i<<2)|0;if((t|0)!=38){c[c[h>>2]>>2]=0;break}h=c[h>>2]|0;if(!(c[h+12>>2]|0)){c[h>>2]=0;c[h+4>>2]=0}c[h+8>>2]=0}while(0);j=t;i=i+1|0;h=f}}while(0);t=j;f=h+1|0}if((v|0)==58){c[r>>2]=0;h=65;break}sf(g);x=0;l=y;return x|0}while(0);sf(g);sf(j);if(!i){x=h;l=y;return x|0}do{i=i+-1|0;j=w+(i<<2)|0;if(!(a[x+i>>0]|0)){v=c[j>>2]|0;Jl(c[v>>2]|0);c[v>>2]=0}else{v=c[j>>2]|0;cf(c[v+12>>2]|0);c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;c[v+12>>2]=0}}while((i|0)!=0);l=y;return h|0}function If(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=l;l=l+16|0;if((l|0)>=(m|0))$(16);g=f;c[g>>2]=e;e=Hf(a,b,d,g)|0;l=f;return ((e|0)==0?0:e&65535|16777216)|0}function Jf(a){a=a|0;if(Go(22673,a)|0)if(Go(22685,a)|0)if(Go(22697,a)|0)if(Go(22709,a)|0)if(Go(22722,a)|0)if(Go(22732,a)|0)if(Go(22743,a)|0)if(Go(22755,a)|0)if(Go(22768,a)|0)if(Go(22780,a)|0)if(Go(22793,a)|0)if(Go(22803,a)|0)if(!(Go(22814,a)|0))a=12;else{a=88;return a|0}else a=11;else a=10;else a=9;else a=8;else a=7;else a=6;else a=5;else a=4;else a=3;else a=2;else a=1;else a=0;c[17593]=c[17593]|c[1164+(a<<3)>>2];a=0;return a|0}function Kf(){return 0}function Lf(a,b){a=a|0;b=b|0;if((a|0)<0|a>>>0>12){b=0;return b|0}if(b|0)c[b>>2]=c[1164+(a<<3)>>2];b=c[1164+(a<<3)+4>>2]|0;return b|0}function Mf(){var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+256|0;if((l|0)>=(m|0))$(256);f=h;if(gg()|0){l=h;return}g=aq(22823,23390)|0;if(g|0){if(Sp(f,256,g)|0)do{b=a[f>>0]|0;e=b<<24>>24;a:do if(!(e&128)){d=f;do{if(!(Lo(e)|0))break a;d=d+1|0;b=a[d>>0]|0;e=b<<24>>24}while(!(e&128|0))}else d=f;while(0);e=Ko(d,10)|0;if(e){a[e>>0]=0;b=a[d>>0]|0}b:do if(b<<24>>24){e=(Fo(d)|0)+-1|0;if((e|0)>0){b=d+e|0;do{e=a[b>>0]|0;if((e&128|0)==0?Lo(e)|0:0)a[b>>0]=0;b=b+-1|0}while(b>>>0>d>>>0);b=a[d>>0]|0}switch(b<<24>>24){case 35:case 0:break b;default:{}}do if(Go(22673,d)|0)if(Go(22685,d)|0)if(Go(22697,d)|0)if(Go(22709,d)|0)if(Go(22722,d)|0)if(Go(22732,d)|0)if(Go(22743,d)|0)if(Go(22755,d)|0){if(!(Go(22768,d)|0)){b=8;break}if(!(Go(22780,d)|0)){b=9;break}if(!(Go(22793,d)|0)){b=10;break}if(!(Go(22803,d)|0)){b=11;break}if(!(Go(22814,d)|0))b=12;else break b}else b=7;else b=6;else b=5;else b=4;else b=3;else b=2;else b=1;else b=0;while(0);c[17593]=c[17593]|c[1164+(b<<3)>>2]}while(0)}while((Sp(f,256,g)|0)!=0);kq(g)|0;bq(g)|0}l=h;return}function Nf(){c[17594]=1;return}function Of(b){b=b|0;var d=0;if(!b){Tn(22);d=0;return d|0}if(!(c[17594]|0)){d=Oq(b)|0;return d|0}d=Oq(b+5|0)|0;if(!d){d=0;return d|0}a[d>>0]=b;a[d+1>>0]=b>>>8;a[d+2>>0]=b>>>16;a[d+3>>0]=85;a[d+(b+4)>>0]=-86;d=d+4|0;return d|0}
-function rm(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=c[b+12>>2]|0;s=c[t+36>>2]|0;t=c[t+20>>2]|0;if(e>>>0<g>>>0){u=200;return u|0}u=b+112|0;e=c[u>>2]|0;if(e>>>0>=g>>>0){h=b+64+t+(0-e)|0;if(!((f|d|h)&3))if(g>>>0>3){l=g+-4|0;m=l&-4;o=m+4|0;n=f+o|0;i=h;j=d;k=g;while(1){c[j>>2]=c[f>>2]^c[i>>2];k=k+-4|0;if(k>>>0<=3)break;else{f=f+4|0;i=i+4|0;j=j+4|0}}i=l-m|0;f=n;h=h+o|0;d=d+o|0}else i=g;else i=g;if(i){e=i;while(1){a[d>>0]=a[f>>0]^a[h>>0];e=e+-1|0;if(!e)break;else{f=f+1|0;h=h+1|0;d=d+1|0}}e=c[u>>2]|0}c[u>>2]=e-g;u=0;return u|0}if(e){g=g-e|0;i=b+64+t+(0-e)|0;if(e>>>0>3&((f|d|i)&3|0)==0){n=e+-4|0;o=n&-4;p=o+4|0;j=f+p|0;h=f;k=i;l=d;m=e;while(1){c[l>>2]=c[h>>2]^c[k>>2];m=m+-4|0;if(m>>>0<=3)break;else{h=h+4|0;k=k+4|0;l=l+4|0}}k=n-o|0;if(k){i=i+p|0;h=d+p|0;e=k;q=18}}else{j=f;h=d;q=18}if((q|0)==18){while(1){a[h>>0]=a[j>>0]^a[i>>0];e=e+-1|0;if(!e)break;else{j=j+1|0;i=i+1|0;h=h+1|0;q=18}}e=c[u>>2]|0}c[u>>2]=0;d=d+e|0;f=f+e|0}a:do if(g>>>0<t>>>0)e=0;else{q=b+496|0;r=b+64|0;m=r;l=t+-4|0;o=l&-4;n=o+4|0;p=r+n|0;o=l-o|0;if(t>>>0>3)e=0;else{l=(t|0)==0;e=0;while(1){p=pb[s&63](q,r,r)|0;e=p>>>0>e>>>0?p:e;if(!l){h=f;i=r;j=d;k=t;while(1){a[j>>0]=a[h>>0]^a[i>>0];k=k+-1|0;if(!k)break;else{h=h+1|0;i=i+1|0;j=j+1|0}}}d=d+t|0;f=f+t|0;g=g-t|0;if(g>>>0<t>>>0)break a}}do{l=pb[s&63](q,r,r)|0;e=l>>>0>e>>>0?l:e;if(!((f|m|d)&3)){h=f+n|0;i=f;j=r;k=d;l=t;while(1){c[k>>2]=c[i>>2]^c[j>>2];l=l+-4|0;if(l>>>0<=3)break;else{i=i+4|0;j=j+4|0;k=k+4|0}}j=p;k=d+n|0;i=o}else{h=f;j=r;k=d;i=t}if(i|0)while(1){a[k>>0]=a[h>>0]^a[j>>0];i=i+-1|0;if(!i)break;else{h=h+1|0;j=j+1|0;k=k+1|0}}d=d+t|0;f=f+t|0;g=g-t|0}while(g>>>0>=t>>>0)}while(0);do if(g){h=b+64|0;s=pb[s&63](b+496|0,h,h)|0;e=s>>>0>e>>>0?s:e;c[u>>2]=t-g;if(((f|h|d)&3|0)==0&g>>>0>3){k=g+-4|0;l=k&-4;n=l+4|0;m=f+n|0;i=h;j=d;while(1){c[j>>2]=c[f>>2]^c[i>>2];g=g+-4|0;if(g>>>0<=3)break;else{f=f+4|0;i=i+4|0;j=j+4|0}}g=k-l|0;if(!g)break;else{f=m;h=h+n|0;d=d+n|0}}while(1){a[d>>0]=a[f>>0]^a[h>>0];g=g+-1|0;if(!g)break;else{f=f+1|0;h=h+1|0;d=d+1|0}}}while(0);if(!e){u=0;return u|0}Te(e+16|0);u=0;return u|0}function sm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0;p=l;l=l+64|0;if((l|0)>=(m|0))$(64);g=p;if((d|0)==0&(e|0)!=12){o=45;l=p;return o|0}f=b+128|0;i=b+148|0;j=i;k=j+92|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(k|0));c[f>>2]=0;c[f+4>>2]=0;c[b+136>>2]=0;c[b+140>>2]=0;o=b+144|0;a[o>>0]=a[o>>0]&-4;o=b+56|0;a[o>>0]=a[o>>0]&-7;h=b+12|0;f=b+496|0;ub[c[(c[h>>2]|0)+60>>2]&7](f,d,e);j=g;k=j+64|0;do{a[j>>0]=0;j=j+1|0}while((j|0)<(k|0));zb[c[(c[h>>2]|0)+44>>2]&1](f,g,g,64);i=Lm(i,g,32)|0;if(g&7){f=64;do{a[g>>0]=0;g=g+1|0;f=f+-1|0}while((f|0)!=0&(g&7|0)!=0);if(f>>>0>=8)n=5}else{f=64;n=5}if((n|0)==5){h=f+-8|0;d=h&-8;e=d+8|0;b=g;while(1){n=b;c[n>>2]=0;c[n+4>>2]=0;f=f+-8|0;if(f>>>0<=7)break;else b=b+8|0}f=h-d|0;g=g+e|0}if(f|0)while(1){a[g>>0]=0;f=f+-1|0;if(!f)break;else g=g+1|0}if(i|0){o=i;l=p;return o|0}a[o>>0]=a[o>>0]|2;o=0;l=p;return o|0}function tm(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;k=l;l=l+16|0;if((l|0)>=(m|0))$(16);i=k;if(e>>>0<g>>>0){g=200;l=k;return g|0}h=a[b+56>>0]|0;if(h&4){g=156;l=k;return g|0}j=b+144|0;e=a[j>>0]|0;if(e&2){g=139;l=k;return g|0}do if(!(h&2)){e=i;c[e>>2]=0;c[e+4>>2]=0;e=sm(b,i,8)|0;if(!e){e=a[j>>0]|0;break}else{g=e;l=k;return g|0}}while(0);if(!(e&1)){h=c[b+128>>2]&15;if(h){Km(b+148|0,71811,16-h|0);e=a[j>>0]|0}e=e|1;a[j>>0]=e;h=b+136|0;c[h>>2]=0;c[b+140>>2]=0;i=0}else{i=b+136|0;h=i;i=c[i>>2]|0}i=i+g|0;c[h>>2]=i;if(i>>>0<g>>>0?(h=b+140|0,i=(c[h>>2]|0)+1|0,c[h>>2]=i,(i|0)==0):0){a[j>>0]=e|2;g=139;l=k;return g|0}zb[c[(c[b+12>>2]|0)+44>>2]&1](b+496|0,d,f,g);Km(b+148|0,d,g);g=0;l=k;return g|0}function um(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;k=l;l=l+16|0;if((l|0)>=(m|0))$(16);i=k;if(e>>>0<g>>>0){g=200;l=k;return g|0}h=a[b+56>>0]|0;if(h&4){g=156;l=k;return g|0}j=b+144|0;e=a[j>>0]|0;if(e&2){g=139;l=k;return g|0}do if(!(h&2)){e=i;c[e>>2]=0;c[e+4>>2]=0;e=sm(b,i,8)|0;if(!e){e=a[j>>0]|0;break}else{g=e;l=k;return g|0}}while(0);if(!(e&1)){h=c[b+128>>2]&15;if(h){Km(b+148|0,71811,16-h|0);e=a[j>>0]|0}e=e|1;a[j>>0]=e;h=b+136|0;c[h>>2]=0;c[b+140>>2]=0;i=0}else{i=b+136|0;h=i;i=c[i>>2]|0}i=i+g|0;c[h>>2]=i;if(i>>>0<g>>>0?(h=b+140|0,i=(c[h>>2]|0)+1|0,c[h>>2]=i,(i|0)==0):0){a[j>>0]=e|2;g=139;l=k;return g|0}Km(b+148|0,f,g);zb[c[(c[b+12>>2]|0)+48>>2]&1](b+496|0,d,f,g);g=0;l=k;return g|0}function vm(b){b=b|0;var d=0;d=b+128|0;c[d>>2]=0;c[d+4>>2]=0;c[b+136>>2]=0;c[b+140>>2]=0;d=b+144|0;a[d>>0]=a[d>>0]&-4;b=b+56|0;a[b>>0]=a[b>>0]&-7;return}function wm(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;b=i+15&-16;w=S(h,g)|0;x=df(1,(h<<1)+16+(w*3|0)+b|0)|0;if(!x){h=46734;return h|0}y=x+(0-x&15)|0;r=y+b|0;s=r+h|0;t=s+h|0;u=t+w|0;v=u+w|0;if(pb[d&63](y,16,16)|0){cf(x);h=46720;return h|0}Yq(r|0,78,h|0)|0;Yq(s|0,78,h|0)|0;if((h|0)>0){b=0;do{a[t+b>>0]=b;b=b+1|0}while((b|0)!=(h|0))}q=r;if(!((t|q|v)&3))if(h>>>0>3){l=h+-4|0;m=l&-4;n=m+4|0;i=t+n|0;b=t;d=r;j=v;k=h;while(1){c[j>>2]=c[b>>2]^c[d>>2];k=k+-4|0;if(k>>>0<=3)break;else{b=b+4|0;d=d+4|0;j=j+4|0}}b=l-m|0;j=r+n|0;d=v+n|0}else{b=h;i=t;j=r;d=v}else{i=t;j=r;d=v;b=h}if(b|0)while(1){a[d>>0]=a[i>>0]^a[j>>0];b=b+-1|0;if(!b)break;else{i=i+1|0;j=j+1|0;d=d+1|0}}pb[e&63](y,v,v)|0;cr(r|0,v|0,h|0)|0;qb[f&15](y,s,u,v,1);if(Tp(u,t,h)|0){cf(x);h=46671;return h|0}if(Tp(s,r,h)|0){cf(x);h=46671;return h|0}Yq(r|0,95,h|0)|0;Yq(s|0,95,h|0)|0;i=(w|0)>0;a:do if(i){b=0;do{a[t+b>>0]=b;b=b+1|0}while((b|0)!=(w|0));if(i){o=h+-4|0;n=o&-4;m=n+4|0;p=r+m|0;n=o-n|0;if(h>>>0>3)l=0;else{m=(h|0)==0;k=0;while(1){l=v+k|0;if(!m){b=t+k|0;i=r;d=l;j=h;while(1){a[d>>0]=a[b>>0]^a[i>>0];j=j+-1|0;if(!j)break;else{b=b+1|0;i=i+1|0;d=d+1|0}}}pb[e&63](y,l,l)|0;cr(r|0,l|0,h|0)|0;k=k+h|0;if((k|0)>=(w|0))break a}}do{o=v+l|0;b=t+l|0;if(!((o|q|b)&3)){k=b+m|0;i=r;d=o;j=h;while(1){c[d>>2]=c[b>>2]^c[i>>2];j=j+-4|0;if(j>>>0<=3)break;else{b=b+4|0;i=i+4|0;d=d+4|0}}b=k;d=p;j=o+m|0;i=n}else{d=r;j=o;i=h}if(i|0)while(1){a[j>>0]=a[b>>0]^a[d>>0];i=i+-1|0;if(!i)break;else{b=b+1|0;d=d+1|0;j=j+1|0}}pb[e&63](y,o,o)|0;cr(r|0,o|0,h|0)|0;l=l+h|0}while((l|0)<(w|0))}}while(0);qb[f&15](y,s,u,v,g);if(!(Tp(u,t,w)|0)){h=(Tp(s,r,h)|0)==0;cf(x);h=h?0:46671;return h|0}else{cf(x);h=46671;return h|0}return 0}function xm(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;b=i+15&-16;w=S(h,g)|0;x=df(1,(h<<1)+16+(w*3|0)+b|0)|0;if(!x){h=46734;return h|0}y=x+(0-x&15)|0;r=y+b|0;s=r+h|0;t=s+h|0;u=t+w|0;v=u+w|0;if(pb[d&63](y,32,16)|0){cf(x);h=46720;return h|0}Yq(r|0,-45,h|0)|0;Yq(s|0,-45,h|0)|0;if((h|0)>0){b=0;do{a[t+b>>0]=b;b=b+1|0}while((b|0)!=(h|0))}pb[e&63](y,v,r)|0;q=r;if(!((t|q|v)&3))if(h>>>0>3){l=h+-4|0;m=l&-4;n=m+4|0;j=v+n|0;b=t;i=v;d=r;k=h;while(1){p=c[i>>2]^c[b>>2];c[i>>2]=p;c[d>>2]=p;k=k+-4|0;if(k>>>0<=3)break;else{b=b+4|0;i=i+4|0;d=d+4|0}}b=l-m|0;d=t+n|0;i=r+n|0}else{b=h;d=t;j=v;i=r}else{d=t;j=v;i=r;b=h}if(b|0)while(1){p=a[j>>0]^a[d>>0];a[j>>0]=p;a[i>>0]=p;b=b+-1|0;if(!b)break;else{d=d+1|0;j=j+1|0;i=i+1|0}}qb[f&15](y,s,u,v,1);if(Tp(u,t,h)|0){cf(x);h=46760;return h|0}if(Tp(s,r,h)|0){cf(x);h=46760;return h|0}Yq(r|0,-26,h|0)|0;Yq(s|0,-26,h|0)|0;i=(w|0)>0;a:do if(i){b=0;do{a[t+b>>0]=b;b=b+1|0}while((b|0)!=(w|0));if(i){m=h+-4|0;o=m&-4;n=o+4|0;p=r+n|0;o=m-o|0;if(h>>>0>3)m=0;else{l=(h|0)==0;k=0;while(1){b=v+k|0;pb[e&63](y,b,r)|0;if(!l){j=t+k|0;i=r;d=h;while(1){q=a[b>>0]^a[j>>0];a[b>>0]=q;a[i>>0]=q;d=d+-1|0;if(!d)break;else{j=j+1|0;b=b+1|0;i=i+1|0}}}k=k+h|0;if((k|0)>=(w|0))break a}}do{d=v+m|0;pb[e&63](y,d,r)|0;b=t+m|0;if(!((d|q|b)&3)){l=b+n|0;i=d;j=r;k=h;while(1){z=c[i>>2]^c[b>>2];c[i>>2]=z;c[j>>2]=z;k=k+-4|0;if(k>>>0<=3)break;else{b=b+4|0;i=i+4|0;j=j+4|0}}b=l;d=d+n|0;j=p;i=o}else{j=r;i=h}if(i|0)while(1){z=a[d>>0]^a[b>>0];a[d>>0]=z;a[j>>0]=z;i=i+-1|0;if(!i)break;else{b=b+1|0;d=d+1|0;j=j+1|0}}m=m+h|0}while((m|0)<(w|0))}}while(0);qb[f&15](y,s,u,v,g);if(!(Tp(u,t,w)|0)){z=(Tp(s,r,h)|0)==0;cf(x);z=z?0:46760;return z|0}else{cf(x);z=46760;return z|0}return 0}function ym(b,c,e,f,g,h,i){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;b=i+15&-16;w=S(h,g)|0;y=df(1,(h<<1)+16+(w<<2)+b|0)|0;if(!y){h=46734;return h|0}x=y+(0-y&15)|0;r=x+b|0;s=r+h|0;t=s+h|0;u=t+w|0;v=u+w|0;j=v+w|0;if(pb[c&63](x,48,16)|0){cf(y);h=46720;return h|0}Yq(r|0,-1,h|0)|0;q=(h|0)>0;if(q){b=0;do{a[t+b>>0]=b;b=b+1|0}while((b|0)!=(h|0));pb[e&63](x,v,r)|0;if(q){b=0;do{p=v+b|0;a[p>>0]=a[p>>0]^a[t+b>>0];b=b+1|0}while((b|0)!=(h|0));b=h}else b=h}else{pb[e&63](x,v,r)|0;b=h}do{if((b|0)<=0)break;b=b+-1|0;o=r+b|0;p=(a[o>>0]|0)+1<<24>>24;a[o>>0]=p}while(!(p<<24>>24));Yq(s|0,-1,h|0)|0;qb[f&15](x,s,u,v,1);if(Tp(u,t,h)|0){cf(y);h=46809;return h|0}if(Tp(s,r,h)|0){cf(y);h=46809;return h|0}p=h+-4|0;Yq(r|0,87,p|0)|0;o=h+-1|0;n=r+o|0;a[n>>0]=1;l=h+-2|0;a[r+l>>0]=0;m=h+-3|0;a[r+m>>0]=0;a[r+p>>0]=0;Yq(s|0,87,p|0)|0;o=s+o|0;a[o>>0]=1;a[s+l>>0]=0;a[s+m>>0]=0;a[s+p>>0]=0;p=(w|0)>0;a:do if(p){b=0;do{m=b&255;a[t+b>>0]=m;a[u+b>>0]=m;b=b+1|0}while((b|0)!=(w|0));if(p){if(q)i=0;else{i=0;while(1){pb[e&63](x,v+i|0,r)|0;b=h;do{if((b|0)<=0)break;b=b+-1|0;l=r+b|0;m=(a[l>>0]|0)+1<<24>>24;a[l>>0]=m}while(!(m<<24>>24));i=i+h|0;if((i|0)>=(w|0))break a}}do{pb[e&63](x,v+i|0,r)|0;b=0;do{l=b+i|0;m=v+l|0;a[m>>0]=a[m>>0]^a[t+l>>0];b=b+1|0}while((b|0)!=(h|0));b=h;do{if((b|0)<=0)break;b=b+-1|0;l=r+b|0;m=(a[l>>0]|0)+1<<24>>24;a[l>>0]=m}while(!(m<<24>>24));i=i+h|0}while((i|0)<(w|0))}}while(0);qb[f&15](x,s,j,u,g);if(Tp(j,v,w)|0){cf(y);h=46809;return h|0}if(Tp(s,r,h)|0){cf(y);h=46809;return h|0}b:do if((g|0)>0){j=r+1|0;k=r+2|0;l=s+1|0;m=s+2|0;c=0;while(1){Yq(r|0,-1,h|0)|0;a[n>>0]=(d[n>>0]|0)-c;a[j>>0]=0;a[r>>0]=0;a[k>>0]=7;c:do if(p){b=0;do{a[t+b>>0]=b;b=b+1|0}while((b|0)!=(w|0));if(p){if(q)i=0;else{i=0;while(1){pb[e&63](x,v+i|0,r)|0;b=h;do{if((b|0)<=0)break;b=b+-1|0;A=r+b|0;z=(a[A>>0]|0)+1<<24>>24;a[A>>0]=z}while(!(z<<24>>24));i=i+h|0;if((i|0)>=(w|0))break c}}do{pb[e&63](x,v+i|0,r)|0;b=0;do{z=b+i|0;A=v+z|0;a[A>>0]=a[A>>0]^a[t+z>>0];b=b+1|0}while((b|0)!=(h|0));b=h;do{if((b|0)<=0)break;b=b+-1|0;z=r+b|0;A=(a[z>>0]|0)+1<<24>>24;a[z>>0]=A}while(!(A<<24>>24));i=i+h|0}while((i|0)<(w|0))}}while(0);Yq(s|0,-1,h|0)|0;a[o>>0]=(d[o>>0]|0)-c;a[l>>0]=0;a[s>>0]=0;a[m>>0]=7;qb[f&15](x,s,u,v,g);if(Tp(u,t,w)|0){b=49;break}c=c+1|0;if(Tp(s,r,h)|0){b=51;break}if((c|0)>=(g|0))break b}if((b|0)==49){cf(y);A=46809;return A|0}else if((b|0)==51){cf(y);A=46809;return A|0}}while(0);cf(y);A=0;return A|0}function zm(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0;ba=l;l=l+544|0;if((l|0)>=(m|0))$(544);L=ba+496|0;X=ba+248|0;V=ba+216|0;U=ba+136|0;R=ba+128|0;Q=ba+120|0;N=ba+112|0;J=ba+104|0;E=ba+96|0;D=ba+88|0;C=ba+80|0;z=ba+72|0;H=ba+64|0;G=ba+56|0;F=ba+48|0;A=ba+40|0;w=ba+32|0;x=ba+24|0;v=ba+16|0;j=ba+8|0;i=ba;M=ba+440|0;I=ba+428|0;B=ba+384|0;y=ba+372|0;o=ba+368|0;Z=ba+324|0;_=ba+264|0;aa=ba+260|0;Y=ba+256|0;W=ba+252|0;c[aa>>2]=0;c[Y>>2]=0;c[W>>2]=0;r=Z;s=r+44|0;do{c[r>>2]=0;r=r+4|0}while((r|0)<(s|0));r=_;s=r+60|0;do{c[r>>2]=0;r=r+4|0}while((r|0)<(s|0));f=Fh(b,o)|0;if(f|0){aa=f;l=ba;return aa|0}f=uf(b,46925,0)|0;if(f){g=zf(f,1)|0;sf(f);if(!g){aa=65;l=ba;return aa|0}}else g=0;f=uf(b,46885,0)|0;if((f|0)!=0?(h=Eh(f,W,0)|0,sf(f),(h|0)!=0):0){o=0;n=0;k=0;j=0;i=0;b=0;g=0;f=0}else S=6;do if((S|0)==6){f=uf(b,48632,0)|0;if(f|0){c[W>>2]=c[W>>2]|32;sf(f)}f=c[o>>2]|0;if(!((g|0)!=0|(f|0)!=0)){aa=68;l=ba;return aa|0}h=Eg(f,g,Z,o)|0;cf(g);if(!h){if(!(nf(1)|0)){i=Z+4|0;n=Z+8|0;g=Z+12|0;h=Z+16|0}else{u=Wg(c[Z>>2]|0)|0;g=Z+4|0;f=Xg(c[g>>2]|0)|0;c[i>>2]=u;c[i+4>>2]=f;Oe(48646,i);f=c[Z+40>>2]|0;if(f|0){c[j>>2]=f;Oe(48671,j)}n=Z+8|0;Se(48693,c[n>>2]|0);u=Z+12|0;Se(48709,c[u>>2]|0);h=Z+16|0;Se(48725,c[h>>2]|0);Se(48741,c[Z+32>>2]|0);Se(48757,c[Z+36>>2]|0);Mj(48773,Z+20|0,0);i=g;g=u}k=Uj(c[Z>>2]|0,c[i>>2]|0,0,c[n>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;q=c[W>>2]|0;if(!(q&4096)){p=c[o>>2]|0;b=lk(c[n>>2]|0)|0;Pj(y);f=2-(q>>>5&1)|0;if((c[k+4>>2]|0)==1){t=_+56|0;c[t>>2]=Il(256)|0;u=Cj(32,f)|0;a[u>>0]=(d[u>>0]|0)&63|64;o=u+31|0;a[o>>0]=(d[o>>0]|0)&248;Rk(c[t>>2]|0,u,32,0);cf(u);u=t;o=Z+32|0;f=c[t>>2]|0}else{o=Z+32|0;f=Gn(c[o>>2]|0,f)|0;u=_+56|0;c[u>>2]=f}j=Z+20|0;ck(y,f,j,k);c[_>>2]=c[Z>>2];t=_+4|0;c[t>>2]=c[i>>2];c[_+8>>2]=yl(c[n>>2]|0)|0;c[_+12>>2]=yl(c[g>>2]|0)|0;c[_+16>>2]=yl(c[h>>2]|0)|0;h=_+20|0;Pj(h);Al(c[h>>2]|0,c[j>>2]|0)|0;Al(c[_+24>>2]|0,c[Z+24>>2]|0)|0;Al(c[_+28>>2]|0,c[Z+28>>2]|0)|0;c[_+32>>2]=yl(c[o>>2]|0)|0;c[_+36>>2]=yl(c[Z+36>>2]|0)|0;j=_+44|0;Pj(j);f=Hl(b)|0;g=Hl(b)|0;if(Nj(f,g,y,k)|0){c[v>>2]=48835;Me(48787,v)}do if((c[i>>2]|0)!=1){i=Hl(b)|0;b=c[n>>2]|0;if(!(c[Z>>2]|0))hk(i,b,g);else hk(i,b,f);if((wk(i,g)|0)>=0){tl(i);Al(c[j>>2]|0,c[y>>2]|0)|0;Al(c[_+48>>2]|0,c[y+4>>2]|0)|0;Al(c[_+52>>2]|0,c[y+8>>2]|0)|0;if(!(nf(1)|0))break;Oe(48877,w);break}if(!(c[Z>>2]|0)){tl(g);g=i}else{tl(f);f=i}w=c[u>>2]|0;hk(w,c[o>>2]|0,w);Sj(j,f,g,Ml(1)|0)|0;if(nf(1)|0)Oe(48837,x)}else{Al(c[j>>2]|0,c[y>>2]|0)|0;Al(c[_+48>>2]|0,c[y+4>>2]|0)|0;Al(c[_+52>>2]|0,c[y+8>>2]|0)|0}while(0);Rj(y);do if(!(q&16384)){q=p+-64|0;if((c[_>>2]|0)!=1){i=Hl(q)|0;j=Hl(q)|0;n=Hl(q)|0;o=Hl(q)|0;p=Hl(q)|0;if(nf(1)|0)Oe(48930,A);Pj(I);r=L;b=_;s=r+44|0;do{c[r>>2]=c[b>>2];r=r+4|0;b=b+4|0}while((r|0)<(s|0));Vg(B,L);r=M;b=B;s=r+44|0;do{c[r>>2]=c[b>>2];r=r+4|0;b=b+4|0}while((r|0)<(s|0));b=M+44|0;Pj(b);Al(c[b>>2]|0,c[_+44>>2]|0)|0;Al(c[M+48>>2]|0,c[_+48>>2]|0)|0;Al(c[M+52>>2]|0,c[_+52>>2]|0)|0;Kl(i,q,0);if(Kn(i,_,o,p,0,0)|0)Me(48944,F);if(Ln(i,M,o,p)|0)Me(48974,G);if(nf(1)|0)Oe(49012,H);Rj(b);Ug(M);Rj(I);tl(p);tl(o);tl(n);tl(j);tl(i);break}if(nf(1)|0)Oe(48930,z);Pj(I);r=L;b=_;s=r+44|0;do{c[r>>2]=c[b>>2];r=r+4|0;b=b+4|0}while((r|0)<(s|0));Vg(B,L);r=M;b=B;s=r+44|0;do{c[r>>2]=c[b>>2];r=r+4|0;b=b+4|0}while((r|0)<(s|0));o=M+44|0;Pj(o);Al(c[o>>2]|0,c[_+44>>2]|0)|0;Al(c[M+48>>2]|0,c[_+48>>2]|0)|0;Al(c[M+52>>2]|0,c[_+52>>2]|0)|0;if((c[t>>2]|0)==1){b=Hl(256)|0;H=Aj(32,0)|0;a[H>>0]=(d[H>>0]|0)&63|64;G=H+31|0;a[G>>0]=(d[G>>0]|0)&248;Rk(b,H,32,0);cf(H)}else{b=Hl(q)|0;Kl(b,q,0)}i=Uj(c[M>>2]|0,c[M+4>>2]|0,0,c[M+8>>2]|0,c[M+12>>2]|0,c[M+16>>2]|0)|0;j=Hl(0)|0;n=Hl(0)|0;ck(I,b,o,i);if((c[t>>2]|0)!=1)ck(I,c[i+36>>2]|0,I,i);if(Nj(j,0,I,i)|0)Me(49047,C);ck(I,b,M+20|0,i);ck(I,c[u>>2]|0,I,i);if((c[t>>2]|0)!=1)ck(I,c[i+36>>2]|0,I,i);if(Nj(n,0,I,i)|0)Me(49095,D);if(!(wk(j,n)|0)){tl(j);tl(n);Yj(i);Rj(o);Ug(M);Rj(I);tl(b);break}else Me(49144,E)}while(0)}else{h=Rg(_,Z,k,q)|0;if(h|0){o=0;n=0;j=0;i=0;b=0;g=0;f=0;break}g=0;f=0;h=_+20|0}s=Hl(0)|0;r=Hl(0)|0;if(Nj(s,r,h,k)|0){c[J>>2]=49163;Me(48787,J)}q=_+8|0;n=Yg(s,r,c[q>>2]|0)|0;do if((c[_+4>>2]|0)==1?(K=c[W>>2]|0,(K&2048|0)==0):0){h=Mg(_+44|0,k,s,r,K>>>10&1,L,M)|0;if(!h){b=Hl(0)|0;ul(b,c[L>>2]|0,c[M>>2]<<3)|0;break}aa=h;l=ba;return aa|0}else S=71;while(0);if((S|0)==71){if(!f){f=Hl(0)|0;g=Hl(0)|0;if(!(Nj(f,g,_+44|0,k)|0)){O=g;P=f}else{c[N>>2]=48835;Me(48787,N)}}else{O=g;P=f}b=Yg(P,O,c[q>>2]|0)|0;g=O;f=P}p=_+56|0;o=c[p>>2]|0;c[p>>2]=0;p=Z+40|0;h=c[p>>2]|0;if(h|0?(c[Q>>2]=h,T=Df(aa,0,49165,Q)|0,T|0):0){j=r;i=s;h=T;break}h=c[W>>2]|0;i=h&4608;if(i){h=Df(Y,0,(i|0)!=4608?(h&512|0?49176:49190):49204,R)|0;if(h|0){j=r;i=s;break}h=c[W>>2]|0}i=c[aa>>2]|0;j=c[Y>>2]|0;if((h&512|0)==0|(c[p>>2]|0)==0){c[V>>2]=i;c[V+4>>2]=j;c[V+8>>2]=b;c[V+12>>2]=i;c[V+16>>2]=j;c[V+20>>2]=b;c[V+24>>2]=o;h=Df(e,0,49360,V)|0}else{R=c[q>>2]|0;S=c[_+12>>2]|0;T=c[_+16>>2]|0;V=c[_+32>>2]|0;h=c[_+36>>2]|0;c[U>>2]=i;c[U+4>>2]=j;c[U+8>>2]=R;c[U+12>>2]=S;c[U+16>>2]=T;c[U+20>>2]=n;c[U+24>>2]=V;c[U+28>>2]=h;c[U+32>>2]=b;c[U+36>>2]=i;c[U+40>>2]=j;c[U+44>>2]=R;c[U+48>>2]=S;c[U+52>>2]=T;c[U+56>>2]=n;c[U+60>>2]=V;c[U+64>>2]=h;c[U+68>>2]=b;c[U+72>>2]=o;h=Df(e,0,49224,U)|0}if(!h)if((nf(1)|0)!=0?(Se(49436,c[q>>2]|0),Se(49452,c[_+12>>2]|0),Se(49468,c[_+16>>2]|0),Se(49484,n),Se(49500,c[_+32>>2]|0),Se(49516,c[_+36>>2]|0),Se(49532,b),Se(49548,o),(c[W>>2]&4096|0)!=0):0){Oe(49564,X);j=r;i=s;h=0}else{j=r;i=s;h=0}else{j=r;i=s}}else{o=0;n=0;k=0;j=0;i=0;b=0;g=0;f=0}}while(0);tl(o);tl(b);tl(n);Ug(_);Rj(_+44|0);tl(c[_+56>>2]|0);Ug(Z);tl(i);tl(j);tl(f);tl(g);Yj(k);sf(c[Y>>2]|0);sf(c[aa>>2]|0);aa=h;l=ba;return aa|0}function Am(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=l;l=l+240|0;if((l|0)>=(m|0))$(240);H=I+144|0;C=I+136|0;B=I+128|0;A=I+120|0;z=I+112|0;y=I+104|0;x=I+96|0;v=I+88|0;u=I+80|0;t=I+72|0;j=I+64|0;i=I+56|0;g=I+40|0;f=I;D=I+220|0;q=I+216|0;E=I+212|0;F=I+208|0;G=I+148|0;c[q>>2]=0;c[E>>2]=0;c[F>>2]=0;b=G;d=b+60|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));e=uf(a,46885,0)|0;if(e){b=Eh(e,q,0)|0;if(!b)if(!(c[q>>2]&512))k=5;else{c[f>>2]=G+8;c[f+4>>2]=G+12;c[f+8>>2]=G+16;c[f+12>>2]=E;c[f+16>>2]=G+32;c[f+20>>2]=G+36;c[f+24>>2]=F;c[f+28>>2]=G+56;c[f+32>>2]=0;b=If(a,0,47225,f)|0;k=6}else{f=0;d=0}}else k=5;if((k|0)==5){c[g>>2]=F;c[g+4>>2]=G+56;c[g+8>>2]=0;b=If(a,0,47244,g)|0;k=6}do if((k|0)==6)if(!b){sf(e);r=uf(a,46925,5)|0;if((r|0)!=0?(h=zf(r,1)|0,(h|0)!=0):0){b=Fg(h,G,G+4|0,G+8|0,G+12|0,G+16|0,E,G+32|0,G+36|0)|0;if(!b)k=h;else{H=b;l=I;return H|0}}else k=0;if(c[E>>2]|0?(n=G+20|0,Pj(n),n=_g(n,c[E>>2]|0)|0,n|0):0){f=0;e=r;d=k;b=n;break}if(!k){n=c[q>>2]|0;c[G>>2]=n>>>11&2;c[G+4>>2]=n>>>12&1}if(nf(1)|0){n=Wg(c[G>>2]|0)|0;b=Xg(c[G+4>>2]|0)|0;c[i>>2]=n;c[i+4>>2]=b;Oe(48153,i);b=c[G+40>>2]|0;if(b|0){c[j>>2]=b;Oe(48177,j)}b=G+8|0;Se(48198,c[b>>2]|0);Se(48214,c[G+12>>2]|0);Se(48230,c[G+16>>2]|0);Mj(48246,G+20|0,0);Se(48260,c[G+32>>2]|0);Se(48276,c[G+36>>2]|0);Se(48292,c[F>>2]|0);if(!(gg()|0))Se(48308,c[G+56>>2]|0)}else b=G+8|0;b=c[b>>2]|0;if(((((((b|0)!=0?(o=c[G+12>>2]|0,(o|0)!=0):0)?(p=c[G+16>>2]|0,(p|0)!=0):0)?(c[G+20>>2]|0)!=0:0)?(s=G+32|0,(c[s>>2]|0)!=0):0)?(c[G+36>>2]|0)!=0:0)?(w=G+56|0,(c[w>>2]|0)!=0):0){h=G+4|0;f=Uj(c[G>>2]|0,c[h>>2]|0,0,b,o,p)|0;if(c[F>>2]|0){i=G+44|0;Pj(i);b=c[F>>2]|0;if((c[f+4>>2]|0)==1)b=Pg(b,f,i,0,0)|0;else b=_g(i,b)|0;if(!b){d=c[q>>2]|0;Pj(D);a=Hl(0)|0;if((c[f>>2]|0)==1)g=0;else g=Hl(0)|0;e=G+20|0;a:do if(!(dk(e,f)|0)){if(!(nf(1)|0)){b=7;e=0;d=0;break}Oe(48324,t);b=7;e=0;d=0}else{if(!(vk(c[G+28>>2]|0,0)|0)){if(!(nf(1)|0)){b=7;e=0;d=0;break}Oe(48376,u);b=7;e=0;d=0;break}do if((c[h>>2]|0)!=1){ck(D,c[s>>2]|0,e,f);if(!(vk(c[D+8>>2]|0,0)|0))break;if(!(nf(1)|0)){b=7;e=0;d=0;break a}Oe(48421,v);b=7;e=0;d=0;break a}while(0);b=G+52|0;if(!(vk(c[b>>2]|0,0)|0)){if(!(nf(1)|0)){b=7;e=0;d=0;break}Oe(48468,x);b=7;e=0;d=0;break}if(!($g(D,f,e,c[w>>2]|0)|0)){if(!(nf(1)|0)){b=7;e=0;d=0;break}Oe(48514,y);b=7;e=0;d=0;break}if(Nj(a,g,D,f)|0){if(!(nf(1)|0)){b=7;e=0;d=0;break}Oe(48468,z);b=7;e=0;d=0;break}if(d&4096|0){b=0;e=0;d=0;break}if(!(vk(c[b>>2]|0,1)|0)){if(!(wk(a,c[i>>2]|0)|0)){if(g|0){b=0;e=0;d=0;break}if(!(wk(0,c[G+48>>2]|0)|0)){b=0;e=0;d=0;break}}if(!(nf(1)|0)){b=7;e=0;d=0;break}Oe(48551,A);b=7;e=0;d=0;break}d=Hl(0)|0;e=Hl(0)|0;if(Nj(d,e,i,f)|0){if(!(nf(1)|0)){b=7;break}Oe(48468,B);b=7;break}if((wk(a,d)|0)==0?(wk(g,e)|0)==0:0){b=0;break}if(!(nf(1)|0)){b=7;break}Oe(48551,C);b=7}while(0);tl(d);tl(a);tl(g);tl(e);Rj(D);e=r;d=k}else{e=r;d=k}}else{e=r;d=k;b=68}}else{f=0;e=r;d=k;b=68}}else{f=0;d=0}while(0);Yj(f);Jl(c[G+8>>2]|0);Jl(c[G+12>>2]|0);Jl(c[G+16>>2]|0);Jl(c[E>>2]|0);Rj(G+20|0);Jl(c[G+32>>2]|0);Jl(c[G+36>>2]|0);Jl(c[F>>2]|0);Rj(G+44|0);Jl(c[G+56>>2]|0);cf(d);sf(e);if(!(nf(1)|0)){H=b;l=I;return H|0}c[H>>2]=Pn(b)|0;Oe(48611,H);H=b;l=I;return H|0}function Bm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=l;l=l+192|0;if((l|0)>=(m|0))$(192);E=F+72|0;D=F+64|0;C=F+56|0;p=F+48|0;n=F+40|0;k=F+32|0;B=F;v=F+152|0;w=F+144|0;x=F+140|0;y=F+136|0;A=F+80|0;c[w>>2]=0;c[x>>2]=0;c[y>>2]=0;e=A;f=e+56|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));Jh(v,0,Fm(d)|0);b=Lh(b,y,v)|0;do if(!b){if(nf(1)|0)Se(47813,c[y>>2]|0);o=c[y>>2]|0;if(o|0?c[o+12>>2]&4|0:0){q=79;r=0;s=0;t=0;u=0;break}o=A+8|0;i=A+12|0;j=A+16|0;e=A+32|0;f=A+36|0;c[B>>2]=o;c[B+4>>2]=i;c[B+8>>2]=j;c[B+12>>2]=w;c[B+16>>2]=e;c[B+20>>2]=f;c[B+24>>2]=x;c[B+28>>2]=0;b=If(d,0,47830,B)|0;if(!b){if(c[w>>2]|0?(g=A+20|0,Pj(g),g=_g(g,c[w>>2]|0)|0,g|0):0){q=g;r=0;s=0;t=0;u=0;break}sf(0);b=uf(d,46925,5)|0;if((b|0)!=0?(h=zf(b,1)|0,(h|0)!=0):0){b=Eg(0,h,A,0)|0;if(b){E=b;l=F;return E|0}}else{c[A>>2]=0;c[A+4>>2]=0;h=0}if(nf(1)|0){g=Wg(c[A>>2]|0)|0;b=Xg(c[A+4>>2]|0)|0;c[k>>2]=g;c[k+4>>2]=b;Oe(47846,k);b=c[A+40>>2]|0;if(b|0){c[n>>2]=b;Oe(47871,n)}Se(47893,c[o>>2]|0);Se(47910,c[i>>2]|0);Se(47927,c[j>>2]|0);Mj(47944,A+20|0,0);Se(47959,c[e>>2]|0);Se(47976,c[f>>2]|0);Se(47993,c[x>>2]|0)}if((!((c[o>>2]|0)==0|(c[i>>2]|0)==0|(c[j>>2]|0)==0)?(z=A+20|0,!((c[z>>2]|0)==0|(c[e>>2]|0)==0)):0)?(c[f>>2]|0)!=0&(c[x>>2]|0)!=0:0){g=A+44|0;Pj(g);b=_g(g,c[x>>2]|0)|0;if(!b){e=Uj(c[A>>2]|0,c[A+4>>2]|0,0,c[o>>2]|0,c[i>>2]|0,c[j>>2]|0)|0;f=Hl(0)|0;d=Hl(0)|0;Pj(B);ck(B,c[y>>2]|0,g,e);if(Nj(f,d,B,e)|0)Me(48010,p);b=Yg(f,d,c[o>>2]|0)|0;ck(B,c[y>>2]|0,z,e);if(!(Nj(f,d,B,e)|0)){s=Yg(f,d,c[o>>2]|0)|0;tl(f);tl(d);Rj(B);c[D>>2]=b;c[D+4>>2]=s;q=Df(a,0,48105,D)|0;r=e;t=b;u=h;break}else Me(48058,C)}else{q=b;r=0;s=0;t=0;u=h}}else{q=68;r=0;s=0;t=0;u=h}}else{q=b;r=0;s=0;t=0;u=0}}else{q=b;r=0;s=0;t=0;u=0}while(0);Jl(c[A+8>>2]|0);Jl(c[A+12>>2]|0);Jl(c[A+16>>2]|0);Jl(c[w>>2]|0);Rj(A+20|0);Jl(c[A+32>>2]|0);Jl(c[A+36>>2]|0);Jl(c[x>>2]|0);Rj(A+44|0);Jl(c[y>>2]|0);Jl(t);Jl(s);cf(u);Yj(r);Kh(v);if(!(nf(1)|0)){E=q;l=F;return E|0}c[E>>2]=Pn(q)|0;Oe(48131,E);E=q;l=F;return E|0}function Cm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=l;l=l+224|0;if((l|0)>=(m|0))$(224);A=B+72|0;s=B+64|0;r=B+56|0;q=B+48|0;p=B+40|0;j=B+8|0;h=B;t=B+176|0;u=B+168|0;v=B+164|0;w=B+104|0;x=B+100|0;y=B+88|0;z=B+76|0;c[u>>2]=0;c[v>>2]=0;c[x>>2]=0;f=w;g=f+60|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));Pj(y);Pj(z);Jh(t,1,Fm(d)|0);b=Ih(b,12556,u,t)|0;do if(!b){b=c[u>>2]|0;c[h>>2]=v;c[h+4>>2]=0;b=If(b,0,47524,h)|0;if(!b){if(nf(1)|0)Se(47526,c[v>>2]|0);n=c[v>>2]|0;if(n|0?c[n+12>>2]&4|0:0){f=0;g=0;b=79;e=0;break}n=w+8|0;h=w+12|0;i=w+16|0;f=w+32|0;g=w+36|0;k=w+56|0;c[j>>2]=n;c[j+4>>2]=h;c[j+8>>2]=i;c[j+12>>2]=x;c[j+16>>2]=f;c[j+20>>2]=g;c[j+24>>2]=k;c[j+28>>2]=0;b=If(d,0,47543,j)|0;if(!b){if(c[x>>2]|0?(o=w+20|0,Pj(o),o=_g(o,c[x>>2]|0)|0,o|0):0){f=0;g=0;b=o;e=0;break}sf(c[u>>2]|0);b=uf(d,46925,5)|0;c[u>>2]=b;if((b|0)!=0?(e=zf(b,1)|0,(e|0)!=0):0){b=Eg(0,e,w,0)|0;if(b){A=b;l=B;return A|0}}else{c[w>>2]=0;c[w+4>>2]=0;e=0}if(nf(1)|0){o=Wg(c[w>>2]|0)|0;b=Xg(c[w+4>>2]|0)|0;c[p>>2]=o;c[p+4>>2]=b;Oe(47559,p);b=c[w+40>>2]|0;if(b|0){c[q>>2]=b;Oe(47584,q)}Se(47606,c[n>>2]|0);Se(47623,c[h>>2]|0);Se(47640,c[i>>2]|0);Mj(47657,w+20|0,0);Se(47672,c[f>>2]|0);Se(47689,c[g>>2]|0);if(!(gg()|0))Se(47706,c[k>>2]|0)}if(!((c[n>>2]|0)==0|(c[h>>2]|0)==0|(c[i>>2]|0)==0)?!((c[w+20>>2]|0)==0|(c[f>>2]|0)==0|(c[g>>2]|0)==0|(c[k>>2]|0)==0):0){b=_g(y,c[v>>2]|0)|0;if(b|0){Rj(y);A=b;l=B;return A|0}i=Uj(c[w>>2]|0,c[w+4>>2]|0,0,c[n>>2]|0,c[h>>2]|0,c[i>>2]|0)|0;ck(z,c[k>>2]|0,y,i);g=Hl(0)|0;h=Hl(0)|0;if(Nj(g,h,z,i)|0)Me(47723,r);f=Yg(g,h,c[n>>2]|0)|0;if(!f)b=Sn()|0;else b=0;tl(g);tl(h);if(nf(1)|0)Se(47763,f);if(!b){c[s>>2]=f;g=i;b=Df(a,0,47780,s)|0}else g=i}else{f=0;g=0;b=68}}else{f=0;g=0;e=0}}else{f=0;g=0;e=0}}else{f=0;g=0;e=0}while(0);Rj(z);Rj(y);Jl(f);Jl(c[w+8>>2]|0);Jl(c[w+12>>2]|0);Jl(c[w+16>>2]|0);Jl(c[x>>2]|0);Rj(w+20|0);Jl(c[w+32>>2]|0);Jl(c[w+36>>2]|0);Jl(c[w+56>>2]|0);Jl(c[v>>2]|0);cf(e);sf(c[u>>2]|0);Yj(g);Kh(t);if(!(nf(1)|0)){A=b;l=B;return A|0}c[A>>2]=Pn(b)|0;Oe(47791,A);A=b;l=B;return A|0}function Dm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+224|0;if((l|0)>=(m|0))$(224);w=x+104|0;q=x+96|0;p=x+88|0;o=x+80|0;n=x+72|0;j=x+56|0;h=x+40|0;g=x;r=x+184|0;s=x+176|0;t=x+172|0;u=x+168|0;v=x+108|0;c[s>>2]=0;c[t>>2]=0;c[u>>2]=0;e=v;f=e+60|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));Jh(r,2,0);b=Lh(b,s,r)|0;do if(!b){if(nf(1)|0)Se(47209,c[s>>2]|0);e=r+12|0;if(!(c[e>>2]&512)){c[h>>2]=u;c[h+4>>2]=v+56;c[h+8>>2]=0;b=If(d,0,47244,h)|0}else{c[g>>2]=v+8;c[g+4>>2]=v+12;c[g+8>>2]=v+16;c[g+12>>2]=t;c[g+16>>2]=v+32;c[g+20>>2]=v+36;c[g+24>>2]=u;c[g+28>>2]=v+56;c[g+32>>2]=0;b=If(d,0,47225,g)|0}if(!b){if(c[t>>2]|0?(k=v+20|0,Pj(k),k=_g(k,c[t>>2]|0)|0,k|0):0){f=0;g=0;h=0;e=0;b=k;break}sf(0);h=uf(d,46925,5)|0;if((h|0)!=0?(i=zf(h,1)|0,(i|0)!=0):0){b=Eg(0,i,v,0)|0;if(b){w=b;l=x;return w|0}}else{i=c[e>>2]|0;c[v>>2]=i>>>11&2;c[v+4>>2]=i>>>12&1;i=0}if(nf(1)|0){d=Wg(c[v>>2]|0)|0;k=Xg(c[v+4>>2]|0)|0;b=c[e>>2]&4096|0?47019:71847;c[j>>2]=d;c[j+4>>2]=k;c[j+8>>2]=b;Oe(47250,j);b=c[v+40>>2]|0;if(b|0){c[n>>2]=b;Oe(47276,n)}b=v+8|0;Se(47297,c[b>>2]|0);Se(47313,c[v+12>>2]|0);Se(47329,c[v+16>>2]|0);Mj(47345,v+20|0,0);Se(47359,c[v+32>>2]|0);Se(47375,c[v+36>>2]|0);Se(47391,c[u>>2]|0);if(!(gg()|0))Se(47407,c[v+56>>2]|0)}else b=v+8|0;if(((((((c[b>>2]|0)!=0?(c[v+12>>2]|0)!=0:0)?(c[v+16>>2]|0)!=0:0)?(c[v+20>>2]|0)!=0:0)?(c[v+32>>2]|0)!=0:0)?(c[v+36>>2]|0)!=0:0)?(c[v+56>>2]|0)!=0:0){g=Hl(0)|0;f=Hl(0)|0;e=c[e>>2]|0;if(e&4096|0){b=Sg(c[s>>2]|0,v,g,f,c[r+16>>2]|0,c[u>>2]|0)|0;if(b|0){e=i;break}c[o>>2]=g;c[o+4>>2]=f;e=i;b=Df(a,0,47423,o)|0;break}b=c[s>>2]|0;if(!(e&8192)){b=Kn(b,v,g,f,e,c[r+16>>2]|0)|0;if(b|0){e=i;break}c[q>>2]=g;c[q+4>>2]=f;e=i;b=Df(a,0,47476,q)|0;break}else{b=Mn(b,v,g,f)|0;if(b|0){e=i;break}c[p>>2]=g;c[p+4>>2]=f;e=i;b=Df(a,0,47450,p)|0;break}}else{f=0;g=0;e=i;b=68}}else{f=0;g=0;h=0;e=0}}else{f=0;g=0;h=0;e=0}while(0);Jl(c[v+8>>2]|0);Jl(c[v+12>>2]|0);Jl(c[v+16>>2]|0);Jl(c[t>>2]|0);Rj(v+20|0);Jl(c[v+32>>2]|0);Jl(c[v+36>>2]|0);Jl(c[u>>2]|0);Rj(v+44|0);Jl(c[v+56>>2]|0);Jl(g);Jl(f);cf(e);Jl(c[s>>2]|0);sf(h);Kh(r);if(!(nf(1)|0)){w=b;l=x;return w|0}c[w>>2]=Pn(b)|0;Oe(47503,w);w=b;l=x;return w|0}function Em(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=l;l=l+224|0;if((l|0)>=(m|0))$(224);D=E+80|0;n=E+72|0;k=E+56|0;g=E+48|0;h=E+16|0;t=E;w=E+176|0;x=E+172|0;y=E+168|0;z=E+164|0;A=E+160|0;B=E+156|0;C=E+152|0;v=E+96|0;o=E+88|0;u=E+84|0;c[x>>2]=0;c[y>>2]=0;c[z>>2]=0;c[A>>2]=0;c[B>>2]=0;c[C>>2]=0;e=v;f=e+56|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));Jh(w,3,Fm(d)|0);e=Lh(b,C,w)|0;a:do if(!e){if(nf(1)|0)Se(46951,c[C>>2]|0);e=Hh(a,12556,x,o)|0;if(!e){a=c[x>>2]|0;e=c[o>>2]&4096|0?46967:46882;c[t>>2]=A;c[t+4>>2]=B;c[t+8>>2]=0;e=If(a,0,e,t)|0;if(!e){if(nf(1)|0){Se(46971,c[A>>2]|0);Se(46987,c[B>>2]|0)}b=c[w+12>>2]|0;if(!((c[o>>2]^b)&4096)){if(!(b&512)){c[g>>2]=z;c[g+4>>2]=0;e=If(d,0,46920,g)|0}else{e=v+32|0;c[h>>2]=v+8;c[h+4>>2]=v+12;c[h+8>>2]=v+16;c[h+12>>2]=y;c[h+16>>2]=e;c[h+20>>2]=e;c[h+24>>2]=z;c[h+28>>2]=0;e=If(d,0,47003,h)|0}if(!e){if(c[y>>2]|0?(i=v+20|0,Pj(i),i=_g(i,c[y>>2]|0)|0,i|0):0){f=0;e=i;break}sf(c[x>>2]|0);b=uf(d,46925,5)|0;c[x>>2]=b;if((b|0)!=0?(j=zf(b,1)|0,(j|0)!=0):0){b=Eg(0,j,v,0)|0;if(!b)a=j;else{D=b;l=E;return D|0}}else{a=c[o>>2]|0;c[v>>2]=a>>>11&2;c[v+4>>2]=a>>>12&1;a=0}if(!(nf(1)|0))f=v+8|0;else{i=Wg(c[v>>2]|0)|0;j=Xg(c[v+4>>2]|0)|0;b=c[o>>2]&4096|0?47019:71847;c[k>>2]=i;c[k+4>>2]=j;c[k+8>>2]=b;Oe(47026,k);b=c[v+40>>2]|0;if(b|0){c[n>>2]=b;Oe(47052,n)}f=v+8|0;Se(47073,c[f>>2]|0);Se(47089,c[v+12>>2]|0);Se(47105,c[v+16>>2]|0);Mj(47121,v+20|0,0);Se(47135,c[v+32>>2]|0);Se(47151,c[v+36>>2]|0);Se(47167,c[z>>2]|0)}if((((((c[f>>2]|0)!=0?(q=v+12|0,(c[q>>2]|0)!=0):0)?(r=v+16|0,(c[r>>2]|0)!=0):0)?(c[v+20>>2]|0)!=0:0)?(s=v+32|0,(c[s>>2]|0)!=0):0)?(p=c[z>>2]|0,(c[v+36>>2]|0)!=0&(p|0)!=0):0){e=c[o>>2]|0;if(e&4096|0){f=a;e=Tg(c[C>>2]|0,v,c[A>>2]|0,c[B>>2]|0,c[w+16>>2]|0,p)|0;break}b=v+44|0;Pj(b);if(e&8192|0){e=_g(b,c[z>>2]|0)|0;if(e|0){f=a;break}f=a;e=Nn(c[C>>2]|0,v,c[A>>2]|0,c[B>>2]|0)|0;break}if((c[v+4>>2]|0)==1){r=Uj(c[v>>2]|0,1,0,c[f>>2]|0,c[q>>2]|0,c[r>>2]|0)|0;e=Pg(c[z>>2]|0,r,b,0,0)|0;Yj(r)}else e=_g(b,c[z>>2]|0)|0;if(e|0){f=a;break}b=c[C>>2]|0;do if(b|0){if(!(c[b+12>>2]&4))break;e=lk(c[s>>2]|0)|0;b=wl(c[C>>2]|0,t)|0;b=Sk(u,5,b,((c[t>>2]|0)+7|0)>>>3,0)|0;if(!b){b=c[t>>2]|0;if(b>>>0>e>>>0){t=c[u>>2]|0;sk(t,t,b-e|0)}b=Ln(c[u>>2]|0,v,c[A>>2]|0,c[B>>2]|0)|0;Jl(c[u>>2]|0)}f=a;e=b;break a}while(0);f=a;e=Ln(b,v,c[A>>2]|0,c[B>>2]|0)|0}else{f=a;e=68}}else f=0}else{f=0;e=70}}else f=0}else f=0}else f=0;while(0);Jl(c[v+8>>2]|0);Jl(c[v+12>>2]|0);Jl(c[v+16>>2]|0);Jl(c[y>>2]|0);Rj(v+20|0);Jl(c[v+32>>2]|0);Jl(c[v+36>>2]|0);Jl(c[z>>2]|0);Rj(v+44|0);Jl(c[C>>2]|0);Jl(c[A>>2]|0);Jl(c[B>>2]|0);cf(f);sf(c[x>>2]|0);Kh(w);if(!(nf(1)|0)){D=e;l=E;return D|0}if(!e)b=47183;else b=Pn(e)|0;c[D>>2]=b;Oe(47188,D);D=e;l=E;return D|0}function Fm(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;if((l|0)>=(m|0))$(16);e=f;c[e>>2]=0;b=uf(a,46949,1)|0;if(!b){a=uf(a,46925,5)|0;if((a|0)!=0?(d=zf(a,1)|0,sf(a),(d|0)!=0):0){if(Eg(0,d,0,e)|0)c[e>>2]=0;cf(d);a=c[e>>2]|0}else a=0}else{a=Af(b,1,5)|0;sf(b);if(!a)a=0;else{d=lk(a)|0;c[e>>2]=d;Jl(a);a=d}}l=f;return a|0}function Gm(a,b,c){a=a|0;b=b|0;c=c|0;return ((a|0)==18?0:4)|0}function Hm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=l;l=l+176|0;if((l|0)>=(m|0))$(176);E=G+88|0;D=G+80|0;i=G+72|0;h=G+64|0;q=G+32|0;p=G;F=G+112|0;w=G+108|0;r=G+104|0;y=G+100|0;B=G+140|0;C=G+96|0;c[w>>2]=0;c[r>>2]=0;c[y>>2]=0;c[F>>2]=0;c[F+4>>2]=0;c[F+8>>2]=0;c[F+12>>2]=0;c[F+16>>2]=0;c[F+20>>2]=0;c[F+24>>2]=0;g=uf(d,46885,0)|0;do if(g){e=Eh(g,w,0)|0;if(!e){n=c[w>>2]|0;o=(n&4096|0)!=0;if(!(n&512)){e=F+24|0;if(!o){j=10;break}c[h>>2]=e;c[h+4>>2]=0;e=If(d,0,46920,h)|0;j=11;break}e=F+4|0;h=F+8|0;i=F+12|0;j=F+16|0;k=F+20|0;n=F+24|0;if(o){c[p>>2]=F;c[p+4>>2]=e;c[p+8>>2]=h;c[p+12>>2]=i;c[p+16>>2]=j;c[p+20>>2]=k;c[p+24>>2]=n;c[p+28>>2]=0;e=If(d,0,46891,p)|0;j=11;break}else{c[q>>2]=F;c[q+4>>2]=e;c[q+8>>2]=h;c[q+12>>2]=i;c[q+16>>2]=j;c[q+20>>2]=k;c[q+24>>2]=n;c[q+28>>2]=0;e=If(d,0,46906,q)|0;j=11;break}}else f=0}else{e=F+24|0;j=10}while(0);if((j|0)==10){c[i>>2]=e;c[i+4>>2]=0;e=If(d,0,46923,i)|0;j=11}a:do if((j|0)==11)if(!e){sf(g);g=uf(d,46925,5)|0;if((g|0)!=0?(f=zf(g,1)|0,(f|0)!=0):0){e=Fg(f,r,y,F,F+4|0,F+8|0,F+12|0,F+16|0,F+20|0)|0;if(!e)e=F;else break}else{f=c[w>>2]|0;c[r>>2]=f>>>11&2;c[y>>2]=f>>>12&1;f=0;e=F}e=c[e>>2]|0;if(((((((e|0)!=0?(kk(e),x=c[F+4>>2]|0,(x|0)!=0):0)?(kk(x),A=c[F+8>>2]|0,(A|0)!=0):0)?(kk(A),s=c[F+12>>2]|0,(s|0)!=0):0)?(kk(s),t=c[F+16>>2]|0,(t|0)!=0):0)?(kk(t),u=c[F+20>>2]|0,(u|0)!=0):0)?(kk(u),z=F+24|0,v=c[z>>2]|0,(v|0)!=0):0){kk(v);if(c[w>>2]&4096|0){if((c[y>>2]|0)!=1){e=69;break}e=Ng(c[z>>2]|0,256)|0;if(e|0)break}h=0;while(1){if((h|0)==5){h=6;continue}e=c[F+(h<<2)>>2]|0;if((e|0)!=0?(c[e+12>>2]&4|0)!=0:0){A=wl(e,C)|0;z=((c[C>>2]|0)+7|0)>>>3;c[C>>2]=z;c[D>>2]=a[46931+h>>0];c[D+4>>2]=z;lp(B,30,46938,D)|0;lh(b,B,Fo(B)|0);lh(b,A,c[C>>2]|0);lh(b,46947,1)}else{e=Ok(e,0,C,0)|0;if(!e)break;A=c[C>>2]|0;c[E>>2]=a[46931+h>>0];c[E+4>>2]=A;lp(B,30,46938,E)|0;lh(b,B,Fo(B)|0);lh(b,e,c[C>>2]|0);lh(b,46947,1);cf(e)}h=h+1|0;if((h|0)>=7){e=0;break a}}e=Sn()|0}else e=68}else f=0;while(0);cf(f);sf(g);Jl(c[F>>2]|0);Jl(c[F+4>>2]|0);Jl(c[F+8>>2]|0);Jl(c[F+12>>2]|0);Jl(c[F+16>>2]|0);Jl(c[F+20>>2]|0);Jl(c[F+24>>2]|0);l=G;return e|0}function Im(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;k=l;l=l+1008|0;if((l|0)>=(m|0))$(1008);j=k;h=k+8|0;if((sh(a)|0)!=(g|0)){j=49658;l=k;return j|0}if(eh(j,a,0)|0){j=49699;l=k;return j|0}switch(b|0){case 0:{lh(c[j>>2]|0,d,e);i=8;break}case 1:{Yq(h|0,97,1e3)|0;b=0;do{lh(c[j>>2]|0,h,1e3);b=b+1|0}while((b|0)!=1e3);i=8;break}default:b=49641}if((i|0)==8){b=(Tp(ph(c[j>>2]|0,a)|0,f,g)|0)==0;b=b?0:49625}kh(c[j>>2]|0);j=b;l=k;return j|0}function Jm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=b+148|0;j=c[h>>2]|0;if(j>>>0>128)He(49719,112,49733);i=b+152|0;g=c[i>>2]|0;if(!g)return;k=b+144|0;f=c[k>>2]|0;if((f|0)==(j|0)){Te(pb[g&63](b,b,1)|0);c[k>>2]=0;l=b+128|0;f=l;f=_q(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;g=D;c[l>>2]=f;c[l+4>>2]=g;if((f|0)==0&(g|0)==0){f=b+136|0;l=f;l=_q(c[l>>2]|0,c[l+4>>2]|0,1,0)|0;c[f>>2]=l;c[f+4>>2]=D;f=0}else f=0}if(!d)return;a:do if(f){b:do if(e|0){if(f>>>0<j>>>0)do{l=a[d>>0]|0;c[k>>2]=f+1;a[b+f>>0]=l;e=e+-1|0;if(!e)break b;d=d+1|0;f=c[k>>2]|0}while(f>>>0<j>>>0);g=c[h>>2]|0;if(g>>>0>128)He(49719,112,49733);h=c[i>>2]|0;if(!((f|0)==(g|0)&(h|0)!=0))break a;Te(pb[h&63](b,b,1)|0);c[k>>2]=0;g=b+128|0;h=g;h=_q(c[h>>2]|0,c[h+4>>2]|0,1,0)|0;l=D;c[g>>2]=h;c[g+4>>2]=l;if(!((h|0)==0&(l|0)==0))break a;l=b+136|0;h=l;h=_q(c[h>>2]|0,c[h+4>>2]|0,1,0)|0;c[l>>2]=h;c[l+4>>2]=D;break a}while(0);e=c[h>>2]|0;if(e>>>0>128)He(49719,112,49733);d=c[i>>2]|0;if(!d)return;if((c[k>>2]|0)!=(e|0))return;Te(pb[d&63](b,b,1)|0);c[k>>2]=0;j=b+128|0;k=j;k=_q(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;l=D;c[j>>2]=k;c[j+4>>2]=l;if(!((k|0)==0&(l|0)==0))return;l=b+136|0;k=l;k=_q(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;c[l>>2]=k;c[l+4>>2]=D;return}while(0);if(e>>>0<j>>>0)f=0;else{l=(e>>>0)/(j>>>0)|0;f=pb[c[i>>2]&63](b,d,l)|0;c[k>>2]=0;i=b+128|0;g=i;g=_q(c[g>>2]|0,c[g+4>>2]|0,l|0,0)|0;h=D;m=b+136|0;n=m;n=_q((h>>>0<0|(h|0)==0&g>>>0<l>>>0)&1|0,0,c[n>>2]|0,c[n+4>>2]|0)|0;c[m>>2]=n;c[m+4>>2]=D;c[i>>2]=g;c[i+4>>2]=h;l=S(l,j)|0;e=e-l|0;d=d+l|0}Te(f);if(!e)return;while(1){f=c[k>>2]|0;if(f>>>0>=j>>>0){d=29;break}n=a[d>>0]|0;c[k>>2]=f+1;a[b+f>>0]=n;e=e+-1|0;if(!e){d=29;break}else d=d+1|0}if((d|0)==29)return}function Km(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=b+3|0;q=q+(0-(q&3))|0;r=b+84|0;p=c[c[r>>2]>>2]|0;s=b+88|0;f=c[s>>2]|0;do if(f){o=p-f|0;o=o>>>0>e>>>0?e:o;g=b+68+f|0;if(!((g|d)&3))if(o>>>0>3){l=o+-4|0;m=l&-4;n=m+4|0;h=d+n|0;i=d;j=g;k=o;while(1){c[j>>2]=c[i>>2];k=k+-4|0;if(k>>>0<=3)break;else{i=i+4|0;j=j+4|0}}i=l-m|0;g=g+n|0}else{i=o;h=d}else{h=d;i=o}if(i){f=i;while(1){a[g>>0]=a[h>>0]|0;f=f+-1|0;if(!f)break;else{h=h+1|0;g=g+1|0}}f=c[s>>2]|0}n=f+o|0;c[s>>2]=n;if(n>>>0<p>>>0)return;else{g=pb[c[(c[r>>2]|0)+8>>2]&63](q,b+68|0,p)|0;c[s>>2]=0;d=d+o|0;f=e-o|0;break}}else{f=e;g=0}while(0);i=f&0-p;if(f>>>0<p>>>0){h=d;o=f;n=g}else{h=d+i|0;o=f-i|0;n=pb[c[(c[r>>2]|0)+8>>2]&63](q,d,i)|0}if(o|0){f=c[s>>2]|0;g=b+68+f|0;if(o>>>0>3&((g|h)&3|0)==0){j=o+-4|0;k=j&-4;m=k+4|0;l=h+m|0;i=g;d=o;while(1){c[i>>2]=c[h>>2];d=d+-4|0;if(d>>>0<=3)break;else{h=h+4|0;i=i+4|0}}i=j-k|0;if(i){h=l;g=g+m|0;f=i;t=20}}else{f=o;t=20}if((t|0)==20){while(1){a[g>>0]=a[h>>0]|0;f=f+-1|0;if(!f)break;else{h=h+1|0;g=g+1|0;t=20}}f=c[s>>2]|0}c[s>>2]=f+o}if(!n)return;Te(n);return}function Lm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=l;l=l+624|0;if((l|0)>=(m|0))$(624);H=J+96|0;C=J;o=J+228|0;D=J+136|0;E=J+592|0;F=J+336|0;G=J+320|0;g=J+104|0;if(!(c[17642]|0)){c[17642]=1;f=o;B=f+92|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(B|0));f=D;B=f+92|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(B|0));f=G;B=f+16|0;do{a[f>>0]=0;f=f+1|0}while((f|0)<(B|0));f=C;B=f+92|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(B|0));Lm(C,49754,32)|0;Km(C,49786,131);B=C+3|0;Te(wb[c[(c[C+84>>2]|0)+12>>2]&3](B+(0-(B&3))|0,C+68|0,c[C+88>>2]|0,G)|0);if(C&4){f=C;h=92;do{a[f>>0]=0;f=f+1|0;h=h+-1|0}while((h|0)!=0&(f&7|0)!=0);if(h>>>0>=8)I=5}else{f=C;h=92;I=5}if((I|0)==5){k=h+-8|0;n=k&-8;j=n+8|0;i=f;while(1){B=i;c[B>>2]=0;c[B+4>>2]=0;h=h+-8|0;if(h>>>0<=7)break;else i=i+8|0}f=f+j|0;h=k-n|0}if(h|0)while(1){a[f>>0]=0;h=h+-1|0;if(!h)break;else f=f+1|0}if(!(Tp(49917,G,16)|0)){f=G;B=f+16|0;do{a[f>>0]=0;f=f+1|0}while((f|0)<(B|0));Lm(o,49754,32)|0;Km(o,49786,32);Km(o,49818,64);Km(o,49882,16);Km(o,49898,8);Km(o,49906,4);Km(o,49910,2);Km(o,49912,1);Km(o,49913,1);Km(o,49914,1);Km(o,49915,1);Km(o,49916,1);B=o+3|0;Te(wb[c[(c[o+84>>2]|0)+12>>2]&3](B+(0-(B&3))|0,o+68|0,c[o+88>>2]|0,G)|0);if(!(Tp(49917,G,16)|0)){f=G;B=f+16|0;do{a[f>>0]=0;f=f+1|0}while((f|0)<(B|0));f=C;B=f+92|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(B|0));Lm(C,49933,32)|0;Km(C,49965,16);B=C+3|0;Te(wb[c[(c[C+84>>2]|0)+12>>2]&3](B+(0-(B&3))|0,C+68|0,c[C+88>>2]|0,G)|0);if(C&4){f=C;h=92;do{a[f>>0]=0;f=f+1|0;h=h+-1|0}while((h|0)!=0&(f&7|0)!=0);if(h>>>0>=8)I=15}else{f=C;h=92;I=15}if((I|0)==15){k=h+-8|0;n=k&-8;j=n+8|0;i=f;while(1){B=i;c[B>>2]=0;c[B+4>>2]=0;h=h+-8|0;if(h>>>0<=7)break;else i=i+8|0}f=f+j|0;h=k-n|0}if(h|0)while(1){a[f>>0]=0;h=h+-1|0;if(!h)break;else f=f+1|0}if(!(Tp(49981,G,16)|0)){Lm(D,49997,32)|0;h=C+3|0;h=h+(0-(h&3))|0;i=C+84|0;j=C+68|0;k=C+88|0;n=C+8|0;o=C+16|0;p=C+24|0;q=C+32|0;r=C+40|0;s=C+48|0;t=C+56|0;u=C+64|0;v=C+72|0;w=C+80|0;x=k+1|0;y=k+2|0;z=k+3|0;A=0;do{f=A&255;Yq(E|0,f|0,32)|0;if(A|0)Yq(F|0,f|0,A|0)|0;f=C;B=f+92|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(B|0));Lm(C,E,32)|0;Km(C,F,A);Te(wb[c[(c[i>>2]|0)+12>>2]&3](h,j,c[k>>2]|0,G)|0);B=C;c[B>>2]=0;c[B+4>>2]=0;B=n;c[B>>2]=0;c[B+4>>2]=0;B=o;c[B>>2]=0;c[B+4>>2]=0;B=p;c[B>>2]=0;c[B+4>>2]=0;B=q;c[B>>2]=0;c[B+4>>2]=0;B=r;c[B>>2]=0;c[B+4>>2]=0;B=s;c[B>>2]=0;c[B+4>>2]=0;B=t;c[B>>2]=0;c[B+4>>2]=0;B=u;c[B>>2]=0;c[B+4>>2]=0;B=v;c[B>>2]=0;c[B+4>>2]=0;B=w;c[B>>2]=0;c[B+4>>2]=0;a[k>>0]=0;a[x>>0]=0;a[y>>0]=0;a[z>>0]=0;Km(D,G,16);A=A+1|0}while((A|0)!=256);f=D+3|0;Te(wb[c[(c[D+84>>2]|0)+12>>2]&3](f+(0-(f&3))|0,D+68|0,c[D+88>>2]|0,G)|0);f=(Tp(50029,G,16)|0)==0;f=f?0:50045}else f=50117}else f=50093}else f=50069;c[17643]=f;if(f|0){c[H>>2]=f;Le(50141,H)}}if((e|0)!=32){I=44;l=J;return I|0}if(c[17643]|0){I=50;l=J;return I|0}f=b+84|0;c[f>>2]=12580;if(!(d&3)){c[g>>2]=c[d>>2];c[g+4>>2]=c[d+4>>2];c[g+8>>2]=c[d+8>>2];c[g+12>>2]=c[d+12>>2];c[g+16>>2]=c[d+16>>2];c[g+20>>2]=c[d+20>>2];c[g+24>>2]=c[d+24>>2];c[g+28>>2]=c[d+28>>2];f=12580}else{a[g>>0]=a[d>>0]|0;a[g+1>>0]=a[d+1>>0]|0;a[g+2>>0]=a[d+2>>0]|0;a[g+3>>0]=a[d+3>>0]|0;a[g+4>>0]=a[d+4>>0]|0;a[g+5>>0]=a[d+5>>0]|0;a[g+6>>0]=a[d+6>>0]|0;a[g+7>>0]=a[d+7>>0]|0;a[g+8>>0]=a[d+8>>0]|0;a[g+9>>0]=a[d+9>>0]|0;a[g+10>>0]=a[d+10>>0]|0;a[g+11>>0]=a[d+11>>0]|0;a[g+12>>0]=a[d+12>>0]|0;a[g+13>>0]=a[d+13>>0]|0;a[g+14>>0]=a[d+14>>0]|0;a[g+15>>0]=a[d+15>>0]|0;a[g+16>>0]=a[d+16>>0]|0;a[g+17>>0]=a[d+17>>0]|0;a[g+18>>0]=a[d+18>>0]|0;a[g+19>>0]=a[d+19>>0]|0;a[g+20>>0]=a[d+20>>0]|0;a[g+21>>0]=a[d+21>>0]|0;a[g+22>>0]=a[d+22>>0]|0;a[g+23>>0]=a[d+23>>0]|0;a[g+24>>0]=a[d+24>>0]|0;a[g+25>>0]=a[d+25>>0]|0;a[g+26>>0]=a[d+26>>0]|0;a[g+27>>0]=a[d+27>>0]|0;a[g+28>>0]=a[d+28>>0]|0;a[g+29>>0]=a[d+29>>0]|0;a[g+30>>0]=a[d+30>>0]|0;a[g+31>>0]=a[d+31>>0]|0;f=c[f>>2]|0}d=b+3|0;c[b+88>>2]=0;sb[c[f+4>>2]&7](d+(0-(d&3))|0,g);if(g&4){f=32;do{a[g>>0]=0;g=g+1|0;f=f+-1|0}while((f|0)!=0&(g&7|0)!=0);if(f>>>0>=8)I=36}else{f=32;I=36}if((I|0)==36){i=f+-8|0;j=i&-8;k=j+8|0;h=g;while(1){I=h;c[I>>2]=0;c[I+4>>2]=0;f=f+-8|0;if(f>>>0<=7)break;else h=h+8|0}f=i-j|0;g=g+k|0}if(!f){I=0;l=J;return I|0}while(1){a[g>>0]=0;f=f+-1|0;if(!f){f=0;break}else g=g+1|0}l=J;return f|0}function Mm(b,e){b=b|0;e=e|0;var f=0,g=0;f=e+3|0;c[b>>2]=(d[e+2>>0]|0)<<16|(d[f>>0]|0)<<24&50331648|(d[e+1>>0]|0)<<8|(d[e>>0]|0);g=e+6|0;c[b+4>>2]=((d[e+5>>0]|0)<<16|(d[g>>0]|0)<<24|(d[e+4>>0]|0)<<8|(d[f>>0]|0))>>>2&67108611;f=e+9|0;c[b+8>>2]=((d[e+8>>0]|0)<<16|(d[f>>0]|0)<<24|(d[e+7>>0]|0)<<8|(d[g>>0]|0))>>>4&67092735;c[b+12>>2]=((d[e+11>>0]|0)<<16|(d[e+12>>0]|0)<<24|(d[e+10>>0]|0)<<8|(d[f>>0]|0))>>>6&66076671;c[b+16>>2]=(d[e+14>>0]|0)<<8|(d[e+15>>0]|0)<<16&983040|(d[e+13>>0]|0);f=b+20|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[b+40>>2]=(d[e+18>>0]|0)<<16|(d[e+19>>0]|0)<<24|(d[e+17>>0]|0)<<8|(d[e+16>>0]|0);c[b+44>>2]=(d[e+22>>0]|0)<<16|(d[e+23>>0]|0)<<24|(d[e+21>>0]|0)<<8|(d[e+20>>0]|0);c[b+48>>2]=(d[e+26>>0]|0)<<16|(d[e+27>>0]|0)<<24|(d[e+25>>0]|0)<<8|(d[e+24>>0]|0);c[b+52>>2]=(d[e+30>>0]|0)<<16|(d[e+31>>0]|0)<<24|(d[e+29>>0]|0)<<8|(d[e+28>>0]|0);a[b+56>>0]=0;return}function Nm(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0;t=a[b+56>>0]|0?0:16777216;u=c[b+4>>2]|0;m=c[b+8>>2]|0;n=c[b+12>>2]|0;o=c[b+16>>2]|0;v=b+20|0;k=c[v>>2]|0;w=b+24|0;j=c[w>>2]|0;x=b+28|0;i=c[x>>2]|0;y=b+32|0;h=c[y>>2]|0;z=b+36|0;g=c[z>>2]|0;if(f>>>0<=15){q=k;r=j;s=i;t=h;u=g;c[v>>2]=q;c[w>>2]=r;c[x>>2]=s;c[y>>2]=t;c[z>>2]=u;return 124}p=o*5|0;q=n*5|0;r=m*5|0;s=u*5|0;l=c[b>>2]|0;b=e;while(1){I=d[b+3>>0]|0;A=(d[b+2>>0]<<16|I<<24&50331648|d[b+1>>0]<<8|d[b>>0])+k|0;G=d[b+6>>0]|0;I=((G<<24|I|d[b+5>>0]<<16|d[b+4>>0]<<8)>>>2&67108863)+j|0;F=d[b+9>>0]|0;G=((d[b+8>>0]<<16|F<<24|d[b+7>>0]<<8|G)>>>4&67108863)+i|0;F=((d[b+11>>0]<<16|d[b+12>>0]<<24|d[b+10>>0]<<8|F)>>>6)+h|0;k=(d[b+15>>0]<<16|t|d[b+14>>0]<<8|d[b+13>>0])+g|0;j=kr(A|0,0,l|0,0)|0;i=D;e=kr(I|0,0,p|0,0)|0;i=_q(e|0,D|0,j|0,i|0)|0;j=D;e=kr(G|0,0,q|0,0)|0;e=_q(i|0,j|0,e|0,D|0)|0;j=D;i=kr(F|0,0,r|0,0)|0;i=_q(e|0,j|0,i|0,D|0)|0;j=D;e=kr(k|0,0,s|0,0)|0;e=_q(i|0,j|0,e|0,D|0)|0;j=D;i=kr(A|0,0,u|0,0)|0;h=D;E=kr(I|0,0,l|0,0)|0;h=_q(E|0,D|0,i|0,h|0)|0;i=D;E=kr(G|0,0,p|0,0)|0;E=_q(h|0,i|0,E|0,D|0)|0;i=D;h=kr(F|0,0,q|0,0)|0;h=_q(E|0,i|0,h|0,D|0)|0;i=D;E=kr(k|0,0,r|0,0)|0;E=_q(h|0,i|0,E|0,D|0)|0;i=D;h=kr(A|0,0,m|0,0)|0;g=D;C=kr(I|0,0,u|0,0)|0;g=_q(C|0,D|0,h|0,g|0)|0;h=D;C=kr(G|0,0,l|0,0)|0;C=_q(g|0,h|0,C|0,D|0)|0;h=D;g=kr(F|0,0,p|0,0)|0;g=_q(C|0,h|0,g|0,D|0)|0;h=D;C=kr(k|0,0,q|0,0)|0;C=_q(g|0,h|0,C|0,D|0)|0;h=D;g=kr(A|0,0,n|0,0)|0;H=D;B=kr(I|0,0,m|0,0)|0;H=_q(B|0,D|0,g|0,H|0)|0;g=D;B=kr(G|0,0,u|0,0)|0;B=_q(H|0,g|0,B|0,D|0)|0;g=D;H=kr(F|0,0,l|0,0)|0;H=_q(B|0,g|0,H|0,D|0)|0;g=D;B=kr(k|0,0,p|0,0)|0;B=_q(H|0,g|0,B|0,D|0)|0;g=D;A=kr(A|0,0,o|0,0)|0;H=D;I=kr(I|0,0,n|0,0)|0;H=_q(I|0,D|0,A|0,H|0)|0;A=D;G=kr(G|0,0,m|0,0)|0;G=_q(H|0,A|0,G|0,D|0)|0;A=D;F=kr(F|0,0,u|0,0)|0;F=_q(G|0,A|0,F|0,D|0)|0;A=D;k=kr(k|0,0,l|0,0)|0;k=_q(F|0,A|0,k|0,D|0)|0;A=D;j=gr(e|0,j|0,26)|0;j=_q(E|0,i|0,j|0,0)|0;i=gr(j|0,D|0,26)|0;i=_q(C|0,h|0,i|0,0)|0;h=gr(i|0,D|0,26)|0;i=i&67108863;h=_q(B|0,g|0,h|0,0)|0;g=gr(h|0,D|0,26)|0;h=h&67108863;g=_q(k|0,A|0,g|0,0)|0;A=gr(g|0,D|0,26)|0;g=g&67108863;A=A*5|0;k=A+e&67108863;j=((A+(e&67108863)|0)>>>26)+(j&67108863)|0;f=f+-16|0;if(f>>>0<=15)break;else b=b+16|0}c[v>>2]=k;c[w>>2]=j;c[x>>2]=i;c[y>>2]=h;c[z>>2]=g;return 124}function Om(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;i=l;l=l+16|0;if((l|0)>=(m|0))$(16);g=i;if(!e)d=100;else{h=g;j=h+16|0;do{a[h>>0]=0;h=h+1|0}while((h|0)<(j|0));cr(g|0,d|0,e|0)|0;a[g+e>>0]=1;a[b+56>>0]=1;Nm(b,g,16)|0;d=224}j=c[b+24>>2]|0;t=(c[b+28>>2]|0)+(j>>>26)|0;h=t&67108863;r=(t>>>26)+(c[b+32>>2]|0)|0;q=r&67108863;k=(r>>>26)+(c[b+36>>2]|0)|0;g=((k>>>26)*5|0)+(c[b+20>>2]|0)|0;e=g&67108863;j=(g>>>26)+(j&67108863)|0;v=((e+5|0)>>>26)+j|0;u=v>>>26;s=(u+h|0)>>>26;o=(k|-67108864)+((s+q|0)>>>26)|0;p=(o>>>31)+-1|0;n=o>>31;j=v&67108863&p|n&j;h=u+t&67108863&p|n&h;q=s+r&67108863&p|n&q;e=_q(g+5&67108863&p|n&e|j<<26|0,0,c[b+40>>2]|0,0)|0;g=D;j=_q(j>>>6|h<<20|0,0,c[b+44>>2]|0,0)|0;g=_q(j|0,D|0,g|0,0)|0;j=D;h=_q(h>>>12|q<<14|0,0,c[b+48>>2]|0,0)|0;j=_q(h|0,D|0,j|0,0)|0;h=D;k=_q(q>>>18|(p&o|n&k)<<8|0,0,c[b+52>>2]|0,0)|0;h=_q(k|0,D|0,h|0,0)|0;a[f+3>>0]=e>>>24;a[f+2>>0]=e>>>16;a[f+1>>0]=e>>>8;a[f>>0]=e;a[f+7>>0]=g>>>24;a[f+6>>0]=g>>>16;a[f+5>>0]=g>>>8;a[f+4>>0]=g;a[f+11>>0]=j>>>24;a[f+10>>0]=j>>>16;a[f+9>>0]=j>>>8;a[f+8>>0]=j;a[f+15>>0]=h>>>24;a[f+14>>0]=h>>>16;a[f+13>>0]=h>>>8;a[f+12>>0]=h;h=b;j=h+56|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(j|0));l=i;return d|0}function Pm(a){a=a|0;if(a|0){Qm();return}if(c[17644]|0)return;c[17644]=1;return}function Qm(){var a=0,b=0,d=0,e=0,f=0;f=l;l=l+32|0;if((l|0)>=(m|0))$(32);e=f+16|0;d=f+8|0;b=f;if(!(c[17644]|0))c[17644]=1;a=Vn(12596)|0;if(a|0){c[b>>2]=Pn(a)|0;Me(50172,b)}c[17645]=1;do if(!(c[17646]|0)){if(!(c[17647]|0))a=kf(1,664)|0;else a=lf(1,664)|0;c[17646]=a;if(!(c[17647]|0))a=kf(1,664)|0;else a=lf(1,664)|0;c[17648]=a;if(vq(52444,4)|0){b=ze(50209)|0;Me(b,d)}if(!(vq(52456,4)|0)){c[17649]=3;break}else{b=ze(50209)|0;Me(b,d)}}while(0);c[17645]=0;a=Wn(12596)|0;if(!a){l=f;return}else{c[e>>2]=Pn(a)|0;Me(50247,e)}}function Rm(){var a=0,b=0,d=0,e=0;e=l;l=l+16|0;if((l|0)>=(m|0))$(16);d=e+8|0;b=e;a=Vn(12596)|0;if(a|0){c[b>>2]=Pn(a)|0;Me(50172,b)}c[17645]=1;Dn(0,0,0,0)|0;c[17650]=0;c[17645]=0;a=Wn(12596)|0;if(!a){l=e;return}else{c[d>>2]=Pn(a)|0;Me(50247,d)}}function Sm(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0;a=l;l=l+48|0;if((l|0)>=(m|0))$(48);b=a;p=c[17651]|0;o=c[17652]|0;n=c[17653]|0;k=c[17654]|0;j=c[17655]|0;i=c[17656]|0;h=c[17657]|0;g=c[17658]|0;f=c[17659]|0;e=c[17660]|0;d=(An()|0)!=0;c[b>>2]=600;c[b+4>>2]=p;c[b+8>>2]=o;c[b+12>>2]=n;c[b+16>>2]=k;c[b+20>>2]=j;c[b+24>>2]=i;c[b+28>>2]=h;c[b+32>>2]=g;c[b+36>>2]=f;c[b+40>>2]=e;c[b+44>>2]=d?50284:71847;Je(50300,b);l=a;return}function Tm(){c[17647]=1;return}function Um(){c[17661]=1;return}function Vm(a){a=a|0;return}function Wm(a){a=a|0;return 0}function Xm(){Qm();return c[17661]|0}function Ym(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0;o=l;l=l+192|0;if((l|0)>=(m|0))$(192);j=o;k=b+600|0;if(!(c[17645]|0))Ie(50424,50439,615,50455);si(j);f=k;d=b+580|0;e=f+20|0;do{a[f>>0]=a[d>>0]|0;f=f+1|0;d=d+1|0}while((f|0)<(e|0));n=b+620|0;f=n;d=b;e=f+44|0;do{a[f>>0]=a[d>>0]|0;f=f+1|0;d=d+1|0}while((f|0)<(e|0));ti(j,k);f=b;d=k;e=f+20|0;do{a[f>>0]=a[d>>0]|0;f=f+1|0;d=d+1|0}while((f|0)<(e|0));if((c[17664]|0)!=0&(c[17646]|0)==(b|0)){a[b>>0]=a[b>>0]^a[71826];g=b+1|0;a[g>>0]=a[g>>0]^a[71827];g=b+2|0;a[g>>0]=a[g>>0]^a[71828];g=b+3|0;a[g>>0]=a[g>>0]^a[71829];g=b+4|0;a[g>>0]=a[g>>0]^a[71830];g=b+5|0;a[g>>0]=a[g>>0]^a[71831];g=b+6|0;a[g>>0]=a[g>>0]^a[71832];g=b+7|0;a[g>>0]=a[g>>0]^a[71833];g=b+8|0;a[g>>0]=a[g>>0]^a[71834];g=b+9|0;a[g>>0]=a[g>>0]^a[71835];g=b+10|0;a[g>>0]=a[g>>0]^a[71836];g=b+11|0;a[g>>0]=a[g>>0]^a[71837];g=b+12|0;a[g>>0]=a[g>>0]^a[71838];g=b+13|0;a[g>>0]=a[g>>0]^a[71839];g=b+14|0;a[g>>0]=a[g>>0]^a[71840];g=b+15|0;a[g>>0]=a[g>>0]^a[71841];g=b+16|0;a[g>>0]=a[g>>0]^a[71842];g=b+17|0;a[g>>0]=a[g>>0]^a[71843];g=b+18|0;a[g>>0]=a[g>>0]^a[71844];g=b+19|0;a[g>>0]=a[g>>0]^a[71845];g=1;h=0}else{g=1;h=0}do{f=k;d=b+h|0;e=f+20|0;do{a[f>>0]=a[d>>0]|0;f=f+1|0;d=d+1|0}while((f|0)<(e|0));f=h;h=h+20|0;i=b+h|0;d=f+40|0;if((f+104|0)<600){f=n;d=b+d|0;e=f+44|0;do{a[f>>0]=a[d>>0]|0;f=f+1|0;d=d+1|0}while((f|0)<(e|0))}else{e=20;while(1){d=(d|0)>599?0:d;a[k+e>>0]=a[b+d>>0]|0;e=e+1|0;if((e|0)==64)break;else d=d+1|0}}ti(j,k);f=i;d=k;e=f+20|0;do{a[f>>0]=a[d>>0]|0;f=f+1|0;d=d+1|0}while((f|0)<(e|0));g=g+1|0}while((g|0)!=30);if((c[17646]|0)!=(b|0)){Te(384);l=o;return}ui(71826,b,600);c[17664]=1;Te(384);l=o;return}function Zm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;N=l;l=l+832|0;if((l|0)>=(m|0))$(832);M=N+136|0;K=N+128|0;J=N+120|0;I=N+112|0;H=N+104|0;G=N+96|0;F=N+88|0;E=N+80|0;D=N+72|0;L=N+64|0;y=N+56|0;x=N+48|0;w=N+40|0;B=N+32|0;A=N+24|0;z=N+16|0;C=N+8|0;f=N;t=N+144|0;u=N+224|0;v=N+140|0;Qm();g=e>>>0>1&(c[17661]|0)!=0?1:e&3;e=Vn(12596)|0;if(e|0){c[f>>2]=Pn(e)|0;Me(50172,f)}c[17645]=1;if(g>>>0>1){c[17660]=(c[17660]|0)+d;c[17659]=(c[17659]|0)+1}else{c[17658]=(c[17658]|0)+d;c[17657]=(c[17657]|0)+1}a:do if(d|0){p=t+12|0;q=t+36|0;r=(g|0)!=2;o=(g|0)==2;n=d;k=d>>>0>600?600:d;b:while(1){j=b;i=k;while(1){c[v>>2]=qq()|0;if((c[3160]|0)==-1)c[3160]=c[v>>2];if((c[3160]|0)!=(c[v>>2]|0)){c[3160]=c[v>>2];d=c[3160]|0;if(!(c[17645]|0)){f=14;break b}c[17655]=(c[17655]|0)+4;c[17654]=(c[17654]|0)+1;h=c[17662]|0;f=h+1|0;c[17662]=f;e=c[17646]|0;h=e+h|0;a[h>>0]=a[h>>0]^d&255;if(f>>>0>599){c[17662]=0;Ym(e);c[17651]=(c[17651]|0)+1;c[17663]=0;f=c[17662]|0;e=c[17646]|0}g=f+1|0;c[17662]=g;h=e+f|0;a[h>>0]=a[h>>0]^d>>>8&255;if(g>>>0>599){c[17662]=0;Ym(e);c[17651]=(c[17651]|0)+1;c[17663]=0;f=c[17662]|0;e=c[17646]|0}else f=g;h=f+1|0;c[17662]=h;g=e+f|0;a[g>>0]=a[g>>0]^d>>>16&255;if(h>>>0>599){c[17662]=0;Ym(e);c[17651]=(c[17651]|0)+1;c[17663]=0}g=c[17662]|0;h=g+1|0;c[17662]=h;e=c[17646]|0;g=e+g|0;a[g>>0]=a[g>>0]^d>>>24&255;if(h>>>0>599){c[17662]=0;Ym(e);c[17651]=(c[17651]|0)+1;c[17663]=1}c[17663]=0}if(!(c[17645]|0)){f=19;break b}if(i>>>0>600){f=21;break b}c:do if(!(c[17650]|0)){e=c[17665]|0;d:do if(e|0){f=Bq(e,0,z)|0;if((f|0)==-1){e=zo()|0;if((c[e>>2]|0)==2){c[17666]=1;break}else{h=ze(50521)|0;g=c[17665]|0;d=dp(c[e>>2]|0)|0;c[A>>2]=g;c[A+4>>2]=d;Je(h,A);break}}if(_m(f,c[17665]|0,0)|0){Up(f)|0;break}if(mq(f,t)|0){h=ze(50542)|0;g=c[17665]|0;d=dp(c[(zo()|0)>>2]|0)|0;c[B>>2]=g;c[B+4>>2]=d;Je(h,B);Up(f)|0;break}if((c[p>>2]&61440|0)!=32768){h=ze(50563)|0;c[w>>2]=c[17665];Je(h,w);Up(f)|0;break}switch(c[q>>2]|0){case 0:{Je(ze(50601)|0,x);Up(f)|0;c[17666]=1;break d}case 600:{e:while(1){switch(pq(f,u,600)|0){case 600:break e;case -1:break;default:{f=38;break b}}e=zo()|0;if((c[e>>2]|0)!=4){f=40;break b}}Up(f)|0;if(!(c[17645]|0)){f=42;break b}c[17655]=(c[17655]|0)+600;c[17654]=(c[17654]|0)+1;e=u;g=599;while(1){O=a[e>>0]|0;d=c[17662]|0;h=d+1|0;c[17662]=h;f=c[17646]|0;d=f+d|0;a[d>>0]=a[d>>0]^O;if(h>>>0>599){c[17662]=0;Ym(f);c[17651]=(c[17651]|0)+1;c[17663]=(g|0)==0&1}if(!g)break;else{e=e+1|0;g=g+-1|0}}d=qq()|0;if(!(c[17645]|0)){f=48;break b}c[17655]=(c[17655]|0)+4;c[17654]=(c[17654]|0)+1;O=c[17662]|0;e=O+1|0;c[17662]=e;f=c[17646]|0;O=f+O|0;a[O>>0]=a[O>>0]^d&255;if(e>>>0>599){c[17662]=0;Ym(f);c[17651]=(c[17651]|0)+1;c[17663]=0;e=c[17662]|0;f=c[17646]|0}g=e+1|0;c[17662]=g;O=f+e|0;a[O>>0]=a[O>>0]^d>>>8&255;if(g>>>0>599){c[17662]=0;Ym(f);c[17651]=(c[17651]|0)+1;c[17663]=0;g=c[17662]|0;e=c[17646]|0}else e=f;O=g+1|0;c[17662]=O;h=e+g|0;a[h>>0]=a[h>>0]^d>>>16&255;if(O>>>0>599){c[17662]=0;Ym(e);c[17651]=(c[17651]|0)+1;c[17663]=0}h=c[17662]|0;O=h+1|0;c[17662]=O;e=c[17646]|0;h=e+h|0;a[h>>0]=a[h>>0]^d>>>24&255;if(O>>>0>599){c[17662]=0;Ym(e);c[17651]=(c[17651]|0)+1;c[17663]=1}d=fb(0)|0;if(!(c[17645]|0)){f=52;break b}c[17655]=(c[17655]|0)+4;c[17654]=(c[17654]|0)+1;O=c[17662]|0;e=O+1|0;c[17662]=e;f=c[17646]|0;O=f+O|0;a[O>>0]=a[O>>0]^d&255;if(e>>>0>599){c[17662]=0;Ym(f);c[17651]=(c[17651]|0)+1;c[17663]=0;e=c[17662]|0;f=c[17646]|0}g=e+1|0;c[17662]=g;O=f+e|0;a[O>>0]=a[O>>0]^d>>>8&255;if(g>>>0>599){c[17662]=0;Ym(f);c[17651]=(c[17651]|0)+1;c[17663]=0;g=c[17662]|0;e=c[17646]|0}else e=f;O=g+1|0;c[17662]=O;h=e+g|0;a[h>>0]=a[h>>0]^d>>>16&255;if(O>>>0>599){c[17662]=0;Ym(e);c[17651]=(c[17651]|0)+1;c[17663]=0}h=c[17662]|0;O=h+1|0;c[17662]=O;e=c[17646]|0;h=e+h|0;a[h>>0]=a[h>>0]^d>>>24&255;if(O>>>0>599){c[17662]=0;Ym(e);c[17651]=(c[17651]|0)+1;c[17663]=1}d=Qa()|0;if(!(c[17645]|0)){f=56;break b}c[17655]=(c[17655]|0)+4;c[17654]=(c[17654]|0)+1;O=c[17662]|0;e=O+1|0;c[17662]=e;f=c[17646]|0;O=f+O|0;a[O>>0]=a[O>>0]^d&255;if(e>>>0>599){c[17662]=0;Ym(f);c[17651]=(c[17651]|0)+1;c[17663]=0;e=c[17662]|0;f=c[17646]|0}g=e+1|0;c[17662]=g;O=f+e|0;a[O>>0]=a[O>>0]^d>>>8&255;if(g>>>0>599){c[17662]=0;Ym(f);c[17651]=(c[17651]|0)+1;c[17663]=0;g=c[17662]|0;e=c[17646]|0}else e=f;O=g+1|0;c[17662]=O;h=e+g|0;a[h>>0]=a[h>>0]^d>>>16&255;if(O>>>0>599){c[17662]=0;Ym(e);c[17651]=(c[17651]|0)+1;c[17663]=0}h=c[17662]|0;O=h+1|0;c[17662]=O;e=c[17646]|0;h=e+h|0;a[h>>0]=a[h>>0]^d>>>24&255;if(O>>>0>599){c[17662]=0;Ym(e);c[17651]=(c[17651]|0)+1;c[17663]=1}if(!(c[17649]|0)){f=60;break b}if((Dn(3,0,16,0)|0)<0){f=62;break b}c[17666]=1;c[17650]=1;break c}default:{Je(ze(50634)|0,y);Up(f)|0;break d}}}while(0)}while(0);if(!(r|(c[17667]|0)!=0)){c[17668]=0;e=i>>>0<16?16:i;if(!(c[17649]|0)){f=85;break b}if((Dn(3,4,e,2)|0)<0){f=87;break b}c[17668]=(c[17668]|0)+e;c[17667]=1}if(o?(s=c[17668]|0,s>>>0<i>>>0):0){if((s|0)<0){c[17668]=0;e=0}else e=s;e=i-e|0;if(e>>>0>600){f=94;break b}if(!(c[17649]|0)){f=96;break b}if((Dn(3,4,e,2)|0)<0){f=98;break b}c[17668]=(c[17668]|0)+e}while(1){if(c[17650]|0)break;c[17652]=(c[17652]|0)+1;if(!(c[17649]|0)){f=102;break b}if((Dn(3,3,120,1)|0)<0){f=104;break b}}an();d=c[3160]|0;if(!(c[17645]|0)){f=106;break b}c[17655]=(c[17655]|0)+4;c[17654]=(c[17654]|0)+1;O=c[17662]|0;e=O+1|0;c[17662]=e;f=c[17646]|0;O=f+O|0;a[O>>0]=a[O>>0]^d&255;if(e>>>0>599){c[17662]=0;Ym(f);c[17651]=(c[17651]|0)+1;c[17663]=0;e=c[17662]|0;f=c[17646]|0}g=e+1|0;c[17662]=g;O=f+e|0;a[O>>0]=a[O>>0]^d>>>8&255;if(g>>>0>599){c[17662]=0;Ym(f);c[17651]=(c[17651]|0)+1;c[17663]=0;g=c[17662]|0;e=c[17646]|0}else e=f;O=g+1|0;c[17662]=O;h=e+g|0;a[h>>0]=a[h>>0]^d>>>16&255;if(O>>>0>599){c[17662]=0;Ym(e);c[17651]=(c[17651]|0)+1;c[17663]=0}h=c[17662]|0;O=h+1|0;c[17662]=O;e=c[17646]|0;h=e+h|0;a[h>>0]=a[h>>0]^d>>>24&255;if(O>>>0<=599){if(!(c[17663]|0)){Ym(e);c[17651]=(c[17651]|0)+1}}else{c[17662]=0;Ym(e);c[17651]=(c[17651]|0)+1;c[17663]=1}d=c[17646]|0;e=c[17648]|0;f=d;g=0;while(1){c[e>>2]=(c[f>>2]|0)+-1515870811;g=g+1|0;if((g|0)==150)break;else{e=e+4|0;f=f+4|0}}Ym(d);c[17651]=(c[17651]|0)+1;Ym(c[17648]|0);c[17656]=(c[17656]|0)+1;e=i+-1|0;if(!i){h=j;i=e;e=c[17668]|0}else{g=c[17648]|0;h=c[17668]|0;f=j;d=c[17669]|0;while(1){O=d+1|0;a[f>>0]=a[g+d>>0]|0;d=O>>>0>599?0:O;if(!e)break;else{f=f+1|0;e=e+-1|0}}e=h-i|0;c[17669]=d;c[17668]=e;h=j+i|0;i=-1}if((e|0)<0)c[17668]=0;Yq(c[17648]|0,0,600)|0;O=qq()|0;if((O|0)==(c[v>>2]|0))break;d=qq()|0;if(!(c[17645]|0)){f=122;break b}c[17655]=(c[17655]|0)+4;c[17654]=(c[17654]|0)+1;O=c[17662]|0;e=O+1|0;c[17662]=e;f=c[17646]|0;O=f+O|0;a[O>>0]=a[O>>0]^d&255;if(e>>>0>599){c[17662]=0;Ym(f);c[17651]=(c[17651]|0)+1;c[17663]=0;e=c[17662]|0;f=c[17646]|0}g=e+1|0;c[17662]=g;O=f+e|0;a[O>>0]=a[O>>0]^d>>>8&255;if(g>>>0>599){c[17662]=0;Ym(f);c[17651]=(c[17651]|0)+1;c[17663]=0;g=c[17662]|0;e=c[17646]|0}else e=f;O=g+1|0;c[17662]=O;j=e+g|0;a[j>>0]=a[j>>0]^d>>>16&255;if(O>>>0>599){c[17662]=0;Ym(e);c[17651]=(c[17651]|0)+1;c[17663]=0}j=c[17662]|0;O=j+1|0;c[17662]=O;e=c[17646]|0;j=e+j|0;a[j>>0]=a[j>>0]^d>>>24&255;if(O>>>0>599){c[17662]=0;Ym(e);c[17651]=(c[17651]|0)+1;c[17663]=1}c[17663]=0;c[3160]=d;j=h}e=n-k|0;if(!e)break a;if(!(c[17645]|0)){f=9;break}else{b=b+k|0;n=e;k=e>>>0>600?600:e}}switch(f|0){case 9:{Ie(50424,50439,934,50464);break}case 14:{Ie(50424,50439,1074,50474);break}case 19:{Ie(50424,50439,953,50464);break}case 21:{Ne(50489,C);break}case 38:{J=zo()|0;O=ze(50688)|0;K=c[17665]|0;J=c[J>>2]|0;J=dp(J)|0;c[L>>2]=K;K=L+4|0;c[K>>2]=J;Me(O,L);break}case 40:{O=ze(50688)|0;K=c[17665]|0;J=c[e>>2]|0;J=dp(J)|0;c[L>>2]=K;K=L+4|0;c[K>>2]=J;Me(O,L);break}case 42:{Ie(50424,50439,1074,50474);break}case 48:{Ie(50424,50439,1074,50474);break}case 52:{Ie(50424,50439,1074,50474);break}case 56:{Ie(50424,50439,1074,50474);break}case 60:{Me(50709,D);break}case 62:{Me(50760,E);break}case 85:{Me(50709,F);break}case 87:{Me(50760,G);break}case 94:{He(50439,995,50464);break}case 96:{Me(50709,H);break}case 98:{Me(50760,I);break}case 102:{Me(50709,J);break}case 104:{Me(50760,K);break}case 106:{Ie(50424,50439,1074,50474);break}case 122:{Ie(50424,50439,1074,50474);break}}}while(0);c[17645]=0;e=Wn(12596)|0;if(!e){l=N;return}else{c[M>>2]=Pn(e)|0;Me(50247,M)}}function _m(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0;p=l;l=l+64|0;if((l|0)>=(m|0))$(64);n=p+24|0;k=p+16|0;j=p+8|0;g=p;h=p+40|0;i=p+32|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;b[h>>1]=(e|0)!=0&1;b[h+2>>1]=0;c[g>>2]=h;if((jq(a,13,g)|0)!=-1){o=0;l=p;return o|0}f=zo()|0;g=i+4|0;e=0;a:while(1){switch(c[f>>2]|0){case 13:case 11:break;default:break a}if((e|0)>2){q=ze(50839)|0;c[k>>2]=d;Je(q,k)}c[i>>2]=e;c[g>>2]=25e4;nq(0,0,0,0,i)|0;c[n>>2]=h;if((jq(a,13,n)|0)==-1)e=((e|0)<10&1)+e|0;else{e=0;o=8;break}}if((o|0)==8){l=p;return e|0}q=ze(50818)|0;o=dp(c[f>>2]|0)|0;c[j>>2]=d;c[j+4>>2]=o;Je(q,j);q=-1;l=p;return q|0}function $m(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;if(!(c[17645]|0))Ie(50424,50439,1074,50474);c[17655]=(c[17655]|0)+d;c[17654]=(c[17654]|0)+1;f=d+-1|0;if(!d)return;if(e>>>0<3){while(1){h=a[b>>0]|0;g=c[17662]|0;e=g+1|0;c[17662]=e;d=c[17646]|0;g=d+g|0;a[g>>0]=a[g>>0]^h;if(e>>>0>599){c[17662]=0;Ym(d);c[17651]=(c[17651]|0)+1;c[17663]=(f|0)==0&1}if(!f)break;else{b=b+1|0;f=f+-1|0}}return}else d=0;while(1){i=a[b>>0]|0;b=b+1|0;g=c[17662]|0;h=g+1|0;c[17662]=h;e=c[17646]|0;g=e+g|0;a[g>>0]=a[g>>0]^i;d=d+1|0;if(h>>>0>599){if(!(c[17650]|0)){i=(c[17670]|0)+d|0;c[17670]=i;if(i>>>0>599){c[17650]=1;d=0}else d=0}c[17662]=0;Ym(e);c[17651]=(c[17651]|0)+1;c[17663]=(f|0)==0&1}if(!f)break;else f=f+-1|0}return}function an(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=l;l=l+144|0;if((l|0)>=(m|0))$(144);g=h;if(!(c[17645]|0))Ie(50424,50439,1180,50798);c[17653]=(c[17653]|0)+1;if(gb(g|0,0)|0)He(50439,1198,50798);if(!(c[17645]|0))Ie(50424,50439,1074,50474);c[17655]=(c[17655]|0)+4;c[17654]=(c[17654]|0)+1;e=a[g>>0]|0;f=c[17662]|0;b=f+1|0;c[17662]=b;d=c[17646]|0;f=d+f|0;a[f>>0]=a[f>>0]^e;if(b>>>0>599){c[17662]=0;Ym(d);c[17651]=(c[17651]|0)+1;c[17663]=0;b=c[17662]|0;d=c[17646]|0}i=a[g+1>>0]|0;e=b+1|0;c[17662]=e;f=d+b|0;a[f>>0]=a[f>>0]^i;if(e>>>0>599){c[17662]=0;Ym(d);c[17651]=(c[17651]|0)+1;c[17663]=0;e=c[17662]|0;b=c[17646]|0}else b=d;d=a[g+2>>0]|0;i=e+1|0;c[17662]=i;f=b+e|0;a[f>>0]=a[f>>0]^d;if(i>>>0>599){c[17662]=0;Ym(b);c[17651]=(c[17651]|0)+1;c[17663]=0}e=a[g+3>>0]|0;f=c[17662]|0;i=f+1|0;c[17662]=i;b=c[17646]|0;f=b+f|0;a[f>>0]=a[f>>0]^e;if(i>>>0>599){c[17662]=0;Ym(b);c[17651]=(c[17651]|0)+1;c[17663]=1}if(!(c[17645]|0))Ie(50424,50439,1074,50474);f=g+4|0;c[17655]=(c[17655]|0)+4;c[17654]=(c[17654]|0)+1;e=a[f>>0]|0;i=c[17662]|0;d=i+1|0;c[17662]=d;b=c[17646]|0;i=b+i|0;a[i>>0]=a[i>>0]^e;if(d>>>0>599){c[17662]=0;Ym(b);c[17651]=(c[17651]|0)+1;c[17663]=0;d=c[17662]|0;b=c[17646]|0}j=a[f+1>>0]|0;e=d+1|0;c[17662]=e;i=b+d|0;a[i>>0]=a[i>>0]^j;if(e>>>0>599){c[17662]=0;Ym(b);c[17651]=(c[17651]|0)+1;c[17663]=0;d=c[17662]|0;b=c[17646]|0}else d=e;e=a[f+2>>0]|0;j=d+1|0;c[17662]=j;i=b+d|0;a[i>>0]=a[i>>0]^e;if(j>>>0>599){c[17662]=0;Ym(b);c[17651]=(c[17651]|0)+1;c[17663]=0}f=a[f+3>>0]|0;i=c[17662]|0;j=i+1|0;c[17662]=j;b=c[17646]|0;i=b+i|0;a[i>>0]=a[i>>0]^f;if(j>>>0>599){c[17662]=0;Ym(b);c[17651]=(c[17651]|0)+1;c[17663]=1}Gq(0,g)|0;if(!(c[17645]|0))Ie(50424,50439,1074,50474);c[17655]=(c[17655]|0)+136;c[17654]=(c[17654]|0)+1;b=g;e=135;while(1){f=a[b>>0]|0;i=c[17662]|0;j=i+1|0;c[17662]=j;d=c[17646]|0;i=d+i|0;a[i>>0]=a[i>>0]^f;if(j>>>0>599){c[17662]=0;Ym(d);c[17651]=(c[17651]|0)+1;c[17663]=(e|0)==0&1}if(!e)break;else{b=b+1|0;e=e+-1|0}}f=fb(0)|0;c[g>>2]=f;if(!(c[17645]|0))Ie(50424,50439,1074,50474);c[17655]=(c[17655]|0)+4;c[17654]=(c[17654]|0)+1;j=c[17662]|0;d=j+1|0;c[17662]=d;b=c[17646]|0;j=b+j|0;a[j>>0]=a[j>>0]^f&255;if(d>>>0>599){c[17662]=0;Ym(b);c[17651]=(c[17651]|0)+1;c[17663]=0;d=c[17662]|0;b=c[17646]|0}e=d+1|0;c[17662]=e;j=b+d|0;a[j>>0]=a[j>>0]^f>>>8&255;if(e>>>0>599){c[17662]=0;Ym(b);c[17651]=(c[17651]|0)+1;c[17663]=0;d=c[17662]|0;b=c[17646]|0}else d=e;j=d+1|0;c[17662]=j;i=b+d|0;a[i>>0]=a[i>>0]^f>>>16&255;if(j>>>0>599){c[17662]=0;Ym(b);c[17651]=(c[17651]|0)+1;c[17663]=0}f=a[g+3>>0]|0;i=c[17662]|0;j=i+1|0;c[17662]=j;b=c[17646]|0;i=b+i|0;a[i>>0]=a[i>>0]^f;if(j>>>0>599){c[17662]=0;Ym(b);c[17651]=(c[17651]|0)+1;c[17663]=1}f=Qa()|0;c[g>>2]=f;if(!(c[17645]|0))Ie(50424,50439,1074,50474);c[17655]=(c[17655]|0)+4;c[17654]=(c[17654]|0)+1;j=c[17662]|0;b=j+1|0;c[17662]=b;d=c[17646]|0;j=d+j|0;a[j>>0]=a[j>>0]^f&255;if(b>>>0>599){c[17662]=0;Ym(d);c[17651]=(c[17651]|0)+1;c[17663]=0;b=c[17662]|0;d=c[17646]|0}e=b+1|0;c[17662]=e;j=d+b|0;a[j>>0]=a[j>>0]^f>>>8&255;if(e>>>0>599){c[17662]=0;Ym(d);c[17651]=(c[17651]|0)+1;c[17663]=0;e=c[17662]|0;b=c[17646]|0}else b=d;j=e+1|0;c[17662]=j;i=b+e|0;a[i>>0]=a[i>>0]^f>>>16&255;if(j>>>0>599){c[17662]=0;Ym(b);c[17651]=(c[17651]|0)+1;c[17663]=0}g=a[g+3>>0]|0;i=c[17662]|0;j=i+1|0;c[17662]=j;b=c[17646]|0;i=b+i|0;a[i>>0]=a[i>>0]^g;if(j>>>0<=599){l=h;return}c[17662]=0;Ym(b);c[17651]=(c[17651]|0)+1;c[17663]=1;l=h;return}function bn(a){a=a|0;if(!(c[17665]|0)){c[17665]=mf(a)|0;return}else He(50439,673,50868)}function cn(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0;q=l;l=l+80|0;if((l|0)>=(m|0))$(80);p=q+72|0;n=q+64|0;k=q+56|0;j=q+48|0;i=q+40|0;h=q+32|0;g=q+24|0;f=q+16|0;d=q+8|0;b=q;if(!(c[17644]|0))c[17644]=1;a=Vn(12596)|0;if(a|0){c[b>>2]=Pn(a)|0;Me(50172,b)}c[17645]=1;e=c[17646]|0;if(!((c[17665]|0)!=0&(e|0)!=0&(c[17650]|0)!=0)){c[17645]=0;a=Wn(12596)|0;if(!a){l=q;return}else{c[d>>2]=Pn(a)|0;Me(50247,d)}}if(!(c[17666]|0)){c[17645]=0;a=Wn(12596)|0;if(a|0){c[f>>2]=Pn(a)|0;Me(50247,f)}Je(ze(50898)|0,g);l=q;return}a=e;b=c[17648]|0;d=0;while(1){c[b>>2]=(c[a>>2]|0)+-1515870811;d=d+1|0;if((d|0)==150)break;else{a=a+4|0;b=b+4|0}}Ym(e);c[17651]=(c[17651]|0)+1;Ym(c[17648]|0);c[17656]=(c[17656]|0)+1;b=c[17665]|0;c[h>>2]=384;b=Bq(b,65,h)|0;do if((b|0)!=-1){if(_m(b,c[17665]|0,1)|0){Up(b)|0;break}if(yq(b,0)|0){o=ze(50957)|0;k=c[17665]|0;n=dp(c[(zo()|0)>>2]|0)|0;c[j>>2]=k;c[j+4>>2]=n;Je(o,j);Up(b)|0;break}a:while(1){switch(oq(b,c[17648]|0,600)|0){case 600:break a;case -1:break;default:{o=21;break a}}a=zo()|0;if((c[a>>2]|0)!=4){o=23;break}}if((o|0)==21){a=zo()|0;o=23}if((o|0)==23){o=ze(50957)|0;i=c[17665]|0;j=dp(c[a>>2]|0)|0;c[k>>2]=i;c[k+4>>2]=j;Je(o,k)}if(Up(b)|0){o=ze(50979)|0;j=c[17665]|0;k=dp(c[(zo()|0)>>2]|0)|0;c[n>>2]=j;c[n+4>>2]=k;Je(o,n)}}else{o=ze(50934)|0;k=c[17665]|0;n=dp(c[(zo()|0)>>2]|0)|0;c[i>>2]=k;c[i+4>>2]=n;Je(o,i)}while(0);c[17645]=0;a=Wn(12596)|0;if(!a){l=q;return}else{c[p>>2]=Pn(a)|0;Me(50247,p)}}function dn(){var a=0,b=0,d=0,e=0;e=l;l=l+16|0;if((l|0)>=(m|0))$(16);d=e+8|0;b=e;if(!(c[17644]|0))c[17644]=1;a=Vn(12596)|0;if(a|0){c[b>>2]=Pn(a)|0;Me(50172,b)}c[17645]=1;if(c[17646]|0)an();c[17645]=0;a=Wn(12596)|0;if(!a){l=e;return}else{c[d>>2]=Pn(a)|0;Me(50247,d)}}function en(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+48|0;if((l|0)>=(m|0))$(48);i=j+32|0;h=j+24|0;g=j+16|0;f=j+8|0;d=j;if(!(c[17671]|0)){c[17671]=1;c[17672]=0}if(!b){l=j;return}b=Vn(12644)|0;if(b|0){c[d>>2]=Pn(b)|0;Me(51001,d)}c[17672]=1;if(c[17673]|0){b=c[17674]|0;if(c[b+52>>2]|0)Ie(51037,51065,767,51079);d=c[17675]|0;if(c[d+52>>2]|0)Ie(51104,51065,768,51079);e=c[17676]|0;if(c[e+52>>2]|0)Ie(51134,51065,769,51079);if((a[b>>0]|0)!=17){c[f>>2]=b;Me(51167,f)}if((a[b+16>>0]|0)!=42){c[f>>2]=b;Me(51167,f)}if((a[b+33>>0]|0)!=-119){c[f>>2]=b;Me(51167,f)}if((a[b+50>>0]|0)!=-4){c[f>>2]=b;Me(51167,f)}if((a[d>>0]|0)!=17){c[g>>2]=d;Me(51167,g)}if((a[d+16>>0]|0)!=42){c[g>>2]=d;Me(51167,g)}if((a[d+33>>0]|0)!=-119){c[g>>2]=d;Me(51167,g)}if((a[d+50>>0]|0)!=-4){c[g>>2]=d;Me(51167,g)}if((a[e>>0]|0)!=17){c[h>>2]=e;Me(51167,h)}if((a[e+16>>0]|0)!=42){c[h>>2]=e;Me(51167,h)}if((a[e+33>>0]|0)!=-119){c[h>>2]=e;Me(51167,h)}if((a[e+50>>0]|0)!=-4){c[h>>2]=e;Me(51167,h)}}else{c[17673]=jf(48)|0;h=kf(1,68)|0;c[17674]=h;a[h>>0]=17;a[h+16>>0]=42;a[h+33>>0]=-119;a[h+50>>0]=-4;h=lf(1,68)|0;c[17675]=h;a[h>>0]=17;a[h+16>>0]=42;a[h+33>>0]=-119;a[h+50>>0]=-4;h=lf(1,68)|0;c[17676]=h;a[h>>0]=17;a[h+16>>0]=42;a[h+33>>0]=-119;a[h+50>>0]=-4}c[17672]=0;b=Wn(12644)|0;if(!b){l=j;return}else{c[i>>2]=Pn(b)|0;Me(51213,i)}}function fn(){var a=0,b=0,d=0,e=0;e=l;l=l+16|0;if((l|0)>=(m|0))$(16);d=e+8|0;b=e;a=Vn(12644)|0;if(a|0){c[b>>2]=Pn(a)|0;Me(51001,b)}c[17672]=1;Dn(0,0,0,0)|0;c[17672]=0;a=Wn(12644)|0;if(!a){l=e;return}else{c[d>>2]=Pn(a)|0;Me(51213,d)}}function gn(){return}function hn(){return 0}function jn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;if((l|0)>=(m|0))$(16);g=h+8|0;f=h;en(1);e=Vn(12644)|0;if(e|0){c[f>>2]=Pn(e)|0;Me(51001,f)}c[17672]=1;if((d|0)==2)kn(a,b,c[17676]|0);else kn(a,b,c[17675]|0);c[17672]=0;a=Wn(12644)|0;if(!a){l=h;return}else{c[g>>2]=Pn(a)|0;Me(51213,g)}}function kn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0;o=l;l=l+32|0;if((l|0)>=(m|0))$(32);n=o+16|0;k=o+8|0;f=o;if(!b)Ie(52320,51065,685,52343);if(!e)Ie(51249,51065,686,52343);if((a[e>>0]|0)!=17){c[f>>2]=e;Me(51167,f)}j=e+16|0;if((a[j>>0]|0)!=42){c[f>>2]=e;Me(51167,f)}h=e+33|0;if((a[h>>0]|0)!=-119){c[f>>2]=e;Me(51167,f)}i=e+50|0;if((a[i>>0]|0)!=-4){c[f>>2]=e;Me(51167,f)}f=e+4|0;do if(!(c[f>>2]|0)){if((c[17674]|0)==(e|0))g=ln(1)|0;else g=ln(0)|0;c[f>>2]=g;if(!g)Me(51311,n);else{c[e+60>>2]=qq()|0;break}}while(0);if(!(a[e+8>>0]&1))mn(e);g=c[e+60>>2]|0;if((g|0)==(qq()|0)?(g=c[e+64>>2]|0,(g|0)==(qq()|0)):0){if(nn(b,d,e)|0)Me(51311,n);if((a[e>>0]|0)!=17){c[k>>2]=e;Me(51167,k)}if((a[j>>0]|0)!=42){c[k>>2]=e;Me(51167,k)}if((a[h>>0]|0)!=-119){c[k>>2]=e;Me(51167,k)}if((a[i>>0]|0)==-4){l=o;return}else{c[k>>2]=e;Me(51167,k)}}kg(51065,714,52343,0,51257);Me(51311,n)}function ln(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0;o=l;l=l+16|0;if((l|0)>=(m|0))$(16);n=o+8|0;e=o;k=o+12|0;if(!(c[17672]|0))Ie(51340,51065,596,51674);d=vg(k,7,1,1)|0;if(d|0){c[e>>2]=Pn(d)|0;Le(51692,e);n=0;l=o;return n|0}if(!b)i=pn()|0;else{i=gf(16)|0;kn(i,16,c[17675]|0)}j=Ag(c[k>>2]|0,i,16)|0;if(i&7){b=16;d=i;do{a[d>>0]=0;d=d+1|0;b=b+-1|0}while((b|0)!=0&(d&7|0)!=0);if(b>>>0>=8)f=11}else{b=16;d=i;f=11}if((f|0)==11){f=b+-8|0;g=f&-8;h=g+8|0;e=d;while(1){p=e;c[p>>2]=0;c[p+4>>2]=0;b=b+-8|0;if(b>>>0<=7)break;else e=e+8|0}b=f-g|0;d=d+h|0}if(b|0)while(1){a[d>>0]=0;b=b+-1|0;if(!b)break;else d=d+1|0}cf(i);if(!j){p=c[k>>2]|0;l=o;return p|0}else{c[n>>2]=Pn(j)|0;Le(51735,n);xg(c[k>>2]|0);p=0;l=o;return p|0}return 0}function mn(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;if(!(c[17672]|0))Ie(51340,51065,658,51556);d=b+17|0;if((c[17674]|0)==(b|0)){kn(d,16,c[17675]|0);i=b+8|0;a[i>>0]=a[i>>0]|1;c[b+64>>2]=qq()|0;return}i=pn()|0;e=i;f=d+16|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));if(i&7){e=16;d=i;do{a[d>>0]=0;d=d+1|0;e=e+-1|0}while((e|0)!=0&(d&7|0)!=0);if(e>>>0>=8)g=8}else{d=i;e=16;g=8}if((g|0)==8){g=e+-8|0;h=g&-8;f=d;while(1){j=f;c[j>>2]=0;c[j+4>>2]=0;e=e+-8|0;if(e>>>0<=7)break;else f=f+8|0}d=d+(h+8)|0;e=g-h|0}if(e|0)while(1){a[d>>0]=0;e=e+-1|0;if(!e)break;else d=d+1|0}cf(i);j=b+8|0;a[j>>0]=a[j>>0]|1;c[b+64>>2]=qq()|0;return}function nn(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0;eb=l;l=l+64|0;if((l|0)>=(m|0))$(64);cb=eb+24|0;bb=eb+16|0;ab=eb+8|0;$a=eb;J=eb+32|0;U=eb+40|0;if(!(c[17672]|0))Ie(51340,51065,444,51359);ya=f+4|0;if(!(c[ya>>2]|0))Ie(51375,51065,445,51359);o=f+8|0;if(!(a[o>>0]&1))Ie(51394,51065,446,51359);u=c[17673]|0;if(!u)Ie(51413,51065,448,51359);v=u+16|0;w=u+32|0;if(!e){db=0;l=eb;return db|0}x=f+52|0;y=f+12|0;z=J+4|0;A=U+1|0;B=U+2|0;C=U+3|0;D=U+4|0;E=U+5|0;F=U+6|0;G=U+7|0;H=U+8|0;I=U+9|0;K=U+10|0;L=U+11|0;M=U+12|0;N=U+13|0;O=U+14|0;P=U+15|0;Q=f+17|0;R=u+1|0;S=f+18|0;T=u+17|0;V=u+2|0;W=f+19|0;X=u+18|0;Y=u+3|0;Z=f+20|0;_=u+19|0;aa=u+4|0;ba=f+21|0;ca=u+20|0;da=u+5|0;ea=f+22|0;fa=u+21|0;ga=u+6|0;ha=f+23|0;ia=u+22|0;ja=u+7|0;ka=f+24|0;la=u+23|0;ma=u+8|0;na=f+25|0;oa=u+24|0;pa=u+9|0;qa=f+26|0;ra=u+25|0;sa=u+10|0;ta=f+27|0;ua=u+26|0;va=u+11|0;wa=f+28|0;xa=u+27|0;za=u+12|0;Aa=f+29|0;Ba=u+28|0;Ca=u+13|0;Da=f+30|0;Ea=u+29|0;Fa=u+14|0;Ga=f+31|0;Ha=u+30|0;Ia=u+15|0;Ja=f+32|0;Ka=u+31|0;La=u+33|0;Ma=u+34|0;Na=u+35|0;Oa=u+36|0;Pa=u+37|0;Qa=u+38|0;Ra=u+39|0;Sa=u+40|0;Ta=u+41|0;Ua=u+42|0;Va=u+43|0;Wa=u+44|0;Xa=u+45|0;Ya=u+46|0;Za=u+47|0;_a=(u&7|0)==0;p=(v&7|0)==0;q=f+51|0;r=f+34|0;s=f+56|0;t=(w&7|0)==0;a:while(1){while(1){if((c[x>>2]|0)==0?(c[y>>2]|0)>>>0>1e3:0){mn(f);c[y>>2]=0}if(!(c[17672]|0)){db=16;break a}g=c[x>>2]|0;if((g|0)==0|(c[17674]|0)==(f|0)|(c[17675]|0)==(f|0)|(c[17676]|0)==(f|0)){if(!(c[17677]|0)){c[17678]=qq()|0;c[17679]=zq()|0}if(gb(J|0,0)|0){db=22;break a}g=c[z>>2]|0;h=g<<4;i=c[J>>2]|0;if((i|0)==(c[17677]|0)&(h|0)==(c[17680]|0)){j=(b[35680]|0)+1&4095;b[35680]=j}else{b[35680]=0;c[17677]=i;c[17680]=h;j=0}a[U>>0]=i>>>24;a[A>>0]=i>>>16;a[B>>0]=i>>>8;a[C>>0]=i;a[D>>0]=g>>>12;a[E>>0]=g>>>4;a[F>>0]=(j&65535)>>>8&15|h;a[G>>0]=j;g=c[17678]|0;a[H>>0]=g>>>24;a[I>>0]=g>>>16;a[K>>0]=g>>>8;a[L>>0]=g;n=c[17679]|0;a[M>>0]=n>>>24;a[N>>0]=n>>>16;a[O>>0]=n>>>8;a[P>>0]=n;n=n+1|0;c[17679]=n;if(!n)c[17678]=g+1}else{j=U;i=j+15|0;do{a[j>>0]=a[g>>0]|0;j=j+1|0;g=g+1|0}while((j|0)<(i|0));n=c[s>>2]|0;a[M>>0]=n>>>24;a[N>>0]=n>>>16;a[O>>0]=n>>>8;a[P>>0]=n;c[s>>2]=n+1}h=c[ya>>2]|0;g=yg(h,u,16,U,16)|0;if(g|0){db=30;break a}a[v>>0]=a[Q>>0]^a[u>>0];a[T>>0]=a[S>>0]^a[R>>0];a[X>>0]=a[W>>0]^a[V>>0];a[_>>0]=a[Z>>0]^a[Y>>0];a[ca>>0]=a[ba>>0]^a[aa>>0];a[fa>>0]=a[ea>>0]^a[da>>0];a[ia>>0]=a[ha>>0]^a[ga>>0];a[la>>0]=a[ka>>0]^a[ja>>0];a[oa>>0]=a[na>>0]^a[ma>>0];a[ra>>0]=a[qa>>0]^a[pa>>0];a[ua>>0]=a[ta>>0]^a[sa>>0];a[xa>>0]=a[wa>>0]^a[va>>0];a[Ba>>0]=a[Aa>>0]^a[za>>0];a[Ea>>0]=a[Da>>0]^a[Ca>>0];a[Ha>>0]=a[Ga>>0]^a[Fa>>0];a[Ka>>0]=a[Ja>>0]^a[Ia>>0];g=yg(h,w,16,v,16)|0;if(g|0){db=32;break a}a[v>>0]=a[u>>0]^a[w>>0];a[T>>0]=a[R>>0]^a[La>>0];a[X>>0]=a[V>>0]^a[Ma>>0];a[_>>0]=a[Y>>0]^a[Na>>0];a[ca>>0]=a[aa>>0]^a[Oa>>0];a[fa>>0]=a[da>>0]^a[Pa>>0];a[ia>>0]=a[ga>>0]^a[Qa>>0];a[la>>0]=a[ja>>0]^a[Ra>>0];a[oa>>0]=a[ma>>0]^a[Sa>>0];a[ra>>0]=a[pa>>0]^a[Ta>>0];a[ua>>0]=a[sa>>0]^a[Ua>>0];a[xa>>0]=a[va>>0]^a[Va>>0];a[Ba>>0]=a[za>>0]^a[Wa>>0];a[Ea>>0]=a[Ca>>0]^a[Xa>>0];a[Ha>>0]=a[Fa>>0]^a[Ya>>0];a[Ka>>0]=a[Ia>>0]^a[Za>>0];g=yg(h,Q,16,v,16)|0;if(g|0){db=35;break a}if(!_a){g=u;h=16;do{a[g>>0]=0;g=g+1|0;h=h+-1|0}while((h|0)!=0&(g&7|0)!=0);if(h>>>0>=8)db=38}else{g=u;h=16;db=38}if((db|0)==38){db=0;j=h+-8|0;k=j&-8;i=g;while(1){n=i;c[n>>2]=0;c[n+4>>2]=0;h=h+-8|0;if(h>>>0<=7)break;else i=i+8|0}g=g+(k+8)|0;h=j-k|0}if(h|0)while(1){a[g>>0]=0;h=h+-1|0;if(!h)break;else g=g+1|0}if(!p){g=16;h=v;do{a[h>>0]=0;h=h+1|0;g=g+-1|0}while((g|0)!=0&(h&7|0)!=0);if(g>>>0>=8)db=46}else{g=16;h=v;db=46}if((db|0)==46){db=0;j=g+-8|0;k=j&-8;i=h;while(1){n=i;c[n>>2]=0;c[n+4>>2]=0;g=g+-8|0;if(g>>>0<=7)break;else i=i+8|0}g=j-k|0;h=h+(k+8)|0}if(g|0)while(1){a[h>>0]=0;g=g+-1|0;if(!g)break;else h=h+1|0}c[y>>2]=(c[y>>2]|0)+1;if(a[q>>0]|0?!((c[x>>2]|0)==0|(c[17674]|0)==(f|0)|(c[17675]|0)==(f|0)|(c[17676]|0)==(f|0)):0){db=58;break}h=a[o>>0]|0;if(h&2){db=55;break}j=r;g=w;i=j+16|0;do{a[j>>0]=a[g>>0]|0;j=j+1|0;g=g+1|0}while((j|0)<(i|0));a[o>>0]=h|2}if((db|0)==55){db=0;if(!(Tp(r,w,16)|0)){db=56;break}h=e>>>0<16?e:16;j=r;g=w;i=j+16|0;do{a[j>>0]=a[g>>0]|0;j=j+1|0;g=g+1|0}while((j|0)<(i|0));n=h}else if((db|0)==58){db=0;n=e>>>0<16?e:16}cr(d|0,w|0,n|0)|0;if(!t){g=16;h=w;do{a[h>>0]=0;h=h+1|0;g=g+-1|0}while((g|0)!=0&(h&7|0)!=0);if(g>>>0>=8)db=62}else{g=16;h=w;db=62}if((db|0)==62){db=0;i=g+-8|0;j=i&-8;k=h+8|0;while(1){fb=h;c[fb>>2]=0;c[fb+4>>2]=0;g=g+-8|0;if(g>>>0<=7)break;else h=h+8|0}g=i-j|0;h=k+j|0}if(g|0)while(1){a[h>>0]=0;g=g+-1|0;if(!g)break;else h=h+1|0}e=e-n|0;if(!e){d=0;db=68;break}else d=d+n|0}if((db|0)==16)Ie(51340,51065,274,51443);else if((db|0)==22){c[$a>>2]=dp(c[(zo()|0)>>2]|0)|0;Me(51455,$a)}else if((db|0)==30){c[ab>>2]=on(g)|0;Me(51482,ab)}else if((db|0)==32){c[bb>>2]=on(g)|0;Me(51482,bb)}else if((db|0)==35){c[cb>>2]=on(g)|0;Me(51482,cb)}else if((db|0)==56){kg(51065,502,51359,0,51516);fb=-1;l=eb;return fb|0}else if((db|0)==68){l=eb;return d|0}return 0}function on(a){a=a|0;return Pn(a)|0}function pn(){var a=0,b=0;b=l;l=l+16|0;if((l|0)>=(m|0))$(16);a=b;if(c[17681]|0)Ie(51568,51065,552,51592);c[17681]=jf(16)|0;c[17682]=16;c[17683]=0;if((Dn(4,0,16,2)|0)>=0?(c[17683]|0)==(c[17682]|0):0){a=c[17681]|0;c[17681]=0;l=b;return a|0}cf(c[17681]|0);c[17681]=0;Me(51604,a);return 0}function qn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;if(!(c[17672]|0))Ie(51340,51065,531,51632);f=c[17681]|0;if(!f)Ie(51651,51065,532,51632);if(!d)return;g=c[17682]|0;e=d;d=c[17683]|0;while(1){e=e+-1|0;if(d>>>0>=g>>>0){e=9;break}i=a[b>>0]|0;h=d;d=d+1|0;c[17683]=d;h=f+h|0;a[h>>0]=a[h>>0]^i;if(!e){e=9;break}else b=b+1|0}if((e|0)==9)return}function rn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;if((l|0)>=(m|0))$(16);f=g+8|0;e=g;en(1);d=Vn(12644)|0;if(d|0){c[e>>2]=Pn(d)|0;Me(51001,e)}c[17672]=1;kn(a,b,c[17674]|0);c[17672]=0;a=Wn(12644)|0;if(!a){l=g;return}else{c[f>>2]=Pn(a)|0;Me(51213,f)}}function sn(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=l;l=l+48|0;if((l|0)>=(m|0))$(48);y=z+24|0;x=z+16|0;s=z+8|0;f=z;q=z+32|0;Dj(q,8,1);if(!(c[17673]|0))Ie(51413,51065,912,51767);t=kf(1,68)|0;a[t>>0]=17;u=t+16|0;a[u>>0]=42;v=t+33|0;a[v>>0]=-119;w=t+50|0;a[w>>0]=-4;e=Vn(12644)|0;if(e|0){c[f>>2]=Pn(e)|0;Me(51001,f)}c[17672]=1;r=t+4|0;f=t+60|0;g=t+17|0;h=t+8|0;i=t+64|0;j=t+52|0;k=t+56|0;e=0;while(1){if(vg(r,7,1,1)|0){f=52137;e=18;break}if(Ag(c[r>>2]|0,51780+(e*96|0)|0,16)|0){f=52175;e=18;break}c[f>>2]=qq()|0;n=g;o=51780+(e*96|0)+32|0;p=n+16|0;do{a[n>>0]=a[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));a[h>>0]=a[h>>0]|1;c[i>>2]=qq()|0;c[j>>2]=51780+(e*96|0)+16;c[k>>2]=d[51780+(e*96|0)+29>>0]<<16|d[51780+(e*96|0)+28>>0]<<24|d[51780+(e*96|0)+30>>0]<<8|d[51780+(e*96|0)+31>>0];if(nn(q,16,t)|0){f=52068;e=18;break}if(Tp(q,51780+(e*96|0)+48|0,16)|0){f=52099;e=18;break}if(nn(q,16,t)|0){f=52068;e=18;break}if(Tp(q,51780+(e*96|0)+64|0,16)|0){f=52099;e=18;break}if(nn(q,16,t)|0){f=52068;e=18;break}if(Tp(q,51780+(e*96|0)+80|0,16)|0){f=52099;e=18;break}p=c[f>>2]|0;if((p|0)!=(qq()|0)){f=52201;e=18;break}p=c[i>>2]|0;if((p|0)!=(qq()|0)){f=52201;e=18;break}xg(c[r>>2]|0);c[r>>2]=0;a[h>>0]=a[h>>0]&-2;if((a[t>>0]|0)!=17){e=17;break}if((a[u>>0]|0)!=42){e=17;break}if((a[v>>0]|0)!=-119){e=17;break}e=e+1|0;if((a[w>>0]|0)!=-4){e=17;break}if(e>>>0>=3){f=0;e=18;break}}if((e|0)==17){c[s>>2]=t;Me(51167,s)}else if((e|0)==18){c[17672]=0;e=Wn(12644)|0;if(e|0){c[x>>2]=Pn(e)|0;Me(51213,x)}xg(c[r>>2]|0);if((a[t>>0]|0)!=17){c[y>>2]=t;Me(51167,y)}if((a[u>>0]|0)!=42){c[y>>2]=t;Me(51167,y)}if((a[v>>0]|0)!=-119){c[y>>2]=t;Me(51167,y)}if((a[w>>0]|0)!=-4){c[y>>2]=t;Me(51167,y)}cf(t);e=(f|0)!=0;if(!((b|0)!=0&e)){b=e?16777266:0;l=z;return b|0}zb[b&1](52223,0,52230,f);b=e?16777266:0;l=z;return b|0}return 0}function tn(b,e,f,g,h,i,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+16|0;if((l|0)>=(m|0))$(16);t=v;en(1);if((b|0)==0|(f|0)==0|(g|0)!=16|(h|0)==0|(i|0)!=16|(j|0)==0|(k|0)!=16){u=45;l=v;return u|0}r=df(1,84)|0;if(!r){u=Sn()|0;l=v;return u|0}a[r>>0]=17;o=r+16|0;a[o>>0]=42;p=r+33|0;a[p>>0]=-119;q=r+50|0;a[q>>0]=-4;i=r+4|0;g=vg(i,7,1,1)|0;if(!g){g=Ag(c[i>>2]|0,f,16)|0;if(!g){c[r+60>>2]=qq()|0;f=r+17|0;i=h;k=f+16|0;do{a[f>>0]=a[i>>0]|0;f=f+1|0;i=i+1|0}while((f|0)<(k|0));g=r+8|0;a[g>>0]=a[g>>0]|1;c[r+64>>2]=qq()|0;g=r+68|0;f=g;i=j;k=f+16|0;do{a[f>>0]=a[i>>0]|0;f=f+1|0;i=i+1|0}while((f|0)<(k|0));c[r+52>>2]=g;c[r+56>>2]=d[r+81>>0]<<16|d[r+80>>0]<<24|d[r+82>>0]<<8|d[r+83>>0];if(e&1|0)a[r+51>>0]=1;if((a[r>>0]|0)!=17){c[t>>2]=r;Me(51167,t)}if((a[o>>0]|0)!=42){c[t>>2]=r;Me(51167,t)}if((a[p>>0]|0)!=-119){c[t>>2]=r;Me(51167,t)}if((a[q>>0]|0)==-4){n=0;s=r}else{c[t>>2]=r;Me(51167,t)}}else{n=g;u=13}}else{n=g;u=13}if((u|0)==13){xg(c[i>>2]|0);cf(r);s=0}c[b>>2]=s;u=n;l=v;return u|0}function un(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;if((l|0)>=(m|0))$(16);f=g+8|0;e=g;if((a|0)==0|(b|0)==0|(d|0)!=16){f=45;l=g;return f|0}d=Vn(12644)|0;if(d|0){c[e>>2]=Pn(d)|0;Me(51001,e)}c[17672]=1;kn(b,16,a);c[17672]=0;d=Wn(12644)|0;if(!d){f=0;l=g;return f|0}else{c[f>>2]=Pn(d)|0;Me(51213,f)}return 0}function vn(a){a=a|0;if(!a)return;xg(c[a+4>>2]|0);cf(a);return}function wn(a){a=a|0;if(c[17684]|0)return;c[17684]=1;c[17685]=0;return}function xn(){var a=0,b=0,d=0,e=0;e=l;l=l+16|0;if((l|0)>=(m|0))$(16);d=e+8|0;b=e;a=Vn(12688)|0;if(a|0){c[b>>2]=Pn(a)|0;Me(52234,b)}c[17685]=1;Dn(0,0,0,0)|0;c[17685]=0;a=Wn(12688)|0;if(!a){l=e;return}else{c[d>>2]=Pn(a)|0;Me(52277,d)}}function yn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;if((l|0)>=(m|0))$(32);h=i+16|0;g=i+8|0;f=i;if(!(c[17684]|0)){c[17684]=1;c[17685]=0}e=Vn(12688)|0;if(e|0){c[f>>2]=Pn(e)|0;Me(52234,f)}c[17685]=1;if(!a)Ie(52320,52327,144,52343);c[17686]=a;c[17687]=b;c[17688]=0;a=Dn(5,0,b,(d|0)==2?2:1)|0;if((a|0)<0){c[g>>2]=a;Me(52354,g)}if((c[17688]|0)!=(c[17687]|0)){c[g>>2]=a;Me(52354,g)}c[17685]=0;a=Wn(12688)|0;if(!a){l=i;return}else{c[h>>2]=Pn(a)|0;Me(52277,h)}}function zn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;if(!(c[17685]|0))Ie(52400,52327,124,52421);f=c[17686]|0;if(!f)Ie(52429,52327,125,52421);if(!d)return;g=c[17687]|0;e=d;d=c[17688]|0;while(1){e=e+-1|0;if(d>>>0>=g>>>0){e=9;break}i=a[b>>0]|0;h=d;d=d+1|0;c[17688]=d;a[f+h>>0]=i;if(!e){e=9;break}else b=b+1|0}if((e|0)==9)return}function An(){return c[17689]|0}function Bn(a,b){a=a|0;b=b|0;return}function Cn(a,b){a=a|0;b=b|0;return 0}function Dn(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=l;l=l+944|0;if((l|0)>=(m|0))$(944);C=F+24|0;r=F+16|0;B=F+8|0;A=F;h=F+168|0;y=F+40|0;z=F+32|0;if(!b){g=c[3183]|0;if((g|0)!=-1){Up(g)|0;c[3183]=-1}g=c[3184]|0;if((g|0)==-1){l=F;return 0}Up(g)|0;c[3184]=-1;l=F;return 0}k=Cn(b,e)|0;x=f>>>1;k=f-(f>>>0>1?(k>>>0>x>>>0?x:k):0)|0;if((g|0)>1){g=c[3183]|0;if((g|0)==-1){g=En(52444,(d[71846]|0)&1)|0;c[3183]=g;a[71846]=d[71846]|0|1}}else{g=c[3184]|0;if((g|0)==-1){g=En(52456,(d[71846]|0)&2)|0;c[3184]=g;a[71846]=d[71846]|0|2}}a:do if(!k)E=0;else{u=1<<(g&31);v=y+(g>>>5<<2)|0;w=z+4|0;x=g+1|0;if((g|0)<1024){i=0;j=0;s=0;t=k}else{n=0;o=0;q=k;b:while(1){k=f-q|0;if((n|0)==0&(o|0)==(k|0))n=0;else{pj(52469,88,k,f);n=1;o=k}p=q>>>0<768?q:768;while(1){k=pq(g,h,p)|0;if((k|0)>-1&k>>>0>p>>>0){c[r>>2]=k;Le(52502,r);k=p}if((k|0)!=-1)break;k=c[(zo()|0)>>2]|0;if((k|0)!=4)break b}ub[b&7](h,k,e);q=q-k|0;if(!q){E=n;break a}}r=dp(k)|0;c[C>>2]=r;Me(52540,C)}c:while(1){k=f-t|0;if((j|0)==0&(s|0)==(k|0)){j=0;o=s}else{pj(52469,88,k,f);j=1;o=k}k=y;n=k+128|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(n|0));c[v>>2]=c[v>>2]|u;c[z>>2]=i;k=(i|0)!=0;c[w>>2]=k?0:1e5;switch(nq(x,y,0,0,z)|0){case 0:{n=t;i=3;j=1;break}case -1:{c[A>>2]=dp(c[(zo()|0)>>2]|0)|0;Le(52482,A);n=t;i=k?i:1;break}default:{n=t>>>0<768?t:768;while(1){k=pq(g,h,n)|0;if((k|0)>-1&k>>>0>n>>>0){c[B>>2]=k;Le(52502,B);k=n}if((k|0)!=-1)break;k=c[(zo()|0)>>2]|0;if((k|0)!=4)break c}ub[b&7](h,k,e);n=t-k|0}}if(!n){E=j;break a}else{s=o;t=n}}B=dp(k)|0;c[C>>2]=B;Me(52540,C)}while(0);if(h&7){g=768;do{a[h>>0]=0;h=h+1|0;g=g+-1|0}while((g|0)!=0&(h&7|0)!=0);if(g>>>0>=8)D=36}else{g=768;D=36}if((D|0)==36){j=g+-8|0;k=j&-8;n=k+8|0;i=h;while(1){D=i;c[D>>2]=0;c[D+4>>2]=0;g=g+-8|0;if(g>>>0<=7)break;else i=i+8|0}g=j-k|0;h=h+n|0}if(g|0)while(1){a[h>>0]=0;g=g+-1|0;if(!g)break;else h=h+1|0}if(!E){l=F;return 0}pj(52469,88,f,f);l=F;return 0}function En(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0;o=l;l=l+64|0;if((l|0)>=(m|0))$(64);n=o+48|0;k=o+40|0;j=o+32|0;g=o+24|0;i=o+16|0;h=o+8|0;e=o;f=(b|0)!=0;do if(f){pj(52573,88,1,0);b=Bq(a,0,h)|0;e=(b|0)==-1;if(f&e){b=h+4|0;do{c[h>>2]=5;c[b>>2]=0;pj(52589,88,0,5);nq(0,0,0,0,h)|0;d=Bq(a,0,i)|0}while((d|0)==-1)}else{if(!e){d=b;break}i=zo()|0;i=c[i>>2]|0;i=dp(i)|0;c[g>>2]=a;a=g+4|0;c[a>>2]=i;Me(52605,g)}}else{b=Bq(a,0,e)|0;if((b|0)==-1){i=zo()|0;i=c[i>>2]|0;i=dp(i)|0;c[g>>2]=a;a=g+4|0;c[a>>2]=i;Me(52605,g)}else d=b}while(0);c[j>>2]=0;b=jq(d,1,j)|0;if((b|0)>=0?(c[k>>2]=b|1,(jq(d,2,k)|0)==0):0){l=o;return d|0}k=dp(c[(zo()|0)>>2]|0)|0;c[n>>2]=d;c[n+4>>2]=k;Le(52624,n);l=o;return d|0}function Fn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=a+(d<<2)|0;f=b+(d<<2)|0;g=e&65535;e=e>>>16;b=0;a=0-d|0;do{m=c[f+(a<<2)>>2]|0;l=m&65535;m=m>>>16;k=S(l,g)|0;n=S(m,g)|0;m=S(m,e)|0;l=n+(S(l,e)|0)+(k>>>16)|0;k=(l<<16|k&65535)+b|0;d=h+(a<<2)|0;j=c[d>>2]|0;i=k+j|0;b=(l>>>0<n>>>0?m+65536|0:m)+(l>>>16)+(k>>>0<b>>>0&1)+(i>>>0<j>>>0&1)|0;c[d>>2]=i;a=a+1|0}while((a|0)!=0);return b|0}function Gn(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;if((l|0)>=(m|0))$(48);k=q+32|0;j=q+24|0;i=q+16|0;h=q+8|0;f=q;p=nl(c[b+4>>2]|0)|0;g=lk(b)|0;o=(g+7|0)>>>3;if(nf(1)|0){c[f>>2]=g;c[f+4>>2]=e;Oe(52663,f)}n=g+-1|0;if(g>>>0<32){f=0;while(1){cf(f);f=Cj(o,e)|0;Rk(p,f,o,0);k=(mk(p,n)|0)==0;ok(p,n);if(k)qk(p,n);if((wk(p,b)|0)>=0){if(!(nf(1)|0))continue;Oe(52710,h);continue}if((vk(p,0)|0)>0)break;if(!(nf(1)|0))continue;Oe(52732,i)}cf(f);l=q;return p|0}else f=0;while(1){if(!f){cf(0);f=Cj(o,e)|0}else{i=Cj(4,e)|0;h=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;a[f>>0]=h;a[f+1>>0]=h>>8;a[f+2>>0]=h>>16;a[f+3>>0]=h>>24;cf(i)}Rk(p,f,o,0);i=(mk(p,n)|0)==0;ok(p,n);if(i)qk(p,n);if((wk(p,b)|0)>=0){if(!(nf(1)|0))continue;Oe(52710,j);continue}if((vk(p,0)|0)>0)break;if(!(nf(1)|0))continue;Oe(52732,k)}cf(f);l=q;return p|0}function Hn(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+32|0;if((l|0)>=(m|0))$(32);j=v+16|0;t=v+12|0;u=v+8|0;q=v+4|0;r=v;c[t>>2]=0;c[u>>2]=0;c[q>>2]=0;c[r>>2]=0;o=lk(b)|0;if(!((f|0)!=0&((e|0)!=0&(o|0)!=0))){a=32816;l=v;return a|0}if((sh(g)|0)!=(f|0)){a=5;l=v;return a|0}s=_e(f)|0;a:do if(s){Yq(s|0,1,f|0)|0;p=df(1,f)|0;if(!p){g=0;d=0;i=Sn()|0;break}k=(o+7|0)>>>3;i=In(t,d,k)|0;if(!i){n=f<<3;i=Sk(j,5,e,f&536870911,0)|0;if(i|0){g=0;d=p;break}if(n>>>0>o>>>0){e=c[j>>2]|0;sk(e,e,n-o|0)}if((wk(c[j>>2]|0,b)|0)>-1){e=c[j>>2]|0;hk(e,e,b)}i=In(u,c[j>>2]|0,k)|0;tl(c[j>>2]|0);if(!i){i=eh(q,g,3)|0;if(!i){i=nh(c[q>>2]|0,p,f)|0;if(!i){lh(c[q>>2]|0,s,f);lh(c[q>>2]|0,71847,1);d=c[t>>2]|0;lh(c[q>>2]|0,d,k);e=c[u>>2]|0;lh(c[q>>2]|0,e,k);cr(p|0,ph(c[q>>2]|0,0)|0,f|0)|0;i=nh(c[q>>2]|0,p,f)|0;if(!i){lh(c[q>>2]|0,s,f);cr(s|0,ph(c[q>>2]|0,0)|0,f|0)|0;i=nh(c[q>>2]|0,p,f)|0;if(!i){lh(c[q>>2]|0,s,f);lh(c[q>>2]|0,52752,1);lh(c[q>>2]|0,d,k);lh(c[q>>2]|0,e,k);cr(p|0,ph(c[q>>2]|0,0)|0,f|0)|0;i=nh(c[q>>2]|0,p,f)|0;if(!i){lh(c[q>>2]|0,s,f);cr(s|0,ph(c[q>>2]|0,0)|0,f|0)|0;g=_e(k+f|0)|0;if(!g){g=0;d=p;i=Sn()|0;break}else e=h;while(1){while(1){d=0;do{i=nh(c[q>>2]|0,p,f)|0;if(i|0){d=p;break a}lh(c[q>>2]|0,s,f);cr(s|0,ph(c[q>>2]|0,0)|0,f|0)|0;cr(g+(d>>>3)|0,s|0,f|0)|0;d=d+n|0}while(d>>>0<o>>>0);tl(c[r>>2]|0);c[r>>2]=0;i=Sk(r,5,g,d>>>3,0)|0;if(i|0){d=p;break a}if(d>>>0>o>>>0){h=c[r>>2]|0;sk(h,h,d-o|0)}if((wk(c[r>>2]|0,b)|0)<0?(vk(c[r>>2]|0,0)|0)>0:0)break;i=nh(c[q>>2]|0,p,f)|0;if(i|0){d=p;break a}lh(c[q>>2]|0,s,f);lh(c[q>>2]|0,71847,1);cr(p|0,ph(c[q>>2]|0,0)|0,f|0)|0;i=nh(c[q>>2]|0,p,f)|0;if(i|0){d=p;break a}lh(c[q>>2]|0,s,f);cr(s|0,ph(c[q>>2]|0,0)|0,f|0)|0}if(!e){d=p;i=0;break a}i=nh(c[q>>2]|0,p,f)|0;if(i|0){d=p;break a}lh(c[q>>2]|0,s,f);lh(c[q>>2]|0,71847,1);cr(p|0,ph(c[q>>2]|0,0)|0,f|0)|0;i=nh(c[q>>2]|0,p,f)|0;if(i|0){d=p;break a}lh(c[q>>2]|0,s,f);cr(s|0,ph(c[q>>2]|0,0)|0,f|0)|0;e=e+-1|0}}else{g=0;d=p}}else{g=0;d=p}}else{g=0;d=p}}else{g=0;d=p}}else{g=0;d=p}}else{g=0;d=p}}else{g=0;d=p}}else{g=0;d=0;i=Sn()|0}while(0);cf(g);kh(c[q>>2]|0);cf(c[u>>2]|0);cf(c[t>>2]|0);cf(d);cf(s);d=c[r>>2]|0;if(!i){c[a>>2]=d;a=0;l=v;return a|0}else{tl(d);a=i;l=v;return a|0}return 0}function In(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;if((l|0)>=(m|0))$(16);g=h;e=Tk(5,0,0,g,b)|0;if(e|0){a=e;l=h;return a|0}e=c[g>>2]|0;if(e>>>0>d>>>0){a=67;l=h;return a|0}f=e>>>0<d>>>0?d-e|0:0;e=f+e|0;if((b|0)!=0?(c[b+12>>2]&1|0)!=0:0)d=$e(e)|0;else d=_e(e)|0;if(!d){a=Sn()|0;l=h;return a|0}if(f|0)Yq(d|0,0,f|0)|0;e=c[g>>2]|0;c[g>>2]=e+f;e=Tk(5,d+f|0,e,0,b)|0;if(!e){c[a>>2]=d;a=0;l=h;return a|0}else{cf(d);a=e;l=h;return a|0}return 0}function Jn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;if((l|0)>=(m|0))$(16);e=g+4|0;f=g;if((a|0)!=0?(c[a+12>>2]&4|0)!=0:0){a=wl(a,e)|0;a=Sk(f,5,a,((c[e>>2]|0)+7|0)>>>3,0)|0;if(a|0){f=a;l=g;return f|0}a=c[e>>2]|0;if(a>>>0>d>>>0){e=c[f>>2]|0;sk(e,e,a-d|0)}}else c[f>>2]=a;c[b>>2]=c[f>>2];f=0;l=g;return f|0}function Kn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=l;l=l+32|0;if((l|0)>=(m|0))$(32);v=A;w=A+24|0;x=A+12|0;y=A+8|0;u=A+4|0;if(nf(1)|0)Se(52754,a);o=b+32|0;h=Jn(a,y,lk(c[o>>2]|0)|0)|0;if(h|0){a=h;l=A;return a|0}c[w>>2]=0;p=ll(0)|0;q=ll(0)|0;r=ll(0)|0;s=ll(0)|0;Pj(x);t=Uj(c[b>>2]|0,c[b+4>>2]|0,0,c[b+8>>2]|0,c[b+12>>2]|0,c[b+16>>2]|0)|0;n=(f&2|0)!=0&(g|0)!=0;i=(a|0)==0;j=a+12|0;k=b+56|0;b=b+20|0;h=0;a:while(1){if(n)do{tl(c[w>>2]|0);c[w>>2]=0;if(i){f=70;break a}if(!(c[j>>2]&4)){f=70;break a}f=wl(a,u)|0;f=Hn(w,c[o>>2]|0,c[k>>2]|0,f,((c[u>>2]|0)+7|0)>>>3,g,h)|0;if(f|0)break a;h=h+1|0;ck(x,c[w>>2]|0,b,t);if(Nj(s,0,x,t)|0){z=12;break a}Gk(d,s,c[o>>2]|0)}while((vk(d,0)|0)==0);else do{tl(c[w>>2]|0);c[w>>2]=0;f=Gn(c[o>>2]|0,1)|0;c[w>>2]=f;ck(x,f,b,t);if(Nj(s,0,x,t)|0){z=12;break a}Gk(d,s,c[o>>2]|0)}while(!(vk(d,0)|0));Lk(p,c[k>>2]|0,d,c[o>>2]|0);ik(q,c[y>>2]|0,p,c[o>>2]|0);Fk(r,c[w>>2]|0,c[o>>2]|0)|0;Lk(e,r,q,c[o>>2]|0);if(vk(e,0)|0){z=16;break}}if((z|0)==12)if(!(nf(1)|0))f=8;else{Oe(52831,v);f=8}else if((z|0)==16)if(!(nf(1)|0))f=0;else{Se(52772,d);Se(52793,e);f=0}Yj(t);Rj(x);tl(s);tl(r);tl(q);tl(p);tl(c[w>>2]|0);h=c[y>>2]|0;if((h|0)==(a|0)){a=f;l=A;return a|0}tl(h);a=f;l=A;return a|0}function Ln(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+64|0;if((l|0)>=(m|0))$(64);o=t+8|0;n=t;p=t+48|0;q=t+36|0;r=t+24|0;s=t+12|0;if((vk(d,0)|0)<=0){a=8;l=t;return a|0}g=b+32|0;if((wk(d,c[g>>2]|0)|0)>=0){a=8;l=t;return a|0}if((vk(e,0)|0)<=0){a=8;l=t;return a|0}if((wk(e,c[g>>2]|0)|0)>=0){a=8;l=t;return a|0}f=Jn(a,p,lk(c[g>>2]|0)|0)|0;if(f|0){a=f;l=t;return a|0}f=ll(0)|0;h=ll(0)|0;i=ll(0)|0;j=ll(0)|0;Pj(q);Pj(r);Pj(s);k=Uj(c[b>>2]|0,c[b+4>>2]|0,0,c[b+8>>2]|0,c[b+12>>2]|0,c[b+16>>2]|0)|0;Fk(f,e,c[g>>2]|0)|0;Lk(h,c[p>>2]|0,f,c[g>>2]|0);ck(r,h,b+20|0,k);Lk(i,d,f,c[g>>2]|0);ck(s,i,b+44|0,k);ak(q,r,s,k);do if(!(vk(c[q+8>>2]|0,0)|0))if(!(nf(1)|0))b=8;else{Oe(52915,n);b=8}else{if(Nj(j,0,q,k)|0){if(!(nf(1)|0)){b=8;break}Oe(52937,o);b=8;break}Gk(j,j,c[g>>2]|0);if(wk(j,d)|0)if(!(nf(1)|0))b=8;else{Se(52983,j);Se(52990,d);Se(52997,e);b=8}else b=0}while(0);Yj(k);Rj(s);Rj(r);Rj(q);tl(j);tl(i);tl(h);tl(f);f=c[p>>2]|0;if((f|0)==(a|0)){a=b;l=t;return a|0}tl(f);a=b;l=t;return a|0}function Mn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+32|0;if((l|0)>=(m|0))$(32);s=v;t=v+12|0;u=v+8|0;g=v+4|0;if(nf(1)|0)Se(52814,a);r=b+32|0;h=lk(c[r>>2]|0)|0;if((a|0)!=0?(c[a+12>>2]&4|0)!=0:0){f=wl(a,g)|0;f=Sk(u,5,f,((c[g>>2]|0)+7|0)>>>3,0)|0;if(f|0){a=f;l=v;return a|0}f=c[g>>2]|0;if(f>>>0>h>>>0){q=c[u>>2]|0;sk(q,q,f-h|0)}}else c[u>>2]=a;j=ll(0)|0;k=ll(0)|0;n=ll(0)|0;o=ll(0)|0;p=ll(0)|0;Pj(t);q=Uj(c[b>>2]|0,c[b+4>>2]|0,0,c[b+8>>2]|0,c[b+12>>2]|0,c[b+16>>2]|0)|0;Gk(o,a,c[r>>2]|0);if(!(vk(o,0)|0))El(o,1)|0;i=b+20|0;g=b+56|0;f=0;a:while(1){h=f;do{tl(h);h=Gn(c[r>>2]|0,1)|0;ck(t,h,i,q);if(Nj(p,0,t,q)|0){f=14;break a}Gk(d,p,c[r>>2]|0)}while(!(vk(d,0)|0));Lk(j,c[g>>2]|0,d,c[r>>2]|0);Lk(n,h,o,c[r>>2]|0);ik(e,n,j,c[r>>2]|0);if(!(vk(e,0)|0))f=h;else{f=18;break}}if((f|0)==14)if(!(nf(1)|0))g=8;else{Oe(52831,s);g=8}else if((f|0)==18)if(!(nf(1)|0))g=0;else{Se(52875,d);Se(52895,e);g=0}Yj(q);Rj(t);tl(p);tl(o);tl(n);tl(k);tl(j);tl(h);f=c[u>>2]|0;if((f|0)==(a|0)){a=g;l=v;return a|0}tl(f);a=g;l=v;return a|0}function Nn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+64|0;if((l|0)>=(m|0))$(64);j=x+24|0;i=x+16|0;h=x+8|0;g=x;u=x+52|0;v=x+40|0;w=x+28|0;if((vk(d,0)|0)<=0){w=8;l=x;return w|0}f=b+32|0;if((wk(d,c[f>>2]|0)|0)>=0){w=8;l=x;return w|0}if((vk(e,0)|0)<=0){w=8;l=x;return w|0}if((wk(e,c[f>>2]|0)|0)>=0){w=8;l=x;return w|0}k=ll(0)|0;n=ll(0)|0;o=ll(0)|0;p=ll(0)|0;q=ll(0)|0;r=ll(0)|0;s=ll(0)|0;Pj(u);Pj(v);Pj(w);t=Uj(c[b>>2]|0,c[b+4>>2]|0,0,c[b+8>>2]|0,c[b+12>>2]|0,c[b+16>>2]|0)|0;Gk(n,a,c[f>>2]|0);if(!(vk(n,0)|0))El(n,1)|0;Fk(q,n,c[f>>2]|0)|0;Lk(o,e,q,c[f>>2]|0);Lk(r,d,q,c[f>>2]|0);jk(p,s,r,c[f>>2]|0);ck(v,o,b+20|0,t);ck(w,p,b+44|0,t);ak(u,v,w,t);do if(!(vk(c[u+8>>2]|0,0)|0))if(!(nf(1)|0))a=8;else{Oe(52915,g);a=8}else{if(Nj(k,0,u,t)|0){if(!(nf(1)|0)){a=8;break}Oe(52937,h);a=8;break}Gk(k,k,c[f>>2]|0);h=(wk(k,d)|0)==0;a=(nf(1)|0)!=0;if(h){if(!a){a=0;break}Oe(53030,j);a=0;break}else{if(!a){a=8;break}Se(52983,k);Se(52990,d);Se(52997,e);Oe(53004,i);a=8;break}}while(0);Yj(t);Rj(w);Rj(v);Rj(u);tl(s);tl(r);tl(q);tl(p);tl(o);tl(k);tl(n);w=a;l=x;return w|0}function On(){return ao()|0}function Pn(a){a=a|0;return ho(a)|0}function Qn(a){a=a|0;return jo(a)|0}function Rn(a){a=a|0;return io(a)|0}function Sn(){return ko()|0}function Tn(a){a=a|0;bo(a);return}function Un(a){a=a|0;return Yn(a)|0}function Vn(a){a=a|0;return Zn(a)|0}function Wn(a){a=a|0;return _n(a)|0}function Xn(a){a=a|0;return $n(a)|0}function Yn(a){a=a|0;switch(c[a>>2]|0){case 0:{c[a>>2]=1;break}case 1:break;default:Da(53052,53072,114,53085)}a=xa(a+4|0,0)|0;if(!a){a=0;return a|0}a=Qn(a)|0;return a|0}function Zn(a){a=a|0;if((c[a>>2]|0)!=1)Da(53052,53072,114,53085);a=Zq(a+4|0)|0;if(!a){a=0;return a|0}a=Qn(a)|0;return a|0}function _n(a){a=a|0;if((c[a>>2]|0)!=1)Da(53052,53072,114,53085);a=hr(a+4|0)|0;if(!a){a=0;return a|0}a=Qn(a)|0;return a|0}function $n(a){a=a|0;var b=0,d=0;if((c[a>>2]|0)!=1)Da(53052,53072,114,53085);b=a+4|0;d=Ua(b|0)|0;if(!d){c[a>>2]=1;a=b+40|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(a|0));d=0;return d|0}else{d=Qn(d)|0;return d|0}return 0}function ao(){co()|0;return 0}function bo(a){a=a|0;c[(zo()|0)>>2]=a;return}function co(){if(c[17690]|0)return 0;c[17690]=1;ib(3)|0;return 0}function eo(){fo(0)|0;c[17691]=0;c[17692]=0;return}function fo(b){b=b|0;var d=0,e=0,f=0,g=0;if(b|0){e=b+36|0;d=c[e>>2]|0;if(!(a[d+1140>>0]&32))Zn(d+1040|0)|0;if(!(c[b>>2]&65536)){c[b+12>>2]=0;c[b+16>>2]=0;c[b+32>>2]=0;b=0}else b=go(b)|0;d=c[e>>2]|0;if(a[d+1140>>0]&32){g=b;g=(g|0)!=0;g=g<<31>>31;return g|0}_n(d+1040|0)|0;g=b;g=(g|0)!=0;g=g<<31>>31;return g|0}Zn(12740)|0;b=c[17693]|0;if(!b)d=0;else{d=0;do{g=b+4|0;f=c[g>>2]|0;if(f){e=c[f+36>>2]|0;if(!(a[e+1140>>0]&32)){Zn(e+1040|0)|0;f=c[g>>2]|0}if(!(c[f>>2]&65536)){c[f+12>>2]=0;c[f+16>>2]=0;c[f+32>>2]=0;e=0}else{e=go(f)|0;f=c[g>>2]|0}d=e|d;e=c[f+36>>2]|0;if(!(a[e+1140>>0]&32))_n(e+1040|0)|0}b=c[b>>2]|0}while((b|0)!=0)}_n(12740)|0;g=d;g=(g|0)!=0;g=g<<31>>31;return g|0}function go(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=b+36|0;d=c[j>>2]|0;h=c[d+1108>>2]|0;if(!(c[b>>2]&65536))Da(53101,53123,1654,53133);i=b+16|0;e=c[i>>2]|0;if(!e){j=0;return j|0}do if(h){g=b+4|0;a:do if((e|0)>0){d=0;f=e;while(1){e=pb[h&63](c[(c[j>>2]|0)+1084>>2]|0,(c[g>>2]|0)+d|0,f)|0;f=(e|0)==-1;d=(f?0:e)+d|0;e=c[i>>2]|0;if(f){f=d;g=-1;break a}f=e-d|0;if((f|0)<=0){f=d;g=0;break}}}else{f=0;g=0}while(0);d=b+20|0;c[d>>2]=(c[d>>2]|0)+f;if((e|0)==(f|0)){b=c[j>>2]|0;f=b+1100|0;c[f>>2]=(c[f>>2]|0)+e;c[i>>2]=0;c[d>>2]=0;pb[h&63](c[b+1084>>2]|0,0,0)|0}if(!g){j=0;return j|0}else{e=-1;d=c[j>>2]|0;break}}else e=95;while(0);j=d+1136|0;a[j>>0]=a[j>>0]|1;j=e;return j|0}function ho(a){a=a|0;var b=0,d=0;b=a&65535;a:do if(!(a&32768)){if(b>>>0>=214){if((b+-222|0)>>>0<33){b=b+-8|0;break}if((b+-257|0)>>>0<15){b=b+-10|0;break}if((b+-273|0)>>>0<9){b=b+-11|0;break}if((b+-721|0)>>>0<9){b=b+-450|0;break}if((b+-750|0)>>>0<3){b=b+-470|0;break}if((b+-754|0)>>>0<29){b=b+-471|0;break}if((b+-784|0)>>>0<6){b=b+-472|0;break}if((b+-800|0)>>>0<5){b=b+-482|0;break}if((b+-815|0)>>>0<8){b=b+-492|0;break}if((a&65528|0)==832){b=b+-501|0;break}switch((a&65535)<<16>>16){case 844:{b=339;break a}case 848:{b=340;break a}default:{}}if((b+-881|0)>>>0<11){b=b+-540|0;break}if((a&65520|0)==1024)b=b+-672|0;else d=31}}else{b=Rn(b)|0;if(!b){b=16382;d=31}else{d=dp(b)|0;return d|0}}while(0);if((d|0)==31)b=(b+-16381|0)>>>0<3?b+-16013|0:371;d=53142+(c[12784+(b<<2)>>2]|0)|0;return d|0}function io(a){a=a|0;var b=0;if((a&32768|0)!=0?(b=a&-32769,b>>>0<141):0)a=c[14272+(b<<2)>>2]|0;else a=0;return a|0}function jo(a){a=a|0;var b=0;if(!a){a=0;return a|0}b=a+-1|0;do if(b>>>0>=11)if((a+-11|0)>>>0>=25){if((a+-35|0)>>>0<6){b=a+1|0;break}if((a+-42|0)>>>0>=16)if((a+-59|0)>>>0<37){if((b|0)<0)b=16382;else break;return b|0}else{if((a+-95|0)>>>0<31){b=a;break}else b=16382;return b|0}else b=a}else b=a;while(0);a=c[14836+(b<<2)>>2]|32768;return a|0}function ko(){var a=0,b=0;b=c[(zo()|0)>>2]|0;if(!b){b=16381;return b|0}a=b+-1|0;do if(a>>>0>=11)if((b+-11|0)>>>0>=25){if((b+-35|0)>>>0<6){a=b+1|0;break}if((b+-42|0)>>>0>=16)if((b+-59|0)>>>0<37){if((a|0)<0)a=16382;else break;return a|0}else{if((b+-95|0)>>>0<31){a=b;break}else a=16382;return a|0}else a=b}else a=b;while(0);b=c[14836+(a<<2)>>2]|32768;return b|0}function lo(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=d;h=vd(c[h>>2]|0,c[h+4>>2]|0)|0;e=D;f=b;g=f;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;f=f+4|0;a[f>>0]=e;a[f+1>>0]=e>>8;a[f+2>>0]=e>>16;a[f+3>>0]=e>>24;f=Xp(c[d+8>>2]|0)|0;e=b+8|0;a[e>>0]=f;a[e+1>>0]=f>>8;a[e+2>>0]=f>>16;a[e+3>>0]=f>>24;e=b+12|0;b=d+12|0;d=e+12|0;do{a[e>>0]=a[b>>0]|0;e=e+1|0;b=b+1|0}while((e|0)<(d|0));return}function mo(b,e){b=b|0;e=e|0;var f=0,g=0;g=e;f=g;g=g+4|0;g=wd(d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24,d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24)|0;f=b;c[f>>2]=g;c[f+4>>2]=D;f=e+8|0;c[b+8>>2]=Yp(d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24)|0;f=b+12|0;b=e+12|0;e=f+12|0;do{a[f>>0]=a[b>>0]|0;f=f+1|0;b=b+1|0}while((f|0)<(e|0));return}function no(a,b){a=a|0;b=b|0;var d=0;d=Fo(a)|0;if(d>>>0>11){d=-1;return d|0};c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;cr(b+12|0,a|0,d|0)|0;d=1;return d|0}function oo(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+32|0;if((l|0)>=(m|0))$(32);t=v+16|0;k=v+8|0;g=v;f=b+12|0;if((a[f>>0]|0?(e=d+12|0,a[e>>0]|0):0)?(Op(f,e)|0)==0:0){i=b;h=c[i>>2]|0;i=c[i+4>>2]|0;g=c[b+8>>2]|0;f=d;j=c[f>>2]|0;f=c[f+4>>2]|0;e=c[d+8>>2]|0;a:do if((h|0)==-1&(i|0)==-1)u=14;else{b=i;while(1){if(g>>>0<=99999999){o=g;p=h;r=b;break a}g=g+-1e8|0;h=_q(h|0,b|0,1,0)|0;b=D;if((h|0)==-1&(b|0)==-1){u=14;break}}}while(0);if((u|0)==14)if(g>>>0>99999999){if((c[3836]|0)==-1)c[3836]=Wb(1,0,61157,61166,353)|0;if((Xb()|0)>0){Yb(-1,0);Vb()}if(!(c[3836]|0))Vb();c[k>>2]=61157;c[k+4>>2]=353;Zb(1,61295,k);Vb()}else{o=g;p=-1;r=-1}b:do if((j|0)==-1&(f|0)==-1)u=25;else{g=j;while(1){if(e>>>0<=99999999){n=e;q=g;s=f;break b}e=e+-1e8|0;g=_q(g|0,f|0,1,0)|0;f=D;if((g|0)==-1&(f|0)==-1){u=25;break}}}while(0);if((u|0)==25)if(e>>>0>99999999){if((c[3837]|0)==-1)c[3837]=Wb(1,0,61157,61166,355)|0;if((Xb()|0)>0){Yb(-1,0);Vb()}if(!(c[3837]|0))Vb();c[t>>2]=61157;c[t+4>>2]=355;Zb(1,61295,t);Vb()}else{n=e;q=-1;s=-1}if(!((p|0)==(q|0)&(r|0)==(s|0))){u=r>>>0<s>>>0|(r|0)==(s|0)&p>>>0<q>>>0?-1:1;l=v;return u|0}if(o>>>0<n>>>0){u=-1;l=v;return u|0}u=o>>>0>n>>>0&1;l=v;return u|0}if((c[3835]|0)==-1)c[3835]=Wb(1,0,61157,61166,349)|0;if((Xb()|0)>0){Yb(-1,0);Vb()}if(!(c[3835]|0))Vb();c[g>>2]=61157;c[g+4>>2]=349;Zb(1,61295,g);Vb();return 0}function po(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;if(!(a[b+12>>0]|0)){b=-1;return b|0}h=b+8|0;e=b;g=c[e>>2]|0;e=c[e+4>>2]|0;f=c[h>>2]|0;a:do if((g|0)==-1&(e|0)==-1){e=0;d=f}else{d=0;while(1){if(f>>>0<=99999999)break;f=f+-1e8|0;c[h>>2]=f;g=_q(g|0,e|0,1,0)|0;e=D;d=b;c[d>>2]=g;c[d+4>>2]=e;if((g|0)==-1&(e|0)==-1){e=1;d=f;break a}else d=1}return d|0}while(0);if(d>>>0<=99999999){b=e;return b|0};c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;b=-1;return b|0}function qo(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+48|0;if((l|0)>=(m|0))$(48);r=s+32|0;q=s+24|0;o=s;g=d+12|0;if((a[g>>0]|0?(f=e+12|0,a[f>>0]|0):0)?(Op(g,f)|0)==0:0){c[o>>2]=c[d>>2];c[o+4>>2]=c[d+4>>2];c[o+8>>2]=c[d+8>>2];c[o+12>>2]=c[d+12>>2];c[o+16>>2]=c[d+16>>2];c[o+20>>2]=c[d+20>>2];d=e;i=c[d>>2]|0;d=c[d+4>>2]|0;f=c[e+8>>2]|0;n=o+12|0;do if(a[n>>0]|0){k=o+8|0;h=o;e=c[h>>2]|0;h=c[h+4>>2]|0;g=c[k>>2]|0;a:do if((e|0)==-1&(h|0)==-1)p=9;else while(1){if(g>>>0<=99999999)break a;g=g+-1e8|0;c[k>>2]=g;e=_q(e|0,h|0,1,0)|0;h=D;j=o;c[j>>2]=e;c[j+4>>2]=h;if((e|0)==-1&(h|0)==-1){p=9;break}}while(0);if((p|0)==9)if(g>>>0>99999999){c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;c[o+16>>2]=0;c[o+20>>2]=0;break}else{e=-1;h=-1}b:do if((i|0)==-1&(d|0)==-1)p=14;else while(1){if(f>>>0<=99999999){j=d;break b}f=f+-1e8|0;i=_q(i|0,d|0,1,0)|0;d=D;if((i|0)==-1&(d|0)==-1){p=14;break}}while(0);if((p|0)==14)if(f>>>0>99999999)break;else{j=-1;i=-1}do if(g>>>0<f>>>0){if(!((e|0)==0&(h|0)==0)){g=g+1e8|0;c[k>>2]=g;e=_q(e|0,h|0,-1,-1)|0;h=D;p=o;c[p>>2]=e;c[p+4>>2]=h;break};c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;r=-1;l=s;return r|0}while(0);if(h>>>0<j>>>0|(h|0)==(j|0)&e>>>0<i>>>0){c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;r=-1;l=s;return r|0}d=Fo(n)|0;if(d>>>0>11){if((c[3838]|0)==-1)c[3838]=Wb(1,0,61157,61183,421)|0;if((Xb()|0)>0){Yb(-1,0);Vb()}if(!(c[3838]|0))Vb();c[q>>2]=61157;c[q+4>>2]=421;Zb(1,61295,q);Vb()};c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;cr(b+12|0,n|0,d|0)|0;if(g>>>0>=f>>>0){r=g-f|0;c[b+8>>2]=r;p=Xq(e|0,h|0,i|0,j|0)|0;q=D;c[b>>2]=p;c[b+4>>2]=q;r=(p|0)==0&(q|0)==0&(r|0)==0&1^1;l=s;return r|0}if((c[3839]|0)==-1)c[3839]=Wb(1,0,61157,61183,422)|0;if((Xb()|0)>0){Yb(-1,0);Vb()}if(!(c[3839]|0))Vb();c[r>>2]=61157;c[r+4>>2]=422;Zb(1,61295,r);Vb()}while(0);c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;r=-1;l=s;return r|0};c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;r=-1;l=s;return r|0}function ro(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+32|0;if((l|0)>=(m|0))$(32);o=r;q=r+8|0;n=d+12|0;if((a[n>>0]|0?(f=e+12|0,a[f>>0]|0):0)?(Op(n,f)|0)==0:0){g=d;i=c[g>>2]|0;g=c[g+4>>2]|0;d=c[d+8>>2]|0;j=e;h=c[j>>2]|0;j=c[j+4>>2]|0;f=c[e+8>>2]|0;a:do if((i|0)==-1&(g|0)==-1)p=8;else{e=i;while(1){if(d>>>0<=99999999){k=d;i=e;p=9;break a}d=d+-1e8|0;e=_q(e|0,g|0,1,0)|0;g=D;if((e|0)==-1&(g|0)==-1){p=8;break}}}while(0);if((p|0)==8?d>>>0<=99999999:0){k=d;i=-1;g=-1;p=9}do if((p|0)==9){b:do if((h|0)==-1&(j|0)==-1)p=12;else{e=j;while(1){if(f>>>0<=99999999)break b;f=f+-1e8|0;h=_q(h|0,e|0,1,0)|0;e=D;if((h|0)==-1&(e|0)==-1){p=12;break}}}while(0);if((p|0)==12)if(f>>>0>99999999)break;else{h=-1;e=-1}d=Fo(n)|0;if(d>>>0>11){if((c[3840]|0)==-1)c[3840]=Wb(1,0,61157,61205,468)|0;if((Xb()|0)>0){Yb(-1,0);Vb()}if(!(c[3840]|0))Vb();c[o>>2]=61157;c[o+4>>2]=468;Zb(1,61295,o);Vb()}Yq(q+d|0,0,12-d|0)|0;cr(q|0,n|0,d|0)|0;e=_q(h|0,e|0,i|0,g|0)|0;d=D;if(d>>>0<g>>>0|(d|0)==(g|0)&e>>>0<i>>>0){c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;b=-1;l=r;return b|0}f=f+k|0;do if(a[q>>0]|0){c:do if((e|0)==-1&(d|0)==-1)p=28;else while(1){if(f>>>0<=99999999)break c;f=f+-1e8|0;e=_q(e|0,d|0,1,0)|0;d=D;if((e|0)==-1&(d|0)==-1){p=28;break}}while(0);if((p|0)==28)if(f>>>0>99999999){c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;break}else{e=-1;d=-1}p=b;c[p>>2]=e;c[p+4>>2]=d;c[b+8>>2]=f;b=b+12|0;c[b>>2]=c[q>>2];c[b+4>>2]=c[q+4>>2];c[b+8>>2]=c[q+8>>2];b=1;l=r;return b|0}while(0);c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;b=-1;l=r;return b|0}while(0);c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;b=-1;l=r;return b|0};c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;b=-1;l=r;return b|0}function so(){var a=0,b=0,d=0;d=l;l=l+16|0;if((l|0)>=(m|0))$(16);b=d+8|0;a=d;xe(6,0);if(!(yd(61222)|0)){iq(61228,27,1,c[3935]|0)|0;za()}else{c[a>>2]=0;zd(37,a)|0;c[b>>2]=0;zd(38,b)|0;l=d;return}}function to(a,b,d){a=a|0;b=b|0;d=d|0;a=l;l=l+16|0;if((l|0)>=(m|0))$(16);b=a;a=c[3935]|0;c[b>>2]=d;Rp(a,61256,b)|0;za()}function uo(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;h=l;l=l+32|0;if((l|0)>=(m|0))$(32);g=h+16|0;i=h;j=h+24|0;c[j>>2]=Xp(e)|0;c[i>>2]=61323;c[i+4>>2]=21;c[i+8>>2]=0;c[i+12>>2]=0;if((Hc(f,64,j,4,b,64,i)|0)==1){a[f>>0]=(d[f>>0]|0)&63|64;j=f+31|0;a[j>>0]=(d[j>>0]|0)&248;l=h;return}if((c[3841]|0)==-1)c[3841]=Wb(1,0,61286,61345,197)|0;if((Xb()|0)>0){Yb(-1,0);Vb()}if(!(c[3841]|0))Vb();c[g>>2]=61286;c[g+4>>2]=197;Zb(1,61295,g);Vb()}function vo(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;if((l|0)>=(m|0))$(16);d=b;c[d>>2]=Co(c[a+60>>2]|0)|0;a=yo(cb(6,d|0)|0)|0;l=b;return a|0}function wo(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;g=l;l=l+32|0;if((l|0)>=(m|0))$(32);f=g;c[b+36>>2]=25;if((c[b>>2]&64|0)==0?(c[f>>2]=c[b+60>>2],c[f+4>>2]=21523,c[f+8>>2]=g+16,Za(54,f|0)|0):0)a[b+75>>0]=-1;f=Bo(b,d,e)|0;l=g;return f|0}function xo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=l;l=l+32|0;if((l|0)>=(m|0))$(32);g=f;e=f+20|0;c[g>>2]=c[a+60>>2];c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;if((yo(jb(140,g|0)|0)|0)<0){c[e>>2]=-1;a=-1}else a=c[e>>2]|0;l=f;return a|0}function yo(a){a=a|0;if(a>>>0>4294963200){c[(zo()|0)>>2]=0-a;a=-1}return a|0}function zo(){return (Ao()|0)+64|0}function Ao(){return 15492}function Bo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0;o=l;l=l+48|0;if((l|0)>=(m|0))$(48);k=o+16|0;g=o;f=o+32|0;i=a+28|0;e=c[i>>2]|0;c[f>>2]=e;j=a+20|0;e=(c[j>>2]|0)-e|0;c[f+4>>2]=e;c[f+8>>2]=b;c[f+12>>2]=d;e=e+d|0;h=a+60|0;c[g>>2]=c[h>>2];c[g+4>>2]=f;c[g+8>>2]=2;g=yo(nb(146,g|0)|0)|0;a:do if((e|0)!=(g|0)){b=2;while(1){if((g|0)<0)break;e=e-g|0;q=c[f+4>>2]|0;p=g>>>0>q>>>0;f=p?f+8|0:f;b=(p<<31>>31)+b|0;q=g-(p?q:0)|0;c[f>>2]=(c[f>>2]|0)+q;p=f+4|0;c[p>>2]=(c[p>>2]|0)-q;c[k>>2]=c[h>>2];c[k+4>>2]=f;c[k+8>>2]=b;g=yo(nb(146,k|0)|0)|0;if((e|0)==(g|0)){n=3;break a}}c[a+16>>2]=0;c[i>>2]=0;c[j>>2]=0;c[a>>2]=c[a>>2]|32;if((b|0)==2)d=0;else d=d-(c[f+4>>2]|0)|0}else n=3;while(0);if((n|0)==3){q=c[a+44>>2]|0;c[a+16>>2]=q+(c[a+48>>2]|0);c[i>>2]=q;c[j>>2]=q}l=o;return d|0}function Co(a){a=a|0;return a|0}function Do(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,n=0;k=l;l=l+32|0;if((l|0)>=(m|0))$(32);f=k;i=k+16|0;c[i>>2]=d;g=i+4|0;j=b+48|0;n=c[j>>2]|0;c[g>>2]=e-((n|0)!=0&1);h=b+44|0;c[i+8>>2]=c[h>>2];c[i+12>>2]=n;c[f>>2]=c[b+60>>2];c[f+4>>2]=i;c[f+8>>2]=2;f=yo(mb(145,f|0)|0)|0;if((f|0)>=1){i=c[g>>2]|0;if(f>>>0>i>>>0){g=c[h>>2]|0;h=b+4|0;c[h>>2]=g;c[b+8>>2]=g+(f-i);if(!(c[j>>2]|0))f=e;else{c[h>>2]=g+1;a[d+(e+-1)>>0]=a[g>>0]|0;f=e}}}else c[b>>2]=c[b>>2]|f&48^16;l=k;return f|0}function Eo(){return 70776}function Fo(b){b=b|0;var d=0,e=0,f=0;f=b;a:do if(!(f&3))e=4;else{d=f;while(1){if(!(a[b>>0]|0)){b=d;break a}b=b+1|0;d=b;if(!(d&3)){e=4;break}}}while(0);if((e|0)==4){while(1){d=c[b>>2]|0;if(!((d&-2139062144^-2139062144)&d+-16843009))b=b+4|0;else break}if((d&255)<<24>>24)do b=b+1|0;while((a[b>>0]|0)!=0)}return b-f|0}function Go(b,c){b=b|0;c=c|0;var d=0,e=0;d=a[b>>0]|0;e=a[c>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=e<<24>>24)b=e;else{do{b=b+1|0;c=c+1|0;d=a[b>>0]|0;e=a[c>>0]|0}while(!(d<<24>>24==0?1:d<<24>>24!=e<<24>>24));b=e}return (d&255)-(b&255)|0}function Ho(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;if((l|0)>=(m|0))$(16);e=d;Vo();c[e>>2]=a;c[e+4>>2]=b;b=yo(Ta(91,e|0)|0)|0;l=d;return b|0}function Io(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=c[b+8>>2]|0;o=(c[b>>2]|0)==-1794895138;h=er(n|0)|0;h=o?n:h;n=c[b+12>>2]|0;f=er(n|0)|0;f=o?n:f;n=c[b+16>>2]|0;g=er(n|0)|0;g=o?n:g;a:do if((h>>>0<d>>>2>>>0?(n=d-(h<<2)|0,f>>>0<n>>>0&g>>>0<n>>>0):0)?((g|f)&3|0)==0:0){n=f>>>2;m=g>>>2;l=0;while(1){i=h>>>1;j=l+i|0;k=j<<1;p=k+n|0;f=c[b+(p<<2)>>2]|0;g=er(f|0)|0;g=o?f:g;p=c[b+(p+1<<2)>>2]|0;f=er(p|0)|0;f=o?p:f;if(!(f>>>0<d>>>0&g>>>0<(d-f|0)>>>0)){f=0;break a}if(a[b+(f+g)>>0]|0){f=0;break a}f=Go(e,b+f|0)|0;if(!f)break;if((h|0)==1){f=0;break a}p=(f|0)<0;l=p?l:j;h=p?i:h-i|0}p=k+m|0;f=c[b+(p<<2)>>2]|0;g=er(f|0)|0;g=o?f:g;p=c[b+(p+1<<2)>>2]|0;f=er(p|0)|0;f=o?p:f;if(f>>>0<d>>>0&g>>>0<(d-f|0)>>>0)f=(a[b+(f+g)>>0]|0)==0?b+f|0:0;else f=0}else f=0;while(0);return f|0}function Jo(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0;if(!e)f=0;else{f=a[b>>0]|0;a:do if(!(f<<24>>24))f=0;else while(1){e=e+-1|0;g=a[c>>0]|0;if(!(f<<24>>24==g<<24>>24&((e|0)!=0&g<<24>>24!=0)))break a;b=b+1|0;c=c+1|0;f=a[b>>0]|0;if(!(f<<24>>24)){f=0;break}}while(0);f=(f&255)-(d[c>>0]|0)|0}return f|0}function Ko(b,c){b=b|0;c=c|0;b=Uo(b,c)|0;return ((a[b>>0]|0)==(c&255)<<24>>24?b:0)|0}function Lo(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function Mo(a,b,c){a=a|0;b=b|0;c=c|0;c=Oo(a,b,c,-1,0)|0;return c|0}function No(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=d&255;f=(e|0)!=0;a:do if(f&(b&3|0)!=0){g=d&255;while(1){if((a[b>>0]|0)==g<<24>>24){i=6;break a}b=b+1|0;e=e+-1|0;f=(e|0)!=0;if(!(f&(b&3|0)!=0)){i=5;break}}}else i=5;while(0);if((i|0)==5)if(f)i=6;else e=0;b:do if((i|0)==6){g=d&255;if((a[b>>0]|0)!=g<<24>>24){f=S(h,16843009)|0;c:do if(e>>>0>3)while(1){h=c[b>>2]^f;if((h&-2139062144^-2139062144)&h+-16843009|0)break;b=b+4|0;e=e+-4|0;if(e>>>0<=3){i=11;break c}}else i=11;while(0);if((i|0)==11)if(!e){e=0;break}while(1){if((a[b>>0]|0)==g<<24>>24)break b;b=b+1|0;e=e+-1|0;if(!e){e=0;break}}}}while(0);return (e|0?b:0)|0}function Oo(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=l;l=l+128|0;if((l|0)>=(m|0))$(128);h=j;c[h>>2]=0;i=h+4|0;c[i>>2]=a;c[h+44>>2]=a;g=h+8|0;c[g>>2]=(a|0)<0?-1:a+2147483647|0;c[h+76>>2]=-1;Po(h,0);d=Qo(h,d,1,e,f)|0;if(b|0)c[b>>2]=a+((c[i>>2]|0)+(c[h+108>>2]|0)-(c[g>>2]|0));l=j;return d|0}function Po(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a+104>>2]=b;d=c[a+8>>2]|0;e=c[a+4>>2]|0;f=d-e|0;c[a+108>>2]=f;if((b|0)!=0&(f|0)>(b|0))c[a+100>>2]=e+b;else c[a+100>>2]=d;return}function Qo(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a:do if(e>>>0>36){c[(zo()|0)>>2]=22;h=0;g=0}else{r=b+4|0;q=b+100|0;do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Ro(b)|0}while((Lo(i)|0)!=0);b:do switch(i|0){case 43:case 45:{i=((i|0)==45)<<31>>31;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;p=i;i=d[j>>0]|0;break b}else{p=i;i=Ro(b)|0;break b}}default:p=0}while(0);j=(e|0)==0;do if((e|16|0)==16&(i|0)==48){i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Ro(b)|0;if((i|32|0)!=120)if(j){e=8;n=46;break}else{n=32;break}i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Ro(b)|0;if((d[61369+i>>0]|0)>15){g=(c[q>>2]|0)==0;if(!g)c[r>>2]=(c[r>>2]|0)+-1;if(!f){Po(b,0);h=0;g=0;break a}if(g){h=0;g=0;break a}c[r>>2]=(c[r>>2]|0)+-1;h=0;g=0;break a}else{e=16;n=46}}else{e=j?10:e;if((d[61369+i>>0]|0)>>>0<e>>>0)n=32;else{if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;Po(b,0);c[(zo()|0)>>2]=22;h=0;g=0;break a}}while(0);if((n|0)==32)if((e|0)==10){e=i+-48|0;if(e>>>0<10){i=0;j=e;do{i=(i*10|0)+j|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;e=d[e>>0]|0}else e=Ro(b)|0;j=e+-48|0}while(j>>>0<10&i>>>0<429496729);f=0}else{e=i;i=0;f=0}j=e+-48|0;if(j>>>0<10){m=j;while(1){j=kr(i|0,f|0,10,0)|0;k=D;l=((m|0)<0)<<31>>31;o=~l;if(k>>>0>o>>>0|(k|0)==(o|0)&j>>>0>~m>>>0){j=e;e=m;break}i=_q(j|0,k|0,m|0,l|0)|0;f=D;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;e=d[e>>0]|0}else e=Ro(b)|0;k=e+-48|0;if(k>>>0<10&(f>>>0<429496729|(f|0)==429496729&i>>>0<2576980378))m=k;else{j=e;e=k;break}}if(e>>>0>9){j=p;e=f}else{e=10;n=72}}else{j=p;e=f}}else n=46;c:do if((n|0)==46){if(!(e+-1&e)){n=a[61625+((e*23|0)>>>5&7)>>0]|0;f=a[61369+i>>0]|0;j=f&255;if(j>>>0<e>>>0){i=0;k=j;do{i=k|i<<n;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;j=d[j>>0]|0}else j=Ro(b)|0;f=a[61369+j>>0]|0;k=f&255}while(i>>>0<134217728&k>>>0<e>>>0);k=0}else{j=i;k=0;i=0}l=gr(-1,-1,n|0)|0;m=D;if((f&255)>>>0>=e>>>0|(k>>>0>m>>>0|(k|0)==(m|0)&i>>>0>l>>>0)){f=k;n=72;break}else j=k;while(1){i=mr(i|0,j|0,n|0)|0;k=D;i=f&255|i;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;j=d[j>>0]|0}else j=Ro(b)|0;f=a[61369+j>>0]|0;if((f&255)>>>0>=e>>>0|(k>>>0>m>>>0|(k|0)==(m|0)&i>>>0>l>>>0)){f=k;n=72;break c}else j=k}}f=a[61369+i>>0]|0;j=f&255;if(j>>>0<e>>>0){i=0;k=j;do{i=k+(S(i,e)|0)|0;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;j=d[j>>0]|0}else j=Ro(b)|0;f=a[61369+j>>0]|0;k=f&255}while(i>>>0<119304647&k>>>0<e>>>0);k=0}else{j=i;i=0;k=0}if((f&255)>>>0<e>>>0){n=ir(-1,-1,e|0,0)|0;o=D;m=k;while(1){if(m>>>0>o>>>0|(m|0)==(o|0)&i>>>0>n>>>0){f=m;n=72;break c}k=kr(i|0,m|0,e|0,0)|0;l=D;f=f&255;if(l>>>0>4294967295|(l|0)==-1&k>>>0>~f>>>0){f=m;n=72;break c}i=_q(f|0,0,k|0,l|0)|0;k=D;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;j=d[j>>0]|0}else j=Ro(b)|0;f=a[61369+j>>0]|0;if((f&255)>>>0>=e>>>0){f=k;n=72;break}else m=k}}else{f=k;n=72}}while(0);if((n|0)==72)if((d[61369+j>>0]|0)>>>0<e>>>0){do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Ro(b)|0}while((d[61369+i>>0]|0)>>>0<e>>>0);c[(zo()|0)>>2]=34;j=(g&1|0)==0&0==0?p:0;e=h;i=g}else{j=p;e=f}if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;if(!(e>>>0<h>>>0|(e|0)==(h|0)&i>>>0<g>>>0)){if(!((g&1|0)!=0|0!=0|(j|0)!=0)){c[(zo()|0)>>2]=34;g=_q(g|0,h|0,-1,-1)|0;h=D;break}if(e>>>0>h>>>0|(e|0)==(h|0)&i>>>0>g>>>0){c[(zo()|0)>>2]=34;break}}g=((j|0)<0)<<31>>31;g=Xq(i^j|0,e^g|0,j|0,g|0)|0;h=D}while(0);D=h;return g|0}function Ro(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=b+104|0;i=c[f>>2]|0;if((i|0)!=0?(c[b+108>>2]|0)>=(i|0):0)j=4;else{e=So(b)|0;if((e|0)>=0){f=c[f>>2]|0;i=c[b+8>>2]|0;if(f){h=c[b+4>>2]|0;f=f-(c[b+108>>2]|0)|0;g=i;if((i-h|0)<(f|0))j=9;else c[b+100>>2]=h+(f+-1)}else{g=i;j=9}if((j|0)==9)c[b+100>>2]=i;f=b+4|0;if(!g)f=c[f>>2]|0;else{f=c[f>>2]|0;b=b+108|0;c[b>>2]=g+1-f+(c[b>>2]|0)}f=f+-1|0;if((d[f>>0]|0|0)!=(e|0))a[f>>0]=e}else j=4}if((j|0)==4){c[b+100>>2]=0;e=-1}return e|0}function So(a){a=a|0;var b=0,e=0;e=l;l=l+16|0;if((l|0)>=(m|0))$(16);b=e;if((To(a)|0)==0?(pb[c[a+32>>2]&63](a,b,1)|0)==1:0)a=d[b>>0]|0;else a=-1;l=e;return a|0}function To(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=b+20|0;e=b+28|0;if((c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0)pb[c[b+36>>2]&63](b,0,0)|0;c[b+16>>2]=0;c[e>>2]=0;c[d>>2]=0;d=c[b>>2]|0;if(!(d&4)){e=(c[b+44>>2]|0)+(c[b+48>>2]|0)|0;c[b+8>>2]=e;c[b+4>>2]=e;d=d<<27>>31}else{c[b>>2]=d|32;d=-1}return d|0}function Uo(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=d&255;a:do if(!f)b=b+(Fo(b)|0)|0;else{if(b&3){e=d&255;do{g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break a;b=b+1|0}while((b&3|0)!=0)}f=S(f,16843009)|0;e=c[b>>2]|0;b:do if(!((e&-2139062144^-2139062144)&e+-16843009))do{g=e^f;if((g&-2139062144^-2139062144)&g+-16843009|0)break b;b=b+4|0;e=c[b>>2]|0}while(!((e&-2139062144^-2139062144)&e+-16843009|0));while(0);e=d&255;while(1){g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break;else b=b+1|0}}while(0);return b|0}function Vo(){return}function Wo(a){a=a|0;return Xo(a)|0}function Xo(a){a=a|0;return ((a|0)==32|(a|0)==9)&1|0}function Yo(a){a=a|0;var b=0;b=(Zo(a)|0)==0;return (b?a:a|32)|0}function Zo(a){a=a|0;return (a+-65|0)>>>0<26|0}function _o(a){a=a|0;return ap(a,0)|0}function $o(a){a=a|0;return ap(a,1)|0}function ap(c,f){c=c|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=(f<<1)+-1|0;l=f+-1|0;a:do if(!((c+-43008|0)>>>0<22272|((c+-11776|0)>>>0<30784|((c+-1536|0)>>>0<2560|(bp(c)|0)==0)))){g=(f|0)!=0;if(g&(c+-4256|0)>>>0<46){if((c|0)>4293)switch(c|0){case 4295:case 4301:break;default:break a}c=c+7264|0;break}if((c+-11520|0)>>>0<38&(g^1)){if((c|0)>11557)switch(c|0){case 11559:case 11565:break;default:break a}c=c+-7264|0;break}else g=0;do{i=a[18762+(g<<2)+2>>0]|0;j=i<<24>>24;h=c-(e[18762+(g<<2)>>1]|0)|0;if((h-(j&l)|0)>>>0<(d[18762+(g<<2)+3>>0]|0)>>>0){m=13;break}g=g+1|0}while((g|0)!=61);if((m|0)==13)if(i<<24>>24==1){c=f+c-(h&1)|0;break}else{c=(S(j,k)|0)+c|0;break}i=1-f|0;g=b[18274+(i<<1)>>1]|0;b:do if(g<<16>>16){h=0;while(1){if((g&65535|0)==(c|0))break;h=h+1|0;g=b[18274+(h<<2)+(i<<1)>>1]|0;if(!(g<<16>>16))break b}c=e[18274+(h<<2)+(f<<1)>>1]|0;break a}while(0);return ((c+-66600+(f*40|0)|0)>>>0<40?c+-40+(f*80|0)|0:c)|0}while(0);return c|0}function bp(a){a=a|0;if(a>>>0<131072)a=(d[61634+((d[61634+(a>>>8)>>0]|0)<<5|a>>>3&31)>>0]|0)>>>(a&7)&1;else a=a>>>0<196606&1;return a|0}function cp(a){a=a|0;return (a+-97|0)>>>0<26|0}function dp(a){a=a|0;return ep(a,c[(Ao()|0)+188>>2]|0)|0}function ep(b,e){b=b|0;e=e|0;var f=0,g=0;g=0;while(1){if((d[64610+g>>0]|0)==(b|0)){b=2;break}f=g+1|0;if((f|0)==87){f=64698;g=87;b=5;break}else g=f}if((b|0)==2)if(!g)f=64698;else{f=64698;b=5}if((b|0)==5)while(1){do{b=f;f=f+1|0}while((a[b>>0]|0)!=0);g=g+-1|0;if(!g)break;else b=5}return fp(f,c[e+20>>2]|0)|0}function fp(a,b){a=a|0;b=b|0;return gp(a,b)|0}function gp(a,b){a=a|0;b=b|0;if(!b)b=0;else b=Io(c[b>>2]|0,c[b+4>>2]|0,a)|0;return (b|0?b:a)|0}function hp(a){a=a|0;if(!a)a=0;else a=(ip(16072,a)|0)!=0;return a&1|0}function ip(a,b){a=a|0;b=b|0;var d=0;if(!b)a=a+((jp(a)|0)<<2)|0;else{while(1){d=c[a>>2]|0;if((d|0)==0|(d|0)==(b|0))break;else a=a+4|0}a=d|0?a:0}return a|0}function jp(a){a=a|0;var b=0;b=a;while(1)if(!(c[b>>2]|0))break;else b=b+4|0;return b-a>>2|0}function kp(a){a=a|0;return ((a+-48|0)>>>0<10|((a|32)+-97|0)>>>0<6)&1|0}function lp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=l;l=l+16|0;if((l|0)>=(m|0))$(16);g=f;c[g>>2]=e;e=mp(a,b,d,g)|0;l=f;return e|0}function mp(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,n=0,o=0;o=l;l=l+128|0;if((l|0)>=(m|0))$(128);g=o+124|0;n=o;h=n;i=16160;j=h+124|0;do{c[h>>2]=c[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(j|0));if((d+-1|0)>>>0>2147483646)if(!d){b=g;d=1;k=4}else{c[(zo()|0)>>2]=75;d=-1}else k=4;if((k|0)==4){k=-2-b|0;k=d>>>0>k>>>0?k:d;c[n+48>>2]=k;g=n+20|0;c[g>>2]=b;c[n+44>>2]=b;d=b+k|0;b=n+16|0;c[b>>2]=d;c[n+28>>2]=d;d=np(n,e,f)|0;if(k){n=c[g>>2]|0;a[n+(((n|0)==(c[b>>2]|0))<<31>>31)>>0]=0}}l=o;return d|0}function np(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+224|0;if((l|0)>=(m|0))$(224);o=t+120|0;q=t+80|0;r=t;s=t+136|0;f=q;g=f+40|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[o>>2]=c[e>>2];if((op(0,d,o,r,q)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)p=pp(b)|0;else p=0;e=c[b>>2]|0;n=e&32;if((a[b+74>>0]|0)<1)c[b>>2]=e&-33;f=b+48|0;if(!(c[f>>2]|0)){g=b+44|0;h=c[g>>2]|0;c[g>>2]=s;i=b+28|0;c[i>>2]=s;j=b+20|0;c[j>>2]=s;c[f>>2]=80;k=b+16|0;c[k>>2]=s+80;e=op(b,d,o,r,q)|0;if(h){pb[c[b+36>>2]&63](b,0,0)|0;e=(c[j>>2]|0)==0?-1:e;c[g>>2]=h;c[f>>2]=0;c[k>>2]=0;c[i>>2]=0;c[j>>2]=0}}else e=op(b,d,o,r,q)|0;f=c[b>>2]|0;c[b>>2]=f|n;if(p|0)qp(b);e=(f&32|0)==0?e:-1}l=t;return e|0}
-function Pf(b){b=b|0;var d=0;if(!b){Tn(22);d=0;return d|0}if(!(c[17594]|0)){d=Xf(b)|0;return d|0}d=Xf(b+5|0)|0;if(!d){d=0;return d|0}a[d>>0]=b;a[d+1>>0]=b>>>8;a[d+2>>0]=b>>>16;a[d+3>>0]=-52;a[d+(b+4)>>0]=-86;d=d+4|0;return d|0}function Qf(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;if((l|0)>=(m|0))$(16);g=j+8|0;f=j;if(!(c[17594]|0))if(!(ag(b)|0)){e=Rq(b,e)|0;l=j;return e|0}else{e=$f(b,e)|0;l=j;return e|0}if(!b){if(!e){Tn(22);e=0;l=j;return e|0}f=Oq(e+5|0)|0;if(!f){e=0;l=j;return e|0}a[f>>0]=e;a[f+1>>0]=e>>>8;a[f+2>>0]=e>>>16;a[f+3>>0]=85;a[f+(e+4)>>0]=-86;e=f+4|0;l=j;return e|0}h=a[b+-1>>0]|0;switch(h<<24>>24){case -52:case 85:break;default:{c[f>>2]=b;c[f+4>>2]=h&255;Me(22844,f)}}i=d[b+-3>>0]<<8|d[b+-4>>0]|d[b+-2>>0]<<16;if((a[b+i>>0]|0)!=-86){c[g>>2]=b;c[g+4>>2]=h&255;Me(22885,g)}if(i>>>0>=e>>>0){e=b;l=j;return e|0}f=(e|0)==0;do if(h<<24>>24==-52){if(f){Tn(22);e=0;l=j;return e|0}f=Xf(e+5|0)|0;if(!f){e=0;l=j;return e|0}else{a[f>>0]=e;a[f+1>>0]=e>>>8;a[f+2>>0]=e>>>16;a[f+3>>0]=-52;a[f+(e+4)>>0]=-86;break}}else{if(f){Tn(22);e=0;l=j;return e|0}f=Oq(e+5|0)|0;if(!f){e=0;l=j;return e|0}else{a[f>>0]=e;a[f+1>>0]=e>>>8;a[f+2>>0]=e>>>16;a[f+3>>0]=85;a[f+(e+4)>>0]=-86;break}}while(0);h=f+4|0;cr(h|0,b|0,i|0)|0;Yq(h+i|0,0,e-i|0)|0;Rf(b);e=h;l=j;return e|0}function Rf(b){b=b|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;if((l|0)>=(m|0))$(16);g=h+8|0;e=h;if(!b){l=h;return}if(!(c[17594]|0))if(!(ag(b)|0)){Pq(b);l=h;return}else{Zf(b);l=h;return}f=a[b+-1>>0]|0;switch(f<<24>>24){case -52:case 85:break;default:{c[e>>2]=b;c[e+4>>2]=f&255;Me(22844,e)}}e=b+-4|0;if((a[b+(d[b+-3>>0]<<8|d[e>>0]|d[b+-2>>0]<<16)>>0]|0)!=-86){c[g>>2]=b;c[g+4>>2]=f&255;Me(22885,g)}if(!(ag(b)|0)){Pq(e);l=h;return}else{Zf(e);l=h;return}}function Sf(a){a=a|0;Vn(1268)|0;c[17595]=a&1;c[17596]=a&2;c[17597]=a&8;c[17598]=a&16;Wn(1268)|0;return}function Tf(){var a=0;Vn(1268)|0;a=(c[17596]|0?2:0)|(c[17595]|0)!=0|(c[17597]|0?8:0)|(c[17598]|0?16:0);Wn(1268)|0;return a|0}function Uf(a){a=a|0;Vn(1268)|0;Vf(a);Wn(1268)|0;return}function Vf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0;n=l;l=l+48|0;if((l|0)>=(m|0))$(48);f=n+40|0;k=n+32|0;j=n+24|0;g=n+16|0;e=n+8|0;d=n;if(!a){c[17599]=1;b=uq()|0;if((b|0)==(wq()|0)){l=n;return}if(xq(b)|0)Me(22925,d);b=uq()|0;if((b|0)!=(wq()|0))Me(22925,d);if(!(xq(0)|0))Me(22925,d);else{l=n;return}}if(c[17600]|0){Le(23124,f);l=n;return}c[17601]=a>>>0<16384?16384:a;if(c[17599]|0)Ne(22948,e);f=Oa(30)|0;f=(f|0)>0?f:4096;f=(c[17601]|0)+-1+f&0-f;c[17601]=f;f=Aq(0,f,3,34,-1,0)|0;c[17602]=f;if((f|0)==(-1|0)){e=c[17601]|0;f=dp(c[(zo()|0)>>2]|0)|0;c[g>>2]=e;c[g+4>>2]=f;Je(22974,g)}else{c[17603]=1;c[17600]=1}do if(!(c[17600]|0)){a=c[17601]|0;b=Oq(a)|0;c[17602]=b;if(!b){c[j>>2]=a;Me(23022,j)}else{c[17600]=1;h=a;i=b;break}}else{h=c[17601]|0;i=c[17602]|0}while(0);c[i>>2]=h;c[i+4>>2]=0;if(c[17597]|0){l=n;return}Je(23062,k);l=n;return}function Wf(){return 0}function Xf(a){a=a|0;Vn(1268)|0;a=Yf(a)|0;Wn(1268)|0;return a|0}function Yf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0;n=l;l=l+16|0;if((l|0)>=(m|0))$(16);b=n;if((c[17600]|0)==0?(Vf(32768),(c[17600]|0)==0):0){Je(ze(23170)|0,b);Tn(12);k=0;l=n;return k|0}j=a+31&-32;i=c[17602]|0;k=i;h=(c[17601]|0)+k|0;b=i;a=k;do{if(a>>>0>=h>>>0)break;d=b+4|0;e=c[d>>2]|0;f=c[b>>2]|0;if(!((e&1|0)!=0|f>>>0<j>>>0)){g=7;break}b=b+8+f|0;b=b>>>0<i>>>0?0:b>>>0<h>>>0?b:0;a=b}while(b>>>0>=i>>>0);if((g|0)==7){c[d>>2]=e|1;d=f-j|0;if(d>>>0>8){g=b+8+j|0;c[g>>2]=d+-8;c[g+4>>2]=0;c[b>>2]=j;if((i|0)==(g|0))e=0;else{e=i;while(1){d=e+8+(c[e>>2]|0)|0;d=d>>>0<i>>>0?0:d>>>0<h>>>0?d:0;if((d|0)==(g|0))break;else e=d}}d=c[g>>2]|0;f=g+8+d|0;f=f>>>0<i>>>0?0:f>>>0<h>>>0?f:0;if((e|0)!=0?(c[e+4>>2]&1|0)==0:0){d=d+8+(c[e>>2]|0)|0;c[e>>2]=d}else e=g;if((f|0)!=0?(c[f+4>>2]&1|0)==0:0)c[e>>2]=d+8+(c[f>>2]|0)}}if(a>>>0>=k>>>0?a>>>0<((c[17601]|0)+k|0)>>>0:0)if(!b)a=0;else{if(j|0){c[17604]=(c[17604]|0)+j;c[17605]=(c[17605]|0)+1}a=b+8|0}else{Tn(12);a=0}k=a;l=n;return k|0}function Zf(a){a=a|0;Vn(1268)|0;_f(a);Wn(1268)|0;return}function _f(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;if(!b)return;l=b+-8|0;k=c[l>>2]|0;j=(k|0)!=0&(b&7|0)!=0;if(j){e=b;d=k;do{a[e>>0]=-1;e=e+1|0;d=d+-1|0}while((d|0)!=0&(e&7|0)!=0)}else{e=b;d=k}if(d>>>0>=8){h=d+-8|0;i=h&-8;g=i+8|0;f=e;while(1){m=f;c[m>>2]=-1;c[m+4>>2]=-1;d=d+-8|0;if(d>>>0<=7)break;else f=f+8|0}e=e+g|0;d=h-i|0}if(d|0)while(1){a[e>>0]=-1;d=d+-1|0;if(!d)break;else e=e+1|0}if(j){e=b;d=k;do{a[e>>0]=-86;e=e+1|0;d=d+-1|0}while((d|0)!=0&(e&7|0)!=0)}else{e=b;d=k}if(d>>>0>=8){h=d+-8|0;i=h&-8;g=i+8|0;f=e;while(1){m=f;c[m>>2]=-1431655766;c[m+4>>2]=-1431655766;d=d+-8|0;if(d>>>0<=7)break;else f=f+8|0}e=e+g|0;d=h-i|0}if(d|0)while(1){a[e>>0]=-86;d=d+-1|0;if(!d)break;else e=e+1|0}if(j){e=k;d=b;do{a[d>>0]=85;d=d+1|0;e=e+-1|0}while((e|0)!=0&(d&7|0)!=0)}else{e=k;d=b}if(e>>>0>=8){g=e+-8|0;h=g&-8;i=h+8|0;f=d;while(1){m=f;c[m>>2]=1431655765;c[m+4>>2]=1431655765;e=e+-8|0;if(e>>>0<=7)break;else f=f+8|0}e=g-h|0;d=d+i|0}if(e|0)while(1){a[d>>0]=85;e=e+-1|0;if(!e)break;else d=d+1|0}if(j){e=k;d=b;do{a[d>>0]=0;d=d+1|0;e=e+-1|0}while((e|0)!=0&(d&7|0)!=0)}else{e=k;d=b}if(e>>>0>=8){g=e+-8|0;h=g&-8;i=h+8|0;f=d;while(1){m=f;c[m>>2]=0;c[m+4>>2]=0;e=e+-8|0;if(e>>>0<=7)break;else f=f+8|0}e=g-h|0;d=d+i|0}if(e|0)while(1){a[d>>0]=0;e=e+-1|0;if(!e)break;else d=d+1|0}if(k|0){c[17604]=(c[17604]|0)-k;c[17605]=(c[17605]|0)+-1}g=b+-4|0;c[g>>2]=c[g>>2]&-2;g=c[17602]|0;h=g;if((g|0)==(l|0))e=0;else{d=(c[17601]|0)+h|0;e=g;while(1){f=e+8+(c[e>>2]|0)|0;f=f>>>0<g>>>0?0:f>>>0<d>>>0?f:0;if((f|0)==(l|0))break;else e=f}}d=c[l>>2]|0;f=b+d|0;if(f>>>0<g>>>0)f=0;else f=f>>>0<((c[17601]|0)+h|0)>>>0?f:0;if((e|0)!=0?(c[e+4>>2]&1|0)==0:0){d=d+8+(c[e>>2]|0)|0;c[e>>2]=d}else e=l;if(!f)return;if(c[f+4>>2]&1|0)return;c[e>>2]=d+8+(c[f>>2]|0);return}function $f(a,b){a=a|0;b=b|0;var d=0,e=0;Vn(1268)|0;d=c[a+-8>>2]|0;if(d>>>0<=b>>>0){e=Yf(b)|0;if(!e)a=0;else{cr(e|0,a|0,d|0)|0;Yq(e+d|0,0,b-d|0)|0;_f(a);a=e}}Wn(1268)|0;return a|0}function ag(a){a=a|0;var b=0,d=0;if((c[17600]|0)!=0?(b=a,d=c[17602]|0,b>>>0>=d>>>0):0)a=b>>>0<((c[17601]|0)+d|0)>>>0;else a=0;return a&1|0}function bg(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;if(!(c[17600]|0))return;b=c[17602]|0;d=c[17601]|0;if((d|0)!=0&(b&7|0)!=0){f=d;e=b;do{a[e>>0]=-1;e=e+1|0;f=f+-1|0}while((f|0)!=0&(e&7|0)!=0)}else{e=b;f=d}if(f>>>0>=8){i=f+-8|0;j=i&-8;h=j+8|0;g=e;while(1){k=g;c[k>>2]=-1;c[k+4>>2]=-1;f=f+-8|0;if(f>>>0<=7)break;else g=g+8|0}e=e+h|0;f=i-j|0}if(f){d=f;b=e;while(1){a[b>>0]=-1;d=d+-1|0;if(!d)break;else b=b+1|0}b=c[17602]|0;d=c[17601]|0}if((d|0)!=0&(b&7|0)!=0){e=b;f=d;do{a[e>>0]=-86;e=e+1|0;f=f+-1|0}while((f|0)!=0&(e&7|0)!=0)}else{e=b;f=d}if(f>>>0>=8){i=f+-8|0;j=i&-8;h=j+8|0;g=e;while(1){k=g;c[k>>2]=-1431655766;c[k+4>>2]=-1431655766;f=f+-8|0;if(f>>>0<=7)break;else g=g+8|0}e=e+h|0;f=i-j|0}if(f){d=e;b=f;while(1){a[d>>0]=-86;b=b+-1|0;if(!b)break;else d=d+1|0}b=c[17602]|0;d=c[17601]|0}if((d|0)!=0&(b&7|0)!=0)do{a[b>>0]=85;b=b+1|0;d=d+-1|0}while((d|0)!=0&(b&7|0)!=0);if(d>>>0>=8){f=d+-8|0;g=f&-8;h=g+8|0;e=b;while(1){k=e;c[k>>2]=1431655765;c[k+4>>2]=1431655765;d=d+-8|0;if(d>>>0<=7)break;else e=e+8|0}d=f-g|0;b=b+h|0}if(d|0)while(1){a[b>>0]=85;d=d+-1|0;if(!d)break;else b=b+1|0}b=c[17602]|0;d=c[17601]|0;if((d|0)!=0&(b&7|0)!=0)do{a[b>>0]=0;b=b+1|0;d=d+-1|0}while((d|0)!=0&(b&7|0)!=0);if(d>>>0>=8){f=d+-8|0;g=f&-8;h=g+8|0;e=b;while(1){k=e;c[k>>2]=0;c[k+4>>2]=0;d=d+-8|0;if(d>>>0<=7)break;else e=e+8|0}d=f-g|0;b=b+h|0}if(d|0)while(1){a[b>>0]=0;d=d+-1|0;if(!d)break;else b=b+1|0}if(c[17603]|0)Ho(c[17602]|0,c[17601]|0)|0;c[17602]=0;c[17600]=0;c[17601]=0;return}function cg(){var a=0,b=0,d=0,e=0;b=l;l=l+16|0;if((l|0)>=(m|0))$(16);a=b;Vn(1268)|0;if(!(c[17600]|0)){Wn(1268)|0;l=b;return}e=c[17601]|0;d=c[17605]|0;c[a>>2]=c[17604];c[a+4>>2]=e;c[a+8>>2]=d;Je(23231,a);Wn(1268)|0;l=b;return}function dg(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+272|0;if((l|0)>=(m|0))$(272);d=f+8|0;b=f;e=f+16|0;if(c[17606]|0)if((c[17607]|0)==1)Ie(23272,23278,114,23285);else{eg(5);fg()}c[17606]=1;a:do if(a){if(c[17607]|0)Ie(23312,23278,121,23285)}else{if(!(vq(23335,0)|0)){if(!(c[17607]|0))break;Ie(23312,23278,132,23285)}a=aq(23360,23390)|0;b:do if(!a){a=c[(zo()|0)>>2]|0;switch(a|0){case 2:case 13:break b;default:{}}if(!(vq(23392,0)|0)){e=dp(a)|0;c[b>>2]=23360;c[b+4>>2]=e;Je(23406,b);za()}}else{if(Sp(e,256,a)|0?Fq(e)|0:0){bq(a)|0;if(!(c[17607]|0))break a;else Ie(23312,23278,151,23285)}bq(a)|0}while(0);c[17607]=1;l=f;return}while(0);a=Un(1312)|0;if(a|0){c[d>>2]=Pn(a)|0;Je(23450,d);za()}a=aq(23335,23390)|0;if(a|0){if(Sp(e,256,a)|0?Fq(e)|0:0)c[17608]=1;bq(a)|0}eg(1);l=f;return}function eg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+48|0;if((l|0)>=(m|0))$(48);h=i+24|0;f=i+16|0;e=i+8|0;d=i;b=Vn(1312)|0;if(b|0){c[d>>2]=Pn(b)|0;Je(23505,d);za()}d=c[17609]|0;switch(d|0){case 0:{b=a+-1|0;if(b>>>0<5?(25>>>(b&31)&1)!=0:0)b=14;else b=17;break}case 1:{b=a+-2|0;if(b>>>0<4?(13>>>(b&15)&1)!=0:0)b=14;else b=17;break}case 2:{if((a+-3|0)>>>0<3)b=14;else b=17;break}case 3:{b=a+-2|0;if(b>>>0<5?(29>>>(b&31)&1)!=0:0)b=14;else b=17;break}case 4:{b=a+-2|0;if(b>>>0<5?(29>>>(b&31)&1)!=0:0)b=14;else b=17;break}case 5:{if((a|0)==6)b=14;else b=17;break}default:b=17}if((b|0)==14){c[17609]=a;b=Wn(1312)|0;if(b|0){c[e>>2]=Pn(b)|0;Je(23560,e);za()}if(!(Ee(2)|0)){l=i;return}else g=1}else if((b|0)==17){b=Wn(1312)|0;if(!b)g=0;else{c[f>>2]=Pn(b)|0;Je(23560,f);za()}}switch(d|0){case 0:{d=23669;break}case 1:{d=23664;break}case 2:{d=23654;break}case 3:{d=23642;break}case 4:{d=23636;break}case 5:{d=23624;break}case 6:{d=23615;break}default:d=37665}switch(a|0){case 0:{b=23669;break}case 1:{b=23664;break}case 2:{b=23654;break}case 3:{b=23642;break}case 4:{b=23636;break}case 5:{b=23624;break}case 6:{b=23615;break}default:b=37665}c[h>>2]=d;c[h+4>>2]=b;c[h+8>>2]=g?23678:23686;Je(23693,h);if(g){l=i;return}else fg()}function fg(){$p(0)|0;za()}function gg(){return c[17607]^1|0}function hg(){return ((c[17607]|0)==1?0:c[17608]|0)|0}function ig(){c[17608]=1;return}function jg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+48|0;if((l|0)>=(m|0))$(48);e=g+40|0;f=g+32|0;d=g+24|0;b=g;if((c[17607]|0)==1)Ie(23733,23278,295,23752);if(c[17608]|0){eg(4);c[b>>2]=71847;c[b+4>>2]=23278;c[b+8>>2]=300;c[b+12>>2]=23852;c[b+16>>2]=23752;c[b+20>>2]=a|0?a:23779;Je(23804,b);l=g;return}a=Vn(1312)|0;if(a|0){c[d>>2]=Pn(a)|0;Je(23505,d);za()}if(!(c[17610]|0)){c[17610]=1;a=Wn(1312)|0;if(!a){l=g;return}else{c[f>>2]=Pn(a)|0;Je(23560,f);za()}}else{a=Wn(1312)|0;if(!a){l=g;return}else{c[e>>2]=Pn(a)|0;Je(23560,e);za()}}}function kg(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;h=l;l=l+32|0;if((l|0)>=(m|0))$(32);g=h;if((c[17607]|0)==1){l=h;return}i=(e|0)!=0;eg(i?5:4);e=(d|0)!=0;c[g>>2]=i?23864:71847;c[g+4>>2]=a;c[g+8>>2]=b;c[g+12>>2]=e?23852:71847;c[g+16>>2]=e?d:71847;c[g+20>>2]=f|0?f:23779;Je(23804,g);l=h;return}function lg(){var a=0,b=0,d=0,e=0;e=l;l=l+16|0;if((l|0)>=(m|0))$(16);d=e+8|0;b=e;if((c[17607]|0)==1){d=0;l=e;return d|0}a=Vn(1312)|0;if(a|0){c[b>>2]=Pn(a)|0;Je(23505,b);za()}a=c[17610]|0;b=Wn(1312)|0;if(!b){d=a;l=e;return d|0}else{c[d>>2]=Pn(b)|0;Je(23560,d);za()}return 0}function mg(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+32|0;if((l|0)>=(m|0))$(32);g=h+24|0;e=h+16|0;d=h+8|0;b=h;if((c[17607]|0)==1){g=1;l=h;return g|0}a=Vn(1312)|0;if(a|0){c[b>>2]=Pn(a)|0;Je(23505,b);za()}a=c[17609]|0;do if((a|0)==1){a=Wn(1312)|0;if(a|0){c[d>>2]=Pn(a)|0;Je(23560,d);za()}ng(0)|0;a=Vn(1312)|0;if(!a){f=c[17609]|0;break}else{c[e>>2]=Pn(a)|0;Je(23505,e);za()}}else f=a;while(0);a=Wn(1312)|0;if(!a){g=(f|0)==3&1;l=h;return g|0}else{c[g>>2]=Pn(a)|0;Je(23560,g);za()}return 0}function ng(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;if((c[17607]|0)!=1)eg(2);b=Dg(2,a,1)|0;g=(b|0)!=0;if(g)b=Pn(b)|0;else b=0;og(37899,2,0,b);f=Dg(7,a,1)|0;if(!f)b=0;else b=Pn(f)|0;og(37899,7,0,b);e=Dg(8,a,1)|0;if(!e)b=0;else b=Pn(e)|0;og(37899,8,0,b);b=Dg(9,a,1)|0;if(!b)d=0;else d=Pn(b)|0;og(37899,9,0,d);do if(!(f|g&1|e|b)){b=uh(2,a,1)|0;h=(b|0)!=0;if(h)b=Pn(b)|0;else b=0;og(42873,2,0,b);g=uh(11,a,1)|0;if(!g)b=0;else b=Pn(g)|0;og(42873,11,0,b);f=uh(8,a,1)|0;if(!f)b=0;else b=Pn(f)|0;og(42873,8,0,b);e=uh(9,a,1)|0;if(!e)b=0;else b=Pn(e)|0;og(42873,9,0,b);b=uh(10,a,1)|0;if(!b)d=0;else d=Pn(b)|0;og(42873,10,0,d);if(!(g|h&1|f|e|b)){b=ah(2,a,1)|0;h=(b|0)!=0;if(h)b=Pn(b)|0;else b=0;og(36051,2,0,b);g=ah(11,a,1)|0;if(!g)b=0;else b=Pn(g)|0;og(36051,11,0,b);f=ah(8,a,1)|0;if(!f)b=0;else b=Pn(f)|0;og(36051,8,0,b);e=ah(9,a,1)|0;if(!e)b=0;else b=Pn(e)|0;og(36051,9,0,b);b=ah(10,a,1)|0;if(!b)d=0;else d=Pn(b)|0;og(36051,10,0,d);if(!(g|h&1|f|e|b)){b=Ij(1)|0;if(b|0){og(52223,0,0,Pn(b)|0);d=50;b=4;break}og(52223,0,0,0);b=Xh(1,a,1)|0;e=(b|0)!=0;if(e)b=Pn(b)|0;else b=0;og(40871,1,0,b);b=Xh(17,a,1)|0;if(!b){og(40871,17,0,0);d=e?50:0;b=e?4:3;break}else{og(40871,17,0,Pn(b)|0);d=50;b=4;break}}else{d=50;b=4}}else{d=50;b=4}}else{d=50;b=4}while(0);if((c[17607]|0)==1)return d|0;eg(b);return d|0}function og(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;if((l|0)>=(m|0))$(32);j=k;h=(e|0)!=0;if(!h?(Ee(2)|0)==0:0){l=k;return}f=Go(a,36051)|0;i=f|0?a:42873;f=(f|0)==0;g=f?23871:71847;do if(Go(a,37899)|0){if(!(Go(a,42873)|0)){a=dh(b)|0;break}if(f){a=dh(b)|0;break}if(!(Go(a,40871)|0))a=Oh(b)|0;else a=71847}else a=ug(b)|0;while(0);f=(d|0)!=0;c[j>>2]=i;c[j+4>>2]=g;c[j+8>>2]=a;c[j+12>>2]=b;c[j+16>>2]=h?e:23877;c[j+20>>2]=f?23882:71847;c[j+24>>2]=f?d:71847;c[j+28>>2]=f?46947:71847;Je(23885,j);l=k;return}function pg(){var a=0,b=0,d=0,e=0;e=l;l=l+16|0;if((l|0)>=(m|0))$(16);d=e+8|0;b=e;if((c[17607]|0)==1){d=1;l=e;return d|0}a=Vn(1312)|0;if(a|0){c[b>>2]=Pn(a)|0;Je(23505,b);za()}a=(c[17609]|0)==3&1;b=Wn(1312)|0;if(!b){d=a;l=e;return d|0}else{c[d>>2]=Pn(b)|0;Je(23560,d);za()}return 0}function qg(){var a=0,b=0,d=0,e=0;e=l;l=l+16|0;if((l|0)>=(m|0))$(16);d=e+8|0;b=e;if((c[17607]|0)==1){d=1;l=e;return d|0}a=Vn(1312)|0;if(a|0){c[b>>2]=Pn(a)|0;Je(23505,b);za()}a=((c[17609]|0)+-3|0)>>>0<2&1;b=Wn(1312)|0;if(!b){d=a;l=e;return d|0}else{c[d>>2]=Pn(b)|0;Je(23560,d);za()}return 0}function rg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;g=l;l=l+16|0;if((l|0)>=(m|0))$(16);f=g;if((b|0)!=1){c[f>>2]=b;Ne(23929,f)}b=df(1,(d>>>0<8?8:d)+8|0)|0;if(!b){e=0;l=g;return e|0};a[b>>0]=a[23975]|0;a[b+1>>0]=a[23976]|0;a[b+2>>0]=a[23977]|0;a[b+3>>0]=1;c[b+4>>2]=e;e=b;l=g;return e|0}function sg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+32|0;if((l|0)>=(m|0))$(32);f=g+8|0;e=g;if(!b){c[e>>2]=b;Me(23979,e)}if(Tp(b,23975,3)|0){c[e>>2]=b;Me(23979,e)}e=a[b+3>>0]|0;if((e|0)==(d|0)){l=g;return b+8|0}else{c[f>>2]=d;c[f+4>>2]=b;c[f+8>>2]=e;Me(24027,f)}return 0}function tg(b){b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;if((l|0)>=(m|0))$(16);e=f+8|0;d=f;if(!b){l=f;return}if(Tp(b,23975,3)|0){c[d>>2]=b;Me(24084,d)}d=a[b+3>>0]|0;if(d<<24>>24!=1){c[e>>2]=d<<24>>24;Me(24126,e)}d=c[b+4>>2]|0;if(d|0)rb[d&7](b+8|0);cf(b);l=f;return}function ug(a){a=a|0;if((c[1088]|0)!=(a|0))if((c[1806]|0)!=(a|0))if((c[1835]|0)!=(a|0))if((c[1987]|0)!=(a|0))if((c[3027]|0)==(a|0))a=12108;else{a=37665;return a|0}else a=7948;else a=7340;else a=7224;else a=4352;a=c[a+8>>2]|0;return a|0}function vg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=l;l=l+16|0;if((l|0)>=(m|0))$(16);f=g;c[f>>2]=0;if((d|0)>65535){d=71;b=0}else{d=wg(f,b,d,e)|0;b=c[f>>2]|0}c[a>>2]=d|0?0:b;l=g;return d|0}function wg(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;j=f&1;Gj();if((c[1088]|0)!=(d|0))if((c[1806]|0)!=(d|0))if((c[1835]|0)!=(d|0))if((c[1987]|0)!=(d|0))if((c[3027]|0)==(d|0)){g=12108;i=6}else{h=12;k=0}else{g=7948;i=6}else{g=7340;i=6}else{g=7224;i=6}else{g=4352;i=6}if((i|0)==6){h=(a[g+4>>0]&1)==0?0:12;k=g}g=f>>>0>15&(h|0)==0?12:h;a:do if(!g){b:do if((e|0)>=6){if((e|0)<9){switch(e|0){case 7:case 6:{i=11;break b}case 8:break;default:{h=0;g=71;break a}}if(!(c[k+36>>2]|0)){h=0;g=71;break a}if((c[k+40>>2]|0)==0?1:(c[k+20>>2]|0)!=16){h=0;g=71;break a}else break}if((e|0)<11){switch(e|0){case 9:{i=11;break b}case 10:break;default:{h=0;g=71;break a}}if(!(c[k+44>>2]|0)){h=0;g=71;break a}if(!(c[k+48>>2]|0)){h=0;g=71;break a}if(!(c[k+60>>2]|0)){h=0;g=71;break a}if((c[k>>2]|0)==316)break;else{h=0;g=71;break a}}if((e|0)>=65537)switch(e|0){case 65537:{i=11;break b}default:{h=0;g=71;break a}}switch(e|0){case 11:break;default:{h=0;g=71;break a}}if(!(c[k+36>>2]|0)){h=0;g=71;break a}if(!(c[k+40>>2]|0)){h=0;g=71;break a}if((c[k+20>>2]|0)!=16){h=0;g=71;break a}}else switch(e|0){case 5:case 2:case 3:case 1:{i=11;break b}case 4:{if(!(c[k+44>>2]|0)){h=0;g=71;break a}if(!(c[k+48>>2]|0)){h=0;g=71;break a}else break b}case 0:{if(gg()|0){h=0;g=71;break a}if(!(nf(0)|0)){h=0;g=71;break a}else break b}default:{h=0;g=71;break a}}while(0);if((i|0)==11){if(!(c[k+36>>2]|0)){h=0;g=71;break}if(!(c[k+40>>2]|0)){h=0;g=71;break}}i=(c[k+28>>2]<<1)+511|0;g=(j|0)!=0;if(g)h=ef(1,i)|0;else h=df(1,i)|0;if(!h){g=Sn()|0;break}j=h&15;l=(j|0)==0;j=16-j|0;h=l?h:h+j|0;j=l?0:j;c[h>>2]=g?1183944770:604576100;c[h+4>>2]=i-j;c[h+8>>2]=j;c[h+12>>2]=k;c[h+16>>2]=d;c[h+48>>2]=e;c[h+52>>2]=f;switch(d|0){case 9:case 8:case 7:{c[h+20>>2]=1;c[h+24>>2]=2;c[h+28>>2]=1;c[h+32>>2]=3;c[h+36>>2]=4;c[h+40>>2]=5;c[h+44>>2]=2;break}case 303:case 10:{c[h+32>>2]=6;c[h+24>>2]=7;c[h+36>>2]=8;break}default:{}}if((e|0)==11){a[h+480>>0]=16;g=0}else g=0}else h=0;while(0);c[b>>2]=g|0?0:h;return ((g|0)==0?0:g&65535|536870912)|0}function xg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;if(!b)return;d=c[b>>2]|0;a:do if((d|0)<1183944770){switch(d|0){case 604576100:break a;default:{}}Be(63,24175)}else{switch(d|0){case 1183944770:break a;default:{}}Be(63,24175)}while(0);c[b>>2]=0;j=c[b+8>>2]|0;d=c[b+4>>2]|0;if((d|0)!=0&(b&7|0)!=0){e=b;do{a[e>>0]=0;e=e+1|0;d=d+-1|0}while((d|0)!=0&(e&7|0)!=0)}else e=b;if(d>>>0>=8){h=d+-8|0;i=h&-8;g=i+8|0;f=e;while(1){k=f;c[k>>2]=0;c[k+4>>2]=0;d=d+-8|0;if(d>>>0<=7)break;else f=f+8|0}e=e+g|0;d=h-i|0}if(d|0)while(1){a[e>>0]=0;d=d+-1|0;if(!d)break;else e=e+1|0}cf(b+(0-j)|0);return}function yg(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,n=0;n=l;l=l+16|0;if((l|0)>=(m|0))$(16);h=n;k=(e|0)==0;i=k?d:f;f=k?b:e;e=c[a+48>>2]|0;a:do if((e|0)<6)switch(e|0){case 1:{k=c[a+12>>2]|0;j=c[k+36>>2]|0;k=c[k+20>>2]|0;if(i>>>0>d>>>0){g=200;break a}if((i>>>0)%(k>>>0)|0|0){g=139;break a}d=(i>>>0)/(k>>>0)|0;if(k>>>0>i>>>0){b=0;l=n;return b|0}i=a+496|0;h=0;e=b;g=0;while(1){b=pb[j&63](i,e,f)|0;h=b>>>0>h>>>0?b:h;g=g+1|0;if(g>>>0>=d>>>0)break;else{e=e+k|0;f=f+k|0}}if(!h){b=0;l=n;return b|0}Te(h+16|0);b=0;l=n;return b|0}case 3:{g=Wl(a,b,d,f,i)|0;break a}case 2:{g=am(a,b,d,f,i)|0;break a}case 5:{g=rm(a,b,d,f,i)|0;break a}case 4:{zb[c[(c[a+12>>2]|0)+44>>2]&1](a+496|0,b,f,i);b=0;l=n;return b|0}case 0:{if((gg()|0)==0?nf(0)|0:0){if((f|0)==(b|0)){b=0;l=n;return b|0}dr(b|0,f|0,i|0)|0;b=0;l=n;return b|0}kg(24224,875,24233,0,24248);g=71;break a}default:{c[h>>2]=e;Me(24270,h)}}else{if((e|0)<9)switch(e|0){case 6:{g=dm(a,b,d,f,i)|0;break a}case 7:{g=Ul(a,b,d,f,i)|0;break a}case 8:{g=_l(a,b,d,f,i)|0;break a}default:{c[h>>2]=e;Me(24270,h)}}if((e|0)<11)switch(e|0){case 9:{g=em(a,b,d,f,i)|0;break a}case 10:{g=tm(a,b,d,f,i)|0;break a}default:{c[h>>2]=e;Me(24270,h)}}if((e|0)>=65537){switch(e|0){case 65537:{g=71;break a}default:{}}c[h>>2]=e;Me(24270,h)}switch(e|0){case 11:{g=nm(a,b,d,f,i)|0;break a}default:{c[h>>2]=e;Me(24270,h)}}}while(0);if(!((b|0)!=0&(g|0)!=0)){b=g;l=n;return b|0}Yq(b|0,66,d|0)|0;b=g;l=n;return b|0}function zg(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,n=0;n=l;l=l+16|0;if((l|0)>=(m|0))$(16);h=n;i=(e|0)==0;e=i?b:e;i=i?d:f;f=c[a+48>>2]|0;a:do if((f|0)<6)switch(f|0){case 1:{k=c[a+12>>2]|0;j=c[k+40>>2]|0;k=c[k+20>>2]|0;if(i>>>0>d>>>0){g=200;break a}if((i>>>0)%(k>>>0)|0|0){g=139;break a}d=(i>>>0)/(k>>>0)|0;if(k>>>0>i>>>0){g=0;break a}i=a+496|0;h=0;f=b;g=0;while(1){b=pb[j&63](i,f,e)|0;h=b>>>0>h>>>0?b:h;g=g+1|0;if(g>>>0>=d>>>0)break;else{f=f+k|0;e=e+k|0}}if(!h){g=0;break a}Te(h+16|0);g=0;break a}case 3:{g=Xl(a,b,d,e,i)|0;break a}case 2:{g=bm(a,b,d,e,i)|0;break a}case 5:{g=rm(a,b,d,e,i)|0;break a}case 4:{zb[c[(c[a+12>>2]|0)+48>>2]&1](a+496|0,b,e,i);g=0;break a}case 0:{if((gg()|0)==0?nf(0)|0:0){if((e|0)==(b|0)){g=0;break a}dr(b|0,e|0,i|0)|0;g=0;break a}kg(24224,992,24303,0,24248);g=71;break a}default:{c[h>>2]=f;Me(24318,h)}}else{if((f|0)<9)switch(f|0){case 6:{g=dm(a,b,d,e,i)|0;break a}case 7:{g=Vl(a,b,d,e,i)|0;break a}case 8:{g=$l(a,b,d,e,i)|0;break a}default:{c[h>>2]=f;Me(24318,h)}}if((f|0)<11)switch(f|0){case 9:{g=hm(a,b,d,e,i)|0;break a}case 10:{g=um(a,b,d,e,i)|0;break a}default:{c[h>>2]=f;Me(24318,h)}}if((f|0)>=65537){switch(f|0){case 65537:{g=71;break a}default:{}}c[h>>2]=f;Me(24318,h)}switch(f|0){case 11:{g=qm(a,b,d,e,i)|0;break a}default:{c[h>>2]=f;Me(24318,h)}}}while(0);l=n;return g|0}function Ag(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=b+12|0;g=b+496|0;e=pb[c[(c[f>>2]|0)+32>>2]&63](g,d,e)|0;if(e|0){b=b+56|0;a[b>>0]=a[b>>0]&-2;return e|0}d=c[(c[f>>2]|0)+28>>2]|0;cr(g+d|0,g|0,d|0)|0;d=b+56|0;a[d>>0]=a[d>>0]|1;d=c[b+48>>2]|0;if((d|0)<10){switch(d|0){case 9:break;default:return e|0}im(b);return e|0}if((d|0)<65537){switch(d|0){case 10:break;default:return e|0}vm(b);return e|0}else{switch(d|0){case 65537:break;default:return e|0}cm(b)|0;return e|0}return 0}function Bg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;if((l|0)>=(m|0))$(16);j=k;switch(c[b+48>>2]|0){case 8:{e=Yl(b,d,e)|0;l=k;return e|0}case 9:{e=fm(b,d,e)|0;l=k;return e|0}case 10:{e=sm(b,d,e)|0;l=k;return e|0}case 11:{e=mm(b,d,e)|0;l=k;return e|0}default:{i=b+12|0;g=c[i>>2]|0;f=c[g+60>>2]|0;if(f|0){ub[f&7](b+496|0,d,e);e=0;l=k;return e|0}h=b+64|0;f=g+20|0;Yq(h|0,0,c[f>>2]|0)|0;if(!d){e=b+56|0;a[e>>0]=a[e>>0]&-3}else{f=c[f>>2]|0;if((f|0)==(e|0))f=e;else{c[j>>2]=e;c[j+4>>2]=f;Je(24351,j);kg(24224,682,24394,0,24407);f=c[(c[i>>2]|0)+20>>2]|0}cr(h|0,d|0,(f>>>0<e>>>0?f:e)|0)|0;e=b+56|0;a[e>>0]=a[e>>0]|2}c[b+112>>2]=0;e=0;l=k;return e|0}}return 0}function Cg(){return 0}function Dg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if((c[1088]|0)!=(b|0))if((c[1806]|0)!=(b|0))if((c[1835]|0)!=(b|0))if((c[1987]|0)!=(b|0))if((c[3027]|0)==(b|0)){f=12108;h=6}else{f=0;d=0;h=9}else{f=7948;h=6}else{f=7340;h=6}else{f=7224;h=6}else{f=4352;h=6}if((h|0)==6)if((a[f+4>>0]&1)==0?(g=c[f+52>>2]|0,(g|0)!=0):0)f=pb[g&63](b,d,e)|0;else{d=1;h=9}if((h|0)==9)if(!e)f=12;else{if(d?(a[f+4>>0]&1)==0:0)f=37736;else f=d?37697:37716;zb[e&1](37899,b,37758,f);f=12}return ((f|0)==0?0:f&65535|16777216)|0}function Eg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+64|0;if((l|0)>=(m|0))$(64);r=s+48|0;p=s+40|0;o=s+32|0;n=s+24|0;k=s+16|0;j=s+8|0;i=s;q=s+52|0;a:do if(!b)if((a|0)!=192){switch(a|0){case 224:case 256:{g=(a|0)==224?2:3;break a}default:{}}if((a|0)!=384)if((a|0)!=521)if((a|0)!=160)if((a|0)!=320)if((a|0)!=512)if((a|0)==511)g=17;else{d=188;l=s;return d|0}else g=12;else g=10;else g=6;else g=5;else g=4}else g=1;else{a=0;while(1){if(!(Go(b,c[1356+(a*48|0)>>2]|0)|0))break;a=a+1|0;if((a|0)==21){a=0;g=2412;h=5;break}}b:do if((h|0)==5){while(1){h=0;f=a+1|0;if(!(Go(b,c[2412+(a<<3)+4>>2]|0)|0))break;if((f|0)==36){a=188;h=47;break}else{a=f;g=2412+(f<<3)|0;h=5}}if((h|0)==47){l=s;return a|0}f=c[g>>2]|0;a=0;while(1){if(!(Go(f,c[1356+(a*48|0)>>2]|0)|0))break b;a=a+1|0;if((a|0)==21){a=188;break}}l=s;return a|0}while(0);if((a|0)<0){d=188;l=s;return d|0}else g=a}while(0);b=c[1356+(g*48|0)>>2]|0;if(!((g+-1|0)>>>0<5|(gg()|0)==0)){d=60;l=s;return d|0}if(e|0)c[e>>2]=c[1356+(g*48|0)+4>>2];if(!d){d=0;l=s;return d|0}c[d>>2]=c[1356+(g*48|0)+12>>2];c[d+4>>2]=c[1356+(g*48|0)+16>>2];a=d+8|0;do if(!(c[a>>2]|0)){f=Sk(q,4,c[1356+(g*48|0)+20>>2]|0,0,0)|0;if(!f){c[a>>2]=c[q>>2];break}else{c[i>>2]=Pn(f)|0;Me(35626,i)}}while(0);a=d+12|0;do if(!(c[a>>2]|0)){f=Sk(q,4,c[1356+(g*48|0)+24>>2]|0,0,0)|0;if(!f){c[a>>2]=c[q>>2];break}else{c[j>>2]=Pn(f)|0;Me(35626,j)}}while(0);a=d+16|0;do if(!(c[a>>2]|0)){f=Sk(q,4,c[1356+(g*48|0)+28>>2]|0,0,0)|0;if(!f){c[a>>2]=c[q>>2];break}else{c[k>>2]=Pn(f)|0;Me(35626,k)}}while(0);a=d+32|0;do if(!(c[a>>2]|0)){f=Sk(q,4,c[1356+(g*48|0)+32>>2]|0,0,0)|0;if(!f){c[a>>2]=c[q>>2];break}else{c[n>>2]=Pn(f)|0;Me(35626,n)}}while(0);a=d+36|0;do if(!(c[a>>2]|0)){f=Sk(q,4,c[1356+(g*48|0)+44>>2]|0,0,0)|0;if(!f){c[a>>2]=c[q>>2];break}else{c[o>>2]=Pn(f)|0;Me(35626,o)}}while(0);a=d+20|0;do if(!(c[a>>2]|0)){f=Sk(q,4,c[1356+(g*48|0)+36>>2]|0,0,0)|0;if(!f){c[a>>2]=c[q>>2];break}else{c[p>>2]=Pn(f)|0;Me(35626,p)}}while(0);f=d+24|0;do if(!(c[f>>2]|0)){a=Sk(q,4,c[1356+(g*48|0)+40>>2]|0,0,0)|0;if(!a){c[f>>2]=c[q>>2];break}else{c[r>>2]=Pn(a)|0;Me(35626,r)}}while(0);a=d+28|0;if(!(c[a>>2]|0))c[a>>2]=kl(1)|0;a=d+40|0;if(c[a>>2]|0){d=0;l=s;return d|0}c[a>>2]=b;d=0;l=s;return d|0}function Fg(b,d,e,f,g,h,i,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+48|0;if((l|0)>=(m|0))$(48);x=y+40|0;v=y+32|0;u=y+24|0;t=y+16|0;s=y+8|0;r=y;w=y+44|0;n=0;while(1){if(!(Go(b,c[1356+(n*48|0)>>2]|0)|0)){b=n;break}n=n+1|0;if((n|0)==21){n=0;p=2412;q=5;break}}a:do if((q|0)==5){while(1){q=0;o=n+1|0;if(!(Go(b,c[2412+(n<<3)+4>>2]|0)|0))break;if((o|0)==36){n=188;q=40;break}else{n=o;p=2412+(o<<3)|0;q=5}}if((q|0)==40){l=y;return n|0}o=c[p>>2]|0;n=0;while(1){if(!(Go(o,c[1356+(n*48|0)>>2]|0)|0)){b=n;break a}n=n+1|0;if((n|0)==21){n=188;break}}l=y;return n|0}while(0);if((b|0)<0){x=188;l=y;return x|0}do if(i|0){n=(c[1356+(b*48|0)+36>>2]|0)+2|0;p=Fo(n)|0;o=(c[1356+(b*48|0)+40>>2]|0)+2|0;p=_e(p+5+(Fo(o)|0)|0)|0;if(!p){x=Sn()|0;l=y;return x|0}a[p>>0]=a[35365]|0;a[p+1>>0]=a[35366]|0;a[p+2>>0]=a[35367]|0;a[p+3>>0]=a[35368]|0;a[p+4>>0]=a[35369]|0;Mp(Np(p+4|0,n)|0,o)|0;Jl(c[i>>2]|0);n=Sk(w,4,p,0,0)|0;if(!n){c[i>>2]=c[w>>2];cf(p);break}else{c[r>>2]=Pn(n)|0;Me(35626,r)}}while(0);if(d|0)c[d>>2]=c[1356+(b*48|0)+12>>2];if(e|0)c[e>>2]=c[1356+(b*48|0)+16>>2];do if(f|0){Jl(c[f>>2]|0);n=Sk(w,4,c[1356+(b*48|0)+20>>2]|0,0,0)|0;if(!n){c[f>>2]=c[w>>2];break}else{c[s>>2]=Pn(n)|0;Me(35626,s)}}while(0);do if(g|0){Jl(c[g>>2]|0);n=Sk(w,4,c[1356+(b*48|0)+24>>2]|0,0,0)|0;if(!n){c[g>>2]=c[w>>2];break}else{c[t>>2]=Pn(n)|0;Me(35626,t)}}while(0);do if(h|0){Jl(c[h>>2]|0);n=Sk(w,4,c[1356+(b*48|0)+28>>2]|0,0,0)|0;if(!n){c[h>>2]=c[w>>2];break}else{c[u>>2]=Pn(n)|0;Me(35626,u)}}while(0);do if(j|0){Jl(c[j>>2]|0);n=Sk(w,4,c[1356+(b*48|0)+32>>2]|0,0,0)|0;if(!n){c[j>>2]=c[w>>2];break}else{c[v>>2]=Pn(n)|0;Me(35626,v)}}while(0);if(!k){x=0;l=y;return x|0}Jl(c[k>>2]|0);n=Sk(w,4,c[1356+(b*48|0)+44>>2]|0,0,0)|0;if(n|0){c[x>>2]=Pn(n)|0;Me(35626,x)}c[k>>2]=c[w>>2];x=0;l=y;return x|0}function Gg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=l;l=l+144|0;if((l|0)>=(m|0))$(144);w=C+80|0;v=C+72|0;u=C+64|0;t=C+56|0;s=C+48|0;r=C+40|0;x=C+32|0;q=C;z=C+88|0;A=C+84|0;c[A>>2]=0;f=z;g=f+44|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));B=(d|0)!=0;if(B)c[d>>2]=0;if(!a){if(!((b|0)>-1&b>>>0<22)){d=0;l=C;return d|0}e=c[1356+(b*48|0)>>2]|0;if(!B){d=e;l=C;return d|0}c[d>>2]=c[1356+(b*48|0)+4>>2];d=e;l=C;return d|0}j=z+8|0;k=z+12|0;n=z+16|0;o=z+32|0;p=z+36|0;c[q>>2]=j;c[q+4>>2]=k;c[q+8>>2]=n;c[q+12>>2]=A;c[q+16>>2]=o;c[q+20>>2]=p;c[q+24>>2]=0;a:do switch(((If(a,0,35370,q)|0)&65535)<<16>>16){case 68:{e=uf(a,46925,5)|0;if((e|0)!=0?(h=zf(e,1)|0,sf(e),(h|0)!=0):0){e=0;while(1){f=c[1356+(e*48|0)>>2]|0;if(!(Go(h,f)|0)){b=e;break}e=e+1|0;if((e|0)==21){e=0;g=2412;i=13;break}}b:do if((i|0)==13){while(1){i=0;f=e+1|0;if(!(Go(h,c[2412+(e<<3)+4>>2]|0)|0)){i=14;break}if((f|0)==36)break;else{e=f;g=2412+(f<<3)|0;i=13}}if((i|0)==14){f=c[g>>2]|0;e=0;do{g=c[1356+(e*48|0)>>2]|0;if(!(Go(f,g)|0)){b=e;f=g;break b}e=e+1|0}while((e|0)!=21)}cf(h);d=0;l=C;return d|0}while(0);cf(h);e=(b|0)<0;if(e|B^1){d=e?0:f;l=C;return d|0}c[d>>2]=c[1356+(b*48|0)+4>>2];d=f;l=C;return d|0}else{y=0;e=0}break}case 0:{if(c[A>>2]|0?(i=z+20|0,Pj(i),_g(i,c[A>>2]|0)|0):0){y=0;e=0;break a}b=z+20|0;a=z+24|0;h=0;f=0;g=1356;while(1){tl(f);f=Sk(q,4,c[1356+(h*48|0)+20>>2]|0,0,0)|0;if(f|0){i=24;break}f=c[q>>2]|0;if(!(wk(f,c[j>>2]|0)|0)){tl(f);f=Sk(q,4,c[1356+(h*48|0)+24>>2]|0,0,0)|0;if(f|0){i=27;break}f=c[q>>2]|0;if(!(wk(f,c[k>>2]|0)|0)){tl(f);f=Sk(q,4,c[1356+(h*48|0)+28>>2]|0,0,0)|0;if(f|0){i=30;break}f=c[q>>2]|0;if(!(wk(f,c[n>>2]|0)|0)){tl(f);f=Sk(q,4,c[1356+(h*48|0)+32>>2]|0,0,0)|0;if(f|0){i=33;break}f=c[q>>2]|0;if(!(wk(f,c[o>>2]|0)|0)){tl(f);f=Sk(q,4,c[1356+(h*48|0)+44>>2]|0,0,0)|0;if(f|0){i=36;break}f=c[q>>2]|0;if(!(wk(f,c[p>>2]|0)|0)){tl(f);f=Sk(q,4,c[1356+(h*48|0)+36>>2]|0,0,0)|0;if(f|0){i=39;break}f=c[q>>2]|0;if(!(wk(f,c[b>>2]|0)|0)){tl(f);f=Sk(q,4,c[1356+(h*48|0)+40>>2]|0,0,0)|0;if(f|0){i=42;break}f=c[q>>2]|0;if(!(wk(f,c[a>>2]|0)|0)){i=44;break}}}}}}}g=h+1|0;if((g|0)==21){y=f;e=0;break a}else{h=g;g=1356+(g*48|0)|0}}if((i|0)==24){c[x>>2]=Pn(f)|0;Me(35626,x)}else if((i|0)==27){c[r>>2]=Pn(f)|0;Me(35626,r)}else if((i|0)==30){c[s>>2]=Pn(f)|0;Me(35626,s)}else if((i|0)==33){c[t>>2]=Pn(f)|0;Me(35626,t)}else if((i|0)==36){c[u>>2]=Pn(f)|0;Me(35626,u)}else if((i|0)==39){c[v>>2]=Pn(f)|0;Me(35626,v)}else if((i|0)==42){c[w>>2]=Pn(f)|0;Me(35626,w)}else if((i|0)==44){e=c[g>>2]|0;if(!B){y=f;break a}c[d>>2]=c[1356+(h*48|0)+4>>2];y=f;break a}break}default:{y=0;e=0}}while(0);Jl(y);Jl(c[j>>2]|0);Jl(c[k>>2]|0);Jl(c[n>>2]|0);Jl(c[A>>2]|0);Rj(z+20|0);Jl(c[o>>2]|0);Jl(c[p>>2]|0);d=e;l=C;return d|0}function Hg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=l;l=l+16|0;if((l|0)>=(m|0))$(16);r=u+12|0;s=u+8|0;t=u+4|0;p=u;c[r>>2]=0;c[s>>2]=0;c[t>>2]=0;c[p>>2]=0;c[a>>2]=0;q=(b|0)!=0;do if(q){f=uf(b,46885,0)|0;if(f|0?(e=Eh(f,p,0)|0,sf(f),e|0):0){j=0;i=0;h=0;g=0;f=0;break}k=uf(b,46925,5)|0;if(k|0?(c[p>>2]&512|0)==0:0){j=0;i=0;h=0;g=0;f=0;o=19;break}e=uf(b,46949,0)|0;if(e){n=Af(e,1,5)|0;f=n;sf(e);if(!n){e=65;j=0;i=0;h=0;g=0;break}}else f=0;e=uf(b,39071,0)|0;if(e){n=Af(e,1,5)|0;g=n;sf(e);if(!n){e=65;j=0;i=0;h=0;break}}else g=0;e=uf(b,35378,0)|0;if(e){n=Af(e,1,5)|0;h=n;sf(e);if(!n){e=65;j=0;i=0;break}}else h=0;e=Ig(s,b,35380,0)|0;if(!e){e=uf(b,39075,0)|0;if(e){n=Af(e,1,5)|0;i=n;sf(e);if(!n){e=65;j=0;break}}else i=0;e=uf(b,35382,0)|0;if(e){n=Af(e,1,5)|0;j=n;sf(e);if(!n)e=65;else o=17}else{j=0;o=17}}else{j=0;i=0}}else{k=0;j=0;i=0;h=0;g=0;f=0;o=17}while(0);if((o|0)==17){e=(k|0)!=0;if((d|0)!=0|e)if(e)o=19;else{k=0;o=20}else{k=0;d=0;n=f;o=37}}if((o|0)==19){e=zf(k,1)|0;sf(k);if(!e)e=65;else{k=e;o=20}}do if((o|0)==20){n=df(1,44)|0;if(!n){e=Sn()|0;cf(k);break}e=Eg(0,k|0?k:d,n,0)|0;cf(k);if(e|0){cf(n);break}d=c[n>>2]|0;k=c[n+4>>2]|0;if(!f){o=n+8|0;f=c[o>>2]|0;c[o>>2]=0}if(!g){o=n+12|0;g=c[o>>2]|0;c[o>>2]=0}if(!h){o=n+16|0;h=c[o>>2]|0;c[o>>2]=0}if(!(c[s>>2]|0)){v=n+20|0;e=n+24|0;o=n+28|0;c[s>>2]=Tj(0,c[v>>2]|0,c[e>>2]|0,c[o>>2]|0)|0;c[v>>2]=0;c[e>>2]=0;c[o>>2]=0}if(!i){v=n+32|0;i=c[v>>2]|0;c[v>>2]=0}if(!j){v=n+36|0;e=c[v>>2]|0;c[v>>2]=0}else e=j;Ug(n);cf(n);j=e;n=f;o=37}while(0);do if((o|0)==37){e=Wj(r,d,k,c[p>>2]|0,n,g,h)|0;if(!e){k=sg(c[r>>2]|0,1)|0;if(h|0){v=k+24|0;tl(c[v>>2]|0);c[v>>2]=h}e=c[s>>2]|0;if(e|0){c[k+28>>2]=e;c[s>>2]=0}if(i|0)c[k+32>>2]=i;if(j|0)c[k+36>>2]=j;if(q){e=Ig(t,b,46923,k)|0;if(e|0){j=0;i=0;h=0;f=n;break}f=uf(b,35384,0)|0;if(f){e=Af(f,1,5)|0;sf(f);if(!e){e=65;j=0;i=0;h=0;f=n;break}}else e=0}else e=0;f=c[t>>2]|0;if(f|0){c[k+40>>2]=f;c[t>>2]=0}if(e|0)c[k+44>>2]=e;c[a>>2]=c[r>>2];c[r>>2]=0;e=0;j=0;i=0;h=0;f=n}else f=n}while(0);tg(c[r>>2]|0);tl(f);tl(g);tl(h);Qj(c[s>>2]|0);tl(i);tl(j);Qj(c[t>>2]|0);tl(0);l=u;return e|0}function Ig(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=uf(d,e,0)|0;if(g){h=Af(g,1,8)|0;sf(g);if(!h){b=65;return b|0}g=Oj(0)|0;if((f|0)!=0?(c[f+4>>2]|0)==1:0)f=Pg(h,f,g,0,0)|0;else f=_g(g,h)|0;tl(h);if(f){Qj(g);b=f;return b|0}}else{j=_e((Fo(e)|0)+3|0)|0;if(!j){b=Sn()|0;return b|0}g=Np(j,e)|0;a[g>>0]=a[35386]|0;a[g+1>>0]=a[35387]|0;a[g+2>>0]=a[35388]|0;g=uf(d,j,0)|0;if(g){f=Af(g,1,5)|0;sf(g);if(!f){cf(j);b=65;return b|0}}else f=0;g=Np(j,e)|0;a[g>>0]=a[35389]|0;a[g+1>>0]=a[35390]|0;a[g+2>>0]=a[35391]|0;g=uf(d,j,0)|0;if(g){h=Af(g,1,5)|0;sf(g);if(!h){tl(f);cf(j);b=65;return b|0}else i=h}else i=0;h=Np(j,e)|0;a[h>>0]=a[35392]|0;a[h+1>>0]=a[35393]|0;a[h+2>>0]=a[35394]|0;h=uf(d,j,0)|0;if(h){g=Af(h,1,5)|0;sf(h);if(!g){tl(i);tl(f);cf(j);b=65;return b|0}}else g=El(0,1)|0;if((f|0)!=0&(i|0)!=0)g=Tj(0,f,i,g)|0;else{tl(f);tl(i);tl(g);g=0}cf(j)}if(!g){b=0;return b|0}c[b>>2]=g;b=0;return b|0}function Jg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0;o=l;l=l+112|0;if((l|0)>=(m|0))$(112);j=o+8|0;h=o;b=o+108|0;i=o+64|0;k=o+36|0;n=o+32|0;d=i;e=d+44|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));if(Eg(0,a,i,b)|0){n=0;l=o;return n|0}f=Hl(0)|0;g=Hl(0)|0;d=i+8|0;e=i+12|0;a=Uj(0,0,0,c[d>>2]|0,c[e>>2]|0,0)|0;b=i+20|0;if(Nj(f,g,b,a)|0)Me(35395,h);Yj(a);Rj(b);b=c[d>>2]|0;c[k>>2]=b;p=c[e>>2]|0;c[k+4>>2]=p;d=c[i+16>>2]|0;c[k+8>>2]=d;a=b;e=Yg(f,g,a)|0;c[k+12>>2]=e;h=c[i+32>>2]|0;c[k+16>>2]=h;i=c[i+36>>2]|0;c[k+20>>2]=i;c[k+24>>2]=0;tl(f);tl(g);c[j>>2]=a;c[j+4>>2]=p;c[j+8>>2]=d;c[j+12>>2]=e;c[j+16>>2]=h;c[j+20>>2]=i;if(Df(n,0,35444,j)|0)c[n>>2]=0;if(b|0){b=0;do{Jl(a);b=b+1|0;a=c[k+(b<<2)>>2]|0}while((a|0)!=0)}p=c[n>>2]|0;l=o;return p|0}function Kg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=l;l=l+16|0;if((l|0)>=(m|0))$(16);x=z+4|0;y=z;q=a[b>>0]|0;a:do if(q<<24>>24){if((Go(b,46949)|0)==0?(f=c[d+16>>2]|0,f|0):0){if(!(e|0?1:(c[f+12>>2]&32|0)==0))break;f=yl(f)|0;break}if((Go(b,39071)|0)==0?(n=c[d+20>>2]|0,n|0):0){if(!(e|0?1:(c[n+12>>2]&32|0)==0)){f=n;break}f=yl(n)|0;break}if((Go(b,35378)|0)==0?(o=c[d+24>>2]|0,o|0):0){if(!(e|0?1:(c[o+12>>2]&32|0)==0)){f=o;break}f=yl(o)|0;break}if((Go(b,39075)|0)==0?(p=c[d+32>>2]|0,p|0):0){if(!(e|0?1:(c[p+12>>2]&32|0)==0)){f=p;break}f=yl(p)|0;break}if((Go(b,35382)|0)==0?(r=c[d+36>>2]|0,r|0):0){if(!(e|0?1:(c[r+12>>2]&32|0)==0)){f=r;break}f=yl(r)|0;break}if((Go(b,35384)|0)==0?(s=c[d+44>>2]|0,s|0):0){if(!(e|0?1:(c[s+12>>2]&32|0)==0)){f=s;break}f=yl(s)|0;break}if(((Go(b,35492)|0)==0?(t=c[d+28>>2]|0,t|0):0)?(u=c[t>>2]|0,u|0):0){if(!(e|0?1:(c[u+12>>2]&32|0)==0)){f=u;break}f=yl(u)|0;break}if(((Go(b,35496)|0)==0?(v=c[d+28>>2]|0,v|0):0)?(w=c[v+4>>2]|0,w|0):0){if(!(e|0?1:(c[w+12>>2]&32|0)==0)){f=w;break}f=yl(w)|0;break}if(((Go(b,35500)|0)==0?(g=c[d+40>>2]|0,g|0):0)?(h=c[g>>2]|0,h|0):0){if(!(e|0?1:(c[h+12>>2]&32|0)==0)){f=h;break}f=yl(h)|0;break}if(((Go(b,35504)|0)==0?(i=c[d+40>>2]|0,i|0):0)?(j=c[i+4>>2]|0,j|0):0){y=c[(c[d+28>>2]|0)+4>>2]|0;if(y|0?!(e|0?1:(c[y+12>>2]&32|0)==0):0){f=j;break}f=yl(j)|0;break}if((Go(b,35380)|0)==0?(k=c[d+28>>2]|0,k|0):0){f=Zg(k,d)|0;break}if(q<<24>>24==113){h=b+1|0;g=a[h>>0]|0;switch(g<<24>>24){case 64:case 0:break;default:{f=0;break a}}i=d+40|0;f=c[i>>2]|0;if(!f){f=$g(0,d,0,0)|0;c[i>>2]=f;if(!f){f=0;break}g=a[h>>0]|0}if(g<<24>>24!=64){f=Zg(f,d)|0;break}if((Go(b+2|0,49614)|0)==0?(c[d>>2]|0)==2:0)if(!(Mg(f,d,0,0,0,x,y)|0)){f=ul(0,c[x>>2]|0,c[y>>2]<<3)|0;break}else{f=0;break}else f=0}else f=0}else f=0;while(0);l=z;return f|0}function Lg(a,b){a=a|0;b=b|0;var d=0;if((Go(a,35380)|0)==0?(d=c[b+28>>2]|0,d|0):0){b=Oj(0)|0;Al(c[b>>2]|0,c[d>>2]|0)|0;Al(c[b+4>>2]|0,c[d+4>>2]|0)|0;Al(c[b+8>>2]|0,c[d+8>>2]|0)|0;return b|0}if(Go(a,46923)|0){b=0;return b|0}d=b+40|0;a=c[d>>2]|0;if(!a){a=$g(0,b,0,0)|0;c[d>>2]=a;if(!a){b=0;return b|0}}b=Oj(0)|0;Al(c[b>>2]|0,c[a>>2]|0)|0;Al(c[b+4>>2]|0,c[a+4>>2]|0)|0;Al(c[b+8>>2]|0,c[a+8>>2]|0)|0;return b|0}function Mg(b,e,f,g,h,i,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+16|0;if((l|0)>=(m|0))$(16);k=s;o=s+4|0;r=(f|0)!=0;if(r)q=f;else q=Hl(0)|0;p=(g|0)!=0;if(p)n=g;else n=Hl(0)|0;if(!(Nj(q,n,b,e)|0)){b=(h|0)!=0;h=b&1;f=Qk(n,(c[e+12>>2]|0)>>>3,b<<31>>31,o,0)|0;if(!f)f=Sn()|0;else{e=(mk(q,0)|0)!=0;g=c[o>>2]|0;if(e&(g|0)!=0){e=f+(g+((b^1)<<31>>31))|0;a[e>>0]=d[e>>0]|0|128}if(b)a[f>>0]=64;c[i>>2]=f;c[j>>2]=(c[o>>2]|0)+h;f=0}}else{Le(35508,k);f=63}if(!r)tl(q);if(p){l=s;return f|0}tl(n);l=s;return f|0}function Ng(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0;o=l;l=l+16|0;if((l|0)>=(m|0))$(16);j=o+12|0;i=o+8|0;k=o+4|0;n=o;if(!b){n=65;l=o;return n|0}if(!(c[b+12>>2]&4)){n=65;l=o;return n|0}f=wl(b,i)|0;if(!f){n=65;l=o;return n|0}h=(c[i>>2]|0)+7|0;g=h>>>3;c[i>>2]=g;if(h>>>0<16|(g&1|0)==0){n=0;l=o;return n|0}switch(a[f>>0]|0){case 4:{h=f+1|0;f=Sk(k,1,h,(g+-1|0)>>>1,0)|0;if(f|0){n=f;l=o;return n|0}f=((c[i>>2]|0)+-1|0)>>>1;f=Sk(n,1,h+f|0,f,0)|0;g=c[k>>2]|0;if(f|0){tl(g);n=f;l=o;return n|0}h=Qk(c[n>>2]|0,e>>>3,0,j,0)|0;if(!h){g=Sn()|0;f=0}else{e=(mk(g,0)|0)!=0;f=c[j>>2]|0;if(e&(f|0)!=0){f=h+(f+-1)|0;a[f>>0]=d[f>>0]|128;f=c[j>>2]|0}g=0;f=f<<3}tl(c[k>>2]|0);tl(c[n>>2]|0);if(g|0){n=g;l=o;return n|0}ul(b,h,f)|0;n=0;l=o;return n|0}case 64:{if(vl(b,f+1|0,(g<<3)+-8|0)|0){n=0;l=o;return n|0}n=Sn()|0;l=o;return n|0}default:{n=0;l=o;return n|0}}return 0}function Og(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0;q=l;l=l+16|0;if((l|0)>=(m|0))$(16);p=q+8|0;g=q;n=q+12|0;if((c[e+4>>2]|0)!=1){d=69;l=q;return d|0}do if(!(c[17611]|0)){f=Sk(n,4,35561,0,0)|0;if(!f){c[17611]=c[n>>2];break}else{c[g>>2]=Pn(f)|0;Me(35626,g)}}while(0);if(!(c[17612]|0))c[17612]=El(0,7)|0;g=Hl(0)|0;h=Hl(0)|0;i=Hl(0)|0;j=Hl(0)|0;k=e+16|0;Lk(g,b,b,c[k>>2]|0);Lk(h,c[e+24>>2]|0,g,c[k>>2]|0);gk(g,g,1);ek(h,h,1);e=Ml(3)|0;Mk(i,h,e,c[k>>2]|0);Mk(j,h,c[17612]|0,c[k>>2]|0);Lk(j,j,g,c[k>>2]|0);Mk(j,j,c[17611]|0,c[k>>2]|0);Lk(j,j,g,c[k>>2]|0);Lk(a,j,i,c[k>>2]|0);Lk(j,a,a,c[k>>2]|0);Lk(j,j,h,c[k>>2]|0);zl(j,j);if(!(wk(j,g)|0)){f=c[17613]|0;do if(!f){f=Sk(n,4,35661,0,0)|0;if(!f){o=c[n>>2]|0;c[17613]=o;break}else{c[p>>2]=Pn(f)|0;Me(35626,p)}}else o=f;while(0);Lk(a,a,o,c[k>>2]|0);Lk(j,a,a,c[k>>2]|0);Lk(j,j,h,c[k>>2]|0);zl(j,j);f=(wk(j,g)|0)==0;f=f?65:0}else f=0;if((mk(a,0)|0)!=((d|0)!=0|0))hk(a,c[k>>2]|0,a);tl(j);tl(i);tl(h);tl(g);d=f;l=q;return d|0}function Pg(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=l;l=l+16|0;if((l|0)>=(m|0))$(16);k=r+12|0;q=r+8|0;n=r+4|0;o=r;if((b|0)!=0?(c[b+12>>2]&4|0)!=0:0){j=wl(b,q)|0;if(!j){f=65;l=r;return f|0}i=(c[q>>2]|0)+7|0;b=i>>>3;c[q>>2]=b;a:do if(!(i>>>0<16|(b&1|0)==0)){switch(a[j>>0]|0){case 4:break;case 64:{b=b+-1|0;c[q>>2]=b;j=j+1|0;break a}default:break a}i=j+1|0;b=Sk(n,1,i,(b+-1|0)>>>1,0)|0;b:do if(!b){b=((c[q>>2]|0)+-1|0)>>>1;b=Sk(o,1,i+b|0,b,0)|0;if(b|0){tl(c[n>>2]|0);break}do if(g|0){b=c[n>>2]|0;i=Qk(c[o>>2]|0,(c[e+12>>2]|0)>>>3,0,k,0)|0;if(!i){b=Sn()|0;if(!b)break;tl(c[n>>2]|0);tl(c[o>>2]|0);break b}e=(mk(b,0)|0)!=0;b=c[k>>2]|0;if(e&(b|0)!=0){b=i+(b+-1)|0;a[b>>0]=d[b>>0]|128;b=c[k>>2]|0}c[g>>2]=i;c[h>>2]=b}while(0);Cl(c[f>>2]|0,c[n>>2]|0);Cl(c[f+4>>2]|0,c[o>>2]|0);El(c[f+8>>2]|0,1)|0;b=0}while(0);f=b;l=r;return f|0}while(0);b=_e(b|0?b:1)|0;if(!b){f=Sn()|0;l=r;return f|0}i=c[q>>2]|0;cr(b|0,j|0,i|0)|0;k=i>>>1;if(k){n=i+-1|0;j=0;do{t=b+j|0;s=a[t>>0]|0;o=b+(n-j)|0;a[t>>0]=a[o>>0]|0;a[o>>0]=s;j=j+1|0}while((j|0)!=(k|0))}}else p=24;do if((p|0)==24){b=Ok(b,(c[e+12>>2]|0)>>>3,q,0)|0;if(b|0){i=c[q>>2]|0;break}t=Sn()|0;l=r;return t|0}while(0);if(!i){n=0;i=0}else{n=d[b>>0]|0;a[b>>0]=n&127;n=n>>>7;i=c[q>>2]|0}o=f+4|0;Rk(c[o>>2]|0,b,i,0);if(g){i=c[q>>2]|0;if((n|0)!=0&(i|0)!=0){a[b>>0]=d[b>>0]|128;i=c[q>>2]|0}k=i>>>1;if(k|0){j=i+-1|0;i=0;do{p=b+i|0;s=a[p>>0]|0;t=b+(j-i)|0;a[p>>0]=a[t>>0]|0;a[t>>0]=s;i=i+1|0}while((i|0)!=(k|0))}c[g>>2]=b;if(h|0)c[h>>2]=c[q>>2]}else cf(b);t=Og(c[f>>2]|0,c[o>>2]|0,n,e)|0;El(c[f+8>>2]|0,1)|0;l=r;return t|0}function Qg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;i=l;l=l+48|0;if((l|0)>=(m|0))$(48);f=i+32|0;g=i;c[b>>2]=0;if(((c[e+12>>2]|0)+7&-8|0)!=256){b=63;l=i;return b|0}h=ef(2,32)|0;if(!h){b=Sn()|0;l=i;return b|0};c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;c[g+28>>2]=0;d=Ok(d,0,f,0)|0;if(!d){cf(h);b=Sn()|0;l=i;return b|0}c[g+12>>2]=h;c[g+4>>2]=0;e=c[f>>2]|0;c[g+8>>2]=e>>>0<32?32-e|0:0;c[g+28>>2]=d;c[g+20>>2]=0;c[g+24>>2]=e;e=qh(10,0,h,g,2)|0;cf(d);if(!e){f=a[h>>0]|0;g=h+31|0;d=a[g>>0]|0;k=h+1|0;j=a[k>>0]|0;e=h+30|0;a[k>>0]=a[e>>0]|0;a[e>>0]=j;e=h+2|0;j=a[e>>0]|0;k=h+29|0;a[e>>0]=a[k>>0]|0;a[k>>0]=j;k=h+3|0;j=a[k>>0]|0;e=h+28|0;a[k>>0]=a[e>>0]|0;a[e>>0]=j;e=h+4|0;j=a[e>>0]|0;k=h+27|0;a[e>>0]=a[k>>0]|0;a[k>>0]=j;k=h+5|0;j=a[k>>0]|0;e=h+26|0;a[k>>0]=a[e>>0]|0;a[e>>0]=j;e=h+6|0;j=a[e>>0]|0;k=h+25|0;a[e>>0]=a[k>>0]|0;a[k>>0]=j;k=h+7|0;j=a[k>>0]|0;e=h+24|0;a[k>>0]=a[e>>0]|0;a[e>>0]=j;e=h+8|0;j=a[e>>0]|0;k=h+23|0;a[e>>0]=a[k>>0]|0;a[k>>0]=j;k=h+9|0;j=a[k>>0]|0;e=h+22|0;a[k>>0]=a[e>>0]|0;a[e>>0]=j;e=h+10|0;j=a[e>>0]|0;k=h+21|0;a[e>>0]=a[k>>0]|0;a[k>>0]=j;k=h+11|0;j=a[k>>0]|0;e=h+20|0;a[k>>0]=a[e>>0]|0;a[e>>0]=j;e=h+12|0;j=a[e>>0]|0;k=h+19|0;a[e>>0]=a[k>>0]|0;a[k>>0]=j;k=h+13|0;j=a[k>>0]|0;e=h+18|0;a[k>>0]=a[e>>0]|0;a[e>>0]=j;e=h+14|0;j=a[e>>0]|0;k=h+17|0;a[e>>0]=a[k>>0]|0;a[k>>0]=j;k=h+15|0;j=a[k>>0]|0;e=h+16|0;a[k>>0]=a[e>>0]|0;a[e>>0]=j;a[h>>0]=d&63|64;a[g>>0]=f&248;c[b>>2]=h;b=0;l=i;return b|0}else{cf(h);k=e;l=i;return k|0}return 0}function Rg(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0;p=l;l=l+32|0;if((l|0)>=(m|0))$(32);j=p+16|0;h=p;Pj(j);c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;k=Il(0)|0;n=Hl(0)|0;o=Hl(0)|0;i=$e(64)|0;if(!i){e=Sn()|0;d=0;e=(e|0)==0?0:e&65535|16777216;Rj(j);Jl(k);Jl(n);Jl(o);cf(d);l=p;return e|0}g=Cj(32,2-(f>>>5&1)|0)|0;c[h+12>>2]=g;c[h+8>>2]=32;f=qh(10,0,i,h,1)|0;if(f|0){d=i;e=f;Rj(j);Jl(k);Jl(n);Jl(o);cf(d);l=p;return e|0}c[b+56>>2]=ul(0,g,256)|0;h=a[i>>0]|0;f=i+31|0;g=a[f>>0]|0;s=i+1|0;r=a[s>>0]|0;q=i+30|0;a[s>>0]=a[q>>0]|0;a[q>>0]=r;q=i+2|0;r=a[q>>0]|0;s=i+29|0;a[q>>0]=a[s>>0]|0;a[s>>0]=r;s=i+3|0;r=a[s>>0]|0;q=i+28|0;a[s>>0]=a[q>>0]|0;a[q>>0]=r;q=i+4|0;r=a[q>>0]|0;s=i+27|0;a[q>>0]=a[s>>0]|0;a[s>>0]=r;s=i+5|0;r=a[s>>0]|0;q=i+26|0;a[s>>0]=a[q>>0]|0;a[q>>0]=r;q=i+6|0;r=a[q>>0]|0;s=i+25|0;a[q>>0]=a[s>>0]|0;a[s>>0]=r;s=i+7|0;r=a[s>>0]|0;q=i+24|0;a[s>>0]=a[q>>0]|0;a[q>>0]=r;q=i+8|0;r=a[q>>0]|0;s=i+23|0;a[q>>0]=a[s>>0]|0;a[s>>0]=r;s=i+9|0;r=a[s>>0]|0;q=i+22|0;a[s>>0]=a[q>>0]|0;a[q>>0]=r;q=i+10|0;r=a[q>>0]|0;s=i+21|0;a[q>>0]=a[s>>0]|0;a[s>>0]=r;s=i+11|0;r=a[s>>0]|0;q=i+20|0;a[s>>0]=a[q>>0]|0;a[q>>0]=r;q=i+12|0;r=a[q>>0]|0;s=i+19|0;a[q>>0]=a[s>>0]|0;a[s>>0]=r;s=i+13|0;r=a[s>>0]|0;q=i+18|0;a[s>>0]=a[q>>0]|0;a[q>>0]=r;q=i+14|0;r=a[q>>0]|0;s=i+17|0;a[q>>0]=a[s>>0]|0;a[s>>0]=r;s=i+15|0;r=a[s>>0]|0;q=i+16|0;a[s>>0]=a[q>>0]|0;a[q>>0]=r;a[i>>0]=g&63|64;a[f>>0]=h&248;Rk(k,i,32,0);cf(i);f=d+20|0;ck(j,k,f,e);if(nf(1)|0)Mj(35726,j,e);c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=yl(c[d+8>>2]|0)|0;c[b+12>>2]=yl(c[d+12>>2]|0)|0;c[b+16>>2]=yl(c[d+16>>2]|0)|0;r=b+20|0;Pj(r);Al(c[r>>2]|0,c[f>>2]|0)|0;Al(c[b+24>>2]|0,c[d+24>>2]|0)|0;Al(c[b+28>>2]|0,c[d+28>>2]|0)|0;c[b+32>>2]=yl(c[d+32>>2]|0)|0;c[b+36>>2]=yl(c[d+36>>2]|0)|0;r=b+44|0;Pj(r);Al(c[r>>2]|0,c[j>>2]|0)|0;Al(c[b+48>>2]|0,c[j+4>>2]|0)|0;Al(c[b+52>>2]|0,c[j+8>>2]|0)|0;r=0;s=0;Rj(j);Jl(k);Jl(n);Jl(o);cf(r);l=p;return s|0}function Sg(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;G=l;l=l+112|0;if((l|0)>=(m|0))$(112);v=G+96|0;n=G+92|0;k=G+88|0;t=G+40|0;C=G+36|0;u=G+32|0;D=G+28|0;s=G+24|0;E=G+12|0;F=G;c[C>>2]=0;c[D>>2]=0;i=t;j=i+48|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(j|0));if(!b){F=79;l=G;return F|0}if(!(c[b+12>>2]&4)){F=79;l=G;return F|0}Pj(E);Pj(F);x=Il(0)|0;y=Hl(0)|0;z=Hl(0)|0;A=Hl(0)|0;B=Uj(c[d>>2]|0,c[d+4>>2]|0,0,c[d+8>>2]|0,c[d+12>>2]|0,c[d+16>>2]|0)|0;if(((c[B+12>>2]|0)+7&-8|0)!=256){F=63;l=G;return F|0}j=Qg(k,c[d+56>>2]|0,B)|0;w=c[k>>2]|0;do if(!j){Rk(x,w,32,0);i=w;if(!h){ck(F,x,d+20|0,B);j=Mg(F,B,y,z,0,D,s)|0;if(j|0){i=0;break}if(nf(1)|0)Qe(35747,c[D>>2]|0,c[s>>2]|0)}else{j=Pg(h,B,F,D,s)|0;if(j|0){i=0;break}if(nf(1)|0)Qe(35740,c[D>>2]|0,c[s>>2]|0);if(!(dk(F,B)|0)){j=195;i=0;break}}q=wl(b,n)|0;o=((c[n>>2]|0)+7|0)>>>3;if(nf(1)|0)Qe(35754,q,o);p=t+12|0;c[p>>2]=i;k=t+4|0;c[k>>2]=32;h=t+8|0;c[h>>2]=32;b=t+28|0;c[b>>2]=q;n=t+24|0;c[n>>2]=o;j=qh(g,0,w,t,2)|0;if(!j){i=0;do{H=w+i|0;j=a[H>>0]|0;r=w+(63-i)|0;a[H>>0]=a[r>>0]|0;a[r>>0]=j;i=i+1|0}while((i|0)!=32);if(nf(1)|0)Qe(52990,w,64);Rk(A,w,64,0);ck(E,A,d+20|0,B);if(nf(1)|0)Mj(35761,E,B);j=Mg(E,B,y,z,0,C,u)|0;if(j|0){i=c[C>>2]|0;break}if(!(nf(1)|0)){j=c[C>>2]|0;i=j;r=c[u>>2]|0}else{j=c[C>>2]|0;r=c[u>>2]|0;Qe(35766,j,r);i=j}c[p>>2]=j;c[k>>2]=0;c[h>>2]=r;c[b>>2]=c[D>>2];c[t+20>>2]=0;c[n>>2]=c[s>>2];c[t+44>>2]=q;c[t+36>>2]=0;c[t+40>>2]=o;j=qh(g,0,w,t,3)|0;if(!j){ul(e,i,r<<3)|0;c[C>>2]=0;i=0;do{t=w+i|0;e=a[t>>0]|0;H=w+(63-i)|0;a[t>>0]=a[H>>0]|0;a[H>>0]=e;i=i+1|0}while((i|0)!=32);if(nf(1)|0)Qe(35773,w,64);Rk(f,w,64,0);j=d+32|0;Lk(f,f,x,c[j>>2]|0);ik(f,f,A,c[j>>2]|0);j=Ok(f,32,v,0)|0;if(!j){j=Sn()|0;if(!j){j=0;i=r}else{i=0;break}}else{c[C>>2]=j;i=c[v>>2]|0;c[u>>2]=i}if(nf(1)|0)Qe(35780,j,i);ul(f,j,i<<3)|0;c[C>>2]=0;j=0;i=0}}else i=0}else i=0;while(0);Jl(x);Jl(y);Jl(z);Jl(A);cf(w);Yj(B);Rj(E);Rj(F);cf(c[D>>2]|0);cf(i);H=j;l=G;return H|0}function Tg(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+176|0;if((l|0)>=(m|0))$(176);n=y+100|0;w=y+88|0;x=y+84|0;j=y+80|0;t=y+76|0;p=y+72|0;k=y+104|0;i=y+24|0;u=y+12|0;v=y;c[x>>2]=0;c[t>>2]=0;if(!b){x=79;l=y;return x|0}if(!(e|0?(c[b+12>>2]&4|0)!=0:0)){x=79;l=y;return x|0}if(!(f|0?(c[e+12>>2]&4|0)!=0:0)){x=79;l=y;return x|0}if(!(c[f+12>>2]&4)){x=79;l=y;return x|0}if((g|0)!=10){x=5;l=y;return x|0}Pj(w);Pj(u);Pj(v);q=Hl(0)|0;r=Hl(0)|0;s=Uj(c[d>>2]|0,c[d+4>>2]|0,0,c[d+8>>2]|0,c[d+12>>2]|0,c[d+16>>2]|0)|0;if((c[s+12>>2]&-8|0)!=256){x=63;l=y;return x|0}g=Pg(h,s,w,x,j)|0;do if(!g)if(dk(w,s)|0){if(nf(1)|0)Qe(35747,c[x>>2]|0,c[j>>2]|0);if((c[j>>2]|0)==32){h=wl(b,n)|0;b=((c[n>>2]|0)+7|0)>>>3;if(nf(1)|0)Qe(35754,h,b);o=wl(e,n)|0;g=((c[n>>2]|0)+7|0)>>>3;if(nf(1)|0)Qe(52990,o,g);if((g|0)==32){c[i+12>>2]=o;c[i+4>>2]=0;c[i+8>>2]=32;c[i+28>>2]=c[x>>2];c[i+20>>2]=0;c[i+24>>2]=c[j>>2];c[i+44>>2]=h;c[i+36>>2]=0;c[i+40>>2]=b;g=qh(10,0,k,i,3)|0;if(!g){g=0;do{e=k+g|0;i=a[e>>0]|0;j=k+(63-g)|0;a[e>>0]=a[j>>0]|0;a[j>>0]=i;g=g+1|0}while((g|0)!=32);if(nf(1)|0)Qe(35773,k,64);Rk(q,k,64,0);i=xl(f,n)|0;b=(c[n>>2]|0)+7|0;h=b>>>3;b=b>>>4;if(b|0){e=h+-1|0;g=0;do{k=i+g|0;f=a[k>>0]|0;n=i+(e-g)|0;a[k>>0]=a[n>>0]|0;a[n>>0]=f;g=g+1|0}while((g|0)!=(b|0))}if(nf(1)|0)Qe(52997,i,h);Rk(r,i,h,0);cf(i);if((h|0)==32){ck(u,r,d+20|0,s);ck(v,q,w,s);g=c[v>>2]|0;zl(g,g);ak(u,u,v,s);g=Mg(u,s,r,q,0,t,p)|0;if(!g){if((c[p>>2]|0)!=32){g=8;break}g=(Tp(c[t>>2]|0,o,32)|0)==0;g=g?0:8}}else g=139}}else g=139}else g=139}else g=195;while(0);cf(c[x>>2]|0);cf(c[t>>2]|0);Yj(s);Jl(r);Jl(q);Rj(u);Rj(v);Rj(w);x=g;l=y;return x|0}function Ug(a){a=a|0;var b=0;b=a+8|0;tl(c[b>>2]|0);c[b>>2]=0;b=a+12|0;tl(c[b>>2]|0);c[b>>2]=0;b=a+16|0;tl(c[b>>2]|0);c[b>>2]=0;Rj(a+20|0);b=a+32|0;tl(c[b>>2]|0);c[b>>2]=0;a=a+36|0;tl(c[a>>2]|0);c[a>>2]=0;return}function Vg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=l;l=l+48|0;if((l|0)>=(m|0))$(48);d=e;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+40>>2]=c[b+40>>2];c[d+8>>2]=yl(c[b+8>>2]|0)|0;c[d+12>>2]=yl(c[b+12>>2]|0)|0;c[d+16>>2]=yl(c[b+16>>2]|0)|0;f=d+20|0;Pj(f);Al(c[f>>2]|0,c[b+20>>2]|0)|0;Al(c[d+24>>2]|0,c[b+24>>2]|0)|0;Al(c[d+28>>2]|0,c[b+28>>2]|0)|0;c[d+32>>2]=yl(c[b+32>>2]|0)|0;c[d+36>>2]=yl(c[b+36>>2]|0)|0;b=d;d=a+44|0;do{c[a>>2]=c[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(d|0));l=e;return}function Wg(a){a=a|0;switch(a|0){case 0:{a=35795;break}case 1:{a=45456;break}case 2:{a=35787;break}default:a=37665}return a|0}function Xg(a){a=a|0;return ((a|0)==0?35815:(a|0)==1?35807:37665)|0}function Yg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0;q=l;l=l+32|0;if((l|0)>=(m|0))$(32);p=q+16|0;k=q+8|0;g=q;h=q+24|0;o=q+20|0;i=((lk(e)|0)+7|0)>>>3;j=i<<1|1;n=gf(j)|0;a[n>>0]=4;f=n+1|0;e=Tk(5,f,i,h,b)|0;if(e|0){c[g>>2]=Pn(e)|0;Me(35824,g)}e=c[h>>2]|0;if(i>>>0>e>>>0){g=i-e|0;dr(f+g|0,f|0,e|0)|0;Yq(f|0,0,g|0)|0}b=f+i|0;e=Tk(5,b,i,h,d)|0;if(e|0){c[k>>2]=Pn(e)|0;Me(35824,k)}e=c[h>>2]|0;if(i>>>0>e>>>0){k=i-e|0;dr(b+k|0,b|0,e|0)|0;Yq(b|0,0,k|0)|0}e=Sk(o,5,n,j,0)|0;if(!e){cf(n);l=q;return c[o>>2]|0}else{c[p>>2]=Pn(e)|0;Me(35846,p)}return 0}function Zg(a,b){a=a|0;b=b|0;var d=0,e=0;d=Hl(0)|0;e=Hl(0)|0;if(!(Nj(d,e,a,b)|0))a=Yg(d,e,c[b+16>>2]|0)|0;else a=0;tl(d);tl(e);return a|0}function _g(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;if((l|0)>=(m|0))$(16);h=k+12|0;i=k+8|0;j=k+4|0;e=k;do if((d|0)!=0?(c[d+12>>2]&4|0)!=0:0){d=wl(d,e)|0;if(d|0){e=((c[e>>2]|0)+7|0)>>>3;c[h>>2]=e;g=0;break}j=65;l=k;return j|0}else f=6;while(0);do if((f|0)==6){g=((lk(d)|0)+7|0)>>>3;c[h>>2]=g;e=gf(g)|0;d=Tk(5,e,g,h,d)|0;if(!d){d=e;g=e;e=c[h>>2]|0;break}cf(e);j=d;l=k;return j|0}while(0);if(!e){cf(g);j=65;l=k;return j|0}if((a[d>>0]|0)!=4){cf(g);j=69;l=k;return j|0}e=e+-1|0;if(e&1|0){cf(g);j=65;l=k;return j|0}e=e>>>1;c[h>>2]=e;d=d+1|0;e=Sk(i,5,d,e,0)|0;if(e|0){cf(g);j=e;l=k;return j|0}h=c[h>>2]|0;d=Sk(j,5,d+h|0,h,0)|0;cf(g);if(!d){Al(c[b>>2]|0,c[i>>2]|0)|0;Al(c[b+4>>2]|0,c[j>>2]|0)|0;El(c[b+8>>2]|0,1)|0;tl(c[i>>2]|0);tl(c[j>>2]|0);j=0;l=k;return j|0}else{tl(c[i>>2]|0);j=d;l=k;return j|0}return 0}function $g(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=l;l=l+16|0;if((l|0)>=(m|0))$(16);f=h;if(!d)d=c[b+28>>2]|0;if(!e)e=c[b+44>>2]|0;if(!((d|0)!=0&(e|0)!=0)){b=0;l=h;return b|0}if(!(c[b+16>>2]|0)){b=0;l=h;return b|0}if(!(c[b+20>>2]|0)){b=0;l=h;return b|0}if((c[b>>2]|0)==2?(c[b+24>>2]|0)==0:0){b=0;l=h;return b|0}if((c[b+4>>2]|0)==1?c[b+8>>2]&4096|0:0){if(Qg(f,e,b)|0){b=0;l=h;return b|0}e=Il(0)|0;Rk(e,c[f>>2]|0,32,0);cf(c[f>>2]|0);if(!a){a=Oj(0)|0;if(!a)a=0;else g=15}else g=15;if((g|0)==15)ck(a,e,d,b);tl(e);b=a;l=h;return b|0}if(!a){a=Oj(0)|0;if(!a){b=0;l=h;return b|0}}ck(a,e,d,b);b=a;l=h;return b|0}function ah(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0;n=l;l=l+128|0;if((l|0)>=(m|0))$(128);j=n;a:do if(th(b,8,0,0)|0)if(!e)b=5;else{zb[e&1](36051,b,37758,36151);b=5}else switch(b|0){case 2:{b=0;do{a[j+b>>0]=b;b=b+1|0}while((b|0)!=64);b=bh(2,35867,9,j,64,35877,20)|0;if(!b)if(d){a[j>>0]=48;a[j+1>>0]=49;a[j+2>>0]=50;a[j+3>>0]=51;a[j+4>>0]=52;a[j+5>>0]=53;a[j+6>>0]=54;a[j+7>>0]=55;a[j+8>>0]=56;a[j+9>>0]=57;a[j+10>>0]=58;a[j+11>>0]=59;a[j+12>>0]=60;a[j+13>>0]=61;a[j+14>>0]=62;a[j+15>>0]=63;a[j+16>>0]=64;a[j+17>>0]=65;a[j+18>>0]=66;a[j+19>>0]=67;b=bh(2,35898,9,j,20,35908,20)|0;if(!b){b=80;d=0;while(1){a[j+d>>0]=b;d=d+1|0;if((d|0)==100)break;else b=b+1|0}b=bh(2,35929,9,j,100,35939,20)|0;if(!b){b=112;d=0;while(1){a[j+d>>0]=b;d=d+1|0;if((d|0)==49)break;else b=b+1|0}b=bh(2,35960,9,j,49,35970,20)|0;if(!b)b=0;else{d=36036;k=12}}else{d=36021;k=12}}else{d=36006;k=12}}else b=0;else{d=35991;k=12}if((k|0)==12)if(!e)b=50;else{zb[e&1](36051,2,d,b);b=50}break a}case 11:{b=c[677]|0;if(!b){b=0;break a}b:do if(!d){j=c[678]|0;k=Fo(j)|0;d=c[679]|0;d=bh(11,j,k,d,Fo(d)|0,2720,28)|0;if(!d){b=0;break a}}else{f=0;while(1){j=c[2708+(f*40|0)+4>>2]|0;k=Fo(j)|0;d=c[2708+(f*40|0)+8>>2]|0;d=bh(11,j,k,d,Fo(d)|0,2708+(f*40|0)+12|0,28)|0;if(d|0)break b;f=f+1|0;b=c[2708+(f*40|0)>>2]|0;if(!b){b=0;break a}}}while(0);if(!e){b=50;break a}zb[e&1](36051,11,b,d);b=50;break a}case 8:{b=c[747]|0;if(!b){b=0;break a}c:do if(!d){h=c[748]|0;i=Fo(h)|0;d=c[749]|0;d=bh(8,h,i,d,Fo(d)|0,3e3,32)|0;if(!d){f=c[749]|0;f=Ol(f,Fo(f)|0)|0;if(f){d=c[748]|0;Pl(f,d,Fo(d)|0);d=Tl(f,j)|0;if(d)if((c[j>>2]|0)==32?(Tp(d,3e3,32)|0)==0:0){Rl(f);b=0;break a}else{d=f;k=36}else{d=f;k=33}}else d=36056}}else{i=0;while(1){g=2988+(i*44|0)+4|0;p=c[g>>2]|0;o=Fo(p)|0;f=2988+(i*44|0)+8|0;d=c[f>>2]|0;h=2988+(i*44|0)+12|0;d=bh(8,p,o,d,Fo(d)|0,h,32)|0;if(d|0)break c;d=c[f>>2]|0;d=Ol(d,Fo(d)|0)|0;if(!d){d=36056;break c}f=c[g>>2]|0;Pl(d,f,Fo(f)|0);f=Tl(d,j)|0;if(!f){k=33;break c}if((c[j>>2]|0)!=32){k=36;break c}if(Tp(f,h,32)|0){k=36;break c}Rl(d);i=i+1|0;b=c[2988+(i*44|0)>>2]|0;if(!b){b=0;break a}}}while(0);if((k|0)==33){Rl(d);d=36081}else if((k|0)==36){Rl(d);d=36111}if(!e){b=50;break a}zb[e&1](36051,8,b,d);b=50;break a}case 9:{b=c[824]|0;if(!b){b=0;break a}d:do if(!d){o=c[825]|0;p=Fo(o)|0;d=c[826]|0;d=bh(9,o,p,d,Fo(d)|0,3308,48)|0;if(!d){b=0;break a}}else{f=0;while(1){o=c[3296+(f*60|0)+4>>2]|0;p=Fo(o)|0;d=c[3296+(f*60|0)+8>>2]|0;d=bh(9,o,p,d,Fo(d)|0,3296+(f*60|0)+12|0,48)|0;if(d|0)break d;f=f+1|0;b=c[3296+(f*60|0)>>2]|0;if(!b){b=0;break a}}}while(0);if(!e){b=50;break a}zb[e&1](36051,9,b,d);b=50;break a}case 10:{b=c[929]|0;if(!b){b=0;break a}e:do if(!d){o=c[930]|0;p=Fo(o)|0;d=c[931]|0;d=bh(10,o,p,d,Fo(d)|0,3728,64)|0;if(!d){b=0;break a}}else{f=0;while(1){o=c[3716+(f*76|0)+4>>2]|0;p=Fo(o)|0;d=c[3716+(f*76|0)+8>>2]|0;d=bh(10,o,p,d,Fo(d)|0,3716+(f*76|0)+12|0,64)|0;if(d|0)break e;f=f+1|0;b=c[3716+(f*76|0)>>2]|0;if(!b){b=0;break a}}}while(0);if(!e){b=50;break a}zb[e&1](36051,10,b,d);b=50;break a}default:{b=5;break a}}while(0);l=n;return ((b|0)==0?0:b&65535|16777216)|0}function bh(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;j=l;l=l+16|0;if((l|0)>=(m|0))$(16);i=j;do if((sh(a)|0)==(h|0))if(!(eh(i,a,2)|0)){f=(nh(c[i>>2]|0,e,f)|0)==0;e=c[i>>2]|0;if(!f){kh(e);e=36834;break}lh(e,b,d);e=ph(c[i>>2]|0,a)|0;if(!e){kh(c[i>>2]|0);e=36856;break}else{e=(Tp(e,g,h)|0)==0;kh(c[i>>2]|0);e=e?0:36819;break}}else e=49699;else e=36876;while(0);l=j;return e|0}function ch(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;if(!a){o=0;return o|0}if((Jo(a,36895,4)|0)!=0?(Jo(a,36900,4)|0)!=0:0)n=a;else n=a+4|0;f=c[1910]|0;a:do if((f|0)!=0?(g=c[f>>2]|0,(g|0)!=0):0){d=0;e=g;while(1){d=d+1|0;if(!(Op(n,e)|0)){m=7620;b=g;o=f;g=29;break a}e=c[f+(d<<2)>>2]|0;if(!e){g=9;break}}}else g=9;while(0);b:do if((g|0)==9){e=c[1944]|0;if(e|0?(h=c[e>>2]|0,h|0):0){d=0;f=h;do{d=d+1|0;if(!(Op(n,f)|0)){m=7756;b=h;o=e;g=29;break b}f=c[e+(d<<2)>>2]|0}while((f|0)!=0)}e=c[1929]|0;if(e|0?(i=c[e>>2]|0,i|0):0){d=0;f=i;do{d=d+1|0;if(!(Op(n,f)|0)){m=7696;b=i;o=e;g=29;break b}f=c[e+(d<<2)>>2]|0}while((f|0)!=0)}e=c[1960]|0;if(e|0?(j=c[e>>2]|0,j|0):0){d=0;f=j;do{d=d+1|0;if(!(Op(n,f)|0)){m=7820;b=j;o=e;g=29;break b}f=c[e+(d<<2)>>2]|0}while((f|0)!=0)}e=c[1976]|0;if(e|0?(k=c[e>>2]|0,k|0):0){d=0;f=k;do{d=d+1|0;if(!(Op(n,f)|0)){m=7884;b=k;o=e;g=29;break b}f=c[e+(d<<2)>>2]|0}while((f|0)!=0)}e=c[1869]|0;if(e|0?(l=c[e>>2]|0,l|0):0){d=0;f=l;do{d=d+1|0;if(!(Op(n,f)|0)){m=7456;b=l;o=e;g=29;break b}f=c[e+(d<<2)>>2]|0}while((f|0)!=0)}}while(0);c:do if((g|0)==29?b|0:0){d=0;while(1){d=d+1|0;if(!(Op(n,b)|0))break;b=c[o+(d<<2)>>2]|0;if(!b)break c}o=c[m>>2]|0;return o|0}while(0);if(Op(a,c[1907]|0)|0)if(Op(a,c[1941]|0)|0)if(Op(a,c[1926]|0)|0)if(Op(a,c[1957]|0)|0)if(Op(a,c[1973]|0)|0)if(!(Op(a,c[1866]|0)|0))b=7456;else{o=0;return o|0}else b=7884;else b=7820;else b=7696;else b=7756;else b=7620;o=c[b>>2]|0;return o|0}function dh(a){a=a|0;if((c[1905]|0)!=(a|0))if((c[1939]|0)!=(a|0))if((c[1924]|0)!=(a|0))if((c[1955]|0)!=(a|0))if((c[1971]|0)!=(a|0))if((c[1864]|0)==(a|0))a=7456;else{a=37665;return a|0}else a=7884;else a=7820;else a=7696;else a=7756;else a=7620;a=c[a+8>>2]|0;return a|0}function eh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=l;l=l+16|0;if((l|0)>=(m|0))$(16);e=f;if(!(d&-260)){d=fh(e,b,d)|0;b=c[e>>2]|0}else{d=45;b=0}c[a>>2]=d|0?0:b;l=f;return d|0}function fh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=e&1;j=(g|0)!=0;k=(e&2|0)==0;g=(g<<9^512)+535&1552;h=g+28|0;if(j)l=$e(h)|0;else l=_e(h)|0;if((l|0)==0?(f=Qn(c[(zo()|0)>>2]|0)|0,f|0):0){n=f;return n|0}i=l+g|0;c[l>>2]=i;c[l+8>>2]=g+-15;c[l+4>>2]=0;g=i+4+4|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[i>>2]=j?378630161:285677921;c[i+4>>2]=h;a[i+12>>0]=e>>>6&4|e&1;if(!k){switch(d|0){case 10:case 9:{c[i+24>>2]=128;f=256;break}case 311:case 308:{c[i+24>>2]=32;f=64;break}default:{c[i+24>>2]=64;f=128}}k=$e(f)|0;c[i+20>>2]=k;if((k|0)==0?(m=Qn(c[(zo()|0)>>2]|0)|0,gh(l),m|0):0){n=m;return n|0}}Gj();if(d|0?(n=hh(c[l>>2]|0,d)|0,n|0):0){gh(l);return n|0}c[b>>2]=l;n=0;return n|0}function gh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0;k=l;l=l+32|0;if((l|0)>=(m|0))$(32);h=k+16|0;i=k+8|0;j=k;if(!b){l=k;return}d=c[b>>2]|0;e=c[d+8>>2]|0;if(e){g=b+4|0;d=c[g>>2]|0;if(!d)d=e;else{f=b+12|0;if((iq(f,d,1,e)|0)!=1)He(36953,630,36958);d=c[b>>2]|0;e=c[d+16>>2]|0;if(e){do{d=c[g>>2]|0;if(!d)d=e+16|0;else{n=e+16|0;ub[c[(c[e>>2]|0)+32>>2]&7](n,f,d);d=n}ub[c[(c[e>>2]|0)+32>>2]&7](d,0,0);e=c[e+4>>2]|0}while((e|0)!=0);d=c[b>>2]|0}c[g>>2]=0;d=c[d+8>>2]|0}bq(d)|0;d=c[b>>2]|0;c[d+8>>2]=0;c[h>>2]=b;n=i;c[n>>2]=42;c[n+4>>2]=0;i=kr(c[h>>2]|0,0,c[i>>2]|0,c[i+4>>2]|0)|0;n=j;c[n>>2]=i;c[n+4>>2]=D}e=c[d+16>>2]|0;if(e){do{j=e;e=c[e+4>>2]|0;d=c[j+8>>2]|0;if((d|0)!=0&(j&7|0)!=0){f=j;do{a[f>>0]=0;f=f+1|0;d=d+-1|0}while((d|0)!=0&(f&7|0)!=0)}else f=j;if(d>>>0>=8){h=d+-8|0;i=h&-8;g=f+8|0;while(1){n=f;c[n>>2]=0;c[n+4>>2]=0;d=d+-8|0;if(d>>>0<=7)break;else f=f+8|0}f=g+i|0;d=h-i|0}if(d|0)while(1){a[f>>0]=0;d=d+-1|0;if(!d)break;else f=f+1|0}cf(j)}while((e|0)!=0);d=c[b>>2]|0}f=c[d+20>>2]|0;if(f){n=c[d+24>>2]|0;e=n<<1;if((n|0)!=0&(f&7|0)!=0){d=f;do{a[d>>0]=0;d=d+1|0;e=e+-1|0}while((e|0)!=0&(d&7|0)!=0)}else d=f;if(e>>>0>=8){g=e+-8|0;h=g&-8;i=h+8|0;f=d;while(1){n=f;c[n>>2]=0;c[n+4>>2]=0;e=e+-8|0;if(e>>>0<=7)break;else f=f+8|0}e=g-h|0;d=d+i|0}if(e|0)while(1){a[d>>0]=0;e=e+-1|0;if(!e)break;else d=d+1|0}cf(c[(c[b>>2]|0)+20>>2]|0);d=c[b>>2]|0}d=c[d+4>>2]|0;if((d|0)!=0&(b&7|0)!=0){e=b;do{a[e>>0]=0;e=e+1|0;d=d+-1|0}while((d|0)!=0&(e&7|0)!=0)}else e=b;if(d>>>0>=8){g=d+-8|0;h=g&-8;i=h+8|0;f=e;while(1){n=f;c[n>>2]=0;c[n+4>>2]=0;d=d+-8|0;if(d>>>0<=7)break;else f=f+8|0}d=g-h|0;e=e+i|0}if(d|0)while(1){a[e>>0]=0;d=d+-1|0;if(!d)break;else e=e+1|0}cf(b);l=k;return}function hh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;if((l|0)>=(m|0))$(16);f=i;h=b+16|0;e=c[h>>2]|0;a:do if(e|0){while(1){if((c[c[e>>2]>>2]|0)==(d|0)){e=0;break}e=c[e+4>>2]|0;if(!e)break a}l=i;return e|0}while(0);if((c[1905]|0)!=(d|0))if((c[1939]|0)!=(d|0))if((c[1924]|0)!=(d|0))if((c[1955]|0)!=(d|0))if((c[1971]|0)!=(d|0))if((c[1864]|0)==(d|0))g=7456;else{c[f>>2]=d;Oe(36905,f);h=5;l=i;return h|0}else g=7884;else g=7820;else g=7696;else g=7756;else g=7620;if(((d|0)==1?gg()|0:0)?(jg(36944),hg()|0):0){h=5;l=i;return h|0}d=(c[g+44>>2]|0)+16|0;f=b+12|0;if(!(a[f>>0]&1))e=_e(d)|0;else e=$e(d)|0;if(!e){h=Qn(c[(zo()|0)>>2]|0)|0;l=i;return h|0}else{c[e>>2]=g;c[e+4>>2]=c[h>>2];c[e+8>>2]=d;c[h>>2]=e;sb[c[g+28>>2]&7](e+16|0,(a[f>>0]&4)<<6);h=0;l=i;return h|0}return 0}function ih(b){b=b|0;var d=0,e=0,f=0;e=(c[b>>2]|0)+12|0;a[e>>0]=a[e>>0]&-3;c[b+4>>2]=0;e=c[b>>2]|0;d=c[e+16>>2]|0;if(!d)d=e;else{do{e=d+16|0;f=c[d>>2]|0;Yq(e|0,0,c[f+44>>2]|0)|0;sb[c[f+28>>2]&7](e,(a[(c[b>>2]|0)+12>>0]&4)<<6);d=c[d+4>>2]|0}while((d|0)!=0);d=c[b>>2]|0}e=c[d+20>>2]|0;if(!e)return;jh(b,e,c[d+24>>2]|0);return}function jh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=c[(c[a>>2]|0)+8>>2]|0;g=a+4|0;if(e|0){f=c[g>>2]|0;if(f|0?(iq(a+12|0,f,1,e)|0)!=1:0)He(36953,630,36958);if(d|0?(iq(b,d,1,c[(c[a>>2]|0)+8>>2]|0)|0)!=1:0)He(36953,632,36958)}e=c[(c[a>>2]|0)+16>>2]|0;if(!e){c[g>>2]=0;return}a=a+12|0;do{f=c[g>>2]|0;if(!f)f=e+16|0;else{h=e+16|0;ub[c[(c[e>>2]|0)+32>>2]&7](h,a,f);f=h}ub[c[(c[e>>2]|0)+32>>2]&7](f,b,d);e=c[e+4>>2]|0}while((e|0)!=0);c[g>>2]=0;return}function kh(a){a=a|0;gh(a);return}function lh(a,b,c){a=a|0;b=b|0;c=c|0;jh(a,b,c);return}function mh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+32|0;if((l|0)>=(m|0))$(32);r=v+16|0;n=v+8|0;k=v;o=v+20|0;g=c[b>>2]|0;if(a[g+12>>0]&2){l=v;return}j=b+4|0;i=c[j>>2]|0;if(i){h=c[g+8>>2]|0;do if(h)if((iq(b+12|0,i,1,h)|0)==1){f=c[b>>2]|0;break}else He(36953,630,36958);else f=g;while(0);g=c[f+16>>2]|0;if(g){h=b+12|0;do{f=c[j>>2]|0;if(!f)f=g+16|0;else{i=g+16|0;ub[c[(c[g>>2]|0)+32>>2]&7](i,h,f);f=i}ub[c[(c[g>>2]|0)+32>>2]&7](f,0,0);g=c[g+4>>2]|0}while((g|0)!=0);f=c[b>>2]|0}c[j>>2]=0;g=f}f=c[g+16>>2]|0;if(!f)f=g;else{do{rb[c[(c[f>>2]|0)+36>>2]&7](f+16|0);f=c[f+4>>2]|0}while((f|0)!=0);f=c[b>>2]|0}f=f+12|0;a[f>>0]=a[f>>0]|2;f=c[b>>2]|0;if(!(c[f+20>>2]|0)){l=v;return}f=c[f+16>>2]|0;if(!f)He(36953,816,37090);if(!(c[f+4>>2]|0))g=f;else{kg(36953,980,36967,0,36979);Le(37e3,k);g=c[(c[b>>2]|0)+16>>2]|0}h=c[c[f>>2]>>2]|0;f=(g|0)==0;do if(h){if(f)He(36953,816,37090);else e=g;while(1){f=c[e>>2]|0;if((c[f>>2]|0)==(h|0)){p=29;break}e=c[e+4>>2]|0;if(!e){p=31;break}}if((p|0)==29){s=tb[c[f+40>>2]&15](e+16|0)|0;q=0;u=h;break}else if((p|0)==31)He(36953,816,37090)}else{if(f)He(36953,816,37090);if(c[g+4>>2]|0)Oe(37051,n);s=tb[c[(c[g>>2]|0)+40>>2]&15](g+16|0)|0;q=1;u=0}while(0);if((c[1905]|0)!=(u|0))if((c[1939]|0)!=(u|0))if((c[1924]|0)!=(u|0))if((c[1955]|0)!=(u|0))if((c[1971]|0)!=(u|0))if((c[1864]|0)==(u|0)){e=7456;p=38}else h=0;else{e=7884;p=38}else{e=7820;p=38}else{e=7696;p=38}else{e=7756;p=38}else{e=7620;p=38}if((p|0)==38)h=c[e+24>>2]|0;e=a[(c[b>>2]|0)+12>>0]|0;e=fh(o,u,(e&4)<<6|e&1)|0;if(e|0)Be(e,0);g=c[o>>2]|0;f=c[b>>2]|0;e=c[f+24>>2]|0;jh(g,(c[f+20>>2]|0)+e|0,e);jh(g,s,h);mh(g);e=c[(c[g>>2]|0)+16>>2]|0;f=(e|0)==0;do if(!q){if(f)He(36953,816,37090);else d=e;while(1){e=c[d>>2]|0;if((c[e>>2]|0)==(u|0)){p=48;break}d=c[d+4>>2]|0;if(!d){p=50;break}}if((p|0)==48){t=tb[c[e+40>>2]&15](d+16|0)|0;break}else if((p|0)==50)He(36953,816,37090)}else{if(f)He(36953,816,37090);if(c[e+4>>2]|0)Oe(37051,r);t=tb[c[(c[e>>2]|0)+40>>2]&15](e+16|0)|0}while(0);cr(s|0,t|0,h|0)|0;gh(g);l=v;return}function nh(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,n=0,o=0;o=l;l=l+16|0;if((l|0)>=(m|0))$(16);g=c[b>>2]|0;if(!(c[g+20>>2]|0)){b=70;l=o;return b|0}g=c[g+16>>2]|0;if(!g){b=5;l=o;return b|0}if(c[g+4>>2]|0){kg(36953,980,36967,0,36979);Le(37e3,o)}h=c[c[g>>2]>>2]|0;if(!h){b=5;l=o;return b|0}i=c[b>>2]|0;g=c[i+24>>2]|0;do if(g>>>0<f>>>0){if((c[1905]|0)!=(h|0))if((c[1939]|0)!=(h|0))if((c[1924]|0)!=(h|0))if((c[1955]|0)!=(h|0))if((c[1971]|0)!=(h|0))if((c[1864]|0)==(h|0)){g=7456;n=13}else g=0;else{g=7884;n=13}else{g=7820;n=13}else{g=7696;n=13}else{g=7756;n=13}else{g=7620;n=13}if((n|0)==13)g=c[g+24>>2]|0;j=$e(g)|0;if(!j){g=Qn(c[(zo()|0)>>2]|0)|0;if(!g)break;l=o;return g|0}oh(h,j,e,f);if((c[1905]|0)!=(h|0))if((c[1939]|0)!=(h|0))if((c[1924]|0)!=(h|0))if((c[1955]|0)!=(h|0))if((c[1971]|0)!=(h|0))if((c[1864]|0)==(h|0))g=7456;else{g=c[b>>2]|0;e=j;k=j;j=0;i=g;g=c[g+24>>2]|0;n=24;break}else g=7884;else g=7820;else g=7696;else g=7756;else g=7620;h=c[g+24>>2]|0;i=c[b>>2]|0;g=c[i+24>>2]|0;if(h>>>0>g>>>0)Ie(37098,36953,716,37131);else{e=j;k=j;j=h;n=24}}else{k=0;j=f;n=24}while(0);if((n|0)==24){Yq(c[i+20>>2]|0,0,g<<1|0)|0;i=c[b>>2]|0;h=c[i+20>>2]|0;i=h+(c[i+24>>2]|0)|0;cr(h|0,e|0,j|0)|0;cr(i|0,e|0,j|0)|0;if((c[(c[b>>2]|0)+24>>2]|0)>0){g=0;do{n=h+g|0;a[n>>0]=(d[n>>0]|0)^54;n=i+g|0;a[n>>0]=(d[n>>0]|0)^92;g=g+1|0}while((g|0)<(c[(c[b>>2]|0)+24>>2]|0))}cf(k)}h=(c[b>>2]|0)+12|0;a[h>>0]=a[h>>0]&-3;c[b+4>>2]=0;h=c[b>>2]|0;g=c[h+16>>2]|0;if(!g)g=h;else{do{n=g+16|0;k=c[g>>2]|0;Yq(n|0,0,c[k+44>>2]|0)|0;sb[c[k+28>>2]&7](n,(a[(c[b>>2]|0)+12>>0]&4)<<6);g=c[g+4>>2]|0}while((g|0)!=0);g=c[b>>2]|0}h=c[g+20>>2]|0;if(!h){b=0;l=o;return b|0}jh(b,h,c[g+24>>2]|0);b=0;l=o;return b|0}function oh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0;o=l;l=l+16|0;if((l|0)>=(m|0))$(16);j=o+8|0;i=o;h=o+12|0;a:do switch(a|0){case 2:{Vi(b,d,e);l=o;return}case 3:{if(gg()|0)break a;ui(b,d,e);l=o;return}default:if(((a|0)==1?(gg()|0)!=0:0)?(jg(36944),(hg()|0)!=0):0)fg()}while(0);g=fh(h,a,0)|0;if(g|0){g=Pn(g&65535|536870912)|0;c[i>>2]=a;c[i+4>>2]=g;Ne(37147,i)}i=c[h>>2]|0;jh(i,d,e);mh(i);g=c[(c[i>>2]|0)+16>>2]|0;h=(g|0)==0;do if(a){if(h)He(36953,816,37090);else f=g;while(1){g=c[f>>2]|0;if((c[g>>2]|0)==(a|0)){k=19;break}f=c[f+4>>2]|0;if(!f){k=21;break}}if((k|0)==19){n=tb[c[g+40>>2]&15](f+16|0)|0;break}else if((k|0)==21)He(36953,816,37090)}else{if(h)He(36953,816,37090);if(c[g+4>>2]|0)Oe(37051,j);n=tb[c[(c[g>>2]|0)+40>>2]&15](g+16|0)|0}while(0);if((c[1905]|0)!=(a|0))if((c[1939]|0)!=(a|0))if((c[1924]|0)!=(a|0))if((c[1955]|0)!=(a|0))if((c[1971]|0)!=(a|0))if((c[1864]|0)==(a|0)){f=7456;k=28}else f=0;else{f=7884;k=28}else{f=7820;k=28}else{f=7696;k=28}else{f=7756;k=28}else{f=7620;k=28}if((k|0)==28)f=c[f+24>>2]|0;cr(b|0,n|0,f|0)|0;gh(i);l=o;return}function ph(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;if((l|0)>=(m|0))$(16);e=h;mh(a);a=c[(c[a>>2]|0)+16>>2]|0;d=(a|0)==0;if(!b){if(d)He(36953,816,37090);if(c[a+4>>2]|0)Oe(37051,e);g=tb[c[(c[a>>2]|0)+40>>2]&15](a+16|0)|0;l=h;return g|0}if(d)He(36953,816,37090);else f=a;while(1){a=c[f>>2]|0;if((c[a>>2]|0)==(b|0))break;d=c[f+4>>2]|0;if(!d){g=10;break}else f=d}if((g|0)==10)He(36953,816,37090);g=tb[c[a+40>>2]&15](f+16|0)|0;l=h;return g|0}function qh(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,n=0,o=0;o=l;l=l+16|0;if((l|0)>=(m|0))$(16);i=o;g=o+4|0;if(!((b&-3|0)==0&((e|0)!=0&(f|0)>-1))){d=45;l=o;return d|0}b=b&2;h=(b|0)!=0;if(h&(f|0)<1){d=45;l=o;return d|0}if(!((a|0)!=2|h)){Wi(d,e,f);d=0;l=o;return d|0}if(((a|0)==1?gg()|0:0)?(jg(36944),hg()|0):0)fg();b=fh(g,a,b)|0;a:do if(!b){g=c[g>>2]|0;do if(h){b=nh(g,(c[e+12>>2]|0)+(c[e+4>>2]|0)|0,c[e+8>>2]|0)|0;if(!b){f=f+-1|0;b=e+16|0;break}else{gh(g);break a}}else b=e;while(0);if(f|0)while(1){jh(g,(c[b+12>>2]|0)+(c[b+4>>2]|0)|0,c[b+8>>2]|0);f=f+-1|0;if(!f)break;else b=b+16|0}mh(g);b=c[(c[g>>2]|0)+16>>2]|0;f=(b|0)==0;do if(a){if(f)He(36953,816,37090);else j=b;while(1){b=c[j>>2]|0;if((c[b>>2]|0)==(a|0)){k=23;break}b=c[j+4>>2]|0;if(!b){k=25;break}else j=b}if((k|0)==23){n=tb[c[b+40>>2]&15](j+16|0)|0;break}else if((k|0)==25)He(36953,816,37090)}else{if(f)He(36953,816,37090);if(c[b+4>>2]|0)Oe(37051,i);n=tb[c[(c[b>>2]|0)+40>>2]&15](b+16|0)|0}while(0);if((c[1905]|0)!=(a|0))if((c[1939]|0)!=(a|0))if((c[1924]|0)!=(a|0))if((c[1955]|0)!=(a|0))if((c[1971]|0)!=(a|0))if((c[1864]|0)==(a|0)){b=7456;k=32}else b=0;else{b=7884;k=32}else{b=7820;k=32}else{b=7696;k=32}else{b=7756;k=32}else{b=7620;k=32}if((k|0)==32)b=c[b+24>>2]|0;cr(d|0,n|0,b|0)|0;gh(g);d=0;l=o;return d|0}while(0);d=b;l=o;return d|0}function rh(a){a=a|0;var b=0;b=l;l=l+16|0;if((l|0)>=(m|0))$(16);a=c[(c[a>>2]|0)+16>>2]|0;if(!a){a=0;l=b;return a|0}if(c[a+4>>2]|0){kg(36953,980,36967,0,36979);Le(37e3,b)}a=c[c[a>>2]>>2]|0;l=b;return a|0}function sh(a){a=a|0;if((c[1905]|0)!=(a|0))if((c[1939]|0)!=(a|0))if((c[1924]|0)!=(a|0))if((c[1955]|0)!=(a|0))if((c[1971]|0)!=(a|0))if((c[1864]|0)==(a|0))a=7456;else{a=0;return a|0}else a=7884;else a=7820;else a=7696;else a=7756;else a=7620;a=c[a+24>>2]|0;return a|0}function th(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;if((l|0)>=(m|0))$(16);h=k;switch(d|0){case 8:{if((e|0)!=0|(f|0)!=0){f=45;l=k;return f|0}if((c[1905]|0)!=(b|0))if((c[1939]|0)!=(b|0))if((c[1924]|0)!=(b|0))if((c[1955]|0)!=(b|0))if((c[1971]|0)!=(b|0)){if((c[1864]|0)==(b|0)){g=7456;j=9}}else{g=7884;j=9}else{g=7820;j=9}else{g=7696;j=9}else{g=7756;j=9}else{g=7620;j=9}if((j|0)==9?(a[g+4>>0]&1)==0:0){f=0;l=k;return f|0}f=5;l=k;return f|0}case 10:{d=(c[1905]|0)==(b|0);if(!d)if((c[1939]|0)!=(b|0))if((c[1924]|0)!=(b|0))if((c[1955]|0)!=(b|0))if((c[1971]|0)!=(b|0))if((c[1864]|0)==(b|0))g=7456;else{f=5;l=k;return f|0}else g=7884;else g=7820;else g=7696;else g=7756;else g=7620;if(a[g+4>>0]&1){f=5;l=k;return f|0}if(!d)if((c[1939]|0)!=(b|0))if((c[1924]|0)!=(b|0))if((c[1955]|0)!=(b|0))if((c[1971]|0)!=(b|0))if((c[1864]|0)==(b|0))i=7456;else{c[h>>2]=b;Ne(37183,h)}else i=7884;else i=7820;else i=7696;else i=7756;else i=7620;h=c[i+16>>2]|0;g=c[i+12>>2]|0;d=(e|0)!=0;if(d){if((c[f>>2]|0)>>>0>=h>>>0){cr(e|0,g|0,h|0)|0;c[f>>2]=h;f=0;l=k;return f|0}}else if(f|0){c[f>>2]=h;f=0;l=k;return f|0}f=d?66:45;l=k;return f|0}case 57:{if(!f)h=0;else h=c[f>>2]|0;if((c[1905]|0)!=(b|0))if((c[1939]|0)!=(b|0))if((c[1924]|0)!=(b|0))if((c[1955]|0)!=(b|0))if((c[1971]|0)!=(b|0))if((c[1864]|0)==(b|0)){d=7456;j=39}else g=69;else{d=7884;j=39}else{d=7820;j=39}else{d=7696;j=39}else{d=7756;j=39}else{d=7620;j=39}do if((j|0)==39){g=c[d+48>>2]|0;if(a[d+4>>0]&1){g=g|0?5:69;break}if(!g)g=69;else g=pb[g&63](b,h,0)|0}while(0);f=g&65535;l=k;return f|0}default:{f=61;l=k;return f|0}}return 0}function uh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;if((c[1905]|0)!=(b|0))if((c[1939]|0)!=(b|0))if((c[1924]|0)!=(b|0))if((c[1955]|0)!=(b|0))if((c[1971]|0)!=(b|0))if((c[1864]|0)==(b|0)){f=7456;i=7}else{d=0;g=0;f=69;i=11}else{f=7884;i=7}else{f=7820;i=7}else{f=7696;i=7}else{f=7756;i=7}else{f=7620;i=7}do if((i|0)==7){h=c[f+48>>2]|0;if(a[f+4>>0]&1){d=f;g=1;f=h|0?5:69;i=11;break}if(!h){d=f;g=1;f=69;i=11}else f=pb[h&63](b,d,e)|0}while(0);if((i|0)==11)if(e){if(g?(a[d+4>>0]&1)==0:0)d=37736;else d=g?37697:37716;zb[e&1](42873,b,37758,d)}return ((f|0)==0?0:f&65535|16777216)|0}function vh(){return 0}function wh(){return 0}function xh(a,b){a=a|0;b=b|0;c[17614]=a;c[17615]=b;return}function yh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=zh(a,1,b,d,e)|0;b=c[17614]|0;if(!b)return a|0;qb[b&15](c[17615]|0,37212,10,0,0);return a|0}function zh(a,b,d,f,g){a=a|0;b=b|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=l;l=l+16|0;if((l|0)>=(m|0))$(16);C=E+8|0;h=E;B=E+12|0;if(a>>>0<16){c[h>>2]=16;Me(37221,h)}y=gf(2672)|0;z=kl(2)|0;A=kl(3)|0;r=(b|0)!=0;if(r)s=Il(a)|0;else s=Hl(a)|0;t=Bl(s)|0;u=Bl(s)|0;v=Bl(s)|0;c[B>>2]=0;w=a+-1|0;x=a+-2|0;p=w-b|0;q=(f|0)==0;a:while(1){Kl(s,a,d);ok(s,w);if(r)nk(s,x);nk(s,0);h=0;do{c[y+(h<<2)>>2]=Ak(0,s,e[16424+(h<<1)>>1]|0)|0;h=h+1|0}while((h|0)!=668);b:do if(q){h=0;o=0;while(1){n=0;j=3;while(1){k=y+(n<<2)|0;i=c[k>>2]|0;b=i+o|0;if(b>>>0>=j>>>0){do{i=i-j|0;b=i+o|0}while(b>>>0>=j>>>0);c[k>>2]=i}i=n+1|0;if(!b)break;if((i|0)==668){D=15;break}else{n=i;j=e[16424+(i<<1)>>1]|0}}if((D|0)==15){D=0;ek(v,s,o);c[B>>2]=(c[B>>2]|0)+1;gk(u,v,1);Mk(t,z,u,v);if((vk(t,1)|0)==0?Ah(v,5,B)|0:0)break;h=h+1|0;if((h|0)==10){h=c[17614]|0;if(!h)h=0;else{qb[h&15](c[17615]|0,37212,46,0,0);h=0}}}o=o+2|0;if(o>>>0>=2e4)break b}if(!(mk(v,p)|0))D=34;else{D=46;break a}}else{h=0;o=0;do{n=0;k=3;while(1){j=y+(n<<2)|0;i=c[j>>2]|0;b=i+o|0;if(b>>>0>=k>>>0){do{i=i-k|0;b=i+o|0}while(b>>>0>=k>>>0);c[j>>2]=i}i=n+1|0;if(!b)break;if((i|0)==668){D=31;break}else{n=i;k=e[16424+(i<<1)>>1]|0}}if((D|0)==31){D=0;ek(v,s,o);c[B>>2]=(c[B>>2]|0)+1;gk(u,v,1);Mk(t,z,u,v);if((vk(t,1)|0)==0?Ah(v,5,B)|0:0){if(!(mk(v,p)|0)){D=34;break b}if(!(yb[f&7](g,v)|0)){D=46;break a}b=c[17614]|0;if(b|0)qb[b&15](c[17615]|0,37212,47,0,0)}h=h+1|0;if((h|0)==10){h=c[17614]|0;if(!h)h=0;else{qb[h&15](c[17615]|0,37212,46,0,0);h=0}}}o=o+2|0}while(o>>>0<2e4)}while(0);if((D|0)==34){D=0;h=c[17614]|0;if(h|0)qb[h&15](c[17615]|0,37212,10,0,0);Oe(37268,C)}h=c[17614]|0;if(!h)continue;qb[h&15](c[17615]|0,37212,58,0,0)}if((D|0)==46){tl(z);tl(A);tl(t);tl(u);tl(s);cf(y);l=E;return v|0}return 0}function Ah(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;l=a+4|0;o=ll(c[l>>2]|0)|0;p=ll(c[l>>2]|0)|0;q=ll(c[l>>2]|0)|0;l=ll(c[l>>2]|0)|0;m=kl(2)|0;n=lk(a)|0;f=(b|0)<5?5:b;gk(l,a,1);g=yl(l)|0;h=Nk(g)|0;Ck(g,g,h);a:do if(f){i=n+-2|0;if(h>>>0<=1){b=0;while(1){c[d>>2]=(c[d>>2]|0)+1;if(b){Kl(o,n,0);e=(mk(o,i)|0)==0;ok(o,i);if(e)qk(o,i);if((wk(o,l)|0)>=0){b=24;break}if((vk(o,1)|0)<=0){b=24;break}}else El(o,2)|0;Mk(p,o,g,a);if((vk(p,1)|0?wk(p,l)|0:0)?wk(p,l)|0:0){j=0;break a}e=c[17614]|0;if(e|0)qb[e&15](c[17615]|0,37212,43,0,0);b=b+1|0;if(b>>>0>=f>>>0){j=1;break a}}if((b|0)==24)Ie(37298,37370,951,37381)}else k=0;while(1){c[d>>2]=(c[d>>2]|0)+1;if(k){Kl(o,n,0);e=(mk(o,i)|0)==0;ok(o,i);if(e)qk(o,i);if((wk(o,l)|0)>=0){b=24;break}if((vk(o,1)|0)<=0){b=24;break}}else El(o,2)|0;Mk(p,o,g,a);if(vk(p,1)|0?wk(p,l)|0:0){b=1;do{if(!(wk(p,l)|0))break;Mk(p,p,m,a);b=b+1|0;if(!(vk(p,1)|0)){j=0;break a}}while(b>>>0<h>>>0);if(wk(p,l)|0){j=0;break a}}b=c[17614]|0;if(b|0)qb[b&15](c[17615]|0,37212,43,0,0);k=k+1|0;if(k>>>0>=f>>>0){j=1;break a}}if((b|0)==24)Ie(37298,37370,951,37381)}else j=1;while(0);tl(o);tl(p);tl(q);tl(l);tl(g);tl(m);return j|0}function Bh(a,b,d,f,g){a=a|0;b=b|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,n=0,o=0;o=l;l=l+16|0;if((l|0)>=(m|0))$(16);k=o;c[k>>2]=0;h=0;i=3;while(1){j=h+1|0;if(Dk(a,i)|0){n=4;break}if((j|0)==668)break;else{h=j;i=e[16424+(j<<1)>>1]|0}}if((n|0)==4){n=(vk(a,i)|0)==0&1;l=o;return n|0}i=Bl(a)|0;j=Bl(a)|0;gk(j,a,1);Mk(i,b,j,a);tl(j);j=(vk(i,1)|0)==0;tl(i);if(!j){h=c[17614]|0;if(!h){n=0;l=o;return n|0}qb[h&15](c[17615]|0,37212,46,0,0);n=0;l=o;return n|0}h=(f|0)!=0;if(!(h?!(pb[f&63](g,2,a)|0):0))n=10;if((n|0)==10?Ah(a,d,k)|0:0){if(!h){n=1;l=o;return n|0}if(pb[f&63](g,1,a)|0){n=1;l=o;return n|0}}h=c[17614]|0;if(!h){n=0;l=o;return n|0}qb[h&15](c[17615]|0,37212,46,0,0);n=0;l=o;return n|0}function Ch(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;if((e|0)==0|(a|0)!=0&(b|0)!=0&(d|0)!=0^1){g=0;return g|0}if(!(mk(e,0)|0)){g=0;return g|0}k=Dh(b)|0;i=Dh(d)|0;h=Bl(a)|0;Kk(h,k,i);b=Bl(k)|0;Fk(b,i,k)|0;Kk(b,b,i);j=Bl(i)|0;Fk(j,k,i)|0;Kk(j,j,k);hk(b,b,j);if(c[b+8>>2]|0)fk(b,b,h);jk(j,b,a,h);fk(j,j,a);tl(b);if((wk(j,a)|0)<0)fk(j,j,h);b=kl(2)|0;d=Bl(j)|0;gk(h,h,1);gk(j,j,1);while(1){a=Ek(d,e,j)|0;ek(j,j,1);if(!a){a=c[17614]|0;if(a|0)qb[a&15](c[17615]|0,37212,47,0,0)}else if(Bh(j,b,64,0,0)|0)break;fk(j,j,h)}tl(d);tl(b);tl(h);b=c[17614]|0;if(b|0)qb[b&15](c[17615]|0,37212,10,0,0);if(!f)tl(k);else c[f>>2]=k;if(!g){tl(i);g=j;return g|0}else{c[g>>2]=i;g=j;return g|0}return 0}function Dh(a){a=a|0;var b=0;b=kl(2)|0;a=yl(a)|0;nk(a,0);if(Bh(a,b,64,0,0)|0){tl(b);return a|0}do ek(a,a,2);while(!(Bh(a,b,64,0,0)|0));tl(b);return a|0}function Eh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0;o=l;l=l+16|0;if((l|0)>=(m|0))$(16);n=o;if((a|0)!=0?(e=vf(a)|0,(e|0)>1):0){k=0;g=0;f=5;j=e;e=0;while(1){j=j+-1|0;i=xf(a,j,n)|0;a:do if(!i)h=k;else do switch(c[n>>2]|0){case 3:{h=(f|0)==5;if(h&(Tp(i,37390,3)|0)==0){h=k;g=g|4;f=4;break a}if(h&(Tp(i,37394,3)|0)==0){h=k;g=g|16;f=0;break a}else{h=k;e=(k|0)==0?72:e;break a}}case 4:{if(!(Tp(i,37398,4)|0)){h=k;g=g|1024;break a}if((f|0)==5&(Tp(i,37403,4)|0)==0){h=k;g=g|4;f=3;break a}if(!(Tp(i,49620,4)|0)){h=k;g=g|8192;f=0;break a}else{h=k;e=(k|0)==0?72:e;break a}}case 5:{if(!(Tp(i,49614,5)|0)){h=k;g=g|4096;f=0;break a}if((f|0)==5&(Tp(i,37408,5)|0)==0){h=k;g=g|4;f=1;break a}if(!(Tp(i,37414,5)|0)){h=k;g=g|512;break a}else{h=k;e=(k|0)==0?72:e;break a}}case 6:if(!(Tp(i,37420,6)|0)){h=k;g=g|2048;break a}else{h=k;e=(k|0)==0?72:e;break a}case 7:if(!(Tp(i,37427,7)|0)){h=k;g=g|2;break a}else{i=(k|0)!=0|(Tp(i,37435,7)|0)==0;h=k;e=i?e:72;break a}case 8:if(!(Tp(i,41515,8)|0)){h=k;g=g|64;break a}else{h=k;e=(k|0)==0?72:e;break a}case 9:if((f|0)==5&(Tp(i,37443,9)|0)==0){h=k;g=g|4;f=2;break a}else{h=k;e=(k|0)==0?72:e;break a}case 10:{if(!(Tp(i,37453,10)|0)){h=1;break a}if(!(Tp(i,37464,10)|0)){h=k;g=g|16384;break a}else{h=k;e=(k|0)==0?72:e;break a}}case 11:{if(!(Tp(i,37475,11)|0)){h=k;g=g|1;break a}if(!(Tp(i,37487,11)|0)){h=k;g=g|128;break a}else{h=k;e=(k|0)==0?72:e;break a}}case 13:{if(!(Tp(i,37499,13)|0)){h=k;g=g|256;break a}if(!(Tp(i,48632,13)|0)){h=k;g=g|32;break a}else{h=k;e=(k|0)==0?72:e;break a}}default:{h=k;e=(k|0)==0?72:e;break a}}while(0);while(0);if((j|0)<=1)break;else k=h}}else{g=0;f=5;e=0}if(b|0)c[b>>2]=g;if(!d){l=o;return e|0}c[d>>2]=f;l=o;return e|0}function Fh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+64|0;if((l|0)>=(m|0))$(64);h=i+4|0;e=i;c[d>>2]=0;f=uf(b,37513,0)|0;if(!f){h=0;l=i;return h|0}g=xf(f,1,e)|0;b=c[e>>2]|0;if((g|0)==0|b>>>0>48){sf(f);h=65;l=i;return h|0}else{cr(h|0,g|0,b|0)|0;a[h+b>>0]=0;c[d>>2]=Mo(h,0,0)|0;sf(f);h=0;l=i;return h|0}return 0}function Gh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+64|0;if((l|0)>=(m|0))$(64);h=i+4|0;e=i;c[d>>2]=0;f=uf(b,37519,0)|0;if(!f){c[d>>2]=65537;h=0;l=i;return h|0}g=xf(f,1,e)|0;b=c[e>>2]|0;if((g|0)==0|b>>>0>48){sf(f);h=65;l=i;return h|0}else{cr(h|0,g|0,b|0)|0;a[h+b>>0]=0;c[d>>2]=Mo(h,0,0)|0;sf(f);h=0;l=i;return h|0}return 0}function Hh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;c[d>>2]=0;i=(e|0)!=0;if(i)c[e>>2]=0;j=uf(a,37529,0)|0;a:do if(j){a=wf(j,1)|0;if(a){f=zf(a,0)|0;if(f){if(!(Go(f,46885)|0)){sf(a);a=wf(j,2)|0;if(!a){g=65;a=0;break}cf(f);f=zf(a,0)|0;if(!f){g=65;f=0;break}}g=c[b>>2]|0;if(!g)g=70;else{h=0;while(1){h=h+1|0;if(!(Op(f,g)|0))break;g=c[b+(h<<2)>>2]|0;if(!g){g=70;break a}}if(i){if(!(Go(f,49614)|0))c[e>>2]=4096;if(!(Go(f,49620)|0))c[e>>2]=8192}c[d>>2]=a;g=0;a=0}}else{g=65;f=0}}else{g=68;f=0;a=0}}else{g=65;f=0;a=0}while(0);cf(f);sf(a);sf(j);return g|0}function Ih(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0;q=l;l=l+16|0;if((l|0)>=(m|0))$(16);n=q+4|0;o=q;c[o>>2]=0;c[e>>2]=0;p=uf(b,40685,0)|0;a:do if(p){g=wf(p,1)|0;if(g){k=zf(g,0)|0;if(k){if(!(Go(k,46885)|0)){h=f+8|0;b=Eh(g,o,h)|0;if(b|0){h=k;break}b:do switch(c[h>>2]|0){case 4:{h=k;b=70;break a}case 3:{sf(g);g=uf(p,37537,0)|0;if(g|0){i=xf(g,1,n)|0;if(!i){h=k;b=68;break a}j=c[n>>2]|0;b=0;while(1){h=c[4248+(b<<3)>>2]|0;if((Fo(h)|0)==(j|0)?(Tp(h,i,j)|0)==0:0){h=13;break}b=b+1|0;if((b|0)==12){h=14;break}}do if((h|0)==13)b=c[4248+(b<<3)+4>>2]|0;else if((h|0)==14){b=_e(j+1|0)|0;if(!b){c[f+16>>2]=0;h=k;b=5;break a}else{cr(b|0,i|0,j|0)|0;a[b+j>>0]=0;j=ch(b)|0;cf(b);b=j;break}}while(0);c[f+16>>2]=b;if(!b){h=k;b=5;break a}}sf(g);g=uf(p,37547,0)|0;if(g){h=xf(g,1,n)|0;if(!h){h=k;b=68;break a}b=c[n>>2]|0;if(b){b=_e(b)|0;c[f+20>>2]=b;if(!b){b=Sn()|0;if(!b)break b;else{h=k;break a}}else{j=c[n>>2]|0;cr(b|0,h|0,j|0)|0;c[f+24>>2]=j;break b}}}else g=0;break}default:{}}while(0);sf(g);g=wf(p,2)|0;if(!g){h=k;g=0;b=68;break}else h=2;c:while(1){b=xf(g,0,n)|0;switch(c[n>>2]|0){case 9:{if(Tp(b,37537,9)|0)break c;break}case 5:{if(Tp(b,37547,5)|0)break c;break}case 15:{if(Tp(b,37553,15)|0)break c;break}default:break c}h=h+1|0;sf(g);g=wf(p,h)|0;if(!g){h=k;g=0;b=68;break a}}cf(k);b=zf(g,0)|0;if(!b){h=0;b=65;break}}else{c[o>>2]=8;b=k}h=c[d>>2]|0;if(!h){h=b;b=70}else{i=0;while(1){i=i+1|0;if(!(Op(b,h)|0))break;h=c[d+(i<<2)>>2]|0;if(!h){h=b;b=70;break a}}c[e>>2]=g;h=f+12|0;c[h>>2]=c[h>>2]|c[o>>2];h=b;g=0;b=0}}else{h=0;b=65}}else{h=0;g=0;b=68}}else{h=0;g=0;b=65}while(0);cf(h);sf(g);sf(p);l=q;return b|0}function Jh(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=b;c[a+4>>2]=d;c[a+8>>2]=5;c[a+12>>2]=0;c[a+16>>2]=2;c[a+20>>2]=0;c[a+24>>2]=0;c[a+28>>2]=20;c[a+32>>2]=0;c[a+36>>2]=0;return}function Kh(a){a=a|0;cf(c[a+20>>2]|0);return}function Lh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+16|0;if((l|0)>=(m|0))$(16);r=w+8|0;u=w+4|0;s=w;c[u>>2]=0;c[d>>2]=0;v=uf(b,37643,0)|0;if(!v){v=Af(b,0,0)|0;c[d>>2]=v;v=v|0?0:65;l=w;return v|0}b=uf(v,46885,0)|0;g=e+8|0;if(!b)b=0;else{t=(Eh(b,u,g)|0)!=0&1;sf(b);b=t}if((c[g>>2]|0)==5)c[g>>2]=0;t=uf(v,37648,0)|0;i=(t|0)!=0;if(!i){f=uf(v,40697,0)|0;if(!f){b=65;f=0}else{h=1;q=9}}else{f=0;h=0;q=9}a:do if((q|0)==9)if(!b){g=c[g>>2]|0;b=(g|0)==0;if(b){if(c[u>>2]&4096|0){b:do if(h?(p=uf(v,37537,0)|0,(p|0)!=0):0){i=xf(p,1,r)|0;c:do if(i){h=c[r>>2]|0;b=0;while(1){g=c[4248+(b<<3)>>2]|0;if((Fo(g)|0)==(h|0)?(Tp(g,i,h)|0)==0:0){q=19;break}b=b+1|0;if((b|0)==12){q=20;break}}do if((q|0)==19)b=c[4248+(b<<3)+4>>2]|0;else if((q|0)==20){b=_e(h+1|0)|0;if(!b){c[e+16>>2]=0;b=5;break c}else{cr(b|0,i|0,h|0)|0;a[b+h>>0]=0;r=ch(b)|0;cf(b);b=r;break}}while(0);c[e+16>>2]=b;if(!b)b=5;else{sf(p);b=yf(f,1,s)|0;if(!b){c[s>>2]=0;b=_e(1)|0;if(!b){b=Sn()|0;if(!b)b=0;else break b}}else{r=c[s>>2]|0;if(r<<3>>>0<r>>>0){cf(b);b=67;break b}}c[d>>2]=ul(0,b,c[s>>2]<<3)|0;b=0;break b}}else b=68;while(0);sf(p)}else b=65;while(0);break}if(i&b?c[u>>2]&18|0:0){if((vf(t)|0)!=3){b=65;break}i=xf(t,1,r)|0;h=c[r>>2]|0;if(!((i|0)!=0&(h|0)!=0)){b=65;break}b=0;while(1){g=c[4248+(b<<3)>>2]|0;if((Fo(g)|0)==(h|0)?(Tp(g,i,h)|0)==0:0){q=40;break}b=b+1|0;if((b|0)==12){q=41;break}}do if((q|0)==40){b=c[4248+(b<<3)+4>>2]|0;q=44}else if((q|0)==41){b=_e(h+1|0)|0;if(!b){c[e+16>>2]=0;b=5;break}else{cr(b|0,i|0,h|0)|0;a[b+h>>0]=0;q=ch(b)|0;cf(b);b=q;q=44;break}}while(0);do if((q|0)==44){c[e+16>>2]=b;if(b){g=yf(t,2,s)|0;if(g){s=c[s>>2]|0;b=s<<3;if(b>>>0<s>>>0){cf(g);b=67;break}else{c[d>>2]=ul(0,g,b)|0;b=0;break}}else b=65}else b=5}while(0);break}if(h&b){if(c[u>>2]&2|0){b=70;break}b=Af(f,1,5)|0;c[d>>2]=b;b=(b|0)==0?65:0;break}else b=0}else{b=(g|0)==1;if(h&b?(c[e>>2]|0)==0:0){i=xf(f,1,s)|0;d:do if((i|0)!=0&(c[s>>2]|0)!=0){h=uf(v,37553,0)|0;e:do if(!h){g=0;b=0}else{g=xf(h,1,r)|0;if(!g){sf(h);b=68;break d}b=c[r>>2]|0;do if(b){b=_e(b)|0;if(!b){b=Sn()|0;sf(h);if(!b){g=0;b=0;break e}else break d}else{r=c[r>>2]|0;cr(b|0,g|0,r|0)|0;g=r;break}}else{g=0;b=0}while(0);sf(h)}while(0);d=vi(d,c[e+4>>2]|0,i,c[s>>2]|0,b,g)|0;cf(b);b=d}else b=65;while(0);break}}if(i&b?(c[e>>2]&-2|0)==2:0){if((vf(t)|0)!=3){b=65;break}i=xf(t,1,r)|0;h=c[r>>2]|0;if(!((i|0)!=0&(h|0)!=0)){b=65;break}b=0;while(1){g=c[4248+(b<<3)>>2]|0;if((Fo(g)|0)==(h|0)?(Tp(g,i,h)|0)==0:0){q=74;break}b=b+1|0;if((b|0)==12){q=75;break}}do if((q|0)==74){b=c[4248+(b<<3)+4>>2]|0;q=78}else if((q|0)==75){b=_e(h+1|0)|0;if(!b){c[e+16>>2]=0;b=5;break}else{cr(b|0,i|0,h|0)|0;a[b+h>>0]=0;q=ch(b)|0;cf(b);b=q;q=78;break}}while(0);if((q|0)==78){h=e+16|0;c[h>>2]=b;if(b){g=xf(t,2,s)|0;b=c[s>>2]|0;if((g|0)!=0&(b|0)!=0)b=xi(d,c[e+4>>2]|0,g,b,c[h>>2]|0)|0;else b=65}else b=5}break}if(h&(g|0)==2?(c[e>>2]&-2|0)==2:0){if((vf(f)|0)==2?(j=xf(f,1,s)|0,k=c[s>>2]|0,(j|0)!=0&(k|0)!=0):0)b=yi(d,c[e+4>>2]|0,j,k)|0;else b=65;break}if(h&(g|0)==3?(c[e>>2]|0)==0:0){k=xf(f,1,s)|0;f:do if((k|0)!=0&(c[s>>2]|0)!=0){j=uf(v,37537,0)|0;g:do if(j|0){h=xf(j,1,r)|0;h:do if(h){i=c[r>>2]|0;b=0;while(1){g=c[4248+(b<<3)>>2]|0;if((Fo(g)|0)==(i|0)?(Tp(g,h,i)|0)==0:0){q=97;break}b=b+1|0;if((b|0)==12){q=98;break}}do if((q|0)==97)b=c[4248+(b<<3)+4>>2]|0;else if((q|0)==98){b=_e(i+1|0)|0;if(!b){c[e+16>>2]=0;b=5;break h}else{cr(b|0,h|0,i|0)|0;a[b+i>>0]=0;q=ch(b)|0;cf(b);b=q;break}}while(0);c[e+16>>2]=b;if(!b)b=5;else{sf(j);break g}}else b=68;while(0);sf(j);break f}while(0);h=uf(v,37547,0)|0;i:do if(h|0){g=xf(h,1,r)|0;if(!g){sf(h);b=68;break f}b=c[r>>2]|0;do if(b|0){b=_e(b)|0;c[e+20>>2]=b;if(!b){b=Sn()|0;sf(h);if(!b)break i;else break f}else{q=c[r>>2]|0;cr(b|0,g|0,q|0)|0;c[e+24>>2]=q;break}}while(0);sf(h)}while(0);h=uf(v,37553,0)|0;j:do if(!h){g=0;b=0}else{g=xf(h,1,r)|0;if(!g){sf(h);b=68;break f}b=c[r>>2]|0;do if(b){b=_e(b)|0;if(!b){b=Sn()|0;sf(h);if(!b){g=0;b=0;break j}else break f}else{r=c[r>>2]|0;cr(b|0,g|0,r|0)|0;g=r;break}}else{g=0;b=0}while(0);sf(h)}while(0);d=zi(d,c[e+4>>2]|0,c[e+16>>2]|0,k,c[s>>2]|0,c[e+20>>2]|0,c[e+24>>2]|0,b,g)|0;cf(b);b=d}else b=65;while(0);break}if(i&(g|0)==4){if((c[e>>2]|0)!=2){if((c[e>>2]|0)!=3){b=70;break}if((vf(t)|0)!=3){b=65;break}i=xf(t,1,r)|0;h=c[r>>2]|0;if((i|0)!=0&(h|0)!=0)b=0;else{b=65;break}while(1){g=c[4248+(b<<3)>>2]|0;if((Fo(g)|0)==(h|0)?(Tp(g,i,h)|0)==0:0){q=155;break}b=b+1|0;if((b|0)==12){q=156;break}}do if((q|0)==155)b=c[4248+(b<<3)+4>>2]|0;else if((q|0)==156){b=_e(h+1|0)|0;if(!b){c[e+16>>2]=0;b=5;break a}else{cr(b|0,i|0,h|0)|0;a[b+h>>0]=0;s=ch(b)|0;cf(b);b=s;break}}while(0);c[e+16>>2]=b;if(!b){b=5;break}b=Af(t,2,5)|0;c[d>>2]=b;c[e+32>>2]=5;c[e+36>>2]=c[d>>2];b=(b|0)==0?65:0;break}if((vf(t)|0)==3?(n=xf(t,1,r)|0,o=c[r>>2]|0,(n|0)!=0&(o|0)!=0):0){b=0;while(1){g=c[4248+(b<<3)>>2]|0;if((Fo(g)|0)==(o|0)?(Tp(g,n,o)|0)==0:0){q=130;break}b=b+1|0;if((b|0)==12){q=131;break}}do if((q|0)==130){b=c[4248+(b<<3)+4>>2]|0;q=134}else if((q|0)==131){b=_e(o+1|0)|0;if(!b){c[e+16>>2]=0;b=5;break}else{cr(b|0,n|0,o|0)|0;a[b+o>>0]=0;q=ch(b)|0;cf(b);b=q;q=134;break}}while(0);k:do if((q|0)==134){j=e+16|0;c[j>>2]=b;if(b){i=xf(t,2,s)|0;if((i|0)!=0&(c[s>>2]|0)!=0){b=uf(v,37653,0)|0;if(b|0){g=xf(b,1,r)|0;if(!g){b=68;break}c[e+28>>2]=Mo(g,0,10)|0;sf(b)}h=uf(v,37553,0)|0;l:do if(!h){g=0;b=0}else{g=xf(h,1,r)|0;if(!g){sf(h);b=68;break k}b=c[r>>2]|0;do if(b){b=_e(b)|0;if(!b){b=Sn()|0;sf(h);if(!b){g=0;b=0;break l}else break k}else{r=c[r>>2]|0;cr(b|0,g|0,r|0)|0;g=r;break}}else{g=0;b=0}while(0);sf(h)}while(0);d=Ci(d,(c[e+4>>2]|0)+-1|0,c[j>>2]|0,i,c[s>>2]|0,c[e+28>>2]|0,b,g)|0;cf(b);b=d}else b=65}else b=5}while(0)}else b=65}else b=70}else b=72;while(0);sf(v);sf(t);sf(f);if(!b){c[e+12>>2]=c[u>>2];v=0;l=w;return v|0}else{v=e+20|0;cf(c[v>>2]|0);c[v>>2]=0;v=b;l=w;return v|0}return 0}function Mh(a,b){a=a|0;b=b|0;return Di(c[a+36>>2]|0,b,(c[a+4>>2]|0)+-1|0,c[a+16>>2]|0,c[a+28>>2]|0)|0}function Nh(a){a=a|0;var b=0,d=0;if(!(Op(a,c[3121]|0)|0)){a=12472;return a|0}d=c[3122]|0;b=c[d>>2]|0;a:do if(b|0){while(1){d=d+4|0;if(!(Op(a,b)|0)){b=12472;break}b=c[d>>2]|0;if(!b)break a}return b|0}while(0);if(!(Op(a,c[1883]|0)|0)){a=7520;return a|0}b=c[1884]|0;d=c[b>>2]|0;if(!d){a=0;return a|0}while(1){b=b+4|0;if(!(Op(a,d)|0)){b=7520;d=6;break}d=c[b>>2]|0;if(!d){b=0;d=6;break}}if((d|0)==6)return b|0;return 0}function Oh(a){a=a|0;switch(a|0){case 3:case 2:{a=1;break}case 16:{a=20;break}case 301:{a=18;break}case 302:{a=18;break}default:{}}if((a|0)!=(c[3118]|0))if((a|0)==(c[1880]|0))a=7520;else{a=37665;return a|0}else a=12472;a=c[a+12>>2]|0;return a|0}function Ph(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;if((l|0)>=(m|0))$(16);e=g+4|0;f=g;c[a>>2]=0;d=Qh(d,0,e,f)|0;if(!d){d=c[(c[e>>2]|0)+48>>2]|0;if(!d)d=69;else d=pb[d&63](a,b,c[f>>2]|0)|0}sf(c[f>>2]|0);l=g;return d|0}function Qh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;c[d>>2]=0;g=(e|0)!=0;if(g)c[e>>2]=0;f=(b|0)!=0;b=uf(a,f?37667:37679,0)|0;if(!(f|(b|0)!=0))b=uf(a,37667,0)|0;if(!b){g=65;return g|0}f=Cf(b)|0;sf(b);b=zf(f,0)|0;if(!b){sf(f);g=65;return g|0}a=Nh(b)|0;cf(b);if(!a){sf(f);g=4;return g|0}c[d>>2]=a;if(g){c[e>>2]=f;g=0;return g|0}else{sf(f);g=0;return g|0}return 0}function Rh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;if((l|0)>=(m|0))$(16);e=g+4|0;f=g;c[a>>2]=0;d=Qh(d,1,e,f)|0;if(!d){d=c[(c[e>>2]|0)+52>>2]|0;if(!d)d=69;else d=pb[d&63](a,b,c[f>>2]|0)|0}sf(c[f>>2]|0);l=g;return d|0}function Sh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;if((l|0)>=(m|0))$(16);e=g+4|0;f=g;c[a>>2]=0;d=Qh(d,1,e,f)|0;if(!d){d=c[(c[e>>2]|0)+56>>2]|0;if(!d)d=69;else d=pb[d&63](a,b,c[f>>2]|0)|0}sf(c[f>>2]|0);l=g;return d|0}function Th(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;if((l|0)>=(m|0))$(16);e=g+4|0;f=g;d=Qh(d,0,e,f)|0;if(!d){d=c[(c[e>>2]|0)+60>>2]|0;if(!d)d=69;else d=pb[d&63](a,b,c[f>>2]|0)|0}sf(c[f>>2]|0);l=g;return d|0}function Uh(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;if((l|0)>=(m|0))$(16);b=e+4|0;d=e;a=Qh(a,1,b,d)|0;if(!a){a=c[(c[b>>2]|0)+44>>2]|0;if(!a)a=69;else a=tb[a&15](c[d>>2]|0)|0}sf(c[d>>2]|0);l=e;return a|0}function Vh(a,b){a=a|0;b=b|0;var d=0,e=0;c[a>>2]=0;d=uf(b,37690,0)|0;if(d){b=Cf(d)|0;sf(d);if(b){d=zf(b,0)|0;if(d){e=Nh(d)|0;cf(d);if(e){d=c[e+40>>2]|0;if(!d)d=69;else d=yb[d&7](b,a)|0}else d=4}else d=65}else{d=68;b=0}}else{d=65;b=0}sf(b);cf(0);sf(0);return d|0}function Wh(){return 0}function Xh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;switch(b|0){case 3:case 2:{g=1;break}case 16:{g=20;break}case 301:{g=18;break}case 302:{g=18;break}default:g=b}if((g|0)!=(c[3118]|0))if((g|0)==(c[1880]|0)){b=7520;h=8}else{b=0;d=0;h=11}else{b=12472;h=8}if((h|0)==8)if((a[b+4>>0]&1)==0?(f=c[b+68>>2]|0,(f|0)!=0):0)b=pb[f&63](g,d,e)|0;else{d=1;h=11}if((h|0)==11)if(!e)b=4;else{if(d?(a[b+4>>0]&1)==0:0)b=37736;else b=d?37697:37716;zb[e&1](40871,g,37758,b);b=4}return ((b|0)==0?0:b&65535|16777216)|0}function Yh(a,b,c){a=a|0;b=b|0;c=c|0;return ai(a,b,c)|0}function Zh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[a+496>>2]|0;if(e|0)vb[e&3]();return pb[c[a+488>>2]&63](a,b,d)|0}function _h(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;bi(a);e=c[a+500>>2]|0;if(e|0)vb[e&3]();return pb[c[a+492>>2]&63](a,b,d)|0}function $h(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+528|0;if((l|0)>=(m|0))$(528);e=h;f=h+504|0;switch(a|0){case 7:{ai(e,37769,16)|0;a=c[e+496>>2]|0;if(a|0)vb[a&3]();pb[c[e+488>>2]&63](e,f,37785)|0;if(!(Tp(f,37801,16)|0)){bi(e);a=c[e+500>>2]|0;if(a|0)vb[a&3]();pb[c[e+492>>2]&63](e,f,f)|0;if(!(Tp(f,37785,16)|0)){if(!b){d=0;l=h;return d|0}a=ci(2)|0;if(!a){a=ci(5)|0;if(!a){d=0;l=h;return d|0}else b=37885}else b=37881}else{a=37817;g=8}}else{a=37849;g=8}if((g|0)==8)b=37889;if(!d){d=50;l=h;return d|0}zb[d&1](37899,7,b,a);d=50;l=h;return d|0}case 8:{ai(e,37906,24)|0;a=c[e+496>>2]|0;if(a|0)vb[a&3]();pb[c[e+488>>2]&63](e,f,37930)|0;if(!(Tp(f,37946,16)|0)){bi(e);a=c[e+500>>2]|0;if(a|0)vb[a&3]();pb[c[e+492>>2]&63](e,f,f)|0;if(!(Tp(f,37930,16)|0)){d=0;l=h;return d|0}else a=37962}else a=37994;if(!d){d=50;l=h;return d|0}zb[d&1](37899,8,37889,a);d=50;l=h;return d|0}case 9:{ai(e,38026,32)|0;a=c[e+496>>2]|0;if(a|0)vb[a&3]();pb[c[e+488>>2]&63](e,f,38058)|0;if(!(Tp(f,38074,16)|0)){bi(e);a=c[e+500>>2]|0;if(a|0)vb[a&3]();pb[c[e+492>>2]&63](e,f,f)|0;if(!(Tp(f,38058,16)|0)){d=0;l=h;return d|0}else a=38090}else a=38122;if(!d){d=50;l=h;return d|0}zb[d&1](37899,9,37889,a);d=50;l=h;return d|0}default:{d=12;l=h;return d|0}}return 0}function ai(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=l;l=l+528|0;if((l|0)>=(m|0))$(528);j=K+504|0;J=K;h=K+512|0;I=gg()|0;a:do if(!(c[17616]|I)){c[17616]=1;ai(J,37769,16)|0;g=c[J+496>>2]|0;if(g|0)vb[g&3]();pb[c[J+488>>2]&63](J,h,37785)|0;do if(!(Tp(h,37801,16)|0)){bi(J);g=c[J+500>>2]|0;if(g|0)vb[g&3]();pb[c[J+492>>2]&63](J,h,h)|0;if(!(Tp(h,37785,16)|0)){ai(J,37906,24)|0;g=c[J+496>>2]|0;if(g|0)vb[g&3]();pb[c[J+488>>2]&63](J,h,37930)|0;if(!(Tp(h,37946,16)|0)){bi(J);g=c[J+500>>2]|0;if(g|0)vb[g&3]();pb[c[J+492>>2]&63](J,h,h)|0;if(!(Tp(h,37930,16)|0)){ai(J,38026,32)|0;g=c[J+496>>2]|0;if(g|0)vb[g&3]();pb[c[J+488>>2]&63](J,h,38058)|0;if(!(Tp(h,38074,16)|0)){bi(J);g=c[J+500>>2]|0;if(g|0)vb[g&3]();pb[c[J+492>>2]&63](J,h,h)|0;if(!(Tp(h,38058,16)|0)){g=ym(37765,1,2,4,9,16,504)|0;if(g|0){i=25;break}g=wm(37765,1,2,3,10,16,504)|0;if(g|0){i=25;break}g=xm(37765,1,2,2,10,16,504)|0;c[17617]=g;if(!g)break a;else break}else g=38090}else g=38122;i=25;break}else g=37962}else g=37994;i=25}else{g=37817;i=8}}else{g=37849;i=8}while(0);if((i|0)==8)i=25;if((i|0)==25)c[17617]=g;c[j>>2]=g;Le(43455,j);i=28}else i=28;while(0);if((i|0)==28?c[17617]|0:0){J=50;l=K;return J|0}switch(f|0){case 16:{h=10;I=4;break}case 24:{h=12;I=6;break}case 32:{h=14;I=8;break}default:{J=44;l=K;return J|0}}c[b+480>>2]=h;g=b+484|0;a[g>>0]=a[g>>0]&-2;c[b+488>>2]=29;c[b+492>>2]=30;c[b+496>>2]=1;c[b+500>>2]=2;g=0;do{a[(g&3)+(J+(g>>2<<2))>>0]=a[e+g>>0]|0;g=g+1|0}while((g|0)!=(f|0));j=I+-1|0;H=J+32|0;g=j;while(1){c[H+(g<<2)>>2]=c[J+(g<<2)>>2];if((g|0)>0)g=g+-1|0;else break}G=h|1;h=0;e=0;g=0;do{if((g|0)<(I|0)&(h|0)<4){E=g-I|0;F=h+-4|0;cr(b+((e<<4)+(h<<2))|0,H+(g<<2)|0,S(E>>>0>F>>>0?E:F,-4)|0)|0;do{g=g+1|0;h=h+1|0}while((g|0)<(I|0)&(h|0)<4)}i=(h|0)==4;e=(i&1)+e|0;h=i?0:h;i=(e|0)<(G|0)}while((g|0)<(I|0)&i);if(i){B=H+(j<<2)+1|0;C=H+(j<<2)+2|0;D=H+1|0;E=H+(j<<2)+3|0;F=H+2|0;o=H+(j<<2)|0;p=H+3|0;q=(I|0)==8;r=I>>>1;y=r+-1|0;s=H+(y<<2)|0;t=H+(r<<2)|0;u=H+(y<<2)+1|0;v=H+(r<<2)+1|0;w=H+(y<<2)+2|0;x=H+(r<<2)+2|0;y=H+(y<<2)+3|0;z=H+(r<<2)+3|0;k=r+1|0;A=k>>>0<8;n=H+(r<<2)|0;f=0;i=e;do{j=c[H>>2]|0;e=j&255^a[4801+((d[B>>0]|0)<<2)>>0];a[H>>0]=e;a[D>>0]=(j&65535)>>>8&255^a[4801+((d[C>>0]|0)<<2)>>0];a[F>>0]=j>>>16&255^a[4801+((d[E>>0]|0)<<2)>>0];a[p>>0]=j>>>24&255^a[4801+((d[o>>0]|0)<<2)>>0];a[H>>0]=e&255^c[7104+(f<<2)>>2];f=f+1|0;if(q){g=1;j=c[H>>2]|0;do{e=H+(g<<2)|0;j=c[e>>2]^j;c[e>>2]=j;g=g+1|0}while((g|0)<(r|0));a[t>>0]=a[t>>0]^a[4801+((d[s>>0]|0)<<2)>>0];a[v>>0]=a[v>>0]^a[4801+((d[u>>0]|0)<<2)>>0];a[x>>0]=a[x>>0]^a[4801+((d[w>>0]|0)<<2)>>0];a[z>>0]=a[z>>0]^a[4801+((d[y>>0]|0)<<2)>>0];if(A){g=k;j=c[n>>2]|0;do{e=H+(g<<2)|0;j=c[e>>2]^j;c[e>>2]=j;g=g+1|0}while((g|0)<8)}}else{g=1;j=c[H>>2]|0;do{e=H+(g<<2)|0;j=c[e>>2]^j;c[e>>2]=j;g=g+1|0}while((g|0)<(I|0))}if((i|0)<(G|0)){g=0;do{if((g|0)<(I|0)&(h|0)<4){j=g-I|0;e=h+-4|0;cr(b+((i<<4)+(h<<2))|0,H+(g<<2)|0,S(j>>>0>e>>>0?j:e,-4)|0)|0;do{g=g+1|0;h=h+1|0}while((g|0)<(I|0)&(h|0)<4)}e=(h|0)==4;i=(e&1)+i|0;h=e?0:h}while((g|0)<(I|0)&(i|0)<(G|0))}}while((i|0)<(G|0))}b=J;c[b>>2]=0;c[b+4>>2]=0;b=J+8|0;c[b>>2]=0;c[b+4>>2]=0;b=J+16|0;c[b>>2]=0;c[b+4>>2]=0;b=J+24|0;c[b>>2]=0;c[b+4>>2]=0;b=J+32|0;c[b>>2]=0;c[b+4>>2]=0;b=J+40|0;c[b>>2]=0;c[b+4>>2]=0;b=J+48|0;c[b>>2]=0;c[b+4>>2]=0;J=J+56|0;c[J>>2]=0;c[J+4>>2]=0;J=0;l=K;return J|0}function bi(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;h=b+484|0;if(a[h>>0]&1)return;i=b+240|0;c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[b+248>>2]=c[b+8>>2];c[b+252>>2]=c[b+12>>2];g=b+480|0;e=b+16|0;if((c[g>>2]|0)>1){f=1;do{e=c[e>>2]|0;j=c[5824+((d[4801+(e>>>6&1020)>>0]|0)<<2)>>2]|0;k=c[5824+((d[4801+(e>>>14&1020)>>0]|0)<<2)>>2]|0;l=c[5824+((d[4801+(e>>>24<<2)>>0]|0)<<2)>>2]|0;c[i+(f<<4)>>2]=(j<<8|j>>>24)^c[5824+((d[4801+(e<<2&1020)>>0]|0)<<2)>>2]^(k<<16|k>>>16)^(l<<24|l>>>8);l=c[b+(f<<4)+4>>2]|0;k=c[5824+((d[4801+(l>>>6&1020)>>0]|0)<<2)>>2]|0;e=c[5824+((d[4801+(l>>>14&1020)>>0]|0)<<2)>>2]|0;j=c[5824+((d[4801+(l>>>24<<2)>>0]|0)<<2)>>2]|0;c[i+(f<<4)+4>>2]=(k<<8|k>>>24)^c[5824+((d[4801+(l<<2&1020)>>0]|0)<<2)>>2]^(e<<16|e>>>16)^(j<<24|j>>>8);j=c[b+(f<<4)+8>>2]|0;e=c[5824+((d[4801+(j>>>6&1020)>>0]|0)<<2)>>2]|0;l=c[5824+((d[4801+(j>>>14&1020)>>0]|0)<<2)>>2]|0;k=c[5824+((d[4801+(j>>>24<<2)>>0]|0)<<2)>>2]|0;c[i+(f<<4)+8>>2]=(e<<8|e>>>24)^c[5824+((d[4801+(j<<2&1020)>>0]|0)<<2)>>2]^(l<<16|l>>>16)^(k<<24|k>>>8);k=c[b+(f<<4)+12>>2]|0;l=c[5824+((d[4801+(k>>>6&1020)>>0]|0)<<2)>>2]|0;j=c[5824+((d[4801+(k>>>14&1020)>>0]|0)<<2)>>2]|0;e=c[5824+((d[4801+(k>>>24<<2)>>0]|0)<<2)>>2]|0;c[i+(f<<4)+12>>2]=(l<<8|l>>>24)^c[5824+((d[4801+(k<<2&1020)>>0]|0)<<2)>>2]^(j<<16|j>>>16)^(e<<24|e>>>8);f=f+1|0;e=b+(f<<4)|0}while((f|0)<(c[g>>2]|0))}else f=1;c[i+(f<<4)>>2]=c[e>>2];c[i+(f<<4)+4>>2]=c[b+(f<<4)+4>>2];c[i+(f<<4)+8>>2]=c[b+(f<<4)+8>>2];c[i+(f<<4)+12>>2]=c[b+(f<<4)+12>>2];a[h>>0]=a[h>>0]|1;return}function ci(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+32|0;if((l|0)>=(m|0))$(32);e=h+8|0;f=h+4|0;g=h;c[f>>2]=0;c[g>>2]=0;if((a|0)!=2)if((a|0)==5)d=1;else{xg(0);xg(0);g=38154;l=h;return g|0}else d=0;a=c[4472+(d*164|0)>>2]|0;if(vg(f,7,a,0)|0){xg(c[f>>2]|0);xg(c[g>>2]|0);g=38181;l=h;return g|0}b=(vg(g,7,a,0)|0)==0;a=c[f>>2]|0;if(!b){xg(a);xg(c[g>>2]|0);g=38181;l=h;return g|0}b=4472+(d*164|0)+4|0;if(!(Ag(a,b,16)|0)){b=(Ag(c[g>>2]|0,b,16)|0)==0;a=c[f>>2]|0;if(b){b=4472+(d*164|0)+20|0;if((Bg(a,b,16)|0)==0?(Bg(c[g>>2]|0,b,16)|0)==0:0){a=4472+(d*164|0)+36|0;a:do if(!(yg(c[f>>2]|0,e,16,a,16)|0)){b=4472+(d*164|0)+52|0;b:do if(!(Tp(e,b,16)|0)){c:do if(!(zg(c[g>>2]|0,e,16,b,16)|0)){do if(!(Tp(e,a,16)|0)){a=4472+(d*164|0)+68|0;if(yg(c[f>>2]|0,e,16,a,16)|0)break a;b=4472+(d*164|0)+84|0;if(Tp(e,b,16)|0)break b;if(zg(c[g>>2]|0,e,16,b,16)|0)break c;if(Tp(e,a,16)|0)break;a=4472+(d*164|0)+100|0;if(yg(c[f>>2]|0,e,16,a,16)|0)break a;b=4472+(d*164|0)+116|0;if(Tp(e,b,16)|0)break b;if(zg(c[g>>2]|0,e,16,b,16)|0)break c;if(Tp(e,a,16)|0)break;b=4472+(d*164|0)+132|0;if(yg(c[f>>2]|0,e,16,b,16)|0)break a;a=4472+(d*164|0)+148|0;if(Tp(e,a,16)|0)break b;if(zg(c[g>>2]|0,e,16,a,16)|0)break c;if(Tp(e,b,16)|0)break;xg(c[f>>2]|0);xg(c[g>>2]|0);g=0;l=h;return g|0}while(0);xg(c[f>>2]|0);xg(c[g>>2]|0);g=38250;l=h;return g|0}while(0);xg(c[f>>2]|0);xg(c[g>>2]|0);g=38234;l=h;return g|0}while(0);xg(c[f>>2]|0);xg(c[g>>2]|0);g=38217;l=h;return g|0}while(0);xg(c[f>>2]|0);xg(c[g>>2]|0);g=38201;l=h;return g|0}xg(c[f>>2]|0);xg(c[g>>2]|0);g=38194;l=h;return g|0}}else a=c[f>>2]|0;xg(a);xg(c[g>>2]|0);g=38186;l=h;return g|0}function di(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;F=l;l=l+16|0;if((l|0)>=(m|0))$(16);E=F;h=c[b+496>>2]|0;if(h|0)vb[h&3]();j=c[b+488>>2]|0;if(!g){d=E;c[d>>2]=0;c[d+4>>2]=0;E=E+8|0;c[E>>2]=0;c[E+4>>2]=0;l=F;return}k=E+4|0;n=E+8|0;o=E+12|0;p=E+1|0;q=E+2|0;r=E+3|0;s=E+4|0;t=s+1|0;u=s+2|0;v=s+3|0;w=E+8|0;x=w+1|0;y=w+2|0;z=w+3|0;A=E+12|0;B=A+1|0;C=A+2|0;D=A+3|0;do{i=pb[j&63](b,E,d)|0;if(!((e|f)&3)){c[e>>2]=c[f>>2]^c[E>>2];c[e+4>>2]=c[f+4>>2]^c[k>>2];c[e+8>>2]=c[f+8>>2]^c[n>>2];c[e+12>>2]=c[f+12>>2]^c[o>>2]}else{a[e>>0]=a[f>>0]^a[E>>0];a[e+1>>0]=a[f+1>>0]^a[p>>0];a[e+2>>0]=a[f+2>>0]^a[q>>0];a[e+3>>0]=a[f+3>>0]^a[r>>0];a[e+4>>0]=a[f+4>>0]^a[s>>0];a[e+5>>0]=a[f+5>>0]^a[t>>0];a[e+6>>0]=a[f+6>>0]^a[u>>0];a[e+7>>0]=a[f+7>>0]^a[v>>0];a[e+8>>0]=a[f+8>>0]^a[w>>0];a[e+9>>0]=a[f+9>>0]^a[x>>0];a[e+10>>0]=a[f+10>>0]^a[y>>0];a[e+11>>0]=a[f+11>>0]^a[z>>0];a[e+12>>0]=a[f+12>>0]^a[A>>0];a[e+13>>0]=a[f+13>>0]^a[B>>0];a[e+14>>0]=a[f+14>>0]^a[C>>0];a[e+15>>0]=a[f+15>>0]^a[D>>0]}e=e+16|0;f=f+16|0;h=16;do{if((h|0)<=0)break;h=h+-1|0;H=d+h|0;G=(a[H>>0]|0)+1<<24>>24;a[H>>0]=G}while(!(G<<24>>24));g=g+-1|0}while((g|0)!=0);H=E;c[H>>2]=0;c[H+4>>2]=0;H=E+8|0;c[H>>2]=0;c[H+4>>2]=0;if(!i){l=F;return}Te(i+16|0);l=F;return}function ei(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;X=l;l=l+16|0;if((l|0)>=(m|0))$(16);W=X;bi(b);h=c[b+500>>2]|0;if(h|0)vb[h&3]();i=c[b+492>>2]|0;if(!g){d=W;c[d>>2]=0;c[d+4>>2]=0;W=W+8|0;c[W>>2]=0;c[W+4>>2]=0;l=X;return}j=d;k=W+4|0;n=d+4|0;o=W+8|0;p=d+8|0;q=W+12|0;r=d+12|0;s=W+1|0;t=d+1|0;u=W+2|0;v=d+2|0;w=W+3|0;x=d+3|0;y=W+4|0;z=d+4|0;A=W+5|0;B=d+5|0;C=W+6|0;D=d+6|0;E=W+7|0;F=d+7|0;G=W+8|0;H=d+8|0;I=W+9|0;J=d+9|0;K=W+10|0;L=d+10|0;M=W+11|0;N=d+11|0;O=W+12|0;P=d+12|0;Q=W+13|0;R=d+13|0;S=W+14|0;T=d+14|0;U=W+15|0;V=d+15|0;h=g;while(1){g=pb[i&63](b,W,f)|0;if(!((f|j|e)&3)){Y=c[f>>2]|0;c[e>>2]=c[W>>2]^c[d>>2];c[d>>2]=Y;Y=c[f+4>>2]|0;c[e+4>>2]=c[k>>2]^c[n>>2];c[n>>2]=Y;Y=c[f+8>>2]|0;c[e+8>>2]=c[o>>2]^c[p>>2];c[p>>2]=Y;Y=c[f+12>>2]|0;c[e+12>>2]=c[q>>2]^c[r>>2];c[r>>2]=Y}else{Y=a[f>>0]|0;a[e>>0]=a[W>>0]^a[d>>0];a[d>>0]=Y;Y=a[f+1>>0]|0;a[e+1>>0]=a[s>>0]^a[t>>0];a[t>>0]=Y;Y=a[f+2>>0]|0;a[e+2>>0]=a[u>>0]^a[v>>0];a[v>>0]=Y;Y=a[f+3>>0]|0;a[e+3>>0]=a[w>>0]^a[x>>0];a[x>>0]=Y;Y=a[f+4>>0]|0;a[e+4>>0]=a[y>>0]^a[z>>0];a[z>>0]=Y;Y=a[f+5>>0]|0;a[e+5>>0]=a[A>>0]^a[B>>0];a[B>>0]=Y;Y=a[f+6>>0]|0;a[e+6>>0]=a[C>>0]^a[D>>0];a[D>>0]=Y;Y=a[f+7>>0]|0;a[e+7>>0]=a[E>>0]^a[F>>0];a[F>>0]=Y;Y=a[f+8>>0]|0;a[e+8>>0]=a[G>>0]^a[H>>0];a[H>>0]=Y;Y=a[f+9>>0]|0;a[e+9>>0]=a[I>>0]^a[J>>0];a[J>>0]=Y;Y=a[f+10>>0]|0;a[e+10>>0]=a[K>>0]^a[L>>0];a[L>>0]=Y;Y=a[f+11>>0]|0;a[e+11>>0]=a[M>>0]^a[N>>0];a[N>>0]=Y;Y=a[f+12>>0]|0;a[e+12>>0]=a[O>>0]^a[P>>0];a[P>>0]=Y;Y=a[f+13>>0]|0;a[e+13>>0]=a[Q>>0]^a[R>>0];a[R>>0]=Y;Y=a[f+14>>0]|0;a[e+14>>0]=a[S>>0]^a[T>>0];a[T>>0]=Y;Y=a[f+15>>0]|0;a[e+15>>0]=a[U>>0]^a[V>>0];a[V>>0]=Y}h=h+-1|0;if(!h)break;else{e=e+16|0;f=f+16|0}}Y=W;c[Y>>2]=0;c[Y+4>>2]=0;Y=W+8|0;c[Y>>2]=0;c[Y+4>>2]=0;if(!g){l=X;return}Te(g+16|0);l=X;return}function fi(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;h=c[b+496>>2]|0;if(h|0)vb[h&3]();z=c[b+488>>2]|0;if(!g)return;j=d;k=d+4|0;l=d+8|0;m=d+12|0;n=d+1|0;o=d+2|0;p=d+3|0;q=d+5|0;r=d+6|0;s=d+7|0;t=d+9|0;u=d+10|0;v=d+11|0;w=d+13|0;x=d+14|0;y=d+15|0;i=f;h=g;while(1){f=pb[z&63](b,d,d)|0;if(!((e|j|i)&3)){g=c[i>>2]|0;c[e>>2]=c[d>>2]^g;c[d>>2]=g;g=c[i+4>>2]|0;c[e+4>>2]=c[k>>2]^g;c[k>>2]=g;g=c[i+8>>2]|0;c[e+8>>2]=c[l>>2]^g;c[l>>2]=g;g=c[i+12>>2]|0;c[e+12>>2]=c[m>>2]^g;c[m>>2]=g}else{g=a[i>>0]|0;a[e>>0]=a[d>>0]^g;a[d>>0]=g;g=a[i+1>>0]|0;a[e+1>>0]=a[n>>0]^g;a[n>>0]=g;g=a[i+2>>0]|0;a[e+2>>0]=a[o>>0]^g;a[o>>0]=g;g=a[i+3>>0]|0;a[e+3>>0]=a[p>>0]^g;a[p>>0]=g;g=a[i+4>>0]|0;a[e+4>>0]=a[k>>0]^g;a[k>>0]=g;g=a[i+5>>0]|0;a[e+5>>0]=a[q>>0]^g;a[q>>0]=g;g=a[i+6>>0]|0;a[e+6>>0]=a[r>>0]^g;a[r>>0]=g;g=a[i+7>>0]|0;a[e+7>>0]=a[s>>0]^g;a[s>>0]=g;g=a[i+8>>0]|0;a[e+8>>0]=a[l>>0]^g;a[l>>0]=g;g=a[i+9>>0]|0;a[e+9>>0]=a[t>>0]^g;a[t>>0]=g;g=a[i+10>>0]|0;a[e+10>>0]=a[u>>0]^g;a[u>>0]=g;g=a[i+11>>0]|0;a[e+11>>0]=a[v>>0]^g;a[v>>0]=g;g=a[i+12>>0]|0;a[e+12>>0]=a[m>>0]^g;a[m>>0]=g;g=a[i+13>>0]|0;a[e+13>>0]=a[w>>0]^g;a[w>>0]=g;g=a[i+14>>0]|0;a[e+14>>0]=a[x>>0]^g;a[x>>0]=g;g=a[i+15>>0]|0;a[e+15>>0]=a[y>>0]^g;a[y>>0]=g}h=h+-1|0;if(!h)break;else{i=i+16|0;e=e+16|0}}if(!f)return;Te(f+16|0);return}function gi(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;l=c[b+480>>2]|0;p=c[b>>2]^((d[f+2>>0]|0)<<16|(d[f+3>>0]|0)<<24|(d[f+1>>0]|0)<<8|(d[f>>0]|0));q=c[b+4>>2]^((d[f+6>>0]|0)<<16|(d[f+7>>0]|0)<<24|(d[f+5>>0]|0)<<8|(d[f+4>>0]|0));g=c[b+8>>2]^((d[f+10>>0]|0)<<16|(d[f+11>>0]|0)<<24|(d[f+9>>0]|0)<<8|(d[f+8>>0]|0));j=c[b+12>>2]^((d[f+14>>0]|0)<<16|(d[f+15>>0]|0)<<24|(d[f+13>>0]|0)<<8|(d[f+12>>0]|0));k=c[4800+((p>>>8&255)<<2)>>2]|0;s=c[4800+((p>>>16&255)<<2)>>2]|0;r=c[4800+(p>>>24<<2)>>2]|0;o=c[4800+((q>>>8&255)<<2)>>2]|0;m=c[4800+((q>>>16&255)<<2)>>2]|0;t=c[4800+(q>>>24<<2)>>2]|0;i=c[4800+((g>>>8&255)<<2)>>2]|0;n=c[4800+((g>>>16&255)<<2)>>2]|0;h=c[4800+(g>>>24<<2)>>2]|0;f=c[4800+((j>>>8&255)<<2)>>2]|0;f=(t<<24|t>>>8)^(s<<16|s>>>16)^c[4800+((g&255)<<2)>>2]^c[b+24>>2]^(f<<8|f>>>24);g=c[4800+((j>>>16&255)<<2)>>2]|0;g=(r<<24|r>>>8)^c[4800+((q&255)<<2)>>2]^c[b+20>>2]^(i<<8|i>>>24)^(g<<16|g>>>16);i=c[4800+(j>>>24<<2)>>2]|0;i=c[b+16>>2]^c[4800+((p&255)<<2)>>2]^(o<<8|o>>>24)^(n<<16|n>>>16)^(i<<24|i>>>8);j=(m<<16|m>>>16)^(k<<8|k>>>24)^(h<<24|h>>>8)^c[4800+((j&255)<<2)>>2]^c[b+28>>2];h=i&255;if((l|0)>2){k=2;do{t=c[4800+((i>>>8&255)<<2)>>2]|0;w=c[4800+((i>>>16&255)<<2)>>2]|0;m=c[4800+(i>>>24<<2)>>2]|0;x=c[4800+((g>>>8&255)<<2)>>2]|0;q=c[4800+((g>>>16&255)<<2)>>2]|0;p=c[4800+(g>>>24<<2)>>2]|0;u=c[4800+((f>>>8&255)<<2)>>2]|0;z=c[4800+((f>>>16&255)<<2)>>2]|0;s=c[4800+(f>>>24<<2)>>2]|0;y=c[4800+((j>>>8&255)<<2)>>2]|0;y=(p<<24|p>>>8)^(w<<16|w>>>16)^c[4800+((f&255)<<2)>>2]^c[b+(k<<4)+8>>2]^(y<<8|y>>>24);w=c[4800+((j>>>16&255)<<2)>>2]|0;w=(m<<24|m>>>8)^c[4800+((g&255)<<2)>>2]^c[b+(k<<4)+4>>2]^(u<<8|u>>>24)^(w<<16|w>>>16);u=c[4800+(j>>>24<<2)>>2]|0;u=c[b+(k<<4)>>2]^c[4800+(h<<2)>>2]^(x<<8|x>>>24)^(z<<16|z>>>16)^(u<<24|u>>>8);s=(q<<16|q>>>16)^(t<<8|t>>>24)^(s<<24|s>>>8)^c[4800+((j&255)<<2)>>2]^c[b+(k<<4)+12>>2];t=k|1;q=c[4800+((u>>>8&255)<<2)>>2]|0;z=c[4800+((u>>>16&255)<<2)>>2]|0;x=c[4800+(u>>>24<<2)>>2]|0;m=c[4800+((w>>>8&255)<<2)>>2]|0;p=c[4800+((w>>>16&255)<<2)>>2]|0;A=c[4800+(w>>>24<<2)>>2]|0;v=c[4800+((y>>>8&255)<<2)>>2]|0;n=c[4800+((y>>>16&255)<<2)>>2]|0;r=c[4800+(y>>>24<<2)>>2]|0;o=c[4800+((s>>>8&255)<<2)>>2]|0;f=(A<<24|A>>>8)^(z<<16|z>>>16)^c[4800+((y&255)<<2)>>2]^c[b+(t<<4)+8>>2]^(o<<8|o>>>24);o=c[4800+((s>>>16&255)<<2)>>2]|0;g=(x<<24|x>>>8)^c[4800+((w&255)<<2)>>2]^c[b+(t<<4)+4>>2]^(v<<8|v>>>24)^(o<<16|o>>>16);o=c[4800+(s>>>24<<2)>>2]|0;i=c[b+(t<<4)>>2]^c[4800+((u&255)<<2)>>2]^(m<<8|m>>>24)^(n<<16|n>>>16)^(o<<24|o>>>8);j=(p<<16|p>>>16)^(q<<8|q>>>24)^(r<<24|r>>>8)^c[4800+((s&255)<<2)>>2]^c[b+(t<<4)+12>>2];k=k+2|0;h=i&255}while((k|0)<(l|0));k=l+1&-2}else k=2;r=c[b+(k<<4)>>2]|0;u=r^(d[4801+(h<<2)>>0]|0);t=(d[4801+(g>>>6&1020)>>0]|0)<<8^r;v=c[b+(k<<4)+4>>2]|0;x=v^(d[4801+(g<<2&1020)>>0]|0|(d[4801+(i>>>24<<2)>>0]|0)<<24);w=(d[4801+(f>>>6&1020)>>0]|0)<<8^v;s=(d[4801+(f>>>14&1020)>>0]|0)<<16^r;z=c[b+(k<<4)+8>>2]^((d[4801+(g>>>24<<2)>>0]|0)<<24|(d[4801+(i>>>14&1020)>>0]|0)<<16|(d[4801+(f<<2&1020)>>0]|0));y=(d[4801+(j>>>6&1020)>>0]|0)<<8^z;v=(d[4801+(j>>>14&1020)>>0]|0)<<16^v;A=c[b+(k<<4)+12>>2]^((d[4801+(g>>>14&1020)>>0]|0)<<16|(d[4801+(i>>>6&1020)>>0]|0)<<8|(d[4801+(f>>>24<<2)>>0]|0)<<24|(d[4801+(j<<2&1020)>>0]|0));a[e+3>>0]=((d[4801+(j>>>24<<2)>>0]|0)<<24^r)>>>24;a[e+2>>0]=s>>>16;a[e+1>>0]=t>>>8;a[e>>0]=u;a[e+7>>0]=x>>>24;a[e+6>>0]=v>>>16;a[e+5>>0]=w>>>8;a[e+4>>0]=x;a[e+11>>0]=z>>>24;a[e+10>>0]=z>>>16;a[e+9>>0]=y>>>8;a[e+8>>0]=z;a[e+15>>0]=A>>>24;a[e+14>>0]=A>>>16;a[e+13>>0]=A>>>8;a[e+12>>0]=A;return 64}function hi(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;i=c[b+480>>2]|0;p=b+240|0;m=i;h=c[p+(i<<4)>>2]^((d[f+2>>0]|0)<<16|(d[f+3>>0]|0)<<24|(d[f+1>>0]|0)<<8|(d[f>>0]|0));n=c[p+(i<<4)+12>>2]^((d[f+14>>0]|0)<<16|(d[f+15>>0]|0)<<24|(d[f+13>>0]|0)<<8|(d[f+12>>0]|0));o=c[p+(i<<4)+4>>2]^((d[f+6>>0]|0)<<16|(d[f+7>>0]|0)<<24|(d[f+5>>0]|0)<<8|(d[f+4>>0]|0));i=c[p+(i<<4)+8>>2]^((d[f+10>>0]|0)<<16|(d[f+11>>0]|0)<<24|(d[f+9>>0]|0)<<8|(d[f+8>>0]|0));while(1){g=m+-1|0;k=c[5824+((h&255)<<2)>>2]|0;l=c[5824+((h>>>8&255)<<2)>>2]|0;l=l<<8|l>>>24;j=c[5824+((h>>>16&255)<<2)>>2]|0;j=j<<16|j>>>16;f=c[5824+(h>>>24<<2)>>2]|0;f=f<<24|f>>>8;if((g|0)<=1)break;w=c[5824+((o>>>8&255)<<2)>>2]|0;s=c[5824+((o>>>16&255)<<2)>>2]|0;z=c[5824+(o>>>24<<2)>>2]|0;u=c[5824+((i>>>8&255)<<2)>>2]|0;t=c[5824+((i>>>16&255)<<2)>>2]|0;x=c[5824+(i>>>24<<2)>>2]|0;A=c[5824+((n>>>8&255)<<2)>>2]|0;A=c[p+(g<<4)>>2]^k^(z<<24|z>>>8)^(t<<16|t>>>16)^(A<<8|A>>>24);t=c[5824+((n>>>16&255)<<2)>>2]|0;t=c[5824+((o&255)<<2)>>2]^l^c[p+(g<<4)+4>>2]^(x<<24|x>>>8)^(t<<16|t>>>16);k=c[5824+(n>>>24<<2)>>2]|0;j=(w<<8|w>>>24)^j^c[5824+((i&255)<<2)>>2]^c[p+(g<<4)+8>>2]^(k<<24|k>>>8);u=(s<<16|s>>>16)^f^(u<<8|u>>>24)^c[5824+((n&255)<<2)>>2]^c[p+(g<<4)+12>>2];k=m+-2|0;s=c[5824+((A>>>8&255)<<2)>>2]|0;g=c[5824+((A>>>16&255)<<2)>>2]|0;w=c[5824+(A>>>24<<2)>>2]|0;f=c[5824+((t>>>8&255)<<2)>>2]|0;x=c[5824+((t>>>16&255)<<2)>>2]|0;z=c[5824+(t>>>24<<2)>>2]|0;v=c[5824+((j>>>8&255)<<2)>>2]|0;y=c[5824+((j>>>16&255)<<2)>>2]|0;r=c[5824+(j>>>24<<2)>>2]|0;h=c[5824+((u>>>8&255)<<2)>>2]|0;q=c[5824+((u>>>16&255)<<2)>>2]|0;l=c[5824+(u>>>24<<2)>>2]|0;m=k;h=c[p+(k<<4)>>2]^c[5824+((A&255)<<2)>>2]^(z<<24|z>>>8)^(y<<16|y>>>16)^(h<<8|h>>>24);n=(x<<16|x>>>16)^(w<<24|w>>>8)^(v<<8|v>>>24)^c[5824+((u&255)<<2)>>2]^c[p+(k<<4)+12>>2];o=c[5824+((t&255)<<2)>>2]^(s<<8|s>>>24)^c[p+(k<<4)+4>>2]^(r<<24|r>>>8)^(q<<16|q>>>16);i=(f<<8|f>>>24)^(g<<16|g>>>16)^c[5824+((j&255)<<2)>>2]^c[p+(k<<4)+8>>2]^(l<<24|l>>>8)}u=c[5824+((o>>>8&255)<<2)>>2]|0;r=c[5824+((o>>>16&255)<<2)>>2]|0;x=c[5824+(o>>>24<<2)>>2]|0;A=c[5824+((i>>>8&255)<<2)>>2]|0;q=c[5824+((i>>>16&255)<<2)>>2]|0;w=c[5824+(i>>>24<<2)>>2]|0;m=c[5824+((n>>>8&255)<<2)>>2]|0;m=c[b+256>>2]^k^(x<<24|x>>>8)^(q<<16|q>>>16)^(m<<8|m>>>24);q=c[5824+((n>>>16&255)<<2)>>2]|0;q=c[5824+((o&255)<<2)>>2]^l^c[b+260>>2]^(w<<24|w>>>8)^(q<<16|q>>>16);o=c[5824+(n>>>24<<2)>>2]|0;o=(u<<8|u>>>24)^j^c[5824+((i&255)<<2)>>2]^c[b+264>>2]^(o<<24|o>>>8);A=(r<<16|r>>>16)^f^(A<<8|A>>>24)^c[5824+((n&255)<<2)>>2]^c[b+268>>2];r=c[p>>2]|0;u=r^(d[6848+(m&255)>>0]|0);w=c[p+4>>2]|0;x=w^(d[6848+(q&255)>>0]|0|(d[6848+(m>>>8&255)>>0]|0)<<8);s=(d[6848+(o>>>16&255)>>0]|0)<<16^r;v=(d[6848+(o>>>24)>>0]|0)<<24^w;z=c[b+248>>2]^((d[6848+(q>>>8&255)>>0]|0)<<8|(d[6848+(m>>>16&255)>>0]|0)<<16|(d[6848+(o&255)>>0]|0));t=(d[6848+(A>>>8&255)>>0]|0)<<8^r;w=(d[6848+(A>>>16&255)>>0]|0)<<16^w;y=(d[6848+(A>>>24)>>0]|0)<<24^z;A=c[b+252>>2]^((d[6848+(q>>>16&255)>>0]|0)<<16|(d[6848+(m>>>24)>>0]|0)<<24|(d[6848+(o>>>8&255)>>0]|0)<<8|(d[6848+(A&255)>>0]|0));a[e+3>>0]=((d[6848+(q>>>24)>>0]|0)<<24^r)>>>24;a[e+2>>0]=s>>>16;a[e+1>>0]=t>>>8;a[e>>0]=u;a[e+7>>0]=v>>>24;a[e+6>>0]=w>>>16;a[e+5>>0]=x>>>8;a[e+4>>0]=x;a[e+11>>0]=y>>>24;a[e+10>>0]=z>>>16;a[e+9>>0]=z>>>8;a[e+8>>0]=z;a[e+15>>0]=A>>>24;a[e+14>>0]=A>>>16;a[e+13>>0]=A>>>8;a[e+12>>0]=A;return 64}function ii(){return}function ji(){return}function ki(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;h=c[b+496>>2]|0;if(h|0)vb[h&3]();B=c[b+488>>2]|0;if(!g)return;i=d;j=d+4|0;k=d+8|0;l=d+12|0;m=d+1|0;n=d+2|0;o=d+3|0;p=d+4|0;q=d+5|0;r=d+6|0;s=d+7|0;t=d+8|0;u=d+9|0;v=d+10|0;w=d+11|0;x=d+12|0;y=d+13|0;z=d+14|0;A=d+15|0;h=g;while(1){g=pb[B&63](b,d,d)|0;if(!((e|i|f)&3)){C=c[d>>2]^c[f>>2];c[d>>2]=C;c[e>>2]=C;C=c[j>>2]^c[f+4>>2];c[j>>2]=C;c[e+4>>2]=C;C=c[k>>2]^c[f+8>>2];c[k>>2]=C;c[e+8>>2]=C;C=c[l>>2]^c[f+12>>2];c[l>>2]=C;c[e+12>>2]=C}else{C=a[d>>0]^a[f>>0];a[d>>0]=C;a[e>>0]=C;C=a[m>>0]^a[f+1>>0];a[m>>0]=C;a[e+1>>0]=C;C=a[n>>0]^a[f+2>>0];a[n>>0]=C;a[e+2>>0]=C;C=a[o>>0]^a[f+3>>0];a[o>>0]=C;a[e+3>>0]=C;C=a[p>>0]^a[f+4>>0];a[p>>0]=C;a[e+4>>0]=C;C=a[q>>0]^a[f+5>>0];a[q>>0]=C;a[e+5>>0]=C;C=a[r>>0]^a[f+6>>0];a[r>>0]=C;a[e+6>>0]=C;C=a[s>>0]^a[f+7>>0];a[s>>0]=C;a[e+7>>0]=C;C=a[t>>0]^a[f+8>>0];a[t>>0]=C;a[e+8>>0]=C;C=a[u>>0]^a[f+9>>0];a[u>>0]=C;a[e+9>>0]=C;C=a[v>>0]^a[f+10>>0];a[v>>0]=C;a[e+10>>0]=C;C=a[w>>0]^a[f+11>>0];a[w>>0]=C;a[e+11>>0]=C;C=a[x>>0]^a[f+12>>0];a[x>>0]=C;a[e+12>>0]=C;C=a[y>>0]^a[f+13>>0];a[y>>0]=C;a[e+13>>0]=C;C=a[z>>0]^a[f+14>>0];a[z>>0]=C;a[e+14>>0]=C;C=a[A>>0]^a[f+15>>0];a[A>>0]=C;a[e+15>>0]=C}h=h+-1|0;if(!h)break;else{f=f+16|0;e=e+16|0}}if(!g)return;Te(g+16|0);return}function li(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;i=c[b+496>>2]|0;if(i|0)vb[i&3]();C=c[b+488>>2]|0;if(!g)return;if(!h){k=(g<<4)+-16|0;i=d;j=e;h=g;while(1){if(!((f|j|i)&3)){c[j>>2]=c[i>>2]^c[f>>2];c[j+4>>2]=c[i+4>>2]^c[f+4>>2];c[j+8>>2]=c[i+8>>2]^c[f+8>>2];c[j+12>>2]=c[i+12>>2]^c[f+12>>2]}else{a[j>>0]=a[i>>0]^a[f>>0];a[j+1>>0]=a[i+1>>0]^a[f+1>>0];a[j+2>>0]=a[i+2>>0]^a[f+2>>0];a[j+3>>0]=a[i+3>>0]^a[f+3>>0];a[j+4>>0]=a[i+4>>0]^a[f+4>>0];a[j+5>>0]=a[i+5>>0]^a[f+5>>0];a[j+6>>0]=a[i+6>>0]^a[f+6>>0];a[j+7>>0]=a[i+7>>0]^a[f+7>>0];a[j+8>>0]=a[i+8>>0]^a[f+8>>0];a[j+9>>0]=a[i+9>>0]^a[f+9>>0];a[j+10>>0]=a[i+10>>0]^a[f+10>>0];a[j+11>>0]=a[i+11>>0]^a[f+11>>0];a[j+12>>0]=a[i+12>>0]^a[f+12>>0];a[j+13>>0]=a[i+13>>0]^a[f+13>>0];a[j+14>>0]=a[i+14>>0]^a[f+14>>0];a[j+15>>0]=a[i+15>>0]^a[f+15>>0]}i=pb[C&63](b,j,j)|0;h=h+-1|0;if(!h)break;else{i=j;f=f+16|0;j=j+16|0}}e=e+k|0}else{j=e;k=e+4|0;l=e+8|0;m=e+12|0;n=e+1|0;o=e+2|0;p=e+3|0;q=e+4|0;r=e+5|0;s=e+6|0;t=e+7|0;u=e+8|0;v=e+9|0;w=e+10|0;x=e+11|0;y=e+12|0;z=e+13|0;A=e+14|0;B=e+15|0;i=d;h=g;while(1){if(!((f|j|i)&3)){c[e>>2]=c[i>>2]^c[f>>2];c[k>>2]=c[i+4>>2]^c[f+4>>2];c[l>>2]=c[i+8>>2]^c[f+8>>2];c[m>>2]=c[i+12>>2]^c[f+12>>2]}else{a[e>>0]=a[i>>0]^a[f>>0];a[n>>0]=a[i+1>>0]^a[f+1>>0];a[o>>0]=a[i+2>>0]^a[f+2>>0];a[p>>0]=a[i+3>>0]^a[f+3>>0];a[q>>0]=a[i+4>>0]^a[f+4>>0];a[r>>0]=a[i+5>>0]^a[f+5>>0];a[s>>0]=a[i+6>>0]^a[f+6>>0];a[t>>0]=a[i+7>>0]^a[f+7>>0];a[u>>0]=a[i+8>>0]^a[f+8>>0];a[v>>0]=a[i+9>>0]^a[f+9>>0];a[w>>0]=a[i+10>>0]^a[f+10>>0];a[x>>0]=a[i+11>>0]^a[f+11>>0];a[y>>0]=a[i+12>>0]^a[f+12>>0];a[z>>0]=a[i+13>>0]^a[f+13>>0];a[A>>0]=a[i+14>>0]^a[f+14>>0];a[B>>0]=a[i+15>>0]^a[f+15>>0]}i=pb[C&63](b,e,e)|0;h=h+-1|0;if(!h)break;else{i=e;f=f+16|0}}}do if((e|0)!=(d|0))if(!((e|d)&3)){c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];break}else{a[d>>0]=a[e>>0]|0;a[d+1>>0]=a[e+1>>0]|0;a[d+2>>0]=a[e+2>>0]|0;a[d+3>>0]=a[e+3>>0]|0;a[d+4>>0]=a[e+4>>0]|0;a[d+5>>0]=a[e+5>>0]|0;a[d+6>>0]=a[e+6>>0]|0;a[d+7>>0]=a[e+7>>0]|0;a[d+8>>0]=a[e+8>>0]|0;a[d+9>>0]=a[e+9>>0]|0;a[d+10>>0]=a[e+10>>0]|0;a[d+11>>0]=a[e+11>>0]|0;a[d+12>>0]=a[e+12>>0]|0;a[d+13>>0]=a[e+13>>0]|0;a[d+14>>0]=a[e+14>>0]|0;a[d+15>>0]=a[e+15>>0]|0;break}while(0);if(!i)return;Te(i+16|0);return}
-function Mk(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0;fa=l;l=l+208|0;if((l|0)>=(m|0))$(208);U=fa+136|0;T=fa+72|0;R=fa+40|0;H=fa+20|0;I=fa;v=c[e+4>>2]|0;V=c[f+4>>2]|0;r=V<<1;W=c[f+8>>2]|0;g=v<<5;if((g|0)<=512)if((g|0)<=256)if((g|0)>128)D=3;else D=(g|0)>64?2:1;else D=4;else D=5;u=c[e+12>>2]&1;S=(u|0)!=0;s=c[f+12>>2]&1;q=(s|0)!=0;if(!b)k=0;else k=(c[b+12>>2]&1|0)!=0;n=k&1;Z=a+16|0;g=c[Z>>2]|0;o=c[e+16>>2]|0;if(!V)Ve();if(!v){if((V|0)==1){ea=(c[c[f+16>>2]>>2]|0)!=1;c[a+4>>2]=ea&1;if(ea)G=13}else{c[a+4>>2]=1;G=13}if((G|0)==13){if((c[a>>2]|0)<1){ql(a,1);g=c[Z>>2]|0}c[g>>2]=1}c[a+8>>2]=0;l=fa;return}X=q?V:0;Y=ml(V,s)|0;f=c[f+16>>2]|0;Q=c[f+(V+-1<<2)>>2]|0;P=Q>>>0<65536?(Q>>>0<256?0:8):Q>>>0<16777216?16:24;P=32-(d[45555+(Q>>>P)>>0]|0)-P|0;Q=(P|0)!=0;if(!Q){if((V|0)>0){e=0;do{c[Y+(e<<2)>>2]=c[f+(e<<2)>>2];e=e+1|0}while((e|0)!=(V|0))}}else _k(Y,f,V,P)|0;i=c[b+4>>2]|0;p=c[b+8>>2]|0;a:do if((i|0)>(V|0)){j=i+1|0;h=k?j:0;j=ml(j,n)|0;if((i|0)>0){f=c[b+16>>2]|0;e=0;do{c[j+(e<<2)>>2]=c[f+(e<<2)>>2];e=e+1|0}while((e|0)!=(i|0))}Yk(j+(V<<2)|0,0,j,i,Y,V)|0;i=V;while(1){if((i|0)<=0){f=j;b=j;e=i;G=29;break a}e=i+-1|0;if(!(c[j+(e<<2)>>2]|0))i=e;else{f=j;b=j;G=31;break}}}else{f=c[b+16>>2]|0;b=0;h=0;e=i;G=29}while(0);if((G|0)==29)if(!e){c[a+4>>2]=0;c[a+8>>2]=0;_=0;aa=0;ba=0;ca=0;da=b;ea=h}else{i=e;G=31}do if((G|0)==31){if((g|0)==(f|0)){if(b|0)Ie(45811,45822,515,45832);b=k?i:0;f=ml(i,n)|0;if((i|0)>0){e=0;do{c[f+(e<<2)>>2]=c[g+(e<<2)>>2];e=e+1|0}while((e|0)!=(i|0));t=f;O=f;N=b}else{t=f;O=f;N=b}}else{t=f;O=b;N=h}if((g|0)==(o|0)){b=S?v:0;f=ml(v,u)|0;if((v|0)>0){e=0;do{c[f+(e<<2)>>2]=c[g+(e<<2)>>2];e=e+1|0}while((e|0)!=(v|0));z=f;M=f;L=b}else{z=f;M=f;L=b}}else{z=o;M=0;L=0}if((c[a>>2]|0)<(r|0)){ql(a,r);g=c[Z>>2]|0}J=r+2|0;K=q?J:0;J=ml(J,s)|0;c[R>>2]=0;c[R+4>>2]=0;c[R+8>>2]=0;c[R+12>>2]=0;c[R+16>>2]=0;c[R+20>>2]=0;c[R+24>>2]=0;F=(p|0)!=0&(c[z>>2]&1|0)!=0;if(D>>>0>1){if((i|0)<16)el(J,t,i,t,i)|0;else dl(J,t,i,t,i,R);e=i<<1;if((e|0)>(V|0)){Yk(J+(V<<2)|0,0,J,e,Y,V)|0;e=V}}else e=0;b=ml(i,u)|0;c[U>>2]=b;c[T>>2]=i;p=(i|0)>0;if(p){f=0;do{c[b+(f<<2)>>2]=c[t+(f<<2)>>2];f=f+1|0}while((f|0)!=(i|0))}q=D+-1|0;E=1<<q;if((E|0)>1){n=(e|0)<16;o=g+(V<<2)|0;k=1;h=i;f=i;do{if((e|0)<(f|0)){if(n)el(g,b,f,J,e)|0;else dl(g,b,f,J,e,R);f=f+e|0;if((f|0)>(V|0)){Yk(o,0,g,f,Y,V)|0;f=V}}else{if((f|0)<16)el(g,J,e,b,f)|0;else dl(g,J,e,b,f,R);f=f+e|0;if((f|0)>(V|0)){Yk(o,0,g,f,Y,V)|0;f=V}}b=ml(f,u)|0;c[U+(k<<2)>>2]=b;c[T+(k<<2)>>2]=f;h=(h|0)<(f|0)?f:h;if((f|0)>0){j=0;do{c[b+(j<<2)>>2]=c[g+(j<<2)>>2];j=j+1|0}while((j|0)!=(f|0))}k=k+1|0}while((k|0)!=(E|0));C=h}else C=i;B=ml(C,u)|0;if((C|0)>0)Yq(B|0,0,C<<2|0)|0;j=v+-1|0;if((D|0)!=1)if((V|0)>0){Yq(g|0,0,V<<2|0)|0;e=V}else e=V;else e=i;if(p){f=0;do{c[g+(f<<2)>>2]=c[t+(f<<2)>>2];f=f+1|0}while((f|0)!=(i|0))}b=c[z+(j<<2)>>2]|0;i=b>>>0<65536?(b>>>0<256?0:8):b>>>0<16777216?16:24;i=32-(d[45555+(b>>>i)>>0]|0)-i|0;y=32-D|0;A=(q|0)==31;q=H+4|0;r=I+4|0;s=I+8|0;t=H+8|0;u=I+12|0;v=H+12|0;w=H+16|0;x=I+16|0;b=b<<i<<1;i=31-i|0;h=J;f=0;b:while(1){if(!b){b=j;while(1){f=i+f|0;j=b+-1|0;if((b|0)<1){u=0;b=0;break b}b=c[z+(j<<2)>>2]|0;if(!b){i=32;b=j}else{i=32;break}}}p=b>>>0<65536?(b>>>0<256?0:8):b>>>0<16777216?16:24;p=32-p-(d[45555+(b>>>p)>>0]|0)|0;b=b<<p;n=i-p|0;p=p+f|0;if((n|0)<(D|0)){o=j+-1|0;if((j|0)<1){G=94;break}j=c[z+(o<<2)>>2]|0;i=n+y|0;k=j>>>i|b>>>y;b=j<<D-n}else{k=b>>>y;b=b<<D;i=n-D|0;o=j}n=k&0-k;f=n>>>0<65536?(n>>>0<256?0:8):n>>>0<16777216?16:24;f=(d[45555+(n>>>f)>>0]|0)+-1+f|0;n=k>>>f>>>1;j=p+D-f|0;if(!j)k=h;else while(1){if((e|0)<16)el(h,g,e,g,e)|0;else dl(h,g,e,g,e,R);e=e<<1;if((e|0)>(V|0)){Yk(h+(V<<2)|0,0,h,e,Y,V)|0;e=V}j=j+-1|0;if(!j){k=g;g=h;break}else{p=g;g=h;h=p}}do if(A){h=0;G=90}else{j=0;h=0;do{p=c[T+(j<<2)>>2]|0;c[q>>2]=p;c[H>>2]=p;c[r>>2]=p;c[I>>2]=p;c[s>>2]=0;c[t>>2]=0;c[u>>2]=0;c[v>>2]=0;c[w>>2]=B;c[x>>2]=c[U+(j<<2)>>2];ga=(j|0)==(n|0);Dl(H,I,ga&1)|0;h=(ga?p:0)|h;j=j+1|0}while((j|0)<(E|0));if((h|0)<16){G=90;break}dl(k,g,e,B,h,R)}while(0);if((G|0)==90){G=0;el(k,g,e,B,h)|0}e=h+e|0;if((e|0)<=(V|0)){h=g;g=k;j=o;continue}Yk(k+(V<<2)|0,0,k,e,Y,V)|0;h=g;g=k;j=o;e=V}if((G|0)==94){b=b>>>(32-n|0);if(!n){u=b;b=0;f=p}else{u=b&0-b;ga=u>>>0<65536?(u>>>0<256?0:8):u>>>0<16777216?16:24;ga=ga+-1+(d[45555+(u>>>ga)>>0]|0)|0;u=b>>>ga;b=ga;f=i+f-ga|0}}if(!f)t=h;else while(1){f=f+-1|0;if((e|0)<16)el(h,g,e,g,e)|0;else dl(h,g,e,g,e,R);e=e<<1;if((e|0)>(V|0)){Yk(h+(V<<2)|0,0,h,e,Y,V)|0;e=V}if(!f){t=g;g=h;break}else{ga=g;g=h;h=ga}}do if(u){do if(A){f=0;G=108}else{j=H+4|0;k=I+4|0;n=I+8|0;o=H+8|0;p=I+12|0;q=H+12|0;r=H+16|0;s=I+16|0;i=u>>>1;h=0;f=0;do{ga=c[T+(h<<2)>>2]|0;c[j>>2]=ga;c[H>>2]=ga;c[k>>2]=ga;c[I>>2]=ga;c[n>>2]=0;c[o>>2]=0;c[p>>2]=0;c[q>>2]=0;c[r>>2]=B;c[s>>2]=c[U+(h<<2)>>2];D=(h|0)==(i|0);Dl(H,I,D&1)|0;f=(D?ga:0)|f;h=h+1|0}while((h|0)<(E|0));if((f|0)<16){G=108;break}dl(t,g,e,B,f,R)}while(0);if((G|0)==108)el(t,g,e,B,f)|0;e=f+e|0;if((e|0)>(V|0)){Yk(t+(V<<2)|0,0,t,e,Y,V)|0;e=V}if(!b){g=t;break}else f=t;while(1){if((e|0)<16)el(g,f,e,f,e)|0;else dl(g,f,e,f,e,R);e=e<<1;if((e|0)>(V|0)){Yk(g+(V<<2)|0,0,g,e,Y,V)|0;e=V}b=b+-1|0;if(!b)break;else{ga=f;f=g;g=ga}}}while(0);b=c[Z>>2]|0;do if(Q){f=_k(b,g,e,P)|0;g=c[Z>>2]|0;if(!f)break;c[g+(e<<2)>>2]=f;e=e+1|0}else{if((b|0)==(g|0))break;if((e|0)>0)f=0;else{g=b;break}do{c[b+(f<<2)>>2]=c[g+(f<<2)>>2];f=f+1|0}while((f|0)!=(e|0));g=b}while(0);if((e|0)>=(V|0)){Yk(g+(V<<2)|0,0,g,e,Y,V)|0;e=V}if(Q)gl(g,g,e,P)|0;while(1){if((e|0)<=0)break;f=e+-1|0;if(!(c[g+(f<<2)>>2]|0))e=f;else break}fl(R);if(!A)if(S){f=0;do{ol(c[U+(f<<2)>>2]|0,c[T+(f<<2)>>2]|0);f=f+1|0}while((f|0)<(E|0))}else{f=0;do{ol(c[U+(f<<2)>>2]|0,0);f=f+1|0}while((f|0)<(E|0))}ol(B,S?C:0);c:do if(F&(e|0)!=0){if(Q)gl(Y,Y,V,P)|0;f=hl(g,Y,g,e)|0;b=V-e|0;d:do if(!b)e=V;else{T=g+(e<<2)|0;ga=Y+(e<<2)|0;e=ga+4|0;ga=c[ga>>2]|0;U=ga-f|0;f=T+4|0;c[T>>2]=U;if(U>>>0>ga>>>0)while(1){b=b+-1|0;if(!b){e=V;break d}i=e+4|0;ga=c[e>>2]|0;h=f+4|0;c[f>>2]=ga+-1;if(!ga){e=i;f=h}else{f=h;break}}else i=e;if((f|0)==(i|0)){e=V;break}h=b+-1|0;if((b|0)>1)e=0;else{e=V;break}do{c[f+(e<<2)>>2]=c[i+(e<<2)>>2];e=e+1|0}while((e|0)!=(h|0));e=V}while(0);while(1){if((e|0)<=0){f=W;break c}f=e+-1|0;if(!(c[g+(f<<2)>>2]|0))e=f;else{f=W;break}}}else f=0;while(0);if((c[Z>>2]|0)==(g|0)){c[a+4>>2]=e;c[a+8>>2]=f;_=J;aa=K;ba=M;ca=L;da=O;ea=N;break}else Ie(45847,45822,786,45832)}while(0);if(Y|0)ol(Y,X);if(da|0)ol(da,ea);if(ba|0)ol(ba,ca);if(!_){l=fa;return}ol(_,aa);l=fa;return}function Nk(a){a=a|0;var b=0,e=0,f=0,g=0,h=0;g=c[a+4>>2]|0;if(!g){h=0;return h|0}f=c[a+16>>2]|0;a=0;e=0;while(1){b=c[f+(e<<2)>>2]|0;if(b|0)break;a=a+32|0;e=e+1|0;if(e>>>0>=g>>>0){h=6;break}}if((h|0)==6)return a|0;g=b&0-b;h=g>>>0<65536?(g>>>0<256?0:8):g>>>0<16777216?16:24;h=a+-1+h+(d[45555+(g>>>h)>>0]|0)|0;return h|0}function Ok(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Pk(a,b,0,c,d,0)|0}function Pk(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;if(g|0)c[g>>2]=c[b+8>>2];k=b+4|0;i=c[k>>2]|0;g=i<<2;c[f>>2]=g;g=(i|0)==0?1:g;i=(e|0)<0;j=0-e|0;g=(g>>>0<d>>>0?d:g)+(i?j:e)|0;if((h|0)==0?(c[b+12>>2]&1|0)==0:0)l=_e(g)|0;else l=$e(g)|0;if(!l){f=0;return f|0}h=i?l+j|0:l;g=c[k>>2]|0;if((g|0)>0){i=b+16|0;e=h;while(1){b=g;g=g+-1|0;k=c[(c[i>>2]|0)+(g<<2)>>2]|0;a[e>>0]=k>>>24;a[e+1>>0]=k>>>16;a[e+2>>0]=k>>>8;a[e+3>>0]=k;if((b|0)<=1)break;else e=e+4|0}}g=c[f>>2]|0;if(d|0){i=g>>>1;if(i|0){j=g+-1|0;e=0;do{m=h+e|0;k=a[m>>0]|0;b=h+(j-e)|0;a[m>>0]=a[b>>0]|0;a[b>>0]=k;e=e+1|0}while((e|0)!=(i|0))}if(g>>>0<d>>>0){Yq(h+g|0,0,d-g|0)|0;g=d}c[f>>2]=g;m=l;return m|0}if(!g){m=l;return m|0}else e=h;while(1){if(a[e>>0]|0)break;e=e+1|0;g=g+-1|0;c[f>>2]=g;if(!g){g=0;break}}if((e|0)==(h|0)){m=l;return m|0}dr(h|0,e|0,g|0)|0;m=l;return m|0}function Qk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Pk(a,b,c,d,e,0)|0}function Rk(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if(a|0?c[a+12>>2]&16|0:0){sl();return}n=(e+3|0)>>>2;if((c[a>>2]|0)<(n|0))ql(a,n);c[a+8>>2]=f;m=e+-1|0;g=b+m|0;if((m|0)>3){l=e+-5|0;f=l>>>2;m=f<<2;f=f+1|0;l=l-m|0;k=c[a+16>>2]|0;h=0;j=e;while(1){i=j+-4|0;c[k+(h<<2)>>2]=(d[b+(j+-2)>>0]|0)<<8|(d[g>>0]|0)|(d[b+(j+-3)>>0]|0)<<16|(d[b+i>>0]|0)<<24;h=h+1|0;if((h|0)==(f|0))break;else{g=b+(j+-5)|0;j=i}}h=b+l|0;e=e+-4-m|0}else{f=0;h=g}if((e|0)>0){g=h+-1|0;e=d[h>>0]|0;if(g>>>0>=b>>>0){e=(d[g>>0]|0)<<8|e;g=h+-2|0}if(g>>>0>=b>>>0){e=(d[g>>0]|0)<<16|e;g=g+-1|0}if(g>>>0>=b>>>0)e=(d[g>>0]|0)<<24|e;c[(c[a+16>>2]|0)+(f<<2)>>2]=e;f=f+1|0}c[a+4>>2]=f;if((f|0)==(n|0))return;else Ie(45860,45872,377,45883)}function Sk(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if(!f)m=0;else m=(af(f)|0)!=0;j=(e|0)==3;o=j?0:g;switch(e|0){case 1:{e=(o+3|0)>>>2;if(m)k=nl(e)|0;else k=ll(e)|0;if(o|0?(Rk(k,f,o,0),f=a[f>>0]|0,l=k+8|0,c[l>>2]=(f&255)>>>7&255,f<<24>>24<0):0){g=lk(k)|0;if(!(c[k+12>>2]&16)){kk(k);i=c[k+16>>2]|0;j=c[k+4>>2]|0;if(j|0){e=0;do{f=i+(e<<2)|0;c[f>>2]=~c[f>>2];e=e+1|0}while((e|0)!=(j|0))}c[l>>2]=0;pk(k,g+-1|0)}else sl();ek(k,k,1);c[l>>2]=1}if(!b)tl(k);else{kk(k);c[b>>2]=k}if(!h){b=0;return b|0}c[h>>2]=o;b=0;return b|0}case 5:{e=(o+3|0)>>>2;if(m)e=nl(e)|0;else e=ll(e)|0;if(o|0)Rk(e,f,o,0);if(!b)tl(e);else{kk(e);c[b>>2]=e}if(!h){b=0;return b|0}c[h>>2]=o;b=0;return b|0}case 2:{a:do if(o>>>0>=2?(i=d[f>>0]<<8|d[f+1>>0],i>>>0<=16384):0){i=(i+7|0)>>>3;k=(i+3|0)>>>2;if(m)e=nl(k)|0;else e=ll(k)|0;c[e+4>>2]=k;c[e+8>>2]=0;if(!k)g=2;else{m=e+16|0;g=2;j=f+2|0;i=0-i&3;b:while(1){l=0;do{g=g+1|0;if(g>>>0>o>>>0)break b;f=j;j=j+1|0;l=d[f>>0]|l<<8;i=i+1|0}while((i|0)<4);f=k;k=k+-1|0;c[(c[m>>2]|0)+(k<<2)>>2]=l;if((f|0)<=1)break a;else i=0}tl(e);e=0}}else{e=0;g=0}while(0);if(h|0)c[h>>2]=g;g=(e|0)!=0;if(!((b|0)!=0&g))if(g){tl(e);e=0}else e=0;else{kk(e);c[b>>2]=e}b=e|0?0:65;return b|0}default:{if(j){if((o+-1|0)>>>0<3){b=66;return b|0}i=d[f+1>>0]<<16|d[f>>0]<<24|d[f+2>>0]<<8|d[f+3>>0];g=f+4|0;f=o+-4|0;if(o|0?(f|0)!=0&i>>>0>f>>>0:0){b=67;return b|0}l=i+4|0;e=(i+3|0)>>>2;if(m)k=nl(e)|0;else k=ll(e)|0;if(i|0?(Rk(k,g,i,0),f=a[g>>0]|0,n=k+8|0,c[n>>2]=(f&255)>>>7&255,f<<24>>24<0):0){g=lk(k)|0;if(!(c[k+12>>2]&16)){kk(k);i=c[k+16>>2]|0;j=c[k+4>>2]|0;if(j|0){e=0;do{f=i+(e<<2)|0;c[f>>2]=~c[f>>2];e=e+1|0}while((e|0)!=(j|0))}c[n>>2]=0;pk(k,g+-1|0)}else sl();ek(k,k,1);c[n>>2]=1}if(h|0)c[h>>2]=l;if(!b){tl(k);b=0;return b|0}else{kk(k);c[b>>2]=k;b=0;return b|0}}if(!((e|0)==4&(g|0)==0)){b=45;return b|0}if(m)p=nl(0)|0;else p=ll(0)|0;g=(a[f>>0]|0)==45;e=g?f+1|0:f;if((a[e>>0]|0)==48)e=(a[e+1>>0]|0)==120?e+2|0:e;k=Fo(e)|0;j=((k<<2)+7|0)>>>3;i=(j+3|0)>>>2;if((c[p>>2]|0)>>>0<i>>>0)ql(p,i);c[p+4>>2]=i;c[p+8>>2]=g&1;c:do if(i|0){o=p+16|0;j=0-j&3;g=k&1;d:while(1){n=0;while(1){if(!g){g=a[e>>0]|0;if(!(g<<24>>24)){e=82;break d}else{k=g<<24>>24;g=e+1|0}}else{k=48;g=e}e=g+1|0;l=a[g>>0]|0;m=l<<24>>24;if(!(l<<24>>24)){e=84;break d}g=k+-48|0;do if(g>>>0>=10){if((k+-97|0)>>>0<6){g=k+-87|0;break}if((k+-65|0)>>>0>=6){e=90;break d}g=k+-55|0}while(0);k=g<<4;do if((l+-48&255)<10)g=m+-48|0;else{if((l+-97&255)<6){g=m+-87|0;break}if((l+-65&255)>=6){e=97;break d}g=m+-55|0}while(0);n=k|n<<8|g;j=j+1|0;if((j|0)>=4)break;else g=0}m=i;i=i+-1|0;c[(c[o>>2]|0)+(i<<2)>>2]=n;if((m|0)<=1)break c;else{j=0;g=0}}if((e|0)==82)rl(p);else if((e|0)==84)rl(p);else if((e|0)==90)rl(p);else if((e|0)==97)rl(p);tl(p);b=65;return b|0}while(0);if(!b)tl(p);else{kk(p);c[b>>2]=p}if(!h){b=0;return b|0}c[h>>2]=Fo(f)|0;b=0;return b|0}}return 0}function Tk(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0;q=l;l=l+16|0;if((l|0)>=(m|0))$(16);i=lk(h)|0;p=(g|0)==0?q:g;if((c[h+8>>2]|0)!=0?(vk(h,0)|0)!=0:0)o=1;else o=0;c[p>>2]=0;switch(b|0){case 1:{i=h+4|0;j=c[i>>2]|0;b=j<<2;j=(j|0)==0;g=j?1:b;if(!(c[h+12>>2]&1))k=_e(g)|0;else k=$e(g)|0;if(!k){p=Sn()|0;l=q;return p|0}g=c[i>>2]|0;if((g|0)>0){h=h+16|0;i=k;while(1){r=g;g=g+-1|0;s=c[(c[h>>2]|0)+(g<<2)>>2]|0;a[i>>0]=s>>>24;a[i+1>>0]=s>>>16;a[i+2>>0]=s>>>8;a[i+3>>0]=s;if((r|0)<=1)break;else i=i+4|0}}if(!j){g=k;while(1){if(a[g>>0]|0)break;g=g+1|0;b=b+-1|0;if(!b){b=0;break}}if((g|0)==(k|0))i=b;else{dr(k|0,g|0,b|0)|0;i=b}}else i=0;do if(!o)if(!i)if(!e){g=0;break}else{b=0;g=0;n=26;break}else{g=(d[k>>0]|0)>>>7&255;b=g;n=23;break}else{Uk(k,i);g=a[k>>0]|0;b=g<<24>>24<0?0:2;g=(g&255)>>>7&255^1;n=23}while(0);do if((n|0)==23){g=g+i|0;i=(e|0)!=0;if(!(i&g>>>0>f>>>0))if(i){n=26;break}else break;cf(k);s=66;l=q;return s|0}while(0);if((n|0)==26){switch(b&3){case 1:{a[e>>0]=0;e=e+1|0;break}case 0:break;default:{a[e>>0]=-1;e=e+1|0}}cr(e|0,k|0,g-((b|0)!=0&1)|0)|0}cf(k);c[p>>2]=g;s=0;l=q;return s|0}case 5:{g=(i+7|0)>>>3;b=(e|0)!=0;if(b&g>>>0>f>>>0){s=66;l=q;return s|0}if(b){i=h+4|0;j=c[i>>2]|0;g=j<<2;j=(j|0)==0;b=j?1:g;if(!(c[h+12>>2]&1))k=_e(b)|0;else k=$e(b)|0;if(!k){s=Sn()|0;l=q;return s|0}b=c[i>>2]|0;if((b|0)>0){h=h+16|0;i=k;while(1){s=b;b=b+-1|0;r=c[(c[h>>2]|0)+(b<<2)>>2]|0;a[i>>0]=r>>>24;a[i+1>>0]=r>>>16;a[i+2>>0]=r>>>8;a[i+3>>0]=r;if((s|0)<=1)break;else i=i+4|0}}if(!j){b=k;while(1){if(a[b>>0]|0)break;b=b+1|0;g=g+-1|0;if(!g){g=0;break}}if((b|0)!=(k|0))dr(k|0,b|0,g|0)|0}else g=0;cr(e|0,k|0,g|0)|0;cf(k)}c[p>>2]=g;s=0;l=q;return s|0}case 2:{g=(i+7|0)>>>3;if(o|0){s=45;l=q;return s|0}b=(e|0)!=0;if(b&(g+2|0)>>>0>f>>>0){s=66;l=q;return s|0}if(b){a[e>>0]=i>>>8;a[e+1>>0]=i;i=h+4|0;j=c[i>>2]|0;g=j<<2;j=(j|0)==0;b=j?1:g;if(!(c[h+12>>2]&1))k=_e(b)|0;else k=$e(b)|0;if(!k){s=Sn()|0;l=q;return s|0}b=c[i>>2]|0;if((b|0)>0){h=h+16|0;i=k;while(1){s=b;b=b+-1|0;r=c[(c[h>>2]|0)+(b<<2)>>2]|0;a[i>>0]=r>>>24;a[i+1>>0]=r>>>16;a[i+2>>0]=r>>>8;a[i+3>>0]=r;if((s|0)<=1)break;else i=i+4|0}}if(!j){b=k;while(1){if(a[b>>0]|0)break;b=b+1|0;g=g+-1|0;if(!g){g=0;break}}if((b|0)!=(k|0))dr(k|0,b|0,g|0)|0}else g=0;cr(e+2|0,k|0,g|0)|0;cf(k)}c[p>>2]=g+2;s=0;l=q;return s|0}case 3:{i=h+4|0;j=c[i>>2]|0;b=j<<2;j=(j|0)==0;g=j?1:b;if(!(c[h+12>>2]&1))k=_e(g)|0;else k=$e(g)|0;if(!k){s=Sn()|0;l=q;return s|0}g=c[i>>2]|0;if((g|0)>0){h=h+16|0;i=k;while(1){s=g;g=g+-1|0;r=c[(c[h>>2]|0)+(g<<2)>>2]|0;a[i>>0]=r>>>24;a[i+1>>0]=r>>>16;a[i+2>>0]=r>>>8;a[i+3>>0]=r;if((s|0)<=1)break;else i=i+4|0}}if(!j){g=k;while(1){if(a[g>>0]|0)break;g=g+1|0;b=b+-1|0;if(!b){b=0;break}}if((g|0)==(k|0))g=b;else{dr(k|0,g|0,b|0)|0;g=b}}else g=0;if(!o)if(!g){h=0;b=0}else{b=(d[k>>0]|0)>>>7&255;h=b;b=b+g|0}else{Uk(k,g);b=a[k>>0]|0;h=b<<24>>24<0?0:2;b=((b&255)>>>7&255^1)+g|0}i=b+4|0;if(e|0){if(i>>>0>f>>>0){cf(k);s=66;l=q;return s|0}a[e>>0]=b>>>24;a[e+1>>0]=b>>>16;a[e+2>>0]=b>>>8;g=e+4|0;a[e+3>>0]=b;switch(h&3){case 1:{a[g>>0]=0;g=e+5|0;break}case 0:break;default:{a[g>>0]=-1;g=e+5|0}}cr(g|0,k|0,b-((h|0)!=0&1)|0)|0}cf(k);c[p>>2]=i;s=0;l=q;return s|0}case 4:{i=h+4|0;j=c[i>>2]|0;b=j<<2;j=(j|0)==0;g=j?1:b;if(!(c[h+12>>2]&1))k=_e(g)|0;else k=$e(g)|0;if(!k){s=Sn()|0;l=q;return s|0}g=c[i>>2]|0;if((g|0)>0){h=h+16|0;i=k;while(1){s=g;g=g+-1|0;r=c[(c[h>>2]|0)+(g<<2)>>2]|0;a[i>>0]=r>>>24;a[i+1>>0]=r>>>16;a[i+2>>0]=r>>>8;a[i+3>>0]=r;if((s|0)<=1)break;else i=i+4|0}}if(!j){g=k;while(1){if(a[g>>0]|0)break;g=g+1|0;b=b+-1|0;if(!b){b=0;break}}if((g|0)!=(k|0))dr(k|0,g|0,b|0)|0;if(b)if((a[k>>0]|0)<0){g=0;n=106}else{i=0;j=b;b=0}else{b=0;g=1;n=106}}else{b=0;g=1;n=106}if((n|0)==106){i=2;j=b;b=g}h=j<<1;g=(i+h|o)+1|0;if(e){if(g>>>0>f>>>0){cf(k);s=66;l=q;return s|0}if(!o)g=e;else{a[e>>0]=45;g=e+1|0}if(i){a[g>>0]=48;a[g+1>>0]=48;g=g+2|0}if(!b){b=0;i=g;while(1){f=a[k+b>>0]|0;s=f&255;r=s>>>4;a[i>>0]=(f&255)<160?r|48:r+55|0;s=s&15;a[i+1>>0]=s>>>0<10?s|48:s+55|0;b=b+1|0;if((b|0)==(j|0))break;else i=i+2|0}g=g+h|0}a[g>>0]=0;g=g+1-e|0}c[p>>2]=g;cf(k);s=0;l=q;return s|0}default:{s=45;l=q;return s|0}}return 0}function Uk(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0;while(1){e=c+-1|0;if((e|0)<=-1){h=21;break}g=b+e|0;f=a[g>>0]|0;if(!(f<<24>>24))c=e;else break}if((h|0)==21)return;e=f&255;do if(!(e&1)){if(e&2|0){a[g>>0]=e&252^254;break}if(e&4|0){a[g>>0]=e&248^252;break}if(e&8|0){a[g>>0]=e&240^248;break}if(e&16|0){a[g>>0]=e&224^240;break}if(e&32|0){a[g>>0]=e&192^224;break}if(!(e&64)){a[g>>0]=-128;break}else{a[g>>0]=e&128^192;break}}else a[g>>0]=(e|1)^254;while(0);c=c+-2|0;if((c|0)<=-1)return;while(1){h=b+c|0;a[h>>0]=(d[h>>0]|0)^255;if((c|0)>0)c=c+-1|0;else break}return}function Vk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=(a|0)!=0;g=(b|0)!=0;if(!(i^g)){i=45;return i|0}if(i)c[a>>2]=0;f=lk(d)|0;if(c[d+8>>2]|0)vk(d,0)|0;h=(f+7|0)>>>3;if(h>>>0>e>>>0){i=67;return i|0}e=h>>>0<e>>>0?e-h|0:0;f=e+h|0;if(!g){if(!(c[d+12>>2]&1))f=_e(f)|0;else f=$e(f)|0;if(!f){i=Sn()|0;return i|0}else b=f}if(e|0)Yq(b|0,0,e|0)|0;f=Tk(5,b+e|0,h,0,d)|0;if(f|0){cf(b);i=f;return i|0}if(!i){i=0;return i|0}c[a>>2]=b;i=0;return i|0}function Wk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;g=b+(e<<2)|0;f=d+(e<<2)|0;a=a+(e<<2)|0;b=0-e|0;d=0;do{i=c[g+(b<<2)>>2]|0;h=(c[f+(b<<2)>>2]|0)+d|0;e=h+i|0;d=(e>>>0<i>>>0&1)+(h>>>0<d>>>0&1)|0;c[a+(b<<2)>>2]=e;b=b+1|0}while((b|0)!=0);return d|0}function Xk(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if(!b){a=0;return a|0}k=e>>>0<65536?(e>>>0<256?0:8):e>>>0<16777216?16:24;k=(d[45555+(e>>>k)>>0]|0)+k|0;n=32-k|0;if(!n){g=b+-1|0;f=c[a+(g<<2)>>2]|0;n=f>>>0<e>>>0;f=n?f:0;g=n?b+-2|0:g;if((g|0)<=-1){a=f;return a|0}j=e>>>16;k=e&65535;while(1){i=c[a+(g<<2)>>2]|0;h=S((f>>>0)/(j>>>0)|0,k)|0;f=((f>>>0)%(j>>>0)|0)<<16|i>>>16;b=f+e|0;if(f>>>0<h>>>0)f=(b>>>0>=e>>>0&b>>>0<h>>>0?e:0)+b|0;f=f-h|0;h=S((f>>>0)/(j>>>0)|0,k)|0;f=((f>>>0)%(j>>>0)|0)<<16|i&65535;b=f+e|0;if(f>>>0<h>>>0)f=(b>>>0>=e>>>0&b>>>0<h>>>0?e:0)+b|0;f=f-h|0;if((g|0)>0)g=g+-1|0;else break}return f|0}m=e<<n;g=c[a+(b+-1<<2)>>2]|0;f=g>>>k;b=b+-2|0;l=m>>>16;e=m&65535;if((b|0)>-1)while(1){j=c[a+(b<<2)>>2]|0;h=S((f>>>0)/(l>>>0)|0,e)|0;i=j>>>k|g<<n;f=i>>>16|((f>>>0)%(l>>>0)|0)<<16;g=f+m|0;if(f>>>0<h>>>0)f=(g>>>0>=m>>>0&g>>>0<h>>>0?m:0)+g|0;f=f-h|0;h=S((f>>>0)/(l>>>0)|0,e)|0;f=((f>>>0)%(l>>>0)|0)<<16|i&65535;g=f+m|0;if(f>>>0<h>>>0)f=(g>>>0>=m>>>0&g>>>0<h>>>0?m:0)+g|0;f=f-h|0;if((b|0)>0){b=b+-1|0;g=j}else{g=j;break}}b=S((f>>>0)/(l>>>0)|0,e)|0;h=g<<n;f=((f>>>0)%(l>>>0)|0)<<16|h>>>16;g=f+m|0;if(f>>>0<b>>>0)f=(g>>>0>=m>>>0&g>>>0<b>>>0?m:0)+g|0;f=f-b|0;b=S((f>>>0)/(l>>>0)|0,e)|0;f=((f>>>0)%(l>>>0)|0)<<16|h&65535;g=f+m|0;if(f>>>0<b>>>0)f=(g>>>0>=m>>>0&g>>>0<b>>>0?m:0)+g|0;a=(f-b|0)>>>n;return a|0}function Yk(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;switch(g|0){case 0:{Ve();break}case 1:{p=c[f>>2]|0;h=c[d+(e+-1<<2)>>2]|0;q=h>>>0<p>>>0;h=h-(q?0:p)|0;q=q&1^1;o=a+(b<<2)|0;i=e+-2|0;if((i|0)>-1){e=p>>>16;n=p&65535;while(1){j=(h>>>0)/(e>>>0)|0;k=S(j,n)|0;m=c[d+(i<<2)>>2]|0;h=m>>>16|((h>>>0)%(e>>>0)|0)<<16;if(h>>>0<k>>>0){h=h+p|0;a=h>>>0>=p>>>0&h>>>0<k>>>0;j=(a?-2:-1)+j|0;h=(a?p:0)+h|0}h=h-k|0;k=(h>>>0)/(e>>>0)|0;l=S(k,n)|0;h=m&65535|((h>>>0)%(e>>>0)|0)<<16;if(h>>>0<l>>>0){h=h+p|0;a=h>>>0>=p>>>0&h>>>0<l>>>0;k=(a?-2:-1)+k|0;h=(a?p:0)+h|0}h=h-l|0;c[o+(i<<2)>>2]=k|j<<16;if((i|0)>0)i=i+-1|0;else break}}e=o+(0-b<<2)|0;if((b|0)>0){n=p>>>16;o=p&65535;m=b;do{l=m;m=m+-1|0;i=(h>>>0)/(n>>>0)|0;j=S(i,o)|0;h=((h>>>0)%(n>>>0)|0)<<16;if(h>>>0<j>>>0){h=h+p|0;b=h>>>0>=p>>>0&h>>>0<j>>>0;i=(b?-2:-1)+i|0;h=(b?p:0)+h|0}h=h-j|0;j=(h>>>0)/(n>>>0)|0;k=S(j,o)|0;h=((h>>>0)%(n>>>0)|0)<<16;if(h>>>0<k>>>0){h=h+p|0;b=h>>>0>=p>>>0&h>>>0<k>>>0;j=(b?-2:-1)+j|0;h=(b?p:0)+h|0}h=h-k|0;c[e+(m<<2)>>2]=j|i<<16}while((l|0)>1)}c[d>>2]=h;b=q;return b|0}case 2:{j=d+(e+-2<<2)|0;w=c[f+4>>2]|0;u=c[f>>2]|0;v=0-u|0;i=c[j+4>>2]|0;h=c[j>>2]|0;if(i>>>0>=w>>>0?(k=h-u|0,!(i>>>0<=w>>>0&h>>>0<u>>>0)):0){i=i-w+((k>>>0>h>>>0)<<31>>31)|0;h=k;t=1}else t=0;k=b+-3+e|0;if((k|0)>-1){s=u-((u|0)!=0&1)|0;p=w>>>16;q=w&65535;d=u&65535;r=u>>>16;while(1){if((k|0)<(b|0))c[j>>2]=0;else j=j+-4|0;if((i|0)==(w|0)){h=h+w|0;if(h>>>0<w>>>0){i=c[j>>2]|0;f=i+u|0;c[a+(k<<2)>>2]=-1;i=h-u+(f>>>0<i>>>0&1)|0;h=f}else{m=-1;l=s;i=v;o=34}}else{l=(i>>>0)/(p>>>0)|0;m=S(l,q)|0;i=((i>>>0)%(p>>>0)|0)<<16|h>>>16;if(i>>>0<m>>>0){i=i+w|0;f=i>>>0>=w>>>0&i>>>0<m>>>0;l=(f?-2:-1)+l|0;i=(f?w:0)+i|0}i=i-m|0;m=(i>>>0)/(p>>>0)|0;e=S(m,q)|0;i=((i>>>0)%(p>>>0)|0)<<16|h&65535;if(i>>>0<e>>>0){i=i+w|0;f=i>>>0>=w>>>0&i>>>0<e>>>0;h=(f?-2:-1)+m|0;i=(f?w:0)+i|0}else h=m;m=h|l<<16;g=h&65535;f=m>>>16;o=S(g,d)|0;g=S(g,r)|0;l=S(f,r)|0;f=(o>>>16)+g+(S(f,d)|0)|0;h=i-e|0;l=(f>>>0<g>>>0?l+65536|0:l)+(f>>>16)|0;i=f<<16|o&65535;o=34}if((o|0)==34){o=0;n=c[j>>2]|0;while(1){if(l>>>0<=h>>>0?!(i>>>0>n>>>0&(l|0)==(h|0)):0)break;m=m+-1|0;e=i-u|0;l=l-(e>>>0>i>>>0&1)|0;h=h+w|0;if(h>>>0<w>>>0){i=e;break}else i=e}c[a+(k<<2)>>2]=m;f=n-i|0;i=h-l+((f>>>0>n>>>0)<<31>>31)|0;h=f}if((k|0)>0)k=k+-1|0;else break}}c[j+4>>2]=i;c[j>>2]=h;b=t;return b|0}default:{m=d+(e-g<<2)|0;u=g+-1|0;v=c[f+(u<<2)>>2]|0;w=g+-2|0;x=c[f+(w<<2)>>2]|0;i=m+(u<<2)|0;j=c[i>>2]|0;a:do if(j>>>0<v>>>0)h=0;else{b:do if(j>>>0<=v>>>0){h=u;do{if((h|0)<=0)break b;h=h+-1|0;k=c[m+(h<<2)>>2]|0;l=c[f+(h<<2)>>2]|0}while((k|0)==(l|0));if(k>>>0<=l>>>0){h=0;break a}}while(0);hl(m,m,f,g)|0;j=c[i>>2]|0;h=1}while(0);i=e+b-g|0;if((i|0)<=0){b=h;return b|0}q=v>>>16;d=v&65535;r=x&65535;s=x>>>16;t=(w|0)>-1;while(1){p=i;i=i+-1|0;if((p|0)>(b|0)){o=m+-4|0;n=c[o+(g<<2)>>2]|0}else{if(t){l=m+4|0;k=w;while(1){c[l+(k<<2)>>2]=c[m+(k<<2)>>2];if((k|0)>0)k=k+-1|0;else break}}c[m>>2]=0;n=j;o=m}c:do if((j|0)==(v|0))j=-1;else{k=(j>>>0)/(q>>>0)|0;l=S(k,d)|0;e=c[o+(u<<2)>>2]|0;j=e>>>16|((j>>>0)%(q>>>0)|0)<<16;if(j>>>0<l>>>0){j=j+v|0;m=j>>>0>=v>>>0&j>>>0<l>>>0;j=(m?v:0)+j|0;m=(m?-2:-1)+k|0}else m=k;k=j-l|0;j=(k>>>0)/(q>>>0)|0;l=S(j,d)|0;k=e&65535|((k>>>0)%(q>>>0)|0)<<16;if(k>>>0<l>>>0){k=k+v|0;e=k>>>0>=v>>>0&k>>>0<l>>>0;k=(e?v:0)+k|0;j=(e?-2:-1)+j|0}z=j|m<<16;A=j&65535;y=z>>>16;m=S(A,r)|0;A=S(A,s)|0;j=S(y,s)|0;y=(m>>>16)+A+(S(y,r)|0)|0;e=o+(w<<2)|0;k=k-l|0;l=(y>>>0<A>>>0?j+65536|0:j)+(y>>>16)|0;j=z;m=y<<16|m&65535;while(1){if(l>>>0<=k>>>0){if((l|0)!=(k|0))break c;if(m>>>0<=(c[e>>2]|0)>>>0)break c}j=j+-1|0;k=k+v|0;if(k>>>0<v>>>0)break c;l=l-(m>>>0<x>>>0&1)|0;m=m-x|0}}while(0);if((n|0)!=(al(o,f,g,j)|0)){Wk(o,o,f,g)|0;j=j+-1|0}c[a+(i<<2)>>2]=j;if((p|0)<=1)break;else{m=o;j=c[o+(u<<2)>>2]|0}}return h|0}}return 0}function Zk(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;if(!e){a=0;return a|0}n=f>>>0<65536?(f>>>0<256?0:8):f>>>0<16777216?16:24;n=(d[45555+(f>>>n)>>0]|0)+n|0;q=32-n|0;if(!q){h=e+-1|0;g=c[b+(h<<2)>>2]|0;if(g>>>0<f>>>0){c[a+(h<<2)>>2]=0;h=e+-2|0}else g=0;if((h|0)<=-1){a=g;return a|0}l=f>>>16;m=f&65535;while(1){j=c[b+(h<<2)>>2]|0;e=(g>>>0)/(l>>>0)|0;i=S(e,m)|0;g=((g>>>0)%(l>>>0)|0)<<16|j>>>16;if(g>>>0<i>>>0){g=g+f|0;k=g>>>0>=f>>>0&g>>>0<i>>>0;g=(k?f:0)+g|0;k=(k?-2:-1)+e|0}else k=e;g=g-i|0;e=(g>>>0)/(l>>>0)|0;i=S(e,m)|0;g=((g>>>0)%(l>>>0)|0)<<16|j&65535;if(g>>>0<i>>>0){g=g+f|0;q=g>>>0>=f>>>0&g>>>0<i>>>0;g=(q?f:0)+g|0;e=(q?-2:-1)+e|0}g=g-i|0;c[a+(h<<2)>>2]=e|k<<16;if((h|0)>0)h=h+-1|0;else break}return g|0}p=f<<q;i=c[b+(e+-1<<2)>>2]|0;g=i>>>n;h=e+-2|0;o=p>>>16;f=p&65535;if((h|0)>-1)while(1){m=c[b+(h<<2)>>2]|0;e=(g>>>0)/(o>>>0)|0;j=S(e,f)|0;k=m>>>n|i<<q;g=k>>>16|((g>>>0)%(o>>>0)|0)<<16;if(g>>>0<j>>>0){g=g+p|0;l=g>>>0>=p>>>0&g>>>0<j>>>0;g=(l?p:0)+g|0;l=(l?-2:-1)+e|0}else l=e;g=g-j|0;e=(g>>>0)/(o>>>0)|0;i=S(e,f)|0;g=((g>>>0)%(o>>>0)|0)<<16|k&65535;if(g>>>0<i>>>0){g=g+p|0;k=g>>>0>=p>>>0&g>>>0<i>>>0;g=(k?p:0)+g|0;e=(k?-2:-1)+e|0}g=g-i|0;c[a+(h+1<<2)>>2]=e|l<<16;if((h|0)>0){h=h+-1|0;i=m}else{h=m;break}}else h=i;e=(g>>>0)/(o>>>0)|0;i=S(e,f)|0;h=h<<q;g=((g>>>0)%(o>>>0)|0)<<16|h>>>16;if(g>>>0<i>>>0){g=g+p|0;j=g>>>0>=p>>>0&g>>>0<i>>>0;g=(j?p:0)+g|0;j=(j?-2:-1)+e|0}else j=e;b=g-i|0;g=(b>>>0)/(o>>>0)|0;e=S(g,f)|0;h=((b>>>0)%(o>>>0)|0)<<16|h&65535;if(h>>>0<e>>>0){h=h+p|0;b=h>>>0>=p>>>0&h>>>0<e>>>0;h=(b?p:0)+h|0;g=(b?-2:-1)+g|0}c[a>>2]=g|j<<16;a=(h-e|0)>>>q;return a|0}function _k(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=a+4|0;g=32-e|0;f=c[b+(d+-1<<2)>>2]|0;i=f>>>g;a=d+-2|0;if((d|0)>1){d=f;while(1){f=c[b+(a<<2)>>2]|0;c[h+(a<<2)>>2]=f>>>g|d<<e;if((a|0)>0){d=f;a=a+-1|0}else{a=-1;break}}}c[h+(a<<2)>>2]=f<<e;return i|0}function $k(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;h=b+(d<<2)|0;f=a+(d<<2)|0;g=e&65535;e=e>>>16;a=0;b=0-d|0;do{j=c[h+(b<<2)>>2]|0;i=j&65535;j=j>>>16;d=S(i,g)|0;k=S(j,g)|0;j=S(j,e)|0;i=k+(S(i,e)|0)+(d>>>16)|0;d=(i<<16|d&65535)+a|0;a=(i>>>0<k>>>0?j+65536|0:j)+(i>>>16)+(d>>>0<a>>>0&1)|0;c[f+(b<<2)>>2]=d;b=b+1|0}while((b|0)!=0);return a|0}function al(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=a+(d<<2)|0;f=b+(d<<2)|0;g=e&65535;e=e>>>16;b=0;a=0-d|0;do{m=c[f+(a<<2)>>2]|0;l=m&65535;m=m>>>16;k=S(l,g)|0;n=S(m,g)|0;m=S(m,e)|0;l=n+(S(l,e)|0)+(k>>>16)|0;k=(l<<16|k&65535)+b|0;d=h+(a<<2)|0;j=c[d>>2]|0;i=j-k|0;b=(l>>>0<n>>>0?m+65536|0:m)+(l>>>16)+(k>>>0<b>>>0&1)+(i>>>0>j>>>0&1)|0;c[d>>2]=i;a=a+1|0}while((a|0)!=0);return b|0}function bl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=c[d>>2]|0;a:do if(f>>>0<2){g=(e|0)>0;if((f|0)==1){if(g){f=0;while(1){c[a+(f<<2)>>2]=c[b+(f<<2)>>2];f=f+1|0;if((f|0)==(e|0)){f=0;break a}}}}else if(g){Yq(a|0,0,e<<2|0)|0;f=0;break}c[a+(e<<2)>>2]=0;return}else f=$k(a,b,e,f)|0;while(0);c[a+(e<<2)>>2]=f;if((e|0)>1){h=1;g=a}else return;do{g=g+4|0;f=c[d+(h<<2)>>2]|0;if(f>>>0<2)if((f|0)==1)f=Wk(g,g,b,e)|0;else f=0;else f=Fn(g,b,e,f)|0;c[g+(e<<2)>>2]=f;h=h+1|0}while((h|0)!=(e|0));return}function cl(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;if(e&1|0){g=e+-1|0;if((e|0)<17)bl(a,b,d,g);else cl(a,b,d,g,f);f=a+(g<<2)|0;c[a+(g<<1<<2)>>2]=Fn(f,b,g,c[d+(g<<2)>>2]|0)|0;c[a+(g+e<<2)>>2]=Fn(f,d,e,c[b+(g<<2)>>2]|0)|0;return}o=e>>1;n=(o|0)<16;g=a+(e<<2)|0;j=b+(o<<2)|0;m=d+(o<<2)|0;if(n){bl(g,j,m,o);i=o}else{cl(g,j,m,o,f);i=o}while(1){if((i|0)<=0){i=12;break}i=i+-1|0;k=c[j+(i<<2)>>2]|0;l=c[b+(i<<2)>>2]|0;if((k|0)!=(l|0)){i=11;break}}if((i|0)==11)if(k>>>0>l>>>0)i=12;else{hl(a,b,j,o)|0;j=1}if((i|0)==12){hl(a,j,b,o)|0;j=0}i=o;while(1){if((i|0)<=0){i=18;break}i=i+-1|0;k=c[m+(i<<2)>>2]|0;l=c[d+(i<<2)>>2]|0;if((k|0)!=(l|0)){i=17;break}}if((i|0)==17)if(k>>>0>l>>>0)i=18;else{l=a+(o<<2)|0;hl(l,d,m,o)|0;k=j}if((i|0)==18){l=a+(o<<2)|0;hl(l,m,d,o)|0;k=j^1}if(n){bl(f,a,l,o);if((o|0)>0)i=23;else j=0}else{cl(f,a,l,o,f+(e<<2)|0);i=23}if((i|0)==23){j=a+(o<<2)|0;i=0;do{c[j+(i<<2)>>2]=c[g+(i<<2)>>2];i=i+1|0}while((i|0)!=(o|0));j=1}i=Wk(g,g,g+(o<<2)|0,o)|0;if(!k)i=(Wk(l,l,f,e)|0)+i|0;else i=i-(hl(l,l,f,e)|0)|0;if(n)bl(f,b,d,o);else cl(f,b,d,o,f+(e<<2)|0);i=(Wk(l,l,f,e)|0)+i|0;a:do if(i|0?(h=a+(o<<2)+(e<<2)|0,d=c[h>>2]|0,b=d+i|0,c[h>>2]=b,b>>>0<d>>>0):0){i=o;do{h=h+4|0;i=i+-1|0;if(!i)break a;d=(c[h>>2]|0)+1|0;c[h>>2]=d}while(!(d|0))}while(0);if(j){h=0;do{c[a+(h<<2)>>2]=c[f+(h<<2)>>2];h=h+1|0}while((h|0)!=(o|0))}if(!(Wk(l,l,f+(o<<2)|0,o)|0))return;f=c[g>>2]|0;c[g>>2]=f+1;if((f|0)!=-1)return;while(1){g=g+4|0;e=e+-1|0;if(!e){i=41;break}f=(c[g>>2]|0)+1|0;c[g>>2]=f;if(f|0){i=41;break}}if((i|0)==41)return}function dl(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=g+4|0;h=c[x>>2]|0;if(h){if((c[g+12>>2]|0)<(f|0)){ol(h,c[g+8>>2]|0);w=4}}else w=4;if((w|0)==4){h=f<<1;c[g+8>>2]=h;if(!(af(b)|0))i=(af(e)|0)!=0;else i=1;h=ml(h,i&1)|0;c[x>>2]=h;c[g+12>>2]=f}k=(f|0)<16;if(k)bl(a,b,e,f);else cl(a,b,e,f,h);j=a+(f<<2)|0;i=b+(f<<2)|0;a=d-f|0;if((a|0)>=(f|0)){v=g+16|0;h=c[v>>2]|0;if(h){if((c[g+24>>2]|0)<(f|0)){ol(h,c[g+20>>2]|0);w=14}}else w=14;if((w|0)==14){h=f<<1;c[g+20>>2]=h;if(!(af(i)|0))b=(af(e)|0)!=0;else b=1;h=ml(h,b&1)|0;c[v>>2]=h;c[g+24>>2]=f}if(k){m=h;do{bl(m,i,e,f);r=Wk(j,j,c[v>>2]|0,f)|0;j=j+(f<<2)|0;m=c[v>>2]|0;u=m+(f<<2)|0;h=u+4|0;u=c[u>>2]|0;r=u+r|0;b=j+4|0;c[j>>2]=r;a:do if(r>>>0<u>>>0){d=f;while(1){d=d+-1|0;if(!d)break a;k=h+4|0;u=(c[h>>2]|0)+1|0;l=b+4|0;c[b>>2]=u;if(!u){h=k;b=l}else{o=d;q=k;s=l;w=21;break}}}else{o=f;q=h;s=b;w=21}while(0);if(((w|0)==21?(w=0,(s|0)!=(q|0)):0)?(t=o+-1|0,(o|0)>1):0){h=0;do{c[s+(h<<2)>>2]=c[q+(h<<2)>>2];h=h+1|0}while((h|0)!=(t|0))}i=i+(f<<2)|0;a=a-f|0}while((a|0)>=(f|0))}else{m=h;do{cl(m,i,e,f,c[x>>2]|0);s=Wk(j,j,c[v>>2]|0,f)|0;j=j+(f<<2)|0;m=c[v>>2]|0;t=m+(f<<2)|0;h=t+4|0;t=c[t>>2]|0;s=t+s|0;b=j+4|0;c[j>>2]=s;b:do if(s>>>0<t>>>0){d=f;while(1){d=d+-1|0;if(!d)break b;k=h+4|0;t=(c[h>>2]|0)+1|0;l=b+4|0;c[b>>2]=t;if(!t){h=k;b=l}else{n=d;p=k;r=l;w=28;break}}}else{n=f;p=h;r=b;w=28}while(0);if(((w|0)==28?(w=0,(r|0)!=(p|0)):0)?(u=n+-1|0,(n|0)>1):0){h=0;do{c[r+(h<<2)>>2]=c[p+(h<<2)>>2];h=h+1|0}while((h|0)!=(u|0))}i=i+(f<<2)|0;a=a-f|0}while((a|0)>=(f|0))}}if(!a)return;if((a|0)<16)el(c[x>>2]|0,e,f,i,a)|0;else{h=c[g>>2]|0;if(!h){h=kf(1,28)|0;c[g>>2]=h}dl(c[x>>2]|0,e,f,i,a,h)}i=Wk(j,j,c[x>>2]|0,f)|0;e=j+(f<<2)|0;x=(c[x>>2]|0)+(f<<2)|0;h=x+4|0;x=c[x>>2]|0;f=x+i|0;i=e+4|0;c[e>>2]=f;c:do if(f>>>0<x>>>0){while(1){a=a+-1|0;if(!a)break;b=h+4|0;x=(c[h>>2]|0)+1|0;j=i+4|0;c[i>>2]=x;if(!x){h=b;i=j}else{i=j;break c}}return}else b=h;while(0);if((i|0)==(b|0))return;j=a+-1|0;if((a|0)>1)h=0;else return;do{c[i+(h<<2)>>2]=c[b+(h<<2)>>2];h=h+1|0}while((h|0)!=(j|0));return}function el(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=l;l=l+32|0;if((l|0)>=(m|0))$(32);g=j;i=a+(d<<2)|0;if((f|0)>=16){c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;dl(a,b,d,e,f,g);fl(g);f=c[i+(f<<2)+-4>>2]|0;l=j;return f|0}if(!f){f=0;l=j;return f|0}h=c[e>>2]|0;do if(h>>>0<2){g=(d|0)>0;if((h|0)==1){if(g)g=0;else{g=0;break}do{c[a+(g<<2)>>2]=c[b+(g<<2)>>2];g=g+1|0}while((g|0)!=(d|0));g=0}else{if(!g){g=0;break}Yq(a|0,0,d<<2|0)|0;g=0;break}}else g=$k(a,b,d,h)|0;while(0);c[i>>2]=g;if((f|0)>1)h=1;else{f=g;l=j;return f|0}do{a=a+4|0;g=c[e+(h<<2)>>2]|0;if(g>>>0<2)if((g|0)==1)g=Wk(a,a,b,d)|0;else g=0;else g=Fn(a,b,d,g)|0;c[a+(d<<2)>>2]=g;h=h+1|0}while((h|0)!=(f|0));l=j;return g|0}function fl(a){a=a|0;var b=0,d=0;b=c[a+16>>2]|0;if(b|0)ol(b,c[a+20>>2]|0);b=c[a+4>>2]|0;if(b|0)ol(b,c[a+8>>2]|0);b=c[a>>2]|0;if(!b)return;do{d=b;b=c[b>>2]|0;a=c[d+16>>2]|0;if(a|0)ol(a,c[d+20>>2]|0);a=c[d+4>>2]|0;if(a|0)ol(a,c[d+8>>2]|0);cf(d)}while((b|0)!=0);return}function gl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=a+-4|0;h=32-e|0;a=c[b>>2]|0;j=a<<h;if((d|0)>1){f=a;g=1;while(1){a=c[b+(g<<2)>>2]|0;c[i+(g<<2)>>2]=a<<h|f>>>e;g=g+1|0;if((g|0)==(d|0))break;else f=a}}else d=1;c[i+(d<<2)>>2]=a>>>e;return j|0}function hl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;g=b+(e<<2)|0;f=d+(e<<2)|0;a=a+(e<<2)|0;b=0-e|0;d=0;do{i=c[g+(b<<2)>>2]|0;h=(c[f+(b<<2)>>2]|0)+d|0;e=i-h|0;d=(e>>>0>i>>>0&1)+(h>>>0<d>>>0&1)|0;c[a+(b<<2)>>2]=e;b=b+1|0}while((b|0)!=0);return d|0}function il(){return 45905}function jl(){var a=0,b=0;a=gf(20)|0;b=gf(4)|0;c[a+16>>2]=b;c[a>>2]=1;c[b>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[17636]=a;c[a+12>>2]=48;a=gf(20)|0;b=gf(4)|0;c[a+16>>2]=b;c[a>>2]=1;c[b>>2]=1;c[a+4>>2]=1;c[a+8>>2]=0;c[17637]=a;c[a+12>>2]=48;a=gf(20)|0;b=gf(4)|0;c[a+16>>2]=b;c[a>>2]=1;c[b>>2]=2;c[a+4>>2]=1;c[a+8>>2]=0;c[17638]=a;c[a+12>>2]=48;a=gf(20)|0;b=gf(4)|0;c[a+16>>2]=b;c[a>>2]=1;c[b>>2]=3;c[a+4>>2]=1;c[a+8>>2]=0;c[17639]=a;c[a+12>>2]=48;a=gf(20)|0;b=gf(4)|0;c[a+16>>2]=b;c[a>>2]=1;c[b>>2]=4;c[a+4>>2]=1;c[a+8>>2]=0;c[17640]=a;c[a+12>>2]=48;a=gf(20)|0;b=gf(4)|0;c[a+16>>2]=b;c[a>>2]=1;c[b>>2]=8;c[a+4>>2]=1;c[a+8>>2]=0;c[17641]=a;c[a+12>>2]=48;return 0}function kl(a){a=a|0;var b=0,d=0;b=gf(20)|0;d=gf(4)|0;c[b+16>>2]=d;c[b>>2]=1;c[b+12>>2]=0;c[d>>2]=a;c[b+4>>2]=(a|0)!=0&1;c[b+8>>2]=0;return b|0}function ll(a){a=a|0;var b=0,d=0;b=gf(20)|0;if(!a)d=0;else d=gf(a<<2)|0;c[b+16>>2]=d;c[b>>2]=a;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;return b|0}function ml(a,b){a=a|0;b=b|0;var d=0;d=(a|0)!=0;a=d?a<<2:4;if(!b)a=gf(a)|0;else a=jf(a)|0;if(d)return a|0;c[a>>2]=0;return a|0}function nl(a){a=a|0;var b=0,d=0;b=gf(20)|0;if(!a)d=0;else d=jf(a<<2)|0;c[b+16>>2]=d;c[b>>2]=a;c[b+12>>2]=1;c[b+4>>2]=0;c[b+8>>2]=0;return b|0}function ol(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;if(!b)return;e=d<<2;if(e|0){if(!(b&7))d=b;else{d=b;do{a[d>>0]=0;d=d+1|0;e=e+-1|0}while((e|0)!=0&(d&7|0)!=0)}if(e>>>0>=8){h=e+-8|0;i=h&-8;g=i+8|0;f=d;while(1){j=f;c[j>>2]=0;c[j+4>>2]=0;e=e+-8|0;if(e>>>0<=7)break;else f=f+8|0}d=d+g|0;e=h-i|0}if(e|0)while(1){a[d>>0]=0;e=e+-1|0;if(!e)break;else d=d+1|0}}cf(b);return}function pl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=b+16|0;l=c[k>>2]|0;if(!l){c[k>>2]=d;c[b>>2]=e;return}g=c[b>>2]<<2;if(g|0){if(!(l&7))f=l;else{f=l;do{a[f>>0]=0;f=f+1|0;g=g+-1|0}while((g|0)!=0&(f&7|0)!=0)}if(g>>>0>=8){i=g+-8|0;j=i&-8;h=f;while(1){m=h;c[m>>2]=0;c[m+4>>2]=0;g=g+-8|0;if(g>>>0<=7)break;else h=h+8|0}f=f+(j+8)|0;g=i-j|0}if(g|0)while(1){a[f>>0]=0;g=g+-1|0;if(!g)break;else f=f+1|0}}cf(l);c[k>>2]=d;c[b>>2]=e;return}function ql(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=c[a>>2]|0;if(e>>>0>=b>>>0){d=c[a+4>>2]|0;if(d>>>0>=e>>>0)return;e=c[a+16>>2]|0;do{c[e+(d<<2)>>2]=0;d=d+1|0}while(d>>>0<(c[a>>2]|0)>>>0);return}e=a+16|0;d=c[e>>2]|0;do if(!d)if(!(c[a+12>>2]&1)){c[e>>2]=kf(b,4)|0;break}else{c[e>>2]=lf(b,4)|0;break}else{g=b<<2;f=hf(d,g)|0;c[e>>2]=f;d=c[a>>2]|0;if(d>>>0<b>>>0)Yq(f+(d<<2)|0,0,g-(d<<2)|0)|0}while(0);c[a>>2]=b;return}function rl(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;if((l|0)>=(m|0))$(16);d=e;b=a+12|0;if(a|0?c[b>>2]&16|0:0){Je(46049,d);l=e;return}c[a+4>>2]=0;c[b>>2]=0;l=e;return}function sl(){var a=0;a=l;l=l+16|0;if((l|0)>=(m|0))$(16);Je(46049,a);l=a;return}function tl(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0;n=l;l=l+16|0;if((l|0)>=(m|0))$(16);k=n;if(!b){l=n;return}i=b+12|0;d=c[i>>2]|0;if(d&32|0){l=n;return}j=c[b+16>>2]|0;if(!(d&4)){if(j|0){e=c[b>>2]<<2;if(e|0){if(!(j&7))d=j;else{d=j;do{a[d>>0]=0;d=d+1|0;e=e+-1|0}while((e|0)!=0&(d&7|0)!=0)}if(e>>>0>=8){g=e+-8|0;h=g&-8;f=d;while(1){o=f;c[o>>2]=0;c[o+4>>2]=0;e=e+-8|0;if(e>>>0<=7)break;else f=f+8|0}d=d+(h+8)|0;e=g-h|0}if(e|0)while(1){a[d>>0]=0;e=e+-1|0;if(!e)break;else d=d+1|0}}cf(j)}}else cf(j);if(c[i>>2]&-3864|0)Ne(46093,k);cf(b);l=n;return}function ul(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0;p=l;l=l+16|0;if((l|0)>=(m|0))$(16);g=p;if(!b){b=gf(20)|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;if(!b){o=0;f=c[3]|0}else h=4}else h=4;if((h|0)==4){f=c[b+12>>2]|0;if(!(f&16))o=b;else{Je(46049,g);d=b;l=p;return d|0}}n=o+12|0;j=o+16|0;k=c[j>>2]|0;if(!(f&4)){if(k|0){f=c[o>>2]<<2;if(f|0){if(!(k&7))b=k;else{b=k;do{a[b>>0]=0;b=b+1|0;f=f+-1|0}while((f|0)!=0&(b&7|0)!=0)}if(f>>>0>=8){h=f+-8|0;i=h&-8;g=b;while(1){q=g;c[q>>2]=0;c[q+4>>2]=0;f=f+-8|0;if(f>>>0<=7)break;else g=g+8|0}b=b+(i+8)|0;f=h-i|0}if(f|0)while(1){a[b>>0]=0;f=f+-1|0;if(!f)break;else b=b+1|0}}cf(k)}}else cf(k);c[j>>2]=d;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=e;b=c[n>>2]&3840;c[n>>2]=b|4;if(!(af(d)|0)){q=o;l=p;return q|0}c[n>>2]=b|5;q=o;l=p;return q|0}function vl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=(c+7|0)>>>3;if(!(af(b)|0))e=_e(d)|0;else e=$e(d)|0;if(!e){e=0;return e|0}cr(e|0,b|0,d|0)|0;e=ul(a,e,c)|0;return e|0}function wl(a,b){a=a|0;b=b|0;var d=0;d=l;l=l+16|0;if((l|0)>=(m|0))$(16);if(!(c[a+12>>2]&4))Ne(46125,d);if(b|0)c[b>>2]=c[a+8>>2];l=d;return c[a+16>>2]|0}function xl(a,b){a=a|0;b=b|0;var d=0,e=0;e=l;l=l+16|0;if((l|0)>=(m|0))$(16);if(!(c[a+12>>2]&4))Ne(46125,e);if(b){d=c[a+8>>2]|0;c[b>>2]=d;b=c[a+16>>2]|0;if(!b){d=0;l=e;return d|0}}else{d=0;b=c[a+16>>2]|0}a=(d+7|0)>>>3;if(!(af(b)|0))d=_e(a)|0;else d=$e(a)|0;if(!d){d=0;l=e;return d|0}cr(d|0,b|0,a|0)|0;l=e;return d|0}function yl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;if(!a){a=0;return a|0}k=a+12|0;e=c[k>>2]|0;if(e&4|0){f=a+16|0;k=(af(c[f>>2]|0)|0)==0;d=a+8|0;b=((c[d>>2]|0)+7|0)/8|0;if(k)e=gf(b)|0;else e=jf(b)|0;b=c[f>>2]|0;if(!b)b=c[d>>2]|0;else{a=c[d>>2]|0;cr(e|0,b|0,(a+7|0)/8|0|0)|0;b=a}a=ul(0,e,b)|0;k=a+12|0;c[k>>2]=c[k>>2]&-49;return a|0}j=a+4|0;g=c[j>>2]|0;b=gf(20)|0;f=(g|0)==0;d=g<<2;if(!(e&1)){if(f)d=0;else d=gf(d)|0;c[b+16>>2]=d;c[b>>2]=g;e=b+4|0;c[e>>2]=0;g=b+8|0;c[g>>2]=0;h=b+12|0;c[h>>2]=0;i=d}else{if(f)d=0;else d=jf(d)|0;c[b+16>>2]=d;c[b>>2]=g;h=b+12|0;c[h>>2]=1;e=b+4|0;c[e>>2]=0;g=b+8|0;c[g>>2]=0;i=d}f=c[j>>2]|0;c[e>>2]=f;c[g>>2]=c[a+8>>2];c[h>>2]=c[k>>2]&-49;if((f|0)<=0){a=b;return a|0}e=c[a+16>>2]|0;d=0;do{c[i+(d<<2)>>2]=c[e+(d<<2)>>2];d=d+1|0}while((d|0)<(f|0));return b|0}function zl(a,b){a=a|0;b=b|0;var d=0,e=0;e=l;l=l+16|0;if((l|0)>=(m|0))$(16);d=e;if((a|0)==(b|0)){if(a|0?c[a+12>>2]&16|0:0){Je(46049,d);l=e;return}}else Al(a,b)|0;c[a+8>>2]=(c[b+8>>2]|0)==0&1;l=e;return}function Al(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;if((l|0)>=(m|0))$(16);e=k;i=c[b+4>>2]|0;j=c[b+8>>2]|0;if(!a){a=gf(20)|0;if(!i)d=0;else d=gf(i<<2)|0;c[a+16>>2]=d;c[a>>2]=i;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0}h=a+12|0;f=c[h>>2]|0;if(f&16|0){Je(46049,e);l=k;return a|0}e=c[a>>2]|0;a:do if((e|0)<(i|0)){if(e>>>0>=i>>>0){d=c[a+4>>2]|0;if(d>>>0>=e>>>0)break;e=c[a+16>>2]|0;while(1){c[e+(d<<2)>>2]=0;d=d+1|0;if(d>>>0>=(c[a>>2]|0)>>>0)break a}}g=a+16|0;d=c[g>>2]|0;do if(!d)if(!(f&1)){c[g>>2]=kf(i,4)|0;break}else{c[g>>2]=lf(i,4)|0;break}else{f=i<<2;e=hf(d,f)|0;c[g>>2]=e;d=c[a>>2]|0;if(d>>>0<i>>>0)Yq(e+(d<<2)|0,0,f-(d<<2)|0)|0}while(0);c[a>>2]=i}while(0);e=c[a+16>>2]|0;f=c[b+16>>2]|0;if((i|0)>0){d=0;do{c[e+(d<<2)>>2]=c[f+(d<<2)>>2];d=d+1|0}while((d|0)!=(i|0))}c[a+4>>2]=i;c[h>>2]=c[b+12>>2]&-49;c[a+8>>2]=j;l=k;return a|0}function Bl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if(!a){g=0;return g|0}g=a+12|0;d=c[g>>2]|0;if(d&4|0){d=a+8|0;e=((c[d>>2]|0)+7|0)/8|0;a=a+16|0;if(!(af(c[a>>2]|0)|0))b=_e(e)|0;else b=$e(e)|0;cr(b|0,c[a>>2]|0,e|0)|0;g=ul(0,b,c[d>>2]|0)|0;return g|0}e=c[a+4>>2]|0;f=gf(20)|0;b=(e|0)==0;a=e<<2;if(!(d&1)){if(b)a=0;else a=gf(a)|0;c[f+16>>2]=a;c[f>>2]=e;a=f+4|0;c[a>>2]=0;b=f+8|0;c[b>>2]=0;d=f+12|0;c[d>>2]=0}else{if(b)a=0;else a=jf(a)|0;c[f+16>>2]=a;c[f>>2]=e;d=f+12|0;c[d>>2]=1;a=f+4|0;c[a>>2]=0;b=f+8|0;c[b>>2]=0}c[a>>2]=0;c[b>>2]=0;c[d>>2]=c[g>>2];g=f;return g|0}function Cl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0;q=l;l=l+16|0;if((l|0)>=(m|0))$(16);e=q;if(b|0){p=b+12|0;if(c[p>>2]&16|0){Je(46049,e);l=q;return}k=d+16|0;n=c[k>>2]|0;o=c[d>>2]|0;i=b+16|0;j=c[i>>2]|0;if(j|0){f=c[b>>2]<<2;if(f|0){if(!(j&7))e=j;else{e=j;do{a[e>>0]=0;e=e+1|0;f=f+-1|0}while((f|0)!=0&(e&7|0)!=0)}if(f>>>0>=8){h=f+-8|0;g=e;while(1){r=g;c[r>>2]=0;c[r+4>>2]=0;f=f+-8|0;if(f>>>0<=7)break;else g=g+8|0}f=h&-8;e=e+(f+8)|0;f=h-f|0}if(f|0)while(1){a[e>>0]=0;f=f+-1|0;if(!f)break;else e=e+1|0}}cf(j)}c[i>>2]=n;c[b>>2]=o;r=d+4|0;c[b+4>>2]=c[r>>2];c[b+8>>2]=c[d+8>>2];c[p>>2]=c[d+12>>2];c[d>>2]=0;c[r>>2]=0;c[k>>2]=0}tl(d);l=q;return}function Dl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;if((l|0)>=(m|0))$(16);g=c[b>>2]|0;e=(d|0)!=0;if((c[a>>2]|0)!=(g|0))Ne(46155,i);if((g|0)>0?(h=c[a+16>>2]|0,f=c[b+16>>2]|0,e):0){d=0;do{c[h+(d<<2)>>2]=c[f+(d<<2)>>2];d=d+1|0}while((d|0)!=(g|0))}h=a+4|0;g=c[h>>2]|0;c[h>>2]=(e?c[b+4>>2]^g:0)^g;h=a+8|0;g=c[h>>2]|0;c[h>>2]=(e?c[b+8>>2]^g:0)^g;l=i;return a|0}function El(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;if((l|0)>=(m|0))$(16);d=f;if(!a){a=gf(20)|0;c[a+16>>2]=gf(4)|0;c[a>>2]=1;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;if(!a)a=0;else e=3}else e=3;if((e|0)==3)if(c[a+12>>2]&16){Je(46049,d);b=a;l=f;return b|0}e=c[a>>2]|0;a:do if((e|0)<1){if(e|0){d=c[a+4>>2]|0;if(d>>>0>=e>>>0)break;e=c[a+16>>2]|0;while(1){c[e+(d<<2)>>2]=0;d=d+1|0;if(d>>>0>=(c[a>>2]|0)>>>0)break a}}e=a+16|0;d=c[e>>2]|0;do if(!d)if(!(c[a+12>>2]&1)){c[e>>2]=kf(1,4)|0;break}else{c[e>>2]=lf(1,4)|0;break}else{d=hf(d,4)|0;c[e>>2]=d;if(!(c[a>>2]|0))c[d>>2]=0}while(0);c[a>>2]=1}while(0);c[c[a+16>>2]>>2]=b;c[a+4>>2]=(b|0)!=0&1;c[a+8>>2]=0;c[a+12>>2]=0;b=a;l=f;return b|0}function Fl(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+32|0;if((l|0)>=(m|0))$(32);e=d;c[e>>2]=c[a>>2];c[e+4>>2]=c[a+4>>2];c[e+8>>2]=c[a+8>>2];c[e+12>>2]=c[a+12>>2];c[e+16>>2]=c[a+16>>2];c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];c[a+16>>2]=c[b+16>>2];c[b>>2]=c[e>>2];c[b+4>>2]=c[e+4>>2];c[b+8>>2]=c[e+8>>2];c[b+12>>2]=c[e+12>>2];c[b+16>>2]=c[e+16>>2];l=d;return}function Gl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0;i=l;l=l+16|0;if((l|0)>=(m|0))$(16);g=c[a>>2]|0;e=(d|0)!=0;if((g|0)!=(c[b>>2]|0))Ne(46186,i);if((g|0)>0?(h=c[a+16>>2]|0,f=c[b+16>>2]|0,e):0){d=0;do{n=h+(d<<2)|0;j=f+(d<<2)|0;o=c[j>>2]|0;k=o^c[n>>2];c[n>>2]=o;c[j>>2]=c[j>>2]^k;d=d+1|0}while((d|0)!=(g|0))}o=a+4|0;n=c[o>>2]|0;k=b+4|0;j=e?c[k>>2]^n:0;c[o>>2]=j^n;c[k>>2]=c[k>>2]^j;k=a+8|0;j=c[k>>2]|0;o=b+8|0;n=e?c[o>>2]^j:0;c[k>>2]=n^j;c[o>>2]=c[o>>2]^n;l=i;return}function Hl(a){a=a|0;var b=0,d=0;a=(a+31|0)>>>5;b=gf(20)|0;if(!a)d=0;else d=gf(a<<2)|0;c[b+16>>2]=d;c[b>>2]=a;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;return b|0}function Il(a){a=a|0;var b=0,d=0;a=(a+31|0)>>>5;b=gf(20)|0;if(!a)d=0;else d=jf(a<<2)|0;c[b+16>>2]=d;c[b>>2]=a;c[b+12>>2]=1;c[b+4>>2]=0;c[b+8>>2]=0;return b|0}function Jl(a){a=a|0;tl(a);return}function Kl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;if((l|0)>=(m|0))$(16);e=g;f=(b+7|0)>>>3;b=(a|0)!=0;if(b?c[a+12>>2]&16|0:0){Je(46049,e);l=g;return}do if(!d){if(b?(c[a+12>>2]&1|0)!=0:0)b=jf(f)|0;else b=gf(f)|0;Hj(b,f)}else{if(b?c[a+12>>2]&1|0:0){b=Cj(f,d)|0;break}b=Aj(f,d)|0}while(0);Rk(a,b,f,0);cf(b);l=g;return}function Ll(a,b){a=a|0;b=b|0;var d=0,e=0;e=l;l=l+16|0;if((l|0)>=(m|0))$(16);switch(b|0){case 1:{d=c[a+12>>2]&1;break}case 2:{d=(c[a+12>>2]|0)>>>2&1;break}case 4:{d=(c[a+12>>2]|0)>>>4&1;break}case 8:{d=(c[a+12>>2]|0)>>>5&1;break}case 2048:case 1024:case 512:case 256:{d=(c[a+12>>2]&b|0)!=0&1;break}default:Ne(46218,e)}l=e;return d|0}function Ml(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;if((l|0)>=(m|0))$(16);b=d;if((a|0)<0|a>>>0>6){c[b>>2]=a;Ne(46238,b)}a=c[70544+(a<<2)>>2]|0;if(!a)Ne(46269,d+8|0);else{l=d;return a|0}return 0}function Nl(){return 46300}function Ol(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0;o=l;l=l+64|0;if((l|0)>=(m|0))$(64);k=o;n=Oq(172)|0;if(!n){n=0;l=o;return n|0}c[n>>2]=1779033703;c[n+4>>2]=-1150833019;c[n+8>>2]=1013904242;c[n+12>>2]=-1521486534;c[n+16>>2]=1359893119;c[n+20>>2]=-1694144372;c[n+24>>2]=528734635;c[n+28>>2]=1541459225;c[n+32>>2]=0;c[n+36>>2]=0;i=n+40|0;a[i>>0]=0;if(!b){l=o;return n|0}g=k;h=g+64|0;do{a[g>>0]=0;g=g+1|0}while((g|0)<(h|0));j=n+105|0;g=j;h=g+64|0;do{a[g>>0]=0;g=g+1|0}while((g|0)<(h|0));do if(e>>>0<65){cr(k|0,b|0,e|0)|0;cr(j|0,b|0,e|0)|0;b=0}else{f=Oq(172)|0;if(f|0){c[f>>2]=1779033703;c[f+4>>2]=-1150833019;c[f+8>>2]=1013904242;c[f+12>>2]=-1521486534;c[f+16>>2]=1359893119;c[f+20>>2]=-1694144372;c[f+24>>2]=528734635;c[f+28>>2]=1541459225;c[f+32>>2]=0;c[f+36>>2]=0;a[f+40>>0]=0;Pl(f,b,e);Ql(f);b=f+41|0;g=k;e=b;h=g+32|0;do{a[g>>0]=a[e>>0]|0;g=g+1|0;e=e+1|0}while((g|0)<(h|0));g=j;e=b;h=g+32|0;do{a[g>>0]=a[e>>0]|0;g=g+1|0;e=e+1|0}while((g|0)<(h|0));Rl(f);b=0;break}Pq(n);n=0;l=o;return n|0}while(0);do{h=k+b|0;a[h>>0]=(d[h>>0]|0)^54;h=j+b|0;a[h>>0]=(d[h>>0]|0)^92;b=b+1|0}while((b|0)!=64);a[i>>0]=a[i>>0]|2;Pl(n,k,64);a[k>>0]=0;a[k+1>>0]=0;a[k+2>>0]=0;a[k+3>>0]=0;a[k+4>>0]=0;a[k+5>>0]=0;a[k+6>>0]=0;a[k+7>>0]=0;a[k+8>>0]=0;a[k+9>>0]=0;a[k+10>>0]=0;a[k+11>>0]=0;a[k+12>>0]=0;a[k+13>>0]=0;a[k+14>>0]=0;a[k+15>>0]=0;a[k+16>>0]=0;a[k+17>>0]=0;a[k+18>>0]=0;a[k+19>>0]=0;a[k+20>>0]=0;a[k+21>>0]=0;a[k+22>>0]=0;a[k+23>>0]=0;a[k+24>>0]=0;a[k+25>>0]=0;a[k+26>>0]=0;a[k+27>>0]=0;a[k+28>>0]=0;a[k+29>>0]=0;a[k+30>>0]=0;a[k+31>>0]=0;a[k+32>>0]=0;a[k+33>>0]=0;a[k+34>>0]=0;a[k+35>>0]=0;a[k+36>>0]=0;a[k+37>>0]=0;a[k+38>>0]=0;a[k+39>>0]=0;a[k+40>>0]=0;a[k+41>>0]=0;a[k+42>>0]=0;a[k+43>>0]=0;a[k+44>>0]=0;a[k+45>>0]=0;a[k+46>>0]=0;a[k+47>>0]=0;a[k+48>>0]=0;a[k+49>>0]=0;a[k+50>>0]=0;a[k+51>>0]=0;a[k+52>>0]=0;a[k+53>>0]=0;a[k+54>>0]=0;a[k+55>>0]=0;a[k+56>>0]=0;a[k+57>>0]=0;a[k+58>>0]=0;a[k+59>>0]=0;a[k+60>>0]=0;a[k+61>>0]=0;a[k+62>>0]=0;a[k+63>>0]=0;l=o;return n|0}function Pl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;g=b+40|0;if(a[g>>0]&1)return;k=b+36|0;f=c[k>>2]|0;if((f|0)==64){Sl(b,b+41|0);c[k>>2]=0;f=b+32|0;c[f>>2]=(c[f>>2]|0)+1;f=0}if(!d)return;a:do if(!f)f=0;else{b:do if(e|0){if((f|0)<64)do{j=a[d>>0]|0;c[k>>2]=f+1;a[b+41+f>>0]=j;e=e+-1|0;if(!e)break b;d=d+1|0;f=c[k>>2]|0}while((f|0)<64);if(!((f|0)==64&(a[g>>0]&1)==0))break a;Sl(b,b+41|0);c[k>>2]=0;f=b+32|0;c[f>>2]=(c[f>>2]|0)+1;f=0;break a}while(0);if(a[g>>0]&1)return;if((c[k>>2]|0)!=64)return;Sl(b,b+41|0);c[k>>2]=0;k=b+32|0;c[k>>2]=(c[k>>2]|0)+1;return}while(0);if(e>>>0>63){g=b+32|0;i=e+-64|0;j=i&-64;h=j+64|0;f=d;while(1){Sl(b,f);c[k>>2]=0;c[g>>2]=(c[g>>2]|0)+1;e=e+-64|0;if(e>>>0<=63)break;else f=f+64|0}d=d+h|0;e=i-j|0;f=0}if(!((e|0)!=0&(f|0)<64))return;while(1){j=a[d>>0]|0;c[k>>2]=f+1;a[b+41+f>>0]=j;e=e+-1|0;if(!e){f=22;break}f=c[k>>2]|0;if((f|0)>=64){f=22;break}else d=d+1|0}if((f|0)==22)return}function Ql(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=b+40|0;if(a[m>>0]&1)return;k=b+36|0;d=c[k>>2]|0;if((d|0)==64){Sl(b,b+41|0);c[k>>2]=0;f=b+32|0;e=(c[f>>2]|0)+1|0;c[f>>2]=e;d=0}else{e=b+32|0;f=e;e=c[e>>2]|0}g=e<<6;l=g+d|0;g=(l>>>0<g>>>0&1)+(e>>>26)|0;h=l<<3;i=g<<3|l>>>29;c[k>>2]=d+1;j=b+41|0;a[b+41+d>>0]=-128;e=c[k>>2]|0;if((d|0)<56){if((e|0)<56){d=e;do{c[k>>2]=d+1;a[b+41+d>>0]=0;d=c[k>>2]|0}while((d|0)<56)}}else{if((e|0)<64){d=e;do{c[k>>2]=d+1;a[b+41+d>>0]=0;d=c[k>>2]|0}while((d|0)<64)}else d=e;if((d|0)==64&(a[m>>0]&1)==0){Sl(b,b+41|0);c[k>>2]=0;c[f>>2]=(c[f>>2]|0)+1}d=j;e=d+56|0;do{a[d>>0]=0;d=d+1|0}while((d|0)<(e|0))}a[b+97>>0]=0;a[b+98>>0]=0;a[b+99>>0]=g>>>5;a[b+100>>0]=i;a[b+101>>0]=l>>>21;a[b+102>>0]=l>>>13;a[b+103>>0]=l>>>5;a[b+104>>0]=h;Sl(b,j);l=c[b>>2]|0;a[j>>0]=l>>>24;a[b+42>>0]=l>>>16;a[b+43>>0]=l>>>8;a[b+44>>0]=l;l=c[b+4>>2]|0;a[b+45>>0]=l>>>24;a[b+46>>0]=l>>>16;a[b+47>>0]=l>>>8;a[b+48>>0]=l;l=c[b+8>>2]|0;a[b+49>>0]=l>>>24;a[b+50>>0]=l>>>16;a[b+51>>0]=l>>>8;a[b+52>>0]=l;l=c[b+12>>2]|0;a[b+53>>0]=l>>>24;a[b+54>>0]=l>>>16;a[b+55>>0]=l>>>8;a[b+56>>0]=l;l=c[b+16>>2]|0;a[b+57>>0]=l>>>24;a[b+58>>0]=l>>>16;a[b+59>>0]=l>>>8;a[b+60>>0]=l;l=c[b+20>>2]|0;a[b+61>>0]=l>>>24;a[b+62>>0]=l>>>16;a[b+63>>0]=l>>>8;a[b+64>>0]=l;l=c[b+24>>2]|0;a[b+65>>0]=l>>>24;a[b+66>>0]=l>>>16;a[b+67>>0]=l>>>8;a[b+68>>0]=l;l=c[b+28>>2]|0;a[b+69>>0]=l>>>24;a[b+70>>0]=l>>>16;a[b+71>>0]=l>>>8;a[b+72>>0]=l;a[m>>0]=a[m>>0]|1;return}function Rl(b){b=b|0;if(!b)return;if(a[b+40>>0]&2){a[b+105>>0]=0;a[b+106>>0]=0;a[b+107>>0]=0;a[b+108>>0]=0;a[b+109>>0]=0;a[b+110>>0]=0;a[b+111>>0]=0;a[b+112>>0]=0;a[b+113>>0]=0;a[b+114>>0]=0;a[b+115>>0]=0;a[b+116>>0]=0;a[b+117>>0]=0;a[b+118>>0]=0;a[b+119>>0]=0;a[b+120>>0]=0;a[b+121>>0]=0;a[b+122>>0]=0;a[b+123>>0]=0;a[b+124>>0]=0;a[b+125>>0]=0;a[b+126>>0]=0;a[b+127>>0]=0;a[b+128>>0]=0;a[b+129>>0]=0;a[b+130>>0]=0;a[b+131>>0]=0;a[b+132>>0]=0;a[b+133>>0]=0;a[b+134>>0]=0;a[b+135>>0]=0;a[b+136>>0]=0;a[b+137>>0]=0;a[b+138>>0]=0;a[b+139>>0]=0;a[b+140>>0]=0;a[b+141>>0]=0;a[b+142>>0]=0;a[b+143>>0]=0;a[b+144>>0]=0;a[b+145>>0]=0;a[b+146>>0]=0;a[b+147>>0]=0;a[b+148>>0]=0;a[b+149>>0]=0;a[b+150>>0]=0;a[b+151>>0]=0;a[b+152>>0]=0;a[b+153>>0]=0;a[b+154>>0]=0;a[b+155>>0]=0;a[b+156>>0]=0;a[b+157>>0]=0;a[b+158>>0]=0;a[b+159>>0]=0;a[b+160>>0]=0;a[b+161>>0]=0;a[b+162>>0]=0;a[b+163>>0]=0;a[b+164>>0]=0;a[b+165>>0]=0;a[b+166>>0]=0;a[b+167>>0]=0;a[b+168>>0]=0}Pq(b);return}function Sl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;y=l;l=l+320|0;if((l|0)>=(m|0))$(320);e=y+256|0;u=y;j=c[b>>2]|0;v=b+4|0;f=c[v>>2]|0;w=b+8|0;h=c[w>>2]|0;x=b+12|0;p=c[x>>2]|0;q=b+16|0;i=c[q>>2]|0;r=b+20|0;k=c[r>>2]|0;s=b+24|0;o=c[s>>2]|0;t=b+28|0;n=c[t>>2]|0;a[e+3>>0]=a[d>>0]|0;a[e+2>>0]=a[d+1>>0]|0;a[e+1>>0]=a[d+2>>0]|0;a[e>>0]=a[d+3>>0]|0;g=e+4|0;a[g+3>>0]=a[d+4>>0]|0;a[g+2>>0]=a[d+5>>0]|0;a[g+1>>0]=a[d+6>>0]|0;a[g>>0]=a[d+7>>0]|0;g=e+8|0;a[g+3>>0]=a[d+8>>0]|0;a[g+2>>0]=a[d+9>>0]|0;a[g+1>>0]=a[d+10>>0]|0;a[g>>0]=a[d+11>>0]|0;g=e+12|0;a[g+3>>0]=a[d+12>>0]|0;a[g+2>>0]=a[d+13>>0]|0;a[g+1>>0]=a[d+14>>0]|0;a[g>>0]=a[d+15>>0]|0;g=e+16|0;a[g+3>>0]=a[d+16>>0]|0;a[g+2>>0]=a[d+17>>0]|0;a[g+1>>0]=a[d+18>>0]|0;a[g>>0]=a[d+19>>0]|0;g=e+20|0;a[g+3>>0]=a[d+20>>0]|0;a[g+2>>0]=a[d+21>>0]|0;a[g+1>>0]=a[d+22>>0]|0;a[g>>0]=a[d+23>>0]|0;g=e+24|0;a[g+3>>0]=a[d+24>>0]|0;a[g+2>>0]=a[d+25>>0]|0;a[g+1>>0]=a[d+26>>0]|0;a[g>>0]=a[d+27>>0]|0;g=e+28|0;a[g+3>>0]=a[d+28>>0]|0;a[g+2>>0]=a[d+29>>0]|0;a[g+1>>0]=a[d+30>>0]|0;a[g>>0]=a[d+31>>0]|0;g=e+32|0;a[g+3>>0]=a[d+32>>0]|0;a[g+2>>0]=a[d+33>>0]|0;a[g+1>>0]=a[d+34>>0]|0;a[g>>0]=a[d+35>>0]|0;g=e+36|0;a[g+3>>0]=a[d+36>>0]|0;a[g+2>>0]=a[d+37>>0]|0;a[g+1>>0]=a[d+38>>0]|0;a[g>>0]=a[d+39>>0]|0;g=e+40|0;a[g+3>>0]=a[d+40>>0]|0;a[g+2>>0]=a[d+41>>0]|0;a[g+1>>0]=a[d+42>>0]|0;a[g>>0]=a[d+43>>0]|0;g=e+44|0;a[g+3>>0]=a[d+44>>0]|0;a[g+2>>0]=a[d+45>>0]|0;a[g+1>>0]=a[d+46>>0]|0;a[g>>0]=a[d+47>>0]|0;g=e+48|0;a[g+3>>0]=a[d+48>>0]|0;a[g+2>>0]=a[d+49>>0]|0;a[g+1>>0]=a[d+50>>0]|0;a[g>>0]=a[d+51>>0]|0;g=e+52|0;a[g+3>>0]=a[d+52>>0]|0;a[g+2>>0]=a[d+53>>0]|0;a[g+1>>0]=a[d+54>>0]|0;a[g>>0]=a[d+55>>0]|0;g=e+56|0;a[g+3>>0]=a[d+56>>0]|0;a[g+2>>0]=a[d+57>>0]|0;a[g+1>>0]=a[d+58>>0]|0;a[g>>0]=a[d+59>>0]|0;g=e+60|0;a[g+3>>0]=a[d+60>>0]|0;a[g+2>>0]=a[d+61>>0]|0;a[g+1>>0]=a[d+62>>0]|0;a[g>>0]=a[d+63>>0]|0;d=u;g=d+64|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(g|0));d=16;e=c[u>>2]|0;do{g=c[u+(d+-2<<2)>>2]|0;z=e;e=c[u+(d+-15<<2)>>2]|0;c[u+(d<<2)>>2]=z+(c[u+(d+-7<<2)>>2]|0)+((g<<13|g>>>19)^g>>>10^(g<<15|g>>>17))+((e<<14|e>>>18)^e>>>3^(e<<25|e>>>7));d=d+1|0}while((d|0)!=64);e=n;n=o;d=p;g=0;while(1){e=((i<<26|i>>>6)^(i<<21|i>>>11)^(i<<7|i>>>25))+e+((n^k)&i^n)+(c[12216+(g<<2)>>2]|0)+(c[u+(g<<2)>>2]|0)|0;d=e+d|0;e=((j<<30|j>>>2)^(j<<19|j>>>13)^(j<<10|j>>>22))+((j|f)&h|j&f)+e|0;g=g+1|0;if((g|0)==64)break;else{C=j;B=f;A=h;o=i;p=k;z=n;j=e;i=d;f=C;h=B;d=A;k=o;n=p;e=z}}c[b>>2]=(c[b>>2]|0)+e;c[v>>2]=(c[v>>2]|0)+j;c[w>>2]=(c[w>>2]|0)+f;c[x>>2]=(c[x>>2]|0)+h;c[q>>2]=(c[q>>2]|0)+d;c[r>>2]=(c[r>>2]|0)+i;c[s>>2]=(c[s>>2]|0)+k;c[t>>2]=(c[t>>2]|0)+n;l=y;return}function Tl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;Ql(b);do if(a[b+40>>0]&2){e=Oq(172)|0;if(e|0){c[e>>2]=1779033703;c[e+4>>2]=-1150833019;c[e+8>>2]=1013904242;c[e+12>>2]=-1521486534;c[e+16>>2]=1359893119;c[e+20>>2]=-1694144372;c[e+24>>2]=528734635;c[e+28>>2]=1541459225;c[e+32>>2]=0;c[e+36>>2]=0;a[e+40>>0]=0;Pl(e,b+105|0,64);f=b+41|0;Pl(e,f,32);Ql(e);g=e+41|0;h=f+32|0;do{a[f>>0]=a[g>>0]|0;f=f+1|0;g=g+1|0}while((f|0)<(h|0));Rl(e);break}Pq(b);h=0;return h|0}while(0);if(d|0)c[d>>2]=32;h=b+41|0;return h|0}function Ul(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0;pa=l;l=l+16|0;if((l|0)>=(m|0))$(16);na=pa;oa=b+12|0;if((c[(c[oa>>2]|0)+20>>2]|0)!=16){oa=139;l=pa;return oa|0}if((h+8|0)>>>0>f>>>0){oa=200;l=pa;return oa|0}if(h&7|0){oa=45;l=pa;return oa|0}la=h>>>3;if(h>>>0<16){oa=45;l=pa;return oa|0}ma=b+80|0;if(!(a[b+56>>0]&2)){ka=e;ja=ka;a[ja>>0]=-1499027802;a[ja+1>>0]=-1499027802>>8;a[ja+2>>0]=-1499027802>>16;a[ja+3>>0]=-1499027802>>24;ka=ka+4|0;a[ka>>0]=-1499027802;a[ka+1>>0]=-1499027802>>8;a[ka+2>>0]=-1499027802>>16;a[ka+3>>0]=-1499027802>>24;ka=e}else{ja=b+64|0;ha=ja;ha=d[ha>>0]|d[ha+1>>0]<<8|d[ha+2>>0]<<16|d[ha+3>>0]<<24;ja=ja+4|0;ja=d[ja>>0]|d[ja+1>>0]<<8|d[ja+2>>0]<<16|d[ja+3>>0]<<24;ka=e;ia=ka;a[ia>>0]=ha;a[ia+1>>0]=ha>>8;a[ia+2>>0]=ha>>16;a[ia+3>>0]=ha>>24;ka=ka+4|0;a[ka>>0]=ja;a[ka+1>>0]=ja>>8;a[ka+2>>0]=ja>>16;a[ka+3>>0]=ja>>24;ka=e}dr(e+8|0,g|0,h|0)|0;ia=na;c[ia>>2]=0;c[ia+4>>2]=0;ia=(la|0)==0;ja=b+88|0;z=b+496|0;A=((ma|e)&3|0)==0;B=ma+4|0;C=na+4|0;D=e+4|0;E=ma+1|0;F=na+7|0;G=na+6|0;H=na+5|0;I=na+4|0;J=na+3|0;K=na+2|0;L=na+1|0;M=e+1|0;N=ma+2|0;O=e+2|0;P=ma+3|0;Q=e+3|0;R=ma+4|0;S=e+4|0;T=ma+5|0;U=na+5|0;V=e+5|0;W=ma+6|0;X=na+6|0;Y=e+6|0;Z=ma+7|0;_=na+7|0;aa=e+7|0;ba=na+7|0;ca=na+6|0;da=na+5|0;ea=na+4|0;fa=na+3|0;ga=na+2|0;ha=na+1|0;o=0;y=0;j=0;s=0;r=0;q=0;n=0;k=0;v=0;f=0;g=0;h=0;t=0;i=0;b=0;p=0;while(1){if(!ia)if(A){t=1;k=s;do{w=ka;x=w;x=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;w=w+4|0;w=d[w>>0]|d[w+1>>0]<<8|d[w+2>>0]<<16|d[w+3>>0]<<24;n=ma;u=n;a[u>>0]=x;a[u+1>>0]=x>>8;a[u+2>>0]=x>>16;a[u+3>>0]=x>>24;n=n+4|0;a[n>>0]=w;a[n+1>>0]=w>>8;a[n+2>>0]=w>>16;a[n+3>>0]=w>>24;n=e+(t<<3)|0;w=n;u=w;u=d[u>>0]|d[u+1>>0]<<8|d[u+2>>0]<<16|d[u+3>>0]<<24;w=w+4|0;w=d[w>>0]|d[w+1>>0]<<8|d[w+2>>0]<<16|d[w+3>>0]<<24;x=ja;v=x;a[v>>0]=u;a[v+1>>0]=u>>8;a[v+2>>0]=u>>16;a[v+3>>0]=u>>24;x=x+4|0;a[x>>0]=w;a[x+1>>0]=w>>8;a[x+2>>0]=w>>16;a[x+3>>0]=w>>24;x=pb[c[(c[oa>>2]|0)+36>>2]&63](z,ma,ma)|0;o=x>>>0>o>>>0?x:o;p=p+1<<24>>24;a[ba>>0]=p;if(!(p<<24>>24)){b=q+1<<24>>24;a[ca>>0]=b;if(!(b<<24>>24)){b=r+1<<24>>24;a[da>>0]=b;if(!(b<<24>>24)){x=k+1<<24>>24;a[ea>>0]=x;if(!(x<<24>>24)){h=h+1<<24>>24;a[fa>>0]=h;if(!(h<<24>>24)){g=g+1<<24>>24;a[ga>>0]=g;if(!(g<<24>>24)){f=f+1<<24>>24;a[ha>>0]=f;if(!(f<<24>>24)){a[na>>0]=j+1<<24>>24;r=0;q=0;f=0;g=0;h=0;i=0;b=0}else{r=0;q=0;g=0;h=0;i=0;b=0}}else{r=0;q=0;h=0;i=0;b=0}}else{r=0;q=0;i=0;b=0}}else{r=0;q=0;i=0;b=0}}else{r=b;q=0;i=b;b=0}}else q=b}j=c[na>>2]|0;c[e>>2]=j^c[ma>>2];k=c[C>>2]|0;c[D>>2]=k^c[B>>2];w=ja;u=w;u=d[u>>0]|d[u+1>>0]<<8|d[u+2>>0]<<16|d[u+3>>0]<<24;w=w+4|0;w=d[w>>0]|d[w+1>>0]<<8|d[w+2>>0]<<16|d[w+3>>0]<<24;x=n;v=x;a[v>>0]=u;a[v+1>>0]=u>>8;a[v+2>>0]=u>>16;a[v+3>>0]=u>>24;x=x+4|0;a[x>>0]=w;a[x+1>>0]=w>>8;a[x+2>>0]=w>>16;a[x+3>>0]=w>>24;t=t+1|0;k=k&255;j=j&255}while(t>>>0<=la>>>0);x=j;s=k;u=k;w=j;v=j;t=k}else{w=1;while(1){qa=ka;x=qa;x=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;qa=qa+4|0;qa=d[qa>>0]|d[qa+1>>0]<<8|d[qa+2>>0]<<16|d[qa+3>>0]<<24;u=ma;sa=u;a[sa>>0]=x;a[sa+1>>0]=x>>8;a[sa+2>>0]=x>>16;a[sa+3>>0]=x>>24;u=u+4|0;a[u>>0]=qa;a[u+1>>0]=qa>>8;a[u+2>>0]=qa>>16;a[u+3>>0]=qa>>24;u=e+(w<<3)|0;qa=u;sa=qa;sa=d[sa>>0]|d[sa+1>>0]<<8|d[sa+2>>0]<<16|d[sa+3>>0]<<24;qa=qa+4|0;qa=d[qa>>0]|d[qa+1>>0]<<8|d[qa+2>>0]<<16|d[qa+3>>0]<<24;x=ja;ra=x;a[ra>>0]=sa;a[ra+1>>0]=sa>>8;a[ra+2>>0]=sa>>16;a[ra+3>>0]=sa>>24;x=x+4|0;a[x>>0]=qa;a[x+1>>0]=qa>>8;a[x+2>>0]=qa>>16;a[x+3>>0]=qa>>24;x=pb[c[(c[oa>>2]|0)+36>>2]&63](z,ma,ma)|0;o=x>>>0>o>>>0?x:o;p=p+1<<24>>24;a[F>>0]=p;if(!(p<<24>>24)){b=b+1<<24>>24;a[G>>0]=b;if(!(b<<24>>24)){b=i+1<<24>>24;a[H>>0]=b;if(!(b<<24>>24)){b=t+1<<24>>24;a[I>>0]=b;if(!(b<<24>>24)){h=h+1<<24>>24;a[J>>0]=h;if(!(h<<24>>24)){g=g+1<<24>>24;a[K>>0]=g;if(!(g<<24>>24)){f=f+1<<24>>24;a[L>>0]=f;if(!(f<<24>>24)){j=v+1<<24>>24;a[na>>0]=j;k=j;f=0;g=0;h=0;n=0;s=0;r=0;q=0;i=0;b=0}else{g=0;h=0;n=0;s=0;r=0;q=0;i=0;b=0}}else{h=0;n=0;s=0;r=0;q=0;i=0;b=0}}else{n=0;s=0;r=0;q=0;i=0;b=0}}else{n=b;s=b;r=0;q=0;i=0;b=0}}else{r=b;q=0;i=b;b=0}}else q=b}a[e>>0]=k^a[ma>>0];a[M>>0]=f^a[E>>0];a[O>>0]=g^a[N>>0];a[Q>>0]=h^a[P>>0];a[S>>0]=n^a[R>>0];a[V>>0]=a[U>>0]^a[T>>0];a[Y>>0]=a[X>>0]^a[W>>0];a[aa>>0]=a[_>>0]^a[Z>>0];ra=ja;x=ra;x=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;ra=ra+4|0;ra=d[ra>>0]|d[ra+1>>0]<<8|d[ra+2>>0]<<16|d[ra+3>>0]<<24;sa=u;qa=sa;a[qa>>0]=x;a[qa+1>>0]=x>>8;a[qa+2>>0]=x>>16;a[qa+3>>0]=x>>24;sa=sa+4|0;a[sa>>0]=ra;a[sa+1>>0]=ra>>8;a[sa+2>>0]=ra>>16;a[sa+3>>0]=ra>>24;w=w+1|0;if(w>>>0>la>>>0){x=j;u=n;w=k;v=k;t=n;break}else{t=n;v=k}}}else{x=j;u=n;w=k}y=y+1|0;if((y|0)==6)break;else{j=x;n=u;k=w}}if(!o){sa=0;l=pa;return sa|0}Te(o+16|0);sa=0;l=pa;return sa|0}function Vl(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0;la=l;l=l+16|0;if((l|0)>=(m|0))$(16);ja=la;ka=b+12|0;if((c[(c[ka>>2]|0)+20>>2]|0)!=16){ka=139;l=la;return ka|0}if((f+8|0)>>>0<h>>>0){ka=200;l=la;return ka|0}if(h>>>0<24|(h&7|0)!=0){ka=45;l=la;return ka|0}ha=b+96|0;ia=b+80|0;p=g;B=p;B=d[B>>0]|d[B+1>>0]<<8|d[B+2>>0]<<16|d[B+3>>0]<<24;p=p+4|0;p=d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24;A=ha;q=A;a[q>>0]=B;a[q+1>>0]=B>>8;a[q+2>>0]=B>>16;a[q+3>>0]=B>>24;A=A+4|0;a[A>>0]=p;a[A+1>>0]=p>>8;a[A+2>>0]=p>>16;a[A+3>>0]=p>>24;dr(e|0,g+8|0,h+-8|0)|0;A=(h>>>3)+-1|0;p=A*6|0;q=p&255;B=ja+7|0;a[B>>0]=q;o=p>>>8&255;C=ja+6|0;a[C>>0]=o;i=p>>>16&255;D=ja+5|0;a[D>>0]=i;p=p>>>24&255;E=ja+4|0;a[E>>0]=p;c[ja>>2]=0;F=(A|0)==0;G=((ha|ia)&3|0)==0;H=b+100|0;I=ia+4|0;J=b+88|0;K=b+496|0;L=ja+3|0;M=ja+2|0;N=ja+1|0;O=b+97|0;P=ia+1|0;Q=b+98|0;R=ia+2|0;S=b+99|0;T=ia+3|0;U=b+100|0;V=ia+4|0;W=b+101|0;X=ja+5|0;Y=ia+5|0;Z=b+102|0;_=ja+6|0;aa=ia+6|0;ba=b+103|0;ca=ja+7|0;da=ia+7|0;ea=ja+3|0;fa=ja+2|0;ga=ja+1|0;f=0;z=5;s=0;h=p;j=0;k=0;n=0;g=0;while(1){if(!F)if(G){x=A;g=q;q=o;p=i;s=j;t=k;u=n;while(1){h=c[ja>>2]|0;c[ia>>2]=h^c[ha>>2];y=c[E>>2]|0;c[I>>2]=y^c[H>>2];v=e+((x<<3)+-8)|0;w=v;n=w;n=d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24;w=w+4|0;w=d[w>>0]|d[w+1>>0]<<8|d[w+2>>0]<<16|d[w+3>>0]<<24;r=J;o=r;a[o>>0]=n;a[o+1>>0]=n>>8;a[o+2>>0]=n>>16;a[o+3>>0]=n>>24;r=r+4|0;a[r>>0]=w;a[r+1>>0]=w>>8;a[r+2>>0]=w>>16;a[r+3>>0]=w>>24;r=pb[c[(c[ka>>2]|0)+40>>2]&63](K,ia,ia)|0;r=r>>>0>f>>>0?r:f;w=g+-1<<24>>24;a[B>>0]=w;h=h&255;f=y&255;if(!(g<<24>>24)){o=q+-1<<24>>24;a[C>>0]=o;if(!(q<<24>>24)){i=p+-1<<24>>24;a[D>>0]=i;if(!(p<<24>>24)){g=f+-1<<24>>24;a[E>>0]=g;if(!(f<<24>>24)){j=s+-1<<24>>24;a[L>>0]=j;if(!(s<<24>>24)){k=t+-1<<24>>24;a[M>>0]=k;if(!(t<<24>>24)){n=u+-1<<24>>24;a[N>>0]=n;if(!(u<<24>>24)){h=h+-1<<24>>24;a[ja>>0]=h;f=g}else f=g}else{f=g;n=u}}else{f=g;k=t;n=u}}else{f=g;j=s;k=t;n=u}}else{j=s;k=t;n=u}}else{i=p;j=s;k=t;n=u}}else{i=p;o=q;j=s;k=t;n=u}t=ia;s=t;s=d[s>>0]|d[s+1>>0]<<8|d[s+2>>0]<<16|d[s+3>>0]<<24;t=t+4|0;t=d[t>>0]|d[t+1>>0]<<8|d[t+2>>0]<<16|d[t+3>>0]<<24;u=ha;y=u;a[y>>0]=s;a[y+1>>0]=s>>8;a[y+2>>0]=s>>16;a[y+3>>0]=s>>24;u=u+4|0;a[u>>0]=t;a[u+1>>0]=t>>8;a[u+2>>0]=t>>16;a[u+3>>0]=t>>24;u=J;t=u;t=d[t>>0]|d[t+1>>0]<<8|d[t+2>>0]<<16|d[t+3>>0]<<24;u=u+4|0;u=d[u>>0]|d[u+1>>0]<<8|d[u+2>>0]<<16|d[u+3>>0]<<24;y=v;v=y;a[v>>0]=t;a[v+1>>0]=t>>8;a[v+2>>0]=t>>16;a[v+3>>0]=t>>24;y=y+4|0;a[y>>0]=u;a[y+1>>0]=u>>8;a[y+2>>0]=u>>16;a[y+3>>0]=u>>24;x=x+-1|0;if(!x){s=h;u=f;q=w;p=f;g=h;break}else{f=r;g=w;q=o;p=i;s=j;t=k;u=n}}}else{y=A;x=g;g=q;while(1){a[ia>>0]=x^a[ha>>0];a[P>>0]=n^a[O>>0];a[R>>0]=k^a[Q>>0];a[T>>0]=j^a[S>>0];a[V>>0]=p^a[U>>0];a[Y>>0]=a[X>>0]^a[W>>0];a[aa>>0]=a[_>>0]^a[Z>>0];a[da>>0]=a[ca>>0]^a[ba>>0];v=e+((y<<3)+-8)|0;w=v;r=w;r=d[r>>0]|d[r+1>>0]<<8|d[r+2>>0]<<16|d[r+3>>0]<<24;w=w+4|0;w=d[w>>0]|d[w+1>>0]<<8|d[w+2>>0]<<16|d[w+3>>0]<<24;u=J;t=u;a[t>>0]=r;a[t+1>>0]=r>>8;a[t+2>>0]=r>>16;a[t+3>>0]=r>>24;u=u+4|0;a[u>>0]=w;a[u+1>>0]=w>>8;a[u+2>>0]=w>>16;a[u+3>>0]=w>>24;u=pb[c[(c[ka>>2]|0)+40>>2]&63](K,ia,ia)|0;u=u>>>0>f>>>0?u:f;w=g+-1<<24>>24;a[B>>0]=w;if(!(g<<24>>24)){t=o+-1<<24>>24;a[C>>0]=t;if(!(o<<24>>24)){f=i+-1<<24>>24;a[D>>0]=f;if(!(i<<24>>24)){g=h+-1<<24>>24;a[E>>0]=g;if(!(h<<24>>24)){p=j+-1<<24>>24;a[ea>>0]=p;if(!(j<<24>>24)){q=k+-1<<24>>24;a[fa>>0]=q;if(!(k<<24>>24)){r=n+-1<<24>>24;a[ga>>0]=r;if(!(n<<24>>24)){x=s+-1<<24>>24;a[ja>>0]=x;s=x;h=g;i=f;o=t;t=g;j=p;k=q;n=r;g=x}else{h=g;i=f;o=t;t=g;j=p;k=q;n=r;g=x}}else{h=g;i=f;o=t;t=g;j=p;k=q;g=x}}else{h=g;i=f;o=t;t=g;j=p;g=x}}else{h=g;i=f;o=t;t=g;g=x}}else{i=f;o=t;t=p;g=x}}else{o=t;t=p;g=x}}else{t=p;g=x}q=ia;p=q;p=d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24;q=q+4|0;q=d[q>>0]|d[q+1>>0]<<8|d[q+2>>0]<<16|d[q+3>>0]<<24;r=ha;x=r;a[x>>0]=p;a[x+1>>0]=p>>8;a[x+2>>0]=p>>16;a[x+3>>0]=p>>24;r=r+4|0;a[r>>0]=q;a[r+1>>0]=q>>8;a[r+2>>0]=q>>16;a[r+3>>0]=q>>24;r=J;q=r;q=d[q>>0]|d[q+1>>0]<<8|d[q+2>>0]<<16|d[q+3>>0]<<24;r=r+4|0;r=d[r>>0]|d[r+1>>0]<<8|d[r+2>>0]<<16|d[r+3>>0]<<24;x=v;v=x;a[v>>0]=q;a[v+1>>0]=q>>8;a[v+2>>0]=q>>16;a[v+3>>0]=q>>24;x=x+4|0;a[x>>0]=r;a[x+1>>0]=r>>8;a[x+2>>0]=r>>16;a[x+3>>0]=r>>24;y=y+-1|0;if(!y){r=u;u=h;q=w;p=t;break}else{f=u;x=g;p=t;g=w}}}else{r=f;u=h}if((z|0)>0){f=r;z=z+-1|0;h=u}else break}if(!(a[b+56>>0]&2))if(((((((a[ha>>0]|0)==-90?(a[b+97>>0]|0)==-90:0)?(a[b+98>>0]|0)==-90:0)?(a[b+99>>0]|0)==-90:0)?(a[H>>0]|0)==-90:0)?(a[b+101>>0]|0)==-90:0)?(a[b+102>>0]|0)==-90:0)f=(a[b+103>>0]|0)!=-90&1;else f=1;else f=Tp(ha,b+64|0,8)|0;if(r|0)Te(r+16|0);ka=f|0?10:0;l=la;return ka|0}function Wl(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=c[b+12>>2]|0;h=c[w+20>>2]|0;w=c[w+36>>2]|0;j=(g>>>0)/(h>>>0)|0;t=b+52|0;i=c[t>>2]|0;k=i&8;if((k|0?h:g)>>>0>e>>>0){w=200;return w|0}u=(g>>>0)%(h>>>0)|0;v=(u|0)==0;if(!v){e=i&4;if(h>>>0>=g>>>0|(e|0)==0){w=139;return w|0}}else e=i&4;s=h>>>0<g>>>0;r=((v&(s&(e|0)!=0))<<31>>31)+j|0;e=c[b+28>>2]|0;if(!e){g=b+64|0;if(r){q=h+-4|0;p=q&-4;o=p+4|0;p=q-p|0;q=b+496|0;if(h>>>0>3){e=0;i=g;n=0;while(1){if(!((f|i|d)&3)){m=i+o|0;j=f;k=d;l=h;while(1){c[k>>2]=c[i>>2]^c[j>>2];l=l+-4|0;if(l>>>0<=3)break;else{i=i+4|0;j=j+4|0;k=k+4|0}}i=m;k=f+o|0;l=d+o|0;j=p}else{k=f;l=d;j=h}if(j|0)while(1){a[l>>0]=a[i>>0]^a[k>>0];j=j+-1|0;if(!j)break;else{i=i+1|0;k=k+1|0;l=l+1|0}}i=pb[w&63](q,d,d)|0;e=i>>>0>e>>>0?i:e;f=f+h|0;i=c[t>>2]|0;j=(i&8|0)==0?d+h|0:d;n=n+1|0;if(n>>>0>=r>>>0){p=j;o=f;break}else{i=d;d=j}}}else{n=(h|0)==0;e=0;i=g;m=0;while(1){if(!n){j=f;k=d;l=h;while(1){a[k>>0]=a[i>>0]^a[j>>0];l=l+-1|0;if(!l)break;else{i=i+1|0;j=j+1|0;k=k+1|0}}}k=pb[w&63](q,d,d)|0;e=k>>>0>e>>>0?k:e;k=f+h|0;i=c[t>>2]|0;j=(i&8|0)==0?d+h|0:d;m=m+1|0;if(m>>>0>=r>>>0){p=j;o=k;break}else{i=d;d=j;f=k}}}if((d|0)!=(g|0)){if(!((d|g)&3))if(h>>>0>3){l=h+-4|0;f=l&-4;n=f+4|0;m=d+n|0;j=g;k=h;while(1){c[j>>2]=c[d>>2];k=k+-4|0;if(k>>>0<=3)break;else{d=d+4|0;j=j+4|0}}j=l-f|0;d=m;g=g+n|0}else j=h;else j=h;if(j){i=j;while(1){a[g>>0]=a[d>>0]|0;i=i+-1|0;if(!i)break;else{d=d+1|0;g=g+1|0}}f=o;g=p;i=c[t>>2]|0}else{f=o;g=p}}else{f=o;g=p}}else{e=0;g=d}}else{xb[e&1](b+496|0,b+64|0,d,f,r,k);g=S(r,h)|0;i=c[t>>2]|0;e=0;f=f+g|0;g=(i&8|0)==0?d+g|0:d}if(s&(i&4|0)!=0){j=v?h:u;g=g+(0-h)|0;i=b+64|0;if(!j){j=0;d=i}else{l=j+64|0;d=0;k=i;while(1){u=a[f+d>>0]|0;v=g+d|0;a[g+(d+h)>>0]=a[v>>0]|0;a[v>>0]=a[k>>0]^u;d=d+1|0;if((d|0)==(j|0))break;else k=k+1|0}d=b+l|0}if(j>>>0<h>>>0)while(1){a[g+j>>0]=a[d>>0]|0;j=j+1|0;if((j|0)==(h|0))break;else d=d+1|0}w=pb[w&63](b+496|0,g,g)|0;e=w>>>0>e>>>0?w:e;if(!((g|i)&3))if(h>>>0>3){j=h+-4|0;k=j&-4;f=k+4|0;l=g+f|0;d=i;while(1){c[d>>2]=c[g>>2];h=h+-4|0;if(h>>>0<=3)break;else{g=g+4|0;d=d+4|0}}h=j-k|0;g=l;i=i+f|0}if(h)while(1){a[i>>0]=a[g>>0]|0;h=h+-1|0;if(!h)break;else{g=g+1|0;i=i+1|0}}}if(!e){w=0;return w|0}Te(e+16|0);w=0;return w|0}function Xl(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=c[b+12>>2]|0;j=c[F+20>>2]|0;F=c[F+40>>2]|0;i=(g>>>0)/(j>>>0)|0;if(e>>>0<g>>>0){b=200;return b|0}D=(g>>>0)%(j>>>0)|0;E=(D|0)==0;if(!E){if(j>>>0>=g>>>0){b=139;return b|0}e=b+52|0;h=c[e>>2]|0;if(!(h&4)){b=139;return b|0}else C=e}else{h=b+52|0;C=h;h=c[h>>2]|0}B=j>>>0<g>>>0;if(B&(h&4|0)!=0){i=(E?-2:-1)+i|0;h=b+96|0;g=b+64|0;if(!((g|h)&3))if(j>>>0>3){k=j+-4|0;l=k&-4;n=l+4|0;m=g+n|0;e=j;while(1){c[h>>2]=c[g>>2];e=e+-4|0;if(e>>>0<=3)break;else{g=g+4|0;h=h+4|0}}e=k-l|0;g=m;h=b+96+n|0}else e=j;else e=j;if(e)while(1){a[h>>0]=a[g>>0]|0;e=e+-1|0;if(!e)break;else{g=g+1|0;h=h+1|0}}}e=c[b+32>>2]|0;do if(!e)if(!i){e=0;q=f}else{w=b+496|0;x=b+96|0;y=b+64|0;r=y|x;z=j+-4|0;t=z&-4;s=t+4|0;u=b+96+s|0;v=y+s|0;t=z-t|0;z=S(i,j)|0;A=f+z|0;if(j>>>0>3){e=0;p=d;q=0;o=f}else{q=(j|0)==0;e=0;o=d;p=0;h=f;while(1){f=pb[F&63](w,x,h)|0;e=f>>>0>e>>>0?f:e;if(!q){g=o;k=y;l=h;m=x;n=j;while(1){f=a[l>>0]|0;a[g>>0]=a[m>>0]^a[k>>0];a[k>>0]=f;n=n+-1|0;if(!n)break;else{g=g+1|0;k=k+1|0;l=l+1|0;m=m+1|0}}}p=p+1|0;if((p|0)==(i|0))break;else{o=o+j|0;h=h+j|0}}d=d+z|0;q=A;break}while(1){f=pb[F&63](w,x,o)|0;e=f>>>0>e>>>0?f:e;if(!((r|o|p)&3)){n=o+s|0;h=x;g=o;k=y;l=p;m=j;while(1){f=c[g>>2]|0;c[l>>2]=c[h>>2]^c[k>>2];c[k>>2]=f;m=m+-4|0;if(m>>>0<=3)break;else{h=h+4|0;g=g+4|0;k=k+4|0;l=l+4|0}}g=p+s|0;l=v;m=n;k=u;h=t}else{g=p;l=y;m=o;k=x;h=j}if(h|0)while(1){f=a[m>>0]|0;a[g>>0]=a[k>>0]^a[l>>0];a[l>>0]=f;h=h+-1|0;if(!h)break;else{g=g+1|0;l=l+1|0;m=m+1|0;k=k+1|0}}q=q+1|0;if((q|0)==(i|0))break;else{p=p+j|0;o=o+j|0}}d=d+z|0;q=A}else{qb[e&15](b+496|0,b+64|0,d,f,i);q=S(i,j)|0;e=0;d=d+q|0;q=f+q|0}while(0);if(B&(c[C>>2]&4|0)!=0){t=E?j:D;h=b+96|0;u=b+64|0;v=h;p=u;if(!((p|v)&3))if(j>>>0>3){m=j+-4|0;n=m&-4;o=n+4|0;i=u+o|0;g=u;k=h;l=j;while(1){c[k>>2]=c[g>>2];l=l+-4|0;if(l>>>0<=3)break;else{g=g+4|0;k=k+4|0}}g=m-n|0;k=b+96+o|0}else{g=j;i=u;k=h}else{i=u;k=h;g=j}if(g|0)while(1){a[k>>0]=a[i>>0]|0;g=g+-1|0;if(!g)break;else{i=i+1|0;k=k+1|0}}i=q+j|0;if(!((i|p)&3))if(t>>>0>3){l=t+-4|0;m=l&-4;o=m+4|0;n=i+o|0;g=u;k=t;while(1){c[g>>2]=c[i>>2];k=k+-4|0;if(k>>>0<=3)break;else{i=i+4|0;g=g+4|0}}g=l-m|0;i=n;k=u+o|0}else{g=t;k=u}else{k=u;g=t}if(g|0)while(1){a[k>>0]=a[i>>0]|0;g=g+-1|0;if(!g)break;else{i=i+1|0;k=k+1|0}}s=b+496|0;q=pb[F&63](s,d,q)|0;q=q>>>0>e>>>0?q:e;r=d;if(!((r|p)&3))if(t>>>0>3){l=t+-4|0;m=l&-4;n=m+4|0;g=d+n|0;e=u;i=d;k=t;while(1){c[i>>2]=c[e>>2]^c[i>>2];k=k+-4|0;if(k>>>0<=3)break;else{e=e+4|0;i=i+4|0}}l=l-m|0;e=u+n|0}else{l=t;e=u;g=d}else{e=u;g=d;l=t}if(l|0){k=g;i=g;g=l;while(1){a[i>>0]=a[e>>0]^a[k>>0];g=g+-1|0;if(!g)break;else{e=e+1|0;k=k+1|0;i=i+1|0}}}g=d+j|0;if(!((g|r)&3))if(t>>>0>3){m=t+-4|0;n=m&-4;o=n+4|0;i=d+o|0;e=d;k=g;l=t;while(1){c[k>>2]=c[e>>2];l=l+-4|0;if(l>>>0<=3)break;else{e=e+4|0;k=k+4|0}}e=m-n|0;g=g+o|0}else{e=t;i=d}else{i=d;e=t}if(e|0)while(1){a[g>>0]=a[i>>0]|0;e=e+-1|0;if(!e)break;else{i=i+1|0;g=g+1|0}}if(t>>>0<j>>>0){e=t;do{a[u+e>>0]=a[d+e>>0]|0;e=e+1|0}while((e|0)!=(j|0))}e=pb[F&63](s,d,u)|0;e=e>>>0>q>>>0?e:q;if(!((r|v)&3))if(j>>>0>3){g=j+-4|0;i=g&-4;k=i+4|0;l=d+k|0;while(1){c[d>>2]=c[h>>2]^c[d>>2];j=j+-4|0;if(j>>>0<=3)break;else{h=h+4|0;d=d+4|0}}j=g-i|0;h=b+96+k|0;d=l}if(j){i=d;g=d;d=j;while(1){a[g>>0]=a[h>>0]^a[i>>0];d=d+-1|0;if(!d)break;else{h=h+1|0;i=i+1|0;g=g+1|0}}}}if(!e){b=0;return b|0}Te(e+16|0);b=0;return b|0}function Yl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;h=15-e|0;if(!d){k=45;return k|0}if((h+-2|0)>>>0>6){k=139;return k|0}Yq(b+128|0,0,368)|0;c[b+56>>2]=0;i=b+64|0;f=b+80|0;g=h+255&255;j=i;k=j+52|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(k|0));a[f>>0]=g;cr(f+1|0,d|0,e|0)|0;k=e+1|0;Yq(f+k|0,0,h|0)|0;a[i>>0]=g;cr(i+1|0,d|0,e|0)|0;Yq(i+k|0,0,h|0)|0;k=b+184|0;a[k>>0]=a[k>>0]|1;k=0;return k|0}function Zl(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0;wa=l;l=l+16|0;if((l|0)>=(m|0))$(16);sa=wa;ta=c[(c[b+12>>2]|0)+36>>2]|0;va=b+164|0;g=c[va>>2]|0;if(!e)if((f|0)!=0&(g|0)!=0)e=0;else{va=0;l=wa;return va|0}n=(f|0)==0;o=b+148|0;p=b+64|0;q=p;r=((q|o)&3|0)==0;s=p+4|0;t=b+152|0;u=b+72|0;v=b+156|0;w=b+76|0;x=b+160|0;y=b+496|0;z=b+28|0;A=(sa&7|0)==0;B=p+1|0;C=b+149|0;D=p+2|0;E=b+150|0;F=p+3|0;G=b+151|0;H=p+4|0;I=b+152|0;J=p+5|0;K=b+153|0;L=p+6|0;M=b+154|0;N=p+7|0;O=b+155|0;P=b+72|0;Q=b+156|0;R=b+73|0;S=b+157|0;T=b+74|0;U=b+158|0;V=b+75|0;W=b+159|0;X=b+76|0;Y=b+160|0;Z=b+77|0;_=b+161|0;aa=b+78|0;ba=b+162|0;ca=b+79|0;da=b+163|0;ea=p+1|0;fa=p+2|0;ga=p+3|0;ha=p+4|0;ia=p+5|0;ja=p+6|0;ka=p+7|0;la=b+72|0;ma=b+73|0;na=b+74|0;oa=b+75|0;pa=b+76|0;qa=b+77|0;ra=b+78|0;k=b+79|0;f=d;b=e;e=0;while(1){if((g|0)!=0|(b+g|0)>>>0<16){if(g>>>0<16&(b|0)!=0)while(1){d=f+1|0;h=g+1|0;a[o+g>>0]=a[f>>0]|0;g=b+-1|0;if(h>>>0<16&(g|0)!=0){b=g;g=h;f=d}else{f=d;b=g;g=h;break}}}else g=0;if(!b){if(n)break;if(g>>>0<16){Yq(o+g|0,0,16-g|0)|0;ua=12}else ua=12}else if(g)ua=12;if((ua|0)==12){ua=0;if(r){c[p>>2]=c[o>>2]^c[p>>2];c[s>>2]=c[t>>2]^c[s>>2];c[u>>2]=c[v>>2]^c[u>>2];c[w>>2]=c[x>>2]^c[w>>2]}else{a[p>>0]=a[o>>0]^a[p>>0];a[B>>0]=a[C>>0]^a[B>>0];a[D>>0]=a[E>>0]^a[D>>0];a[F>>0]=a[G>>0]^a[F>>0];a[H>>0]=a[I>>0]^a[H>>0];a[J>>0]=a[K>>0]^a[J>>0];a[L>>0]=a[M>>0]^a[L>>0];a[N>>0]=a[O>>0]^a[N>>0];a[P>>0]=a[Q>>0]^a[P>>0];a[R>>0]=a[S>>0]^a[R>>0];a[T>>0]=a[U>>0]^a[T>>0];a[V>>0]=a[W>>0]^a[V>>0];a[X>>0]=a[Y>>0]^a[X>>0];a[Z>>0]=a[_>>0]^a[Z>>0];a[aa>>0]=a[ba>>0]^a[aa>>0];a[ca>>0]=a[da>>0]^a[ca>>0]}j=pb[ta&63](y,p,p)|0;e=e>>>0>j>>>0?e:j}g=c[z>>2]|0;if(!g)if(b>>>0>15){d=b+-16|0;h=d&-16;g=f+16|0;while(1){if(!((f|q)&3)){c[p>>2]=c[f>>2]^c[p>>2];c[s>>2]=c[f+4>>2]^c[s>>2];c[u>>2]=c[f+8>>2]^c[u>>2];c[w>>2]=c[f+12>>2]^c[w>>2]}else{a[p>>0]=a[f>>0]^a[p>>0];a[ea>>0]=a[f+1>>0]^a[ea>>0];a[fa>>0]=a[f+2>>0]^a[fa>>0];a[ga>>0]=a[f+3>>0]^a[ga>>0];a[ha>>0]=a[f+4>>0]^a[ha>>0];a[ia>>0]=a[f+5>>0]^a[ia>>0];a[ja>>0]=a[f+6>>0]^a[ja>>0];a[ka>>0]=a[f+7>>0]^a[ka>>0];a[la>>0]=a[f+8>>0]^a[la>>0];a[ma>>0]=a[f+9>>0]^a[ma>>0];a[na>>0]=a[f+10>>0]^a[na>>0];a[oa>>0]=a[f+11>>0]^a[oa>>0];a[pa>>0]=a[f+12>>0]^a[pa>>0];a[qa>>0]=a[f+13>>0]^a[qa>>0];a[ra>>0]=a[f+14>>0]^a[ra>>0];a[k>>0]=a[f+15>>0]^a[k>>0]}j=pb[ta&63](y,p,p)|0;e=e>>>0>j>>>0?e:j;b=b+-16|0;if(b>>>0<=15)break;else f=f+16|0}f=g+h|0;g=d-h|0}else g=b;else{j=b>>>4;xb[g&1](y,p,sa,f,j,1);g=j<<4;j=f+g|0;g=b-g|0;if(!A){f=16;b=sa;do{a[b>>0]=0;b=b+1|0;f=f+-1|0}while((f|0)!=0&(b&7|0)!=0);if(f>>>0>=8)ua=22}else{f=16;b=sa;ua=22}if((ua|0)==22){ua=0;d=f+-8|0;h=d&-8;i=b+8|0;while(1){xa=b;c[xa>>2]=0;c[xa+4>>2]=0;f=f+-8|0;if(f>>>0<=7)break;else b=b+8|0}f=d-h|0;b=i+h|0}if(!f)f=j;else while(1){a[b>>0]=0;f=f+-1|0;if(!f){f=j;break}else b=b+1|0}}if(!g){g=0;break}else{b=g;g=0}}c[va>>2]=g;xa=(e|0)==0?0:e+16|0;l=wa;return xa|0}function _l(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;if(e>>>0<g>>>0){g=200;return g|0}h=a[b+184>>0]|0;if(!(h&1)){g=156;return g|0}if((h&2)==0|(a[b+56>>0]&4)!=0){g=156;return g|0}j=b+136|0;if(!((c[j>>2]|0)==0&(c[j+4>>2]|0)==0)){g=156;return g|0}h=b+128|0;j=h;i=c[j>>2]|0;j=c[j+4>>2]|0;if(j>>>0<0|(j|0)==0&i>>>0<g>>>0){g=139;return g|0}j=Xq(i|0,j|0,g|0,0)|0;c[h>>2]=j;c[h+4>>2]=D;h=Zl(b,f,g,0)|0;if(h|0)Te(h+20|0);g=dm(b,d,e,f,g)|0;return g|0}function $l(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;if(e>>>0<g>>>0){g=200;return g|0}h=a[b+184>>0]|0;if(!(h&1)){g=156;return g|0}if((h&2)==0|(a[b+56>>0]&4)!=0){g=156;return g|0}i=b+136|0;if(!((c[i>>2]|0)==0&(c[i+4>>2]|0)==0)){g=156;return g|0}i=b+128|0;h=i;j=c[h+4>>2]|0;if(0>j>>>0|(0==(j|0)?g>>>0>(c[h>>2]|0)>>>0:0)){j=139;return j|0}h=dm(b,d,e,f,g)|0;if(h|0){j=h;return j|0}j=i;j=Xq(c[j>>2]|0,c[j+4>>2]|0,g|0,0)|0;h=i;c[h>>2]=j;c[h+4>>2]=D;h=Zl(b,d,g,0)|0;if(!h){j=0;return j|0}Te(h+20|0);j=0;return j|0}function am(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=c[b+12>>2]|0;t=c[u+36>>2]|0;u=c[u+20>>2]|0;s=u<<1;if(e>>>0<g>>>0){v=200;return v|0}v=b+112|0;e=c[v>>2]|0;if(e>>>0>=g>>>0){h=b+64+u+(0-e)|0;if(!((f|d|h)&3))if(g>>>0>3){l=g+-4|0;m=l&-4;o=m+4|0;n=h+o|0;k=f;i=d;j=g;while(1){u=c[h>>2]^c[k>>2];c[h>>2]=u;c[i>>2]=u;j=j+-4|0;if(j>>>0<=3)break;else{k=k+4|0;h=h+4|0;i=i+4|0}}i=l-m|0;f=f+o|0;h=n;d=d+o|0}else i=g;else i=g;if(i){e=i;while(1){u=a[h>>0]^a[f>>0];a[h>>0]=u;a[d>>0]=u;e=e+-1|0;if(!e)break;else{f=f+1|0;h=h+1|0;d=d+1|0}}e=c[v>>2]|0}c[v>>2]=e-g;v=0;return v|0}if(e){g=g-e|0;i=b+64+u+(0-e)|0;if(e>>>0>3&((f|d|i)&3|0)==0){l=e+-4|0;m=l&-4;o=m+4|0;n=i+o|0;k=f;h=d;j=e;while(1){r=c[i>>2]^c[k>>2];c[i>>2]=r;c[h>>2]=r;j=j+-4|0;if(j>>>0<=3)break;else{k=k+4|0;i=i+4|0;h=h+4|0}}j=l-m|0;if(j){k=f+o|0;i=n;h=d+o|0;e=j;p=18}}else{k=f;h=d;p=18}if((p|0)==18){while(1){r=a[i>>0]^a[k>>0];a[i>>0]=r;a[h>>0]=r;e=e+-1|0;if(!e)break;else{k=k+1|0;i=i+1|0;h=h+1|0;p=18}}e=c[v>>2]|0}c[v>>2]=0;d=d+e|0;f=f+e|0}a:do if(g>>>0<s>>>0)e=0;else{e=c[b+20>>2]|0;if(e|0){s=(g>>>0)/(u>>>0)|0;qb[e&15](b+496|0,b+64|0,d,f,s);s=S(s,u)|0;e=0;d=d+s|0;f=f+s|0;g=g-s|0;break}q=b+496|0;r=b+64|0;n=r;l=u+-4|0;m=l&-4;o=m+4|0;p=r+o|0;m=l-m|0;if(u>>>0>3)e=0;else{l=(u|0)==0;e=0;while(1){p=pb[t&63](q,r,r)|0;e=p>>>0>e>>>0?p:e;if(!l){h=f;i=r;j=d;k=u;while(1){p=a[i>>0]^a[h>>0];a[i>>0]=p;a[j>>0]=p;k=k+-1|0;if(!k)break;else{h=h+1|0;i=i+1|0;j=j+1|0}}}d=d+u|0;f=f+u|0;g=g-u|0;if(g>>>0<s>>>0)break a}}do{l=pb[t&63](q,r,r)|0;e=l>>>0>e>>>0?l:e;if(!((f|n|d)&3)){h=f+o|0;i=f;j=r;k=d;l=u;while(1){w=c[j>>2]^c[i>>2];c[j>>2]=w;c[k>>2]=w;l=l+-4|0;if(l>>>0<=3)break;else{i=i+4|0;j=j+4|0;k=k+4|0}}j=p;k=d+o|0;i=m}else{h=f;j=r;k=d;i=u}if(i|0)while(1){w=a[j>>0]^a[h>>0];a[j>>0]=w;a[k>>0]=w;i=i+-1|0;if(!i)break;else{h=h+1|0;j=j+1|0;k=k+1|0}}d=d+u|0;f=f+u|0;g=g-u|0}while(g>>>0>=s>>>0)}while(0);if(g>>>0>=u>>>0){i=b+96|0;j=b+64|0;p=j;if(!((p|i)&3))if(u>>>0>3){m=u+-4|0;n=m&-4;o=n+4|0;k=j+o|0;l=j;h=u;while(1){c[i>>2]=c[l>>2];h=h+-4|0;if(h>>>0<=3)break;else{l=l+4|0;i=i+4|0}}h=m-n|0;i=b+96+o|0}else{h=u;k=j}else{k=j;h=u}if(h|0)while(1){a[i>>0]=a[k>>0]|0;h=h+-1|0;if(!h)break;else{k=k+1|0;i=i+1|0}}w=pb[t&63](b+496|0,j,j)|0;e=w>>>0>e>>>0?w:e;if(!((f|p|d)&3))if(u>>>0>3){l=u+-4|0;m=l&-4;o=m+4|0;n=j+o|0;k=f;h=d;i=u;while(1){w=c[j>>2]^c[k>>2];c[j>>2]=w;c[h>>2]=w;i=i+-4|0;if(i>>>0<=3)break;else{k=k+4|0;j=j+4|0;h=h+4|0}}h=l-m|0;k=f+o|0;j=n;i=d+o|0}else{h=u;k=f;i=d}else{k=f;i=d;h=u}if(h|0)while(1){w=a[j>>0]^a[k>>0];a[j>>0]=w;a[i>>0]=w;h=h+-1|0;if(!h)break;else{k=k+1|0;j=j+1|0;i=i+1|0}}d=d+u|0;f=f+u|0;g=g-u|0}if(g){j=b+96|0;h=b+64|0;p=h;if(!((p|j)&3))if(u>>>0>3){m=u+-4|0;n=m&-4;o=n+4|0;k=h+o|0;l=h;i=u;while(1){c[j>>2]=c[l>>2];i=i+-4|0;if(i>>>0<=3)break;else{l=l+4|0;j=j+4|0}}i=m-n|0;j=b+96+o|0}else{i=u;k=h}else{k=h;i=u}if(i|0)while(1){a[j>>0]=a[k>>0]|0;i=i+-1|0;if(!i)break;else{k=k+1|0;j=j+1|0}}w=pb[t&63](b+496|0,h,h)|0;e=w>>>0>e>>>0?w:e;c[v>>2]=u-g;if(!((f|p|d)&3))if(g>>>0>3){k=g+-4|0;l=k&-4;n=l+4|0;m=h+n|0;j=f;i=d;while(1){w=c[h>>2]^c[j>>2];c[h>>2]=w;c[i>>2]=w;g=g+-4|0;if(g>>>0<=3)break;else{j=j+4|0;h=h+4|0;i=i+4|0}}g=k-l|0;f=f+n|0;h=m;d=d+n|0}if(g)while(1){w=a[h>>0]^a[f>>0];a[h>>0]=w;a[d>>0]=w;g=g+-1|0;if(!g)break;else{f=f+1|0;h=h+1|0;d=d+1|0}}}if(!e){w=0;return w|0}Te(e+16|0);w=0;return w|0}function bm(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;t=c[b+12>>2]|0;s=c[t+36>>2]|0;t=c[t+20>>2]|0;r=t<<1;if(e>>>0<g>>>0){u=200;return u|0}u=b+112|0;e=c[u>>2]|0;if(e>>>0>=g>>>0){h=b+64+t+(0-e)|0;if(!((f|d|h)&3))if(g>>>0>3){m=g+-4|0;n=m&-4;o=n+4|0;i=f;j=h;k=d;l=g;while(1){t=c[i>>2]|0;c[k>>2]=c[j>>2]^t;c[j>>2]=t;l=l+-4|0;if(l>>>0<=3)break;else{i=i+4|0;j=j+4|0;k=k+4|0}}i=m-n|0;f=f+o|0;h=h+o|0;d=d+o|0}else i=g;else i=g;if(i){e=i;while(1){t=a[f>>0]|0;a[d>>0]=t^a[h>>0];a[h>>0]=t;e=e+-1|0;if(!e)break;else{d=d+1|0;h=h+1|0;f=f+1|0}}e=c[u>>2]|0}c[u>>2]=e-g;u=0;return u|0}if(e){g=g-e|0;i=b+64+t+(0-e)|0;if(e>>>0>3&((f|d|i)&3|0)==0){m=e+-4|0;n=m&-4;o=n+4|0;h=f;j=i;k=d;l=e;while(1){q=c[h>>2]|0;c[k>>2]=c[j>>2]^q;c[j>>2]=q;l=l+-4|0;if(l>>>0<=3)break;else{h=h+4|0;j=j+4|0;k=k+4|0}}h=f+o|0;k=m-n|0;if(k){l=d+o|0;i=i+o|0;j=h;e=k;p=18}}else{l=d;j=f;h=f;p=18}if((p|0)==18){while(1){q=a[j>>0]|0;a[l>>0]=a[h>>0]^a[i>>0];a[i>>0]=q;e=e+-1|0;if(!e)break;else{l=l+1|0;i=i+1|0;j=j+1|0;h=h+1|0;p=18}}e=c[u>>2]|0}c[u>>2]=0;d=d+e|0;f=f+e|0}a:do if(g>>>0<r>>>0)e=0;else{e=c[b+24>>2]|0;if(e|0){r=(g>>>0)/(t>>>0)|0;qb[e&15](b+496|0,b+64|0,d,f,r);r=S(r,t)|0;e=0;d=d+r|0;f=f+r|0;g=g-r|0;break}p=b+496|0;q=b+64|0;n=q;k=t+-4|0;m=k&-4;l=m+4|0;o=q+l|0;m=k-m|0;if(t>>>0>3)e=0;else{l=(t|0)==0;e=0;while(1){o=pb[s&63](p,q,q)|0;e=o>>>0>e>>>0?o:e;if(!l){h=d;i=q;j=f;k=t;while(1){o=a[j>>0]|0;a[h>>0]=o^a[i>>0];a[i>>0]=o;k=k+-1|0;if(!k)break;else{h=h+1|0;i=i+1|0;j=j+1|0}}}d=d+t|0;f=f+t|0;g=g-t|0;if(g>>>0<r>>>0)break a}}do{k=pb[s&63](p,q,q)|0;e=k>>>0>e>>>0?k:e;if(!((f|n|d)&3)){h=f;i=q;j=d;k=t;while(1){v=c[h>>2]|0;c[j>>2]=c[i>>2]^v;c[i>>2]=v;k=k+-4|0;if(k>>>0<=3)break;else{h=h+4|0;i=i+4|0;j=j+4|0}}h=d+l|0;j=o;k=f+l|0;i=m}else{h=d;j=q;k=f;i=t}if(i|0)while(1){v=a[k>>0]|0;a[h>>0]=v^a[j>>0];a[j>>0]=v;i=i+-1|0;if(!i)break;else{h=h+1|0;j=j+1|0;k=k+1|0}}d=d+t|0;f=f+t|0;g=g-t|0}while(g>>>0>=r>>>0)}while(0);if(g>>>0>=t>>>0){i=b+96|0;k=b+64|0;p=k;if(!((p|i)&3))if(t>>>0>3){m=t+-4|0;n=m&-4;o=n+4|0;j=k+o|0;l=k;h=t;while(1){c[i>>2]=c[l>>2];h=h+-4|0;if(h>>>0<=3)break;else{l=l+4|0;i=i+4|0}}h=m-n|0;i=b+96+o|0}else{h=t;j=k}else{j=k;h=t}if(h|0)while(1){a[i>>0]=a[j>>0]|0;h=h+-1|0;if(!h)break;else{j=j+1|0;i=i+1|0}}v=pb[s&63](b+496|0,k,k)|0;e=v>>>0>e>>>0?v:e;if(!((f|p|d)&3))if(t>>>0>3){m=t+-4|0;n=m&-4;o=n+4|0;h=f;i=k;j=d;l=t;while(1){v=c[h>>2]|0;c[j>>2]=c[i>>2]^v;c[i>>2]=v;l=l+-4|0;if(l>>>0<=3)break;else{h=h+4|0;i=i+4|0;j=j+4|0}}i=m-n|0;j=f+o|0;k=k+o|0;h=d+o|0}else{i=t;j=f;h=d}else{h=d;j=f;i=t}if(i|0)while(1){v=a[j>>0]|0;a[h>>0]=v^a[k>>0];a[k>>0]=v;i=i+-1|0;if(!i)break;else{h=h+1|0;k=k+1|0;j=j+1|0}}d=d+t|0;f=f+t|0;g=g-t|0}if(g){j=b+96|0;h=b+64|0;p=h;if(!((p|j)&3))if(t>>>0>3){m=t+-4|0;n=m&-4;o=n+4|0;k=h+o|0;l=h;i=t;while(1){c[j>>2]=c[l>>2];i=i+-4|0;if(i>>>0<=3)break;else{l=l+4|0;j=j+4|0}}i=m-n|0;j=b+96+o|0}else{i=t;k=h}else{k=h;i=t}if(i|0)while(1){a[j>>0]=a[k>>0]|0;i=i+-1|0;if(!i)break;else{k=k+1|0;j=j+1|0}}v=pb[s&63](b+496|0,h,h)|0;e=v>>>0>e>>>0?v:e;c[u>>2]=t-g;if(!((f|p|d)&3))if(g>>>0>3){l=g+-4|0;m=l&-4;n=m+4|0;i=f;j=h;k=d;while(1){v=c[i>>2]|0;c[k>>2]=c[j>>2]^v;c[j>>2]=v;g=g+-4|0;if(g>>>0<=3)break;else{i=i+4|0;j=j+4|0;k=k+4|0}}g=l-m|0;f=f+n|0;h=h+n|0;d=d+n|0}if(g)while(1){v=a[f>>0]|0;a[d>>0]=v^a[h>>0];a[h>>0]=v;g=g+-1|0;if(!g)break;else{d=d+1|0;h=h+1|0;f=f+1|0}}}if(!e){v=0;return v|0}Te(e+16|0);v=0;return v|0}function cm(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0;q=l;l=l+16|0;if((l|0)>=(m|0))$(16);f=q;e=c[b+12>>2]|0;j=c[e+20>>2]|0;if(j>>>0>16)He(46529,113,46543);Yq(f|0,0,j|0)|0;p=pb[c[e+36>>2]&63](b+496|0,f,f)|0;g=j+-1|0;k=(j|0)==16?135:27;n=f+g|0;h=b+128|0;if((g|0)>-1){e=g;b=0;while(1){r=f+e|0;s=a[r>>0]|0;i=b;b=(s&255)>>>7;i=((s&255)<<1|i&255)&255;a[r>>0]=i;a[h+1+e>>0]=i;if((e|0)<=0)break;else e=e+-1|0}e=(d[n>>0]|0)^(b<<24>>24?k:0);b=e&255;a[h+1+g>>0]=b;b=(b&255)>>>7;e=e<<1&255;a[n>>0]=e;i=h+17+g|0;a[i>>0]=e;if((g|0)>0){e=j+-2|0;while(1){r=f+e|0;j=a[r>>0]|0;s=b;b=(j&255)>>>7;s=((j&255)<<1|s&255)&255;a[r>>0]=s;a[h+17+e>>0]=s;if((e|0)<=0)break;else e=e+-1|0}e=a[n>>0]|0}s=(e&255^(b<<24>>24?k:0))&255;a[n>>0]=s;a[i>>0]=s}else{s=a[n>>0]|0;a[h+1+g>>0]=s;a[h+17+g>>0]=s}if(f&4){e=16;do{a[f>>0]=0;f=f+1|0;e=e+-1|0}while((e|0)!=0&(f&7|0)!=0);if(e>>>0>=8)o=11}else{e=16;o=11}if((o|0)==11){g=e+-8|0;h=g&-8;b=f;while(1){s=b;c[s>>2]=0;c[s+4>>2]=0;e=e+-8|0;if(e>>>0<=7)break;else b=b+8|0}e=g-h|0;f=f+(h+8)|0}if(e|0)while(1){a[f>>0]=0;e=e+-1|0;if(!e)break;else f=f+1|0}if(!p){l=q;return 0}Te(p+16|0);l=q;return 0}function dm(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=l;l=l+16|0;if((l|0)>=(m|0))$(16);h=A;w=c[b+12>>2]|0;y=c[w+36>>2]|0;w=c[w+20>>2]|0;if(e>>>0<g>>>0){z=200;l=A;return z|0}x=b+112|0;e=c[x>>2]|0;if(e){if(w>>>0<=e>>>0)Ie(46565,46587,53,46600);s=e>>>0>g>>>0?g:e;j=w-e+(b+96)|0;if(!((f|d|j)&3))if(s>>>0>3){o=s+-4|0;p=o&-4;r=p+4|0;q=j+r|0;i=f;k=d;n=s;while(1){c[k>>2]=c[j>>2]^c[i>>2];n=n+-4|0;if(n>>>0<=3)break;else{j=j+4|0;i=i+4|0;k=k+4|0}}n=o-p|0;j=q;k=f+r|0;i=d+r|0}else{n=s;k=f;i=d}else{k=f;i=d;n=s}if(n){e=n;while(1){a[i>>0]=a[j>>0]^a[k>>0];e=e+-1|0;if(!e)break;else{j=j+1|0;k=k+1|0;i=i+1|0}}e=c[x>>2]|0}c[x>>2]=e-s;d=d+s|0;f=f+s|0;g=g-s|0}e=(g>>>0)/(w>>>0)|0;if(w>>>0<=g>>>0?(t=c[b+36>>2]|0,u=S(e,w)|0,(t|0)!=0):0){qb[t&15](b+496|0,b+80|0,d,f,e);d=d+u|0;f=f+u|0;g=g-u|0}if(!g){z=0;l=A;return z|0}s=b+496|0;t=b+80|0;u=h;v=0;while(1){e=pb[y&63](s,h,t)|0;v=e>>>0>v>>>0?e:v;e=w;do{if((e|0)<=0)break;e=e+-1|0;q=t+e|0;r=(a[q>>0]|0)+1<<24>>24;a[q>>0]=r}while(!(r<<24>>24));r=w>>>0<g>>>0?w:g;if(!((f|u|d)&3))if(r>>>0>3){o=r+-4|0;p=o&-4;q=p+4|0;i=h+q|0;e=h;j=f;k=d;n=r;while(1){c[k>>2]=c[e>>2]^c[j>>2];n=n+-4|0;if(n>>>0<=3)break;else{e=e+4|0;j=j+4|0;k=k+4|0}}e=o-p|0;k=f+q|0;j=d+q|0}else{e=r;i=h;k=f;j=d}else{i=h;k=f;j=d;e=r}if(e|0)while(1){a[j>>0]=a[i>>0]^a[k>>0];e=e+-1|0;if(!e)break;else{i=i+1|0;k=k+1|0;j=j+1|0}}g=g-r|0;if(!g)break;else{d=d+r|0;f=f+r|0}}e=w-r|0;c[x>>2]=e;do if(e|0){g=b+96+r|0;d=h+r|0;if(e>>>0>3&((d|g)&3|0)==0){i=e+-4|0;j=i&-4;n=j+4|0;k=d+n|0;f=g;while(1){c[f>>2]=c[d>>2];e=e+-4|0;if(e>>>0<=3)break;else{d=d+4|0;f=f+4|0}}e=i-j|0;if(!e)break;else{d=k;g=g+n|0}}while(1){a[g>>0]=a[d>>0]|0;e=e+-1|0;if(!e)break;else{d=d+1|0;g=g+1|0}}}while(0);if(u&7){e=16;do{a[h>>0]=0;h=h+1|0;e=e+-1|0}while((e|0)!=0&(h&7|0)!=0);if(e>>>0>=8)z=41}else{e=16;z=41}if((z|0)==41){d=e+-8|0;f=d&-8;i=f+8|0;g=h;while(1){z=g;c[z>>2]=0;c[z+4>>2]=0;e=e+-8|0;if(e>>>0<=7)break;else g=g+8|0}e=d-f|0;h=h+i|0}if(e|0)while(1){a[h>>0]=0;e=e+-1|0;if(!e)break;else h=h+1|0}if(!v){z=0;l=A;return z|0}Te(v+16|0);z=0;l=A;return z|0}function em(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;if((c[(c[b+12>>2]|0)+20>>2]|0)!=16){g=12;return g|0}if(e>>>0<g>>>0){g=200;return g|0}m=b+128|0;l=b+196|0;h=a[l>>0]|0;if(h&4){g=139;return g|0}i=a[b+56>>0]|0;if((i&4|h&1)<<24>>24){g=156;return g|0}if(!(i&2)){fm(b,71779,16)|0;h=a[l>>0]|0}if(h&8){g=156;return g|0}if(!(h&2)){gm(b,m,0,0,1);h=a[l>>0]|2;a[l>>0]=h}j=b+172|0;k=(c[j>>2]|0)+g|0;c[j>>2]=k;j=b+176|0;i=c[j>>2]|0;if(k>>>0<g>>>0){i=i+1|0;c[j>>2]=i}if(i>>>0<=15?(i|0)!=15|k>>>0<4294967265:0){h=dm(b,d,e,f,g)|0;if(h|0){g=h;return g|0}gm(b,m,d,g,0);g=0;return g|0}a[l>>0]=h|4;g=139;return g|0}function fm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0;n=l;l=l+32|0;if((l|0)>=(m|0))$(32);i=n;g=n+8|0;k=b+56|0;a[k>>0]=a[k>>0]&-7;h=b+196|0;a[h>>0]=a[h>>0]&-9;o=(gg()|0)==0;f=a[h>>0]|0;if(!o){f=f|8;a[h>>0]=f}p=b+128|0;o=b+164|0;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;a[h>>0]=f&-8;switch(e|0){case 12:{f=b+80|0;e=f;g=d;h=e+12|0;do{a[e>>0]=a[g>>0]|0;e=e+1|0;g=g+1|0}while((e|0)<(h|0));a[b+94>>0]=0;a[b+93>>0]=0;g=b+92|0;a[g>>0]=0;a[b+95>>0]=1;break}case 0:{p=139;l=n;return p|0}default:{f=i;c[f>>2]=0;c[f+4>>2]=0;f=b+80|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[i>>2]=e;gm(b,f,d,e,1);c[g+12>>2]=er(e<<3|0)|0;c[g+8>>2]=er(e>>>29|0)|0;c[g+4>>2]=0;c[g>>2]=0;gm(b,f,g,16,1);p=i;c[p>>2]=0;c[p+4>>2]=0;if(g&4){h=16;do{a[g>>0]=0;g=g+1|0;h=h+-1|0}while((h|0)!=0&(g&7|0)!=0);if(h>>>0>=8)j=7}else{h=16;j=7}if((j|0)==7){i=h+-8|0;d=i&-8;e=g;while(1){p=e;c[p>>2]=0;c[p+4>>2]=0;h=h+-8|0;if(h>>>0<=7)break;else e=e+8|0}h=i-d|0;g=g+(d+8)|0}if(h|0)while(1){a[g>>0]=0;h=h+-1|0;if(!h)break;else g=g+1|0}g=b+92|0}}pb[c[(c[b+12>>2]|0)+36>>2]&63](b+496|0,b+180|0,f)|0;c[g>>2]=er((er(c[g>>2]|0)|0)+1|0)|0;c[b+112>>2]=0;a[k>>0]=a[k>>0]&-7|2;p=0;l=n;return p|0}function gm(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=b+160|0;h=c[v>>2]|0;w=c[b+224>>2]|0;if(!f)if((g|0)!=0&(h|0)!=0)f=0;else return;s=b+144|0;a:do if(!g){g=0;p=h;b:while(1){if((p|0)!=0|(f+p|0)>>>0<16){q=16-p|0;q=q>>>0<f>>>0?q:f;i=b+144+p|0;if(!((e|i)&3))if(q>>>0>3){m=q+-4|0;n=m&-4;o=n+4|0;j=e+o|0;h=e;k=i;l=q;while(1){c[k>>2]=c[h>>2];l=l+-4|0;if(l>>>0<=3)break;else{h=h+4|0;k=k+4|0}}h=m-n|0;i=i+o|0}else{h=q;j=e}else{j=e;h=q}if(h|0)while(1){a[i>>0]=a[j>>0]|0;h=h+-1|0;if(!h)break;else{j=j+1|0;i=i+1|0}}j=e+q|0;i=f-q|0;f=q+p|0}else{j=e;i=f;f=0}if(!i){t=g;u=f;break a}switch(f|0){case 0:break;case 16:{g=wb[w&3](b,d,s,1)|0;break}default:break b}e=i>>>4;h=e<<4;if(!e){e=j;f=i;p=0;continue}f=i-h|0;g=wb[w&3](b,d,j,e)|0;if(!f){t=g;u=0;break a}else{e=j+h|0;p=0}}Ie(46625,46645,499,46658)}else{q=0;o=h;c:while(1){if((o|0)!=0|(f+o|0)>>>0<16){p=16-o|0;p=p>>>0<f>>>0?p:f;h=b+144+o|0;if(!((e|h)&3))if(p>>>0>3){l=p+-4|0;m=l&-4;n=m+4|0;i=e+n|0;g=e;j=h;k=p;while(1){c[j>>2]=c[g>>2];k=k+-4|0;if(k>>>0<=3)break;else{g=g+4|0;j=j+4|0}}g=l-m|0;h=h+n|0}else{g=p;i=e}else{i=e;g=p}if(g|0)while(1){a[h>>0]=a[i>>0]|0;g=g+-1|0;if(!g)break;else{i=i+1|0;h=h+1|0}}i=e+p|0;f=f-p|0;g=p+o|0}else{i=e;g=0}if((f|0)==0&g>>>0<16){Yq(b+144+g|0,0,16-g|0)|0;r=33}else switch(g|0){case 0:{g=q;break}case 16:{r=33;break}default:break c}if((r|0)==33){r=0;g=wb[w&3](b,d,s,1)|0}e=f>>>4;h=e<<4;if(!e)e=i;else{g=wb[w&3](b,d,i,e)|0;e=i+h|0;f=f-h|0}if(!f){t=g;u=0;break a}else{q=g;o=0}}Ie(46625,46645,499,46658)}while(0);c[v>>2]=u;if(!t)return;Te(t);return}function hm(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;if((c[(c[b+12>>2]|0)+20>>2]|0)!=16){g=12;return g|0}if(e>>>0<g>>>0){g=200;return g|0}l=b+128|0;m=b+196|0;h=a[m>>0]|0;if(h&4){g=139;return g|0}i=a[b+56>>0]|0;if((i&4|h&1)<<24>>24){g=156;return g|0}if(!(i&2)){fm(b,71795,16)|0;h=a[m>>0]|0}if(!(h&2)){gm(b,l,0,0,1);h=a[m>>0]|2;a[m>>0]=h}j=b+172|0;k=(c[j>>2]|0)+g|0;c[j>>2]=k;j=b+176|0;i=c[j>>2]|0;if(k>>>0<g>>>0){i=i+1|0;c[j>>2]=i}if(i>>>0<=15?(i|0)!=15|k>>>0<4294967265:0){gm(b,l,f,g,0);g=dm(b,d,e,f,g)|0;return g|0}a[m>>0]=h|4;g=139;return g|0}function im(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;r=a+208|0;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[r+12>>2]=0;pb[c[(c[a+12>>2]|0)+36>>2]&63](a+496|0,r,r)|0;c[a+224>>2]=2;l=a+228|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;l=d[r+3>>0]|0;s=(d[r+1>>0]|0)<<16|(d[r>>0]|0)<<24|(d[r+2>>0]|0)<<8|l;e=a+356|0;c[e>>2]=s;j=d[r+7>>0]|0;r=(d[r+5>>0]|0)<<16|(d[r+4>>0]|0)<<24|(d[r+6>>0]|0)<<8|j;f=a+360|0;c[f>>2]=r;p=d[a+219>>0]|0;q=(d[a+217>>0]|0)<<16|(d[a+216>>0]|0)<<24|(d[a+218>>0]|0)<<8|p;g=a+364|0;c[g>>2]=q;n=d[a+223>>0]|0;t=(d[a+221>>0]|0)<<16|(d[a+220>>0]|0)<<24|(d[a+222>>0]|0)<<8|n;h=a+368|0;c[h>>2]=t;i=a+304|0;t=t>>>1;p=t|p<<31;c[i>>2]=p;q=q>>>1;j=q|j<<31;c[a+300>>2]=j;r=r>>>1;l=r|l<<31;c[a+296>>2]=l;s=s>>>1;n=(n&1|0?-520093696:0)^s;c[a+292>>2]=n;x=p>>>1;q=x|q<<31;c[a+272>>2]=q;u=j>>>1;r=u|r<<31;c[a+268>>2]=r;v=l>>>1;s=v|s<<31;c[a+264>>2]=s;w=n>>>1;t=(t&1|0?-520093696:0)^w;c[a+260>>2]=t;u=q>>>1|u<<31;c[a+256>>2]=u;v=r>>>1|v<<31;c[a+252>>2]=v;w=w<<31|s>>>1;c[a+248>>2]=w;x=(x&1|0?-520093696:0)^t>>>1;c[a+244>>2]=x;o=x^t;c[a+276>>2]=o;m=w^s;c[a+280>>2]=m;k=v^r;c[a+284>>2]=k;b=u^q;c[a+288>>2]=b;c[a+308>>2]=x^n;c[a+312>>2]=w^l;c[a+316>>2]=v^j;c[a+320>>2]=u^p;c[a+324>>2]=t^n;c[a+328>>2]=s^l;c[a+332>>2]=r^j;c[a+336>>2]=q^p;c[a+340>>2]=o^n;c[a+344>>2]=m^l;c[a+348>>2]=k^j;c[a+352>>2]=c[i>>2]^b;b=1;do{w=b<<2;x=w+32|0;c[a+228+(x<<2)>>2]=c[a+228+(w<<2)>>2]^c[e>>2];c[a+228+((x|1)<<2)>>2]=c[a+228+((w|1)<<2)>>2]^c[f>>2];c[a+228+((x|2)<<2)>>2]=c[a+228+((w|2)<<2)>>2]^c[g>>2];c[a+228+((x|3)<<2)>>2]=c[a+228+((w|3)<<2)>>2]^c[h>>2];b=b+1|0}while((b|0)!=8);return}function jm(b,f,g,h){b=b|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0;Z=l;l=l+16|0;if((l|0)>=(m|0))$(16);U=Z;if(!h){Y=0;X=(Y|0)!=0;X=X?20:0;Y=X+Y|0;l=Z;return Y|0}V=f;W=f+4|0;X=U+4|0;Y=f+8|0;t=U+8|0;u=f+12|0;v=U+12|0;w=f+1|0;x=f+2|0;y=f+3|0;z=f+5|0;A=f+6|0;B=f+7|0;C=f+9|0;D=f+10|0;E=f+11|0;F=f+13|0;G=f+14|0;H=f+15|0;I=U+1|0;J=U+2|0;K=U+3|0;L=U+5|0;M=U+6|0;N=U+7|0;O=U+9|0;P=U+10|0;Q=U+11|0;R=U+13|0;S=U+14|0;T=U+15|0;while(1){if(!((g|V)&3)){c[U>>2]=c[g>>2]^c[f>>2];c[X>>2]=c[g+4>>2]^c[W>>2];c[t>>2]=c[g+8>>2]^c[Y>>2];j=c[g+12>>2]^c[u>>2];c[v>>2]=j;i=j>>>24&255;j=j>>>16&255}else{a[U>>0]=a[g>>0]^a[f>>0];a[I>>0]=a[g+1>>0]^a[w>>0];a[J>>0]=a[g+2>>0]^a[x>>0];a[K>>0]=a[g+3>>0]^a[y>>0];a[X>>0]=a[g+4>>0]^a[W>>0];a[L>>0]=a[g+5>>0]^a[z>>0];a[M>>0]=a[g+6>>0]^a[A>>0];a[N>>0]=a[g+7>>0]^a[B>>0];a[t>>0]=a[g+8>>0]^a[Y>>0];a[O>>0]=a[g+9>>0]^a[C>>0];a[P>>0]=a[g+10>>0]^a[D>>0];a[Q>>0]=a[g+11>>0]^a[E>>0];a[v>>0]=a[g+12>>0]^a[u>>0];a[R>>0]=a[g+13>>0]^a[F>>0];j=a[g+14>>0]^a[G>>0];a[S>>0]=j;i=a[g+15>>0]^a[H>>0];a[T>>0]=i}i=i&255;n=b+228+((i<<2&60)<<2)|0;i=b+228+(i>>>4<<2<<2)|0;r=c[n>>2]|0;k=c[n+12>>2]|0;q=c[n+4>>2]|0;n=c[n+8>>2]|0;s=14;j=j&255;o=c[i>>2]^r>>>4^(e[17762+((k<<4&240)<<1)>>1]|0)<<16;p=(n>>>4|q<<28)^c[i+8>>2];k=(n<<28|k>>>4)^c[i+12>>2];i=(q>>>4|r<<28)^c[i+4>>2];while(1){ba=b+228+((j<<2&60)<<2)|0;aa=b+228+(j>>>4<<2<<2)|0;r=c[ba>>2]|0;_=c[ba+12>>2]|0;j=c[aa>>2]^o>>>8^(e[17762+((k&255)<<1)>>1]|0)<<16^r>>>4;q=(e[17762+((_<<4&240)<<1)>>1]|0)<<16^j;n=c[ba+4>>2]|0;r=c[aa+4>>2]^(i>>>8|o<<24)^(n>>>4|r<<28);o=c[ba+8>>2]|0;n=c[aa+8>>2]^(p>>>8|i<<24)^(o>>>4|n<<28);i=c[aa+12>>2]^(k>>>8|p<<24)^(o<<28|_>>>4);if(!s)break;j=s+-1|0;s=j;j=d[U+j>>0]|0;o=q;p=n;k=i;i=r}a[f>>0]=q>>>24;a[w>>0]=q>>>16;a[x>>0]=j>>>8;a[y>>0]=j;a[W>>0]=r>>>24;a[z>>0]=r>>>16;a[A>>0]=r>>>8;a[B>>0]=r;a[Y>>0]=n>>>24;a[C>>0]=n>>>16;a[D>>0]=n>>>8;a[E>>0]=n;a[u>>0]=i>>>24;a[F>>0]=i>>>16;a[G>>0]=i>>>8;a[H>>0]=i;h=h+-1|0;if(!h){g=76;break}else g=g+16|0}ba=(g|0)!=0;ba=ba?20:0;ba=ba+g|0;l=Z;return ba|0}function km(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;if((e|0)==0&0==0)g=($q(f|0)|0)+32|0;else g=$q(e|0)|0;e=b+160|0;if((g|0)<16){b=e+(g<<4)|0;return b|0}f=e+240|0;do if((f|0)!=(d|0))if(!((f|d)&3)){c[d>>2]=c[f>>2];c[d+4>>2]=c[e+244>>2];c[d+8>>2]=c[e+248>>2];c[d+12>>2]=c[e+252>>2];break}else{a[d>>0]=a[f>>0]|0;a[d+1>>0]=a[f+1>>0]|0;a[d+2>>0]=a[f+2>>0]|0;a[d+3>>0]=a[f+3>>0]|0;a[d+4>>0]=a[e+244>>0]|0;a[d+5>>0]=a[f+5>>0]|0;a[d+6>>0]=a[f+6>>0]|0;a[d+7>>0]=a[f+7>>0]|0;a[d+8>>0]=a[e+248>>0]|0;a[d+9>>0]=a[f+9>>0]|0;a[d+10>>0]=a[f+10>>0]|0;a[d+11>>0]=a[f+11>>0]|0;a[d+12>>0]=a[e+252>>0]|0;a[d+13>>0]=a[f+13>>0]|0;a[d+14>>0]=a[f+14>>0]|0;a[d+15>>0]=a[f+15>>0]|0;break}while(0);lm(d);e=g+-16|0;if(!e){b=d;return b|0}do{lm(d);e=e+-1|0}while((e|0)!=0);return d|0}function lm(b){b=b|0;var c=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0;B=mr(d[b>>0]|0|0,0,56)|0;e=D;R=b+1|0;U=mr(d[R>>0]|0|0,0,48)|0;U=U|B;T=D|e;O=b+2|0;Q=mr(d[O>>0]|0|0,0,40)|0;Q=U|Q;S=T|D;L=b+3|0;P=S|(d[L>>0]|0);I=b+4|0;N=mr(d[I>>0]|0|0,0,24)|0;N=Q|N;M=P|D;G=b+5|0;K=mr(d[G>>0]|0|0,0,16)|0;K=N|K;J=M|D;C=b+6|0;H=mr(d[C>>0]|0|0,0,8)|0;H=K|H;E=J|D;z=b+7|0;F=H|(d[z>>0]|0);w=b+8|0;A=d[w>>0]|0;y=mr(A|0,0,56)|0;x=D;u=b+9|0;r=mr(d[u>>0]|0|0,0,48)|0;y=r|y;x=D|x;r=b+10|0;t=mr(d[r>>0]|0|0,0,40)|0;t=y|t;v=x|D;o=b+11|0;s=v|(d[o>>0]|0);l=b+12|0;q=mr(d[l>>0]|0|0,0,24)|0;q=t|q;p=s|D;j=b+13|0;n=mr(d[j>>0]|0|0,0,16)|0;n=q|n;m=p|D;g=b+14|0;k=mr(d[g>>0]|0|0,0,8)|0;k=n|k;h=m|D;c=b+15|0;i=k|(d[c>>0]|0);e=fr(B|0,e|0,63)|0;B=mr(F|0,E|0,1)|0;f=D;A=gr(A|0,0,7)|0;f=mr(i|0,h|0,1)|0;T=gr(U|0,T|0,55)|0;a[b>>0]=T;b=gr(Q|0,S|0,47)|0;a[R>>0]=b;b=gr(Q|0,P|0,39)|0;a[O>>0]=b;b=gr(N|0,M|0,31)|0;a[L>>0]=b;b=gr(K|0,J|0,23)|0;a[I>>0]=b;b=gr(H|0,E|0,15)|0;a[G>>0]=b;b=gr(F|0,E|0,7)|0;a[C>>0]=b;a[z>>0]=B|A;b=gr(y|0,x|0,55)|0;a[w>>0]=b;b=gr(t|0,v|0,47)|0;a[u>>0]=b;b=gr(t|0,s|0,39)|0;a[r>>0]=b;b=gr(q|0,p|0,31)|0;a[o>>0]=b;b=gr(n|0,m|0,23)|0;a[l>>0]=b;b=gr(k|0,h|0,15)|0;a[j>>0]=b;b=gr(i|0,h|0,7)|0;a[g>>0]=b;a[c>>0]=f^e&135;return}function mm(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=l;l=l+48|0;if((l|0)>=(m|0))$(48);g=z+24|0;h=z;w=b+56|0;if(!(a[w>>0]&1)){y=156;l=z;return y|0}x=b+128|0;s=b+480|0;switch(a[s>>0]|0){case 16:case 12:case 8:break;default:{y=59;l=z;return y|0}}u=b+12|0;i=c[u>>2]|0;if((c[i+20>>2]|0)!=16){y=12;l=z;return y|0}if(!e){y=45;l=z;return y|0}if((f&-8|0)!=8){y=139;l=z;return y|0};c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;v=b+496|0;t=pb[c[i+36>>2]&63](v,x,g)|0;i=b+144|0;j=i;if(!((x|j)&3)){c[i>>2]=c[x>>2];c[b+148>>2]=c[x+4>>2];c[b+152>>2]=c[b+136>>2];c[b+156>>2]=c[b+140>>2]}else{a[i>>0]=a[x>>0]|0;a[b+145>>0]=a[x+1>>0]|0;a[b+146>>0]=a[x+2>>0]|0;a[b+147>>0]=a[x+3>>0]|0;a[b+148>>0]=a[x+4>>0]|0;a[b+149>>0]=a[x+5>>0]|0;a[b+150>>0]=a[x+6>>0]|0;a[b+151>>0]=a[x+7>>0]|0;a[b+152>>0]=a[b+136>>0]|0;a[b+153>>0]=a[b+137>>0]|0;a[b+154>>0]=a[b+138>>0]|0;a[b+155>>0]=a[b+139>>0]|0;a[b+156>>0]=a[b+140>>0]|0;a[b+157>>0]=a[b+141>>0]|0;a[b+158>>0]=a[b+142>>0]|0;a[b+159>>0]=a[b+143>>0]|0}lm(i);o=b+160|0;if(!((j|o)&3)){c[o>>2]=c[i>>2];c[o+4>>2]=c[b+148>>2];c[o+8>>2]=c[b+152>>2];c[o+12>>2]=c[b+156>>2]}else{a[o>>0]=a[i>>0]|0;a[o+1>>0]=a[b+145>>0]|0;a[o+2>>0]=a[b+146>>0]|0;a[o+3>>0]=a[b+147>>0]|0;a[o+4>>0]=a[b+148>>0]|0;a[o+5>>0]=a[b+149>>0]|0;a[o+6>>0]=a[b+150>>0]|0;a[o+7>>0]=a[b+151>>0]|0;a[o+8>>0]=a[b+152>>0]|0;a[o+9>>0]=a[b+153>>0]|0;a[o+10>>0]=a[b+154>>0]|0;a[o+11>>0]=a[b+155>>0]|0;a[o+12>>0]=a[b+156>>0]|0;a[o+13>>0]=a[b+157>>0]|0;a[o+14>>0]=a[b+158>>0]|0;a[o+15>>0]=a[b+159>>0]|0}lm(o);i=1;do{j=o+(i<<4)|0;k=i+-1|0;n=o+(k<<4)|0;if(!((n|j)&3)){c[j>>2]=c[n>>2];c[o+(i<<4)+4>>2]=c[o+(k<<4)+4>>2];c[o+(i<<4)+8>>2]=c[o+(k<<4)+8>>2];c[o+(i<<4)+12>>2]=c[o+(k<<4)+12>>2]}else{a[j>>0]=a[n>>0]|0;a[o+(i<<4)+1>>0]=a[o+(k<<4)+1>>0]|0;a[o+(i<<4)+2>>0]=a[o+(k<<4)+2>>0]|0;a[o+(i<<4)+3>>0]=a[o+(k<<4)+3>>0]|0;a[o+(i<<4)+4>>0]=a[o+(k<<4)+4>>0]|0;a[o+(i<<4)+5>>0]=a[o+(k<<4)+5>>0]|0;a[o+(i<<4)+6>>0]=a[o+(k<<4)+6>>0]|0;a[o+(i<<4)+7>>0]=a[o+(k<<4)+7>>0]|0;a[o+(i<<4)+8>>0]=a[o+(k<<4)+8>>0]|0;a[o+(i<<4)+9>>0]=a[o+(k<<4)+9>>0]|0;a[o+(i<<4)+10>>0]=a[o+(k<<4)+10>>0]|0;a[o+(i<<4)+11>>0]=a[o+(k<<4)+11>>0]|0;a[o+(i<<4)+12>>0]=a[o+(k<<4)+12>>0]|0;a[o+(i<<4)+13>>0]=a[o+(k<<4)+13>>0]|0;a[o+(i<<4)+14>>0]=a[o+(k<<4)+14>>0]|0;a[o+(i<<4)+15>>0]=a[o+(k<<4)+15>>0]|0}lm(j);i=i+1|0}while((i|0)!=16);r=16-f|0;Yq(g|0,0,r|0)|0;j=g+r|0;if(!((j|e)&3))if(f>>>0>3){n=f+-4|0;o=n&-4;q=o+4|0;p=e+q|0;k=j;i=f;while(1){c[k>>2]=c[e>>2];i=i+-4|0;if(i>>>0<=3)break;else{e=e+4|0;k=k+4|0}}i=n-o|0;e=p;j=j+q|0}else i=f;else i=f;if(i|0)while(1){a[j>>0]=a[e>>0]|0;i=i+-1|0;if(!i)break;else{e=e+1|0;j=j+1|0}}a[g>>0]=d[s>>0]<<4;p=g+(r+-1)|0;a[p>>0]=d[p>>0]|1;p=g+15|0;k=d[p>>0]|0;a[p>>0]=k&192;p=pb[c[(c[u>>2]|0)+36>>2]&63](v,g,g)|0;p=p>>>0>t>>>0?p:t;o=h;n=g;i=c[g>>2]|0;c[h>>2]=i;c[h+4>>2]=c[g+4>>2];c[h+8>>2]=c[g+8>>2];c[h+12>>2]=c[g+12>>2];j=h+16|0;e=g+1|0;if(!(e&3)){c[j>>2]=c[e>>2]^c[g>>2];c[h+20>>2]=c[g+5>>2]^c[g+4>>2]}else{v=a[e>>0]|0;a[j>>0]=v^i&255;u=a[g+2>>0]|0;a[h+17>>0]=u^v;v=a[g+3>>0]|0;a[h+18>>0]=v^u;u=a[g+4>>0]|0;a[h+19>>0]=u^v;v=a[g+5>>0]|0;a[h+20>>0]=v^u;u=a[g+6>>0]|0;a[h+21>>0]=u^v;v=a[g+7>>0]|0;a[h+22>>0]=v^u;a[h+23>>0]=a[g+8>>0]^v}j=b+64|0;e=h+(k>>>3&7)|0;i=k&7;if(!i){a[j>>0]=a[e>>0]|0;a[j+1>>0]=a[e+1>>0]|0;a[j+2>>0]=a[e+2>>0]|0;a[j+3>>0]=a[e+3>>0]|0;a[j+4>>0]=a[e+4>>0]|0;a[j+5>>0]=a[e+5>>0]|0;a[j+6>>0]=a[e+6>>0]|0;a[j+7>>0]=a[e+7>>0]|0;a[b+72>>0]=a[e+8>>0]|0;a[b+73>>0]=a[e+9>>0]|0;a[b+74>>0]=a[e+10>>0]|0;a[b+75>>0]=a[e+11>>0]|0;a[b+76>>0]=a[e+12>>0]|0;a[b+77>>0]=a[e+13>>0]|0;a[b+78>>0]=a[e+14>>0]|0;a[b+79>>0]=a[e+15>>0]|0}else{u=8-i|0;v=a[e+1>>0]|0;a[j>>0]=(v&255)>>>u|d[e>>0]<<i;t=a[e+2>>0]|0;a[j+1>>0]=(t&255)>>>u|(v&255)<<i;v=a[e+3>>0]|0;a[j+2>>0]=(v&255)>>>u|(t&255)<<i;t=a[e+4>>0]|0;a[j+3>>0]=(t&255)>>>u|(v&255)<<i;v=a[e+5>>0]|0;a[j+4>>0]=(v&255)>>>u|(t&255)<<i;t=a[e+6>>0]|0;a[j+5>>0]=(t&255)>>>u|(v&255)<<i;v=a[e+7>>0]|0;a[j+6>>0]=(v&255)>>>u|(t&255)<<i;t=a[e+8>>0]|0;a[j+7>>0]=(t&255)>>>u|(v&255)<<i;v=a[e+9>>0]|0;a[b+72>>0]=(v&255)>>>u|(t&255)<<i;t=a[e+10>>0]|0;a[b+73>>0]=(t&255)>>>u|(v&255)<<i;v=a[e+11>>0]|0;a[b+74>>0]=(v&255)>>>u|(t&255)<<i;t=a[e+12>>0]|0;a[b+75>>0]=(t&255)>>>u|(v&255)<<i;v=a[e+13>>0]|0;a[b+76>>0]=(v&255)>>>u|(t&255)<<i;t=a[e+14>>0]|0;a[b+77>>0]=(t&255)>>>u|(v&255)<<i;v=a[e+15>>0]|0;a[b+78>>0]=(v&255)>>>u|(t&255)<<i;a[b+79>>0]=(d[e+16>>0]|0)>>>u|(v&255)<<i}i=b+432|0;j=a[w>>0]&-15|2;e=b+80|0;k=e+36|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(k|0));c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[i+16>>2]=0;c[i+20>>2]=0;c[i+24>>2]=0;c[i+28>>2]=0;a[w>>0]=j;w=b+464|0;x=x+353|0;c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[w+12>>2]=0;a[x>>0]=a[x>>0]&-4;if(n&4){i=16;do{a[g>>0]=0;g=g+1|0;i=i+-1|0}while((i|0)!=0&(g&7|0)!=0);if(i>>>0>=8)y=34}else{i=16;y=34}if((y|0)==34){e=i+-8|0;k=e&-8;n=k+8|0;j=g;while(1){x=j;c[x>>2]=0;c[x+4>>2]=0;i=i+-8|0;if(i>>>0<=7)break;else j=j+8|0}i=e-k|0;g=g+n|0}if(i|0)while(1){a[g>>0]=0;i=i+-1|0;if(!i)break;else g=g+1|0}if(o&4){g=24;do{a[h>>0]=0;h=h+1|0;g=g+-1|0}while((g|0)!=0&(h&7|0)!=0);if(g>>>0>=8)y=42}else{g=24;y=42}if((y|0)==42){j=g+-8|0;e=j&-8;k=e+8|0;i=h;while(1){y=i;c[y>>2]=0;c[y+4>>2]=0;g=g+-8|0;if(g>>>0<=7)break;else i=i+8|0}g=j-e|0;h=h+k|0}if(g|0)while(1){a[h>>0]=0;g=g+-1|0;if(!g)break;else h=h+1|0}if(!p){y=0;l=z;return y|0}Te(p+16|0);y=0;l=z;return y|0}function nm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return om(a,1,b,c,d,e)|0}function om(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0;Da=l;l=l+32|0;if((l|0)>=(m|0))$(32);za=Da+16|0;j=Da;va=h>>>4;Aa=b+56|0;i=a[Aa>>0]|0;if(!(i&2)){Ca=156;l=Da;return Ca|0}xa=b+128|0;Ba=xa+353|0;if(a[Ba>>0]&1){Ca=156;l=Da;return Ca|0}Ca=b+12|0;k=c[Ca>>2]|0;if((c[k+20>>2]|0)!=16){Ca=12;l=Da;return Ca|0}if(f>>>0<h>>>0){Ca=200;l=Da;return Ca|0}if(!((h&15|0)==0|(i&8)!=0)){Ca=139;l=Da;return Ca|0}do if(va){i=c[b+40>>2]|0;wa=va<<4;if(i|0){qb[i&15](b,e,g,va,d);i=0;h=h-wa|0;g=g+wa|0;e=e+wa|0;break}ua=(d|0)!=0;p=c[(ua?k+36|0:k+40|0)>>2]|0;if(ua)pm(b+80|0,g,va);if(h>>>0>15){q=b+464|0;r=b+64|0;s=r;t=r+4|0;u=b+72|0;v=b+76|0;w=b+496|0;x=h+-16|0;sa=x&-16;ta=sa+16|0;sa=x-sa|0;x=b+72|0;y=r+4|0;z=b+76|0;A=r+1|0;B=r+2|0;C=r+3|0;E=r+4|0;F=r+5|0;G=r+6|0;H=r+7|0;I=b+72|0;J=b+73|0;K=b+74|0;L=b+75|0;M=b+76|0;N=b+77|0;O=b+78|0;P=b+79|0;Q=r+1|0;R=r+2|0;S=r+3|0;T=r+4|0;U=r+5|0;V=r+6|0;W=r+7|0;X=b+72|0;Y=b+73|0;Z=b+74|0;_=b+75|0;aa=b+76|0;ba=b+77|0;ca=b+78|0;da=b+79|0;ea=r+1|0;fa=r+2|0;ga=r+3|0;ha=r+4|0;ia=r+5|0;ja=r+6|0;ka=r+7|0;la=b+72|0;ma=b+73|0;na=b+74|0;oa=b+75|0;pa=b+76|0;qa=b+77|0;ra=b+78|0;o=b+79|0;i=0;k=g;n=e;while(1){Ea=q;Ea=_q(c[Ea>>2]|0,c[Ea+4>>2]|0,1,0)|0;f=D;Fa=q;c[Fa>>2]=Ea;c[Fa+4>>2]=f;f=km(b,za,Ea,f)|0;if(!((f|s)&3)){c[r>>2]=c[r>>2]^c[f>>2];c[t>>2]=c[t>>2]^c[f+4>>2];c[u>>2]=c[u>>2]^c[f+8>>2];c[v>>2]=c[v>>2]^c[f+12>>2]}else{a[r>>0]=a[r>>0]^a[f>>0];a[ea>>0]=a[ea>>0]^a[f+1>>0];a[fa>>0]=a[fa>>0]^a[f+2>>0];a[ga>>0]=a[ga>>0]^a[f+3>>0];a[ha>>0]=a[ha>>0]^a[f+4>>0];a[ia>>0]=a[ia>>0]^a[f+5>>0];a[ja>>0]=a[ja>>0]^a[f+6>>0];a[ka>>0]=a[ka>>0]^a[f+7>>0];a[la>>0]=a[la>>0]^a[f+8>>0];a[ma>>0]=a[ma>>0]^a[f+9>>0];a[na>>0]=a[na>>0]^a[f+10>>0];a[oa>>0]=a[oa>>0]^a[f+11>>0];a[pa>>0]=a[pa>>0]^a[f+12>>0];a[qa>>0]=a[qa>>0]^a[f+13>>0];a[ra>>0]=a[ra>>0]^a[f+14>>0];a[o>>0]=a[o>>0]^a[f+15>>0]}f=n|s;if(!((f|k)&3)){c[n>>2]=c[k>>2]^c[r>>2];c[n+4>>2]=c[k+4>>2]^c[y>>2];c[n+8>>2]=c[k+8>>2]^c[x>>2];c[n+12>>2]=c[k+12>>2]^c[z>>2]}else{a[n>>0]=a[k>>0]^a[r>>0];a[n+1>>0]=a[k+1>>0]^a[Q>>0];a[n+2>>0]=a[k+2>>0]^a[R>>0];a[n+3>>0]=a[k+3>>0]^a[S>>0];a[n+4>>0]=a[k+4>>0]^a[T>>0];a[n+5>>0]=a[k+5>>0]^a[U>>0];a[n+6>>0]=a[k+6>>0]^a[V>>0];a[n+7>>0]=a[k+7>>0]^a[W>>0];a[n+8>>0]=a[k+8>>0]^a[X>>0];a[n+9>>0]=a[k+9>>0]^a[Y>>0];a[n+10>>0]=a[k+10>>0]^a[Z>>0];a[n+11>>0]=a[k+11>>0]^a[_>>0];a[n+12>>0]=a[k+12>>0]^a[aa>>0];a[n+13>>0]=a[k+13>>0]^a[ba>>0];a[n+14>>0]=a[k+14>>0]^a[ca>>0];a[n+15>>0]=a[k+15>>0]^a[da>>0]}Fa=pb[p&63](w,n,n)|0;i=Fa>>>0>i>>>0?Fa:i;if(!(f&3)){Fa=n+4|0;c[n>>2]=c[n>>2]^c[r>>2];Ea=n+8|0;c[Fa>>2]=c[Fa>>2]^c[t>>2];Fa=n+12|0;c[Ea>>2]=c[Ea>>2]^c[u>>2];c[Fa>>2]=c[Fa>>2]^c[v>>2]}else{Fa=n+1|0;a[n>>0]=a[n>>0]^a[r>>0];Ea=n+2|0;a[Fa>>0]=a[Fa>>0]^a[A>>0];Fa=n+3|0;a[Ea>>0]=a[Ea>>0]^a[B>>0];Ea=n+4|0;a[Fa>>0]=a[Fa>>0]^a[C>>0];Fa=n+5|0;a[Ea>>0]=a[Ea>>0]^a[E>>0];Ea=n+6|0;a[Fa>>0]=a[Fa>>0]^a[F>>0];Fa=n+7|0;a[Ea>>0]=a[Ea>>0]^a[G>>0];Ea=n+8|0;a[Fa>>0]=a[Fa>>0]^a[H>>0];Fa=n+9|0;a[Ea>>0]=a[Ea>>0]^a[I>>0];Ea=n+10|0;a[Fa>>0]=a[Fa>>0]^a[J>>0];Fa=n+11|0;a[Ea>>0]=a[Ea>>0]^a[K>>0];Ea=n+12|0;a[Fa>>0]=a[Fa>>0]^a[L>>0];Fa=n+13|0;a[Ea>>0]=a[Ea>>0]^a[M>>0];Ea=n+14|0;a[Fa>>0]=a[Fa>>0]^a[N>>0];Fa=n+15|0;a[Ea>>0]=a[Ea>>0]^a[O>>0];a[Fa>>0]=a[Fa>>0]^a[P>>0]}h=h+-16|0;if(h>>>0<=15)break;else{k=k+16|0;n=n+16|0}}h=sa;g=g+ta|0;e=e+ta|0}else i=0;if(!ua)pm(b+80|0,e+(0-wa)|0,va)}else i=0;while(0);if(h){f=b+64|0;if(!((xa|f)&3)){Fa=f+4|0;c[f>>2]=c[f>>2]^c[xa>>2];Ea=b+72|0;c[Fa>>2]=c[Fa>>2]^c[xa+4>>2];Fa=b+76|0;c[Ea>>2]=c[Ea>>2]^c[b+136>>2];c[Fa>>2]=c[Fa>>2]^c[b+140>>2]}else{Fa=f+1|0;a[f>>0]=a[f>>0]^a[xa>>0];Ea=f+2|0;a[Fa>>0]=a[Fa>>0]^a[xa+1>>0];Fa=f+3|0;a[Ea>>0]=a[Ea>>0]^a[xa+2>>0];Ea=f+4|0;a[Fa>>0]=a[Fa>>0]^a[xa+3>>0];Fa=f+5|0;a[Ea>>0]=a[Ea>>0]^a[xa+4>>0];Ea=f+6|0;a[Fa>>0]=a[Fa>>0]^a[xa+5>>0];Fa=f+7|0;a[Ea>>0]=a[Ea>>0]^a[xa+6>>0];Ea=b+72|0;a[Fa>>0]=a[Fa>>0]^a[xa+7>>0];Fa=b+73|0;a[Ea>>0]=a[Ea>>0]^a[b+136>>0];Ea=b+74|0;a[Fa>>0]=a[Fa>>0]^a[b+137>>0];Fa=b+75|0;a[Ea>>0]=a[Ea>>0]^a[b+138>>0];Ea=b+76|0;a[Fa>>0]=a[Fa>>0]^a[b+139>>0];Fa=b+77|0;a[Ea>>0]=a[Ea>>0]^a[b+140>>0];Ea=b+78|0;a[Fa>>0]=a[Fa>>0]^a[b+141>>0];Fa=b+79|0;a[Ea>>0]=a[Ea>>0]^a[b+142>>0];a[Fa>>0]=a[Fa>>0]^a[b+143>>0]}Fa=pb[c[(c[Ca>>2]|0)+36>>2]&63](b+496|0,j,f)|0;i=Fa>>>0>i>>>0?Fa:i;do if(!d){p=c[j>>2]|0;c[za>>2]=p;r=c[j+4>>2]|0;c[za+4>>2]=r;c[za+8>>2]=c[j+8>>2];c[za+12>>2]=c[j+12>>2];do if(!(g&3)){if(h>>>0<=3){k=za;f=h;ya=55;break}n=h+-4|0;o=n&-4;s=o+4|0;q=g+s|0;f=za;k=h;while(1){c[f>>2]=c[g>>2];k=k+-4|0;if(k>>>0<=3)break;else{g=g+4|0;f=f+4|0}}f=n-o|0;if(!f){g=p;f=r}else{g=q;k=za+s|0;ya=55}}else{k=za;f=h;ya=55}while(0);if((ya|0)==55){while(1){a[k>>0]=a[g>>0]|0;f=f+-1|0;if(!f)break;else{g=g+1|0;k=k+1|0;ya=55}}g=c[j>>2]|0;f=c[j+4>>2]|0}r=za+4|0;c[za>>2]=c[za>>2]^g;q=za+8|0;c[r>>2]=c[r>>2]^f;p=za+12|0;c[q>>2]=c[q>>2]^c[j+8>>2];c[p>>2]=c[p>>2]^c[j+12>>2];a[za+h>>0]=-128;if(!(e&3))if(h>>>0>3){k=h+-4|0;n=k&-4;o=n+4|0;g=za+o|0;j=za;f=e;while(1){c[f>>2]=c[j>>2];h=h+-4|0;if(h>>>0<=3)break;else{j=j+4|0;f=f+4|0}}h=k-n|0;e=e+o|0}else g=za;else g=za;if(h|0)while(1){a[e>>0]=a[g>>0]|0;h=h+-1|0;if(!h)break;else{g=g+1|0;e=e+1|0}}h=b+80|0;if(!(h&3)){Fa=h+4|0;c[h>>2]=c[h>>2]^c[za>>2];Ea=b+88|0;c[Fa>>2]=c[Fa>>2]^c[r>>2];Fa=b+92|0;c[Ea>>2]=c[Ea>>2]^c[q>>2];c[Fa>>2]=c[Fa>>2]^c[p>>2];break}else{Fa=h+1|0;a[h>>0]=a[h>>0]^a[za>>0];Ea=h+2|0;a[Fa>>0]=a[Fa>>0]^a[za+1>>0];Fa=h+3|0;a[Ea>>0]=a[Ea>>0]^a[za+2>>0];Ea=h+4|0;a[Fa>>0]=a[Fa>>0]^a[za+3>>0];Fa=h+5|0;a[Ea>>0]=a[Ea>>0]^a[za+4>>0];Ea=h+6|0;a[Fa>>0]=a[Fa>>0]^a[za+5>>0];Fa=h+7|0;a[Ea>>0]=a[Ea>>0]^a[za+6>>0];Ea=b+88|0;a[Fa>>0]=a[Fa>>0]^a[za+7>>0];Fa=b+89|0;a[Ea>>0]=a[Ea>>0]^a[za+8>>0];Ea=b+90|0;a[Fa>>0]=a[Fa>>0]^a[za+9>>0];Fa=b+91|0;a[Ea>>0]=a[Ea>>0]^a[za+10>>0];Ea=b+92|0;a[Fa>>0]=a[Fa>>0]^a[za+11>>0];Fa=b+93|0;a[Ea>>0]=a[Ea>>0]^a[za+12>>0];Ea=b+94|0;a[Fa>>0]=a[Fa>>0]^a[za+13>>0];Fa=b+95|0;a[Ea>>0]=a[Ea>>0]^a[za+14>>0];a[Fa>>0]=a[Fa>>0]^a[za+15>>0];break}}else{s=g;do if(!(s&3)){if(h>>>0<=3){n=g;k=za;f=h;ya=37;break}p=h+-4|0;q=p&-4;r=q+4|0;n=g+r|0;f=g;k=za;o=h;while(1){c[k>>2]=c[f>>2];o=o+-4|0;if(o>>>0<=3)break;else{f=f+4|0;k=k+4|0}}f=p-q|0;if(f|0){k=za+r|0;ya=37}}else{n=g;k=za;f=h;ya=37}while(0);if((ya|0)==37)while(1){a[k>>0]=a[n>>0]|0;f=f+-1|0;if(!f)break;else{n=n+1|0;k=k+1|0;ya=37}}f=za+h|0;Yq(f|0,0,16-h|0)|0;a[f>>0]=-128;f=b+80|0;if(!(f&3)){Fa=f+4|0;c[f>>2]=c[f>>2]^c[za>>2];Ea=b+88|0;c[Fa>>2]=c[Fa>>2]^c[za+4>>2];Fa=b+92|0;c[Ea>>2]=c[Ea>>2]^c[za+8>>2];c[Fa>>2]=c[Fa>>2]^c[za+12>>2]}else{Fa=f+1|0;a[f>>0]=a[f>>0]^a[za>>0];Ea=f+2|0;a[Fa>>0]=a[Fa>>0]^a[za+1>>0];Fa=f+3|0;a[Ea>>0]=a[Ea>>0]^a[za+2>>0];Ea=f+4|0;a[Fa>>0]=a[Fa>>0]^a[za+3>>0];Fa=f+5|0;a[Ea>>0]=a[Ea>>0]^a[za+4>>0];Ea=f+6|0;a[Fa>>0]=a[Fa>>0]^a[za+5>>0];Fa=f+7|0;a[Ea>>0]=a[Ea>>0]^a[za+6>>0];Ea=b+88|0;a[Fa>>0]=a[Fa>>0]^a[za+7>>0];Fa=b+89|0;a[Ea>>0]=a[Ea>>0]^a[za+8>>0];Ea=b+90|0;a[Fa>>0]=a[Fa>>0]^a[za+9>>0];Fa=b+91|0;a[Ea>>0]=a[Ea>>0]^a[za+10>>0];Ea=b+92|0;a[Fa>>0]=a[Fa>>0]^a[za+11>>0];Fa=b+93|0;a[Ea>>0]=a[Ea>>0]^a[za+12>>0];Ea=b+94|0;a[Fa>>0]=a[Fa>>0]^a[za+13>>0];Fa=b+95|0;a[Ea>>0]=a[Ea>>0]^a[za+14>>0];a[Fa>>0]=a[Fa>>0]^a[za+15>>0]}if(!((s|e)&3))if(h>>>0>3){n=h+-4|0;o=n&-4;q=o+4|0;p=j+q|0;f=g;k=e;while(1){c[k>>2]=c[j>>2]^c[f>>2];h=h+-4|0;if(h>>>0<=3)break;else{j=j+4|0;f=f+4|0;k=k+4|0}}h=n-o|0;j=p;g=g+q|0;e=e+q|0}if(h|0)while(1){a[e>>0]=a[j>>0]^a[g>>0];h=h+-1|0;if(!h)break;else{j=j+1|0;g=g+1|0;e=e+1|0}}}while(0)}if(a[Aa>>0]&8){g=b+416|0;h=b+80|0;e=b+64|0;j=g;if(!((h|j|e)&3)){c[g>>2]=c[e>>2]^c[h>>2];c[b+420>>2]=c[e+4>>2]^c[h+4>>2];c[b+424>>2]=c[b+72>>2]^c[b+88>>2];c[b+428>>2]=c[b+76>>2]^c[b+92>>2]}else{a[g>>0]=a[e>>0]^a[h>>0];a[g+1>>0]=a[e+1>>0]^a[h+1>>0];a[g+2>>0]=a[e+2>>0]^a[h+2>>0];Fa=b+420|0;a[g+3>>0]=a[e+3>>0]^a[h+3>>0];a[Fa>>0]=a[e+4>>0]^a[h+4>>0];a[Fa+1>>0]=a[e+5>>0]^a[h+5>>0];a[Fa+2>>0]=a[e+6>>0]^a[h+6>>0];Ea=b+424|0;a[Fa+3>>0]=a[e+7>>0]^a[h+7>>0];a[Ea>>0]=a[b+72>>0]^a[b+88>>0];a[Ea+1>>0]=a[b+73>>0]^a[b+89>>0];a[Ea+2>>0]=a[b+74>>0]^a[b+90>>0];Fa=b+428|0;a[Ea+3>>0]=a[b+75>>0]^a[b+91>>0];a[Fa>>0]=a[b+76>>0]^a[b+92>>0];a[Fa+1>>0]=a[b+77>>0]^a[b+93>>0];a[Fa+2>>0]=a[b+78>>0]^a[b+94>>0];a[Fa+3>>0]=a[b+79>>0]^a[b+95>>0]}h=b+144|0;if(!((h|j)&3)){Fa=b+420|0;c[g>>2]=c[g>>2]^c[h>>2];Ea=b+424|0;c[Fa>>2]=c[Fa>>2]^c[b+148>>2];Fa=b+428|0;c[Ea>>2]=c[Ea>>2]^c[b+152>>2];c[Fa>>2]=c[Fa>>2]^c[b+156>>2]}else{Fa=g+1|0;a[g>>0]=a[g>>0]^a[h>>0];Ea=g+2|0;a[Fa>>0]=a[Fa>>0]^a[b+145>>0];Fa=g+3|0;a[Ea>>0]=a[Ea>>0]^a[b+146>>0];Ea=b+420|0;a[Fa>>0]=a[Fa>>0]^a[b+147>>0];Fa=Ea+1|0;a[Ea>>0]=a[Ea>>0]^a[b+148>>0];Aa=Ea+2|0;a[Fa>>0]=a[Fa>>0]^a[b+149>>0];Ea=Ea+3|0;a[Aa>>0]=a[Aa>>0]^a[b+150>>0];Aa=b+424|0;a[Ea>>0]=a[Ea>>0]^a[b+151>>0];Ea=Aa+1|0;a[Aa>>0]=a[Aa>>0]^a[b+152>>0];Fa=Aa+2|0;a[Ea>>0]=a[Ea>>0]^a[b+153>>0];Aa=Aa+3|0;a[Fa>>0]=a[Fa>>0]^a[b+154>>0];Fa=b+428|0;a[Aa>>0]=a[Aa>>0]^a[b+155>>0];Aa=Fa+1|0;a[Fa>>0]=a[Fa>>0]^a[b+156>>0];Ea=Fa+2|0;a[Aa>>0]=a[Aa>>0]^a[b+157>>0];Fa=Fa+3|0;a[Ea>>0]=a[Ea>>0]^a[b+158>>0];a[Fa>>0]=a[Fa>>0]^a[b+159>>0]}Fa=pb[c[(c[Ca>>2]|0)+36>>2]&63](b+496|0,g,g)|0;a[Ba>>0]=a[Ba>>0]|1;i=Fa>>>0>i>>>0?Fa:i}if(!i){Fa=0;l=Da;return Fa|0}Te(i+16|0);Fa=0;l=Da;return Fa|0}function pm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;if(!e)return;s=b;t=b+4|0;u=b+8|0;v=b+12|0;w=b+1|0;x=b+2|0;f=b+3|0;g=b+4|0;h=b+5|0;i=b+6|0;j=b+7|0;k=b+8|0;l=b+9|0;m=b+10|0;n=b+11|0;o=b+12|0;p=b+13|0;q=b+14|0;r=b+15|0;while(1){if(!((d|s)&3)){c[b>>2]=c[b>>2]^c[d>>2];c[t>>2]=c[t>>2]^c[d+4>>2];c[u>>2]=c[u>>2]^c[d+8>>2];c[v>>2]=c[v>>2]^c[d+12>>2]}else{a[b>>0]=a[b>>0]^a[d>>0];a[w>>0]=a[w>>0]^a[d+1>>0];a[x>>0]=a[x>>0]^a[d+2>>0];a[f>>0]=a[f>>0]^a[d+3>>0];a[g>>0]=a[g>>0]^a[d+4>>0];a[h>>0]=a[h>>0]^a[d+5>>0];a[i>>0]=a[i>>0]^a[d+6>>0];a[j>>0]=a[j>>0]^a[d+7>>0];a[k>>0]=a[k>>0]^a[d+8>>0];a[l>>0]=a[l>>0]^a[d+9>>0];a[m>>0]=a[m>>0]^a[d+10>>0];a[n>>0]=a[n>>0]^a[d+11>>0];a[o>>0]=a[o>>0]^a[d+12>>0];a[p>>0]=a[p>>0]^a[d+13>>0];a[q>>0]=a[q>>0]^a[d+14>>0];a[r>>0]=a[r>>0]^a[d+15>>0]}e=e+-1|0;if(!e)break;else d=d+16|0}return}function qm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return om(a,0,b,c,d,e)|0}
-function mi(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,qb=0,rb=0,sb=0,tb=0,ub=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0;Gb=l;l=l+16|0;if((l|0)>=(m|0))$(16);Eb=Gb;Fb=b+496|0;if(!g){bi(Fb);g=c[Fb+500>>2]|0;if(g|0)vb[g&3]();i=c[Fb+492>>2]|0;if(!f)g=0;else{j=b+464|0;k=b+64|0;n=k;o=k+4|0;p=b+72|0;q=b+76|0;r=Eb+4|0;s=Eb+8|0;t=Eb+12|0;u=(n&3|0)==0;v=b+80|0;w=(v&3|0)==0;x=v+4|0;y=b+88|0;z=b+92|0;A=b+160|0;B=Eb+1|0;C=Eb+2|0;E=Eb+3|0;F=Eb+4|0;G=F+1|0;H=F+2|0;I=F+3|0;J=Eb+8|0;K=J+1|0;L=J+2|0;M=J+3|0;N=Eb+12|0;O=N+1|0;P=N+2|0;Q=N+3|0;R=Eb+1|0;S=v+1|0;T=Eb+2|0;U=v+2|0;V=Eb+3|0;W=v+3|0;X=Eb+4|0;Y=v+4|0;Z=X+1|0;_=v+5|0;aa=X+2|0;ba=v+6|0;ca=X+3|0;da=v+7|0;ea=Eb+8|0;fa=b+88|0;ga=ea+1|0;ha=b+89|0;ia=ea+2|0;ja=b+90|0;ka=ea+3|0;la=b+91|0;ma=Eb+12|0;na=b+92|0;oa=ma+1|0;pa=b+93|0;qa=ma+2|0;ra=b+94|0;sa=ma+3|0;ta=b+95|0;ua=k+1|0;va=Eb+1|0;wa=k+2|0;xa=Eb+2|0;ya=k+3|0;za=Eb+3|0;Aa=k+4|0;Ba=Eb+4|0;Ca=k+5|0;Da=Ba+1|0;Ea=k+6|0;Fa=Ba+2|0;Ga=k+7|0;Ha=Ba+3|0;Ia=b+72|0;Ja=Eb+8|0;Ka=b+73|0;La=Ja+1|0;Ma=b+74|0;Na=Ja+2|0;Oa=b+75|0;Pa=Ja+3|0;Qa=b+76|0;Ra=Eb+12|0;Sa=b+77|0;Ta=Ra+1|0;Ua=b+78|0;Va=Ra+2|0;Wa=b+79|0;Xa=Ra+3|0;Ya=Eb+1|0;Za=Eb+2|0;_a=Eb+3|0;$a=Eb+4|0;ab=$a+1|0;bb=$a+2|0;cb=$a+3|0;db=Eb+8|0;eb=db+1|0;fb=db+2|0;gb=db+3|0;hb=Eb+12|0;ib=hb+1|0;jb=hb+2|0;kb=hb+3|0;lb=k+1|0;mb=k+2|0;nb=k+3|0;ob=k+4|0;qb=k+5|0;rb=k+6|0;sb=k+7|0;tb=b+72|0;ub=b+73|0;wb=b+74|0;xb=b+75|0;yb=b+76|0;zb=b+77|0;Ab=b+78|0;Bb=b+79|0;while(1){g=j;g=_q(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;h=D;Cb=j;c[Cb>>2]=g;c[Cb+4>>2]=h;if(!((g|0)==0&0==0)?(Db=$q(g|0)|0,Db>>>0<16):0)g=A+(Db<<4)|0;else g=km(b,Eb,g,h)|0;if(!((g|n)&3)){c[k>>2]=c[k>>2]^c[g>>2];c[o>>2]=c[o>>2]^c[g+4>>2];c[p>>2]=c[p>>2]^c[g+8>>2];c[q>>2]=c[q>>2]^c[g+12>>2]}else{a[k>>0]=a[k>>0]^a[g>>0];a[lb>>0]=a[lb>>0]^a[g+1>>0];a[mb>>0]=a[mb>>0]^a[g+2>>0];a[nb>>0]=a[nb>>0]^a[g+3>>0];a[ob>>0]=a[ob>>0]^a[g+4>>0];a[qb>>0]=a[qb>>0]^a[g+5>>0];a[rb>>0]=a[rb>>0]^a[g+6>>0];a[sb>>0]=a[sb>>0]^a[g+7>>0];a[tb>>0]=a[tb>>0]^a[g+8>>0];a[ub>>0]=a[ub>>0]^a[g+9>>0];a[wb>>0]=a[wb>>0]^a[g+10>>0];a[xb>>0]=a[xb>>0]^a[g+11>>0];a[yb>>0]=a[yb>>0]^a[g+12>>0];a[zb>>0]=a[zb>>0]^a[g+13>>0];a[Ab>>0]=a[Ab>>0]^a[g+14>>0];a[Bb>>0]=a[Bb>>0]^a[g+15>>0]}if(!(e&3)){c[Eb>>2]=c[e>>2];c[r>>2]=c[e+4>>2];c[s>>2]=c[e+8>>2];c[t>>2]=c[e+12>>2]}else{a[Eb>>0]=a[e>>0]|0;a[Ya>>0]=a[e+1>>0]|0;a[Za>>0]=a[e+2>>0]|0;a[_a>>0]=a[e+3>>0]|0;a[$a>>0]=a[e+4>>0]|0;a[ab>>0]=a[e+5>>0]|0;a[bb>>0]=a[e+6>>0]|0;a[cb>>0]=a[e+7>>0]|0;a[db>>0]=a[e+8>>0]|0;a[eb>>0]=a[e+9>>0]|0;a[fb>>0]=a[e+10>>0]|0;a[gb>>0]=a[e+11>>0]|0;a[hb>>0]=a[e+12>>0]|0;a[ib>>0]=a[e+13>>0]|0;a[jb>>0]=a[e+14>>0]|0;a[kb>>0]=a[e+15>>0]|0}if(u){c[Eb>>2]=c[Eb>>2]^c[k>>2];c[r>>2]=c[r>>2]^c[o>>2];c[s>>2]=c[s>>2]^c[p>>2];c[t>>2]=c[t>>2]^c[q>>2];g=pb[i&63](Fb,Eb,Eb)|0;c[Eb>>2]=c[Eb>>2]^c[k>>2];c[r>>2]=c[r>>2]^c[o>>2];c[s>>2]=c[s>>2]^c[p>>2];c[t>>2]=c[t>>2]^c[q>>2]}else{a[Eb>>0]=a[Eb>>0]^a[k>>0];a[va>>0]=a[va>>0]^a[ua>>0];a[xa>>0]=a[xa>>0]^a[wa>>0];a[za>>0]=a[za>>0]^a[ya>>0];a[Ba>>0]=a[Ba>>0]^a[Aa>>0];a[Da>>0]=a[Da>>0]^a[Ca>>0];a[Fa>>0]=a[Fa>>0]^a[Ea>>0];a[Ha>>0]=a[Ha>>0]^a[Ga>>0];a[Ja>>0]=a[Ja>>0]^a[Ia>>0];a[La>>0]=a[La>>0]^a[Ka>>0];a[Na>>0]=a[Na>>0]^a[Ma>>0];a[Pa>>0]=a[Pa>>0]^a[Oa>>0];a[Ra>>0]=a[Ra>>0]^a[Qa>>0];a[Ta>>0]=a[Ta>>0]^a[Sa>>0];a[Va>>0]=a[Va>>0]^a[Ua>>0];a[Xa>>0]=a[Xa>>0]^a[Wa>>0];g=pb[i&63](Fb,Eb,Eb)|0;a[Eb>>0]=a[Eb>>0]^a[k>>0];a[va>>0]=a[va>>0]^a[ua>>0];a[xa>>0]=a[xa>>0]^a[wa>>0];a[za>>0]=a[za>>0]^a[ya>>0];a[Ba>>0]=a[Ba>>0]^a[Aa>>0];a[Da>>0]=a[Da>>0]^a[Ca>>0];a[Fa>>0]=a[Fa>>0]^a[Ea>>0];a[Ha>>0]=a[Ha>>0]^a[Ga>>0];a[Ja>>0]=a[Ja>>0]^a[Ia>>0];a[La>>0]=a[La>>0]^a[Ka>>0];a[Na>>0]=a[Na>>0]^a[Ma>>0];a[Pa>>0]=a[Pa>>0]^a[Oa>>0];a[Ra>>0]=a[Ra>>0]^a[Qa>>0];a[Ta>>0]=a[Ta>>0]^a[Sa>>0];a[Va>>0]=a[Va>>0]^a[Ua>>0];a[Xa>>0]=a[Xa>>0]^a[Wa>>0]}if(w){h=c[Eb>>2]|0;c[v>>2]=c[v>>2]^h;c[x>>2]=c[x>>2]^c[r>>2];c[y>>2]=c[y>>2]^c[s>>2];c[z>>2]=c[z>>2]^c[t>>2];h=h&255}else{h=a[Eb>>0]|0;a[v>>0]=a[v>>0]^h;a[S>>0]=a[S>>0]^a[R>>0];a[U>>0]=a[U>>0]^a[T>>0];a[W>>0]=a[W>>0]^a[V>>0];a[Y>>0]=a[Y>>0]^a[X>>0];a[_>>0]=a[_>>0]^a[Z>>0];a[ba>>0]=a[ba>>0]^a[aa>>0];a[da>>0]=a[da>>0]^a[ca>>0];a[fa>>0]=a[fa>>0]^a[ea>>0];a[ha>>0]=a[ha>>0]^a[ga>>0];a[ja>>0]=a[ja>>0]^a[ia>>0];a[la>>0]=a[la>>0]^a[ka>>0];a[na>>0]=a[na>>0]^a[ma>>0];a[pa>>0]=a[pa>>0]^a[oa>>0];a[ra>>0]=a[ra>>0]^a[qa>>0];a[ta>>0]=a[ta>>0]^a[sa>>0]}if(!(d&3)){c[d>>2]=c[Eb>>2];c[d+4>>2]=c[r>>2];c[d+8>>2]=c[s>>2];c[d+12>>2]=c[t>>2]}else{a[d>>0]=h;a[d+1>>0]=a[B>>0]|0;a[d+2>>0]=a[C>>0]|0;a[d+3>>0]=a[E>>0]|0;a[d+4>>0]=a[F>>0]|0;a[d+5>>0]=a[G>>0]|0;a[d+6>>0]=a[H>>0]|0;a[d+7>>0]=a[I>>0]|0;a[d+8>>0]=a[J>>0]|0;a[d+9>>0]=a[K>>0]|0;a[d+10>>0]=a[L>>0]|0;a[d+11>>0]=a[M>>0]|0;a[d+12>>0]=a[N>>0]|0;a[d+13>>0]=a[O>>0]|0;a[d+14>>0]=a[P>>0]|0;a[d+15>>0]=a[Q>>0]|0}f=f+-1|0;if(!f)break;else{d=d+16|0;e=e+16|0}}}}else{g=c[Fb+496>>2]|0;if(g|0)vb[g&3]();_=c[Fb+488>>2]|0;if(!f)g=0;else{aa=b+464|0;ba=b+64|0;ca=ba;da=ba+4|0;ea=b+72|0;fa=b+76|0;ga=Eb+4|0;ha=Eb+8|0;ia=Eb+12|0;ja=b+80|0;ka=(ja&3|0)==0;la=ja+4|0;ma=b+88|0;na=b+92|0;oa=(ca&3|0)==0;pa=b+160|0;qa=Eb+1|0;ra=Eb+2|0;sa=Eb+3|0;ta=Eb+4|0;ua=ta+1|0;va=ta+2|0;wa=ta+3|0;xa=Eb+8|0;ya=xa+1|0;za=xa+2|0;Aa=xa+3|0;Ba=Eb+12|0;Ca=Ba+1|0;Da=Ba+2|0;Ea=Ba+3|0;Fa=ba+1|0;Ga=Eb+1|0;Ha=ba+2|0;Ia=Eb+2|0;Ja=ba+3|0;Ka=Eb+3|0;La=ba+4|0;Ma=Eb+4|0;Na=ba+5|0;Oa=Ma+1|0;Pa=ba+6|0;Qa=Ma+2|0;Ra=ba+7|0;Sa=Ma+3|0;Ta=b+72|0;Ua=Eb+8|0;Va=b+73|0;Wa=Ua+1|0;Xa=b+74|0;Ya=Ua+2|0;Za=b+75|0;_a=Ua+3|0;$a=b+76|0;ab=Eb+12|0;bb=b+77|0;cb=ab+1|0;db=b+78|0;eb=ab+2|0;fb=b+79|0;gb=ab+3|0;hb=Eb+1|0;ib=ja+1|0;jb=Eb+2|0;kb=ja+2|0;lb=Eb+3|0;mb=ja+3|0;nb=Eb+4|0;ob=ja+4|0;qb=nb+1|0;rb=ja+5|0;sb=nb+2|0;tb=ja+6|0;ub=nb+3|0;wb=ja+7|0;xb=Eb+8|0;yb=b+88|0;zb=xb+1|0;Ab=b+89|0;Bb=xb+2|0;i=b+90|0;j=xb+3|0;k=b+91|0;n=Eb+12|0;o=b+92|0;p=n+1|0;q=b+93|0;r=n+2|0;s=b+94|0;t=n+3|0;u=b+95|0;v=Eb+1|0;w=Eb+2|0;x=Eb+3|0;y=Eb+4|0;z=y+1|0;A=y+2|0;B=y+3|0;C=Eb+8|0;E=C+1|0;F=C+2|0;G=C+3|0;H=Eb+12|0;I=H+1|0;J=H+2|0;K=H+3|0;L=ba+1|0;M=ba+2|0;N=ba+3|0;O=ba+4|0;P=ba+5|0;Q=ba+6|0;R=ba+7|0;S=b+72|0;T=b+73|0;U=b+74|0;V=b+75|0;W=b+76|0;X=b+77|0;Y=b+78|0;Z=b+79|0;while(1){g=aa;g=_q(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;h=D;Db=aa;c[Db>>2]=g;c[Db+4>>2]=h;if(!((g|0)==0&0==0)?(Cb=$q(g|0)|0,Cb>>>0<16):0)g=pa+(Cb<<4)|0;else g=km(b,Eb,g,h)|0;if(!((g|ca)&3)){c[ba>>2]=c[ba>>2]^c[g>>2];c[da>>2]=c[da>>2]^c[g+4>>2];c[ea>>2]=c[ea>>2]^c[g+8>>2];c[fa>>2]=c[fa>>2]^c[g+12>>2]}else{a[ba>>0]=a[ba>>0]^a[g>>0];a[L>>0]=a[L>>0]^a[g+1>>0];a[M>>0]=a[M>>0]^a[g+2>>0];a[N>>0]=a[N>>0]^a[g+3>>0];a[O>>0]=a[O>>0]^a[g+4>>0];a[P>>0]=a[P>>0]^a[g+5>>0];a[Q>>0]=a[Q>>0]^a[g+6>>0];a[R>>0]=a[R>>0]^a[g+7>>0];a[S>>0]=a[S>>0]^a[g+8>>0];a[T>>0]=a[T>>0]^a[g+9>>0];a[U>>0]=a[U>>0]^a[g+10>>0];a[V>>0]=a[V>>0]^a[g+11>>0];a[W>>0]=a[W>>0]^a[g+12>>0];a[X>>0]=a[X>>0]^a[g+13>>0];a[Y>>0]=a[Y>>0]^a[g+14>>0];a[Z>>0]=a[Z>>0]^a[g+15>>0]}if(!(e&3)){c[Eb>>2]=c[e>>2];c[ga>>2]=c[e+4>>2];c[ha>>2]=c[e+8>>2];c[ia>>2]=c[e+12>>2]}else{a[Eb>>0]=a[e>>0]|0;a[v>>0]=a[e+1>>0]|0;a[w>>0]=a[e+2>>0]|0;a[x>>0]=a[e+3>>0]|0;a[y>>0]=a[e+4>>0]|0;a[z>>0]=a[e+5>>0]|0;a[A>>0]=a[e+6>>0]|0;a[B>>0]=a[e+7>>0]|0;a[C>>0]=a[e+8>>0]|0;a[E>>0]=a[e+9>>0]|0;a[F>>0]=a[e+10>>0]|0;a[G>>0]=a[e+11>>0]|0;a[H>>0]=a[e+12>>0]|0;a[I>>0]=a[e+13>>0]|0;a[J>>0]=a[e+14>>0]|0;a[K>>0]=a[e+15>>0]|0}if(ka){g=c[Eb>>2]|0;c[ja>>2]=c[ja>>2]^g;c[la>>2]=c[la>>2]^c[ga>>2];c[ma>>2]=c[ma>>2]^c[ha>>2];c[na>>2]=c[na>>2]^c[ia>>2];g=g&255}else{g=a[Eb>>0]|0;a[ja>>0]=a[ja>>0]^g;a[ib>>0]=a[ib>>0]^a[hb>>0];a[kb>>0]=a[kb>>0]^a[jb>>0];a[mb>>0]=a[mb>>0]^a[lb>>0];a[ob>>0]=a[ob>>0]^a[nb>>0];a[rb>>0]=a[rb>>0]^a[qb>>0];a[tb>>0]=a[tb>>0]^a[sb>>0];a[wb>>0]=a[wb>>0]^a[ub>>0];a[yb>>0]=a[yb>>0]^a[xb>>0];a[Ab>>0]=a[Ab>>0]^a[zb>>0];a[i>>0]=a[i>>0]^a[Bb>>0];a[k>>0]=a[k>>0]^a[j>>0];a[o>>0]=a[o>>0]^a[n>>0];a[q>>0]=a[q>>0]^a[p>>0];a[s>>0]=a[s>>0]^a[r>>0];a[u>>0]=a[u>>0]^a[t>>0]}if(oa){c[Eb>>2]=c[Eb>>2]^c[ba>>2];c[ga>>2]=c[ga>>2]^c[da>>2];c[ha>>2]=c[ha>>2]^c[ea>>2];c[ia>>2]=c[ia>>2]^c[fa>>2];g=pb[_&63](Fb,Eb,Eb)|0;c[Eb>>2]=c[Eb>>2]^c[ba>>2];c[ga>>2]=c[ga>>2]^c[da>>2];c[ha>>2]=c[ha>>2]^c[ea>>2];c[ia>>2]=c[ia>>2]^c[fa>>2]}else{a[Eb>>0]=g^a[ba>>0];a[Ga>>0]=a[Ga>>0]^a[Fa>>0];a[Ia>>0]=a[Ia>>0]^a[Ha>>0];a[Ka>>0]=a[Ka>>0]^a[Ja>>0];a[Ma>>0]=a[Ma>>0]^a[La>>0];a[Oa>>0]=a[Oa>>0]^a[Na>>0];a[Qa>>0]=a[Qa>>0]^a[Pa>>0];a[Sa>>0]=a[Sa>>0]^a[Ra>>0];a[Ua>>0]=a[Ua>>0]^a[Ta>>0];a[Wa>>0]=a[Wa>>0]^a[Va>>0];a[Ya>>0]=a[Ya>>0]^a[Xa>>0];a[_a>>0]=a[_a>>0]^a[Za>>0];a[ab>>0]=a[ab>>0]^a[$a>>0];a[cb>>0]=a[cb>>0]^a[bb>>0];a[eb>>0]=a[eb>>0]^a[db>>0];a[gb>>0]=a[gb>>0]^a[fb>>0];g=pb[_&63](Fb,Eb,Eb)|0;a[Eb>>0]=a[Eb>>0]^a[ba>>0];a[Ga>>0]=a[Ga>>0]^a[Fa>>0];a[Ia>>0]=a[Ia>>0]^a[Ha>>0];a[Ka>>0]=a[Ka>>0]^a[Ja>>0];a[Ma>>0]=a[Ma>>0]^a[La>>0];a[Oa>>0]=a[Oa>>0]^a[Na>>0];a[Qa>>0]=a[Qa>>0]^a[Pa>>0];a[Sa>>0]=a[Sa>>0]^a[Ra>>0];a[Ua>>0]=a[Ua>>0]^a[Ta>>0];a[Wa>>0]=a[Wa>>0]^a[Va>>0];a[Ya>>0]=a[Ya>>0]^a[Xa>>0];a[_a>>0]=a[_a>>0]^a[Za>>0];a[ab>>0]=a[ab>>0]^a[$a>>0];a[cb>>0]=a[cb>>0]^a[bb>>0];a[eb>>0]=a[eb>>0]^a[db>>0];a[gb>>0]=a[gb>>0]^a[fb>>0]}if(!(d&3)){c[d>>2]=c[Eb>>2];c[d+4>>2]=c[ga>>2];c[d+8>>2]=c[ha>>2];c[d+12>>2]=c[ia>>2]}else{a[d>>0]=a[Eb>>0]|0;a[d+1>>0]=a[qa>>0]|0;a[d+2>>0]=a[ra>>0]|0;a[d+3>>0]=a[sa>>0]|0;a[d+4>>0]=a[ta>>0]|0;a[d+5>>0]=a[ua>>0]|0;a[d+6>>0]=a[va>>0]|0;a[d+7>>0]=a[wa>>0]|0;a[d+8>>0]=a[xa>>0]|0;a[d+9>>0]=a[ya>>0]|0;a[d+10>>0]=a[za>>0]|0;a[d+11>>0]=a[Aa>>0]|0;a[d+12>>0]=a[Ba>>0]|0;a[d+13>>0]=a[Ca>>0]|0;a[d+14>>0]=a[Da>>0]|0;a[d+15>>0]=a[Ea>>0]|0}f=f+-1|0;if(!f)break;else{d=d+16|0;e=e+16|0}}}}if(!g){l=Gb;return}Te(g+16|0);l=Gb;return}function ni(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0;Za=l;l=l+16|0;if((l|0)>=(m|0))$(16);Xa=Za;Ya=b+496|0;f=c[Ya+496>>2]|0;if(f|0)vb[f&3]();La=c[Ya+488>>2]|0;if(!e){Ya=Xa;c[Ya>>2]=0;c[Ya+4>>2]=0;Ya=Xa+8|0;c[Ya>>2]=0;c[Ya+4>>2]=0;l=Za;return}v=b+472|0;w=b+432|0;x=w;y=b+436|0;z=b+440|0;A=b+444|0;B=Xa+4|0;C=Xa+8|0;E=Xa+12|0;F=b+448|0;G=(F&3|0)==0;H=b+452|0;I=b+456|0;J=b+460|0;K=b+160|0;L=Xa+1|0;M=F+1|0;N=Xa+2|0;O=F+2|0;P=Xa+3|0;Q=F+3|0;R=Xa+4|0;S=b+452|0;T=R+1|0;U=S+1|0;V=R+2|0;W=S+2|0;X=R+3|0;Y=S+3|0;Z=Xa+8|0;_=b+456|0;aa=Z+1|0;ba=_+1|0;ca=Z+2|0;da=_+2|0;ea=Z+3|0;fa=_+3|0;ga=Xa+12|0;ha=b+460|0;ia=ga+1|0;ja=ha+1|0;ka=ga+2|0;la=ha+2|0;ma=ga+3|0;na=ha+3|0;oa=w+1|0;pa=Xa+1|0;qa=w+2|0;ra=Xa+2|0;sa=w+3|0;ta=Xa+3|0;ua=b+436|0;va=Xa+4|0;wa=ua+1|0;xa=va+1|0;ya=ua+2|0;za=va+2|0;Aa=ua+3|0;Ba=va+3|0;Ca=b+440|0;Da=Xa+8|0;Ea=Ca+1|0;Fa=Da+1|0;Ga=Ca+2|0;Ha=Da+2|0;Ia=Ca+3|0;Ja=Da+3|0;Ka=b+444|0;Ma=Xa+12|0;Na=Ka+1|0;Oa=Ma+1|0;Pa=Ka+2|0;Qa=Ma+2|0;Ra=Ka+3|0;Sa=Ma+3|0;Ta=w+1|0;Ua=w+2|0;Va=w+3|0;h=b+436|0;i=h+1|0;j=h+2|0;k=h+3|0;n=b+440|0;o=n+1|0;p=n+2|0;q=n+3|0;r=b+444|0;s=r+1|0;t=r+2|0;u=r+3|0;g=e;while(1){f=v;f=_q(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;e=D;_a=v;c[_a>>2]=f;c[_a+4>>2]=e;if(!((f|0)==0&0==0)?(Wa=$q(f|0)|0,Wa>>>0<16):0)f=K+(Wa<<4)|0;else f=km(b,Xa,f,e)|0;if(!((f|x)&3)){c[w>>2]=c[w>>2]^c[f>>2];c[y>>2]=c[y>>2]^c[f+4>>2];c[z>>2]=c[z>>2]^c[f+8>>2];c[A>>2]=c[A>>2]^c[f+12>>2]}else{a[w>>0]=a[w>>0]^a[f>>0];a[Ta>>0]=a[Ta>>0]^a[f+1>>0];a[Ua>>0]=a[Ua>>0]^a[f+2>>0];a[Va>>0]=a[Va>>0]^a[f+3>>0];a[h>>0]=a[h>>0]^a[f+4>>0];a[i>>0]=a[i>>0]^a[f+5>>0];a[j>>0]=a[j>>0]^a[f+6>>0];a[k>>0]=a[k>>0]^a[f+7>>0];a[n>>0]=a[n>>0]^a[f+8>>0];a[o>>0]=a[o>>0]^a[f+9>>0];a[p>>0]=a[p>>0]^a[f+10>>0];a[q>>0]=a[q>>0]^a[f+11>>0];a[r>>0]=a[r>>0]^a[f+12>>0];a[s>>0]=a[s>>0]^a[f+13>>0];a[t>>0]=a[t>>0]^a[f+14>>0];a[u>>0]=a[u>>0]^a[f+15>>0]}if(!((d|x)&3)){c[Xa>>2]=c[d>>2]^c[w>>2];c[B>>2]=c[d+4>>2]^c[y>>2];c[C>>2]=c[d+8>>2]^c[z>>2];c[E>>2]=c[d+12>>2]^c[A>>2]}else{a[Xa>>0]=a[d>>0]^a[w>>0];a[pa>>0]=a[d+1>>0]^a[oa>>0];a[ra>>0]=a[d+2>>0]^a[qa>>0];a[ta>>0]=a[d+3>>0]^a[sa>>0];a[va>>0]=a[d+4>>0]^a[ua>>0];a[xa>>0]=a[d+5>>0]^a[wa>>0];a[za>>0]=a[d+6>>0]^a[ya>>0];a[Ba>>0]=a[d+7>>0]^a[Aa>>0];a[Da>>0]=a[d+8>>0]^a[Ca>>0];a[Fa>>0]=a[d+9>>0]^a[Ea>>0];a[Ha>>0]=a[d+10>>0]^a[Ga>>0];a[Ja>>0]=a[d+11>>0]^a[Ia>>0];a[Ma>>0]=a[d+12>>0]^a[Ka>>0];a[Oa>>0]=a[d+13>>0]^a[Na>>0];a[Qa>>0]=a[d+14>>0]^a[Pa>>0];a[Sa>>0]=a[d+15>>0]^a[Ra>>0]}f=pb[La&63](Ya,Xa,Xa)|0;if(G){c[F>>2]=c[F>>2]^c[Xa>>2];c[H>>2]=c[H>>2]^c[B>>2];c[I>>2]=c[I>>2]^c[C>>2];c[J>>2]=c[J>>2]^c[E>>2]}else{a[F>>0]=a[F>>0]^a[Xa>>0];a[M>>0]=a[M>>0]^a[L>>0];a[O>>0]=a[O>>0]^a[N>>0];a[Q>>0]=a[Q>>0]^a[P>>0];a[S>>0]=a[S>>0]^a[R>>0];a[U>>0]=a[U>>0]^a[T>>0];a[W>>0]=a[W>>0]^a[V>>0];a[Y>>0]=a[Y>>0]^a[X>>0];a[_>>0]=a[_>>0]^a[Z>>0];a[ba>>0]=a[ba>>0]^a[aa>>0];a[da>>0]=a[da>>0]^a[ca>>0];a[fa>>0]=a[fa>>0]^a[ea>>0];a[ha>>0]=a[ha>>0]^a[ga>>0];a[ja>>0]=a[ja>>0]^a[ia>>0];a[la>>0]=a[la>>0]^a[ka>>0];a[na>>0]=a[na>>0]^a[ma>>0]}g=g+-1|0;if(!g)break;else d=d+16|0}_a=Xa;c[_a>>2]=0;c[_a+4>>2]=0;_a=Xa+8|0;c[_a>>2]=0;c[_a+4>>2]=0;if(!f){l=Za;return}Te(f+16|0);l=Za;return}function oi(a,b){a=a|0;b=b|0;c[a+160>>2]=1732584193;c[a+164>>2]=-271733879;c[a+168>>2]=-1732584194;c[a+172>>2]=271733878;c[a+176>>2]=-1009589776;b=a+128|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[a+148>>2]=64;c[a+152>>2]=31;return}function pi(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;Jm(b,0,0);h=b+128|0;f=c[h>>2]|0;i=f<<6;h=gr(f|0,c[h+4>>2]|0,26)|0;e=b+144|0;j=c[e>>2]|0;g=i+j|0;f=(g>>>0<i>>>0&1)+(h&536870848|f>>>26)|0;h=g<<3;i=f<<3|g>>>29;c[e>>2]=j+1;a[b+j>>0]=-128;d=c[e>>2]|0;if((j|0)<56){if((d|0)<56)do{c[e>>2]=d+1;a[b+d>>0]=0;d=c[e>>2]|0}while((d|0)<56)}else{if((d|0)<64)do{c[e>>2]=d+1;a[b+d>>0]=0;d=c[e>>2]|0}while((d|0)<64);Jm(b,0,0);d=b;e=d+56|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0))}a[b+59>>0]=g>>>21;a[b+58>>0]=g>>>13;a[b+57>>0]=g>>>5;a[b+56>>0]=h;a[b+63>>0]=f>>>21;a[b+62>>0]=f>>>13;a[b+61>>0]=f>>>5;a[b+60>>0]=i;ri(b,b,1)|0;Te(124);j=c[b+160>>2]|0;a[b+3>>0]=j>>>24;a[b+2>>0]=j>>>16;a[b+1>>0]=j>>>8;a[b>>0]=j;j=c[b+164>>2]|0;a[b+7>>0]=j>>>24;a[b+6>>0]=j>>>16;a[b+5>>0]=j>>>8;a[b+4>>0]=j;j=c[b+168>>2]|0;a[b+11>>0]=j>>>24;a[b+10>>0]=j>>>16;a[b+9>>0]=j>>>8;a[b+8>>0]=j;j=c[b+172>>2]|0;a[b+15>>0]=j>>>24;a[b+14>>0]=j>>>16;a[b+13>>0]=j>>>8;a[b+12>>0]=j;j=c[b+176>>2]|0;a[b+19>>0]=j>>>24;a[b+18>>0]=j>>>16;a[b+17>>0]=j>>>8;a[b+16>>0]=j;return}function qi(a){a=a|0;return a|0}function ri(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0;C=l;l=l+64|0;if((l|0)>=(m|0))$(64);x=C;y=a+160|0;z=a+164|0;A=a+168|0;B=a+172|0;v=a+176|0;w=x+20|0;f=x+4|0;g=x+56|0;h=x+8|0;i=x+28|0;j=x+12|0;k=x+16|0;n=x+36|0;o=x+24|0;p=x+44|0;q=x+32|0;r=x+52|0;s=x+40|0;t=x+60|0;u=x+48|0;while(1){a=0;do{D=b+(a<<2)|0;c[x+(a<<2)>>2]=(d[D+2>>0]|0)<<16|(d[D+3>>0]|0)<<24|(d[D+1>>0]|0)<<8|(d[D>>0]|0);a=a+1|0}while((a|0)!=16);V=c[y>>2]|0;a=c[z>>2]|0;M=c[A>>2]|0;ca=c[B>>2]|0;Z=c[v>>2]|0;N=c[x>>2]|0;H=(M^a^ca)+V+N|0;H=(H<<11|H>>>21)+Z|0;X=M<<10|M>>>22;O=c[w>>2]|0;V=V+1352829926+((M|~ca)^a)+O|0;V=(V<<8|V>>>24)+Z|0;Y=c[f>>2]|0;K=Y+Z+(X^a^H)|0;K=(K<<14|K>>>18)+ca|0;aa=a<<10|a>>>22;J=c[g>>2]|0;Z=Z+1352829926+J+(V^(a|~X))|0;Z=(Z<<9|Z>>>23)+ca|0;Q=c[h>>2]|0;da=Q+ca+(H^aa^K)|0;da=(da<<15|da>>>17)+X|0;H=H<<10|H>>>22;U=c[i>>2]|0;ca=ca+1352829926+U+(Z^(V|~aa))|0;ca=(ca<<9|ca>>>23)+X|0;V=V<<10|V>>>22;E=c[j>>2]|0;D=E+X+(K^H^da)|0;D=(D<<12|D>>>20)+aa|0;K=K<<10|K>>>22;X=X+1352829926+N+(ca^(Z|~V))|0;X=(X<<11|X>>>21)+aa|0;Z=Z<<10|Z>>>22;S=c[k>>2]|0;F=S+aa+(da^K^D)|0;F=(F<<5|F>>>27)+H|0;da=da<<10|da>>>22;G=c[n>>2]|0;aa=aa+1352829926+G+(X^(ca|~Z))|0;aa=(aa<<13|aa>>>19)+V|0;ca=ca<<10|ca>>>22;H=H+O+(D^da^F)|0;H=(H<<8|H>>>24)+K|0;D=D<<10|D>>>22;V=Q+1352829926+V+(aa^(X|~ca))|0;V=(V<<15|V>>>17)+Z|0;X=X<<10|X>>>22;T=c[o>>2]|0;K=K+T+(F^D^H)|0;K=(K<<7|K>>>25)+da|0;F=F<<10|F>>>22;I=c[p>>2]|0;Z=I+1352829926+Z+(V^(aa|~X))|0;Z=(Z<<15|Z>>>17)+ca|0;aa=aa<<10|aa>>>22;da=da+U+(H^F^K)|0;da=(da<<9|da>>>23)+D|0;H=H<<10|H>>>22;ca=S+1352829926+ca+(Z^(V|~aa))|0;ca=(ca<<5|ca>>>27)+X|0;V=V<<10|V>>>22;W=c[q>>2]|0;D=D+W+(K^H^da)|0;D=(D<<11|D>>>21)+F|0;K=K<<10|K>>>22;P=c[r>>2]|0;X=P+1352829926+X+(ca^(Z|~V))|0;X=(X<<7|X>>>25)+aa|0;Z=Z<<10|Z>>>22;F=F+G+(da^K^D)|0;F=(F<<13|F>>>19)+H|0;da=da<<10|da>>>22;aa=T+1352829926+aa+(X^(ca|~Z))|0;aa=(aa<<7|aa>>>25)+V|0;ca=ca<<10|ca>>>22;_=c[s>>2]|0;H=H+_+(D^da^F)|0;H=(H<<14|H>>>18)+K|0;D=D<<10|D>>>22;R=c[t>>2]|0;V=R+1352829926+V+(aa^(X|~ca))|0;V=(V<<8|V>>>24)+Z|0;X=X<<10|X>>>22;K=K+I+(F^D^H)|0;K=(K<<15|K>>>17)+da|0;F=F<<10|F>>>22;Z=W+1352829926+Z+(V^(aa|~X))|0;Z=(Z<<11|Z>>>21)+ca|0;aa=aa<<10|aa>>>22;ba=c[u>>2]|0;da=da+ba+(H^F^K)|0;da=(da<<6|da>>>26)+D|0;H=H<<10|H>>>22;ca=Y+1352829926+ca+(Z^(V|~aa))|0;ca=(ca<<14|ca>>>18)+X|0;V=V<<10|V>>>22;D=D+P+(K^H^da)|0;D=(D<<7|D>>>25)+F|0;K=K<<10|K>>>22;X=_+1352829926+X+(ca^(Z|~V))|0;X=(X<<14|X>>>18)+aa|0;Z=Z<<10|Z>>>22;F=F+J+(da^K^D)|0;F=(F<<9|F>>>23)+H|0;da=da<<10|da>>>22;aa=E+1352829926+aa+(X^(ca|~Z))|0;aa=(aa<<12|aa>>>20)+V|0;ca=ca<<10|ca>>>22;H=H+R+(D^da^F)|0;H=(H<<8|H>>>24)+K|0;D=D<<10|D>>>22;V=ba+1352829926+V+(aa^(X|~ca))|0;V=(V<<6|V>>>26)+Z|0;X=X<<10|X>>>22;K=U+1518500249+K+(H&F|D&~H)|0;K=(K<<7|K>>>25)+da|0;F=F<<10|F>>>22;Z=T+1548603684+Z+(V&X|aa&~X)|0;Z=(Z<<9|Z>>>23)+ca|0;aa=aa<<10|aa>>>22;da=S+1518500249+da+(K&H|F&~K)|0;da=(da<<6|da>>>26)+D|0;H=H<<10|H>>>22;ca=I+1548603684+ca+(Z&aa|V&~aa)|0;ca=(ca<<13|ca>>>19)+X|0;V=V<<10|V>>>22;D=P+1518500249+D+(da&K|H&~da)|0;D=(D<<8|D>>>24)+F|0;K=K<<10|K>>>22;X=E+1548603684+X+(ca&V|Z&~V)|0;X=(X<<15|X>>>17)+aa|0;Z=Z<<10|Z>>>22;F=Y+1518500249+F+(D&da|K&~D)|0;F=(F<<13|F>>>19)+H|0;da=da<<10|da>>>22;aa=U+1548603684+aa+(X&Z|ca&~Z)|0;aa=(aa<<7|aa>>>25)+V|0;ca=ca<<10|ca>>>22;H=_+1518500249+H+(F&D|da&~F)|0;H=(H<<11|H>>>21)+K|0;D=D<<10|D>>>22;V=N+1548603684+V+(aa&ca|X&~ca)|0;V=(V<<12|V>>>20)+Z|0;X=X<<10|X>>>22;K=T+1518500249+K+(H&F|D&~H)|0;K=(K<<9|K>>>23)+da|0;F=F<<10|F>>>22;Z=P+1548603684+Z+(V&X|aa&~X)|0;Z=(Z<<8|Z>>>24)+ca|0;aa=aa<<10|aa>>>22;da=R+1518500249+da+(K&H|F&~K)|0;da=(da<<7|da>>>25)+D|0;H=H<<10|H>>>22;ca=O+1548603684+ca+(Z&aa|V&~aa)|0;ca=(ca<<9|ca>>>23)+X|0;V=V<<10|V>>>22;D=E+1518500249+D+(da&K|H&~da)|0;D=(D<<15|D>>>17)+F|0;K=K<<10|K>>>22;X=_+1548603684+X+(ca&V|Z&~V)|0;X=(X<<11|X>>>21)+aa|0;Z=Z<<10|Z>>>22;F=ba+1518500249+F+(D&da|K&~D)|0;F=(F<<7|F>>>25)+H|0;da=da<<10|da>>>22;aa=J+1548603684+aa+(X&Z|ca&~Z)|0;aa=(aa<<7|aa>>>25)+V|0;ca=ca<<10|ca>>>22;H=N+1518500249+H+(F&D|da&~F)|0;H=(H<<12|H>>>20)+K|0;D=D<<10|D>>>22;V=R+1548603684+V+(aa&ca|X&~ca)|0;V=(V<<7|V>>>25)+Z|0;X=X<<10|X>>>22;K=G+1518500249+K+(H&F|D&~H)|0;K=(K<<15|K>>>17)+da|0;F=F<<10|F>>>22;Z=W+1548603684+Z+(V&X|aa&~X)|0;Z=(Z<<12|Z>>>20)+ca|0;aa=aa<<10|aa>>>22;da=O+1518500249+da+(K&H|F&~K)|0;da=(da<<9|da>>>23)+D|0;H=H<<10|H>>>22;ca=ba+1548603684+ca+(Z&aa|V&~aa)|0;ca=(ca<<7|ca>>>25)+X|0;V=V<<10|V>>>22;D=Q+1518500249+D+(da&K|H&~da)|0;D=(D<<11|D>>>21)+F|0;K=K<<10|K>>>22;X=S+1548603684+X+(ca&V|Z&~V)|0;X=(X<<6|X>>>26)+aa|0;Z=Z<<10|Z>>>22;F=J+1518500249+F+(D&da|K&~D)|0;F=(F<<7|F>>>25)+H|0;da=da<<10|da>>>22;aa=G+1548603684+aa+(X&Z|ca&~Z)|0;aa=(aa<<15|aa>>>17)+V|0;ca=ca<<10|ca>>>22;H=I+1518500249+H+(F&D|da&~F)|0;H=(H<<13|H>>>19)+K|0;D=D<<10|D>>>22;V=Y+1548603684+V+(aa&ca|X&~ca)|0;V=(V<<13|V>>>19)+Z|0;X=X<<10|X>>>22;L=~H;K=W+1518500249+K+(H&F|D&L)|0;K=(K<<12|K>>>20)+da|0;F=F<<10|F>>>22;Z=Q+1548603684+Z+(V&X|aa&~X)|0;Z=(Z<<11|Z>>>21)+ca|0;aa=aa<<10|aa>>>22;L=E+1859775393+da+((K|L)^F)|0;L=(L<<11|L>>>21)+D|0;H=H<<10|H>>>22;ca=R+1836072691+ca+((Z|~V)^aa)|0;ca=(ca<<9|ca>>>23)+X|0;V=V<<10|V>>>22;D=_+1859775393+D+((L|~K)^H)|0;D=(D<<13|D>>>19)+F|0;K=K<<10|K>>>22;X=O+1836072691+X+((ca|~Z)^V)|0;X=(X<<7|X>>>25)+aa|0;Z=Z<<10|Z>>>22;F=J+1859775393+F+((D|~L)^K)|0;F=(F<<6|F>>>26)+H|0;L=L<<10|L>>>22;aa=Y+1836072691+aa+((X|~ca)^Z)|0;aa=(aa<<15|aa>>>17)+V|0;ca=ca<<10|ca>>>22;H=S+1859775393+H+((F|~D)^L)|0;H=(H<<7|H>>>25)+K|0;D=D<<10|D>>>22;V=E+1836072691+V+((aa|~X)^ca)|0;V=(V<<11|V>>>21)+Z|0;X=X<<10|X>>>22;K=G+1859775393+K+((H|~F)^D)|0;K=(K<<14|K>>>18)+L|0;F=F<<10|F>>>22;Z=U+1836072691+Z+((V|~aa)^X)|0;Z=(Z<<8|Z>>>24)+ca|0;aa=aa<<10|aa>>>22;L=R+1859775393+L+((K|~H)^F)|0;L=(L<<9|L>>>23)+D|0;H=H<<10|H>>>22;ca=J+1836072691+ca+((Z|~V)^aa)|0;ca=(ca<<6|ca>>>26)+X|0;V=V<<10|V>>>22;D=W+1859775393+D+((L|~K)^H)|0;D=(D<<13|D>>>19)+F|0;K=K<<10|K>>>22;X=T+1836072691+X+((ca|~Z)^V)|0;X=(X<<6|X>>>26)+aa|0;Z=Z<<10|Z>>>22;F=Y+1859775393+F+((D|~L)^K)|0;F=(F<<15|F>>>17)+H|0;L=L<<10|L>>>22;aa=G+1836072691+aa+((X|~ca)^Z)|0;aa=(aa<<14|aa>>>18)+V|0;ca=ca<<10|ca>>>22;H=Q+1859775393+H+((F|~D)^L)|0;H=(H<<14|H>>>18)+K|0;D=D<<10|D>>>22;V=I+1836072691+V+((aa|~X)^ca)|0;V=(V<<12|V>>>20)+Z|0;X=X<<10|X>>>22;K=U+1859775393+K+((H|~F)^D)|0;K=(K<<8|K>>>24)+L|0;F=F<<10|F>>>22;Z=W+1836072691+Z+((V|~aa)^X)|0;Z=(Z<<13|Z>>>19)+ca|0;aa=aa<<10|aa>>>22;L=N+1859775393+L+((K|~H)^F)|0;L=(L<<13|L>>>19)+D|0;H=H<<10|H>>>22;ca=ba+1836072691+ca+((Z|~V)^aa)|0;ca=(ca<<5|ca>>>27)+X|0;V=V<<10|V>>>22;D=T+1859775393+D+((L|~K)^H)|0;D=(D<<6|D>>>26)+F|0;K=K<<10|K>>>22;X=Q+1836072691+X+((ca|~Z)^V)|0;X=(X<<14|X>>>18)+aa|0;Z=Z<<10|Z>>>22;F=P+1859775393+F+((D|~L)^K)|0;F=(F<<5|F>>>27)+H|0;L=L<<10|L>>>22;aa=_+1836072691+aa+((X|~ca)^Z)|0;aa=(aa<<13|aa>>>19)+V|0;ca=ca<<10|ca>>>22;H=I+1859775393+H+((F|~D)^L)|0;H=(H<<12|H>>>20)+K|0;D=D<<10|D>>>22;V=N+1836072691+V+((aa|~X)^ca)|0;V=(V<<13|V>>>19)+Z|0;X=X<<10|X>>>22;K=O+1859775393+K+((H|~F)^D)|0;K=(K<<7|K>>>25)+L|0;F=F<<10|F>>>22;Z=S+1836072691+Z+((V|~aa)^X)|0;Z=(Z<<7|Z>>>25)+ca|0;aa=aa<<10|aa>>>22;L=ba+1859775393+L+((K|~H)^F)|0;L=(L<<5|L>>>27)+D|0;H=H<<10|H>>>22;ca=P+1836072691+ca+((Z|~V)^aa)|0;ca=(ca<<5|ca>>>27)+X|0;V=V<<10|V>>>22;D=Y+-1894007588+D+(L&H|K&~H)|0;D=(D<<11|D>>>21)+F|0;K=K<<10|K>>>22;X=W+2053994217+X+(ca&Z|V&~ca)|0;X=(X<<15|X>>>17)+aa|0;Z=Z<<10|Z>>>22;F=G+-1894007588+F+(D&K|L&~K)|0;F=(F<<12|F>>>20)+H|0;L=L<<10|L>>>22;aa=T+2053994217+aa+(X&ca|Z&~X)|0;aa=(aa<<5|aa>>>27)+V|0;ca=ca<<10|ca>>>22;H=I+-1894007588+H+(F&L|D&~L)|0;H=(H<<14|H>>>18)+K|0;D=D<<10|D>>>22;V=S+2053994217+V+(aa&X|ca&~aa)|0;V=(V<<8|V>>>24)+Z|0;X=X<<10|X>>>22;K=_+-1894007588+K+(H&D|F&~D)|0;K=(K<<15|K>>>17)+L|0;F=F<<10|F>>>22;Z=Y+2053994217+Z+(V&aa|X&~V)|0;Z=(Z<<11|Z>>>21)+ca|0;aa=aa<<10|aa>>>22;L=N+-1894007588+L+(K&F|H&~F)|0;L=(L<<14|L>>>18)+D|0;H=H<<10|H>>>22;ca=E+2053994217+ca+(Z&V|aa&~Z)|0;ca=(ca<<14|ca>>>18)+X|0;V=V<<10|V>>>22;D=W+-1894007588+D+(L&H|K&~H)|0;D=(D<<15|D>>>17)+F|0;K=K<<10|K>>>22;X=I+2053994217+X+(ca&Z|V&~ca)|0;X=(X<<14|X>>>18)+aa|0;Z=Z<<10|Z>>>22;F=ba+-1894007588+F+(D&K|L&~K)|0;F=(F<<9|F>>>23)+H|0;L=L<<10|L>>>22;aa=R+2053994217+aa+(X&ca|Z&~X)|0;aa=(aa<<6|aa>>>26)+V|0;ca=ca<<10|ca>>>22;H=S+-1894007588+H+(F&L|D&~L)|0;H=(H<<8|H>>>24)+K|0;D=D<<10|D>>>22;V=N+2053994217+V+(aa&X|ca&~aa)|0;V=(V<<14|V>>>18)+Z|0;X=X<<10|X>>>22;K=P+-1894007588+K+(H&D|F&~D)|0;K=(K<<9|K>>>23)+L|0;F=F<<10|F>>>22;Z=O+2053994217+Z+(V&aa|X&~V)|0;Z=(Z<<6|Z>>>26)+ca|0;aa=aa<<10|aa>>>22;L=E+-1894007588+L+(K&F|H&~F)|0;L=(L<<14|L>>>18)+D|0;H=H<<10|H>>>22;ca=ba+2053994217+ca+(Z&V|aa&~Z)|0;ca=(ca<<9|ca>>>23)+X|0;V=V<<10|V>>>22;D=U+-1894007588+D+(L&H|K&~H)|0;D=(D<<5|D>>>27)+F|0;K=K<<10|K>>>22;X=Q+2053994217+X+(ca&Z|V&~ca)|0;X=(X<<12|X>>>20)+aa|0;Z=Z<<10|Z>>>22;F=R+-1894007588+F+(D&K|L&~K)|0;F=(F<<6|F>>>26)+H|0;L=L<<10|L>>>22;aa=P+2053994217+aa+(X&ca|Z&~X)|0;aa=(aa<<9|aa>>>23)+V|0;ca=ca<<10|ca>>>22;H=J+-1894007588+H+(F&L|D&~L)|0;H=(H<<8|H>>>24)+K|0;D=D<<10|D>>>22;V=G+2053994217+V+(aa&X|ca&~aa)|0;V=(V<<12|V>>>20)+Z|0;X=X<<10|X>>>22;K=O+-1894007588+K+(H&D|F&~D)|0;K=(K<<6|K>>>26)+L|0;F=F<<10|F>>>22;Z=U+2053994217+Z+(V&aa|X&~V)|0;Z=(Z<<5|Z>>>27)+ca|0;aa=aa<<10|aa>>>22;L=T+-1894007588+L+(K&F|H&~F)|0;L=(L<<5|L>>>27)+D|0;H=H<<10|H>>>22;ca=_+2053994217+ca+(Z&V|aa&~Z)|0;ca=(ca<<15|ca>>>17)+X|0;V=V<<10|V>>>22;D=Q+-1894007588+D+(L&H|K&~H)|0;D=(D<<12|D>>>20)+F|0;K=K<<10|K>>>22;X=J+2053994217+X+(ca&Z|V&~ca)|0;X=(X<<8|X>>>24)+aa|0;Z=Z<<10|Z>>>22;F=S+-1454113458+F+(D^(L|~K))|0;F=(F<<9|F>>>23)+H|0;L=L<<10|L>>>22;aa=aa+ba+(ca^Z^X)|0;aa=(aa<<8|aa>>>24)+V|0;ca=ca<<10|ca>>>22;H=N+-1454113458+H+(F^(D|~L))|0;H=(H<<15|H>>>17)+K|0;D=D<<10|D>>>22;V=V+R+(X^ca^aa)|0;V=(V<<5|V>>>27)+Z|0;X=X<<10|X>>>22;K=O+-1454113458+K+(H^(F|~D))|0;K=(K<<5|K>>>27)+L|0;F=F<<10|F>>>22;Z=Z+_+(aa^X^V)|0;Z=(Z<<12|Z>>>20)+ca|0;aa=aa<<10|aa>>>22;L=G+-1454113458+L+(K^(H|~F))|0;L=(L<<11|L>>>21)+D|0;H=H<<10|H>>>22;S=ca+S+(V^aa^Z)|0;S=(S<<9|S>>>23)+X|0;V=V<<10|V>>>22;D=U+-1454113458+D+(L^(K|~H))|0;D=(D<<6|D>>>26)+F|0;K=K<<10|K>>>22;X=X+Y+(Z^V^S)|0;X=(X<<12|X>>>20)+aa|0;Z=Z<<10|Z>>>22;F=ba+-1454113458+F+(D^(L|~K))|0;F=(F<<8|F>>>24)+H|0;L=L<<10|L>>>22;O=aa+O+(S^Z^X)|0;O=(O<<5|O>>>27)+V|0;S=S<<10|S>>>22;H=Q+-1454113458+H+(F^(D|~L))|0;H=(H<<13|H>>>19)+K|0;D=D<<10|D>>>22;V=V+W+(X^S^O)|0;V=(V<<14|V>>>18)+Z|0;X=X<<10|X>>>22;K=_+-1454113458+K+(H^(F|~D))|0;K=(K<<12|K>>>20)+L|0;F=F<<10|F>>>22;U=Z+U+(O^X^V)|0;U=(U<<6|U>>>26)+S|0;O=O<<10|O>>>22;L=J+-1454113458+L+(K^(H|~F))|0;L=(L<<5|L>>>27)+D|0;H=H<<10|H>>>22;S=S+T+(V^O^U)|0;S=(S<<8|S>>>24)+X|0;V=V<<10|V>>>22;D=Y+-1454113458+D+(L^(K|~H))|0;D=(D<<12|D>>>20)+F|0;K=K<<10|K>>>22;Q=X+Q+(U^V^S)|0;Q=(Q<<13|Q>>>19)+O|0;U=U<<10|U>>>22;F=E+-1454113458+F+(D^(L|~K))|0;F=(F<<13|F>>>19)+H|0;L=L<<10|L>>>22;O=O+P+(S^U^Q)|0;O=(O<<6|O>>>26)+V|0;S=S<<10|S>>>22;H=W+-1454113458+H+(F^(D|~L))|0;H=(H<<14|H>>>18)+K|0;D=D<<10|D>>>22;J=V+J+(Q^S^O)|0;J=(J<<5|J>>>27)+U|0;Q=Q<<10|Q>>>22;K=I+-1454113458+K+(H^(F|~D))|0;K=(K<<11|K>>>21)+L|0;F=F<<10|F>>>22;N=U+N+(O^Q^J)|0;N=(N<<15|N>>>17)+S|0;O=O<<10|O>>>22;L=T+-1454113458+L+(K^(H|~F))|0;L=(L<<8|L>>>24)+D|0;H=H<<10|H>>>22;E=S+E+(J^O^N)|0;E=(E<<13|E>>>19)+Q|0;J=J<<10|J>>>22;D=R+-1454113458+D+(L^(K|~H))|0;D=(D<<5|D>>>27)+F|0;K=K<<10|K>>>22;G=Q+G+(N^J^E)|0;G=(G<<11|G>>>21)+O|0;N=N<<10|N>>>22;F=P+-1454113458+F+(D^(L|~K))|0;I=O+I+(E^N^G)|0;c[z>>2]=N+M+(L<<10|L>>>22);c[A>>2]=J+(c[B>>2]|0)+K;c[B>>2]=H+(c[v>>2]|0)+J+(I<<11|I>>>21);c[v>>2]=H+(c[y>>2]|0)+G+(F<<6|F>>>26);c[y>>2]=(E<<10|E>>>22)+a+D;e=e+-1|0;if(!e)break;else b=b+64|0}l=C;return 124}function si(a){a=a|0;var b=0;c[a+160>>2]=1732584193;c[a+164>>2]=-271733879;c[a+168>>2]=-1732584194;c[a+172>>2]=271733878;c[a+176>>2]=-1009589776;b=a+128|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[a+148>>2]=64;c[a+152>>2]=31;return}function ti(a,b){a=a|0;b=b|0;ri(a,b,1)|0;c[b>>2]=c[a+160>>2];c[b+4>>2]=c[a+164>>2];c[b+8>>2]=c[a+168>>2];c[b+12>>2]=c[a+172>>2];c[b+16>>2]=c[a+176>>2];return}function ui(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=l;l=l+192|0;if((l|0)>=(m|0))$(192);g=f;c[g+160>>2]=1732584193;c[g+164>>2]=-271733879;c[g+168>>2]=-1732584194;c[g+172>>2]=271733878;c[g+176>>2]=-1009589776;h=g+128|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[g+148>>2]=64;c[g+152>>2]=31;Jm(g,d,e);pi(g);d=g;e=b+20|0;do{a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}while((b|0)<(e|0));l=f;return}function vi(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+16|0;if((l|0)>=(m|0))$(16);r=s;p=(d+7|0)>>>3;c[r>>2]=p;if(!((p|0)!=0&(f+7|0)>>>0<=p>>>0)){b=66;l=s;return b|0}q=$e(p)|0;if(!q){b=Sn()|0;l=s;return b|0}a[q>>0]=0;a[q+1>>0]=2;d=-3-f+p|0;if((d|0)<=0)Ie(38682,38688,95,38701);if(!g){o=Cj(d,1)|0;while(1){g=0;h=0;do{g=((a[o+h>>0]|0)==0&1)+g|0;h=h+1|0}while((h|0)!=(d|0));if(!g)break;g=g+3+((g|0)/128|0)|0;n=Cj(g,1)|0;if(g|0){k=0;do{i=o+k|0;h=a[i>>0]|0;j=g+-1|0;if(!(h<<24>>24)){h=a[n+j>>0]|0;a[i>>0]=h;g=j}k=(h<<24>>24!=0&1)+k|0}while((k|0)<(d|0)&(g|0)!=0)}cf(n)}cr(q+2|0,o|0,d|0)|0;cf(o)}else{if((d|0)!=(h|0)){cf(q);b=45;l=s;return b|0}a:do if(h|0){d=0;while(1){if(!(a[g+d>>0]|0))break;d=d+1|0;if(d>>>0>=h>>>0)break a}cf(q);b=45;l=s;return b|0}while(0);cr(q+2|0,g|0,h|0)|0;d=h}o=d+3|0;a[q+(d+2)>>0]=0;cr(q+o|0,e|0,f|0)|0;if((o+f|0)!=(p|0))Ie(38732,38688,153,38701);d=Sk(b,5,q,p,r)|0;if((d|0)==0?nf(1)|0:0)Se(38744,c[b>>2]|0);cf(q);b=d;l=s;return b|0}function wi(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=l;l=l+16|0;if((l|0)>=(m|0))$(16);h=i;e=(e+7|0)>>>3;c[b>>2]=0;g=$e(e)|0;if(!g){h=Sn()|0;l=i;return h|0}e=Tk(5,g,e,h,f)|0;if(e|0){cf(g);h=e&65535;l=i;return h|0}f=c[h>>2]|0;if(f>>>0<4){cf(g);h=155;l=i;return h|0}j=(a[g>>0]|0)==0;e=j?2:1;c[h>>2]=e;if((a[g+(j&1)>>0]|0)!=2){cf(g);j=155;l=i;return j|0}a:do if(e>>>0<f>>>0)do{if(!(a[g+e>>0]|0))break a;e=e+1|0;c[h>>2]=e}while(e>>>0<f>>>0);while(0);e=e+1|0;if(f>>>0<=e>>>0){cf(g);j=155;l=i;return j|0}c[h>>2]=e;j=f-e|0;dr(g|0,g+e|0,j|0)|0;c[b>>2]=g;c[d>>2]=j;if(!(nf(1)|0)){j=0;l=i;return j|0}Qe(38777,c[b>>2]|0,c[d>>2]|0);j=0;l=i;return j|0}function xi(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,n=0,o=0,p=0;p=l;l=l+112|0;if((l|0)>=(m|0))$(112);n=p+8|0;o=p+4|0;h=p;k=(d+7|0)>>>3;c[o>>2]=k;c[h>>2]=100;d=sh(g)|0;if(th(g,10,n,h)|0){b=69;l=p;return b|0}if((d|0)!=(f|0)){b=70;l=p;return b|0}if(!f){b=66;l=p;return b|0}if((f+4+(c[h>>2]|0)|0)>>>0>k>>>0){b=66;l=p;return b|0}j=_e(k)|0;if(!j){b=Sn()|0;l=p;return b|0}a[j>>0]=0;a[j+1>>0]=1;i=k-f|0;d=c[h>>2]|0;g=i-d|0;h=g+-3|0;if((h|0)<=1)Ie(38831,38688,303,38837);Yq(j+2|0,-1,h|0)|0;a[j+(g+-1)>>0]=0;cr(j+g|0,n|0,d|0)|0;cr(j+i|0,e|0,f|0)|0;d=Sk(b,5,j,k,o)|0;if((d|0)==0?nf(1)|0:0)Se(38868,c[b>>2]|0);cf(j);b=d;l=p;return b|0}function yi(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;if((l|0)>=(m|0))$(16);i=k;h=(d+7|0)>>>3;c[i>>2]=h;if((f|0)==0|(f+4|0)>>>0>h>>>0){j=66;l=k;return j|0}j=_e(h)|0;if(!j){j=Sn()|0;l=k;return j|0}a[j>>0]=0;a[j+1>>0]=1;d=h-f|0;g=d+-3|0;if((g|0)<=1)Ie(38831,38688,368,38901);Yq(j+2|0,-1,g|0)|0;a[j+(d+-1)>>0]=0;cr(j+d|0,e|0,f|0)|0;d=Sk(b,5,j,h,i)|0;if(!d)if(!(nf(1)|0))d=0;else{Se(38868,c[b>>2]|0);d=0}else d=d&65535;cf(j);j=d;l=k;return j|0}function zi(b,d,e,f,g,h,i,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0;o=(d+7|0)>>>3;c[b>>2]=0;d=(h|0)!=0&(i|0)!=0;m=sh(e)|0;if(!(o|0?(o+-2-(m<<1)|0)>>>0>=g>>>0:0)){b=66;return b|0}p=ef(1,o)|0;if(!p){b=Sn()|0;return b|0}l=p+1|0;n=l+m|0;oh(e,n,d?h:71847,d?i:0);i=p+(o+-1-g)|0;a[i>>0]=1;cr(i+1|0,f|0,g|0)|0;do if(!j)Dj(l,m,1);else{if((m|0)==(k|0)){cr(l|0,j|0,k|0)|0;break}cf(p);b=45;return b|0}while(0);h=o-m+-1|0;g=$e(h)|0;if(!g){b=Sn()|0;cf(p);return b|0}d=Ai(g,h,l,m,e)|0;if(d|0){cf(g);cf(p);b=d;return b|0}i=m+1|0;if(i>>>0<o>>>0){d=i;f=g;while(1){l=p+d|0;a[l>>0]=a[l>>0]^a[f>>0];d=d+1|0;if((d|0)==(o|0))break;else f=f+1|0}}cf(g);g=$e(m)|0;if(!g){b=Sn()|0;cf(p);return b|0}d=Ai(g,m,n,h,e)|0;if(d|0){cf(g);cf(p);b=d;return b|0}if(i>>>0>1){d=1;f=g;while(1){e=p+d|0;a[e>>0]=a[e>>0]^a[f>>0];d=d+1|0;if((d|0)==(i|0))break;else f=f+1|0}}cf(g);d=Sk(b,5,p,o,0)|0;if((d|0)==0?nf(1)|0:0)Se(38936,c[b>>2]|0);cf(p);b=d;return b|0}function Ai(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0;q=l;l=l+16|0;if((l|0)>=(m|0))$(16);o=q;p=q+4|0;h=eh(o,g,0)|0;if(h|0){p=h;l=q;return p|0}n=sh(g)|0;if(d|0){i=p+1|0;j=p+2|0;k=p+3|0;g=0;h=0;while(1){if(h|0)ih(c[o>>2]|0);a[p>>0]=h>>>24;a[i>>0]=h>>>16;a[j>>0]=h>>>8;a[k>>0]=h;lh(c[o>>2]|0,e,f);lh(c[o>>2]|0,p,4);s=ph(c[o>>2]|0,0)|0;r=d-g|0;r=r>>>0<n>>>0?r:n;cr(b+g|0,s|0,r|0)|0;g=r+g|0;if(g>>>0>=d>>>0)break;else h=h+1|0}}kh(c[o>>2]|0);s=0;l=q;return s|0}function Bi(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0;r=l;l=l+16|0;if((l|0)>=(m|0))$(16);q=r;c[q>>2]=0;j=(e+7|0)>>>3;c[b>>2]=0;k=(h|0)!=0&(i|0)!=0;e=sh(f)|0;p=_e(e)|0;if(!p){q=Sn()|0;l=r;return q|0}oh(f,p,k?h:71847,k?i:0);if(Vk(q,0,g,j)|0){cf(p);q=155;l=r;return q|0}if(j>>>0<((e<<1)+2|0)>>>0){cf(c[q>>2]|0);cf(p);q=155;l=r;return q|0}j=j+-1|0;n=$e(j)|0;if(!n){d=Sn()|0;cf(c[q>>2]|0);cf(p);q=d;l=r;return q|0}o=n+e|0;k=(c[q>>2]|0)+1|0;g=k+e|0;i=j-e|0;h=(Ai(n,e,g,i,f)|0)!=0&1;if(e|0){j=0;do{s=n+j|0;a[s>>0]=a[s>>0]^a[k+j>>0];j=j+1|0}while((j|0)!=(e|0))}k=Ai(o,i,n,e,f)|0;if(i|0){j=0;do{s=o+j|0;a[s>>0]=a[s>>0]^a[g+j>>0];j=j+1|0}while((j|0)!=(i|0))}j=Tp(p,o,e)|0;a:do if(e>>>0<i>>>0)do{if((a[o+e>>0]|0)==1)break a;e=e+1|0}while(e>>>0<i>>>0);while(0);s=(a[c[q>>2]>>0]|0)==0;cf(p);cf(c[q>>2]|0);if(!((k|h|j|0)==0&(e|0)!=(i|0)&s)){cf(n);s=155;l=r;return s|0}q=e+1|0;s=i-q|0;dr(n|0,o+q|0,s|0)|0;c[b>>2]=n;c[d>>2]=s;if(!(nf(1)|0)){s=0;l=r;return s|0}Qe(38954,c[b>>2]|0,c[d>>2]|0);s=0;l=r;return s|0}function Ci(b,e,f,g,h,i,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;n=(e+7|0)>>>3;l=sh(f)|0;if(!l)Ie(38993,38688,800,38998);q=i+8+l|0;t=n-l+-1|0;m=q+t|0;v=_e(m)|0;if(!v){v=Sn()|0;return v|0}p=v+8|0;r=p+l|0;o=r+i|0;do if((l|0)==(h|0)){cr(p|0,g|0,h|0)|0;if(n>>>0<(i+2+h|0)>>>0)o=66;else{u=_e(n)|0;if(!u){o=Sn()|0;break}p=u+n+-1+(0-h)|0;do if(i){if(!j){Dj(r,i,1);s=14;break}if((k|0)==(i|0)){cr(r|0,j|0,i|0)|0;s=14;break}else{o=45;l=u;break}}else s=14;while(0);if((s|0)==14){s=v;l=s;a[l>>0]=0;a[l+1>>0]=0;a[l+2>>0]=0;a[l+3>>0]=0;s=s+4|0;a[s>>0]=0;a[s+1>>0]=0;a[s+2>>0]=0;a[s+3>>0]=0;oh(f,p,v,q);s=p+(0-i)+-1|0;l=u;Yq(u|0,0,s-l|0)|0;a[s>>0]=1;cr(s+1|0,r|0,i|0)|0;Ai(o,t,p,h,f)|0;if(t|0){p=0;while(1){s=u+p|0;a[s>>0]=a[s>>0]^a[o>>0];p=p+1|0;if((p|0)==(t|0))break;else o=o+1|0}}a[u>>0]=(d[u>>0]|0)&255>>>((n<<3)-e|0);a[u+(n+-1)>>0]=-68;o=Sk(b,5,u,n,0)|0;if(!o)if(!(nf(1)|0))o=0;else{Se(39019,c[b>>2]|0);o=0}}if((n|0)!=0&(l&7|0)!=0){l=u;do{a[l>>0]=0;l=l+1|0;n=n+-1|0}while((n|0)!=0&(l&7|0)!=0)}else l=u;if(n>>>0>=8){g=n+-8|0;q=g&-8;j=q+8|0;p=l;while(1){b=p;c[b>>2]=0;c[b+4>>2]=0;n=n+-8|0;if(n>>>0<=7)break;else p=p+8|0}n=g-q|0;l=l+j|0}if(n|0)while(1){a[l>>0]=0;n=n+-1|0;if(!n)break;else l=l+1|0}cf(u)}}else o=139;while(0);if((m|0)!=0&(v&7|0)!=0){l=v;do{a[l>>0]=0;l=l+1|0;m=m+-1|0}while((m|0)!=0&(l&7|0)!=0)}else l=v;if(m>>>0>=8){p=m+-8|0;g=p&-8;q=g+8|0;n=l;while(1){u=n;c[u>>2]=0;c[u+4>>2]=0;m=m+-8|0;if(m>>>0<=7)break;else n=n+8|0}m=p-g|0;l=l+q|0}if(m|0)while(1){a[l>>0]=0;m=m+-1|0;if(!m)break;else l=l+1|0}cf(v);v=o;return v|0}function Di(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+16|0;if((l|0)>=(m|0))$(16);v=x;c[v>>2]=0;j=(f+7|0)>>>3;s=sh(g)|0;if(!s)Ie(38993,38688,926,39036);q=h+8+s|0;n=j-s|0;o=n+-1|0;i=(q>>>0<o>>>0?o:q)+s|0;w=_e(i)|0;u=(w|0)!=0;if(u){k=0-s|0;r=w+i+k|0;b=Vk(0,r,b,s)|0;if(!b){b=Vk(v,0,e,j)|0;if(!b)if(j>>>0>=(h+2+s|0)>>>0){b=c[v>>2]|0;if((a[b+(j+-1)>>0]|0)==-68){p=b+j+-1+k|0;k=255>>>((j<<3)-f|0);if(!(d[b>>0]&~k)){Ai(w,o,p,s,g)|0;if(o|0){b=w;e=0;while(1){f=(c[v>>2]|0)+e|0;a[f>>0]=a[f>>0]^a[b>>0];e=e+1|0;if((e|0)==(o|0))break;else b=b+1|0}}f=c[v>>2]|0;a[f>>0]=d[f>>0]&k;k=n-h|0;f=k+-2|0;a:do if(!f)b=0;else{e=c[v>>2]|0;b=0;do{if(a[e+b>>0]|0)break a;b=b+1|0}while(b>>>0<f>>>0)}while(0);if((b|0)==(f|0)){b=c[v>>2]|0;if((a[b+f>>0]|0)==1){t=w;o=t;a[o>>0]=0;a[o+1>>0]=0;a[o+2>>0]=0;a[o+3>>0]=0;t=t+4|0;a[t>>0]=0;a[t+1>>0]=0;a[t+2>>0]=0;a[t+3>>0]=0;t=w+8|0;cr(t|0,r|0,s|0)|0;cr(t+s|0,b+(k+-1)|0,h|0)|0;oh(g,w,w,q);b=(Tp(p,w,s)|0)!=0;b=b?8:0;t=19}else o=8}else{b=8;t=19}}else{b=8;t=19}}else o=8}else{b=66;t=19}else t=19}else t=19}else{b=Sn()|0;t=19}if((t|0)==19){o=b;b=c[v>>2]|0}if(b|0){if((j|0)!=0&(b&7|0)!=0)do{a[b>>0]=0;b=b+1|0;j=j+-1|0}while((j|0)!=0&(b&7|0)!=0);if(j>>>0>=8){k=j+-8|0;f=k&-8;n=f+8|0;e=b;while(1){t=e;c[t>>2]=0;c[t+4>>2]=0;j=j+-8|0;if(j>>>0<=7)break;else e=e+8|0}j=k-f|0;b=b+n|0}if(j|0)while(1){a[b>>0]=0;j=j+-1|0;if(!j)break;else b=b+1|0}cf(c[v>>2]|0)}if(!u){l=x;return o|0}if((i|0)!=0&(w&7|0)!=0){b=w;do{a[b>>0]=0;b=b+1|0;i=i+-1|0}while((i|0)!=0&(b&7|0)!=0)}else b=w;if(i>>>0>=8){e=i+-8|0;k=e&-8;f=k+8|0;j=b;while(1){v=j;c[v>>2]=0;c[v+4>>2]=0;i=i+-8|0;if(i>>>0<=7)break;else j=j+8|0}i=e-k|0;b=b+f|0}if(i|0)while(1){a[b>>0]=0;i=i+-1|0;if(!i)break;else b=b+1|0}cf(w);l=x;return o|0}function Ei(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=l;l=l+176|0;if((l|0)>=(m|0))$(176);C=F+8|0;A=F;s=F+164|0;t=F+160|0;u=F+156|0;v=F+152|0;w=F+148|0;x=F+144|0;n=F+88|0;i=F+84|0;k=F+80|0;D=F+56|0;j=F+48|0;E=F+44|0;c[j>>2]=0;c[E>>2]=0;c[D>>2]=0;c[D+4>>2]=0;c[D+8>>2]=0;c[D+12>>2]=0;c[D+16>>2]=0;c[D+20>>2]=0;e=Fh(a,i)|0;if(e|0){E=e;l=F;return E|0}e=Gh(a,k)|0;if(e|0){E=e;l=F;return E|0}e=uf(a,46885,0)|0;if(e|0?(f=Eh(e,j,0)|0,sf(e),f|0):0){E=f;l=F;return E|0}if((a|0)!=0?(g=uf(a,41502,0)|0,(g|0)!=0):0){z=g;B=11}else B=7;do if((B|0)==7){e=uf(a,41515,0)|0;if(e|0){c[j>>2]=c[j>>2]|64;sf(e)}if((c[j>>2]&64|0)==0?(gg()|0)==0:0){if((c[j>>2]&32|0)==0?(h=uf(a,48632,0)|0,h|0):0){c[j>>2]=c[j>>2]|32;sf(h)}e=c[i>>2]|0;f=c[k>>2]|0;d=(c[j>>2]|0)>>>5&1;if(gg()|0?!(e>>>0>1023&(d|0)==0):0){d=55;break}a=2-d|0;q=(e&1)+e|0;d=(f|0)==1?65537:f;p=ll(1)|0;if(!d){El(p,41)|0;g=Hl(q)|0;f=q>>>1;e=0;d=0;do{if(e|0)Jl(e);if(d|0)Jl(d);e=yh(f,a,0,0)|0;d=yh(f,a,0,0)|0;if((wk(e,d)|0)>0)Fl(e,d);Kk(g,e,d)}while((lk(g)|0)!=(q|0));f=0}else{El(p,d|1)|0;g=Hl(q)|0;f=q>>>1;e=0;d=0;do{if(e|0)Jl(e);if(d|0)Jl(d);e=yh(f,a,6,p)|0;d=yh(f,a,6,p)|0;if((wk(e,d)|0)>0)Fl(e,d);Kk(g,e,d)}while((lk(g)|0)!=(q|0));f=1}h=e+4|0;a=nl(c[h>>2]|0)|0;h=nl(c[h>>2]|0)|0;i=Il(q)|0;j=Il(q)|0;k=Il(q)|0;gk(a,e,1);gk(h,d,1);Kk(i,a,h);Ek(j,a,h)|0;Bk(k,i,j);if(!(Ek(a,p,i)|0))if(f)He(41560,287,41812);else do ek(p,p,2);while(!(Ek(a,p,i)|0));n=Il(q)|0;Fk(n,p,k)|0;o=Il(q)|0;Fk(o,e,d)|0;if(nf(1)|0){Se(41825,e);Se(41831,d);Se(41837,i);Se(41843,j);Se(41849,k);Se(41855,g);Se(41861,p);Se(41867,n);Se(41873,o)}Jl(a);Jl(h);Jl(i);Jl(k);Jl(j);c[D>>2]=g;h=D+4|0;c[h>>2]=p;g=D+12|0;c[g>>2]=e;f=D+16|0;c[f>>2]=d;a=D+8|0;c[a>>2]=n;d=D+20|0;c[d>>2]=o;if(!(Oi(D,q+-64|0)|0)){e=D;B=86}else{Jl(c[D>>2]|0);c[D>>2]=0;Jl(c[h>>2]|0);c[h>>2]=0;Jl(c[g>>2]|0);c[g>>2]=0;Jl(c[f>>2]|0);c[f>>2]=0;Jl(c[a>>2]|0);c[a>>2]=0;Jl(c[d>>2]|0);c[d>>2]=0;kg(41560,334,41812,0,41745);d=50}}else{z=0;B=11}}while(0);if((B|0)==11){y=c[i>>2]|0;k=c[k>>2]|0;k=(k|0)==1?65537:k;if(!(y>>>0<1024|(y&255|0)!=0|k>>>0<3|(k&1|0)==0)){c[s>>2]=0;c[t>>2]=0;c[u>>2]=0;c[v>>2]=0;c[w>>2]=0;c[x>>2]=0;a:do if(!z){e=y>>>1;f=Il(e)|0;Kl(f,e,2);g=e+-1|0;ok(f,g);a=e+-2|0;nk(f,a);if((lk(f)|0)!=(e|0))Ie(41524,41560,360,41566);c[u>>2]=f;h=Il(e)|0;i=e+-100|0;j=0;do{Jl(j);j=Il(e)|0;Kl(j,e,2);ok(j,g);nk(j,a);if((lk(j)|0)!=(e|0)){B=17;break}c[x>>2]=j;hk(h,f,j)}while((lk(h)|0)>>>0<=i>>>0);if((B|0)==17)Ie(41524,41560,360,41566);Jl(h);e=Il(101)|0;Kl(e,101,2);ok(e,100);if((lk(e)|0)!=101)Ie(41583,41560,375,41617);c[s>>2]=e;e=Il(101)|0;Kl(e,101,2);ok(e,100);if((lk(e)|0)!=101)Ie(41583,41560,375,41617);c[t>>2]=e;e=Il(101)|0;Kl(e,101,2);ok(e,100);if((lk(e)|0)!=101)Ie(41583,41560,375,41617);c[v>>2]=e;e=Il(101)|0;Kl(e,101,2);ok(e,100);if((lk(e)|0)==101){c[w>>2]=e;B=39;break}else Ie(41583,41560,375,41617)}else{d=n+4|0;e=d+12|0;f=e+40|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));c[n>>2]=41634;c[n+8>>2]=41638;c[n+16>>2]=41642;c[n+24>>2]=41645;c[n+32>>2]=41649;c[n+40>>2]=41653;c[d>>2]=s;c[n+12>>2]=t;c[n+20>>2]=u;c[n+28>>2]=v;c[n+36>>2]=w;c[n+44>>2]=x;e=0;d=41634;do{d=uf(z,d,0)|0;if(d|0){r=Af(d,1,5)|0;c[c[n+(e<<3)+4>>2]>>2]=r;sf(d)}e=e+1|0;d=c[n+(e<<3)>>2]|0}while((d|0)!=0);d=c[s>>2]|0;b:do if(d|0){e=1;do{if(!(c[c[n+(e<<3)+4>>2]>>2]|0))break b;e=e+1|0}while((c[n+(e<<3)>>2]|0)!=0);B=39;break a}while(0);Jl(d);d=1;do{Jl(c[c[n+(d<<3)+4>>2]>>2]|0);d=d+1|0}while((c[n+(d<<3)>>2]|0)!=0);q=0;r=0;p=0;o=0;d=128}while(0);if((B|0)==39){f=kl(k)|0;d=Ch(c[u>>2]|0,c[s>>2]|0,c[t>>2]|0,f,0,0)|0;e=Ch(c[x>>2]|0,c[v>>2]|0,c[w>>2]|0,f,0,0)|0;Jl(c[u>>2]|0);c[u>>2]=0;Jl(c[s>>2]|0);c[s>>2]=0;Jl(c[t>>2]|0);c[t>>2]=0;Jl(c[x>>2]|0);c[x>>2]=0;Jl(c[v>>2]|0);c[v>>2]=0;Jl(c[w>>2]|0);c[w>>2]=0;if((d|0)!=0&(e|0)!=0){q=d;r=e;p=f;o=1;d=128}else{Jl(d);Jl(e);Jl(f);q=d;r=e;p=f;o=0;d=21}}if(o){if((wk(q,r)|0)>0){Fl(q,r);e=1}else e=0;d=Hl(y)|0;Kk(d,q,r);f=y>>>1;j=Il(f)|0;f=Il(f)|0;g=Il(y)|0;gk(j,q,1);gk(f,r,1);Kk(g,j,f);i=Il(y)|0;if(!(Ek(i,p,g)|0))Ie(41656,41560,541,41690);Ek(i,j,f)|0;Jl(f);Bk(j,g,i);Jl(g);Fk(i,p,j)|0;Fk(j,q,r)|0;if(nf(1)|0){if(e|0)Oe(41704,A);Se(45379,q);Se(41725,r);Se(41729,d);Se(41733,p);Se(41737,i);Se(41741,j)}c[D>>2]=d;h=D+4|0;c[h>>2]=p;a=D+12|0;c[a>>2]=q;g=D+16|0;c[g>>2]=r;f=D+8|0;c[f>>2]=i;d=D+20|0;c[d>>2]=j;if(!(Oi(D,y+-64|0)|0))d=0;else{Jl(c[D>>2]|0);c[D>>2]=0;Jl(c[h>>2]|0);c[h>>2]=0;Jl(c[a>>2]|0);c[a>>2]=0;Jl(c[g>>2]|0);c[g>>2]=0;Jl(c[f>>2]|0);c[f>>2]=0;Jl(c[d>>2]|0);c[d>>2]=0;kg(41560,586,41690,0,41745);d=50}}else e=0}else{e=0;d=55}sf(z);if((e|0)!=0&(d|0)==0)d=tf(E,41783,0,1)|0;if(!d){h=D+4|0;a=D+8|0;g=D+12|0;f=D+16|0;d=D+20|0;e=D;B=86}}if((B|0)==86){w=c[e>>2]|0;x=c[h>>2]|0;y=c[a>>2]|0;z=c[g>>2]|0;A=c[f>>2]|0;B=c[d>>2]|0;d=c[E>>2]|0;c[C>>2]=w;c[C+4>>2]=x;c[C+8>>2]=w;c[C+12>>2]=x;c[C+16>>2]=y;c[C+20>>2]=z;c[C+24>>2]=A;c[C+28>>2]=B;c[C+32>>2]=d;d=Df(b,0,41879,C)|0}tl(c[D>>2]|0);tl(c[D+4>>2]|0);tl(c[D+12>>2]|0);tl(c[D+16>>2]|0);tl(c[D+8>>2]|0);tl(c[D+20>>2]|0);sf(c[E>>2]|0);E=d;l=F;return E|0}function Fi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+64|0;if((l|0)>=(m|0))$(64);i=j+32|0;k=j;b=j+40|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;d=b+4|0;e=b+8|0;f=b+12|0;g=b+16|0;h=b+20|0;c[k>>2]=b;c[k+4>>2]=d;c[k+8>>2]=e;c[k+12>>2]=f;c[k+16>>2]=g;c[k+20>>2]=h;c[k+24>>2]=0;a=If(a,0,39064,k)|0;if(!a){k=ll(c[(c[f>>2]|0)+4>>2]<<1)|0;Kk(k,c[f>>2]|0,c[g>>2]|0);a=wk(k,c[b>>2]|0)|0;tl(k);a=(a|0)==0?0:7}Jl(c[b>>2]|0);Jl(c[d>>2]|0);Jl(c[e>>2]|0);Jl(c[f>>2]|0);Jl(c[g>>2]|0);Jl(c[h>>2]|0);if(!(nf(1)|0)){l=j;return a|0}c[i>>2]=Pn(a)|0;Oe(41480,i);l=j;return a|0}function Gi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0;p=l;l=l+96|0;if((l|0)>=(m|0))$(96);o=p+40|0;g=p+32|0;i=p+24|0;h=p+8|0;j=p+48|0;k=p+44|0;n=p;c[k>>2]=0;e=n;c[e>>2]=0;c[e+4>>2]=0;e=uf(d,39075,1)|0;if(!e)e=0;else{f=Af(e,1,5)|0;sf(e);if(!f)e=0;else e=lk(f)|0;Jl(f)}Jh(j,0,e);e=Lh(b,k,j)|0;do if(!e){if(nf(1)|0)Se(41350,c[k>>2]|0);b=c[k>>2]|0;if(b|0?c[b+12>>2]&4|0:0){f=0;e=79;break}f=n+4|0;c[h>>2]=n;c[h+4>>2]=f;c[h+8>>2]=0;e=If(d,0,39061,h)|0;if(!e){if(nf(1)|0){Se(41367,c[n>>2]|0);Se(41384,c[f>>2]|0)}b=Hl(0)|0;e=c[k>>2]|0;if((b|0)==(e|0)){d=ll(c[b+4>>2]<<1)|0;Mk(d,b,c[f>>2]|0,c[n>>2]|0);Al(b,d)|0;tl(d)}else Mk(b,e,c[f>>2]|0,c[n>>2]|0);if(nf(1)|0)Se(41401,b);if(!(c[j+12>>2]&4)){c[g>>2]=b;f=b;e=Df(a,0,41438,g)|0;break}f=((lk(c[n>>2]|0)|0)+7|0)>>>3;e=Vk(h,0,b,f)|0;if(!e){e=c[h>>2]|0;c[i>>2]=f;c[i+4>>2]=e;e=Df(a,0,41418,i)|0;cf(c[h>>2]|0)}f=b}else f=0}else f=0;while(0);Jl(f);Jl(c[n>>2]|0);Jl(c[n+4>>2]|0);Jl(c[k>>2]|0);Kh(j);if(!(nf(1)|0)){l=p;return e|0}c[o>>2]=Pn(e)|0;Oe(41458,o);l=p;return e|0}function Hi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+160|0;if((l|0)>=(m|0))$(160);v=w+64|0;k=w+56|0;p=w+48|0;o=w+40|0;j=w+8|0;g=w;q=w+112|0;r=w+108|0;s=w+104|0;t=w+80|0;u=w+72|0;n=w+68|0;c[r>>2]=0;c[s>>2]=0;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;c[t+16>>2]=0;c[t+20>>2]=0;c[u>>2]=0;c[n>>2]=0;e=uf(d,39075,1)|0;if(!e)e=0;else{f=Af(e,1,5)|0;sf(e);if(!f)e=0;else e=lk(f)|0;Jl(f)}Jh(q,1,e);e=Ih(b,7604,r,q)|0;a:do if(!e){e=c[r>>2]|0;c[g>>2]=s;c[g+4>>2]=0;e=If(e,0,39071,g)|0;if(!e){if(nf(1)|0)Se(41178,c[s>>2]|0);i=c[s>>2]|0;if(i|0?c[i+12>>2]&4|0:0){f=0;e=79;break}i=t+4|0;f=t+8|0;b=t+12|0;g=t+16|0;h=t+20|0;c[j>>2]=t;c[j+4>>2]=i;c[j+8>>2]=f;c[j+12>>2]=b;c[j+16>>2]=g;c[j+20>>2]=h;c[j+24>>2]=0;e=If(d,0,40995,j)|0;if(!e){if(nf(1)|0?(Se(41195,c[t>>2]|0),Se(41212,c[i>>2]|0),(gg()|0)==0):0){Se(41229,c[f>>2]|0);Se(41246,c[b>>2]|0);Se(41263,c[g>>2]|0);Se(41280,c[h>>2]|0)}kk(c[s>>2]|0);e=c[s>>2]|0;xk(e,e,c[t>>2]|0);e=q+4|0;f=Il(c[e>>2]|0)|0;b=q+12|0;if(!(c[b>>2]&1)){g=Il(c[e>>2]|0)|0;h=Il(c[e>>2]|0)|0;d=Il(c[e>>2]|0)|0;do{Kl(g,c[e>>2]|0,0);Gk(g,g,c[t>>2]|0)}while(!(Fk(h,g,c[t>>2]|0)|0));Mk(d,g,c[i>>2]|0,c[t>>2]|0);Lk(d,d,c[s>>2]|0,c[t>>2]|0);Ni(f,d,t);Jl(d);Lk(f,f,h,c[t>>2]|0);Jl(g);Jl(h)}else Ni(f,c[s>>2]|0,t);if(nf(1)|0)Se(41297,f);switch(c[q+8>>2]|0){case 1:{e=wi(u,n,c[e>>2]|0,f)|0;tl(f);if(e|0){f=0;break a}f=c[u>>2]|0;c[o>>2]=c[n>>2];c[o+4>>2]=f;f=0;e=Df(a,0,41314,o)|0;break a}case 3:{e=Bi(u,n,c[e>>2]|0,c[q+16>>2]|0,f,c[q+20>>2]|0,c[q+24>>2]|0)|0;tl(f);if(e|0){f=0;break a}f=c[u>>2]|0;c[p>>2]=c[n>>2];c[p+4>>2]=f;f=0;e=Df(a,0,41314,p)|0;break a}default:{e=c[b>>2]&8|0?41325:47780;c[k>>2]=f;e=Df(a,0,e,k)|0;break a}}}else f=0}else f=0}else f=0;while(0);cf(c[u>>2]|0);Jl(f);Jl(c[t>>2]|0);Jl(c[t+4>>2]|0);Jl(c[t+8>>2]|0);Jl(c[t+12>>2]|0);Jl(c[t+16>>2]|0);Jl(c[t+20>>2]|0);Jl(c[s>>2]|0);Jl(0);Jl(0);Jl(0);sf(c[r>>2]|0);Kh(q);if(!(nf(1)|0)){l=w;return e|0}c[v>>2]=Pn(e)|0;Oe(41328,v);l=w;return e|0}function Ii(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+128|0;if((l|0)>=(m|0))$(128);r=s+48|0;j=s+40|0;n=s+32|0;k=s;o=s+88|0;p=s+80|0;q=s+56|0;c[p>>2]=0;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;c[q+16>>2]=0;c[q+20>>2]=0;e=uf(d,39075,1)|0;if(!e)e=0;else{f=Af(e,1,5)|0;sf(e);if(!f)e=0;else e=lk(f)|0;Jl(f)}Jh(o,2,e);e=Lh(b,p,o)|0;do if(!e){if(nf(1)|0)Se(40979,c[p>>2]|0);i=c[p>>2]|0;if(i|0?c[i+12>>2]&4|0:0){f=0;e=79;break}f=q+4|0;b=q+8|0;g=q+12|0;h=q+16|0;i=q+20|0;c[k>>2]=q;c[k+4>>2]=f;c[k+8>>2]=b;c[k+12>>2]=g;c[k+16>>2]=h;c[k+20>>2]=i;c[k+24>>2]=0;e=If(d,0,40995,k)|0;if(!e){if(nf(1)|0?(Se(41005,c[q>>2]|0),Se(41021,c[f>>2]|0),(gg()|0)==0):0){Se(41037,c[b>>2]|0);Se(41053,c[g>>2]|0);Se(41069,c[h>>2]|0);Se(41085,c[i>>2]|0)}b=Hl(0)|0;Ni(b,c[p>>2]|0,q);if(nf(1)|0)Se(41101,b);if(!(c[o+12>>2]&4)){c[j>>2]=b;f=b;e=Df(a,0,41137,j)|0;break}f=((lk(c[q>>2]|0)|0)+7|0)>>>3;e=Vk(k,0,b,f)|0;if(!e){e=c[k>>2]|0;c[n>>2]=f;c[n+4>>2]=e;e=Df(a,0,41117,n)|0;cf(c[k>>2]|0)}f=b}else f=0}else f=0;while(0);Jl(f);Jl(c[q>>2]|0);Jl(c[q+4>>2]|0);Jl(c[q+8>>2]|0);Jl(c[q+12>>2]|0);Jl(c[q+16>>2]|0);Jl(c[q+20>>2]|0);Jl(c[p>>2]|0);Kh(o);if(!(nf(1)|0)){l=s;return e|0}c[r>>2]=Pn(e)|0;Oe(41157,r);l=s;return e|0}function Ji(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0;q=l;l=l+96|0;if((l|0)>=(m|0))$(96);p=q+32|0;h=q+16|0;g=q+8|0;i=q+48|0;j=q+44|0;k=q+40|0;n=q+36|0;o=q;c[j>>2]=0;c[k>>2]=0;c[n>>2]=0;e=o;c[e>>2]=0;c[e+4>>2]=0;e=uf(d,39075,1)|0;if(!e)e=0;else{f=Af(e,1,5)|0;sf(e);if(!f)e=0;else e=lk(f)|0;Jl(f)}Jh(i,3,e);f=Lh(b,n,i)|0;do if(!f){if(nf(1)|0)Se(40878,c[n>>2]|0);b=c[n>>2]|0;if(b|0?c[b+12>>2]&4|0:0){b=0;f=79;break}f=Hh(a,7604,j,0)|0;if(!f){f=c[j>>2]|0;c[g>>2]=k;c[g+4>>2]=0;f=If(f,0,39073,g)|0;if(!f){if(nf(1)|0)Se(40894,c[k>>2]|0);b=o+4|0;c[h>>2]=o;c[h+4>>2]=b;c[h+8>>2]=0;f=If(d,0,39061,h)|0;if(!f){if(nf(1)|0){Se(40910,c[o>>2]|0);Se(40926,c[b>>2]|0)}f=Hl(0)|0;e=c[k>>2]|0;if((f|0)==(e|0)){h=ll(c[f+4>>2]<<1)|0;Mk(h,f,c[b>>2]|0,c[o>>2]|0);Al(f,h)|0;tl(h)}else Mk(f,e,c[b>>2]|0,c[o>>2]|0);if(nf(1)|0)Se(40942,f);e=c[i+32>>2]|0;if(!e){h=(wk(f,c[n>>2]|0)|0)!=0;b=f;f=h?8:0;break}else{b=f;f=yb[e&7](i,f)|0;break}}else b=0}else b=0}else b=0}else b=0;while(0);Jl(b);Jl(c[o>>2]|0);Jl(c[o+4>>2]|0);Jl(c[n>>2]|0);Jl(c[k>>2]|0);sf(c[j>>2]|0);Kh(i);if(!(nf(1)|0)){l=q;return f|0}if(!f)e=47183;else e=Pn(f)|0;c[p>>2]=e;Oe(40958,p);l=q;return f|0}function Ki(a){a=a|0;var b=0;a=uf(a,39075,1)|0;if(!a){b=0;return b|0}b=Af(a,1,5)|0;sf(a);if(!b)a=0;else a=lk(b)|0;Jl(b);b=a;return b|0}function Li(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0;q=l;l=l+32|0;if((l|0)>=(m|0))$(32);f=q;j=q+20|0;k=q+16|0;n=q+12|0;o=q+8|0;p=q+4|0;if((a|0)!=1){r=4;l=q;return r|0}c[o>>2]=0;c[p>>2]=0;b=Ff(o,0,39077,1029)|0;do if(!b){b=Ff(p,0,40107,316)|0;if(!b){b=Uh(c[o>>2]|0)|0;if(b|0){b=Pn(b)|0;a=40842;r=28;break}b=c[p>>2]|0;a=c[o>>2]|0;c[j>>2]=0;c[k>>2]=0;c[n>>2]=0;if((Ff(j,0,40424,75)|0)==0?(Ff(k,0,40500,75)|0)==0:0)if(!(Sh(n,c[j>>2]|0,a)|0))if(!(Th(c[n>>2]|0,c[j>>2]|0,b)|0)){b=((Th(c[n>>2]|0,c[k>>2]|0,b)|0)&65535|0)==8;b=b?0:40576}else b=40641;else b=40626;else b=40603;sf(c[n>>2]|0);sf(c[k>>2]|0);sf(c[j>>2]|0);if(!b){b=c[p>>2]|0;a=c[o>>2]|0;c[j>>2]=0;c[k>>2]=0;c[n>>2]=0;g=Hl(1e3)|0;Kl(g,1e3,0);c[f>>2]=g;if(!(Df(j,0,40655,f)|0))if(!(Ph(k,c[j>>2]|0,b)|0)){b=uf(c[k>>2]|0,40685,0)|0;if((((b|0)!=0?(h=uf(b,40693,0)|0,sf(b),(h|0)!=0):0)?(i=uf(h,39071,0)|0,sf(h),(i|0)!=0):0)?(e=Af(i,1,0)|0,sf(i),(e|0)!=0):0)if(wk(g,e)|0)if(!(Rh(n,c[k>>2]|0,a)|0)){b=uf(c[n>>2]|0,40697,0)|0;if(!b)a=Af(c[n>>2]|0,0,5)|0;else a=Af(b,1,5)|0;if(!a){f=b;b=40804;a=0}else{i=(wk(g,a)|0)==0;f=b;b=i?0:40703}}else{f=0;b=40789;a=0}else{f=0;b=40760;a=0}else{f=0;e=0;b=40727;a=0}}else{f=0;e=0;b=40712;a=0}else{f=0;e=0;b=40603;a=0}sf(f);Jl(a);sf(c[n>>2]|0);Jl(e);sf(c[k>>2]|0);sf(c[j>>2]|0);Jl(g);if(!b){sf(c[p>>2]|0);sf(c[o>>2]|0);b=0}else{a=40863;r=28}}else{a=40858;r=28}}else r=4}else r=4;while(0);if((r|0)==4){b=Pn(b)|0;a=40834;r=28}if((r|0)==28){sf(c[p>>2]|0);sf(c[o>>2]|0);if(!d)b=50;else{zb[d&1](40871,1,a,b);b=50}}r=b;l=q;return r|0}function Mi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;if((l|0)>=(m|0))$(16);e=f;b=uf(b,39075,1)|0;do if(b){d=xf(b,1,e)|0;if(!d){sf(b);b=68;break}else{lh(a,d,c[e>>2]|0);sf(b);b=0;break}}else b=68;while(0);l=f;return b|0}function Ni(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;kk(b);h=d+12|0;if((c[h>>2]|0?(i=d+16|0,c[i>>2]|0):0)?(j=d+20|0,c[j>>2]|0):0){e=nl((c[(c[d>>2]|0)+4>>2]|0)+1|0)|0;f=nl((c[(c[d>>2]|0)+4>>2]|0)+1|0)|0;g=nl((c[(c[d>>2]|0)+4>>2]|0)+1|0)|0;gk(g,c[h>>2]|0,1);d=d+8|0;xk(g,c[d>>2]|0,g);Mk(e,b,g,c[h>>2]|0);gk(g,c[i>>2]|0,1);xk(g,c[d>>2]|0,g);Mk(f,b,g,c[i>>2]|0);hk(g,f,e);if(c[g+8>>2]|0)fk(g,g,c[i>>2]|0);Lk(g,c[j>>2]|0,g,c[i>>2]|0);Kk(g,g,c[h>>2]|0);fk(a,e,g);tl(g);tl(e);tl(f);return}Mk(a,b,c[d+8>>2]|0,c[d>>2]|0);return}function Oi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=Hl(b)|0;g=Hl(b)|0;h=Hl(b)|0;i=Hl(b)|0;d=c[a>>2]|0;e=c[a+4>>2]|0;Kl(f,b,0);if((g|0)==(f|0)){j=ll(c[f+4>>2]<<1)|0;Mk(j,f,e,d);Al(f,j)|0;tl(j)}else Mk(g,f,e,d);if((wk(g,f)|0)!=0?(Ni(h,g,a),(wk(h,f)|0)==0):0){Kl(f,b,0);Ni(i,f,a);a=(h|0)==(i|0);if(a){j=ll(c[h+4>>2]<<1)|0;Mk(j,h,e,d);Al(h,j)|0;tl(j)}else Mk(h,i,e,d);if(!(wk(h,f)|0)){ek(i,i,1);if(a){j=ll(c[h+4>>2]<<1)|0;Mk(j,h,e,d);Al(h,j)|0;tl(j)}else Mk(h,i,e,d);a=((wk(h,f)|0)==0)<<31>>31}else a=-1}else a=-1;Jl(i);Jl(h);Jl(g);Jl(f);return a|0}function Pi(a,b){a=a|0;b=b|0;var c=0;gk(b,b,1);c=Bl(b)|0;a=(Ek(c,a,b)|0)==0&1;Jl(c);ek(b,b,1);return a|0}function Qi(a,b){a=a|0;b=b|0;c[a+160>>2]=1732584193;c[a+164>>2]=-271733879;c[a+168>>2]=-1732584194;c[a+172>>2]=271733878;c[a+176>>2]=-1009589776;b=a+128|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[a+148>>2]=64;c[a+152>>2]=32;return}function Ri(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;Jm(b,0,0);h=b+128|0;f=c[h>>2]|0;i=f<<6;h=gr(f|0,c[h+4>>2]|0,26)|0;e=b+144|0;j=c[e>>2]|0;g=i+j|0;f=(g>>>0<i>>>0&1)+(h&536870848|f>>>26)|0;h=g<<3;i=f<<3|g>>>29;c[e>>2]=j+1;a[b+j>>0]=-128;d=c[e>>2]|0;if((j|0)<56){if((d|0)<56)do{c[e>>2]=d+1;a[b+d>>0]=0;d=c[e>>2]|0}while((d|0)<56)}else{if((d|0)<64)do{c[e>>2]=d+1;a[b+d>>0]=0;d=c[e>>2]|0}while((d|0)<64);Jm(b,0,0);d=b;e=d+56|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0))}a[b+56>>0]=f>>>21;a[b+57>>0]=f>>>13;a[b+58>>0]=f>>>5;a[b+59>>0]=i;a[b+60>>0]=g>>>21;a[b+61>>0]=g>>>13;a[b+62>>0]=g>>>5;a[b+63>>0]=h;Ui(b,b,1)|0;Te(104);j=c[b+160>>2]|0;a[b>>0]=j>>>24;a[b+1>>0]=j>>>16;a[b+2>>0]=j>>>8;a[b+3>>0]=j;j=c[b+164>>2]|0;a[b+4>>0]=j>>>24;a[b+5>>0]=j>>>16;a[b+6>>0]=j>>>8;a[b+7>>0]=j;j=c[b+168>>2]|0;a[b+8>>0]=j>>>24;a[b+9>>0]=j>>>16;a[b+10>>0]=j>>>8;a[b+11>>0]=j;j=c[b+172>>2]|0;a[b+12>>0]=j>>>24;a[b+13>>0]=j>>>16;a[b+14>>0]=j>>>8;a[b+15>>0]=j;j=c[b+176>>2]|0;a[b+16>>0]=j>>>24;a[b+17>>0]=j>>>16;a[b+18>>0]=j>>>8;a[b+19>>0]=j;return}function Si(a){a=a|0;return a|0}function Ti(a,b,c){a=a|0;b=b|0;c=c|0;if((a|0)!=2){c=5;return c|0}a=Im(2,0,42568,3,42031,20)|0;if(!a){if(!b){c=0;return c|0}a=Im(2,0,42234,56,42052,20)|0;if(!a){a=Im(2,1,0,0,42073,20)|0;if(!a){c=0;return c|0}else b=42857}else b=42845}else b=42832;if(!c){c=50;return c|0}zb[c&1](42873,2,b,a);c=50;return c|0}function Ui(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;k=a+160|0;l=a+164|0;m=a+168|0;n=a+172|0;j=a+176|0;a=c[m>>2]|0;f=c[n>>2]|0;g=c[l>>2]|0;h=c[j>>2]|0;i=c[k>>2]|0;while(1){z=(d[b+1>>0]|0)<<16|(d[b>>0]|0)<<24|(d[b+2>>0]|0)<<8|(d[b+3>>0]|0);o=(i<<5|i>>>27)+1518500249+h+((f^a)&g^f)+z|0;r=g<<30|g>>>2;v=(d[b+5>>0]|0)<<16|(d[b+4>>0]|0)<<24|(d[b+6>>0]|0)<<8|(d[b+7>>0]|0);p=f+1518500249+((r^a)&i^a)+(o<<5|o>>>27)+v|0;s=i<<30|i>>>2;B=(d[b+9>>0]|0)<<16|(d[b+8>>0]|0)<<24|(d[b+10>>0]|0)<<8|(d[b+11>>0]|0);q=a+1518500249+(o&(r^s)^r)+(p<<5|p>>>27)+B|0;o=o<<30|o>>>2;G=(d[b+13>>0]|0)<<16|(d[b+12>>0]|0)<<24|(d[b+14>>0]|0)<<8|(d[b+15>>0]|0);r=r+1518500249+(p&(o^s)^s)+G+(q<<5|q>>>27)|0;p=p<<30|p>>>2;E=(d[b+17>>0]|0)<<16|(d[b+16>>0]|0)<<24|(d[b+18>>0]|0)<<8|(d[b+19>>0]|0);s=s+1518500249+(q&(p^o)^o)+E+(r<<5|r>>>27)|0;q=q<<30|q>>>2;C=(d[b+21>>0]|0)<<16|(d[b+20>>0]|0)<<24|(d[b+22>>0]|0)<<8|(d[b+23>>0]|0);o=o+1518500249+(r&(q^p)^p)+C+(s<<5|s>>>27)|0;r=r<<30|r>>>2;y=(d[b+25>>0]|0)<<16|(d[b+24>>0]|0)<<24|(d[b+26>>0]|0)<<8|(d[b+27>>0]|0);p=p+1518500249+(s&(r^q)^q)+y+(o<<5|o>>>27)|0;s=s<<30|s>>>2;u=(d[b+29>>0]|0)<<16|(d[b+28>>0]|0)<<24|(d[b+30>>0]|0)<<8|(d[b+31>>0]|0);q=q+1518500249+(o&(s^r)^r)+u+(p<<5|p>>>27)|0;o=o<<30|o>>>2;x=(d[b+33>>0]|0)<<16|(d[b+32>>0]|0)<<24|(d[b+34>>0]|0)<<8|(d[b+35>>0]|0);r=r+1518500249+(p&(o^s)^s)+x+(q<<5|q>>>27)|0;p=p<<30|p>>>2;t=(d[b+37>>0]|0)<<16|(d[b+36>>0]|0)<<24|(d[b+38>>0]|0)<<8|(d[b+39>>0]|0);s=s+1518500249+(q&(p^o)^o)+t+(r<<5|r>>>27)|0;q=q<<30|q>>>2;I=(d[b+41>>0]|0)<<16|(d[b+40>>0]|0)<<24|(d[b+42>>0]|0)<<8|(d[b+43>>0]|0);o=o+1518500249+(r&(q^p)^p)+I+(s<<5|s>>>27)|0;r=r<<30|r>>>2;H=(d[b+45>>0]|0)<<16|(d[b+44>>0]|0)<<24|(d[b+46>>0]|0)<<8|(d[b+47>>0]|0);p=p+1518500249+(s&(r^q)^q)+H+(o<<5|o>>>27)|0;s=s<<30|s>>>2;F=(d[b+49>>0]|0)<<16|(d[b+48>>0]|0)<<24|(d[b+50>>0]|0)<<8|(d[b+51>>0]|0);q=q+1518500249+(o&(s^r)^r)+F+(p<<5|p>>>27)|0;o=o<<30|o>>>2;D=(d[b+53>>0]|0)<<16|(d[b+52>>0]|0)<<24|(d[b+54>>0]|0)<<8|(d[b+55>>0]|0);r=r+1518500249+(p&(o^s)^s)+D+(q<<5|q>>>27)|0;p=p<<30|p>>>2;A=(d[b+57>>0]|0)<<16|(d[b+56>>0]|0)<<24|(d[b+58>>0]|0)<<8|(d[b+59>>0]|0);s=s+1518500249+(q&(p^o)^o)+A+(r<<5|r>>>27)|0;q=q<<30|q>>>2;w=(d[b+61>>0]|0)<<16|(d[b+60>>0]|0)<<24|(d[b+62>>0]|0)<<8|(d[b+63>>0]|0);o=o+1518500249+(r&(q^p)^p)+w+(s<<5|s>>>27)|0;r=r<<30|r>>>2;z=B^z^x^D;z=z<<1|z>>>31;p=p+1518500249+z+(s&(r^q)^q)+(o<<5|o>>>27)|0;s=s<<30|s>>>2;v=G^v^t^A;v=v<<1|v>>>31;q=q+1518500249+v+(o&(s^r)^r)+(p<<5|p>>>27)|0;o=o<<30|o>>>2;B=E^B^I^w;B=B<<1|B>>>31;r=r+1518500249+B+(p&(o^s)^s)+(q<<5|q>>>27)|0;p=p<<30|p>>>2;G=C^G^H^z;G=G<<1|G>>>31;s=G+1518500249+s+(q&(p^o)^o)+(r<<5|r>>>27)|0;q=q<<30|q>>>2;E=y^E^F^v;E=E<<1|E>>>31;o=E+1859775393+o+(q^p^r)+(s<<5|s>>>27)|0;r=r<<30|r>>>2;C=u^C^D^B;C=C<<1|C>>>31;p=C+1859775393+p+(r^q^s)+(o<<5|o>>>27)|0;s=s<<30|s>>>2;y=x^y^A^G;y=y<<1|y>>>31;q=y+1859775393+q+(s^r^o)+(p<<5|p>>>27)|0;o=o<<30|o>>>2;u=t^u^w^E;u=u<<1|u>>>31;r=u+1859775393+r+(o^s^p)+(q<<5|q>>>27)|0;p=p<<30|p>>>2;x=I^x^z^C;x=x<<1|x>>>31;s=x+1859775393+s+(p^o^q)+(r<<5|r>>>27)|0;q=q<<30|q>>>2;t=H^t^v^y;t=t<<1|t>>>31;o=t+1859775393+o+(q^p^r)+(s<<5|s>>>27)|0;r=r<<30|r>>>2;I=F^I^B^u;I=I<<1|I>>>31;p=I+1859775393+p+(r^q^s)+(o<<5|o>>>27)|0;s=s<<30|s>>>2;H=D^H^G^x;H=H<<1|H>>>31;q=H+1859775393+q+(s^r^o)+(p<<5|p>>>27)|0;o=o<<30|o>>>2;F=A^F^E^t;F=F<<1|F>>>31;r=F+1859775393+r+(o^s^p)+(q<<5|q>>>27)|0;p=p<<30|p>>>2;D=w^D^C^I;D=D<<1|D>>>31;s=D+1859775393+s+(p^o^q)+(r<<5|r>>>27)|0;q=q<<30|q>>>2;A=A^z^y^H;A=A<<1|A>>>31;o=A+1859775393+o+(q^p^r)+(s<<5|s>>>27)|0;r=r<<30|r>>>2;w=w^v^u^F;w=w<<1|w>>>31;p=w+1859775393+p+(r^q^s)+(o<<5|o>>>27)|0;s=s<<30|s>>>2;z=B^z^x^D;z=z<<1|z>>>31;q=z+1859775393+q+(s^r^o)+(p<<5|p>>>27)|0;o=o<<30|o>>>2;v=v^G^t^A;v=v<<1|v>>>31;r=v+1859775393+r+(o^s^p)+(q<<5|q>>>27)|0;p=p<<30|p>>>2;B=B^E^I^w;B=B<<1|B>>>31;s=B+1859775393+s+(p^o^q)+(r<<5|r>>>27)|0;q=q<<30|q>>>2;G=C^G^H^z;G=G<<1|G>>>31;o=G+1859775393+o+(q^p^r)+(s<<5|s>>>27)|0;r=r<<30|r>>>2;E=E^y^F^v;E=E<<1|E>>>31;p=E+1859775393+p+(r^q^s)+(o<<5|o>>>27)|0;s=s<<30|s>>>2;C=C^u^D^B;C=C<<1|C>>>31;q=C+1859775393+q+(s^r^o)+(p<<5|p>>>27)|0;o=o<<30|o>>>2;y=x^y^A^G;y=y<<1|y>>>31;r=y+1859775393+r+(o^s^p)+(q<<5|q>>>27)|0;p=p<<30|p>>>2;u=u^t^w^E;u=u<<1|u>>>31;s=u+1859775393+s+(p^o^q)+(r<<5|r>>>27)|0;q=q<<30|q>>>2;x=x^I^z^C;x=x<<1|x>>>31;o=x+-1894007588+o+((r|q)&p|r&q)+(s<<5|s>>>27)|0;r=r<<30|r>>>2;t=H^t^v^y;t=t<<1|t>>>31;p=t+-1894007588+p+((s|r)&q|s&r)+(o<<5|o>>>27)|0;s=s<<30|s>>>2;I=I^F^B^u;I=I<<1|I>>>31;q=I+-1894007588+q+((o|s)&r|o&s)+(p<<5|p>>>27)|0;o=o<<30|o>>>2;H=H^D^G^x;H=H<<1|H>>>31;r=H+-1894007588+r+((p|o)&s|p&o)+(q<<5|q>>>27)|0;p=p<<30|p>>>2;F=A^F^E^t;F=F<<1|F>>>31;s=F+-1894007588+s+((q|p)&o|q&p)+(r<<5|r>>>27)|0;q=q<<30|q>>>2;D=D^w^C^I;D=D<<1|D>>>31;o=D+-1894007588+o+((r|q)&p|r&q)+(s<<5|s>>>27)|0;r=r<<30|r>>>2;A=A^z^y^H;A=A<<1|A>>>31;p=A+-1894007588+p+((s|r)&q|s&r)+(o<<5|o>>>27)|0;s=s<<30|s>>>2;w=v^w^u^F;w=w<<1|w>>>31;q=w+-1894007588+q+((o|s)&r|o&s)+(p<<5|p>>>27)|0;o=o<<30|o>>>2;z=z^B^x^D;z=z<<1|z>>>31;r=z+-1894007588+r+((p|o)&s|p&o)+(q<<5|q>>>27)|0;p=p<<30|p>>>2;v=v^G^t^A;v=v<<1|v>>>31;s=v+-1894007588+s+((q|p)&o|q&p)+(r<<5|r>>>27)|0;q=q<<30|q>>>2;B=E^B^I^w;B=B<<1|B>>>31;o=B+-1894007588+o+((r|q)&p|r&q)+(s<<5|s>>>27)|0;r=r<<30|r>>>2;G=G^C^H^z;G=G<<1|G>>>31;p=G+-1894007588+p+((s|r)&q|s&r)+(o<<5|o>>>27)|0;s=s<<30|s>>>2;E=E^y^F^v;E=E<<1|E>>>31;q=E+-1894007588+q+((o|s)&r|o&s)+(p<<5|p>>>27)|0;o=o<<30|o>>>2;C=u^C^D^B;C=C<<1|C>>>31;r=C+-1894007588+r+((p|o)&s|p&o)+(q<<5|q>>>27)|0;p=p<<30|p>>>2;y=y^x^A^G;y=y<<1|y>>>31;s=y+-1894007588+s+((q|p)&o|q&p)+(r<<5|r>>>27)|0;q=q<<30|q>>>2;u=u^t^w^E;u=u<<1|u>>>31;o=u+-1894007588+o+((r|q)&p|r&q)+(s<<5|s>>>27)|0;r=r<<30|r>>>2;x=I^x^z^C;x=x<<1|x>>>31;p=x+-1894007588+p+((s|r)&q|s&r)+(o<<5|o>>>27)|0;s=s<<30|s>>>2;t=t^H^v^y;t=t<<1|t>>>31;q=t+-1894007588+q+((o|s)&r|o&s)+(p<<5|p>>>27)|0;o=o<<30|o>>>2;I=I^F^B^u;I=I<<1|I>>>31;r=I+-1894007588+r+((p|o)&s|p&o)+(q<<5|q>>>27)|0;p=p<<30|p>>>2;H=D^H^G^x;H=H<<1|H>>>31;s=H+-1894007588+s+((q|p)&o|q&p)+(r<<5|r>>>27)|0;q=q<<30|q>>>2;F=F^A^E^t;F=F<<1|F>>>31;o=F+-899497514+o+(q^p^r)+(s<<5|s>>>27)|0;r=r<<30|r>>>2;D=D^w^C^I;D=D<<1|D>>>31;p=D+-899497514+p+(r^q^s)+(o<<5|o>>>27)|0;s=s<<30|s>>>2;A=z^A^y^H;A=A<<1|A>>>31;q=A+-899497514+q+(s^r^o)+(p<<5|p>>>27)|0;o=o<<30|o>>>2;w=w^v^u^F;w=w<<1|w>>>31;r=w+-899497514+r+(o^s^p)+(q<<5|q>>>27)|0;p=p<<30|p>>>2;z=z^B^x^D;z=z<<1|z>>>31;s=z+-899497514+s+(p^o^q)+(r<<5|r>>>27)|0;q=q<<30|q>>>2;v=G^v^t^A;v=v<<1|v>>>31;o=v+-899497514+o+(q^p^r)+(s<<5|s>>>27)|0;r=r<<30|r>>>2;B=B^E^I^w;B=B<<1|B>>>31;p=B+-899497514+p+(r^q^s)+(o<<5|o>>>27)|0;s=s<<30|s>>>2;G=G^C^H^z;G=G<<1|G>>>31;q=G+-899497514+q+(s^r^o)+(p<<5|p>>>27)|0;o=o<<30|o>>>2;E=y^E^F^v;E=E<<1|E>>>31;r=E+-899497514+r+(o^s^p)+(q<<5|q>>>27)|0;p=p<<30|p>>>2;C=C^u^D^B;C=C<<1|C>>>31;s=C+-899497514+s+(p^o^q)+(r<<5|r>>>27)|0;q=q<<30|q>>>2;y=y^x^A^G;y=y<<1|y>>>31;o=y+-899497514+o+(q^p^r)+(s<<5|s>>>27)|0;r=r<<30|r>>>2;u=t^u^w^E;u=u<<1|u>>>31;p=u+-899497514+p+(r^q^s)+(o<<5|o>>>27)|0;s=s<<30|s>>>2;x=x^I^z^C;x=x<<1|x>>>31;q=x+-899497514+q+(s^r^o)+(p<<5|p>>>27)|0;o=o<<30|o>>>2;t=t^H^v^y;t=t<<1|t>>>31;r=t+-899497514+r+(o^s^p)+(q<<5|q>>>27)|0;p=p<<30|p>>>2;B=F^I^B^u;B=B<<1|B>>>31;s=B+-899497514+s+(p^o^q)+(r<<5|r>>>27)|0;q=q<<30|q>>>2;x=H^D^G^x;x=x<<1|x>>>31;o=x+-899497514+o+(q^p^r)+(s<<5|s>>>27)|0;r=r<<30|r>>>2;t=F^A^E^t;t=t<<1|t>>>31;p=t+-899497514+p+(r^q^s)+(o<<5|o>>>27)|0;s=s<<30|s>>>2;B=w^D^C^B;q=(B<<1|B>>>31)+-899497514+q+(s^r^o)+(p<<5|p>>>27)|0;o=o<<30|o>>>2;x=A^z^y^x;r=(x<<1|x>>>31)+-899497514+r+(o^s^p)+(q<<5|q>>>27)|0;p=p<<30|p>>>2;t=w^v^u^t;i=i+-899497514+(t<<1|t>>>31)+s+(p^o^q)+(r<<5|r>>>27)|0;c[k>>2]=i;g=r+(c[l>>2]|0)|0;c[l>>2]=g;a=(q<<30|q>>>2)+(c[m>>2]|0)|0;c[m>>2]=a;f=p+(c[n>>2]|0)|0;c[n>>2]=f;h=o+(c[j>>2]|0)|0;c[j>>2]=h;e=e+-1|0;if(!e)break;else b=b+64|0}return 104}function Vi(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=l;l=l+192|0;if((l|0)>=(m|0))$(192);g=f;c[g+160>>2]=1732584193;c[g+164>>2]=-271733879;c[g+168>>2]=-1732584194;c[g+172>>2]=271733878;c[g+176>>2]=-1009589776;h=g+128|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[g+148>>2]=64;c[g+152>>2]=32;Jm(g,d,e);Ri(g);d=g;e=b+20|0;do{a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}while((b|0)<(e|0));l=f;return}function Wi(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=l;l=l+192|0;if((l|0)>=(m|0))$(192);f=g;c[f+160>>2]=1732584193;c[f+164>>2]=-271733879;c[f+168>>2]=-1732584194;c[f+172>>2]=271733878;c[f+176>>2]=-1009589776;h=f+128|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[f+148>>2]=64;c[f+152>>2]=32;if((e|0)<=0){Ri(f);d=b;e=d+20|0;do{a[d>>0]=a[f>>0]|0;d=d+1|0;f=f+1|0}while((d|0)<(e|0));l=g;return}while(1){Jm(f,(c[d+12>>2]|0)+(c[d+4>>2]|0)|0,c[d+8>>2]|0);if((e|0)>1){d=d+16|0;e=e+-1|0}else break}Ri(f);d=b;e=d+20|0;do{a[d>>0]=a[f>>0]|0;d=d+1|0;f=f+1|0}while((d|0)<(e|0));l=g;return}function Xi(a,b){a=a|0;b=b|0;c[a+160>>2]=-1056596264;c[a+164>>2]=914150663;c[a+168>>2]=812702999;c[a+172>>2]=-150054599;c[a+176>>2]=-4191439;c[a+180>>2]=1750603025;c[a+184>>2]=1694076839;c[a+188>>2]=-1090891868;b=a+128|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[a+148>>2]=64;c[a+152>>2]=33;return}function Yi(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;Jm(b,0,0);h=b+128|0;f=c[h>>2]|0;i=f<<6;h=gr(f|0,c[h+4>>2]|0,26)|0;e=b+144|0;j=c[e>>2]|0;g=i+j|0;f=(g>>>0<i>>>0&1)+(h&536870848|f>>>26)|0;h=g<<3;i=f<<3|g>>>29;c[e>>2]=j+1;a[b+j>>0]=-128;d=c[e>>2]|0;if((j|0)<56){if((d|0)<56)do{c[e>>2]=d+1;a[b+d>>0]=0;d=c[e>>2]|0}while((d|0)<56)}else{if((d|0)<64)do{c[e>>2]=d+1;a[b+d>>0]=0;d=c[e>>2]|0}while((d|0)<64);Jm(b,0,0);d=b;e=d+56|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0))}a[b+56>>0]=f>>>21;a[b+57>>0]=f>>>13;a[b+58>>0]=f>>>5;a[b+59>>0]=i;a[b+60>>0]=g>>>21;a[b+61>>0]=g>>>13;a[b+62>>0]=g>>>5;a[b+63>>0]=h;$i(b,b,1)|0;Te(328);j=c[b+160>>2]|0;a[b>>0]=j>>>24;a[b+1>>0]=j>>>16;a[b+2>>0]=j>>>8;a[b+3>>0]=j;j=c[b+164>>2]|0;a[b+4>>0]=j>>>24;a[b+5>>0]=j>>>16;a[b+6>>0]=j>>>8;a[b+7>>0]=j;j=c[b+168>>2]|0;a[b+8>>0]=j>>>24;a[b+9>>0]=j>>>16;a[b+10>>0]=j>>>8;a[b+11>>0]=j;j=c[b+172>>2]|0;a[b+12>>0]=j>>>24;a[b+13>>0]=j>>>16;a[b+14>>0]=j>>>8;a[b+15>>0]=j;j=c[b+176>>2]|0;a[b+16>>0]=j>>>24;a[b+17>>0]=j>>>16;a[b+18>>0]=j>>>8;a[b+19>>0]=j;j=c[b+180>>2]|0;a[b+20>>0]=j>>>24;a[b+21>>0]=j>>>16;a[b+22>>0]=j>>>8;a[b+23>>0]=j;j=c[b+184>>2]|0;a[b+24>>0]=j>>>24;a[b+25>>0]=j>>>16;a[b+26>>0]=j>>>8;a[b+27>>0]=j;j=c[b+188>>2]|0;a[b+28>>0]=j>>>24;a[b+29>>0]=j>>>16;a[b+30>>0]=j>>>8;a[b+31>>0]=j;return}function Zi(a){a=a|0;return a|0}function _i(a,b,c){a=a|0;b=b|0;c=c|0;switch(a|0){case 11:{a=Im(11,0,42568,3,42205,28)|0;if(!a){if(!b){c=0;return c|0}a=Im(11,0,42234,56,42291,28)|0;if(!a){a=Im(11,1,0,0,42320,28)|0;if(!a){c=0;return c|0}else b=42857}else b=42845}else b=42832;if(!c){c=50;return c|0}zb[c&1](42873,11,b,a);c=50;return c|0}case 8:{a=Im(8,0,42568,3,42349,32)|0;if(!a){if(!b){c=0;return c|0}a=Im(8,0,42234,56,42382,32)|0;if(!a){a=Im(8,1,0,0,42415,32)|0;if(!a){c=0;return c|0}else b=42857}else b=42845}else b=42832;if(!c){c=50;return c|0}zb[c&1](42873,8,b,a);c=50;return c|0}default:{c=5;return c|0}}return 0}function $i(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;z=l;l=l+256|0;if((l|0)>=(m|0))$(256);s=z;t=a+160|0;u=a+164|0;v=a+168|0;w=a+172|0;x=a+176|0;y=a+180|0;r=a+184|0;q=a+188|0;i=c[q>>2]|0;k=c[r>>2]|0;j=c[y>>2]|0;h=c[x>>2]|0;g=c[w>>2]|0;p=c[v>>2]|0;o=c[u>>2]|0;n=c[t>>2]|0;while(1){a=0;do{f=b+(a<<2)|0;c[s+(a<<2)>>2]=(d[f+1>>0]|0)<<16|(d[f>>0]|0)<<24|(d[f+2>>0]|0)<<8|(d[f+3>>0]|0);a=a+1|0}while((a|0)!=16);a=16;f=c[s>>2]|0;do{A=c[s+(a+-2<<2)>>2]|0;B=f;f=c[s+(a+-15<<2)>>2]|0;c[s+(a<<2)>>2]=(c[s+(a+-7<<2)>>2]|0)+B+((A>>>19|A<<13)^A>>>10^(A>>>17|A<<15))+((f>>>18|f<<14)^f>>>3^(f>>>7|f<<25));a=a+1|0}while((a|0)!=64);f=p;a=0;do{G=((j^k)&h^k)+i+(c[12216+(a<<2)>>2]|0)+((h>>>6|h<<26)^(h>>>11|h<<21)^(h>>>25|h<<7))+(c[s+(a<<2)>>2]|0)|0;H=G+g|0;G=(f&(o|n)|o&n)+((n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10))+G|0;E=a|1;E=(c[12216+(E<<2)>>2]|0)+k+(c[s+(E<<2)>>2]|0)+(H&(h^j)^j)+((H>>>6|H<<26)^(H>>>11|H<<21)^(H>>>25|H<<7))|0;D=E+f|0;E=((G>>>2|G<<30)^(G>>>13|G<<19)^(G>>>22|G<<10))+((G|n)&o|G&n)+E|0;C=a|2;C=(c[12216+(C<<2)>>2]|0)+j+(c[s+(C<<2)>>2]|0)+(D&(H^h)^h)+((D>>>6|D<<26)^(D>>>11|D<<21)^(D>>>25|D<<7))|0;p=C+o|0;C=((E>>>2|E<<30)^(E>>>13|E<<19)^(E>>>22|E<<10))+((E|G)&n|E&G)+C|0;A=a|3;A=(c[12216+(A<<2)>>2]|0)+h+(c[s+(A<<2)>>2]|0)+(p&(D^H)^H)+((p>>>6|p<<26)^(p>>>11|p<<21)^(p>>>25|p<<7))|0;B=A+n|0;A=((C>>>2|C<<30)^(C>>>13|C<<19)^(C>>>22|C<<10))+((C|E)&G|C&E)+A|0;F=a|4;F=(c[12216+(F<<2)>>2]|0)+H+(c[s+(F<<2)>>2]|0)+(B&(p^D)^D)+((B>>>6|B<<26)^(B>>>11|B<<21)^(B>>>25|B<<7))|0;i=F+G|0;g=((A>>>2|A<<30)^(A>>>13|A<<19)^(A>>>22|A<<10))+((A|C)&E|A&C)+F|0;F=a|5;D=(c[s+(F<<2)>>2]|0)+(c[12216+(F<<2)>>2]|0)+D+(i&(B^p)^p)+((i>>>6|i<<26)^(i>>>11|i<<21)^(i>>>25|i<<7))|0;k=D+E|0;f=((g>>>2|g<<30)^(g>>>13|g<<19)^(g>>>22|g<<10))+((g|A)&C|g&A)+D|0;D=a|6;p=(c[s+(D<<2)>>2]|0)+(c[12216+(D<<2)>>2]|0)+p+(k&(i^B)^B)+((k>>>6|k<<26)^(k>>>11|k<<21)^(k>>>25|k<<7))|0;j=p+C|0;o=((f>>>2|f<<30)^(f>>>13|f<<19)^(f>>>22|f<<10))+((f|g)&A|f&g)+p|0;p=a|7;B=(c[s+(p<<2)>>2]|0)+(c[12216+(p<<2)>>2]|0)+B+(j&(k^i)^i)+((j>>>6|j<<26)^(j>>>11|j<<21)^(j>>>25|j<<7))|0;h=B+A|0;n=((o>>>2|o<<30)^(o>>>13|o<<19)^(o>>>22|o<<10))+((o|f)&g|o&f)+B|0;a=a+8|0}while((a|0)<64);n=(c[t>>2]|0)+n|0;c[t>>2]=n;o=(c[u>>2]|0)+o|0;c[u>>2]=o;p=(c[v>>2]|0)+f|0;c[v>>2]=p;g=(c[w>>2]|0)+g|0;c[w>>2]=g;h=(c[x>>2]|0)+h|0;c[x>>2]=h;j=(c[y>>2]|0)+j|0;c[y>>2]=j;k=(c[r>>2]|0)+k|0;c[r>>2]=k;i=(c[q>>2]|0)+i|0;c[q>>2]=i;e=e+-1|0;if(!e)break;else b=b+64|0}l=z;return 328}function aj(a,b){a=a|0;b=b|0;c[a+160>>2]=1779033703;c[a+164>>2]=-1150833019;c[a+168>>2]=1013904242;c[a+172>>2]=-1521486534;c[a+176>>2]=1359893119;c[a+180>>2]=-1694144372;c[a+184>>2]=528734635;c[a+188>>2]=1541459225;b=a+128|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[a+148>>2]=64;c[a+152>>2]=33;return}function bj(a,b){a=a|0;b=b|0;b=a+160|0;c[b>>2]=-205731576;c[b+4>>2]=1779033703;b=a+168|0;c[b>>2]=-2067093701;c[b+4>>2]=-1150833019;b=a+176|0;c[b>>2]=-23791573;c[b+4>>2]=1013904242;b=a+184|0;c[b>>2]=1595750129;c[b+4>>2]=-1521486534;b=a+192|0;c[b>>2]=-1377402159;c[b+4>>2]=1359893119;b=a+200|0;c[b>>2]=725511199;c[b+4>>2]=-1694144372;b=a+208|0;c[b>>2]=-79577749;c[b+4>>2]=528734635;b=a+216|0;c[b>>2]=327033209;c[b+4>>2]=1541459225;b=a+128|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[a+148>>2]=128;c[a+152>>2]=34;return}function cj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;Jm(b,0,0);i=b+128|0;e=c[i>>2]|0;i=c[i+4>>2]|0;j=b+136|0;h=c[j>>2]|0;j=c[j+4>>2]|0;m=mr(e|0,i|0,7)|0;d=D;j=mr(h|0,j|0,7)|0;h=D;i=gr(e|0,i|0,57)|0;h=h|D;e=b+144|0;l=c[e>>2]|0;f=_q(l|0,((l|0)<0)<<31>>31|0,m|0,d|0)|0;g=D;h=_q((g>>>0<d>>>0|(g|0)==(d|0)&f>>>0<m>>>0)&1|0,0,j|i|0,h|0)|0;i=D;j=mr(f|0,g|0,3)|0;m=mr(h|0,i|0,3)|0;d=D;k=gr(f|0,g|0,61)|0;k=m|k;c[e>>2]=l+1;a[b+l>>0]=-128;d=c[e>>2]|0;if((l|0)<112){if((d|0)<112)do{c[e>>2]=d+1;a[b+d>>0]=0;d=c[e>>2]|0}while((d|0)<112)}else{if((d|0)<128)do{c[e>>2]=d+1;a[b+d>>0]=0;d=c[e>>2]|0}while((d|0)<128);Jm(b,0,0);d=b;e=d+112|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0))}m=gr(h|0,i|0,53)|0;a[b+112>>0]=m;m=gr(h|0,i|0,45)|0;a[b+113>>0]=m;m=gr(h|0,i|0,37)|0;a[b+114>>0]=m;m=gr(h|0,i|0,29)|0;a[b+115>>0]=m;m=gr(h|0,i|0,21)|0;a[b+116>>0]=m;m=gr(h|0,i|0,13)|0;a[b+117>>0]=m;m=gr(h|0,i|0,5)|0;a[b+118>>0]=m;a[b+119>>0]=k;m=gr(f|0,g|0,53)|0;a[b+120>>0]=m;m=gr(f|0,g|0,45)|0;a[b+121>>0]=m;m=gr(f|0,g|0,37)|0;a[b+122>>0]=m;m=gr(f|0,g|0,29)|0;a[b+123>>0]=m;m=gr(f|0,g|0,21)|0;a[b+124>>0]=m;m=gr(f|0,g|0,13)|0;a[b+125>>0]=m;m=gr(f|0,g|0,5)|0;a[b+126>>0]=m;a[b+127>>0]=j;fj(b,b,1)|0;Te(220);m=b+160|0;l=c[m>>2]|0;m=c[m+4>>2]|0;k=gr(l|0,m|0,56)|0;a[b>>0]=k;k=gr(l|0,m|0,48)|0;a[b+1>>0]=k;k=gr(l|0,m|0,40)|0;a[b+2>>0]=k;a[b+3>>0]=m;k=gr(l|0,m|0,24)|0;a[b+4>>0]=k;k=gr(l|0,m|0,16)|0;a[b+5>>0]=k;m=gr(l|0,m|0,8)|0;a[b+6>>0]=m;a[b+7>>0]=l;l=b+168|0;m=c[l>>2]|0;l=c[l+4>>2]|0;k=gr(m|0,l|0,56)|0;a[b+8>>0]=k;k=gr(m|0,l|0,48)|0;a[b+9>>0]=k;k=gr(m|0,l|0,40)|0;a[b+10>>0]=k;a[b+11>>0]=l;k=gr(m|0,l|0,24)|0;a[b+12>>0]=k;k=gr(m|0,l|0,16)|0;a[b+13>>0]=k;l=gr(m|0,l|0,8)|0;a[b+14>>0]=l;a[b+15>>0]=m;m=b+176|0;l=c[m>>2]|0;m=c[m+4>>2]|0;k=gr(l|0,m|0,56)|0;a[b+16>>0]=k;k=gr(l|0,m|0,48)|0;a[b+17>>0]=k;k=gr(l|0,m|0,40)|0;a[b+18>>0]=k;a[b+19>>0]=m;k=gr(l|0,m|0,24)|0;a[b+20>>0]=k;k=gr(l|0,m|0,16)|0;a[b+21>>0]=k;m=gr(l|0,m|0,8)|0;a[b+22>>0]=m;a[b+23>>0]=l;l=b+184|0;m=c[l>>2]|0;l=c[l+4>>2]|0;k=gr(m|0,l|0,56)|0;a[b+24>>0]=k;k=gr(m|0,l|0,48)|0;a[b+25>>0]=k;k=gr(m|0,l|0,40)|0;a[b+26>>0]=k;a[b+27>>0]=l;k=gr(m|0,l|0,24)|0;a[b+28>>0]=k;k=gr(m|0,l|0,16)|0;a[b+29>>0]=k;l=gr(m|0,l|0,8)|0;a[b+30>>0]=l;a[b+31>>0]=m;m=b+192|0;l=c[m>>2]|0;m=c[m+4>>2]|0;k=gr(l|0,m|0,56)|0;a[b+32>>0]=k;k=gr(l|0,m|0,48)|0;a[b+33>>0]=k;k=gr(l|0,m|0,40)|0;a[b+34>>0]=k;a[b+35>>0]=m;k=gr(l|0,m|0,24)|0;a[b+36>>0]=k;k=gr(l|0,m|0,16)|0;a[b+37>>0]=k;m=gr(l|0,m|0,8)|0;a[b+38>>0]=m;a[b+39>>0]=l;l=b+200|0;m=c[l>>2]|0;l=c[l+4>>2]|0;k=gr(m|0,l|0,56)|0;a[b+40>>0]=k;k=gr(m|0,l|0,48)|0;a[b+41>>0]=k;k=gr(m|0,l|0,40)|0;a[b+42>>0]=k;a[b+43>>0]=l;k=gr(m|0,l|0,24)|0;a[b+44>>0]=k;k=gr(m|0,l|0,16)|0;a[b+45>>0]=k;l=gr(m|0,l|0,8)|0;a[b+46>>0]=l;a[b+47>>0]=m;m=b+208|0;l=c[m>>2]|0;m=c[m+4>>2]|0;k=gr(l|0,m|0,56)|0;a[b+48>>0]=k;k=gr(l|0,m|0,48)|0;a[b+49>>0]=k;k=gr(l|0,m|0,40)|0;a[b+50>>0]=k;a[b+51>>0]=m;k=gr(l|0,m|0,24)|0;a[b+52>>0]=k;k=gr(l|0,m|0,16)|0;a[b+53>>0]=k;m=gr(l|0,m|0,8)|0;a[b+54>>0]=m;a[b+55>>0]=l;l=b+216|0;m=c[l>>2]|0;l=c[l+4>>2]|0;k=gr(m|0,l|0,56)|0;a[b+56>>0]=k;k=gr(m|0,l|0,48)|0;a[b+57>>0]=k;k=gr(m|0,l|0,40)|0;a[b+58>>0]=k;a[b+59>>0]=l;k=gr(m|0,l|0,24)|0;a[b+60>>0]=k;k=gr(m|0,l|0,16)|0;a[b+61>>0]=k;l=gr(m|0,l|0,8)|0;a[b+62>>0]=l;a[b+63>>0]=m;return}function dj(a){a=a|0;return a|0}function ej(a,b,c){a=a|0;b=b|0;c=c|0;switch(a|0){case 9:{a=Im(9,0,42568,3,42572,48)|0;if(!a){if(!b){c=0;return c|0}a=Im(9,0,42621,112,42734,48)|0;if(!a){a=Im(9,1,0,0,42783,48)|0;if(!a){c=0;return c|0}else b=42857}else b=42845}else b=42832;if(!c){c=50;return c|0}zb[c&1](42873,9,b,a);c=50;return c|0}case 10:{a=Im(10,0,42568,3,42880,64)|0;if(!a){if(!b){c=0;return c|0}a=Im(10,0,42621,112,42945,64)|0;if(!a){a=Im(10,1,0,0,43010,64)|0;if(!a){c=0;return c|0}else b=42857}else b=42845}else b=42832;if(!c){c=50;return c|0}zb[c&1](42873,10,b,a);c=50;return c|0}default:{c=5;return c|0}}return 0}function fj(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0;Ba=l;l=l+128|0;if((l|0)>=(m|0))$(128);ua=Ba;va=a+160|0;wa=a+168|0;xa=a+176|0;ya=a+184|0;za=a+192|0;Aa=a+200|0;ta=a+208|0;da=a+216|0;ea=ua+112|0;fa=ua+72|0;ga=ua+8|0;ha=ua+120|0;ia=ua+80|0;ja=ua+16|0;ka=ua+88|0;la=ua+24|0;ma=ua+96|0;na=ua+32|0;oa=ua+104|0;pa=ua+40|0;qa=ua+48|0;ra=ua+56|0;sa=ua+64|0;q=va;t=wa;u=xa;w=ya;g=za;i=Aa;k=ta;o=da;n=c[o>>2]|0;o=c[o+4>>2]|0;j=c[k>>2]|0;k=c[k+4>>2]|0;h=c[i>>2]|0;i=c[i+4>>2]|0;f=c[g>>2]|0;g=c[g+4>>2]|0;v=c[w>>2]|0;w=c[w+4>>2]|0;s=c[u>>2]|0;u=c[u+4>>2]|0;r=c[t>>2]|0;t=c[t+4>>2]|0;p=c[q>>2]|0;q=c[q+4>>2]|0;while(1){a=0;do{aa=b+(a<<3)|0;W=mr(d[aa>>0]|0|0,0,56)|0;ba=D;V=mr(d[aa+1>>0]|0|0,0,48)|0;ba=D|ba;X=mr(d[aa+2>>0]|0|0,0,40)|0;ba=ba|D|(d[aa+3>>0]|0);Y=mr(d[aa+4>>0]|0|0,0,24)|0;ba=ba|D;Z=mr(d[aa+5>>0]|0|0,0,16)|0;ba=ba|D;_=mr(d[aa+6>>0]|0|0,0,8)|0;ca=ua+(a<<3)|0;c[ca>>2]=V|W|X|Y|Z|_|(d[aa+7>>0]|0);c[ca+4>>2]=ba|D;a=a+1|0}while((a|0)!=16);S=ua;U=ea;Y=fa;W=ga;x=ha;B=ia;z=ja;G=ka;E=la;K=ma;I=na;O=oa;M=pa;Q=qa;aa=ra;ca=sa;Z=0;_=c[aa>>2]|0;aa=c[aa+4>>2]|0;ba=c[ca>>2]|0;ca=c[ca+4>>2]|0;R=c[S>>2]|0;S=c[S+4>>2]|0;T=c[U>>2]|0;U=c[U+4>>2]|0;V=c[W>>2]|0;W=c[W+4>>2]|0;X=c[Y>>2]|0;Y=c[Y+4>>2]|0;a=c[x>>2]|0;x=c[x+4>>2]|0;y=c[z>>2]|0;z=c[z+4>>2]|0;A=c[B>>2]|0;B=c[B+4>>2]|0;C=c[E>>2]|0;E=c[E+4>>2]|0;F=c[G>>2]|0;G=c[G+4>>2]|0;H=c[I>>2]|0;I=c[I+4>>2]|0;J=c[K>>2]|0;K=c[K+4>>2]|0;L=c[M>>2]|0;M=c[M+4>>2]|0;N=c[O>>2]|0;O=c[O+4>>2]|0;P=c[Q>>2]|0;Q=c[Q+4>>2]|0;do{Ua=gr(f|0,g|0,14)|0;$a=D;ab=mr(f|0,g|0,50)|0;$a=D|$a;Ta=gr(f|0,g|0,18)|0;Va=D;Ga=mr(f|0,g|0,46)|0;Va=$a^(D|Va);$a=gr(f|0,g|0,41)|0;Na=D;Ra=mr(f|0,g|0,23)|0;Na=Va^(D|Na);Va=72+(Z<<3)|0;Fa=c[Va>>2]|0;Va=c[Va+4>>2]|0;Ya=_q(n|0,o|0,R|0,S|0)|0;Va=_q(Ya|0,D|0,Fa|0,Va|0)|0;Va=_q(Va|0,D|0,j&~f^f&h|0,k&~g^g&i|0)|0;Na=_q(Va|0,D|0,(ab|Ua)^(Ga|Ta)^(Ra|$a)|0,Na|0)|0;$a=D;Ra=gr(T|0,U|0,19)|0;Ta=D;Ga=mr(T|0,U|0,45)|0;Ta=D|Ta;Ua=gr(T|0,U|0,61)|0;ab=D;Va=mr(T|0,U|0,3)|0;ab=D|ab;Fa=gr(T|0,U|0,6)|0;Ta=ab^D^Ta;ab=gr(V|0,W|0,1)|0;Ya=D;Ha=mr(V|0,W|0,63)|0;Ya=D|Ya;cb=gr(V|0,W|0,8)|0;Qa=D;Ea=mr(V|0,W|0,56)|0;Qa=D|Qa;La=gr(V|0,W|0,7)|0;Ya=Qa^D^Ya;Qa=_q(R|0,S|0,X|0,Y|0)|0;Ya=_q(Qa|0,D|0,(Ea|cb)^La^(Ha|ab)|0,Ya|0)|0;R=_q(Ya|0,D|0,(Va|Ua)^Fa^(Ga|Ra)|0,Ta|0)|0;S=D;Ta=gr(p|0,q|0,28)|0;Ra=D;Ga=mr(p|0,q|0,36)|0;Ra=D|Ra;Fa=gr(p|0,q|0,34)|0;Ua=D;Va=mr(p|0,q|0,30)|0;Ua=Ra^(D|Ua);Ra=gr(p|0,q|0,39)|0;Ya=D;ab=mr(p|0,q|0,25)|0;Ya=_q((s^r)&p^s&r|0,(u^t)&q^u&t|0,(Ga|Ta)^(Va|Fa)^(ab|Ra)|0,Ua^(D|Ya)|0)|0;Ua=D;Ra=_q(Na|0,$a|0,v|0,w|0)|0;ab=D;$a=_q(Ya|0,Ua|0,Na|0,$a|0)|0;Na=D;Ua=gr(Ra|0,ab|0,14)|0;Ya=D;Fa=mr(Ra|0,ab|0,50)|0;Ya=D|Ya;Va=gr(Ra|0,ab|0,18)|0;Ta=D;Ga=mr(Ra|0,ab|0,46)|0;Ta=Ya^(D|Ta);Ya=gr(Ra|0,ab|0,41)|0;Ha=D;La=mr(Ra|0,ab|0,23)|0;Ha=Ta^(D|Ha);Ta=72+((Z|1)<<3)|0;cb=c[Ta>>2]|0;Ta=c[Ta+4>>2]|0;Ea=_q(j|0,k|0,V|0,W|0)|0;Ta=_q(Ea|0,D|0,cb|0,Ta|0)|0;Ta=_q(Ta|0,D|0,h&~Ra^Ra&f|0,i&~ab^ab&g|0)|0;Ha=_q(Ta|0,D|0,(Fa|Ua)^(Ga|Va)^(La|Ya)|0,Ha|0)|0;Ya=D;La=gr(a|0,x|0,19)|0;Va=D;Ga=mr(a|0,x|0,45)|0;Va=D|Va;Ua=gr(a|0,x|0,61)|0;Fa=D;Ta=mr(a|0,x|0,3)|0;Fa=D|Fa;cb=gr(a|0,x|0,6)|0;Va=Fa^D^Va;Fa=gr(y|0,z|0,1)|0;Ea=D;Qa=mr(y|0,z|0,63)|0;Ea=D|Ea;bb=gr(y|0,z|0,8)|0;Ia=D;_a=mr(y|0,z|0,56)|0;Ia=D|Ia;Wa=gr(y|0,z|0,7)|0;Ea=Ia^D^Ea;Ia=_q(V|0,W|0,A|0,B|0)|0;Ea=_q(Ia|0,D|0,(_a|bb)^Wa^(Qa|Fa)|0,Ea|0)|0;V=_q(Ea|0,D|0,(Ta|Ua)^cb^(Ga|La)|0,Va|0)|0;W=D;Va=gr($a|0,Na|0,28)|0;La=D;Ga=mr($a|0,Na|0,36)|0;La=D|La;cb=gr($a|0,Na|0,34)|0;Ua=D;Ta=mr($a|0,Na|0,30)|0;Ua=La^(D|Ua);La=gr($a|0,Na|0,39)|0;Ea=D;Fa=mr($a|0,Na|0,25)|0;Ea=_q((Ga|Va)^(Ta|cb)^(Fa|La)|0,Ua^(D|Ea)|0,$a&(r^p)^r&p|0,Na&(t^q)^t&q|0)|0;Ua=D;La=_q(Ha|0,Ya|0,s|0,u|0)|0;Fa=D;Ya=_q(Ea|0,Ua|0,Ha|0,Ya|0)|0;Ha=D;Ua=gr(La|0,Fa|0,14)|0;Ea=D;cb=mr(La|0,Fa|0,50)|0;Ea=D|Ea;Ta=gr(La|0,Fa|0,18)|0;Va=D;Ga=mr(La|0,Fa|0,46)|0;Va=Ea^(D|Va);Ea=gr(La|0,Fa|0,41)|0;Qa=D;Wa=mr(La|0,Fa|0,23)|0;Qa=Va^(D|Qa);Va=72+((Z|2)<<3)|0;bb=c[Va>>2]|0;Va=c[Va+4>>2]|0;_a=_q(h|0,i|0,y|0,z|0)|0;Va=_q(_a|0,D|0,bb|0,Va|0)|0;Va=_q(Va|0,D|0,f&~La^La&Ra|0,g&~Fa^Fa&ab|0)|0;Qa=_q(Va|0,D|0,(cb|Ua)^(Ga|Ta)^(Wa|Ea)|0,Qa|0)|0;Ea=D;Wa=gr(R|0,S|0,19)|0;Ta=D;Ga=mr(R|0,S|0,45)|0;Ta=D|Ta;Ua=gr(R|0,S|0,61)|0;cb=D;Va=mr(R|0,S|0,3)|0;cb=D|cb;bb=gr(R|0,S|0,6)|0;Ta=cb^D^Ta;cb=gr(C|0,E|0,1)|0;_a=D;Ia=mr(C|0,E|0,63)|0;_a=D|_a;Pa=gr(C|0,E|0,8)|0;Xa=D;Za=mr(C|0,E|0,56)|0;Xa=D|Xa;Sa=gr(C|0,E|0,7)|0;_a=Xa^D^_a;Xa=_q(y|0,z|0,F|0,G|0)|0;_a=_q(Xa|0,D|0,(Za|Pa)^Sa^(Ia|cb)|0,_a|0)|0;y=_q(_a|0,D|0,(Va|Ua)^bb^(Ga|Wa)|0,Ta|0)|0;z=D;Ta=gr(Ya|0,Ha|0,28)|0;Wa=D;Ga=mr(Ya|0,Ha|0,36)|0;Wa=D|Wa;bb=gr(Ya|0,Ha|0,34)|0;Ua=D;Va=mr(Ya|0,Ha|0,30)|0;Ua=Wa^(D|Ua);Wa=gr(Ya|0,Ha|0,39)|0;_a=D;cb=mr(Ya|0,Ha|0,25)|0;_a=_q((Ga|Ta)^(Va|bb)^(cb|Wa)|0,Ua^(D|_a)|0,Ya&($a^p)^$a&p|0,Ha&(Na^q)^Na&q|0)|0;Ua=D;Wa=_q(Qa|0,Ea|0,r|0,t|0)|0;cb=D;Ea=_q(_a|0,Ua|0,Qa|0,Ea|0)|0;Qa=D;Ua=gr(Wa|0,cb|0,14)|0;_a=D;bb=mr(Wa|0,cb|0,50)|0;_a=D|_a;Va=gr(Wa|0,cb|0,18)|0;Ta=D;Ga=mr(Wa|0,cb|0,46)|0;Ta=_a^(D|Ta);_a=gr(Wa|0,cb|0,41)|0;Ia=D;Sa=mr(Wa|0,cb|0,23)|0;Ia=Ta^(D|Ia);Ta=72+((Z|3)<<3)|0;Pa=c[Ta>>2]|0;Ta=c[Ta+4>>2]|0;Za=_q(f|0,g|0,C|0,E|0)|0;Ta=_q(Za|0,D|0,Pa|0,Ta|0)|0;Ta=_q(Ta|0,D|0,Ra&~Wa^Wa&La|0,ab&~cb^cb&Fa|0)|0;Ia=_q(Ta|0,D|0,(bb|Ua)^(Ga|Va)^(Sa|_a)|0,Ia|0)|0;_a=D;Sa=gr(V|0,W|0,19)|0;Va=D;Ga=mr(V|0,W|0,45)|0;Va=D|Va;Ua=gr(V|0,W|0,61)|0;bb=D;Ta=mr(V|0,W|0,3)|0;bb=D|bb;Pa=gr(V|0,W|0,6)|0;Va=bb^D^Va;bb=gr(H|0,I|0,1)|0;Za=D;Xa=mr(H|0,I|0,63)|0;Za=D|Za;Ca=gr(H|0,I|0,8)|0;Ja=D;Ka=mr(H|0,I|0,56)|0;Ja=D|Ja;Da=gr(H|0,I|0,7)|0;Za=Ja^D^Za;Ja=_q(C|0,E|0,J|0,K|0)|0;Za=_q(Ja|0,D|0,(Ka|Ca)^Da^(Xa|bb)|0,Za|0)|0;C=_q(Za|0,D|0,(Ta|Ua)^Pa^(Ga|Sa)|0,Va|0)|0;E=D;Va=gr(Ea|0,Qa|0,28)|0;Sa=D;Ga=mr(Ea|0,Qa|0,36)|0;Sa=D|Sa;Pa=gr(Ea|0,Qa|0,34)|0;Ua=D;Ta=mr(Ea|0,Qa|0,30)|0;Ua=Sa^(D|Ua);Sa=gr(Ea|0,Qa|0,39)|0;Za=D;bb=mr(Ea|0,Qa|0,25)|0;Za=_q((Ga|Va)^(Ta|Pa)^(bb|Sa)|0,Ua^(D|Za)|0,Ea&(Ya^$a)^Ya&$a|0,Qa&(Ha^Na)^Ha&Na|0)|0;Ua=D;Sa=_q(Ia|0,_a|0,p|0,q|0)|0;bb=D;_a=_q(Za|0,Ua|0,Ia|0,_a|0)|0;Ia=D;Ua=gr(Sa|0,bb|0,14)|0;Za=D;Pa=mr(Sa|0,bb|0,50)|0;Za=D|Za;Ta=gr(Sa|0,bb|0,18)|0;Va=D;Ga=mr(Sa|0,bb|0,46)|0;Va=Za^(D|Va);Za=gr(Sa|0,bb|0,41)|0;Xa=D;Da=mr(Sa|0,bb|0,23)|0;Xa=Va^(D|Xa);Va=72+((Z|4)<<3)|0;Va=_q(c[Va>>2]|0,c[Va+4>>2]|0,H|0,I|0)|0;ab=_q(Va|0,D|0,Ra|0,ab|0)|0;ab=_q(ab|0,D|0,La&~Sa^Sa&Wa|0,Fa&~bb^bb&cb|0)|0;Xa=_q(ab|0,D|0,(Pa|Ua)^(Ga|Ta)^(Da|Za)|0,Xa|0)|0;Za=D;Da=gr(y|0,z|0,19)|0;Ta=D;Ga=mr(y|0,z|0,45)|0;Ta=D|Ta;Ua=gr(y|0,z|0,61)|0;Pa=D;ab=mr(y|0,z|0,3)|0;Pa=D|Pa;Ra=gr(y|0,z|0,6)|0;Ta=Pa^D^Ta;Pa=gr(L|0,M|0,1)|0;Va=D;Ca=mr(L|0,M|0,63)|0;Va=D|Va;Ka=gr(L|0,M|0,8)|0;Ja=D;Ma=mr(L|0,M|0,56)|0;Ja=D|Ja;Oa=gr(L|0,M|0,7)|0;Va=Ja^D^Va;Ja=_q(H|0,I|0,N|0,O|0)|0;Va=_q(Ja|0,D|0,(Ma|Ka)^Oa^(Ca|Pa)|0,Va|0)|0;H=_q(Va|0,D|0,(ab|Ua)^Ra^(Ga|Da)|0,Ta|0)|0;I=D;Ta=gr(_a|0,Ia|0,28)|0;Da=D;Ga=mr(_a|0,Ia|0,36)|0;Da=D|Da;Ra=gr(_a|0,Ia|0,34)|0;Ua=D;ab=mr(_a|0,Ia|0,30)|0;Ua=Da^(D|Ua);Da=gr(_a|0,Ia|0,39)|0;Va=D;Pa=mr(_a|0,Ia|0,25)|0;Va=_q((Ga|Ta)^(ab|Ra)^(Pa|Da)|0,Ua^(D|Va)|0,_a&(Ea^Ya)^Ea&Ya|0,Ia&(Qa^Ha)^Qa&Ha|0)|0;Ua=D;Na=_q(Xa|0,Za|0,$a|0,Na|0)|0;$a=D;Za=_q(Va|0,Ua|0,Xa|0,Za|0)|0;Xa=D;Ua=gr(Na|0,$a|0,14)|0;Va=D;Da=mr(Na|0,$a|0,50)|0;Va=D|Va;Pa=gr(Na|0,$a|0,18)|0;Ra=D;ab=mr(Na|0,$a|0,46)|0;Ra=Va^(D|Ra);Va=gr(Na|0,$a|0,41)|0;Ta=D;Ga=mr(Na|0,$a|0,23)|0;Ta=Ra^(D|Ta);Ra=72+((Z|5)<<3)|0;Ra=_q(c[Ra>>2]|0,c[Ra+4>>2]|0,L|0,M|0)|0;Fa=_q(Ra|0,D|0,La|0,Fa|0)|0;Fa=_q(Fa|0,D|0,Wa&~Na^Na&Sa|0,cb&~$a^$a&bb|0)|0;Ta=_q(Fa|0,D|0,(Da|Ua)^(ab|Pa)^(Ga|Va)|0,Ta|0)|0;Va=D;Ga=gr(C|0,E|0,19)|0;Pa=D;ab=mr(C|0,E|0,45)|0;Pa=D|Pa;Ua=gr(C|0,E|0,61)|0;Da=D;Fa=mr(C|0,E|0,3)|0;Da=D|Da;La=gr(C|0,E|0,6)|0;Pa=Da^D^Pa;Da=gr(P|0,Q|0,1)|0;Ra=D;Ca=mr(P|0,Q|0,63)|0;Ra=D|Ra;Oa=gr(P|0,Q|0,8)|0;Ka=D;Ma=mr(P|0,Q|0,56)|0;Ka=D|Ka;Ja=gr(P|0,Q|0,7)|0;Ra=_q((Ma|Oa)^Ja^(Ca|Da)|0,Ka^D^Ra|0,L|0,M|0)|0;Ra=_q(Ra|0,D|0,T|0,U|0)|0;L=_q(Ra|0,D|0,(Fa|Ua)^La^(ab|Ga)|0,Pa|0)|0;M=D;Pa=gr(Za|0,Xa|0,28)|0;Ga=D;ab=mr(Za|0,Xa|0,36)|0;Ga=D|Ga;La=gr(Za|0,Xa|0,34)|0;Ua=D;Fa=mr(Za|0,Xa|0,30)|0;Ua=Ga^(D|Ua);Ga=gr(Za|0,Xa|0,39)|0;Ra=D;Ka=mr(Za|0,Xa|0,25)|0;Ra=_q((ab|Pa)^(Fa|La)^(Ka|Ga)|0,Ua^(D|Ra)|0,Za&(_a^Ea)^_a&Ea|0,Xa&(Ia^Qa)^Ia&Qa|0)|0;Ua=D;Ha=_q(Ta|0,Va|0,Ya|0,Ha|0)|0;Ya=D;Va=_q(Ra|0,Ua|0,Ta|0,Va|0)|0;Ta=D;Ua=gr(Ha|0,Ya|0,14)|0;Ra=D;Ga=mr(Ha|0,Ya|0,50)|0;Ra=D|Ra;Ka=gr(Ha|0,Ya|0,18)|0;La=D;Fa=mr(Ha|0,Ya|0,46)|0;La=Ra^(D|La);Ra=gr(Ha|0,Ya|0,41)|0;Pa=D;ab=mr(Ha|0,Ya|0,23)|0;Pa=La^(D|Pa);La=72+((Z|6)<<3)|0;La=_q(c[La>>2]|0,c[La+4>>2]|0,P|0,Q|0)|0;cb=_q(La|0,D|0,Wa|0,cb|0)|0;cb=_q(cb|0,D|0,Sa&~Ha^Ha&Na|0,bb&~Ya^Ya&$a|0)|0;Pa=_q(cb|0,D|0,(Ga|Ua)^(Fa|Ka)^(ab|Ra)|0,Pa|0)|0;Ra=D;ab=gr(H|0,I|0,19)|0;Ka=D;Fa=mr(H|0,I|0,45)|0;Ka=D|Ka;Ua=gr(H|0,I|0,61)|0;Ga=D;cb=mr(H|0,I|0,3)|0;Ga=D|Ga;Wa=gr(H|0,I|0,6)|0;Ka=Ga^D^Ka;Ga=gr(_|0,aa|0,1)|0;La=D;Da=mr(_|0,aa|0,63)|0;La=D|La;Ca=gr(_|0,aa|0,8)|0;Ja=D;Oa=mr(_|0,aa|0,56)|0;Ja=D|Ja;Ma=gr(_|0,aa|0,7)|0;La=_q((Oa|Ca)^Ma^(Da|Ga)|0,Ja^D^La|0,P|0,Q|0)|0;La=_q(La|0,D|0,a|0,x|0)|0;P=_q(La|0,D|0,(cb|Ua)^Wa^(Fa|ab)|0,Ka|0)|0;Q=D;Ka=gr(Va|0,Ta|0,28)|0;ab=D;Fa=mr(Va|0,Ta|0,36)|0;ab=D|ab;Wa=gr(Va|0,Ta|0,34)|0;Ua=D;cb=mr(Va|0,Ta|0,30)|0;Ua=ab^(D|Ua);ab=gr(Va|0,Ta|0,39)|0;La=D;Ja=mr(Va|0,Ta|0,25)|0;La=_q((Fa|Ka)^(cb|Wa)^(Ja|ab)|0,Ua^(D|La)|0,Va&(Za^_a)^Za&_a|0,Ta&(Xa^Ia)^Xa&Ia|0)|0;Ua=D;Qa=_q(Pa|0,Ra|0,Ea|0,Qa|0)|0;Ea=D;Ra=_q(La|0,Ua|0,Pa|0,Ra|0)|0;Pa=D;Ua=gr(Qa|0,Ea|0,14)|0;La=D;ab=mr(Qa|0,Ea|0,50)|0;La=D|La;Ja=gr(Qa|0,Ea|0,18)|0;Wa=D;cb=mr(Qa|0,Ea|0,46)|0;Wa=La^(D|Wa);La=gr(Qa|0,Ea|0,41)|0;Ka=D;Fa=mr(Qa|0,Ea|0,23)|0;Ka=Wa^(D|Ka);Wa=72+((Z|7)<<3)|0;Wa=_q(c[Wa>>2]|0,c[Wa+4>>2]|0,_|0,aa|0)|0;bb=_q(Wa|0,D|0,Sa|0,bb|0)|0;bb=_q(bb|0,D|0,Na&~Qa^Qa&Ha|0,$a&~Ea^Ea&Ya|0)|0;Ka=_q(bb|0,D|0,(ab|Ua)^(cb|Ja)^(Fa|La)|0,Ka|0)|0;La=D;Fa=gr(L|0,M|0,19)|0;Ja=D;cb=mr(L|0,M|0,45)|0;Ja=D|Ja;Ua=gr(L|0,M|0,61)|0;ab=D;bb=mr(L|0,M|0,3)|0;ab=D|ab;Sa=gr(L|0,M|0,6)|0;Ja=ab^D^Ja;ab=gr(ba|0,ca|0,1)|0;Wa=D;Ga=mr(ba|0,ca|0,63)|0;Wa=D|Wa;Da=gr(ba|0,ca|0,8)|0;Ma=D;Ca=mr(ba|0,ca|0,56)|0;Ma=D|Ma;Oa=gr(ba|0,ca|0,7)|0;Wa=_q((Ca|Da)^Oa^(Ga|ab)|0,Ma^D^Wa|0,_|0,aa|0)|0;Wa=_q(Wa|0,D|0,R|0,S|0)|0;_=_q(Wa|0,D|0,(bb|Ua)^Sa^(cb|Fa)|0,Ja|0)|0;aa=D;Ja=gr(Ra|0,Pa|0,28)|0;Fa=D;cb=mr(Ra|0,Pa|0,36)|0;Fa=D|Fa;Sa=gr(Ra|0,Pa|0,34)|0;Ua=D;bb=mr(Ra|0,Pa|0,30)|0;Ua=Fa^(D|Ua);Fa=gr(Ra|0,Pa|0,39)|0;Wa=D;Ma=mr(Ra|0,Pa|0,25)|0;Wa=_q((cb|Ja)^(bb|Sa)^(Ma|Fa)|0,Ua^(D|Wa)|0,Ra&(Va^Za)^Va&Za|0,Pa&(Ta^Xa)^Ta&Xa|0)|0;Ua=D;Ia=_q(Ka|0,La|0,_a|0,Ia|0)|0;_a=D;La=_q(Wa|0,Ua|0,Ka|0,La|0)|0;Ka=D;Ua=gr(Ia|0,_a|0,14)|0;Wa=D;Fa=mr(Ia|0,_a|0,50)|0;Wa=D|Wa;Ma=gr(Ia|0,_a|0,18)|0;Sa=D;bb=mr(Ia|0,_a|0,46)|0;Sa=Wa^(D|Sa);Wa=gr(Ia|0,_a|0,41)|0;Ja=D;cb=mr(Ia|0,_a|0,23)|0;Ja=Sa^(D|Ja);Sa=72+((Z|8)<<3)|0;Sa=_q(c[Sa>>2]|0,c[Sa+4>>2]|0,ba|0,ca|0)|0;$a=_q(Sa|0,D|0,Na|0,$a|0)|0;$a=_q($a|0,D|0,Ha&~Ia^Ia&Qa|0,Ya&~_a^_a&Ea|0)|0;Ja=_q($a|0,D|0,(Fa|Ua)^(bb|Ma)^(cb|Wa)|0,Ja|0)|0;Wa=D;cb=gr(P|0,Q|0,19)|0;Ma=D;bb=mr(P|0,Q|0,45)|0;Ma=D|Ma;Ua=gr(P|0,Q|0,61)|0;Fa=D;$a=mr(P|0,Q|0,3)|0;Fa=D|Fa;Na=gr(P|0,Q|0,6)|0;Ma=Fa^D^Ma;Fa=gr(X|0,Y|0,1)|0;Sa=D;ab=mr(X|0,Y|0,63)|0;Sa=D|Sa;Ga=gr(X|0,Y|0,8)|0;Oa=D;Da=mr(X|0,Y|0,56)|0;Oa=D|Oa;Ca=gr(X|0,Y|0,7)|0;Sa=Oa^D^Sa;Oa=_q(V|0,W|0,ba|0,ca|0)|0;Sa=_q(Oa|0,D|0,(Da|Ga)^Ca^(ab|Fa)|0,Sa|0)|0;ba=_q(Sa|0,D|0,($a|Ua)^Na^(bb|cb)|0,Ma|0)|0;ca=D;Ma=gr(La|0,Ka|0,28)|0;cb=D;bb=mr(La|0,Ka|0,36)|0;cb=D|cb;Na=gr(La|0,Ka|0,34)|0;Ua=D;$a=mr(La|0,Ka|0,30)|0;Ua=cb^(D|Ua);cb=gr(La|0,Ka|0,39)|0;Sa=D;Fa=mr(La|0,Ka|0,25)|0;Sa=_q((bb|Ma)^($a|Na)^(Fa|cb)|0,Ua^(D|Sa)|0,La&(Ra^Va)^Ra&Va|0,Ka&(Pa^Ta)^Pa&Ta|0)|0;Ua=D;Xa=_q(Ja|0,Wa|0,Za|0,Xa|0)|0;Za=D;Wa=_q(Sa|0,Ua|0,Ja|0,Wa|0)|0;Ja=D;Ua=gr(Xa|0,Za|0,14)|0;Sa=D;cb=mr(Xa|0,Za|0,50)|0;Sa=D|Sa;Fa=gr(Xa|0,Za|0,18)|0;Na=D;$a=mr(Xa|0,Za|0,46)|0;Na=Sa^(D|Na);Sa=gr(Xa|0,Za|0,41)|0;Ma=D;bb=mr(Xa|0,Za|0,23)|0;Ma=Na^(D|Ma);Na=72+((Z|9)<<3)|0;Na=_q(c[Na>>2]|0,c[Na+4>>2]|0,X|0,Y|0)|0;Ya=_q(Na|0,D|0,Ha|0,Ya|0)|0;Ya=_q(Ya|0,D|0,Qa&~Xa^Xa&Ia|0,Ea&~Za^Za&_a|0)|0;Ma=_q(Ya|0,D|0,(cb|Ua)^($a|Fa)^(bb|Sa)|0,Ma|0)|0;Sa=D;bb=gr(_|0,aa|0,19)|0;Fa=D;$a=mr(_|0,aa|0,45)|0;Fa=D|Fa;Ua=gr(_|0,aa|0,61)|0;cb=D;Ya=mr(_|0,aa|0,3)|0;cb=D|cb;Ha=gr(_|0,aa|0,6)|0;Fa=cb^D^Fa;cb=gr(A|0,B|0,1)|0;Na=D;ab=mr(A|0,B|0,63)|0;Na=D|Na;Ca=gr(A|0,B|0,8)|0;Ga=D;Da=mr(A|0,B|0,56)|0;Ga=D|Ga;Oa=gr(A|0,B|0,7)|0;Na=_q((Da|Ca)^Oa^(ab|cb)|0,Ga^D^Na|0,X|0,Y|0)|0;Na=_q(Na|0,D|0,y|0,z|0)|0;X=_q(Na|0,D|0,(Ya|Ua)^Ha^($a|bb)|0,Fa|0)|0;Y=D;Fa=gr(Wa|0,Ja|0,28)|0;bb=D;$a=mr(Wa|0,Ja|0,36)|0;bb=D|bb;Ha=gr(Wa|0,Ja|0,34)|0;Ua=D;Ya=mr(Wa|0,Ja|0,30)|0;Ua=bb^(D|Ua);bb=gr(Wa|0,Ja|0,39)|0;Na=D;Ga=mr(Wa|0,Ja|0,25)|0;Na=_q(($a|Fa)^(Ya|Ha)^(Ga|bb)|0,Ua^(D|Na)|0,Wa&(La^Ra)^La&Ra|0,Ja&(Ka^Pa)^Ka&Pa|0)|0;Ua=D;Ta=_q(Ma|0,Sa|0,Va|0,Ta|0)|0;Va=D;Sa=_q(Na|0,Ua|0,Ma|0,Sa|0)|0;Ma=D;Ua=gr(Ta|0,Va|0,14)|0;Na=D;bb=mr(Ta|0,Va|0,50)|0;Na=D|Na;Ga=gr(Ta|0,Va|0,18)|0;Ha=D;Ya=mr(Ta|0,Va|0,46)|0;Ha=Na^(D|Ha);Na=gr(Ta|0,Va|0,41)|0;Fa=D;$a=mr(Ta|0,Va|0,23)|0;Fa=Ha^(D|Fa);Ha=72+((Z|10)<<3)|0;Ha=_q(c[Ha>>2]|0,c[Ha+4>>2]|0,A|0,B|0)|0;Ea=_q(Ha|0,D|0,Qa|0,Ea|0)|0;Ea=_q(Ea|0,D|0,Ia&~Ta^Ta&Xa|0,_a&~Va^Va&Za|0)|0;Fa=_q(Ea|0,D|0,(bb|Ua)^(Ya|Ga)^($a|Na)|0,Fa|0)|0;Na=D;$a=gr(ba|0,ca|0,19)|0;Ga=D;Ya=mr(ba|0,ca|0,45)|0;Ga=D|Ga;Ua=gr(ba|0,ca|0,61)|0;bb=D;Ea=mr(ba|0,ca|0,3)|0;bb=D|bb;Qa=gr(ba|0,ca|0,6)|0;Ga=bb^D^Ga;bb=gr(F|0,G|0,1)|0;Ha=D;cb=mr(F|0,G|0,63)|0;Ha=D|Ha;ab=gr(F|0,G|0,8)|0;Oa=D;Ca=mr(F|0,G|0,56)|0;Oa=D|Oa;Da=gr(F|0,G|0,7)|0;Ha=_q((Ca|ab)^Da^(cb|bb)|0,Oa^D^Ha|0,A|0,B|0)|0;Ha=_q(Ha|0,D|0,C|0,E|0)|0;A=_q(Ha|0,D|0,(Ea|Ua)^Qa^(Ya|$a)|0,Ga|0)|0;B=D;Ga=gr(Sa|0,Ma|0,28)|0;$a=D;Ya=mr(Sa|0,Ma|0,36)|0;$a=D|$a;Qa=gr(Sa|0,Ma|0,34)|0;Ua=D;Ea=mr(Sa|0,Ma|0,30)|0;Ua=$a^(D|Ua);$a=gr(Sa|0,Ma|0,39)|0;Ha=D;Oa=mr(Sa|0,Ma|0,25)|0;Ha=_q((Ya|Ga)^(Ea|Qa)^(Oa|$a)|0,Ua^(D|Ha)|0,Sa&(Wa^La)^Wa&La|0,Ma&(Ja^Ka)^Ja&Ka|0)|0;Ua=D;Pa=_q(Fa|0,Na|0,Ra|0,Pa|0)|0;Ra=D;Na=_q(Ha|0,Ua|0,Fa|0,Na|0)|0;Fa=D;Ua=gr(Pa|0,Ra|0,14)|0;Ha=D;$a=mr(Pa|0,Ra|0,50)|0;Ha=D|Ha;Oa=gr(Pa|0,Ra|0,18)|0;Qa=D;Ea=mr(Pa|0,Ra|0,46)|0;Qa=Ha^(D|Qa);Ha=gr(Pa|0,Ra|0,41)|0;Ga=D;Ya=mr(Pa|0,Ra|0,23)|0;Ga=Qa^(D|Ga);Qa=72+((Z|11)<<3)|0;Qa=_q(c[Qa>>2]|0,c[Qa+4>>2]|0,F|0,G|0)|0;_a=_q(Qa|0,D|0,Ia|0,_a|0)|0;_a=_q(_a|0,D|0,Xa&~Pa^Pa&Ta|0,Za&~Ra^Ra&Va|0)|0;Ga=_q(_a|0,D|0,($a|Ua)^(Ea|Oa)^(Ya|Ha)|0,Ga|0)|0;Ha=D;Ya=gr(X|0,Y|0,19)|0;Oa=D;Ea=mr(X|0,Y|0,45)|0;Oa=D|Oa;Ua=gr(X|0,Y|0,61)|0;$a=D;_a=mr(X|0,Y|0,3)|0;$a=D|$a;Ia=gr(X|0,Y|0,6)|0;Oa=$a^D^Oa;$a=gr(J|0,K|0,1)|0;Qa=D;bb=mr(J|0,K|0,63)|0;Qa=D|Qa;cb=gr(J|0,K|0,8)|0;Da=D;ab=mr(J|0,K|0,56)|0;Da=D|Da;Ca=gr(J|0,K|0,7)|0;Qa=_q((ab|cb)^Ca^(bb|$a)|0,Da^D^Qa|0,F|0,G|0)|0;Qa=_q(Qa|0,D|0,H|0,I|0)|0;F=_q(Qa|0,D|0,(_a|Ua)^Ia^(Ea|Ya)|0,Oa|0)|0;G=D;Oa=gr(Na|0,Fa|0,28)|0;Ya=D;Ea=mr(Na|0,Fa|0,36)|0;Ya=D|Ya;Ia=gr(Na|0,Fa|0,34)|0;Ua=D;_a=mr(Na|0,Fa|0,30)|0;Ua=Ya^(D|Ua);Ya=gr(Na|0,Fa|0,39)|0;Qa=D;Da=mr(Na|0,Fa|0,25)|0;Qa=_q((Ea|Oa)^(_a|Ia)^(Da|Ya)|0,Ua^(D|Qa)|0,Na&(Sa^Wa)^Sa&Wa|0,Fa&(Ma^Ja)^Ma&Ja|0)|0;Ua=D;Ka=_q(Ga|0,Ha|0,La|0,Ka|0)|0;La=D;Ha=_q(Qa|0,Ua|0,Ga|0,Ha|0)|0;Ga=D;Ua=gr(Ka|0,La|0,14)|0;Qa=D;Ya=mr(Ka|0,La|0,50)|0;Qa=D|Qa;Da=gr(Ka|0,La|0,18)|0;Ia=D;_a=mr(Ka|0,La|0,46)|0;Ia=Qa^(D|Ia);Qa=gr(Ka|0,La|0,41)|0;Oa=D;Ea=mr(Ka|0,La|0,23)|0;Oa=Ia^(D|Oa);Ia=72+((Z|12)<<3)|0;Ia=_q(c[Ia>>2]|0,c[Ia+4>>2]|0,J|0,K|0)|0;Za=_q(Ia|0,D|0,Xa|0,Za|0)|0;Za=_q(Za|0,D|0,Ta&~Ka^Ka&Pa|0,Va&~La^La&Ra|0)|0;Oa=_q(Za|0,D|0,(Ya|Ua)^(_a|Da)^(Ea|Qa)|0,Oa|0)|0;Qa=D;Ea=gr(A|0,B|0,19)|0;Da=D;_a=mr(A|0,B|0,45)|0;Da=D|Da;Ua=gr(A|0,B|0,61)|0;Ya=D;Za=mr(A|0,B|0,3)|0;Ya=D|Ya;Xa=gr(A|0,B|0,6)|0;Da=Ya^D^Da;Ya=gr(N|0,O|0,1)|0;Ia=D;$a=mr(N|0,O|0,63)|0;Ia=D|Ia;bb=gr(N|0,O|0,8)|0;Ca=D;cb=mr(N|0,O|0,56)|0;Ca=D|Ca;ab=gr(N|0,O|0,7)|0;Ia=_q((cb|bb)^ab^($a|Ya)|0,Ca^D^Ia|0,J|0,K|0)|0;Ia=_q(Ia|0,D|0,L|0,M|0)|0;J=_q(Ia|0,D|0,(Za|Ua)^Xa^(_a|Ea)|0,Da|0)|0;K=D;Da=gr(Ha|0,Ga|0,28)|0;Ea=D;_a=mr(Ha|0,Ga|0,36)|0;Ea=D|Ea;Xa=gr(Ha|0,Ga|0,34)|0;Ua=D;Za=mr(Ha|0,Ga|0,30)|0;Ua=Ea^(D|Ua);Ea=gr(Ha|0,Ga|0,39)|0;Ia=D;Ca=mr(Ha|0,Ga|0,25)|0;Ia=_q((_a|Da)^(Za|Xa)^(Ca|Ea)|0,Ua^(D|Ia)|0,Ha&(Na^Sa)^Na&Sa|0,Ga&(Fa^Ma)^Fa&Ma|0)|0;Ua=D;n=_q(Oa|0,Qa|0,Wa|0,Ja|0)|0;o=D;v=_q(Ia|0,Ua|0,Oa|0,Qa|0)|0;w=D;Qa=gr(n|0,o|0,14)|0;Oa=D;Ua=mr(n|0,o|0,50)|0;Oa=D|Oa;Ia=gr(n|0,o|0,18)|0;Ja=D;Wa=mr(n|0,o|0,46)|0;Ja=Oa^(D|Ja);Oa=gr(n|0,o|0,41)|0;Ea=D;Ca=mr(n|0,o|0,23)|0;Ea=Ja^(D|Ea);Ja=72+((Z|13)<<3)|0;Ja=_q(c[Ja>>2]|0,c[Ja+4>>2]|0,N|0,O|0)|0;Va=_q(Ja|0,D|0,Ta|0,Va|0)|0;Va=_q(Va|0,D|0,Pa&~n^n&Ka|0,Ra&~o^o&La|0)|0;Ea=_q(Va|0,D|0,(Ua|Qa)^(Wa|Ia)^(Ca|Oa)|0,Ea|0)|0;Oa=D;Ca=gr(F|0,G|0,19)|0;Ia=D;Wa=mr(F|0,G|0,45)|0;Ia=D|Ia;Qa=gr(F|0,G|0,61)|0;Ua=D;Va=mr(F|0,G|0,3)|0;Ua=D|Ua;Ta=gr(F|0,G|0,6)|0;Ia=Ua^D^Ia;Ua=gr(T|0,U|0,1)|0;Ja=D;Xa=mr(T|0,U|0,63)|0;Ja=D|Ja;Za=gr(T|0,U|0,8)|0;Da=D;_a=mr(T|0,U|0,56)|0;Da=D|Da;Ya=gr(T|0,U|0,7)|0;Ja=_q((_a|Za)^Ya^(Xa|Ua)|0,Da^D^Ja|0,N|0,O|0)|0;Ja=_q(Ja|0,D|0,P|0,Q|0)|0;N=_q(Ja|0,D|0,(Va|Qa)^Ta^(Wa|Ca)|0,Ia|0)|0;O=D;Ia=gr(v|0,w|0,28)|0;Ca=D;Wa=mr(v|0,w|0,36)|0;Ca=D|Ca;Ta=gr(v|0,w|0,34)|0;Qa=D;Va=mr(v|0,w|0,30)|0;Qa=Ca^(D|Qa);Ca=gr(v|0,w|0,39)|0;Ja=D;Da=mr(v|0,w|0,25)|0;Ja=_q((Wa|Ia)^(Va|Ta)^(Da|Ca)|0,Qa^(D|Ja)|0,v&(Ha^Na)^Ha&Na|0,w&(Ga^Fa)^Ga&Fa|0)|0;Qa=D;j=_q(Ea|0,Oa|0,Sa|0,Ma|0)|0;k=D;s=_q(Ja|0,Qa|0,Ea|0,Oa|0)|0;u=D;Oa=gr(j|0,k|0,14)|0;Ea=D;Qa=mr(j|0,k|0,50)|0;Ea=D|Ea;Ja=gr(j|0,k|0,18)|0;Ma=D;Sa=mr(j|0,k|0,46)|0;Ma=Ea^(D|Ma);Ea=gr(j|0,k|0,41)|0;Ca=D;Da=mr(j|0,k|0,23)|0;Ca=Ma^(D|Ca);Ma=72+((Z|14)<<3)|0;Ma=_q(c[Ma>>2]|0,c[Ma+4>>2]|0,T|0,U|0)|0;Ra=_q(Ma|0,D|0,Pa|0,Ra|0)|0;Ra=_q(Ra|0,D|0,Ka&~j^j&n|0,La&~k^k&o|0)|0;Ca=_q(Ra|0,D|0,(Qa|Oa)^(Sa|Ja)^(Da|Ea)|0,Ca|0)|0;Ea=D;Da=gr(J|0,K|0,19)|0;Ja=D;Sa=mr(J|0,K|0,45)|0;Ja=D|Ja;Oa=gr(J|0,K|0,61)|0;Qa=D;Ra=mr(J|0,K|0,3)|0;Qa=D|Qa;Pa=gr(J|0,K|0,6)|0;Ja=Qa^D^Ja;Qa=gr(a|0,x|0,1)|0;Ma=D;Ta=mr(a|0,x|0,63)|0;Ma=D|Ma;Va=gr(a|0,x|0,8)|0;Ia=D;Wa=mr(a|0,x|0,56)|0;Ia=D|Ia;Ua=gr(a|0,x|0,7)|0;Ma=_q((Wa|Va)^Ua^(Ta|Qa)|0,Ia^D^Ma|0,T|0,U|0)|0;Ma=_q(Ma|0,D|0,_|0,aa|0)|0;T=_q(Ma|0,D|0,(Ra|Oa)^Pa^(Sa|Da)|0,Ja|0)|0;U=D;Ja=gr(s|0,u|0,28)|0;Da=D;Sa=mr(s|0,u|0,36)|0;Da=D|Da;Pa=gr(s|0,u|0,34)|0;Oa=D;Ra=mr(s|0,u|0,30)|0;Oa=Da^(D|Oa);Da=gr(s|0,u|0,39)|0;Ma=D;Ia=mr(s|0,u|0,25)|0;Ma=_q((Sa|Ja)^(Ra|Pa)^(Ia|Da)|0,Oa^(D|Ma)|0,s&(v^Ha)^v&Ha|0,u&(w^Ga)^w&Ga|0)|0;Oa=D;h=_q(Ca|0,Ea|0,Na|0,Fa|0)|0;i=D;r=_q(Ma|0,Oa|0,Ca|0,Ea|0)|0;t=D;Ea=gr(h|0,i|0,14)|0;Ca=D;Oa=mr(h|0,i|0,50)|0;Ca=D|Ca;Ma=gr(h|0,i|0,18)|0;Fa=D;Na=mr(h|0,i|0,46)|0;Fa=Ca^(D|Fa);Ca=gr(h|0,i|0,41)|0;Da=D;Ia=mr(h|0,i|0,23)|0;Da=Fa^(D|Da);Fa=72+((Z|15)<<3)|0;Fa=_q(c[Fa>>2]|0,c[Fa+4>>2]|0,a|0,x|0)|0;La=_q(Fa|0,D|0,Ka|0,La|0)|0;La=_q(La|0,D|0,n&~h^h&j|0,o&~i^i&k|0)|0;Da=_q(La|0,D|0,(Oa|Ea)^(Na|Ma)^(Ia|Ca)|0,Da|0)|0;Ca=D;Ia=gr(N|0,O|0,19)|0;Ma=D;Na=mr(N|0,O|0,45)|0;Ma=D|Ma;Ea=gr(N|0,O|0,61)|0;Oa=D;La=mr(N|0,O|0,3)|0;Oa=D|Oa;Ka=gr(N|0,O|0,6)|0;Ma=Oa^D^Ma;Oa=gr(R|0,S|0,1)|0;Fa=D;Pa=mr(R|0,S|0,63)|0;Fa=D|Fa;Ra=gr(R|0,S|0,8)|0;Ja=D;Sa=mr(R|0,S|0,56)|0;Ja=D|Ja;Qa=gr(R|0,S|0,7)|0;Fa=_q((Sa|Ra)^Qa^(Pa|Oa)|0,Ja^D^Fa|0,a|0,x|0)|0;Fa=_q(Fa|0,D|0,ba|0,ca|0)|0;a=_q(Fa|0,D|0,(La|Ea)^Ka^(Na|Ia)|0,Ma|0)|0;x=D;Ma=gr(r|0,t|0,28)|0;Ia=D;Na=mr(r|0,t|0,36)|0;Ia=D|Ia;Ka=gr(r|0,t|0,34)|0;Ea=D;La=mr(r|0,t|0,30)|0;Ea=Ia^(D|Ea);Ia=gr(r|0,t|0,39)|0;Fa=D;Ja=mr(r|0,t|0,25)|0;Fa=_q((Na|Ma)^(La|Ka)^(Ja|Ia)|0,Ea^(D|Fa)|0,r&(s^v)^s&v|0,t&(u^w)^u&w|0)|0;Ea=D;f=_q(Da|0,Ca|0,Ha|0,Ga|0)|0;g=D;p=_q(Fa|0,Ea|0,Da|0,Ca|0)|0;q=D;Z=Z+16|0}while((Z|0)<64);Za=ua;c[Za>>2]=R;c[Za+4>>2]=S;Za=ea;c[Za>>2]=T;c[Za+4>>2]=U;Za=fa;c[Za>>2]=X;c[Za+4>>2]=Y;Za=ga;c[Za>>2]=V;c[Za+4>>2]=W;Za=ha;c[Za>>2]=a;c[Za+4>>2]=x;Za=ia;c[Za>>2]=A;c[Za+4>>2]=B;Za=ja;c[Za>>2]=y;c[Za+4>>2]=z;Za=ka;c[Za>>2]=F;c[Za+4>>2]=G;Za=la;c[Za>>2]=C;c[Za+4>>2]=E;Za=ma;c[Za>>2]=J;c[Za+4>>2]=K;Za=na;c[Za>>2]=H;c[Za+4>>2]=I;Za=oa;c[Za>>2]=N;c[Za+4>>2]=O;Za=pa;c[Za>>2]=L;c[Za+4>>2]=M;Za=qa;c[Za>>2]=P;c[Za+4>>2]=Q;Za=ra;c[Za>>2]=_;c[Za+4>>2]=aa;Za=sa;c[Za>>2]=ba;c[Za+4>>2]=ca;Za=gr(f|0,g|0,14)|0;$a=D;_a=mr(f|0,g|0,50)|0;$a=D|$a;Xa=gr(f|0,g|0,18)|0;bb=D;ab=mr(f|0,g|0,46)|0;bb=$a^(D|bb);$a=gr(f|0,g|0,41)|0;cb=D;Ya=mr(f|0,g|0,23)|0;cb=bb^(D|cb);bb=_q(R|0,S|0,-366583396,-903397682)|0;n=_q(bb|0,D|0,n|0,o|0)|0;n=_q(n|0,D|0,j&~f^f&h|0,k&~g^g&i|0)|0;cb=_q(n|0,D|0,(_a|Za)^(ab|Xa)^(Ya|$a)|0,cb|0)|0;$a=D;n=gr(p|0,q|0,28)|0;Ya=D;Xa=mr(p|0,q|0,36)|0;Ya=D|Ya;ab=gr(p|0,q|0,34)|0;Za=D;o=mr(p|0,q|0,30)|0;Za=Ya^(D|Za);Ya=gr(p|0,q|0,39)|0;_a=D;bb=mr(p|0,q|0,25)|0;_a=_q((Xa|n)^(o|ab)^(bb|Ya)|0,Za^(D|_a)|0,p&(r^s)^r&s|0,q&(t^u)^t&u|0)|0;Za=D;Ya=_q(cb|0,$a|0,v|0,w|0)|0;bb=D;$a=_q(_a|0,Za|0,cb|0,$a|0)|0;cb=D;Za=gr(Ya|0,bb|0,14)|0;_a=D;ab=mr(Ya|0,bb|0,50)|0;_a=D|_a;w=gr(Ya|0,bb|0,18)|0;o=D;n=mr(Ya|0,bb|0,46)|0;o=_a^(D|o);_a=gr(Ya|0,bb|0,41)|0;v=D;Xa=mr(Ya|0,bb|0,23)|0;v=o^(D|v);o=_q(V|0,W|0,566280711,-779700025)|0;k=_q(o|0,D|0,j|0,k|0)|0;k=_q(k|0,D|0,h&~Ya^Ya&f|0,i&~bb^bb&g|0)|0;v=_q(k|0,D|0,(ab|Za)^(n|w)^(Xa|_a)|0,v|0)|0;_a=D;k=gr($a|0,cb|0,28)|0;Xa=D;w=mr($a|0,cb|0,36)|0;Xa=D|Xa;j=gr($a|0,cb|0,34)|0;n=D;Za=mr($a|0,cb|0,30)|0;n=Xa^(D|n);Xa=gr($a|0,cb|0,39)|0;ab=D;o=mr($a|0,cb|0,25)|0;ab=_q((w|k)^(Za|j)^(o|Xa)|0,n^(D|ab)|0,$a&(p^r)^p&r|0,cb&(q^t)^q&t|0)|0;n=D;Xa=_q(v|0,_a|0,s|0,u|0)|0;o=D;_a=_q(ab|0,n|0,v|0,_a|0)|0;v=D;n=gr(Xa|0,o|0,14)|0;ab=D;j=mr(Xa|0,o|0,50)|0;ab=D|ab;Za=gr(Xa|0,o|0,18)|0;k=D;u=mr(Xa|0,o|0,46)|0;k=ab^(D|k);ab=gr(Xa|0,o|0,41)|0;s=D;w=mr(Xa|0,o|0,23)|0;s=k^(D|s);k=_q(y|0,z|0,-840897762,-354779690)|0;i=_q(k|0,D|0,h|0,i|0)|0;i=_q(i|0,D|0,f&~Xa^Xa&Ya|0,g&~o^o&bb|0)|0;s=_q(i|0,D|0,(j|n)^(u|Za)^(w|ab)|0,s|0)|0;ab=D;w=gr(_a|0,v|0,28)|0;Za=D;u=mr(_a|0,v|0,36)|0;Za=D|Za;n=gr(_a|0,v|0,34)|0;j=D;i=mr(_a|0,v|0,30)|0;j=Za^(D|j);Za=gr(_a|0,v|0,39)|0;h=D;k=mr(_a|0,v|0,25)|0;h=_q((u|w)^(i|n)^(k|Za)|0,j^(D|h)|0,_a&($a^p)^$a&p|0,v&(cb^q)^cb&q|0)|0;j=D;Za=_q(s|0,ab|0,r|0,t|0)|0;k=D;ab=_q(h|0,j|0,s|0,ab|0)|0;s=D;j=gr(Za|0,k|0,14)|0;r=D;h=mr(Za|0,k|0,50)|0;r=D|r;n=gr(Za|0,k|0,18)|0;i=D;t=mr(Za|0,k|0,46)|0;i=r^(D|i);r=gr(Za|0,k|0,41)|0;w=D;u=mr(Za|0,k|0,23)|0;w=i^(D|w);i=_q(C|0,E|0,-294727304,-176337025)|0;g=_q(i|0,D|0,f|0,g|0)|0;g=_q(g|0,D|0,Ya&~Za^Za&Xa|0,bb&~k^k&o|0)|0;w=_q(g|0,D|0,(h|j)^(t|n)^(u|r)|0,w|0)|0;r=D;u=gr(ab|0,s|0,28)|0;n=D;t=mr(ab|0,s|0,36)|0;n=D|n;j=gr(ab|0,s|0,34)|0;g=D;h=mr(ab|0,s|0,30)|0;g=n^(D|g);n=gr(ab|0,s|0,39)|0;f=D;i=mr(ab|0,s|0,25)|0;f=_q((t|u)^(h|j)^(i|n)|0,g^(D|f)|0,ab&(_a^$a)^_a&$a|0,s&(v^cb)^v&cb|0)|0;g=D;n=_q(w|0,r|0,p|0,q|0)|0;i=D;r=_q(f|0,g|0,w|0,r|0)|0;w=D;g=gr(n|0,i|0,14)|0;p=D;f=mr(n|0,i|0,50)|0;p=D|p;j=gr(n|0,i|0,18)|0;h=D;q=mr(n|0,i|0,46)|0;h=p^(D|h);p=gr(n|0,i|0,41)|0;u=D;t=mr(n|0,i|0,23)|0;u=h^(D|u);h=_q(H|0,I|0,1914138554,116418474)|0;bb=_q(h|0,D|0,Ya|0,bb|0)|0;bb=_q(bb|0,D|0,Xa&~n^n&Za|0,o&~i^i&k|0)|0;u=_q(bb|0,D|0,(f|g)^(q|j)^(t|p)|0,u|0)|0;p=D;t=gr(r|0,w|0,28)|0;j=D;q=mr(r|0,w|0,36)|0;j=D|j;g=gr(r|0,w|0,34)|0;f=D;bb=mr(r|0,w|0,30)|0;f=j^(D|f);j=gr(r|0,w|0,39)|0;Ya=D;h=mr(r|0,w|0,25)|0;Ya=_q((q|t)^(bb|g)^(h|j)|0,f^(D|Ya)|0,r&(ab^_a)^ab&_a|0,w&(s^v)^s&v|0)|0;f=D;j=_q(u|0,p|0,$a|0,cb|0)|0;cb=D;p=_q(Ya|0,f|0,u|0,p|0)|0;u=D;f=gr(j|0,cb|0,14)|0;Ya=D;$a=mr(j|0,cb|0,50)|0;Ya=D|Ya;h=gr(j|0,cb|0,18)|0;g=D;bb=mr(j|0,cb|0,46)|0;g=Ya^(D|g);Ya=gr(j|0,cb|0,41)|0;t=D;q=mr(j|0,cb|0,23)|0;t=g^(D|t);g=_q(L|0,M|0,-1563912026,174292421)|0;o=_q(g|0,D|0,Xa|0,o|0)|0;o=_q(o|0,D|0,Za&~j^j&n|0,k&~cb^cb&i|0)|0;t=_q(o|0,D|0,($a|f)^(bb|h)^(q|Ya)|0,t|0)|0;Ya=D;q=gr(p|0,u|0,28)|0;h=D;bb=mr(p|0,u|0,36)|0;h=D|h;f=gr(p|0,u|0,34)|0;$a=D;o=mr(p|0,u|0,30)|0;$a=h^(D|$a);h=gr(p|0,u|0,39)|0;Xa=D;g=mr(p|0,u|0,25)|0;Xa=_q((bb|q)^(o|f)^(g|h)|0,$a^(D|Xa)|0,p&(r^ab)^r&ab|0,u&(w^s)^w&s|0)|0;$a=D;h=_q(t|0,Ya|0,_a|0,v|0)|0;v=D;Ya=_q(Xa|0,$a|0,t|0,Ya|0)|0;t=D;$a=gr(h|0,v|0,14)|0;Xa=D;_a=mr(h|0,v|0,50)|0;Xa=D|Xa;g=gr(h|0,v|0,18)|0;f=D;o=mr(h|0,v|0,46)|0;f=Xa^(D|f);Xa=gr(h|0,v|0,41)|0;q=D;bb=mr(h|0,v|0,23)|0;q=f^(D|q);f=_q(P|0,Q|0,-1090974290,289380356)|0;k=_q(f|0,D|0,Za|0,k|0)|0;k=_q(k|0,D|0,n&~h^h&j|0,i&~v^v&cb|0)|0;q=_q(k|0,D|0,(_a|$a)^(o|g)^(bb|Xa)|0,q|0)|0;Xa=D;bb=gr(Ya|0,t|0,28)|0;g=D;o=mr(Ya|0,t|0,36)|0;g=D|g;$a=gr(Ya|0,t|0,34)|0;_a=D;k=mr(Ya|0,t|0,30)|0;_a=g^(D|_a);g=gr(Ya|0,t|0,39)|0;Za=D;f=mr(Ya|0,t|0,25)|0;Za=_q((o|bb)^(k|$a)^(f|g)|0,_a^(D|Za)|0,Ya&(p^r)^p&r|0,t&(u^w)^u&w|0)|0;_a=D;g=_q(q|0,Xa|0,ab|0,s|0)|0;s=D;Xa=_q(Za|0,_a|0,q|0,Xa|0)|0;q=D;_a=gr(g|0,s|0,14)|0;Za=D;f=mr(g|0,s|0,50)|0;Za=D|Za;ab=gr(g|0,s|0,18)|0;$a=D;k=mr(g|0,s|0,46)|0;$a=Za^(D|$a);Za=gr(g|0,s|0,41)|0;bb=D;o=mr(g|0,s|0,23)|0;bb=$a^(D|bb);$a=_q(_|0,aa|0,320620315,460393269)|0;i=_q($a|0,D|0,n|0,i|0)|0;i=_q(i|0,D|0,j&~g^g&h|0,cb&~s^s&v|0)|0;bb=_q(i|0,D|0,(f|_a)^(k|ab)^(o|Za)|0,bb|0)|0;Za=D;o=gr(Xa|0,q|0,28)|0;ab=D;k=mr(Xa|0,q|0,36)|0;ab=D|ab;_a=gr(Xa|0,q|0,34)|0;f=D;i=mr(Xa|0,q|0,30)|0;f=ab^(D|f);ab=gr(Xa|0,q|0,39)|0;n=D;$a=mr(Xa|0,q|0,25)|0;n=_q((k|o)^(i|_a)^($a|ab)|0,f^(D|n)|0,Xa&(Ya^p)^Ya&p|0,q&(t^u)^t&u|0)|0;f=D;w=_q(bb|0,Za|0,r|0,w|0)|0;r=D;Za=_q(n|0,f|0,bb|0,Za|0)|0;bb=D;f=gr(w|0,r|0,14)|0;n=D;ab=mr(w|0,r|0,50)|0;n=D|n;$a=gr(w|0,r|0,18)|0;_a=D;i=mr(w|0,r|0,46)|0;_a=n^(D|_a);n=gr(w|0,r|0,41)|0;o=D;k=mr(w|0,r|0,23)|0;o=_a^(D|o);_a=_q(ba|0,ca|0,587496836,685471733)|0;cb=_q(_a|0,D|0,j|0,cb|0)|0;cb=_q(cb|0,D|0,h&~w^w&g|0,v&~r^r&s|0)|0;o=_q(cb|0,D|0,(ab|f)^(i|$a)^(k|n)|0,o|0)|0;n=D;k=gr(Za|0,bb|0,28)|0;$a=D;i=mr(Za|0,bb|0,36)|0;$a=D|$a;f=gr(Za|0,bb|0,34)|0;ab=D;cb=mr(Za|0,bb|0,30)|0;ab=$a^(D|ab);$a=gr(Za|0,bb|0,39)|0;j=D;_a=mr(Za|0,bb|0,25)|0;j=_q((i|k)^(cb|f)^(_a|$a)|0,ab^(D|j)|0,Za&(Xa^Ya)^Xa&Ya|0,bb&(q^t)^q&t|0)|0;ab=D;u=_q(o|0,n|0,p|0,u|0)|0;p=D;n=_q(j|0,ab|0,o|0,n|0)|0;o=D;ab=gr(u|0,p|0,14)|0;j=D;$a=mr(u|0,p|0,50)|0;j=D|j;_a=gr(u|0,p|0,18)|0;f=D;cb=mr(u|0,p|0,46)|0;f=j^(D|f);j=gr(u|0,p|0,41)|0;k=D;i=mr(u|0,p|0,23)|0;k=f^(D|k);f=_q(X|0,Y|0,1086792851,852142971)|0;v=_q(f|0,D|0,h|0,v|0)|0;v=_q(v|0,D|0,g&~u^u&w|0,s&~p^p&r|0)|0;k=_q(v|0,D|0,($a|ab)^(cb|_a)^(i|j)|0,k|0)|0;j=D;i=gr(n|0,o|0,28)|0;_a=D;cb=mr(n|0,o|0,36)|0;_a=D|_a;ab=gr(n|0,o|0,34)|0;$a=D;v=mr(n|0,o|0,30)|0;$a=_a^(D|$a);_a=gr(n|0,o|0,39)|0;h=D;f=mr(n|0,o|0,25)|0;h=_q((cb|i)^(v|ab)^(f|_a)|0,$a^(D|h)|0,n&(Za^Xa)^Za&Xa|0,o&(bb^q)^bb&q|0)|0;$a=D;t=_q(k|0,j|0,Ya|0,t|0)|0;Ya=D;j=_q(h|0,$a|0,k|0,j|0)|0;k=D;$a=gr(t|0,Ya|0,14)|0;h=D;_a=mr(t|0,Ya|0,50)|0;h=D|h;f=gr(t|0,Ya|0,18)|0;ab=D;v=mr(t|0,Ya|0,46)|0;ab=h^(D|ab);h=gr(t|0,Ya|0,41)|0;i=D;cb=mr(t|0,Ya|0,23)|0;i=ab^(D|i);ab=_q(A|0,B|0,365543100,1017036298)|0;s=_q(ab|0,D|0,g|0,s|0)|0;s=_q(s|0,D|0,w&~t^t&u|0,r&~Ya^Ya&p|0)|0;i=_q(s|0,D|0,(_a|$a)^(v|f)^(cb|h)|0,i|0)|0;h=D;cb=gr(j|0,k|0,28)|0;f=D;v=mr(j|0,k|0,36)|0;f=D|f;$a=gr(j|0,k|0,34)|0;_a=D;s=mr(j|0,k|0,30)|0;_a=f^(D|_a);f=gr(j|0,k|0,39)|0;g=D;ab=mr(j|0,k|0,25)|0;g=_q((v|cb)^(s|$a)^(ab|f)|0,_a^(D|g)|0,j&(n^Za)^n&Za|0,k&(o^bb)^o&bb|0)|0;_a=D;q=_q(i|0,h|0,Xa|0,q|0)|0;Xa=D;h=_q(g|0,_a|0,i|0,h|0)|0;i=D;_a=gr(q|0,Xa|0,14)|0;g=D;f=mr(q|0,Xa|0,50)|0;g=D|g;ab=gr(q|0,Xa|0,18)|0;$a=D;s=mr(q|0,Xa|0,46)|0;$a=g^(D|$a);g=gr(q|0,Xa|0,41)|0;cb=D;v=mr(q|0,Xa|0,23)|0;cb=$a^(D|cb);$a=_q(F|0,G|0,-1676669620,1126000580)|0;r=_q($a|0,D|0,w|0,r|0)|0;r=_q(r|0,D|0,u&~q^q&t|0,p&~Xa^Xa&Ya|0)|0;cb=_q(r|0,D|0,(f|_a)^(s|ab)^(v|g)|0,cb|0)|0;g=D;v=gr(h|0,i|0,28)|0;ab=D;s=mr(h|0,i|0,36)|0;ab=D|ab;_a=gr(h|0,i|0,34)|0;f=D;r=mr(h|0,i|0,30)|0;f=ab^(D|f);ab=gr(h|0,i|0,39)|0;w=D;$a=mr(h|0,i|0,25)|0;w=_q((s|v)^(r|_a)^($a|ab)|0,f^(D|w)|0,h&(j^n)^j&n|0,i&(k^o)^k&o|0)|0;f=D;bb=_q(cb|0,g|0,Za|0,bb|0)|0;Za=D;g=_q(w|0,f|0,cb|0,g|0)|0;cb=D;f=gr(bb|0,Za|0,14)|0;w=D;ab=mr(bb|0,Za|0,50)|0;w=D|w;$a=gr(bb|0,Za|0,18)|0;_a=D;r=mr(bb|0,Za|0,46)|0;_a=w^(D|_a);w=gr(bb|0,Za|0,41)|0;v=D;s=mr(bb|0,Za|0,23)|0;v=_a^(D|v);_a=_q(J|0,K|0,-885112138,1288033470)|0;p=_q(_a|0,D|0,u|0,p|0)|0;p=_q(p|0,D|0,t&~bb^bb&q|0,Ya&~Za^Za&Xa|0)|0;v=_q(p|0,D|0,(ab|f)^(r|$a)^(s|w)|0,v|0)|0;w=D;s=gr(g|0,cb|0,28)|0;$a=D;r=mr(g|0,cb|0,36)|0;$a=D|$a;f=gr(g|0,cb|0,34)|0;ab=D;p=mr(g|0,cb|0,30)|0;ab=$a^(D|ab);$a=gr(g|0,cb|0,39)|0;u=D;_a=mr(g|0,cb|0,25)|0;u=_q((r|s)^(p|f)^(_a|$a)|0,ab^(D|u)|0,g&(h^j)^h&j|0,cb&(i^k)^i&k|0)|0;ab=D;o=_q(v|0,w|0,n|0,o|0)|0;n=D;w=_q(u|0,ab|0,v|0,w|0)|0;v=D;ab=gr(o|0,n|0,14)|0;u=D;$a=mr(o|0,n|0,50)|0;u=D|u;_a=gr(o|0,n|0,18)|0;f=D;p=mr(o|0,n|0,46)|0;f=u^(D|f);u=gr(o|0,n|0,41)|0;s=D;r=mr(o|0,n|0,23)|0;s=f^(D|s);f=_q(N|0,O|0,-60457430,1501505948)|0;Ya=_q(f|0,D|0,t|0,Ya|0)|0;Ya=_q(Ya|0,D|0,q&~o^o&bb|0,Xa&~n^n&Za|0)|0;s=_q(Ya|0,D|0,($a|ab)^(p|_a)^(r|u)|0,s|0)|0;u=D;r=gr(w|0,v|0,28)|0;_a=D;p=mr(w|0,v|0,36)|0;_a=D|_a;ab=gr(w|0,v|0,34)|0;$a=D;Ya=mr(w|0,v|0,30)|0;$a=_a^(D|$a);_a=gr(w|0,v|0,39)|0;t=D;f=mr(w|0,v|0,25)|0;t=_q((p|r)^(Ya|ab)^(f|_a)|0,$a^(D|t)|0,w&(g^h)^g&h|0,v&(cb^i)^cb&i|0)|0;$a=D;k=_q(s|0,u|0,j|0,k|0)|0;j=D;u=_q(t|0,$a|0,s|0,u|0)|0;s=D;$a=gr(k|0,j|0,14)|0;t=D;_a=mr(k|0,j|0,50)|0;t=D|t;f=gr(k|0,j|0,18)|0;ab=D;Ya=mr(k|0,j|0,46)|0;ab=t^(D|ab);t=gr(k|0,j|0,41)|0;r=D;p=mr(k|0,j|0,23)|0;r=ab^(D|r);ab=_q(T|0,U|0,987167468,1607167915)|0;Xa=_q(ab|0,D|0,q|0,Xa|0)|0;Xa=_q(Xa|0,D|0,bb&~k^k&o|0,Za&~j^j&n|0)|0;r=_q(Xa|0,D|0,(_a|$a)^(Ya|f)^(p|t)|0,r|0)|0;t=D;p=gr(u|0,s|0,28)|0;f=D;Ya=mr(u|0,s|0,36)|0;f=D|f;$a=gr(u|0,s|0,34)|0;_a=D;Xa=mr(u|0,s|0,30)|0;_a=f^(D|_a);f=gr(u|0,s|0,39)|0;q=D;ab=mr(u|0,s|0,25)|0;q=_q((Ya|p)^(Xa|$a)^(ab|f)|0,_a^(D|q)|0,u&(w^g)^w&g|0,s&(v^cb)^v&cb|0)|0;_a=D;i=_q(r|0,t|0,h|0,i|0)|0;h=D;t=_q(q|0,_a|0,r|0,t|0)|0;r=D;_a=gr(i|0,h|0,14)|0;q=D;f=mr(i|0,h|0,50)|0;q=D|q;ab=gr(i|0,h|0,18)|0;$a=D;Xa=mr(i|0,h|0,46)|0;$a=q^(D|$a);q=gr(i|0,h|0,41)|0;p=D;Ya=mr(i|0,h|0,23)|0;p=$a^(D|p);$a=_q(a|0,x|0,1246189591,1816402316)|0;Za=_q($a|0,D|0,bb|0,Za|0)|0;Za=_q(Za|0,D|0,o&~i^i&k|0,n&~h^h&j|0)|0;p=_q(Za|0,D|0,(f|_a)^(Xa|ab)^(Ya|q)|0,p|0)|0;q=D;Ya=gr(t|0,r|0,28)|0;ab=D;Xa=mr(t|0,r|0,36)|0;ab=D|ab;_a=gr(t|0,r|0,34)|0;f=D;Za=mr(t|0,r|0,30)|0;f=ab^(D|f);ab=gr(t|0,r|0,39)|0;bb=D;$a=mr(t|0,r|0,25)|0;bb=_q((Xa|Ya)^(Za|_a)^($a|ab)|0,f^(D|bb)|0,t&(u^w)^u&w|0,r&(s^v)^s&v|0)|0;f=D;cb=_q(p|0,q|0,g|0,cb|0)|0;g=D;q=_q(bb|0,f|0,p|0,q|0)|0;p=va;p=_q(q|0,D|0,c[p>>2]|0,c[p+4>>2]|0)|0;q=D;f=va;c[f>>2]=p;c[f+4>>2]=q;f=wa;r=_q(c[f>>2]|0,c[f+4>>2]|0,t|0,r|0)|0;t=D;f=wa;c[f>>2]=r;c[f+4>>2]=t;f=xa;s=_q(c[f>>2]|0,c[f+4>>2]|0,u|0,s|0)|0;u=D;f=xa;c[f>>2]=s;c[f+4>>2]=u;f=ya;v=_q(c[f>>2]|0,c[f+4>>2]|0,w|0,v|0)|0;w=D;f=ya;c[f>>2]=v;c[f+4>>2]=w;f=za;f=_q(cb|0,g|0,c[f>>2]|0,c[f+4>>2]|0)|0;g=D;cb=za;c[cb>>2]=f;c[cb+4>>2]=g;cb=Aa;h=_q(c[cb>>2]|0,c[cb+4>>2]|0,i|0,h|0)|0;i=D;cb=Aa;c[cb>>2]=h;c[cb+4>>2]=i;cb=ta;j=_q(c[cb>>2]|0,c[cb+4>>2]|0,k|0,j|0)|0;k=D;cb=ta;c[cb>>2]=j;c[cb+4>>2]=k;cb=da;n=_q(c[cb>>2]|0,c[cb+4>>2]|0,o|0,n|0)|0;o=D;cb=da;c[cb>>2]=n;c[cb+4>>2]=o;e=e+-1|0;if(!e)break;else b=b+128|0}l=Ba;return 220}function gj(a,b){a=a|0;b=b|0;b=a+160|0;c[b>>2]=-1056596264;c[b+4>>2]=-876896931;b=a+168|0;c[b>>2]=914150663;c[b+4>>2]=1654270250;b=a+176|0;c[b>>2]=812702999;c[b+4>>2]=-1856437926;b=a+184|0;c[b>>2]=-150054599;c[b+4>>2]=355462360;b=a+192|0;c[b>>2]=-4191439;c[b+4>>2]=1731405415;b=a+200|0;c[b>>2]=1750603025;c[b+4>>2]=-1900787065;b=a+208|0;c[b>>2]=1694076839;c[b+4>>2]=-619958771;b=a+216|0;c[b>>2]=-1090891868;c[b+4>>2]=1203062813;b=a+128|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[a+148>>2]=128;c[a+152>>2]=34;return}function hj(a,b,c){a=a|0;b=b|0;c=c|0;c=kj(a,b,c)|0;Te(47);return c|0}
-function ij(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;i=((d[f+2>>0]|0)<<16|(d[f+3>>0]|0)<<24|(d[f+1>>0]|0)<<8|(d[f>>0]|0))^c[b+4096>>2];g=((d[f+6>>0]|0)<<16|(d[f+7>>0]|0)<<24|(d[f+5>>0]|0)<<8|(d[f+4>>0]|0))^c[b+4100>>2];h=((d[f+14>>0]|0)<<16|(d[f+15>>0]|0)<<24|(d[f+13>>0]|0)<<8|(d[f+12>>0]|0))^c[b+4108>>2];k=c[b+2048+((g>>>8&255)<<2)>>2]^c[b+1024+((g&255)<<2)>>2]^c[b+3072+((g>>>16&255)<<2)>>2]^c[b+(g>>>24<<2)>>2];j=k+(c[b+1024+((i>>>8&255)<<2)>>2]^c[b+((i&255)<<2)>>2]^c[b+2048+((i>>>16&255)<<2)>>2]^c[b+3072+(i>>>24<<2)>>2])|0;f=((d[f+10>>0]|0)<<16|(d[f+11>>0]|0)<<24|(d[f+9>>0]|0)<<8|(d[f+8>>0]|0))^c[b+4104>>2]^j+(c[b+4128>>2]|0);l=f>>>1;m=l|f<<31;h=k+(c[b+4132>>2]|0)+j^(h<<1|h>>>31);j=c[b+2048+((h>>>8&255)<<2)>>2]^c[b+1024+((h&255)<<2)>>2]^c[b+3072+((h>>>16&255)<<2)>>2]^c[b+(h>>>24<<2)>>2];f=j+(c[b+1024+((f>>>9&255)<<2)>>2]^c[b+((l&255)<<2)>>2]^c[b+2048+((f>>>17&255)<<2)>>2]^c[b+3072+(m>>>24<<2)>>2])|0;i=f+(c[b+4136>>2]|0)^i;l=i>>>1;k=l|i<<31;f=j+(c[b+4140>>2]|0)+f^(g<<1|g>>>31);g=c[b+2048+((f>>>8&255)<<2)>>2]^c[b+1024+((f&255)<<2)>>2]^c[b+3072+((f>>>16&255)<<2)>>2]^c[b+(f>>>24<<2)>>2];i=g+(c[b+1024+((i>>>9&255)<<2)>>2]^c[b+((l&255)<<2)>>2]^c[b+2048+((i>>>17&255)<<2)>>2]^c[b+3072+(k>>>24<<2)>>2])|0;m=i+(c[b+4144>>2]|0)^m;l=m>>>1;j=l|m<<31;h=g+(c[b+4148>>2]|0)+i^(h<<1|h>>>31);i=c[b+2048+((h>>>8&255)<<2)>>2]^c[b+1024+((h&255)<<2)>>2]^c[b+3072+((h>>>16&255)<<2)>>2]^c[b+(h>>>24<<2)>>2];m=i+(c[b+1024+((m>>>9&255)<<2)>>2]^c[b+((l&255)<<2)>>2]^c[b+2048+((m>>>17&255)<<2)>>2]^c[b+3072+(j>>>24<<2)>>2])|0;k=m+(c[b+4152>>2]|0)^k;l=k>>>1;g=l|k<<31;f=i+(c[b+4156>>2]|0)+m^(f<<1|f>>>31);m=c[b+2048+((f>>>8&255)<<2)>>2]^c[b+1024+((f&255)<<2)>>2]^c[b+3072+((f>>>16&255)<<2)>>2]^c[b+(f>>>24<<2)>>2];k=m+(c[b+1024+((k>>>9&255)<<2)>>2]^c[b+((l&255)<<2)>>2]^c[b+2048+((k>>>17&255)<<2)>>2]^c[b+3072+(g>>>24<<2)>>2])|0;j=k+(c[b+4160>>2]|0)^j;l=j>>>1;i=l|j<<31;h=m+(c[b+4164>>2]|0)+k^(h<<1|h>>>31);k=c[b+2048+((h>>>8&255)<<2)>>2]^c[b+1024+((h&255)<<2)>>2]^c[b+3072+((h>>>16&255)<<2)>>2]^c[b+(h>>>24<<2)>>2];j=k+(c[b+1024+((j>>>9&255)<<2)>>2]^c[b+((l&255)<<2)>>2]^c[b+2048+((j>>>17&255)<<2)>>2]^c[b+3072+(i>>>24<<2)>>2])|0;g=j+(c[b+4168>>2]|0)^g;l=g>>>1;m=l|g<<31;f=k+(c[b+4172>>2]|0)+j^(f<<1|f>>>31);j=c[b+2048+((f>>>8&255)<<2)>>2]^c[b+1024+((f&255)<<2)>>2]^c[b+3072+((f>>>16&255)<<2)>>2]^c[b+(f>>>24<<2)>>2];g=j+(c[b+1024+((g>>>9&255)<<2)>>2]^c[b+((l&255)<<2)>>2]^c[b+2048+((g>>>17&255)<<2)>>2]^c[b+3072+(m>>>24<<2)>>2])|0;i=g+(c[b+4176>>2]|0)^i;l=i>>>1;k=l|i<<31;h=j+(c[b+4180>>2]|0)+g^(h<<1|h>>>31);g=c[b+2048+((h>>>8&255)<<2)>>2]^c[b+1024+((h&255)<<2)>>2]^c[b+3072+((h>>>16&255)<<2)>>2]^c[b+(h>>>24<<2)>>2];i=g+(c[b+1024+((i>>>9&255)<<2)>>2]^c[b+((l&255)<<2)>>2]^c[b+2048+((i>>>17&255)<<2)>>2]^c[b+3072+(k>>>24<<2)>>2])|0;m=i+(c[b+4184>>2]|0)^m;l=m>>>1;j=l|m<<31;f=g+(c[b+4188>>2]|0)+i^(f<<1|f>>>31);i=c[b+2048+((f>>>8&255)<<2)>>2]^c[b+1024+((f&255)<<2)>>2]^c[b+3072+((f>>>16&255)<<2)>>2]^c[b+(f>>>24<<2)>>2];m=i+(c[b+1024+((m>>>9&255)<<2)>>2]^c[b+((l&255)<<2)>>2]^c[b+2048+((m>>>17&255)<<2)>>2]^c[b+3072+(j>>>24<<2)>>2])|0;k=m+(c[b+4192>>2]|0)^k;l=k>>>1;g=l|k<<31;h=i+(c[b+4196>>2]|0)+m^(h<<1|h>>>31);m=c[b+2048+((h>>>8&255)<<2)>>2]^c[b+1024+((h&255)<<2)>>2]^c[b+3072+((h>>>16&255)<<2)>>2]^c[b+(h>>>24<<2)>>2];k=m+(c[b+1024+((k>>>9&255)<<2)>>2]^c[b+((l&255)<<2)>>2]^c[b+2048+((k>>>17&255)<<2)>>2]^c[b+3072+(g>>>24<<2)>>2])|0;j=k+(c[b+4200>>2]|0)^j;l=j>>>1;i=l|j<<31;f=m+(c[b+4204>>2]|0)+k^(f<<1|f>>>31);k=c[b+2048+((f>>>8&255)<<2)>>2]^c[b+1024+((f&255)<<2)>>2]^c[b+3072+((f>>>16&255)<<2)>>2]^c[b+(f>>>24<<2)>>2];j=k+(c[b+1024+((j>>>9&255)<<2)>>2]^c[b+((l&255)<<2)>>2]^c[b+2048+((j>>>17&255)<<2)>>2]^c[b+3072+(i>>>24<<2)>>2])|0;g=j+(c[b+4208>>2]|0)^g;l=g>>>1;m=l|g<<31;h=k+(c[b+4212>>2]|0)+j^(h<<1|h>>>31);j=c[b+2048+((h>>>8&255)<<2)>>2]^c[b+1024+((h&255)<<2)>>2]^c[b+3072+((h>>>16&255)<<2)>>2]^c[b+(h>>>24<<2)>>2];g=j+(c[b+1024+((g>>>9&255)<<2)>>2]^c[b+((l&255)<<2)>>2]^c[b+2048+((g>>>17&255)<<2)>>2]^c[b+3072+(m>>>24<<2)>>2])|0;i=g+(c[b+4216>>2]|0)^i;l=i>>>1;k=l|i<<31;f=j+(c[b+4220>>2]|0)+g^(f<<1|f>>>31);g=c[b+2048+((f>>>8&255)<<2)>>2]^c[b+1024+((f&255)<<2)>>2]^c[b+3072+((f>>>16&255)<<2)>>2]^c[b+(f>>>24<<2)>>2];i=g+(c[b+1024+((i>>>9&255)<<2)>>2]^c[b+((l&255)<<2)>>2]^c[b+2048+((i>>>17&255)<<2)>>2]^c[b+3072+(k>>>24<<2)>>2])|0;m=i+(c[b+4224>>2]|0)^m;l=m>>>1;j=l|m<<31;h=g+(c[b+4228>>2]|0)+i^(h<<1|h>>>31);i=c[b+2048+((h>>>8&255)<<2)>>2]^c[b+1024+((h&255)<<2)>>2]^c[b+3072+((h>>>16&255)<<2)>>2]^c[b+(h>>>24<<2)>>2];m=i+(c[b+1024+((m>>>9&255)<<2)>>2]^c[b+((l&255)<<2)>>2]^c[b+2048+((m>>>17&255)<<2)>>2]^c[b+3072+(j>>>24<<2)>>2])|0;k=m+(c[b+4232>>2]|0)^k;l=k>>>1;g=l|k<<31;f=i+(c[b+4236>>2]|0)+m^(f<<1|f>>>31);m=c[b+2048+((f>>>8&255)<<2)>>2]^c[b+1024+((f&255)<<2)>>2]^c[b+3072+((f>>>16&255)<<2)>>2]^c[b+(f>>>24<<2)>>2];k=m+(c[b+1024+((k>>>9&255)<<2)>>2]^c[b+((l&255)<<2)>>2]^c[b+2048+((k>>>17&255)<<2)>>2]^c[b+3072+(g>>>24<<2)>>2])|0;j=k+(c[b+4240>>2]|0)^j;l=j>>>1;i=l|j<<31;h=m+(c[b+4244>>2]|0)+k^(h<<1|h>>>31);k=c[b+2048+((h>>>8&255)<<2)>>2]^c[b+1024+((h&255)<<2)>>2]^c[b+3072+((h>>>16&255)<<2)>>2]^c[b+(h>>>24<<2)>>2];j=k+(c[b+1024+((j>>>9&255)<<2)>>2]^c[b+((l&255)<<2)>>2]^c[b+2048+((j>>>17&255)<<2)>>2]^c[b+3072+(i>>>24<<2)>>2])|0;g=j+(c[b+4248>>2]|0)^g;f=k+(c[b+4252>>2]|0)+j^(f<<1|f>>>31);i=c[b+4112>>2]^i;a[e+3>>0]=i>>>24;a[e+2>>0]=i>>>16;a[e+1>>0]=i>>>8;a[e>>0]=i;h=c[b+4116>>2]^h;a[e+7>>0]=h>>>24;a[e+6>>0]=h>>>16;a[e+5>>0]=h>>>8;a[e+4>>0]=h;g=c[b+4120>>2]^(g>>>1|g<<31);a[e+11>>0]=g>>>24;a[e+10>>0]=g>>>16;a[e+9>>0]=g>>>8;a[e+8>>0]=g;f=f^c[b+4124>>2];a[e+15>>0]=f>>>24;a[e+14>>0]=f>>>16;a[e+13>>0]=f>>>8;a[e+12>>0]=f;return 36}function jj(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;g=((d[f+2>>0]|0)<<16|(d[f+3>>0]|0)<<24|(d[f+1>>0]|0)<<8|(d[f>>0]|0))^c[b+4112>>2];h=((d[f+6>>0]|0)<<16|(d[f+7>>0]|0)<<24|(d[f+5>>0]|0)<<8|(d[f+4>>0]|0))^c[b+4116>>2];i=((d[f+10>>0]|0)<<16|(d[f+11>>0]|0)<<24|(d[f+9>>0]|0)<<8|(d[f+8>>0]|0))^c[b+4120>>2];k=c[b+2048+((h>>>8&255)<<2)>>2]^c[b+1024+((h&255)<<2)>>2]^c[b+3072+((h>>>16&255)<<2)>>2]^c[b+(h>>>24<<2)>>2];j=k+(c[b+1024+((g>>>8&255)<<2)>>2]^c[b+((g&255)<<2)>>2]^c[b+2048+((g>>>16&255)<<2)>>2]^c[b+3072+(g>>>24<<2)>>2])|0;f=((d[f+14>>0]|0)<<16|(d[f+15>>0]|0)<<24|(d[f+13>>0]|0)<<8|(d[f+12>>0]|0))^c[b+4124>>2]^(c[b+4252>>2]|0)+k+j;k=f>>>1;l=k|f<<31;i=j+(c[b+4248>>2]|0)^(i<<1|i>>>31);f=c[b+2048+((f>>>9&255)<<2)>>2]^c[b+1024+((k&255)<<2)>>2]^c[b+3072+((f>>>17&255)<<2)>>2]^c[b+(l>>>24<<2)>>2];k=f+(c[b+1024+((i>>>8&255)<<2)>>2]^c[b+((i&255)<<2)>>2]^c[b+2048+((i>>>16&255)<<2)>>2]^c[b+3072+(i>>>24<<2)>>2])|0;h=(c[b+4244>>2]|0)+f+k^h;f=h>>>1;j=f|h<<31;g=k+(c[b+4240>>2]|0)^(g<<1|g>>>31);h=c[b+2048+((h>>>9&255)<<2)>>2]^c[b+1024+((f&255)<<2)>>2]^c[b+3072+((h>>>17&255)<<2)>>2]^c[b+(j>>>24<<2)>>2];f=h+(c[b+1024+((g>>>8&255)<<2)>>2]^c[b+((g&255)<<2)>>2]^c[b+2048+((g>>>16&255)<<2)>>2]^c[b+3072+(g>>>24<<2)>>2])|0;l=(c[b+4236>>2]|0)+h+f^l;h=l>>>1;k=h|l<<31;i=f+(c[b+4232>>2]|0)^(i<<1|i>>>31);l=c[b+2048+((l>>>9&255)<<2)>>2]^c[b+1024+((h&255)<<2)>>2]^c[b+3072+((l>>>17&255)<<2)>>2]^c[b+(k>>>24<<2)>>2];h=l+(c[b+1024+((i>>>8&255)<<2)>>2]^c[b+((i&255)<<2)>>2]^c[b+2048+((i>>>16&255)<<2)>>2]^c[b+3072+(i>>>24<<2)>>2])|0;j=(c[b+4228>>2]|0)+l+h^j;l=j>>>1;f=l|j<<31;g=h+(c[b+4224>>2]|0)^(g<<1|g>>>31);j=c[b+2048+((j>>>9&255)<<2)>>2]^c[b+1024+((l&255)<<2)>>2]^c[b+3072+((j>>>17&255)<<2)>>2]^c[b+(f>>>24<<2)>>2];l=j+(c[b+1024+((g>>>8&255)<<2)>>2]^c[b+((g&255)<<2)>>2]^c[b+2048+((g>>>16&255)<<2)>>2]^c[b+3072+(g>>>24<<2)>>2])|0;k=(c[b+4220>>2]|0)+j+l^k;j=k>>>1;h=j|k<<31;i=l+(c[b+4216>>2]|0)^(i<<1|i>>>31);k=c[b+2048+((k>>>9&255)<<2)>>2]^c[b+1024+((j&255)<<2)>>2]^c[b+3072+((k>>>17&255)<<2)>>2]^c[b+(h>>>24<<2)>>2];j=k+(c[b+1024+((i>>>8&255)<<2)>>2]^c[b+((i&255)<<2)>>2]^c[b+2048+((i>>>16&255)<<2)>>2]^c[b+3072+(i>>>24<<2)>>2])|0;f=(c[b+4212>>2]|0)+k+j^f;k=f>>>1;l=k|f<<31;g=j+(c[b+4208>>2]|0)^(g<<1|g>>>31);f=c[b+2048+((f>>>9&255)<<2)>>2]^c[b+1024+((k&255)<<2)>>2]^c[b+3072+((f>>>17&255)<<2)>>2]^c[b+(l>>>24<<2)>>2];k=f+(c[b+1024+((g>>>8&255)<<2)>>2]^c[b+((g&255)<<2)>>2]^c[b+2048+((g>>>16&255)<<2)>>2]^c[b+3072+(g>>>24<<2)>>2])|0;h=(c[b+4204>>2]|0)+f+k^h;f=h>>>1;j=f|h<<31;i=k+(c[b+4200>>2]|0)^(i<<1|i>>>31);h=c[b+2048+((h>>>9&255)<<2)>>2]^c[b+1024+((f&255)<<2)>>2]^c[b+3072+((h>>>17&255)<<2)>>2]^c[b+(j>>>24<<2)>>2];f=h+(c[b+1024+((i>>>8&255)<<2)>>2]^c[b+((i&255)<<2)>>2]^c[b+2048+((i>>>16&255)<<2)>>2]^c[b+3072+(i>>>24<<2)>>2])|0;l=(c[b+4196>>2]|0)+h+f^l;h=l>>>1;k=h|l<<31;g=f+(c[b+4192>>2]|0)^(g<<1|g>>>31);l=c[b+2048+((l>>>9&255)<<2)>>2]^c[b+1024+((h&255)<<2)>>2]^c[b+3072+((l>>>17&255)<<2)>>2]^c[b+(k>>>24<<2)>>2];h=l+(c[b+1024+((g>>>8&255)<<2)>>2]^c[b+((g&255)<<2)>>2]^c[b+2048+((g>>>16&255)<<2)>>2]^c[b+3072+(g>>>24<<2)>>2])|0;j=(c[b+4188>>2]|0)+l+h^j;l=j>>>1;f=l|j<<31;i=h+(c[b+4184>>2]|0)^(i<<1|i>>>31);j=c[b+2048+((j>>>9&255)<<2)>>2]^c[b+1024+((l&255)<<2)>>2]^c[b+3072+((j>>>17&255)<<2)>>2]^c[b+(f>>>24<<2)>>2];l=j+(c[b+1024+((i>>>8&255)<<2)>>2]^c[b+((i&255)<<2)>>2]^c[b+2048+((i>>>16&255)<<2)>>2]^c[b+3072+(i>>>24<<2)>>2])|0;k=(c[b+4180>>2]|0)+j+l^k;j=k>>>1;h=j|k<<31;g=l+(c[b+4176>>2]|0)^(g<<1|g>>>31);k=c[b+2048+((k>>>9&255)<<2)>>2]^c[b+1024+((j&255)<<2)>>2]^c[b+3072+((k>>>17&255)<<2)>>2]^c[b+(h>>>24<<2)>>2];j=k+(c[b+1024+((g>>>8&255)<<2)>>2]^c[b+((g&255)<<2)>>2]^c[b+2048+((g>>>16&255)<<2)>>2]^c[b+3072+(g>>>24<<2)>>2])|0;f=(c[b+4172>>2]|0)+k+j^f;k=f>>>1;l=k|f<<31;i=j+(c[b+4168>>2]|0)^(i<<1|i>>>31);f=c[b+2048+((f>>>9&255)<<2)>>2]^c[b+1024+((k&255)<<2)>>2]^c[b+3072+((f>>>17&255)<<2)>>2]^c[b+(l>>>24<<2)>>2];k=f+(c[b+1024+((i>>>8&255)<<2)>>2]^c[b+((i&255)<<2)>>2]^c[b+2048+((i>>>16&255)<<2)>>2]^c[b+3072+(i>>>24<<2)>>2])|0;h=(c[b+4164>>2]|0)+f+k^h;f=h>>>1;j=f|h<<31;g=k+(c[b+4160>>2]|0)^(g<<1|g>>>31);h=c[b+2048+((h>>>9&255)<<2)>>2]^c[b+1024+((f&255)<<2)>>2]^c[b+3072+((h>>>17&255)<<2)>>2]^c[b+(j>>>24<<2)>>2];f=h+(c[b+1024+((g>>>8&255)<<2)>>2]^c[b+((g&255)<<2)>>2]^c[b+2048+((g>>>16&255)<<2)>>2]^c[b+3072+(g>>>24<<2)>>2])|0;l=(c[b+4156>>2]|0)+h+f^l;h=l>>>1;k=h|l<<31;i=f+(c[b+4152>>2]|0)^(i<<1|i>>>31);l=c[b+2048+((l>>>9&255)<<2)>>2]^c[b+1024+((h&255)<<2)>>2]^c[b+3072+((l>>>17&255)<<2)>>2]^c[b+(k>>>24<<2)>>2];h=l+(c[b+1024+((i>>>8&255)<<2)>>2]^c[b+((i&255)<<2)>>2]^c[b+2048+((i>>>16&255)<<2)>>2]^c[b+3072+(i>>>24<<2)>>2])|0;j=(c[b+4148>>2]|0)+l+h^j;l=j>>>1;f=l|j<<31;g=h+(c[b+4144>>2]|0)^(g<<1|g>>>31);j=c[b+2048+((j>>>9&255)<<2)>>2]^c[b+1024+((l&255)<<2)>>2]^c[b+3072+((j>>>17&255)<<2)>>2]^c[b+(f>>>24<<2)>>2];l=j+(c[b+1024+((g>>>8&255)<<2)>>2]^c[b+((g&255)<<2)>>2]^c[b+2048+((g>>>16&255)<<2)>>2]^c[b+3072+(g>>>24<<2)>>2])|0;k=(c[b+4140>>2]|0)+j+l^k;j=k>>>1;h=j|k<<31;i=l+(c[b+4136>>2]|0)^(i<<1|i>>>31);k=c[b+2048+((k>>>9&255)<<2)>>2]^c[b+1024+((j&255)<<2)>>2]^c[b+3072+((k>>>17&255)<<2)>>2]^c[b+(h>>>24<<2)>>2];j=k+(c[b+1024+((i>>>8&255)<<2)>>2]^c[b+((i&255)<<2)>>2]^c[b+2048+((i>>>16&255)<<2)>>2]^c[b+3072+(i>>>24<<2)>>2])|0;f=(c[b+4132>>2]|0)+k+j^f;g=j+(c[b+4128>>2]|0)^(g<<1|g>>>31);i=c[b+4096>>2]^i;a[e+3>>0]=i>>>24;a[e+2>>0]=i>>>16;a[e+1>>0]=i>>>8;a[e>>0]=i;h=c[b+4100>>2]^h;a[e+7>>0]=h>>>24;a[e+6>>0]=h>>>16;a[e+5>>0]=h>>>8;a[e+4>>0]=h;g=g^c[b+4104>>2];a[e+11>>0]=g>>>24;a[e+10>>0]=g>>>16;a[e+9>>0]=g>>>8;a[e+8>>0]=g;f=c[b+4108>>2]^(f>>>1|f<<31);a[e+15>>0]=f>>>24;a[e+14>>0]=f>>>16;a[e+13>>0]=f>>>8;a[e+12>>0]=f;return 36}function kj(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0;ea=l;l=l+4288|0;if((l|0)>=(m|0))$(4288);i=ea;g=ea+8|0;h=ea+4264|0;if((f+-16|16|0)!=16){e=44;l=ea;return e|0}do if(!(c[17618]|0)){c[17618]=1;kj(g,43199,16)|0;Te(47);ij(g,h,43215)|0;if(!(Tp(h,43231,16)|0)){jj(g,h,h)|0;if(!(Tp(h,43215,16)|0)){kj(g,43247,32)|0;Te(47);ij(g,h,43279)|0;if(!(Tp(h,43295,16)|0)){jj(g,h,h)|0;if(!(Tp(h,43279,16)|0)){g=ym(43191,13,14,8,4,16,4256)|0;if(!g){g=wm(43191,13,14,6,5,16,4256)|0;if(!g){g=xm(43191,13,14,7,5,16,4256)|0;c[17619]=g;if(!g)break}else j=9}else j=9}else{g=43311;j=9}}else{g=43347;j=9}}else{g=43383;j=9}}else{g=43419;j=9}if((j|0)==9)c[17619]=g;c[i>>2]=g;Le(43455,i);j=12}else j=12;while(0);if((j|0)==12?c[17619]|0:0){e=50;l=ea;return e|0}g=a[e>>0]|0;if(!(g<<24>>24)){h=0;i=0;j=0}else{j=d[43459+((g&255)+-1)>>0]|0;h=a[43714+(j+1)>>0]|0;i=a[43714+(j+45)>>0]|0;j=a[43714+j>>0]|0}da=e+1|0;g=a[da>>0]|0;if(!(g<<24>>24))k=i;else{ca=d[43459+((g&255)+-1)>>0]|0;k=a[43714+(ca+138)>>0]^i;h=a[43714+(ca+68)>>0]^h;i=a[43714+(ca+164)>>0]^i;j=a[43714+(ca+45)>>0]^j}ca=e+2|0;g=a[ca>>0]|0;if(g<<24>>24){ba=d[43459+((g&255)+-1)>>0]|0;k=a[43714+(ba+209)>>0]^k;h=a[43714+(ba+191)>>0]^h;i=a[43714+(ba+213)>>0]^i;j=a[43714+(ba+138)>>0]^j}ba=e+3|0;g=a[ba>>0]|0;if(g<<24>>24){aa=d[43459+((g&255)+-1)>>0]|0;k=a[43714+(aa+153)>>0]^k;h=a[43714+(aa+61)>>0]^h;i=a[43714+(aa+127)>>0]^i;j=a[43714+(aa+209)>>0]^j}aa=e+4|0;g=a[aa>>0]|0;if(g<<24>>24){_=d[43459+((g&255)+-1)>>0]|0;k=a[43714+(_+150)>>0]^k;h=a[43714+(_+102)>>0]^h;i=a[43714+(_+70)>>0]^i;j=a[43714+(_+153)>>0]^j}_=e+5|0;g=a[_>>0]|0;if(g<<24>>24){Z=d[43459+((g&255)+-1)>>0]|0;k=a[43714+(Z+237)>>0]^k;h=a[43714+(Z+91)>>0]^h;i=a[43714+(Z+60)>>0]^i;j=a[43714+(Z+150)>>0]^j}Z=e+6|0;g=a[Z>>0]|0;if(g<<24>>24){Y=d[43459+((g&255)+-1)>>0]|0;k=a[43714+(Y+224)>>0]^k;h=a[43714+(Y+79)>>0]^h;i=a[43714+(Y+55)>>0]^i;j=a[43714+(Y+237)>>0]^j}Y=e+7|0;g=a[Y>>0]|0;if(g<<24>>24){X=d[43459+((g&255)+-1)>>0]|0;k=a[43714+(X+23)>>0]^k;h=a[43714+(X+140)>>0]^h;i=a[43714+(X+208)>>0]^i;j=a[43714+(X+224)>>0]^j}X=e+8|0;g=a[X>>0]|0;if(!(g<<24>>24)){n=0;o=0;p=0}else{p=d[43459+((g&255)+-1)>>0]|0;n=a[43714+(p+1)>>0]|0;o=a[43714+(p+45)>>0]|0;p=a[43714+p>>0]|0}W=e+9|0;g=a[W>>0]|0;if(!(g<<24>>24))q=o;else{V=d[43459+((g&255)+-1)>>0]|0;q=a[43714+(V+138)>>0]^o;n=a[43714+(V+68)>>0]^n;o=a[43714+(V+164)>>0]^o;p=a[43714+(V+45)>>0]^p}V=e+10|0;g=a[V>>0]|0;if(g<<24>>24){U=d[43459+((g&255)+-1)>>0]|0;q=a[43714+(U+209)>>0]^q;n=a[43714+(U+191)>>0]^n;o=a[43714+(U+213)>>0]^o;p=a[43714+(U+138)>>0]^p}U=e+11|0;g=a[U>>0]|0;if(g<<24>>24){T=d[43459+((g&255)+-1)>>0]|0;q=a[43714+(T+153)>>0]^q;n=a[43714+(T+61)>>0]^n;o=a[43714+(T+127)>>0]^o;p=a[43714+(T+209)>>0]^p}T=e+12|0;g=a[T>>0]|0;if(g<<24>>24){S=d[43459+((g&255)+-1)>>0]|0;q=a[43714+(S+150)>>0]^q;n=a[43714+(S+102)>>0]^n;o=a[43714+(S+70)>>0]^o;p=a[43714+(S+153)>>0]^p}S=e+13|0;g=a[S>>0]|0;if(g<<24>>24){R=d[43459+((g&255)+-1)>>0]|0;q=a[43714+(R+237)>>0]^q;n=a[43714+(R+91)>>0]^n;o=a[43714+(R+60)>>0]^o;p=a[43714+(R+150)>>0]^p}R=e+14|0;g=a[R>>0]|0;if(g<<24>>24){Q=d[43459+((g&255)+-1)>>0]|0;q=a[43714+(Q+224)>>0]^q;n=a[43714+(Q+79)>>0]^n;o=a[43714+(Q+55)>>0]^o;p=a[43714+(Q+237)>>0]^p}Q=e+15|0;g=a[Q>>0]|0;if(g<<24>>24){P=d[43459+((g&255)+-1)>>0]|0;q=a[43714+(P+23)>>0]^q;n=a[43714+(P+140)>>0]^n;o=a[43714+(P+208)>>0]^o;p=a[43714+(P+224)>>0]^p}if((f|0)!=32){g=1;f=0;r=0;while(1){O=a[44206+f>>0]|0;c[b+(r<<2)>>2]=c[8012+(((a[44974+((O^j)&255)>>0]^p)&255)<<2)>>2];P=a[44206+g>>0]|0;c[b+1024+(r<<2)>>2]=c[9036+(((a[44974+((P^i)&255)>>0]^o)&255)<<2)>>2];c[b+2048+(r<<2)>>2]=c[10060+(((a[44718+((O^h)&255)>>0]^n)&255)<<2)>>2];c[b+3072+(r<<2)>>2]=c[11084+(((a[44718+((P^k)&255)>>0]^q)&255)<<2)>>2];r=r+1|0;if((r|0)==256)break;else{g=g+2|0;f=f+2|0}}P=c[9036+(((a[_>>0]^a[44974+((d[S>>0]|0)^243)>>0])&255)<<2)>>2]^c[8012+(((a[aa>>0]^a[44974+((d[T>>0]|0)^103)>>0])&255)<<2)>>2]^c[10060+(((a[Z>>0]^a[44718+((d[R>>0]|0)^103)>>0])&255)<<2)>>2]^c[11084+(((a[Y>>0]^a[44718+((d[Q>>0]|0)^243)>>0])&255)<<2)>>2];P=P<<8|P>>>24;O=P+(c[9036+(((a[da>>0]^a[44974+((d[W>>0]|0)^117)>>0])&255)<<2)>>2]^c[8012+(((a[e>>0]^a[44974+((d[X>>0]|0)^169)>>0])&255)<<2)>>2]^c[10060+(((a[ca>>0]^a[44718+((d[V>>0]|0)^169)>>0])&255)<<2)>>2]^c[11084+(((a[ba>>0]^a[44718+((d[U>>0]|0)^117)>>0])&255)<<2)>>2])|0;P=O+P|0;c[b+4096>>2]=O;c[b+4100>>2]=P<<9|P>>>23;P=c[9036+(((a[_>>0]^a[44974+((d[S>>0]|0)^244)>>0])&255)<<2)>>2]^c[8012+(((a[aa>>0]^a[44974+((d[T>>0]|0)^232)>>0])&255)<<2)>>2]^c[10060+(((a[Z>>0]^a[44718+((d[R>>0]|0)^232)>>0])&255)<<2)>>2]^c[11084+(((a[Y>>0]^a[44718+((d[Q>>0]|0)^244)>>0])&255)<<2)>>2];P=P<<8|P>>>24;O=P+(c[9036+(((a[da>>0]^a[44974+((d[W>>0]|0)^198)>>0])&255)<<2)>>2]^c[8012+(((a[e>>0]^a[44974+((d[X>>0]|0)^179)>>0])&255)<<2)>>2]^c[10060+(((a[ca>>0]^a[44718+((d[V>>0]|0)^179)>>0])&255)<<2)>>2]^c[11084+(((a[ba>>0]^a[44718+((d[U>>0]|0)^198)>>0])&255)<<2)>>2])|0;P=O+P|0;c[b+4104>>2]=O;c[b+4108>>2]=P<<9|P>>>23;P=c[9036+(((a[_>>0]^a[44974+((d[S>>0]|0)^123)>>0])&255)<<2)>>2]^c[8012+(((a[aa>>0]^a[44974+((d[T>>0]|0)^253)>>0])&255)<<2)>>2]^c[10060+(((a[Z>>0]^a[44718+((d[R>>0]|0)^253)>>0])&255)<<2)>>2]^c[11084+(((a[Y>>0]^a[44718+((d[Q>>0]|0)^123)>>0])&255)<<2)>>2];P=P<<8|P>>>24;O=P+(c[9036+(((a[da>>0]^a[44974+((d[W>>0]|0)^219)>>0])&255)<<2)>>2]^c[8012+(((a[e>>0]^a[44974+((d[X>>0]|0)^4)>>0])&255)<<2)>>2]^c[10060+(((a[ca>>0]^a[44718+((d[V>>0]|0)^4)>>0])&255)<<2)>>2]^c[11084+(((a[ba>>0]^a[44718+((d[U>>0]|0)^219)>>0])&255)<<2)>>2])|0;P=O+P|0;c[b+4112>>2]=O;c[b+4116>>2]=P<<9|P>>>23;P=c[9036+(((a[_>>0]^a[44974+((d[S>>0]|0)^200)>>0])&255)<<2)>>2]^c[8012+(((a[aa>>0]^a[44974+((d[T>>0]|0)^118)>>0])&255)<<2)>>2]^c[10060+(((a[Z>>0]^a[44718+((d[R>>0]|0)^118)>>0])&255)<<2)>>2]^c[11084+(((a[Y>>0]^a[44718+((d[Q>>0]|0)^200)>>0])&255)<<2)>>2];P=P<<8|P>>>24;O=P+(c[9036+(((a[da>>0]^a[44974+((d[W>>0]|0)^251)>>0])&255)<<2)>>2]^c[8012+(((a[e>>0]^a[44974+((d[X>>0]|0)^163)>>0])&255)<<2)>>2]^c[10060+(((a[ca>>0]^a[44718+((d[V>>0]|0)^163)>>0])&255)<<2)>>2]^c[11084+(((a[ba>>0]^a[44718+((d[U>>0]|0)^251)>>0])&255)<<2)>>2])|0;P=O+P|0;c[b+4120>>2]=O;c[b+4124>>2]=P<<9|P>>>23;P=c[9036+(((a[_>>0]^a[44974+((d[S>>0]|0)^211)>>0])&255)<<2)>>2]^c[8012+(((a[aa>>0]^a[44974+((d[T>>0]|0)^146)>>0])&255)<<2)>>2]^c[10060+(((a[Z>>0]^a[44718+((d[R>>0]|0)^146)>>0])&255)<<2)>>2]^c[11084+(((a[Y>>0]^a[44718+((d[Q>>0]|0)^211)>>0])&255)<<2)>>2];P=P<<8|P>>>24;O=P+(c[9036+(((a[da>>0]^a[44974+((d[W>>0]|0)^74)>>0])&255)<<2)>>2]^c[8012+(((a[e>>0]^a[44974+((d[X>>0]|0)^154)>>0])&255)<<2)>>2]^c[10060+(((a[ca>>0]^a[44718+((d[V>>0]|0)^154)>>0])&255)<<2)>>2]^c[11084+(((a[ba>>0]^a[44718+((d[U>>0]|0)^74)>>0])&255)<<2)>>2])|0;P=O+P|0;c[b+4128>>2]=O;c[b+4132>>2]=P<<9|P>>>23;P=c[9036+(((a[_>>0]^a[44974+((d[S>>0]|0)^107)>>0])&255)<<2)>>2]^c[8012+(((a[aa>>0]^a[44974+((d[T>>0]|0)^120)>>0])&255)<<2)>>2]^c[10060+(((a[Z>>0]^a[44718+((d[R>>0]|0)^120)>>0])&255)<<2)>>2]^c[11084+(((a[Y>>0]^a[44718+((d[Q>>0]|0)^107)>>0])&255)<<2)>>2];P=P<<8|P>>>24;O=P+(c[9036+(((a[da>>0]^a[44974+((d[W>>0]|0)^230)>>0])&255)<<2)>>2]^c[8012+(((a[e>>0]^a[44974+((d[X>>0]|0)^128)>>0])&255)<<2)>>2]^c[10060+(((a[ca>>0]^a[44718+((d[V>>0]|0)^128)>>0])&255)<<2)>>2]^c[11084+(((a[ba>>0]^a[44718+((d[U>>0]|0)^230)>>0])&255)<<2)>>2])|0;P=O+P|0;c[b+4136>>2]=O;c[b+4140>>2]=P<<9|P>>>23;P=c[9036+(((a[_>>0]^a[44974+((d[S>>0]|0)^125)>>0])&255)<<2)>>2]^c[8012+(((a[aa>>0]^a[44974+((d[T>>0]|0)^221)>>0])&255)<<2)>>2]^c[10060+(((a[Z>>0]^a[44718+((d[R>>0]|0)^221)>>0])&255)<<2)>>2]^c[11084+(((a[Y>>0]^a[44718+((d[Q>>0]|0)^125)>>0])&255)<<2)>>2];P=P<<8|P>>>24;O=P+(c[9036+(((a[da>>0]^a[44974+((d[W>>0]|0)^69)>>0])&255)<<2)>>2]^c[8012+(((a[e>>0]^a[44974+((d[X>>0]|0)^228)>>0])&255)<<2)>>2]^c[10060+(((a[ca>>0]^a[44718+((d[V>>0]|0)^228)>>0])&255)<<2)>>2]^c[11084+(((a[ba>>0]^a[44718+((d[U>>0]|0)^69)>>0])&255)<<2)>>2])|0;P=O+P|0;c[b+4144>>2]=O;c[b+4148>>2]=P<<9|P>>>23;P=c[9036+(((a[_>>0]^a[44974+((d[S>>0]|0)^75)>>0])&255)<<2)>>2]^c[8012+(((a[aa>>0]^a[44974+((d[T>>0]|0)^56)>>0])&255)<<2)>>2]^c[10060+(((a[Z>>0]^a[44718+((d[R>>0]|0)^56)>>0])&255)<<2)>>2]^c[11084+(((a[Y>>0]^a[44718+((d[Q>>0]|0)^75)>>0])&255)<<2)>>2];P=P<<8|P>>>24;O=P+(c[9036+(((a[da>>0]^a[44974+((d[W>>0]|0)^232)>>0])&255)<<2)>>2]^c[8012+(((a[e>>0]^a[44974+((d[X>>0]|0)^209)>>0])&255)<<2)>>2]^c[10060+(((a[ca>>0]^a[44718+((d[V>>0]|0)^209)>>0])&255)<<2)>>2]^c[11084+(((a[ba>>0]^a[44718+((d[U>>0]|0)^232)>>0])&255)<<2)>>2])|0;P=O+P|0;c[b+4152>>2]=O;c[b+4156>>2]=P<<9|P>>>23;P=c[9036+(((a[_>>0]^a[44974+((d[S>>0]|0)^50)>>0])&255)<<2)>>2]^c[8012+(((a[aa>>0]^a[44974+((d[T>>0]|0)^198)>>0])&255)<<2)>>2]^c[10060+(((a[Z>>0]^a[44718+((d[R>>0]|0)^198)>>0])&255)<<2)>>2]^c[11084+(((a[Y>>0]^a[44718+((d[Q>>0]|0)^50)>>0])&255)<<2)>>2];P=P<<8|P>>>24;O=P+(c[9036+(((a[da>>0]^a[44974+((d[W>>0]|0)^214)>>0])&255)<<2)>>2]^c[8012+(((a[e>>0]^a[44974+((d[X>>0]|0)^13)>>0])&255)<<2)>>2]^c[10060+(((a[ca>>0]^a[44718+((d[V>>0]|0)^13)>>0])&255)<<2)>>2]^c[11084+(((a[ba>>0]^a[44718+((d[U>>0]|0)^214)>>0])&255)<<2)>>2])|0;P=O+P|0;c[b+4160>>2]=O;c[b+4164>>2]=P<<9|P>>>23;P=c[9036+(((a[_>>0]^a[44974+((d[S>>0]|0)^253)>>0])&255)<<2)>>2]^c[8012+(((a[aa>>0]^a[44974+((d[T>>0]|0)^152)>>0])&255)<<2)>>2]^c[10060+(((a[Z>>0]^a[44718+((d[R>>0]|0)^152)>>0])&255)<<2)>>2]^c[11084+(((a[Y>>0]^a[44718+((d[Q>>0]|0)^253)>>0])&255)<<2)>>2];P=P<<8|P>>>24;O=P+(c[9036+(((a[da>>0]^a[44974+((d[W>>0]|0)^216)>>0])&255)<<2)>>2]^c[8012+(((a[e>>0]^a[44974+((d[X>>0]|0)^53)>>0])&255)<<2)>>2]^c[10060+(((a[ca>>0]^a[44718+((d[V>>0]|0)^53)>>0])&255)<<2)>>2]^c[11084+(((a[ba>>0]^a[44718+((d[U>>0]|0)^216)>>0])&255)<<2)>>2])|0;P=O+P|0;c[b+4168>>2]=O;c[b+4172>>2]=P<<9|P>>>23;P=c[9036+(((a[_>>0]^a[44974+((d[S>>0]|0)^113)>>0])&255)<<2)>>2]^c[8012+(((a[aa>>0]^a[44974+((d[T>>0]|0)^247)>>0])&255)<<2)>>2]^c[10060+(((a[Z>>0]^a[44718+((d[R>>0]|0)^247)>>0])&255)<<2)>>2]^c[11084+(((a[Y>>0]^a[44718+((d[Q>>0]|0)^113)>>0])&255)<<2)>>2];P=P<<8|P>>>24;O=P+(c[9036+(((a[da>>0]^a[44974+((d[W>>0]|0)^55)>>0])&255)<<2)>>2]^c[8012+(((a[e>>0]^a[44974+((d[X>>0]|0)^24)>>0])&255)<<2)>>2]^c[10060+(((a[ca>>0]^a[44718+((d[V>>0]|0)^24)>>0])&255)<<2)>>2]^c[11084+(((a[ba>>0]^a[44718+((d[U>>0]|0)^55)>>0])&255)<<2)>>2])|0;P=O+P|0;c[b+4176>>2]=O;c[b+4180>>2]=P<<9|P>>>23;P=c[9036+(((a[_>>0]^a[44974+((d[S>>0]|0)^225)>>0])&255)<<2)>>2]^c[8012+(((a[aa>>0]^a[44974+((d[T>>0]|0)^108)>>0])&255)<<2)>>2]^c[10060+(((a[Z>>0]^a[44718+((d[R>>0]|0)^108)>>0])&255)<<2)>>2]^c[11084+(((a[Y>>0]^a[44718+((d[Q>>0]|0)^225)>>0])&255)<<2)>>2];P=P<<8|P>>>24;O=P+(c[9036+(((a[da>>0]^a[44974+((d[W>>0]|0)^241)>>0])&255)<<2)>>2]^c[8012+(((a[e>>0]^a[44974+((d[X>>0]|0)^236)>>0])&255)<<2)>>2]^c[10060+(((a[ca>>0]^a[44718+((d[V>>0]|0)^236)>>0])&255)<<2)>>2]^c[11084+(((a[ba>>0]^a[44718+((d[U>>0]|0)^241)>>0])&255)<<2)>>2])|0;P=O+P|0;c[b+4184>>2]=O;c[b+4188>>2]=P<<9|P>>>23;P=c[9036+(((a[_>>0]^a[44974+((d[S>>0]|0)^15)>>0])&255)<<2)>>2]^c[8012+(((a[aa>>0]^a[44974+((d[T>>0]|0)^117)>>0])&255)<<2)>>2]^c[10060+(((a[Z>>0]^a[44718+((d[R>>0]|0)^117)>>0])&255)<<2)>>2]^c[11084+(((a[Y>>0]^a[44718+((d[Q>>0]|0)^15)>>0])&255)<<2)>>2];P=P<<8|P>>>24;O=P+(c[9036+(((a[da>>0]^a[44974+((d[W>>0]|0)^48)>>0])&255)<<2)>>2]^c[8012+(((a[e>>0]^a[44974+((d[X>>0]|0)^67)>>0])&255)<<2)>>2]^c[10060+(((a[ca>>0]^a[44718+((d[V>>0]|0)^67)>>0])&255)<<2)>>2]^c[11084+(((a[ba>>0]^a[44718+((d[U>>0]|0)^48)>>0])&255)<<2)>>2])|0;P=O+P|0;c[b+4192>>2]=O;c[b+4196>>2]=P<<9|P>>>23;P=c[9036+(((a[_>>0]^a[44974+((d[S>>0]|0)^27)>>0])&255)<<2)>>2]^c[8012+(((a[aa>>0]^a[44974+((d[T>>0]|0)^38)>>0])&255)<<2)>>2]^c[10060+(((a[Z>>0]^a[44718+((d[R>>0]|0)^38)>>0])&255)<<2)>>2]^c[11084+(((a[Y>>0]^a[44718+((d[Q>>0]|0)^27)>>0])&255)<<2)>>2];P=P<<8|P>>>24;O=P+(c[9036+(((a[da>>0]^a[44974+((d[W>>0]|0)^248)>>0])&255)<<2)>>2]^c[8012+(((a[e>>0]^a[44974+((d[X>>0]|0)^55)>>0])&255)<<2)>>2]^c[10060+(((a[ca>>0]^a[44718+((d[V>>0]|0)^55)>>0])&255)<<2)>>2]^c[11084+(((a[ba>>0]^a[44718+((d[U>>0]|0)^248)>>0])&255)<<2)>>2])|0;P=O+P|0;c[b+4200>>2]=O;c[b+4204>>2]=P<<9|P>>>23;P=c[9036+(((a[_>>0]^a[44974+((d[S>>0]|0)^250)>>0])&255)<<2)>>2]^c[8012+(((a[aa>>0]^a[44974+((d[T>>0]|0)^19)>>0])&255)<<2)>>2]^c[10060+(((a[Z>>0]^a[44718+((d[R>>0]|0)^19)>>0])&255)<<2)>>2]^c[11084+(((a[Y>>0]^a[44718+((d[Q>>0]|0)^250)>>0])&255)<<2)>>2];P=P<<8|P>>>24;O=P+(c[9036+(((a[da>>0]^a[44974+((d[W>>0]|0)^135)>>0])&255)<<2)>>2]^c[8012+(((a[e>>0]^a[44974+((d[X>>0]|0)^250)>>0])&255)<<2)>>2]^c[10060+(((a[ca>>0]^a[44718+((d[V>>0]|0)^250)>>0])&255)<<2)>>2]^c[11084+(((a[ba>>0]^a[44718+((d[U>>0]|0)^135)>>0])&255)<<2)>>2])|0;P=O+P|0;c[b+4208>>2]=O;c[b+4212>>2]=P<<9|P>>>23;P=c[9036+(((a[_>>0]^a[44974+((d[S>>0]|0)^63)>>0])&255)<<2)>>2]^c[8012+(((a[aa>>0]^a[44974+((d[T>>0]|0)^72)>>0])&255)<<2)>>2]^c[10060+(((a[Z>>0]^a[44718+((d[R>>0]|0)^72)>>0])&255)<<2)>>2]^c[11084+(((a[Y>>0]^a[44718+((d[Q>>0]|0)^63)>>0])&255)<<2)>>2];P=P<<8|P>>>24;O=P+(c[9036+(((a[da>>0]^a[44974+((d[W>>0]|0)^6)>>0])&255)<<2)>>2]^c[8012+(((a[e>>0]^a[44974+((d[X>>0]|0)^148)>>0])&255)<<2)>>2]^c[10060+(((a[ca>>0]^a[44718+((d[V>>0]|0)^148)>>0])&255)<<2)>>2]^c[11084+(((a[ba>>0]^a[44718+((d[U>>0]|0)^6)>>0])&255)<<2)>>2])|0;P=O+P|0;c[b+4216>>2]=O;c[b+4220>>2]=P<<9|P>>>23;P=c[9036+(((a[_>>0]^a[44974+((d[S>>0]|0)^186)>>0])&255)<<2)>>2]^c[8012+(((a[aa>>0]^a[44974+((d[T>>0]|0)^208)>>0])&255)<<2)>>2]^c[10060+(((a[Z>>0]^a[44718+((d[R>>0]|0)^208)>>0])&255)<<2)>>2]^c[11084+(((a[Y>>0]^a[44718+((d[Q>>0]|0)^186)>>0])&255)<<2)>>2];P=P<<8|P>>>24;O=P+(c[9036+(((a[da>>0]^a[44974+((d[W>>0]|0)^94)>>0])&255)<<2)>>2]^c[8012+(((a[e>>0]^a[44974+((d[X>>0]|0)^242)>>0])&255)<<2)>>2]^c[10060+(((a[ca>>0]^a[44718+((d[V>>0]|0)^242)>>0])&255)<<2)>>2]^c[11084+(((a[ba>>0]^a[44718+((d[U>>0]|0)^94)>>0])&255)<<2)>>2])|0;P=O+P|0;c[b+4224>>2]=O;c[b+4228>>2]=P<<9|P>>>23;P=c[9036+(((a[_>>0]^a[44974+((d[S>>0]|0)^91)>>0])&255)<<2)>>2]^c[8012+(((a[aa>>0]^a[44974+((d[T>>0]|0)^48)>>0])&255)<<2)>>2]^c[10060+(((a[Z>>0]^a[44718+((d[R>>0]|0)^48)>>0])&255)<<2)>>2]^c[11084+(((a[Y>>0]^a[44718+((d[Q>>0]|0)^91)>>0])&255)<<2)>>2];P=P<<8|P>>>24;O=P+(c[9036+(((a[da>>0]^a[44974+((d[W>>0]|0)^174)>>0])&255)<<2)>>2]^c[8012+(((a[e>>0]^a[44974+((d[X>>0]|0)^139)>>0])&255)<<2)>>2]^c[10060+(((a[ca>>0]^a[44718+((d[V>>0]|0)^139)>>0])&255)<<2)>>2]^c[11084+(((a[ba>>0]^a[44718+((d[U>>0]|0)^174)>>0])&255)<<2)>>2])|0;P=O+P|0;c[b+4232>>2]=O;c[b+4236>>2]=P<<9|P>>>23;P=c[9036+(((a[_>>0]^a[44974+(d[S>>0]|0)>>0])&255)<<2)>>2]^c[8012+(((a[aa>>0]^a[44974+((d[T>>0]|0)^84)>>0])&255)<<2)>>2]^c[10060+(((a[Z>>0]^a[44718+((d[R>>0]|0)^84)>>0])&255)<<2)>>2]^c[11084+(((a[Y>>0]^a[44718+(d[Q>>0]|0)>>0])&255)<<2)>>2];P=P<<8|P>>>24;O=P+(c[9036+(((a[da>>0]^a[44974+((d[W>>0]|0)^138)>>0])&255)<<2)>>2]^c[8012+(((a[e>>0]^a[44974+((d[X>>0]|0)^132)>>0])&255)<<2)>>2]^c[10060+(((a[ca>>0]^a[44718+((d[V>>0]|0)^132)>>0])&255)<<2)>>2]^c[11084+(((a[ba>>0]^a[44718+((d[U>>0]|0)^138)>>0])&255)<<2)>>2])|0;P=O+P|0;c[b+4240>>2]=O;c[b+4244>>2]=P<<9|P>>>23;aa=c[9036+(((a[_>>0]^a[44974+((d[S>>0]|0)^157)>>0])&255)<<2)>>2]^c[8012+(((a[aa>>0]^a[44974+((d[T>>0]|0)^35)>>0])&255)<<2)>>2]^c[10060+(((a[Z>>0]^a[44718+((d[R>>0]|0)^35)>>0])&255)<<2)>>2]^c[11084+(((a[Y>>0]^a[44718+((d[Q>>0]|0)^157)>>0])&255)<<2)>>2];aa=aa<<8|aa>>>24;da=aa+(c[9036+(((a[da>>0]^a[44974+((d[W>>0]|0)^188)>>0])&255)<<2)>>2]^c[8012+(((a[e>>0]^a[44974+((d[X>>0]|0)^223)>>0])&255)<<2)>>2]^c[10060+(((a[ca>>0]^a[44718+((d[V>>0]|0)^223)>>0])&255)<<2)>>2]^c[11084+(((a[ba>>0]^a[44718+((d[U>>0]|0)^188)>>0])&255)<<2)>>2])|0;e=da+aa|0;c[b+4248>>2]=da;c[b+4252>>2]=e<<9|e>>>23;e=0;l=ea;return e|0}P=e+16|0;g=a[P>>0]|0;if(!(g<<24>>24)){f=0;r=0;s=0}else{s=d[43459+((g&255)+-1)>>0]|0;f=a[43714+(s+1)>>0]|0;r=a[43714+(s+45)>>0]|0;s=a[43714+s>>0]|0}O=e+17|0;g=a[O>>0]|0;if(!(g<<24>>24))t=r;else{N=d[43459+((g&255)+-1)>>0]|0;t=a[43714+(N+138)>>0]^r;f=a[43714+(N+68)>>0]^f;r=a[43714+(N+164)>>0]^r;s=a[43714+(N+45)>>0]^s}N=e+18|0;g=a[N>>0]|0;if(g<<24>>24){M=d[43459+((g&255)+-1)>>0]|0;t=a[43714+(M+209)>>0]^t;f=a[43714+(M+191)>>0]^f;r=a[43714+(M+213)>>0]^r;s=a[43714+(M+138)>>0]^s}M=e+19|0;g=a[M>>0]|0;if(g<<24>>24){L=d[43459+((g&255)+-1)>>0]|0;t=a[43714+(L+153)>>0]^t;f=a[43714+(L+61)>>0]^f;r=a[43714+(L+127)>>0]^r;s=a[43714+(L+209)>>0]^s}L=e+20|0;g=a[L>>0]|0;if(g<<24>>24){K=d[43459+((g&255)+-1)>>0]|0;t=a[43714+(K+150)>>0]^t;f=a[43714+(K+102)>>0]^f;r=a[43714+(K+70)>>0]^r;s=a[43714+(K+153)>>0]^s}K=e+21|0;g=a[K>>0]|0;if(g<<24>>24){J=d[43459+((g&255)+-1)>>0]|0;t=a[43714+(J+237)>>0]^t;f=a[43714+(J+91)>>0]^f;r=a[43714+(J+60)>>0]^r;s=a[43714+(J+150)>>0]^s}J=e+22|0;g=a[J>>0]|0;if(g<<24>>24){I=d[43459+((g&255)+-1)>>0]|0;t=a[43714+(I+224)>>0]^t;f=a[43714+(I+79)>>0]^f;r=a[43714+(I+55)>>0]^r;s=a[43714+(I+237)>>0]^s}I=e+23|0;g=a[I>>0]|0;if(g<<24>>24){H=d[43459+((g&255)+-1)>>0]|0;t=a[43714+(H+23)>>0]^t;f=a[43714+(H+140)>>0]^f;r=a[43714+(H+208)>>0]^r;s=a[43714+(H+224)>>0]^s}H=e+24|0;g=a[H>>0]|0;if(!(g<<24>>24)){u=0;v=0;w=0}else{w=d[43459+((g&255)+-1)>>0]|0;u=a[43714+(w+1)>>0]|0;v=a[43714+(w+45)>>0]|0;w=a[43714+w>>0]|0}G=e+25|0;g=a[G>>0]|0;if(!(g<<24>>24))x=v;else{F=d[43459+((g&255)+-1)>>0]|0;x=a[43714+(F+138)>>0]^v;u=a[43714+(F+68)>>0]^u;v=a[43714+(F+164)>>0]^v;w=a[43714+(F+45)>>0]^w}F=e+26|0;g=a[F>>0]|0;if(g<<24>>24){E=d[43459+((g&255)+-1)>>0]|0;x=a[43714+(E+209)>>0]^x;u=a[43714+(E+191)>>0]^u;v=a[43714+(E+213)>>0]^v;w=a[43714+(E+138)>>0]^w}E=e+27|0;g=a[E>>0]|0;if(g<<24>>24){D=d[43459+((g&255)+-1)>>0]|0;x=a[43714+(D+153)>>0]^x;u=a[43714+(D+61)>>0]^u;v=a[43714+(D+127)>>0]^v;w=a[43714+(D+209)>>0]^w}D=e+28|0;g=a[D>>0]|0;if(g<<24>>24){C=d[43459+((g&255)+-1)>>0]|0;x=a[43714+(C+150)>>0]^x;u=a[43714+(C+102)>>0]^u;v=a[43714+(C+70)>>0]^v;w=a[43714+(C+153)>>0]^w}C=e+29|0;g=a[C>>0]|0;if(g<<24>>24){B=d[43459+((g&255)+-1)>>0]|0;x=a[43714+(B+237)>>0]^x;u=a[43714+(B+91)>>0]^u;v=a[43714+(B+60)>>0]^v;w=a[43714+(B+150)>>0]^w}B=e+30|0;g=a[B>>0]|0;if(g<<24>>24){A=d[43459+((g&255)+-1)>>0]|0;x=a[43714+(A+224)>>0]^x;u=a[43714+(A+79)>>0]^u;v=a[43714+(A+55)>>0]^v;w=a[43714+(A+237)>>0]^w}A=e+31|0;g=a[A>>0]|0;if(g<<24>>24){z=d[43459+((g&255)+-1)>>0]|0;x=a[43714+(z+23)>>0]^x;u=a[43714+(z+140)>>0]^u;v=a[43714+(z+208)>>0]^v;w=a[43714+(z+224)>>0]^w}g=1;y=0;z=0;while(1){fa=a[44206+g>>0]|0;c[b+(z<<2)>>2]=c[8012+(((a[44974+((a[44974+((a[44718+((fa^j)&255)>>0]^p)&255)>>0]^s)&255)>>0]^w)&255)<<2)>>2];ga=a[44206+y>>0]|0;c[b+1024+(z<<2)>>2]=c[9036+(((a[44974+((a[44718+((a[44718+((ga^i)&255)>>0]^o)&255)>>0]^r)&255)>>0]^v)&255)<<2)>>2];c[b+2048+(z<<2)>>2]=c[10060+(((a[44718+((a[44974+((a[44974+((ga^h)&255)>>0]^n)&255)>>0]^f)&255)>>0]^u)&255)<<2)>>2];c[b+3072+(z<<2)>>2]=c[11084+(((a[44718+((a[44718+((a[44974+((fa^k)&255)>>0]^q)&255)>>0]^t)&255)>>0]^x)&255)<<2)>>2];z=z+1|0;if((z|0)==256)break;else{g=g+2|0;y=y+2|0}}ga=c[9036+(((a[_>>0]^a[44974+((a[S>>0]^a[44718+((a[K>>0]^a[44718+((d[C>>0]|0)^103)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[8012+(((a[aa>>0]^a[44974+((a[T>>0]^a[44974+((a[L>>0]^a[44718+((d[D>>0]|0)^243)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[10060+(((a[Z>>0]^a[44718+((a[R>>0]^a[44974+((a[J>>0]^a[44974+((d[B>>0]|0)^103)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[11084+(((a[Y>>0]^a[44718+((a[Q>>0]^a[44718+((a[I>>0]^a[44974+((d[A>>0]|0)^243)>>0])&255)>>0])&255)>>0])&255)<<2)>>2];ga=ga<<8|ga>>>24;fa=ga+(c[9036+(((a[da>>0]^a[44974+((a[W>>0]^a[44718+((a[O>>0]^a[44718+((d[G>>0]|0)^169)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[8012+(((a[e>>0]^a[44974+((a[X>>0]^a[44974+((a[P>>0]^a[44718+((d[H>>0]|0)^117)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[10060+(((a[ca>>0]^a[44718+((a[V>>0]^a[44974+((a[N>>0]^a[44974+((d[F>>0]|0)^169)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[11084+(((a[ba>>0]^a[44718+((a[U>>0]^a[44718+((a[M>>0]^a[44974+((d[E>>0]|0)^117)>>0])&255)>>0])&255)>>0])&255)<<2)>>2])|0;ga=fa+ga|0;c[b+4096>>2]=fa;c[b+4100>>2]=ga<<9|ga>>>23;ga=c[9036+(((a[_>>0]^a[44974+((a[S>>0]^a[44718+((a[K>>0]^a[44718+((d[C>>0]|0)^232)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[8012+(((a[aa>>0]^a[44974+((a[T>>0]^a[44974+((a[L>>0]^a[44718+((d[D>>0]|0)^244)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[10060+(((a[Z>>0]^a[44718+((a[R>>0]^a[44974+((a[J>>0]^a[44974+((d[B>>0]|0)^232)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[11084+(((a[Y>>0]^a[44718+((a[Q>>0]^a[44718+((a[I>>0]^a[44974+((d[A>>0]|0)^244)>>0])&255)>>0])&255)>>0])&255)<<2)>>2];ga=ga<<8|ga>>>24;fa=ga+(c[9036+(((a[da>>0]^a[44974+((a[W>>0]^a[44718+((a[O>>0]^a[44718+((d[G>>0]|0)^179)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[8012+(((a[e>>0]^a[44974+((a[X>>0]^a[44974+((a[P>>0]^a[44718+((d[H>>0]|0)^198)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[10060+(((a[ca>>0]^a[44718+((a[V>>0]^a[44974+((a[N>>0]^a[44974+((d[F>>0]|0)^179)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[11084+(((a[ba>>0]^a[44718+((a[U>>0]^a[44718+((a[M>>0]^a[44974+((d[E>>0]|0)^198)>>0])&255)>>0])&255)>>0])&255)<<2)>>2])|0;ga=fa+ga|0;c[b+4104>>2]=fa;c[b+4108>>2]=ga<<9|ga>>>23;ga=c[9036+(((a[_>>0]^a[44974+((a[S>>0]^a[44718+((a[K>>0]^a[44718+((d[C>>0]|0)^253)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[8012+(((a[aa>>0]^a[44974+((a[T>>0]^a[44974+((a[L>>0]^a[44718+((d[D>>0]|0)^123)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[10060+(((a[Z>>0]^a[44718+((a[R>>0]^a[44974+((a[J>>0]^a[44974+((d[B>>0]|0)^253)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[11084+(((a[Y>>0]^a[44718+((a[Q>>0]^a[44718+((a[I>>0]^a[44974+((d[A>>0]|0)^123)>>0])&255)>>0])&255)>>0])&255)<<2)>>2];ga=ga<<8|ga>>>24;fa=ga+(c[9036+(((a[da>>0]^a[44974+((a[W>>0]^a[44718+((a[O>>0]^a[44718+((d[G>>0]|0)^4)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[8012+(((a[e>>0]^a[44974+((a[X>>0]^a[44974+((a[P>>0]^a[44718+((d[H>>0]|0)^219)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[10060+(((a[ca>>0]^a[44718+((a[V>>0]^a[44974+((a[N>>0]^a[44974+((d[F>>0]|0)^4)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[11084+(((a[ba>>0]^a[44718+((a[U>>0]^a[44718+((a[M>>0]^a[44974+((d[E>>0]|0)^219)>>0])&255)>>0])&255)>>0])&255)<<2)>>2])|0;ga=fa+ga|0;c[b+4112>>2]=fa;c[b+4116>>2]=ga<<9|ga>>>23;ga=c[9036+(((a[_>>0]^a[44974+((a[S>>0]^a[44718+((a[K>>0]^a[44718+((d[C>>0]|0)^118)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[8012+(((a[aa>>0]^a[44974+((a[T>>0]^a[44974+((a[L>>0]^a[44718+((d[D>>0]|0)^200)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[10060+(((a[Z>>0]^a[44718+((a[R>>0]^a[44974+((a[J>>0]^a[44974+((d[B>>0]|0)^118)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[11084+(((a[Y>>0]^a[44718+((a[Q>>0]^a[44718+((a[I>>0]^a[44974+((d[A>>0]|0)^200)>>0])&255)>>0])&255)>>0])&255)<<2)>>2];ga=ga<<8|ga>>>24;fa=ga+(c[9036+(((a[da>>0]^a[44974+((a[W>>0]^a[44718+((a[O>>0]^a[44718+((d[G>>0]|0)^163)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[8012+(((a[e>>0]^a[44974+((a[X>>0]^a[44974+((a[P>>0]^a[44718+((d[H>>0]|0)^251)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[10060+(((a[ca>>0]^a[44718+((a[V>>0]^a[44974+((a[N>>0]^a[44974+((d[F>>0]|0)^163)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[11084+(((a[ba>>0]^a[44718+((a[U>>0]^a[44718+((a[M>>0]^a[44974+((d[E>>0]|0)^251)>>0])&255)>>0])&255)>>0])&255)<<2)>>2])|0;ga=fa+ga|0;c[b+4120>>2]=fa;c[b+4124>>2]=ga<<9|ga>>>23;ga=c[9036+(((a[_>>0]^a[44974+((a[S>>0]^a[44718+((a[K>>0]^a[44718+((d[C>>0]|0)^146)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[8012+(((a[aa>>0]^a[44974+((a[T>>0]^a[44974+((a[L>>0]^a[44718+((d[D>>0]|0)^211)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[10060+(((a[Z>>0]^a[44718+((a[R>>0]^a[44974+((a[J>>0]^a[44974+((d[B>>0]|0)^146)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[11084+(((a[Y>>0]^a[44718+((a[Q>>0]^a[44718+((a[I>>0]^a[44974+((d[A>>0]|0)^211)>>0])&255)>>0])&255)>>0])&255)<<2)>>2];ga=ga<<8|ga>>>24;fa=ga+(c[9036+(((a[da>>0]^a[44974+((a[W>>0]^a[44718+((a[O>>0]^a[44718+((d[G>>0]|0)^154)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[8012+(((a[e>>0]^a[44974+((a[X>>0]^a[44974+((a[P>>0]^a[44718+((d[H>>0]|0)^74)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[10060+(((a[ca>>0]^a[44718+((a[V>>0]^a[44974+((a[N>>0]^a[44974+((d[F>>0]|0)^154)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[11084+(((a[ba>>0]^a[44718+((a[U>>0]^a[44718+((a[M>>0]^a[44974+((d[E>>0]|0)^74)>>0])&255)>>0])&255)>>0])&255)<<2)>>2])|0;ga=fa+ga|0;c[b+4128>>2]=fa;c[b+4132>>2]=ga<<9|ga>>>23;ga=c[9036+(((a[_>>0]^a[44974+((a[S>>0]^a[44718+((a[K>>0]^a[44718+((d[C>>0]|0)^120)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[8012+(((a[aa>>0]^a[44974+((a[T>>0]^a[44974+((a[L>>0]^a[44718+((d[D>>0]|0)^107)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[10060+(((a[Z>>0]^a[44718+((a[R>>0]^a[44974+((a[J>>0]^a[44974+((d[B>>0]|0)^120)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[11084+(((a[Y>>0]^a[44718+((a[Q>>0]^a[44718+((a[I>>0]^a[44974+((d[A>>0]|0)^107)>>0])&255)>>0])&255)>>0])&255)<<2)>>2];ga=ga<<8|ga>>>24;fa=ga+(c[9036+(((a[da>>0]^a[44974+((a[W>>0]^a[44718+((a[O>>0]^a[44718+((d[G>>0]|0)^128)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[8012+(((a[e>>0]^a[44974+((a[X>>0]^a[44974+((a[P>>0]^a[44718+((d[H>>0]|0)^230)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[10060+(((a[ca>>0]^a[44718+((a[V>>0]^a[44974+((a[N>>0]^a[44974+((d[F>>0]|0)^128)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[11084+(((a[ba>>0]^a[44718+((a[U>>0]^a[44718+((a[M>>0]^a[44974+((d[E>>0]|0)^230)>>0])&255)>>0])&255)>>0])&255)<<2)>>2])|0;ga=fa+ga|0;c[b+4136>>2]=fa;c[b+4140>>2]=ga<<9|ga>>>23;ga=c[9036+(((a[_>>0]^a[44974+((a[S>>0]^a[44718+((a[K>>0]^a[44718+((d[C>>0]|0)^221)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[8012+(((a[aa>>0]^a[44974+((a[T>>0]^a[44974+((a[L>>0]^a[44718+((d[D>>0]|0)^125)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[10060+(((a[Z>>0]^a[44718+((a[R>>0]^a[44974+((a[J>>0]^a[44974+((d[B>>0]|0)^221)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[11084+(((a[Y>>0]^a[44718+((a[Q>>0]^a[44718+((a[I>>0]^a[44974+((d[A>>0]|0)^125)>>0])&255)>>0])&255)>>0])&255)<<2)>>2];ga=ga<<8|ga>>>24;fa=ga+(c[9036+(((a[da>>0]^a[44974+((a[W>>0]^a[44718+((a[O>>0]^a[44718+((d[G>>0]|0)^228)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[8012+(((a[e>>0]^a[44974+((a[X>>0]^a[44974+((a[P>>0]^a[44718+((d[H>>0]|0)^69)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[10060+(((a[ca>>0]^a[44718+((a[V>>0]^a[44974+((a[N>>0]^a[44974+((d[F>>0]|0)^228)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[11084+(((a[ba>>0]^a[44718+((a[U>>0]^a[44718+((a[M>>0]^a[44974+((d[E>>0]|0)^69)>>0])&255)>>0])&255)>>0])&255)<<2)>>2])|0;ga=fa+ga|0;c[b+4144>>2]=fa;c[b+4148>>2]=ga<<9|ga>>>23;ga=c[9036+(((a[_>>0]^a[44974+((a[S>>0]^a[44718+((a[K>>0]^a[44718+((d[C>>0]|0)^56)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[8012+(((a[aa>>0]^a[44974+((a[T>>0]^a[44974+((a[L>>0]^a[44718+((d[D>>0]|0)^75)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[10060+(((a[Z>>0]^a[44718+((a[R>>0]^a[44974+((a[J>>0]^a[44974+((d[B>>0]|0)^56)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[11084+(((a[Y>>0]^a[44718+((a[Q>>0]^a[44718+((a[I>>0]^a[44974+((d[A>>0]|0)^75)>>0])&255)>>0])&255)>>0])&255)<<2)>>2];ga=ga<<8|ga>>>24;fa=ga+(c[9036+(((a[da>>0]^a[44974+((a[W>>0]^a[44718+((a[O>>0]^a[44718+((d[G>>0]|0)^209)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[8012+(((a[e>>0]^a[44974+((a[X>>0]^a[44974+((a[P>>0]^a[44718+((d[H>>0]|0)^232)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[10060+(((a[ca>>0]^a[44718+((a[V>>0]^a[44974+((a[N>>0]^a[44974+((d[F>>0]|0)^209)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[11084+(((a[ba>>0]^a[44718+((a[U>>0]^a[44718+((a[M>>0]^a[44974+((d[E>>0]|0)^232)>>0])&255)>>0])&255)>>0])&255)<<2)>>2])|0;ga=fa+ga|0;c[b+4152>>2]=fa;c[b+4156>>2]=ga<<9|ga>>>23;ga=c[9036+(((a[_>>0]^a[44974+((a[S>>0]^a[44718+((a[K>>0]^a[44718+((d[C>>0]|0)^198)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[8012+(((a[aa>>0]^a[44974+((a[T>>0]^a[44974+((a[L>>0]^a[44718+((d[D>>0]|0)^50)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[10060+(((a[Z>>0]^a[44718+((a[R>>0]^a[44974+((a[J>>0]^a[44974+((d[B>>0]|0)^198)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[11084+(((a[Y>>0]^a[44718+((a[Q>>0]^a[44718+((a[I>>0]^a[44974+((d[A>>0]|0)^50)>>0])&255)>>0])&255)>>0])&255)<<2)>>2];ga=ga<<8|ga>>>24;fa=ga+(c[9036+(((a[da>>0]^a[44974+((a[W>>0]^a[44718+((a[O>>0]^a[44718+((d[G>>0]|0)^13)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[8012+(((a[e>>0]^a[44974+((a[X>>0]^a[44974+((a[P>>0]^a[44718+((d[H>>0]|0)^214)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[10060+(((a[ca>>0]^a[44718+((a[V>>0]^a[44974+((a[N>>0]^a[44974+((d[F>>0]|0)^13)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[11084+(((a[ba>>0]^a[44718+((a[U>>0]^a[44718+((a[M>>0]^a[44974+((d[E>>0]|0)^214)>>0])&255)>>0])&255)>>0])&255)<<2)>>2])|0;ga=fa+ga|0;c[b+4160>>2]=fa;c[b+4164>>2]=ga<<9|ga>>>23;ga=c[9036+(((a[_>>0]^a[44974+((a[S>>0]^a[44718+((a[K>>0]^a[44718+((d[C>>0]|0)^152)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[8012+(((a[aa>>0]^a[44974+((a[T>>0]^a[44974+((a[L>>0]^a[44718+((d[D>>0]|0)^253)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[10060+(((a[Z>>0]^a[44718+((a[R>>0]^a[44974+((a[J>>0]^a[44974+((d[B>>0]|0)^152)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[11084+(((a[Y>>0]^a[44718+((a[Q>>0]^a[44718+((a[I>>0]^a[44974+((d[A>>0]|0)^253)>>0])&255)>>0])&255)>>0])&255)<<2)>>2];ga=ga<<8|ga>>>24;fa=ga+(c[9036+(((a[da>>0]^a[44974+((a[W>>0]^a[44718+((a[O>>0]^a[44718+((d[G>>0]|0)^53)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[8012+(((a[e>>0]^a[44974+((a[X>>0]^a[44974+((a[P>>0]^a[44718+((d[H>>0]|0)^216)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[10060+(((a[ca>>0]^a[44718+((a[V>>0]^a[44974+((a[N>>0]^a[44974+((d[F>>0]|0)^53)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[11084+(((a[ba>>0]^a[44718+((a[U>>0]^a[44718+((a[M>>0]^a[44974+((d[E>>0]|0)^216)>>0])&255)>>0])&255)>>0])&255)<<2)>>2])|0;ga=fa+ga|0;c[b+4168>>2]=fa;c[b+4172>>2]=ga<<9|ga>>>23;ga=c[9036+(((a[_>>0]^a[44974+((a[S>>0]^a[44718+((a[K>>0]^a[44718+((d[C>>0]|0)^247)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[8012+(((a[aa>>0]^a[44974+((a[T>>0]^a[44974+((a[L>>0]^a[44718+((d[D>>0]|0)^113)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[10060+(((a[Z>>0]^a[44718+((a[R>>0]^a[44974+((a[J>>0]^a[44974+((d[B>>0]|0)^247)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[11084+(((a[Y>>0]^a[44718+((a[Q>>0]^a[44718+((a[I>>0]^a[44974+((d[A>>0]|0)^113)>>0])&255)>>0])&255)>>0])&255)<<2)>>2];ga=ga<<8|ga>>>24;fa=ga+(c[9036+(((a[da>>0]^a[44974+((a[W>>0]^a[44718+((a[O>>0]^a[44718+((d[G>>0]|0)^24)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[8012+(((a[e>>0]^a[44974+((a[X>>0]^a[44974+((a[P>>0]^a[44718+((d[H>>0]|0)^55)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[10060+(((a[ca>>0]^a[44718+((a[V>>0]^a[44974+((a[N>>0]^a[44974+((d[F>>0]|0)^24)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[11084+(((a[ba>>0]^a[44718+((a[U>>0]^a[44718+((a[M>>0]^a[44974+((d[E>>0]|0)^55)>>0])&255)>>0])&255)>>0])&255)<<2)>>2])|0;ga=fa+ga|0;c[b+4176>>2]=fa;c[b+4180>>2]=ga<<9|ga>>>23;ga=c[9036+(((a[_>>0]^a[44974+((a[S>>0]^a[44718+((a[K>>0]^a[44718+((d[C>>0]|0)^108)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[8012+(((a[aa>>0]^a[44974+((a[T>>0]^a[44974+((a[L>>0]^a[44718+((d[D>>0]|0)^225)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[10060+(((a[Z>>0]^a[44718+((a[R>>0]^a[44974+((a[J>>0]^a[44974+((d[B>>0]|0)^108)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[11084+(((a[Y>>0]^a[44718+((a[Q>>0]^a[44718+((a[I>>0]^a[44974+((d[A>>0]|0)^225)>>0])&255)>>0])&255)>>0])&255)<<2)>>2];ga=ga<<8|ga>>>24;fa=ga+(c[9036+(((a[da>>0]^a[44974+((a[W>>0]^a[44718+((a[O>>0]^a[44718+((d[G>>0]|0)^236)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[8012+(((a[e>>0]^a[44974+((a[X>>0]^a[44974+((a[P>>0]^a[44718+((d[H>>0]|0)^241)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[10060+(((a[ca>>0]^a[44718+((a[V>>0]^a[44974+((a[N>>0]^a[44974+((d[F>>0]|0)^236)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[11084+(((a[ba>>0]^a[44718+((a[U>>0]^a[44718+((a[M>>0]^a[44974+((d[E>>0]|0)^241)>>0])&255)>>0])&255)>>0])&255)<<2)>>2])|0;ga=fa+ga|0;c[b+4184>>2]=fa;c[b+4188>>2]=ga<<9|ga>>>23;ga=c[9036+(((a[_>>0]^a[44974+((a[S>>0]^a[44718+((a[K>>0]^a[44718+((d[C>>0]|0)^117)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[8012+(((a[aa>>0]^a[44974+((a[T>>0]^a[44974+((a[L>>0]^a[44718+((d[D>>0]|0)^15)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[10060+(((a[Z>>0]^a[44718+((a[R>>0]^a[44974+((a[J>>0]^a[44974+((d[B>>0]|0)^117)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[11084+(((a[Y>>0]^a[44718+((a[Q>>0]^a[44718+((a[I>>0]^a[44974+((d[A>>0]|0)^15)>>0])&255)>>0])&255)>>0])&255)<<2)>>2];ga=ga<<8|ga>>>24;fa=ga+(c[9036+(((a[da>>0]^a[44974+((a[W>>0]^a[44718+((a[O>>0]^a[44718+((d[G>>0]|0)^67)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[8012+(((a[e>>0]^a[44974+((a[X>>0]^a[44974+((a[P>>0]^a[44718+((d[H>>0]|0)^48)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[10060+(((a[ca>>0]^a[44718+((a[V>>0]^a[44974+((a[N>>0]^a[44974+((d[F>>0]|0)^67)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[11084+(((a[ba>>0]^a[44718+((a[U>>0]^a[44718+((a[M>>0]^a[44974+((d[E>>0]|0)^48)>>0])&255)>>0])&255)>>0])&255)<<2)>>2])|0;ga=fa+ga|0;c[b+4192>>2]=fa;c[b+4196>>2]=ga<<9|ga>>>23;ga=c[9036+(((a[_>>0]^a[44974+((a[S>>0]^a[44718+((a[K>>0]^a[44718+((d[C>>0]|0)^38)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[8012+(((a[aa>>0]^a[44974+((a[T>>0]^a[44974+((a[L>>0]^a[44718+((d[D>>0]|0)^27)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[10060+(((a[Z>>0]^a[44718+((a[R>>0]^a[44974+((a[J>>0]^a[44974+((d[B>>0]|0)^38)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[11084+(((a[Y>>0]^a[44718+((a[Q>>0]^a[44718+((a[I>>0]^a[44974+((d[A>>0]|0)^27)>>0])&255)>>0])&255)>>0])&255)<<2)>>2];ga=ga<<8|ga>>>24;fa=ga+(c[9036+(((a[da>>0]^a[44974+((a[W>>0]^a[44718+((a[O>>0]^a[44718+((d[G>>0]|0)^55)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[8012+(((a[e>>0]^a[44974+((a[X>>0]^a[44974+((a[P>>0]^a[44718+((d[H>>0]|0)^248)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[10060+(((a[ca>>0]^a[44718+((a[V>>0]^a[44974+((a[N>>0]^a[44974+((d[F>>0]|0)^55)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[11084+(((a[ba>>0]^a[44718+((a[U>>0]^a[44718+((a[M>>0]^a[44974+((d[E>>0]|0)^248)>>0])&255)>>0])&255)>>0])&255)<<2)>>2])|0;ga=fa+ga|0;c[b+4200>>2]=fa;c[b+4204>>2]=ga<<9|ga>>>23;ga=c[9036+(((a[_>>0]^a[44974+((a[S>>0]^a[44718+((a[K>>0]^a[44718+((d[C>>0]|0)^19)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[8012+(((a[aa>>0]^a[44974+((a[T>>0]^a[44974+((a[L>>0]^a[44718+((d[D>>0]|0)^250)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[10060+(((a[Z>>0]^a[44718+((a[R>>0]^a[44974+((a[J>>0]^a[44974+((d[B>>0]|0)^19)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[11084+(((a[Y>>0]^a[44718+((a[Q>>0]^a[44718+((a[I>>0]^a[44974+((d[A>>0]|0)^250)>>0])&255)>>0])&255)>>0])&255)<<2)>>2];ga=ga<<8|ga>>>24;fa=ga+(c[9036+(((a[da>>0]^a[44974+((a[W>>0]^a[44718+((a[O>>0]^a[44718+((d[G>>0]|0)^250)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[8012+(((a[e>>0]^a[44974+((a[X>>0]^a[44974+((a[P>>0]^a[44718+((d[H>>0]|0)^135)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[10060+(((a[ca>>0]^a[44718+((a[V>>0]^a[44974+((a[N>>0]^a[44974+((d[F>>0]|0)^250)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[11084+(((a[ba>>0]^a[44718+((a[U>>0]^a[44718+((a[M>>0]^a[44974+((d[E>>0]|0)^135)>>0])&255)>>0])&255)>>0])&255)<<2)>>2])|0;ga=fa+ga|0;c[b+4208>>2]=fa;c[b+4212>>2]=ga<<9|ga>>>23;ga=c[9036+(((a[_>>0]^a[44974+((a[S>>0]^a[44718+((a[K>>0]^a[44718+((d[C>>0]|0)^72)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[8012+(((a[aa>>0]^a[44974+((a[T>>0]^a[44974+((a[L>>0]^a[44718+((d[D>>0]|0)^63)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[10060+(((a[Z>>0]^a[44718+((a[R>>0]^a[44974+((a[J>>0]^a[44974+((d[B>>0]|0)^72)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[11084+(((a[Y>>0]^a[44718+((a[Q>>0]^a[44718+((a[I>>0]^a[44974+((d[A>>0]|0)^63)>>0])&255)>>0])&255)>>0])&255)<<2)>>2];ga=ga<<8|ga>>>24;fa=ga+(c[9036+(((a[da>>0]^a[44974+((a[W>>0]^a[44718+((a[O>>0]^a[44718+((d[G>>0]|0)^148)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[8012+(((a[e>>0]^a[44974+((a[X>>0]^a[44974+((a[P>>0]^a[44718+((d[H>>0]|0)^6)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[10060+(((a[ca>>0]^a[44718+((a[V>>0]^a[44974+((a[N>>0]^a[44974+((d[F>>0]|0)^148)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[11084+(((a[ba>>0]^a[44718+((a[U>>0]^a[44718+((a[M>>0]^a[44974+((d[E>>0]|0)^6)>>0])&255)>>0])&255)>>0])&255)<<2)>>2])|0;ga=fa+ga|0;c[b+4216>>2]=fa;c[b+4220>>2]=ga<<9|ga>>>23;ga=c[9036+(((a[_>>0]^a[44974+((a[S>>0]^a[44718+((a[K>>0]^a[44718+((d[C>>0]|0)^208)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[8012+(((a[aa>>0]^a[44974+((a[T>>0]^a[44974+((a[L>>0]^a[44718+((d[D>>0]|0)^186)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[10060+(((a[Z>>0]^a[44718+((a[R>>0]^a[44974+((a[J>>0]^a[44974+((d[B>>0]|0)^208)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[11084+(((a[Y>>0]^a[44718+((a[Q>>0]^a[44718+((a[I>>0]^a[44974+((d[A>>0]|0)^186)>>0])&255)>>0])&255)>>0])&255)<<2)>>2];ga=ga<<8|ga>>>24;fa=ga+(c[9036+(((a[da>>0]^a[44974+((a[W>>0]^a[44718+((a[O>>0]^a[44718+((d[G>>0]|0)^242)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[8012+(((a[e>>0]^a[44974+((a[X>>0]^a[44974+((a[P>>0]^a[44718+((d[H>>0]|0)^94)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[10060+(((a[ca>>0]^a[44718+((a[V>>0]^a[44974+((a[N>>0]^a[44974+((d[F>>0]|0)^242)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[11084+(((a[ba>>0]^a[44718+((a[U>>0]^a[44718+((a[M>>0]^a[44974+((d[E>>0]|0)^94)>>0])&255)>>0])&255)>>0])&255)<<2)>>2])|0;ga=fa+ga|0;c[b+4224>>2]=fa;c[b+4228>>2]=ga<<9|ga>>>23;ga=c[9036+(((a[_>>0]^a[44974+((a[S>>0]^a[44718+((a[K>>0]^a[44718+((d[C>>0]|0)^48)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[8012+(((a[aa>>0]^a[44974+((a[T>>0]^a[44974+((a[L>>0]^a[44718+((d[D>>0]|0)^91)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[10060+(((a[Z>>0]^a[44718+((a[R>>0]^a[44974+((a[J>>0]^a[44974+((d[B>>0]|0)^48)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[11084+(((a[Y>>0]^a[44718+((a[Q>>0]^a[44718+((a[I>>0]^a[44974+((d[A>>0]|0)^91)>>0])&255)>>0])&255)>>0])&255)<<2)>>2];ga=ga<<8|ga>>>24;fa=ga+(c[9036+(((a[da>>0]^a[44974+((a[W>>0]^a[44718+((a[O>>0]^a[44718+((d[G>>0]|0)^139)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[8012+(((a[e>>0]^a[44974+((a[X>>0]^a[44974+((a[P>>0]^a[44718+((d[H>>0]|0)^174)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[10060+(((a[ca>>0]^a[44718+((a[V>>0]^a[44974+((a[N>>0]^a[44974+((d[F>>0]|0)^139)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[11084+(((a[ba>>0]^a[44718+((a[U>>0]^a[44718+((a[M>>0]^a[44974+((d[E>>0]|0)^174)>>0])&255)>>0])&255)>>0])&255)<<2)>>2])|0;ga=fa+ga|0;c[b+4232>>2]=fa;c[b+4236>>2]=ga<<9|ga>>>23;ga=c[9036+(((a[_>>0]^a[44974+((a[S>>0]^a[44718+((a[K>>0]^a[44718+((d[C>>0]|0)^84)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[8012+(((a[aa>>0]^a[44974+((a[T>>0]^a[44974+((a[L>>0]^a[44718+(d[D>>0]|0)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[10060+(((a[Z>>0]^a[44718+((a[R>>0]^a[44974+((a[J>>0]^a[44974+((d[B>>0]|0)^84)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[11084+(((a[Y>>0]^a[44718+((a[Q>>0]^a[44718+((a[I>>0]^a[44974+(d[A>>0]|0)>>0])&255)>>0])&255)>>0])&255)<<2)>>2];ga=ga<<8|ga>>>24;fa=ga+(c[9036+(((a[da>>0]^a[44974+((a[W>>0]^a[44718+((a[O>>0]^a[44718+((d[G>>0]|0)^132)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[8012+(((a[e>>0]^a[44974+((a[X>>0]^a[44974+((a[P>>0]^a[44718+((d[H>>0]|0)^138)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[10060+(((a[ca>>0]^a[44718+((a[V>>0]^a[44974+((a[N>>0]^a[44974+((d[F>>0]|0)^132)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[11084+(((a[ba>>0]^a[44718+((a[U>>0]^a[44718+((a[M>>0]^a[44974+((d[E>>0]|0)^138)>>0])&255)>>0])&255)>>0])&255)<<2)>>2])|0;ga=fa+ga|0;c[b+4240>>2]=fa;c[b+4244>>2]=ga<<9|ga>>>23;ga=c[9036+(((a[_>>0]^a[44974+((a[S>>0]^a[44718+((a[K>>0]^a[44718+((d[C>>0]|0)^35)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[8012+(((a[aa>>0]^a[44974+((a[T>>0]^a[44974+((a[L>>0]^a[44718+((d[D>>0]|0)^157)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[10060+(((a[Z>>0]^a[44718+((a[R>>0]^a[44974+((a[J>>0]^a[44974+((d[B>>0]|0)^35)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[11084+(((a[Y>>0]^a[44718+((a[Q>>0]^a[44718+((a[I>>0]^a[44974+((d[A>>0]|0)^157)>>0])&255)>>0])&255)>>0])&255)<<2)>>2];ga=ga<<8|ga>>>24;fa=ga+(c[9036+(((a[da>>0]^a[44974+((a[W>>0]^a[44718+((a[O>>0]^a[44718+((d[G>>0]|0)^223)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[8012+(((a[e>>0]^a[44974+((a[X>>0]^a[44974+((a[P>>0]^a[44718+((d[H>>0]|0)^188)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[10060+(((a[ca>>0]^a[44718+((a[V>>0]^a[44974+((a[N>>0]^a[44974+((d[F>>0]|0)^223)>>0])&255)>>0])&255)>>0])&255)<<2)>>2]^c[11084+(((a[ba>>0]^a[44718+((a[U>>0]^a[44718+((a[M>>0]^a[44974+((d[E>>0]|0)^188)>>0])&255)>>0])&255)>>0])&255)<<2)>>2])|0;ga=fa+ga|0;c[b+4248>>2]=fa;c[b+4252>>2]=ga<<9|ga>>>23;ga=0;l=ea;return ga|0}function lj(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;F=l;l=l+16|0;if((l|0)>=(m|0))$(16);h=F;if(!g)j=0;else{B=h+4|0;C=h+8|0;D=h+12|0;k=h+1|0;n=h+2|0;o=h+3|0;p=h+4|0;q=h+5|0;r=h+6|0;s=h+7|0;t=h+8|0;u=h+9|0;v=h+10|0;w=h+11|0;x=h+12|0;y=h+13|0;z=h+14|0;A=h+15|0;j=0;i=f;do{ij(b,h,d)|0;j=j>>>0<36?36:j;if(!((e|i)&3)){c[e>>2]=c[i>>2]^c[h>>2];c[e+4>>2]=c[i+4>>2]^c[B>>2];c[e+8>>2]=c[i+8>>2]^c[C>>2];c[e+12>>2]=c[i+12>>2]^c[D>>2]}else{a[e>>0]=a[i>>0]^a[h>>0];a[e+1>>0]=a[i+1>>0]^a[k>>0];a[e+2>>0]=a[i+2>>0]^a[n>>0];a[e+3>>0]=a[i+3>>0]^a[o>>0];a[e+4>>0]=a[i+4>>0]^a[p>>0];a[e+5>>0]=a[i+5>>0]^a[q>>0];a[e+6>>0]=a[i+6>>0]^a[r>>0];a[e+7>>0]=a[i+7>>0]^a[s>>0];a[e+8>>0]=a[i+8>>0]^a[t>>0];a[e+9>>0]=a[i+9>>0]^a[u>>0];a[e+10>>0]=a[i+10>>0]^a[v>>0];a[e+11>>0]=a[i+11>>0]^a[w>>0];a[e+12>>0]=a[i+12>>0]^a[x>>0];a[e+13>>0]=a[i+13>>0]^a[y>>0];a[e+14>>0]=a[i+14>>0]^a[z>>0];a[e+15>>0]=a[i+15>>0]^a[A>>0]}e=e+16|0;i=i+16|0;f=16;do{if((f|0)<=0)break;f=f+-1|0;H=d+f|0;G=(a[H>>0]|0)+1<<24>>24;a[H>>0]=G}while(!(G<<24>>24));g=g+-1|0}while((g|0)!=0)}if(h&4){e=16;do{a[h>>0]=0;h=h+1|0;e=e+-1|0}while((e|0)!=0&(h&7|0)!=0);if(e>>>0>=8)E=13}else{e=16;E=13}if((E|0)==13){g=e+-8|0;i=g&-8;b=i+8|0;f=h;while(1){H=f;c[H>>2]=0;c[H+4>>2]=0;e=e+-8|0;if(e>>>0<=7)break;else f=f+8|0}e=g-i|0;h=h+b|0}if(!e){Te(j);l=F;return}while(1){a[h>>0]=0;e=e+-1|0;if(!e)break;else h=h+1|0}Te(j);l=F;return}function mj(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;X=l;l=l+16|0;if((l|0)>=(m|0))$(16);h=X;if(!g)i=0;else{T=d;U=h+4|0;V=d+4|0;j=h+8|0;k=d+8|0;n=h+12|0;o=d+12|0;p=h+1|0;q=d+1|0;r=h+2|0;s=d+2|0;t=h+3|0;u=d+3|0;v=h+4|0;w=d+4|0;x=h+5|0;y=d+5|0;z=h+6|0;A=d+6|0;B=h+7|0;C=d+7|0;D=h+8|0;E=d+8|0;F=h+9|0;G=d+9|0;H=h+10|0;I=d+10|0;J=h+11|0;K=d+11|0;L=h+12|0;M=d+12|0;N=h+13|0;O=d+13|0;P=h+14|0;Q=d+14|0;R=h+15|0;S=d+15|0;i=0;while(1){jj(b,h,f)|0;i=i>>>0<36?36:i;if(!((f|T|e)&3)){Y=c[f>>2]|0;c[e>>2]=c[h>>2]^c[d>>2];c[d>>2]=Y;Y=c[f+4>>2]|0;c[e+4>>2]=c[U>>2]^c[V>>2];c[V>>2]=Y;Y=c[f+8>>2]|0;c[e+8>>2]=c[j>>2]^c[k>>2];c[k>>2]=Y;Y=c[f+12>>2]|0;c[e+12>>2]=c[n>>2]^c[o>>2];c[o>>2]=Y}else{Y=a[f>>0]|0;a[e>>0]=a[h>>0]^a[d>>0];a[d>>0]=Y;Y=a[f+1>>0]|0;a[e+1>>0]=a[p>>0]^a[q>>0];a[q>>0]=Y;Y=a[f+2>>0]|0;a[e+2>>0]=a[r>>0]^a[s>>0];a[s>>0]=Y;Y=a[f+3>>0]|0;a[e+3>>0]=a[t>>0]^a[u>>0];a[u>>0]=Y;Y=a[f+4>>0]|0;a[e+4>>0]=a[v>>0]^a[w>>0];a[w>>0]=Y;Y=a[f+5>>0]|0;a[e+5>>0]=a[x>>0]^a[y>>0];a[y>>0]=Y;Y=a[f+6>>0]|0;a[e+6>>0]=a[z>>0]^a[A>>0];a[A>>0]=Y;Y=a[f+7>>0]|0;a[e+7>>0]=a[B>>0]^a[C>>0];a[C>>0]=Y;Y=a[f+8>>0]|0;a[e+8>>0]=a[D>>0]^a[E>>0];a[E>>0]=Y;Y=a[f+9>>0]|0;a[e+9>>0]=a[F>>0]^a[G>>0];a[G>>0]=Y;Y=a[f+10>>0]|0;a[e+10>>0]=a[H>>0]^a[I>>0];a[I>>0]=Y;Y=a[f+11>>0]|0;a[e+11>>0]=a[J>>0]^a[K>>0];a[K>>0]=Y;Y=a[f+12>>0]|0;a[e+12>>0]=a[L>>0]^a[M>>0];a[M>>0]=Y;Y=a[f+13>>0]|0;a[e+13>>0]=a[N>>0]^a[O>>0];a[O>>0]=Y;Y=a[f+14>>0]|0;a[e+14>>0]=a[P>>0]^a[Q>>0];a[Q>>0]=Y;Y=a[f+15>>0]|0;a[e+15>>0]=a[R>>0]^a[S>>0];a[S>>0]=Y}g=g+-1|0;if(!g)break;else{e=e+16|0;f=f+16|0}}}if(h&4){e=16;do{a[h>>0]=0;h=h+1|0;e=e+-1|0}while((e|0)!=0&(h&7|0)!=0);if(e>>>0>=8)W=10}else{e=16;W=10}if((W|0)==10){f=e+-8|0;b=f&-8;d=b+8|0;g=h;while(1){Y=g;c[Y>>2]=0;c[Y+4>>2]=0;e=e+-8|0;if(e>>>0<=7)break;else g=g+8|0}e=f-b|0;h=h+d|0}if(!e){Te(i);l=X;return}while(1){a[h>>0]=0;e=e+-1|0;if(!e)break;else h=h+1|0}Te(i);l=X;return}function nj(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;if(!g){x=0;Te(x);return}u=d;v=d+4|0;w=d+8|0;x=d+12|0;i=d+1|0;j=d+2|0;k=d+3|0;l=d+5|0;m=d+6|0;n=d+7|0;o=d+9|0;p=d+10|0;q=d+11|0;r=d+13|0;s=d+14|0;t=d+15|0;h=g;g=0;while(1){ij(b,d,d)|0;g=g>>>0<36?36:g;if(!((e|u|f)&3)){y=c[f>>2]|0;c[e>>2]=c[d>>2]^y;c[d>>2]=y;y=c[f+4>>2]|0;c[e+4>>2]=c[v>>2]^y;c[v>>2]=y;y=c[f+8>>2]|0;c[e+8>>2]=c[w>>2]^y;c[w>>2]=y;y=c[f+12>>2]|0;c[e+12>>2]=c[x>>2]^y;c[x>>2]=y}else{y=a[f>>0]|0;a[e>>0]=a[d>>0]^y;a[d>>0]=y;y=a[f+1>>0]|0;a[e+1>>0]=a[i>>0]^y;a[i>>0]=y;y=a[f+2>>0]|0;a[e+2>>0]=a[j>>0]^y;a[j>>0]=y;y=a[f+3>>0]|0;a[e+3>>0]=a[k>>0]^y;a[k>>0]=y;y=a[f+4>>0]|0;a[e+4>>0]=a[v>>0]^y;a[v>>0]=y;y=a[f+5>>0]|0;a[e+5>>0]=a[l>>0]^y;a[l>>0]=y;y=a[f+6>>0]|0;a[e+6>>0]=a[m>>0]^y;a[m>>0]=y;y=a[f+7>>0]|0;a[e+7>>0]=a[n>>0]^y;a[n>>0]=y;y=a[f+8>>0]|0;a[e+8>>0]=a[w>>0]^y;a[w>>0]=y;y=a[f+9>>0]|0;a[e+9>>0]=a[o>>0]^y;a[o>>0]=y;y=a[f+10>>0]|0;a[e+10>>0]=a[p>>0]^y;a[p>>0]=y;y=a[f+11>>0]|0;a[e+11>>0]=a[q>>0]^y;a[q>>0]=y;y=a[f+12>>0]|0;a[e+12>>0]=a[x>>0]^y;a[x>>0]=y;y=a[f+13>>0]|0;a[e+13>>0]=a[r>>0]^y;a[r>>0]=y;y=a[f+14>>0]|0;a[e+14>>0]=a[s>>0]^y;a[s>>0]=y;y=a[f+15>>0]|0;a[e+15>>0]=a[t>>0]^y;a[t>>0]=y}h=h+-1|0;if(!h)break;else{f=f+16|0;e=e+16|0}}Te(g);return}function oj(a,b){a=a|0;b=b|0;c[17620]=a;c[17621]=b;return}function pj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[17620]|0;if(!f)return;qb[f&15](c[17621]|0,a,b,d,e);return}function qj(a){a=a|0;a:do switch(a|0){case 0:{c[17622]=1;break}case 1:{c[17623]=1;break}default:if(!(c[17622]|0))switch(a|0){case 2:{c[17624]=1;break a}case 3:{c[17625]=1;break a}default:break a}}while(0);return}function rj(a){a=a|0;if(gg()|0){en(a);return}if(c[17623]|0){Pm(a);return}if(c[17624]|0){en(a);return}if(!(c[17625]|0)){Pm(a);return}else{wn(a);return}}function sj(){if(gg()|0){fn();return}if(c[17623]|0){Rm();return}if(c[17624]|0){fn();return}if(!(c[17625]|0)){Rm();return}else{xn();return}}function tj(a){a=a|0;if((a|0)==0?(gg()|0)!=0:0)a=2;else if(!(c[17623]|0))if(!(c[17624]|0))a=(c[17625]|0)==0?1:3;else a=2;else a=1;return a|0}function uj(){if(!(gg()|0)){Sm();return}else return}function vj(){if(gg()|0)return;Tm();return}function wj(){if(gg()|0)return;Um();return}function xj(a){a=a|0;if(gg()|0)return;return}function yj(a){a=a|0;if(gg()|0){a=0;return a|0}a=Wm(a)|0;return a|0}function zj(){var a=0;if(!(gg()|0)){a=Xm()|0;return a|0}else{a=hn()|0;return a|0}return 0}function Aj(a,b){a=a|0;b=b|0;var c=0;c=gf(a)|0;Bj(c,a,b);return c|0}function Bj(a,b,d){a=a|0;b=b|0;d=d|0;if(gg()|0){jn(a,b,d);return}if(c[17623]|0){Zm(a,b,d);return}if(c[17624]|0){jn(a,b,d);return}if(!(c[17625]|0)){Zm(a,b,d);return}else{yn(a,b,d);return}}function Cj(a,b){a=a|0;b=b|0;var c=0;c=jf(a)|0;Bj(c,a,b);return c|0}function Dj(a,b,c){a=a|0;b=b|0;c=c|0;Bj(a,b,c);return}function Ej(a){a=a|0;if(gg()|0)return;if(c[17623]|0){bn(a);return}if(c[17625]|c[17624]|0)return;bn(a);return}function Fj(){if(gg()|0)return;if(c[17623]|0){cn();return}if(c[17625]|c[17624]|0)return;cn();return}function Gj(){if(gg()|0)return;if(c[17623]|0){dn();return}if(c[17625]|c[17624]|0)return;dn();return}function Hj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;if((l|0)>=(m|0))$(16);g=h+8|0;f=h;e=h+12|0;if(gg()|0){rn(a,b);l=h;return}do if(!(gg()|0)){if(c[17623]|0){Pm(1);break}if(c[17624]|0){en(1);break}if(!(c[17625]|0)){Pm(1);break}else{wn(1);break}}else en(1);while(0);d=Vn(12172)|0;if(d|0){c[f>>2]=Pn(d)|0;Me(45241,f)}c[e>>2]=qq()|0;if(c[17626]|0){if((c[17627]|0)!=(c[e>>2]|0)){Bj(70532,8,0);c[17627]=c[e>>2]}}else{f=fb(0)|0;d=c[e>>2]|0;c[17627]=c[e>>2];c[17628]=d;c[17629]=f;Bj(70532,8,0);c[17626]=1}if(b|0)while(1){Vi(70512,70512,28);d=b>>>0>20?20:b;cr(a|0,70512,d|0)|0;b=b-d|0;if(!b)break;else a=a+d|0}b=Wn(12172)|0;if(!b){l=h;return}else{c[g>>2]=Pn(b)|0;Me(45286,g)}}function Ij(a){a=a|0;if(!(gg()|0)){a=0;return a|0}a=sn(a)|0;return a|0}function Jj(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;if(!(gg()|0)){h=60;return h|0}h=tn(a,b,c,d,e,f,g,h)|0;return h|0}function Kj(a,b,c){a=a|0;b=b|0;c=c|0;if(!(gg()|0)){c=60;return c|0}c=un(a,b,c)|0;return c|0}function Lj(a){a=a|0;if(!(gg()|0))return;vn(a);return}function Mj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+112|0;if((l|0)>=(m|0))$(112);g=j+8|0;f=j;h=j+12|0;if(!d){c[f>>2]=b;lp(h,99,45331,f)|0;Se(h,0);l=j;return}c[g>>2]=b;lp(h,99,45336,g)|0;g=(e|0)!=0;if(g){f=Hl(0)|0;b=Hl(0)|0;if(!(Nj(f,b,d,e)|0)){a[h+((Fo(h)|0)+-1)>>0]=120;Se(h,f);a[h+((Fo(h)|0)+-1)>>0]=121;Se(h,b)}else i=6}else{f=0;b=0;i=6}if((i|0)==6){Se(h,c[d>>2]|0);a[h+((Fo(h)|0)+-1)>>0]=89;Se(h,c[d+4>>2]|0);a[h+((Fo(h)|0)+-1)>>0]=90;Se(h,c[d+8>>2]|0);if(!g){l=j;return}}Jl(f);Jl(b);l=j;return}function Nj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,n=0;n=l;l=l+32|0;if((l|0)>=(m|0))$(32);h=n+16|0;f=n+8|0;g=d+8|0;if(!(vk(c[g>>2]|0,0)|0)){b=-1;l=n;return b|0}switch(c[e>>2]|0){case 0:{k=Hl(0)|0;j=Hl(0)|0;f=c[g>>2]|0;i=e+16|0;if(!(Fk(k,f,c[i>>2]|0)|0)){Le(45341,n);Se(45375,f);Se(45379,c[i>>2]|0)}Kk(j,k,k);h=e+60|0;f=c[h>>2]|0;if(!f)Gk(j,j,c[i>>2]|0);else Jk(j,j,f);do if(a|0){Kk(a,c[d>>2]|0,j);f=c[h>>2]|0;if(!f){Gk(a,a,c[i>>2]|0);break}else{Jk(a,a,f);break}}while(0);if(b|0){g=Hl(0)|0;Kk(g,j,k);f=c[h>>2]|0;if(!f)Gk(g,g,c[i>>2]|0);else Jk(g,g,f);Kk(b,c[d+4>>2]|0,g);f=c[h>>2]|0;if(!f)Gk(b,b,c[i>>2]|0);else Jk(b,b,f);tl(g)}tl(j);tl(k);b=0;l=n;return b|0}case 1:{if(a|0)Al(a,c[d>>2]|0)|0;if(!b){b=0;l=n;return b|0}else{c[f>>2]=45432;c[f+4>>2]=45456;Me(45383,f)}break}case 2:{i=Hl(0)|0;f=c[g>>2]|0;g=e+16|0;if(!(Fk(i,f,c[g>>2]|0)|0)){Le(45341,h);Se(45375,f);Se(45379,c[g>>2]|0)}do if(a|0){Kk(a,c[d>>2]|0,i);f=c[e+60>>2]|0;if(!f){Gk(a,a,c[g>>2]|0);break}else{Jk(a,a,f);break}}while(0);do if(b|0){Kk(b,c[d+4>>2]|0,i);f=c[e+60>>2]|0;if(!f){Gk(b,b,c[g>>2]|0);break}else{Jk(b,b,f);break}}while(0);Jl(i);b=0;l=n;return b|0}default:{b=-1;l=n;return b|0}}return 0}function Oj(a){a=a|0;a=gf(12)|0;c[a>>2]=Hl(0)|0;c[a+4>>2]=Hl(0)|0;c[a+8>>2]=Hl(0)|0;return a|0}function Pj(a){a=a|0;c[a>>2]=Hl(0)|0;c[a+4>>2]=Hl(0)|0;c[a+8>>2]=Hl(0)|0;return}function Qj(a){a=a|0;var b=0;if(!a)return;tl(c[a>>2]|0);c[a>>2]=0;b=a+4|0;tl(c[b>>2]|0);c[b>>2]=0;b=a+8|0;tl(c[b>>2]|0);c[b>>2]=0;cf(a);return}function Rj(a){a=a|0;var b=0;tl(c[a>>2]|0);c[a>>2]=0;b=a+4|0;tl(c[b>>2]|0);c[b>>2]=0;a=a+8|0;tl(c[a>>2]|0);c[a>>2]=0;return}function Sj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;if(!a){f=gf(12)|0;c[f>>2]=Hl(0)|0;c[f+4>>2]=Hl(0)|0;c[f+8>>2]=Hl(0)|0}else f=a;a=c[f>>2]|0;if(!b)rl(a);else Al(a,b)|0;a=c[f+4>>2]|0;if(!d)rl(a);else Al(a,d)|0;a=c[f+8>>2]|0;if(!e){rl(a);return f|0}else{Al(a,e)|0;return f|0}return 0}function Tj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;if(!a){f=gf(12)|0;c[f>>2]=Hl(0)|0;c[f+4>>2]=Hl(0)|0;c[f+8>>2]=Hl(0)|0}else f=a;a=c[f>>2]|0;if(!b)rl(a);else Cl(a,b);a=c[f+4>>2]|0;if(!d)rl(a);else Cl(a,d);a=c[f+8>>2]|0;if(!e){rl(a);return f|0}else{Cl(a,e);return f|0}return 0}function Uj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0;g=kf(1,108)|0;Vj(g,a,b,c,d,e,f);return g|0}function Vj(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;do if(!(c[17635]|0))if(!(Xa(45467)|0)){c[17635]=-1;break}else{c[17635]=1;break}while(0);c[b>>2]=d;c[b+4>>2]=e;c[b+8>>2]=f;if((e|0)==1)d=256;else d=lk(g)|0;c[b+12>>2]=d;e=b+16|0;c[e>>2]=yl(g)|0;c[b+20>>2]=yl(h)|0;c[b+24>>2]=yl(i)|0;if((c[17635]|0)>0)d=Hk(c[e>>2]|0,0)|0;else d=0;c[b+60>>2]=d;i=b+48|0;a[i>>0]=a[i>>0]&-4;c[b+64>>2]=Bl(c[e>>2]|0)|0;c[b+68>>2]=Bl(c[e>>2]|0)|0;c[b+72>>2]=Bl(c[e>>2]|0)|0;c[b+76>>2]=Bl(c[e>>2]|0)|0;c[b+80>>2]=Bl(c[e>>2]|0)|0;c[b+84>>2]=Bl(c[e>>2]|0)|0;c[b+88>>2]=Bl(c[e>>2]|0)|0;c[b+92>>2]=Bl(c[e>>2]|0)|0;c[b+96>>2]=Bl(c[e>>2]|0)|0;c[b+100>>2]=Bl(c[e>>2]|0)|0;c[b+104>>2]=Bl(c[e>>2]|0)|0;return}function Wj(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;c[a>>2]=0;if(!((f|0)!=0&(g|0)!=0)){i=32816;return i|0}i=rg(1,108,5)|0;if(!i){i=Sn()|0;return i|0}else{Vj(sg(i,1)|0,b,d,e,f,g,h);c[a>>2]=i;i=0;return i|0}return 0}function Xj(a){a=a|0;var b=0,d=0;Ik(c[a+60>>2]|0);tl(c[a+16>>2]|0);tl(c[a+20>>2]|0);tl(c[a+24>>2]|0);b=c[a+28>>2]|0;if(b|0){tl(c[b>>2]|0);c[b>>2]=0;d=b+4|0;tl(c[d>>2]|0);c[d>>2]=0;d=b+8|0;tl(c[d>>2]|0);c[d>>2]=0;cf(b)}tl(c[a+32>>2]|0);tl(c[a+36>>2]|0);b=c[a+40>>2]|0;if(b|0){tl(c[b>>2]|0);c[b>>2]=0;d=b+4|0;tl(c[d>>2]|0);c[d>>2]=0;d=b+8|0;tl(c[d>>2]|0);c[d>>2]=0;cf(b)}tl(c[a+44>>2]|0);tl(c[a+56>>2]|0);tl(c[a+64>>2]|0);tl(c[a+68>>2]|0);tl(c[a+72>>2]|0);tl(c[a+76>>2]|0);tl(c[a+80>>2]|0);tl(c[a+84>>2]|0);tl(c[a+88>>2]|0);tl(c[a+92>>2]|0);tl(c[a+96>>2]|0);tl(c[a+100>>2]|0);tl(c[a+104>>2]|0);return}function Yj(a){a=a|0;if(!a)return;Xj(a);cf(a);return}function Zj(a,b,c){a=a|0;b=b|0;c=c|0;return Kg(a,sg(b,1)|0,c)|0}function _j(a,b,c){a=a|0;b=b|0;c=c|0;return Lg(a,sg(b,1)|0)|0}function $j(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+16|0;if((l|0)>=(m|0))$(16);f=r;switch(c[e>>2]|0){case 0:{n=d+4|0;if(vk(c[n>>2]|0,0)|0?(k=d+8|0,vk(c[k>>2]|0,0)|0):0){f=e+48|0;g=a[f>>0]|0;if(!(g&1)){a[f>>0]=g|1;f=e+16|0;q=Bl(c[f>>2]|0)|0;gk(q,c[f>>2]|0,3);f=e+52|0;c[f>>2]=(wk(c[e+20>>2]|0,q)|0)==0&1;tl(q)}else f=e+52|0;o=e+64|0;do if(!(c[f>>2]|0)){i=e+76|0;f=c[i>>2]|0;j=c[d>>2]|0;Kk(f,j,j);j=e+60|0;g=c[j>>2]|0;if(!g)Gk(f,f,c[e+16>>2]|0);else Jk(f,f,g);f=c[i>>2]|0;Kk(f,f,Ml(3)|0);g=c[j>>2]|0;if(!g){h=e+16|0;Gk(f,f,c[h>>2]|0)}else{Jk(f,f,g);h=e+16|0}q=c[o>>2]|0;g=c[k>>2]|0;f=Ml(4)|0;Mk(q,g,f,c[h>>2]|0);f=c[o>>2]|0;Kk(f,f,c[e+20>>2]|0);g=c[j>>2]|0;if(!g)Gk(f,f,c[h>>2]|0);else Jk(f,f,g);f=c[i>>2]|0;fk(f,f,c[o>>2]|0);g=c[j>>2]|0;if(!g){Gk(f,f,c[h>>2]|0);break}else{Jk(f,f,g);break}}else{f=c[o>>2]|0;j=c[k>>2]|0;Kk(f,j,j);j=e+60|0;g=c[j>>2]|0;if(!g)Gk(f,f,c[e+16>>2]|0);else Jk(f,f,g);i=e+76|0;hk(c[i>>2]|0,c[d>>2]|0,c[o>>2]|0);f=c[i>>2]|0;Kk(f,f,Ml(3)|0);g=c[j>>2]|0;if(!g)Gk(f,f,c[e+16>>2]|0);else Jk(f,f,g);h=e+68|0;f=c[h>>2]|0;fk(f,c[d>>2]|0,c[o>>2]|0);g=c[j>>2]|0;if(!g)Gk(f,f,c[e+16>>2]|0);else Jk(f,f,g);g=c[i>>2]|0;Kk(g,g,c[h>>2]|0);f=c[j>>2]|0;if(!f){Gk(g,g,c[e+16>>2]|0);break}else{Jk(g,g,f);break}}while(0);g=b+8|0;h=c[g>>2]|0;Kk(h,c[n>>2]|0,c[k>>2]|0);f=c[j>>2]|0;if(!f)Gk(h,h,c[e+16>>2]|0);else Jk(h,h,f);f=c[g>>2]|0;uk(f,f,1);g=c[j>>2]|0;if(!g)Gk(f,f,c[e+16>>2]|0);else Jk(f,f,g);h=e+68|0;g=c[h>>2]|0;f=c[n>>2]|0;Kk(g,f,f);f=c[j>>2]|0;if(!f)Gk(g,g,c[e+16>>2]|0);else Jk(g,g,f);n=e+80|0;g=c[n>>2]|0;Kk(g,c[h>>2]|0,c[d>>2]|0);f=c[j>>2]|0;if(!f)Gk(g,g,c[e+16>>2]|0);else Jk(g,g,f);f=c[n>>2]|0;Kk(f,f,Ml(4)|0);g=c[j>>2]|0;if(!g)Gk(f,f,c[e+16>>2]|0);else Jk(f,f,g);f=c[b>>2]|0;k=e+76|0;g=c[k>>2]|0;Kk(f,g,g);g=c[j>>2]|0;if(!g)Gk(f,f,c[e+16>>2]|0);else Jk(f,f,g);f=c[o>>2]|0;uk(f,c[n>>2]|0,1);g=c[j>>2]|0;if(!g)Gk(f,f,c[e+16>>2]|0);else Jk(f,f,g);f=c[b>>2]|0;hk(f,f,c[o>>2]|0);f=c[h>>2]|0;Kk(f,f,f);g=c[j>>2]|0;if(!g)Gk(f,f,c[e+16>>2]|0);else Jk(f,f,g);i=e+84|0;g=c[i>>2]|0;f=c[h>>2]|0;Kk(g,f,Ml(5)|0);f=c[j>>2]|0;if(!f)Gk(g,g,c[e+16>>2]|0);else Jk(g,g,f);h=b+4|0;hk(c[h>>2]|0,c[n>>2]|0,c[b>>2]|0);g=c[h>>2]|0;Kk(g,g,c[k>>2]|0);f=c[j>>2]|0;if(!f)Gk(g,g,c[e+16>>2]|0);else Jk(g,g,f);e=c[h>>2]|0;hk(e,e,c[i>>2]|0);l=r;return}El(c[b>>2]|0,1)|0;El(c[b+4>>2]|0,1)|0;El(c[b+8>>2]|0,0)|0;l=r;return}case 1:{c[f>>2]=45508;c[f+4>>2]=45456;Me(45482,f);break}case 2:{p=e+64|0;f=c[p>>2]|0;h=d+4|0;fk(f,c[d>>2]|0,c[h>>2]|0);q=e+60|0;g=c[q>>2]|0;if(!g)Gk(f,f,c[e+16>>2]|0);else Jk(f,f,g);f=c[p>>2]|0;Kk(f,f,f);g=c[q>>2]|0;if(!g)Gk(f,f,c[e+16>>2]|0);else Jk(f,f,g);n=e+68|0;f=c[n>>2]|0;g=c[d>>2]|0;Kk(f,g,g);g=c[q>>2]|0;if(!g)Gk(f,f,c[e+16>>2]|0);else Jk(f,f,g);o=e+72|0;g=c[o>>2]|0;f=c[h>>2]|0;Kk(g,f,f);f=c[q>>2]|0;if(!f)Gk(g,g,c[e+16>>2]|0);else Jk(g,g,f);j=e+76|0;f=c[j>>2]|0;do if((c[e+4>>2]|0)!=1){Kk(f,c[e+20>>2]|0,c[n>>2]|0);g=c[q>>2]|0;if(!g){Gk(f,f,c[e+16>>2]|0);break}else{Jk(f,f,g);break}}else{Al(f,c[n>>2]|0)|0;k=c[j>>2]|0;zl(k,k)}while(0);k=e+80|0;f=c[k>>2]|0;fk(f,c[j>>2]|0,c[o>>2]|0);g=c[q>>2]|0;if(!g)Gk(f,f,c[e+16>>2]|0);else Jk(f,f,g);h=e+84|0;g=c[h>>2]|0;f=c[d+8>>2]|0;Kk(g,f,f);f=c[q>>2]|0;if(!f)Gk(g,g,c[e+16>>2]|0);else Jk(g,g,f);i=e+88|0;g=c[i>>2]|0;uk(g,c[h>>2]|0,1);f=c[q>>2]|0;if(!f)Gk(g,g,c[e+16>>2]|0);else Jk(g,g,f);f=c[i>>2]|0;hk(f,c[k>>2]|0,f);hk(c[b>>2]|0,c[p>>2]|0,c[n>>2]|0);f=c[b>>2]|0;hk(f,f,c[o>>2]|0);f=c[b>>2]|0;Kk(f,f,c[i>>2]|0);g=c[q>>2]|0;if(!g)Gk(f,f,c[e+16>>2]|0);else Jk(f,f,g);f=b+4|0;hk(c[f>>2]|0,c[j>>2]|0,c[o>>2]|0);f=c[f>>2]|0;Kk(f,f,c[k>>2]|0);g=c[q>>2]|0;if(!g)Gk(f,f,c[e+16>>2]|0);else Jk(f,f,g);g=c[b+8>>2]|0;Kk(g,c[k>>2]|0,c[i>>2]|0);f=c[q>>2]|0;if(!f){Gk(g,g,c[e+16>>2]|0);l=r;return}else{Jk(g,g,f);l=r;return}}default:{l=r;return}}}function ak(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+16|0;if((l|0)>=(m|0))$(16);g=v+8|0;u=v;switch(c[f>>2]|0){case 0:{if(((wk(c[d>>2]|0,c[e>>2]|0)|0)==0?(wk(c[d+4>>2]|0,c[e+4>>2]|0)|0)==0:0)?(wk(c[d+8>>2]|0,c[e+8>>2]|0)|0)==0:0){$j(b,d,f);l=v;return}p=d+8|0;if(!(vk(c[p>>2]|0,0)|0)){Al(c[b>>2]|0,c[e>>2]|0)|0;Al(c[b+4>>2]|0,c[e+4>>2]|0)|0;Al(c[b+8>>2]|0,c[e+8>>2]|0)|0;l=v;return}q=e+8|0;if(!(vk(c[q>>2]|0,0)|0)){Al(c[b>>2]|0,c[d>>2]|0)|0;Al(c[b+4>>2]|0,c[d+4>>2]|0)|0;Al(c[b+8>>2]|0,c[p>>2]|0)|0;l=v;return}j=(vk(c[p>>2]|0,1)|0)==0;t=(vk(c[q>>2]|0,1)|0)==0;n=f+64|0;g=c[n>>2]|0;do if(!t){i=c[q>>2]|0;Kk(g,i,i);i=f+60|0;h=c[i>>2]|0;if(!h)Gk(g,g,c[f+16>>2]|0);else Jk(g,g,h);h=c[n>>2]|0;Kk(h,h,c[d>>2]|0);g=c[i>>2]|0;if(!g){Gk(h,h,c[f+16>>2]|0);break}else{Jk(h,h,g);break}}else Al(g,c[d>>2]|0)|0;while(0);k=f+68|0;h=c[k>>2]|0;do if(!j){i=c[p>>2]|0;Kk(h,i,i);i=f+60|0;g=c[i>>2]|0;if(!g)Gk(h,h,c[f+16>>2]|0);else Jk(h,h,g);g=c[k>>2]|0;Kk(g,g,c[e>>2]|0);h=c[i>>2]|0;if(!h){Gk(g,g,c[f+16>>2]|0);s=i;break}else{Jk(g,g,h);s=i;break}}else{Al(h,c[e>>2]|0)|0;s=f+60|0}while(0);r=f+72|0;hk(c[r>>2]|0,c[n>>2]|0,c[k>>2]|0);j=f+76|0;h=c[j>>2]|0;g=c[q>>2]|0;t=f+16|0;Mk(h,g,Ml(3)|0,c[t>>2]|0);g=c[j>>2]|0;Kk(g,g,c[d+4>>2]|0);h=c[s>>2]|0;if(!h)Gk(g,g,c[t>>2]|0);else Jk(g,g,h);i=f+80|0;g=c[i>>2]|0;h=c[p>>2]|0;Mk(g,h,Ml(3)|0,c[t>>2]|0);h=c[i>>2]|0;Kk(h,h,c[e+4>>2]|0);g=c[s>>2]|0;if(!g)Gk(h,h,c[t>>2]|0);else Jk(h,h,g);o=f+84|0;hk(c[o>>2]|0,c[j>>2]|0,c[i>>2]|0);if(!(vk(c[r>>2]|0,0)|0))if(!(vk(c[o>>2]|0,0)|0)){$j(b,d,f);l=v;return}else{El(c[b>>2]|0,1)|0;El(c[b+4>>2]|0,1)|0;El(c[b+8>>2]|0,0)|0;l=v;return}e=f+88|0;h=c[e>>2]|0;fk(h,c[n>>2]|0,c[k>>2]|0);g=c[s>>2]|0;if(!g)Gk(h,h,c[t>>2]|0);else Jk(h,h,g);d=f+92|0;h=c[d>>2]|0;fk(h,c[j>>2]|0,c[i>>2]|0);g=c[s>>2]|0;if(!g)Gk(h,h,c[t>>2]|0);else Jk(h,h,g);h=b+8|0;i=c[h>>2]|0;Kk(i,c[p>>2]|0,c[q>>2]|0);g=c[s>>2]|0;if(!g)Gk(i,i,c[t>>2]|0);else Jk(i,i,g);g=c[h>>2]|0;Kk(g,g,c[r>>2]|0);h=c[s>>2]|0;if(!h)Gk(g,g,c[t>>2]|0);else Jk(g,g,h);k=f+100|0;g=c[k>>2]|0;h=c[o>>2]|0;Kk(g,h,h);h=c[s>>2]|0;if(!h)Gk(g,g,c[t>>2]|0);else Jk(g,g,h);j=f+104|0;g=c[j>>2]|0;h=c[r>>2]|0;Kk(g,h,h);h=c[s>>2]|0;if(!h)Gk(g,g,c[t>>2]|0);else Jk(g,g,h);h=c[j>>2]|0;Kk(h,h,c[e>>2]|0);g=c[s>>2]|0;if(!g)Gk(h,h,c[t>>2]|0);else Jk(h,h,g);hk(c[b>>2]|0,c[k>>2]|0,c[j>>2]|0);g=c[k>>2]|0;uk(g,c[b>>2]|0,1);h=c[s>>2]|0;if(!h)Gk(g,g,c[t>>2]|0);else Jk(g,g,h);i=f+96|0;hk(c[i>>2]|0,c[j>>2]|0,c[k>>2]|0);h=c[i>>2]|0;Kk(h,h,c[o>>2]|0);g=c[s>>2]|0;if(!g)Gk(h,h,c[t>>2]|0);else Jk(h,h,g);g=c[k>>2]|0;h=c[r>>2]|0;Mk(g,h,Ml(3)|0,c[t>>2]|0);h=c[k>>2]|0;Kk(h,h,c[d>>2]|0);g=c[s>>2]|0;if(!g)Gk(h,h,c[t>>2]|0);else Jk(h,h,g);j=b+4|0;hk(c[j>>2]|0,c[i>>2]|0,c[k>>2]|0);j=c[j>>2]|0;g=f+48|0;h=a[g>>0]|0;do if(!(h&2)){a[g>>0]=h|2;g=f+56|0;h=c[g>>2]|0;if(!h){h=ll(0)|0;c[g>>2]=h}i=Ml(2)|0;if(Fk(h,i,c[t>>2]|0)|0)break;Le(45341,u);Se(45375,i);Se(45379,c[t>>2]|0)}else g=f+56|0;while(0);Kk(j,j,c[g>>2]|0);g=c[s>>2]|0;if(!g){Gk(j,j,c[t>>2]|0);l=v;return}else{Jk(j,j,g);l=v;return}}case 1:{c[g>>2]=45531;c[g+4>>2]=45456;Me(45482,g);break}case 2:{bk(b,d,e,f);l=v;return}default:{l=v;return}}}function bk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=e+64|0;g=c[p>>2]|0;Kk(g,c[b+8>>2]|0,c[d+8>>2]|0);q=e+60|0;f=c[q>>2]|0;if(!f)Gk(g,g,c[e+16>>2]|0);else Jk(g,g,f);j=e+68|0;f=c[j>>2]|0;g=c[p>>2]|0;Kk(f,g,g);g=c[q>>2]|0;if(!g)Gk(f,f,c[e+16>>2]|0);else Jk(f,f,g);o=e+72|0;f=c[o>>2]|0;Kk(f,c[b>>2]|0,c[d>>2]|0);g=c[q>>2]|0;if(!g)Gk(f,f,c[e+16>>2]|0);else Jk(f,f,g);n=e+76|0;f=c[n>>2]|0;i=b+4|0;k=d+4|0;Kk(f,c[i>>2]|0,c[k>>2]|0);g=c[q>>2]|0;if(!g)Gk(f,f,c[e+16>>2]|0);else Jk(f,f,g);h=e+80|0;f=c[h>>2]|0;Kk(f,c[e+24>>2]|0,c[o>>2]|0);g=c[q>>2]|0;if(!g)Gk(f,f,c[e+16>>2]|0);else Jk(f,f,g);f=c[h>>2]|0;Kk(f,f,c[n>>2]|0);g=c[q>>2]|0;if(!g)Gk(f,f,c[e+16>>2]|0);else Jk(f,f,g);l=e+84|0;hk(c[l>>2]|0,c[j>>2]|0,c[h>>2]|0);m=e+88|0;g=c[m>>2]|0;fk(g,c[j>>2]|0,c[h>>2]|0);f=c[q>>2]|0;if(!f)Gk(g,g,c[e+16>>2]|0);else Jk(g,g,f);h=e+92|0;g=c[h>>2]|0;fk(g,c[b>>2]|0,c[i>>2]|0);f=c[q>>2]|0;if(!f)Gk(g,g,c[e+16>>2]|0);else Jk(g,g,f);g=c[a>>2]|0;fk(g,c[d>>2]|0,c[k>>2]|0);f=c[q>>2]|0;if(!f)Gk(g,g,c[e+16>>2]|0);else Jk(g,g,f);g=c[a>>2]|0;Kk(g,g,c[h>>2]|0);f=c[q>>2]|0;if(!f)Gk(g,g,c[e+16>>2]|0);else Jk(g,g,f);f=c[a>>2]|0;hk(f,f,c[o>>2]|0);f=c[a>>2]|0;hk(f,f,c[n>>2]|0);f=c[a>>2]|0;Kk(f,f,c[l>>2]|0);g=c[q>>2]|0;if(!g)Gk(f,f,c[e+16>>2]|0);else Jk(f,f,g);g=c[a>>2]|0;Kk(g,g,c[p>>2]|0);f=c[q>>2]|0;if(!f)Gk(g,g,c[e+16>>2]|0);else Jk(g,g,f);h=a+4|0;g=c[h>>2]|0;if((c[e+4>>2]|0)==1){Al(g,c[o>>2]|0)|0;o=c[h>>2]|0;zl(o,o);o=c[h>>2]|0;hk(o,c[n>>2]|0,o)}else{Kk(g,c[e+20>>2]|0,c[o>>2]|0);f=c[q>>2]|0;if(!f)Gk(g,g,c[e+16>>2]|0);else Jk(g,g,f);o=c[h>>2]|0;hk(o,c[n>>2]|0,o)}f=c[h>>2]|0;Kk(f,f,c[m>>2]|0);g=c[q>>2]|0;if(!g)Gk(f,f,c[e+16>>2]|0);else Jk(f,f,g);g=c[h>>2]|0;Kk(g,g,c[p>>2]|0);f=c[q>>2]|0;if(!f)Gk(g,g,c[e+16>>2]|0);else Jk(g,g,f);g=c[a+8>>2]|0;Kk(g,c[l>>2]|0,c[m>>2]|0);f=c[q>>2]|0;if(!f){Gk(g,g,c[e+16>>2]|0);return}else{Jk(g,g,f);return}}function ck(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=l;l=l+96|0;if((l|0)>=(m|0))$(96);n=Q+24|0;k=Q+16|0;g=Q+8|0;N=Q;O=Q+76|0;P=Q+64|0;C=Q+52|0;o=Q+40|0;h=Q+28|0;switch(c[e>>2]|0){case 2:{f=lk(b)|0;El(c[a>>2]|0,0)|0;g=a+4|0;El(c[g>>2]|0,1)|0;h=a+8|0;El(c[h>>2]|0,1)|0;if(b|0?c[b+12>>2]&1|0:0){i=Hl(0)|0;c[o>>2]=i;j=Hl(0)|0;c[o+4>>2]=j;k=Hl(0)|0;c[o+8>>2]=k;f=f+-1|0;if((f|0)>-1)do{$j(a,a,e);ak(o,a,d,e);if(mk(b,f)|0){Al(c[a>>2]|0,i)|0;Al(c[g>>2]|0,j)|0;Al(c[h>>2]|0,k)|0}f=f+-1|0}while((f|0)>-1);tl(i);tl(j);tl(k);l=Q;return}f=f+-1|0;if((f|0)<=-1){l=Q;return}do{$j(a,a,e);if(mk(b,f)|0)ak(a,a,d,e);f=f+-1|0}while((f|0)>-1);l=Q;return}case 1:{t=lk(b)|0;x=Hl(0)|0;c[O>>2]=x;y=Hl(0)|0;z=O+4|0;c[z>>2]=y;A=Hl(0)|0;B=O+8|0;c[B>>2]=A;M=Hl(0)|0;C=Hl(0)|0;D=P+4|0;c[D>>2]=C;E=Hl(0)|0;F=P+8|0;c[F>>2]=E;G=Hl(0)|0;c[o>>2]=G;H=Hl(0)|0;c[o+4>>2]=H;I=Hl(0)|0;c[o+8>>2]=I;J=Hl(0)|0;c[h>>2]=J;K=Hl(0)|0;c[h+4>>2]=K;L=Hl(0)|0;c[h+8>>2]=L;El(x,1)|0;tl(M);M=yl(c[d>>2]|0)|0;c[P>>2]=M;El(E,1)|0;f=(((t<<1)+62|0)>>>5)+1|0;ql(x,f);ql(A,f);ql(M,f);ql(E,f);ql(G,f);ql(I,f);ql(J,f);ql(L,f);f=t+-1|0;if((f|0)>-1){u=e+60|0;v=e+16|0;w=e+20|0;r=P;s=O;p=h;while(1){q=mk(b,f)|0;Gl(c[s>>2]|0,c[r>>2]|0,q);n=s+8|0;i=r+8|0;Gl(c[n>>2]|0,c[i>>2]|0,q);k=c[d>>2]|0;g=c[p>>2]|0;fk(g,c[r>>2]|0,c[i>>2]|0);h=c[u>>2]|0;if(!h)Gk(g,g,c[v>>2]|0);else Jk(g,g,h);g=c[i>>2]|0;hk(g,c[r>>2]|0,g);g=c[o>>2]|0;fk(g,c[s>>2]|0,c[n>>2]|0);h=c[u>>2]|0;if(!h)Gk(g,g,c[v>>2]|0);else Jk(g,g,h);g=c[n>>2]|0;hk(g,c[s>>2]|0,g);g=c[r>>2]|0;Kk(g,c[n>>2]|0,c[p>>2]|0);h=c[u>>2]|0;if(!h)Gk(g,g,c[v>>2]|0);else Jk(g,g,h);h=c[i>>2]|0;Kk(h,c[o>>2]|0,h);g=c[u>>2]|0;if(!g)Gk(h,h,c[v>>2]|0);else Jk(h,h,g);g=c[s>>2]|0;h=c[o>>2]|0;Kk(g,h,h);h=c[u>>2]|0;if(!h)Gk(g,g,c[v>>2]|0);else Jk(g,g,h);g=c[n>>2]|0;Kk(g,g,g);h=c[u>>2]|0;if(!h)Gk(g,g,c[v>>2]|0);else Jk(g,g,h);g=c[p>>2]|0;fk(g,c[r>>2]|0,c[i>>2]|0);h=c[u>>2]|0;if(!h)Gk(g,g,c[v>>2]|0);else Jk(g,g,h);g=c[i>>2]|0;hk(g,c[r>>2]|0,g);g=c[o>>2]|0;Kk(g,c[s>>2]|0,c[n>>2]|0);h=c[u>>2]|0;if(!h)Gk(g,g,c[v>>2]|0);else Jk(g,g,h);g=c[n>>2]|0;hk(g,c[s>>2]|0,g);g=c[p>>2]|0;Kk(g,g,g);h=c[u>>2]|0;if(!h)Gk(g,g,c[v>>2]|0);else Jk(g,g,h);j=p+8|0;h=c[j>>2]|0;g=c[i>>2]|0;Kk(h,g,g);g=c[u>>2]|0;if(!g)Gk(h,h,c[v>>2]|0);else Jk(h,h,g);i=o+8|0;g=c[i>>2]|0;Kk(g,c[n>>2]|0,c[w>>2]|0);h=c[u>>2]|0;if(!h)Gk(g,g,c[v>>2]|0);else Jk(g,g,h);h=c[j>>2]|0;Kk(h,h,k);g=c[u>>2]|0;if(!g)Gk(h,h,c[v>>2]|0);else Jk(h,h,g);g=c[i>>2]|0;fk(g,c[s>>2]|0,g);h=c[u>>2]|0;if(!h)Gk(g,g,c[v>>2]|0);else Jk(g,g,h);h=c[i>>2]|0;Kk(h,h,c[n>>2]|0);g=c[u>>2]|0;if(!g)Gk(h,h,c[v>>2]|0);else Jk(h,h,g);Gl(c[o>>2]|0,c[p>>2]|0,q);Gl(c[i>>2]|0,c[j>>2]|0,q);f=f+-1|0;if((f|0)<=-1)break;else{n=p;q=s;p=r;s=o;r=n;o=q}}}rl(c[a+4>>2]|0);d=t&1;Gl(x,G,d);Gl(A,I,d);if(!(c[A+4>>2]|0)){El(c[a>>2]|0,1)|0;El(c[a+8>>2]|0,0)|0}else{h=Hl(0)|0;i=e+16|0;if(!(Fk(h,A,c[i>>2]|0)|0)){Le(45341,N);Se(45375,A);Se(45379,c[i>>2]|0)}g=c[a>>2]|0;Kk(g,x,h);f=c[e+60>>2]|0;if(!f)Gk(g,g,c[i>>2]|0);else Jk(g,g,f);El(c[a+8>>2]|0,1)|0;tl(h)}tl(x);c[O>>2]=0;tl(y);c[z>>2]=0;tl(A);c[B>>2]=0;tl(M);c[P>>2]=0;tl(C);c[D>>2]=0;tl(E);c[F>>2]=0;tl(G);tl(H);tl(I);tl(J);tl(K);tl(L);l=Q;return}default:{y=e+16|0;z=Bl(c[y>>2]|0)|0;A=Bl(c[y>>2]|0)|0;B=Bl(c[y>>2]|0)|0;x=yl(b)|0;o=yl(c[d+4>>2]|0)|0;f=x+8|0;if(c[f>>2]|0?(c[f>>2]=0,(Fk(o,o,c[y>>2]|0)|0)==0):0){Le(45341,g);Se(45375,o);Se(45379,c[y>>2]|0)}j=d+8|0;if(!(vk(c[j>>2]|0,1)|0)){Al(z,c[d>>2]|0)|0;Al(A,o)|0}else{h=Bl(c[y>>2]|0)|0;i=Bl(c[y>>2]|0)|0;g=c[j>>2]|0;Kk(h,g,g);g=e+60|0;f=c[g>>2]|0;if(!f)Gk(h,h,c[y>>2]|0);else Jk(h,h,f);Kk(i,c[j>>2]|0,h);f=c[g>>2]|0;if(!f)Gk(i,i,c[y>>2]|0);else Jk(i,i,f);if(!(Fk(h,h,c[y>>2]|0)|0)){Le(45341,k);Se(45375,h);Se(45379,c[y>>2]|0)}Kk(z,c[d>>2]|0,h);f=c[g>>2]|0;if(!f)Gk(z,z,c[y>>2]|0);else Jk(z,z,f);if(!(Fk(i,i,c[y>>2]|0)|0)){Le(45341,n);Se(45375,i);Se(45379,c[y>>2]|0)}Kk(A,o,i);f=c[g>>2]|0;if(!f)Gk(A,A,c[y>>2]|0);else Jk(A,A,f);tl(h);tl(i)}w=yl(Ml(1)|0)|0;Kk(B,x,Ml(3)|0);f=lk(B)|0;g=c[a>>2]|0;if(f>>>0<2){rl(g);rl(c[a+4>>2]|0);rl(c[a+8>>2]|0);f=0}else{Al(g,c[d>>2]|0)|0;Al(c[a+4>>2]|0,o)|0;Al(c[a+8>>2]|0,c[j>>2]|0)|0;f=f+-2|0}tl(o);c[O>>2]=z;g=O+4|0;c[g>>2]=A;h=O+8|0;c[h>>2]=w;i=Hl(0)|0;c[P>>2]=i;j=Hl(0)|0;k=P+4|0;c[k>>2]=j;n=Hl(0)|0;o=P+8|0;c[o>>2]=n;p=Hl(0)|0;c[C>>2]=p;q=Hl(0)|0;r=C+4|0;c[r>>2]=q;s=Hl(0)|0;t=C+8|0;c[t>>2]=s;if(f|0){u=a+4|0;v=a+8|0;do{$j(a,a,e);if((mk(B,f)|0)==1?(mk(x,f)|0)==0:0){Al(i,c[a>>2]|0)|0;Al(j,c[u>>2]|0)|0;Al(n,c[v>>2]|0)|0;ak(a,P,O,e)}if((mk(B,f)|0)==0?(mk(x,f)|0)==1:0){Al(i,c[a>>2]|0)|0;Al(j,c[u>>2]|0)|0;Al(n,c[v>>2]|0)|0;Al(p,z)|0;Al(q,A)|0;Al(s,w)|0;hk(q,c[y>>2]|0,q);ak(a,P,C,e)}f=f+-1|0}while((f|0)!=0)}tl(z);c[O>>2]=0;tl(A);c[g>>2]=0;tl(w);c[h>>2]=0;tl(i);c[P>>2]=0;tl(j);c[k>>2]=0;tl(n);c[o>>2]=0;tl(p);c[C>>2]=0;tl(q);c[r>>2]=0;tl(s);c[t>>2]=0;tl(B);tl(x);l=Q;return}}}function dk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;g=Hl(0)|0;h=Hl(0)|0;i=Hl(0)|0;switch(c[b>>2]|0){case 0:{f=Hl(0)|0;if(Nj(g,h,a,b)|0){i=0;return i|0}Kk(h,h,h);e=b+60|0;a=c[e>>2]|0;if(!a){d=b+16|0;Gk(h,h,c[d>>2]|0)}else{Jk(h,h,a);d=b+16|0}Mk(f,g,Ml(3)|0,c[d>>2]|0);Kk(i,c[b+20>>2]|0,g);a=c[e>>2]|0;if(!a)Gk(i,i,c[d>>2]|0);else Jk(i,i,a);fk(i,i,c[b+24>>2]|0);a=c[e>>2]|0;if(!a)Gk(i,i,c[d>>2]|0);else Jk(i,i,a);fk(i,i,f);a=c[e>>2]|0;if(!a)Gk(i,i,c[d>>2]|0);else Jk(i,i,a);a=(wk(h,i)|0)==0&1;Jl(f);break}case 1:{if(Nj(g,0,a,b)|0){i=0;return i|0}Kk(i,c[b+20>>2]|0,Ml(4)|0);d=b+60|0;a=c[d>>2]|0;if(!a)Gk(i,i,c[b+16>>2]|0);else Jk(i,i,a);fk(i,i,Ml(2)|0);a=c[d>>2]|0;if(!a)Gk(i,i,c[b+16>>2]|0);else Jk(i,i,a);Kk(i,i,g);a=c[d>>2]|0;if(!a)Gk(i,i,c[b+16>>2]|0);else Jk(i,i,a);Kk(h,g,g);a=c[d>>2]|0;if(!a)Gk(h,h,c[b+16>>2]|0);else Jk(h,h,a);fk(i,i,h);a=c[d>>2]|0;if(!a)Gk(i,i,c[b+16>>2]|0);else Jk(i,i,a);fk(i,i,Ml(1)|0);a=c[d>>2]|0;if(!a)Gk(i,i,c[b+16>>2]|0);else Jk(i,i,a);Kk(i,i,g);a=c[d>>2]|0;if(!a)Gk(i,i,c[b+16>>2]|0);else Jk(i,i,a);Kk(i,i,c[b+24>>2]|0);a=c[d>>2]|0;if(!a){a=b+16|0;Gk(i,i,c[a>>2]|0)}else{Jk(i,i,a);a=b+16|0}hk(h,c[a>>2]|0,Ml(1)|0);sk(h,h,1);Mk(i,i,h,c[a>>2]|0);a=vk(i,1)|0;break}case 2:{if(Nj(g,h,a,b)|0){i=0;return i|0}Kk(g,g,g);d=b+60|0;a=c[d>>2]|0;if(!a)Gk(g,g,c[b+16>>2]|0);else Jk(g,g,a);Kk(h,h,h);a=c[d>>2]|0;if(!a)Gk(h,h,c[b+16>>2]|0);else Jk(h,h,a);do if((c[b+4>>2]|0)!=1){Kk(i,c[b+20>>2]|0,g);a=c[d>>2]|0;if(!a){Gk(i,i,c[b+16>>2]|0);break}else{Jk(i,i,a);break}}else{Al(i,g)|0;zl(i,i)}while(0);fk(i,i,h);a=c[d>>2]|0;if(!a)Gk(i,i,c[b+16>>2]|0);else Jk(i,i,a);hk(i,i,Ml(1)|0);Kk(g,g,h);a=c[d>>2]|0;if(!a)Gk(g,g,c[b+16>>2]|0);else Jk(g,g,a);Kk(g,g,c[b+24>>2]|0);a=c[d>>2]|0;if(!a)Gk(g,g,c[b+16>>2]|0);else Jk(g,g,a);hk(i,i,g);a=(vk(i,0)|0)==0&1;break}default:a=0}Jl(i);Jl(g);Jl(h);i=a;return i|0}function ek(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=c[b+4>>2]|0;e=c[b+8>>2]|0;if((c[a>>2]|0)<=(o|0))ql(a,o+1|0);g=c[b+16>>2]|0;n=c[a+16>>2]|0;if(!o){c[n>>2]=d;m=(d|0)!=0&1;n=0;o=a+4|0;c[o>>2]=m;o=a+8|0;c[o>>2]=n;return}if(!e){f=g+4|0;k=c[g>>2]|0;j=k+d|0;e=n+4|0;c[n>>2]=j;a:do if(j>>>0<k>>>0){b=o;while(1){b=b+-1|0;if(!b){b=1;break a}g=f+4|0;k=(c[f>>2]|0)+1|0;d=e+4|0;c[e>>2]=k;if(!k){f=g;e=d}else{f=g;e=d;m=9;break}}}else{b=o;m=9}while(0);if((m|0)==9)if((e|0)!=(f|0)?(l=b+-1|0,(b|0)>1):0){b=0;do{c[e+(b<<2)>>2]=c[f+(b<<2)>>2];b=b+1|0}while((b|0)!=(l|0));b=0}else b=0;c[n+(o<<2)>>2]=b;m=b+o|0;n=0;o=a+4|0;c[o>>2]=m;o=a+8|0;c[o>>2]=n;return}b=c[g>>2]|0;if((o|0)==1&b>>>0<d>>>0){c[n>>2]=d-b;m=1;n=0;o=a+4|0;c[o>>2]=m;o=a+8|0;c[o>>2]=n;return}e=g+4|0;l=b-d|0;f=n+4|0;c[n>>2]=l;b:do if(l>>>0>b>>>0){b=o;while(1){b=b+-1|0;if(!b)break b;g=e+4|0;l=c[e>>2]|0;d=f+4|0;c[f>>2]=l+-1;if(!l){e=g;f=d}else{h=b;i=g;j=d;m=18;break}}}else{h=o;i=e;j=f;m=18}while(0);if(((m|0)==18?(j|0)!=(i|0):0)?(k=h+-1|0,(h|0)>1):0){b=0;do{c[j+(b<<2)>>2]=c[i+(b<<2)>>2];b=b+1|0}while((b|0)!=(k|0))}m=o-((c[n+(o+-1<<2)>>2]|0)==0&1)|0;n=1;o=a+4|0;c[o>>2]=m;o=a+8|0;c[o>>2]=n;return}function fk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=c[b+4>>2]|0;h=c[d+4>>2]|0;if((e|0)<(h|0)){g=c[d+8>>2]|0;f=c[b+8>>2]|0;if((c[a>>2]|0)>(h|0)){p=g;i=e;e=h;g=b;b=d}else{ql(a,h+1|0);p=g;i=e;e=h;g=b;b=d}}else{g=c[b+8>>2]|0;f=c[d+8>>2]|0;if((c[a>>2]|0)>(e|0)){p=g;i=h;g=d}else{ql(a,e+1|0);p=g;i=h;g=d}}d=c[b+16>>2]|0;g=c[g+16>>2]|0;o=c[a+16>>2]|0;if(!i){if((e|0)>0)b=0;else{n=e;o=a+4|0;c[o>>2]=n;a=a+8|0;c[a>>2]=p;return}do{c[o+(b<<2)>>2]=c[d+(b<<2)>>2];b=b+1|0}while((b|0)!=(e|0));b=p;p=a+4|0;c[p>>2]=e;a=a+8|0;c[a>>2]=b;return}if((p|0)==(f|0)){b=Wk(o,d,g,i)|0;h=e-i|0;a:do if(h){k=o+(i<<2)|0;m=d+(i<<2)|0;g=m+4|0;m=c[m>>2]|0;l=m+b|0;f=k+4|0;c[k>>2]=l;if(l>>>0<m>>>0){b=h;while(1){b=b+-1|0;if(!b){b=1;break a}h=g+4|0;m=(c[g>>2]|0)+1|0;d=f+4|0;c[f>>2]=m;if(!m){g=h;f=d}else{g=h;f=d;break}}}else b=h;if((f|0)!=(g|0)?(n=b+-1|0,(b|0)>1):0){b=0;do{c[f+(b<<2)>>2]=c[g+(b<<2)>>2];b=b+1|0}while((b|0)!=(n|0));b=0}else b=0}while(0);c[o+(e<<2)>>2]=b;p=(p|0)!=0&1;n=b+e|0;o=a+4|0;c[o>>2]=n;a=a+8|0;c[a>>2]=p;return}if((e|0)!=(i|0)){b=hl(o,d,g,i)|0;h=e-i|0;b:do if(h){k=o+(i<<2)|0;n=d+(i<<2)|0;g=n+4|0;n=c[n>>2]|0;l=n-b|0;f=k+4|0;c[k>>2]=l;if(l>>>0>n>>>0){b=h;while(1){b=b+-1|0;if(!b)break b;h=g+4|0;n=c[g>>2]|0;d=f+4|0;c[f>>2]=n+-1;if(!n){g=h;f=d}else{g=h;f=d;break}}}else b=h;if((f|0)!=(g|0)?(m=b+-1|0,(b|0)>1):0){b=0;do{c[f+(b<<2)>>2]=c[g+(b<<2)>>2];b=b+1|0}while((b|0)!=(m|0))}}while(0);while(1){if((e|0)<=0){b=p;l=39;break}b=e+-1|0;if(!(c[o+(b<<2)>>2]|0))e=b;else{b=p;l=39;break}}if((l|0)==39){p=a+4|0;c[p>>2]=e;a=a+8|0;c[a>>2]=b;return}}else b=e;while(1){if((b|0)<=0)break;b=b+-1|0;j=c[d+(b<<2)>>2]|0;k=c[g+(b<<2)>>2]|0;if((j|0)!=(k|0)){l=22;break}}if((l|0)==22?j>>>0<=k>>>0:0){hl(o,g,d,e)|0;while(1){if((e|0)<=0)break;b=e+-1|0;if(!(c[o+(b<<2)>>2]|0))e=b;else break}p=(p|0)==0&1;n=e;o=a+4|0;c[o>>2]=n;a=a+8|0;c[a>>2]=p;return}hl(o,d,g,e)|0;while(1){if((e|0)<=0)break;b=e+-1|0;if(!(c[o+(b<<2)>>2]|0))e=b;else break}p=(p|0)!=0&1;n=e;o=a+4|0;c[o>>2]=n;a=a+8|0;c[a>>2]=p;return}function gk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=c[b+4>>2]|0;e=c[b+8>>2]|0;if((c[a>>2]|0)<=(o|0))ql(a,o+1|0);g=c[b+16>>2]|0;n=c[a+16>>2]|0;if(!o){c[n>>2]=d;m=(d|0)!=0&1;n=1;o=a+4|0;c[o>>2]=m;o=a+8|0;c[o>>2]=n;return}if(e|0){f=g+4|0;k=c[g>>2]|0;j=k+d|0;e=n+4|0;c[n>>2]=j;a:do if(j>>>0<k>>>0){b=o;while(1){b=b+-1|0;if(!b){b=1;break a}g=f+4|0;k=(c[f>>2]|0)+1|0;d=e+4|0;c[e>>2]=k;if(!k){f=g;e=d}else{f=g;e=d;m=9;break}}}else{b=o;m=9}while(0);if((m|0)==9)if((e|0)!=(f|0)?(l=b+-1|0,(b|0)>1):0){b=0;do{c[e+(b<<2)>>2]=c[f+(b<<2)>>2];b=b+1|0}while((b|0)!=(l|0));b=0}else b=0;c[n+(o<<2)>>2]=b;m=b+o|0;n=0;o=a+4|0;c[o>>2]=m;o=a+8|0;c[o>>2]=n;return}b=c[g>>2]|0;if((o|0)==1&b>>>0<d>>>0){c[n>>2]=d-b;m=1;n=1;o=a+4|0;c[o>>2]=m;o=a+8|0;c[o>>2]=n;return}e=g+4|0;l=b-d|0;f=n+4|0;c[n>>2]=l;b:do if(l>>>0>b>>>0){b=o;while(1){b=b+-1|0;if(!b)break b;g=e+4|0;l=c[e>>2]|0;d=f+4|0;c[f>>2]=l+-1;if(!l){e=g;f=d}else{h=b;i=g;j=d;m=18;break}}}else{h=o;i=e;j=f;m=18}while(0);if(((m|0)==18?(j|0)!=(i|0):0)?(k=h+-1|0,(h|0)>1):0){b=0;do{c[j+(b<<2)>>2]=c[i+(b<<2)>>2];b=b+1|0}while((b|0)!=(k|0))}m=o-((c[n+(o+-1<<2)>>2]|0)==0&1)|0;n=0;o=a+4|0;c[o>>2]=m;o=a+8|0;c[o>>2]=n;return}function hk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;d=yl(d)|0;e=d+8|0;c[e>>2]=(c[e>>2]|0)==0&1;fk(a,b,d);tl(d);return}function ik(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;fk(a,b,c);Gk(a,a,d);return}function jk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;d=yl(d)|0;f=d+8|0;c[f>>2]=(c[f>>2]|0)==0&1;fk(a,b,d);tl(d);Gk(a,a,e);return}function kk(a){a=a|0;var b=0,d=0,e=0;if(a|0?c[a+12>>2]&4|0:0)return;e=a+4|0;d=c[e>>2]|0;if(!d)return;b=c[a+16>>2]|0;a=d;while(1){a=a+-1|0;if(c[b+(a<<2)>>2]|0){a=7;break}c[e>>2]=a;if(!a){a=7;break}}if((a|0)==7)return}function lk(a){a=a|0;var b=0,e=0,f=0,g=0,h=0;if(a|0?c[a+12>>2]&4|0:0){h=c[a+8>>2]|0;return h|0}h=a+4|0;b=c[h>>2]|0;if(!b){h=0;return h|0}f=c[a+16>>2]|0;while(1){e=b+-1|0;if(c[f+(e<<2)>>2]|0)break;c[h>>2]=e;if(!e){b=0;g=11;break}else b=e}if((g|0)==11)return b|0;b=c[(c[a+16>>2]|0)+(b+-1<<2)>>2]|0;if(!b)b=32;else{g=b>>>0<65536?(b>>>0<256?0:8):b>>>0<16777216?16:24;b=32-g-(d[45555+(b>>>g)>>0]|0)|0}h=(c[h>>2]<<5)-b|0;return h|0}function mk(a,b){a=a|0;b=b|0;var d=0;d=b>>>5;if(d>>>0>=(c[a+4>>2]|0)>>>0){d=0;return d|0}d=(c[(c[a+16>>2]|0)+(d<<2)>>2]&1<<(b&31)|0)!=0&1;return d|0}function nk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if(a|0?c[a+12>>2]&16|0:0){sl();return}g=b>>>5;e=b&31;f=a+4|0;b=c[f>>2]|0;if(g>>>0>=b>>>0){if(b>>>0<(c[a>>2]|0)>>>0){d=c[a+16>>2]|0;do{c[d+(b<<2)>>2]=0;b=b+1|0}while(b>>>0<(c[a>>2]|0)>>>0)}d=g+1|0;ql(a,d);c[f>>2]=d}g=(c[a+16>>2]|0)+(g<<2)|0;c[g>>2]=c[g>>2]|1<<e;return}function ok(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if(a|0?c[a+12>>2]&16|0:0){sl();return}g=b>>>5;e=b&31;f=a+4|0;b=c[f>>2]|0;if(g>>>0>=b>>>0){if(b>>>0<(c[a>>2]|0)>>>0){d=c[a+16>>2]|0;do{c[d+(b<<2)>>2]=0;b=b+1|0}while(b>>>0<(c[a>>2]|0)>>>0)}d=g+1|0;ql(a,d);c[f>>2]=d}a=(c[a+16>>2]|0)+(g<<2)|0;d=c[a>>2]|1<<e;c[a>>2]=d;b=e+1|0;if(b>>>0<32){do{d=d&~(1<<b);b=b+1|0}while((b|0)!=32);c[a>>2]=d}c[f>>2]=g+1;return}function pk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;if(a|0?c[a+12>>2]&16|0:0){sl();return}e=b>>>5;f=a+4|0;if(e>>>0>=(c[f>>2]|0)>>>0)return;d=(c[a+16>>2]|0)+(e<<2)|0;a=b&31;b=c[d>>2]|0;do{b=b&~(1<<a);a=a+1|0}while((a|0)!=32);c[d>>2]=b;c[f>>2]=e+1;return}function qk(a,b){a=a|0;b=b|0;var d=0;if(a|0?c[a+12>>2]&16|0:0){sl();return}d=b>>>5;if(d>>>0>=(c[a+4>>2]|0)>>>0)return;d=(c[a+16>>2]|0)+(d<<2)|0;c[d>>2]=c[d>>2]&~(1<<(b&31));return}function rk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=c[a+16>>2]|0;f=a+4|0;d=c[f>>2]|0;if(a|0?c[a+12>>2]&16|0:0){sl();return}if(d>>>0<=b>>>0){c[f>>2]=0;return}a=d-b|0;if(!a)a=0;else{d=0;do{c[e+(d<<2)>>2]=c[e+(d+b<<2)>>2];d=d+1|0}while((d|0)!=(a|0))}c[e+(a<<2)>>2]=0;c[f>>2]=(c[f>>2]|0)-b;return}function sk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=d>>>5;i=d&31;if(a|0?c[a+12>>2]&16|0:0){sl();return}a:do if((a|0)==(b|0)){f=a+4|0;d=c[f>>2]|0;if(h>>>0>=d>>>0){c[f>>2]=0;return}if(h){e=c[a+16>>2]|0;d=0;do{c[e+(d<<2)>>2]=c[e+(d+h<<2)>>2];d=d+1|0}while(d>>>0<((c[f>>2]|0)-h|0)>>>0);c[e+(d<<2)>>2]=0;d=(c[f>>2]|0)-h|0;c[f>>2]=d}if((i|0)!=0&(d|0)!=0){h=c[a+16>>2]|0;gl(h,h,d,i)|0}}else{g=b+4|0;e=c[g>>2]|0;c[a+8>>2]=c[b+8>>2];d=(c[a>>2]|0)<(e|0);if(!h){if(d)ql(a,e);f=a+4|0;c[f>>2]=e;if(!e)break;if(i|0){gl(c[a+16>>2]|0,c[b+16>>2]|0,e,i)|0;break}e=c[b+16>>2]|0;b=c[a+16>>2]|0;d=0;while(1){c[b+(d<<2)>>2]=c[e+(d<<2)>>2];d=d+1|0;if(d>>>0>=(c[f>>2]|0)>>>0)break a}}if(d)ql(a,e);f=a+4|0;c[f>>2]=e;if(!(c[g>>2]|0))d=0;else{e=c[b+16>>2]|0;b=c[a+16>>2]|0;d=0;do{c[b+(d<<2)>>2]=c[e+(d<<2)>>2];d=d+1|0}while(d>>>0<(c[g>>2]|0)>>>0)}c[f>>2]=d;if(h>>>0>=d>>>0){c[f>>2]=0;return}e=c[a+16>>2]|0;d=0;do{c[e+(d<<2)>>2]=c[e+(d+h<<2)>>2];d=d+1|0}while(d>>>0<((c[f>>2]|0)-h|0)>>>0);c[e+(d<<2)>>2]=0;d=(c[f>>2]|0)-h|0;c[f>>2]=d;if((i|0)!=0&(d|0)!=0)gl(e,e,d,i)|0}while(0);d=c[f>>2]|0;if((d|0)<=0)return;b=c[a+16>>2]|0;while(1){e=d;d=d+-1|0;if(c[b+(d<<2)>>2]|0){d=36;break}c[f>>2]=d;if((e|0)<=1){d=36;break}}if((d|0)==36)return}function tk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+4|0;d=c[f>>2]|0;if(!((b|0)!=0&(d|0)!=0))return;e=d+b|0;if((c[a>>2]|0)>>>0<e>>>0)ql(a,e);a=c[a+16>>2]|0;if((d|0)>0)do{e=d;d=d+-1|0;c[a+(d+b<<2)>>2]=c[a+(d<<2)>>2]}while((e|0)>1);Yq(a|0,0,b<<2|0)|0;c[f>>2]=(c[f>>2]|0)+b;return}function uk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=d>>>5;j=d&31;if(a|0?c[a+12>>2]&16|0:0){sl();return}e=(a|0)!=(b|0);i=(d|0)!=0;if(!(e|i))return;if(e){g=c[b+4>>2]|0;h=c[b+8>>2]|0;d=k+1+g|0;if((c[a>>2]|0)>>>0<d>>>0)ql(a,d);e=c[a+16>>2]|0;f=c[b+16>>2]|0;if(g|0){d=0;do{c[e+(d<<2)>>2]=c[f+(d<<2)>>2];d=d+1|0}while((d|0)!=(g|0))}c[a+4>>2]=g;c[a+12>>2]=c[b+12>>2];c[a+8>>2]=h}do if(!((k|0)==0|(j|0)!=0)){g=a+4|0;d=c[g>>2]|0;if(d){e=d+k|0;if((c[a>>2]|0)>>>0<e>>>0)ql(a,e);e=c[a+16>>2]|0;if((d|0)>0)do{j=d;d=d+-1|0;c[e+(d+k<<2)>>2]=c[e+(d<<2)>>2]}while((j|0)>1);Yq(e|0,0,k<<2|0)|0;c[g>>2]=(c[g>>2]|0)+k}}else{if(!i){g=a+4|0;break}f=k+1|0;g=a+4|0;d=c[g>>2]|0;if(d|0){e=d+f|0;if((c[a>>2]|0)>>>0<e>>>0)ql(a,e);e=c[a+16>>2]|0;if((d|0)>0)do{b=d;d=d+-1|0;c[e+(b+k<<2)>>2]=c[e+(d<<2)>>2]}while((b|0)>1);Yq(e|0,0,f<<2|0)|0;c[g>>2]=(c[g>>2]|0)+f}sk(a,a,32-j|0)}while(0);d=c[g>>2]|0;if((d|0)<=0)return;f=c[a+16>>2]|0;while(1){e=d;d=d+-1|0;if(c[f+(d<<2)>>2]|0){d=31;break}c[g>>2]=d;if((e|0)<=1){d=31;break}}if((d|0)==31)return}function vk(a,b){a=a|0;b=b|0;var d=0;kk(a);d=c[a+4>>2]|0;if(!d){b=((b|0)!=0)<<31>>31;return b|0}if(c[a+8>>2]|0){b=-1;return b|0}if((d|0)!=1){b=1;return b|0}a=c[c[a+16>>2]>>2]|0;if(a>>>0>b>>>0){b=1;return b|0}b=(a>>>0<b>>>0)<<31>>31;return b|0}function wk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;e=(a|0)!=0;if(e?(d=c[a+12>>2]|0,(d&4|0)!=0):0)j=7;else j=3;do if((j|0)==3){if(b|0?(f=c[b+12>>2]|0,f&4|0):0){if(!e){g=f;j=12;break}d=c[a+12>>2]|0;j=7;break}kk(a);kk(b);d=c[a+4>>2]|0;g=c[b+4>>2]|0;i=c[a+8>>2]|0;h=(i|0)==0;e=c[b+8>>2]|0;f=(e|0)==0;if(h)if(f)e=0;else{j=1;return j|0}else if(f){j=-1;return j|0}do if((d|0)!=(g|0)){e=(e|0)==0;if(h){if(!e)break;j=d-g|0;return j|0}else{if(e)break;j=g+d|0;return j|0}}while(0);if(!d){j=0;return j|0}h=c[a+16>>2]|0;g=c[b+16>>2]|0;do{if((d|0)<=0){d=0;j=31;break}d=d+-1|0;e=c[h+(d<<2)>>2]|0;f=c[g+(d<<2)>>2]|0}while((e|0)==(f|0));if((j|0)==31)return d|0;j=e>>>0<=f>>>0^(i|0)!=0?-1:1;return j|0}while(0);do if((j|0)==7){d=(d&4|0)==0;if(d){if(!((b|0)!=0&d))break;g=c[b+12>>2]|0;j=12;break}if(!b){j=-1;return j|0}if(!(c[b+12>>2]&4)){j=-1;return j|0}}while(0);if((j|0)==12?g&4|0:0){j=1;return j|0}d=c[a+8>>2]|0;e=c[b+8>>2]|0;if(!(d|e)){j=0;return j|0}if((d|0)<(e|0)){j=-1;return j|0}if((d|0)>(e|0)){j=1;return j|0}j=Tp(c[a+16>>2]|0,c[b+16>>2]|0,(d+7|0)/8|0)|0;return j|0}function xk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=c[d+8>>2]|0;if((a|0)==(d|0)){d=yl(d)|0;e=d}else e=0;yk(0,a,b,d);if((f|0)!=0^(c[b+8>>2]|0)!=0?c[a+4>>2]|0:0)fk(a,a,d);if(!e)return;tl(e);return}function yk(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+48|0;if((l|0)>=(m|0))$(48);w=y+20|0;x=y;i=e+4|0;s=c[i>>2]|0;h=c[f+4>>2]|0;g=e+8|0;v=c[g>>2]|0;t=c[f+8>>2]^v;n=s+1|0;ql(b,n);j=n-h|0;if((j|0)<1){if((e|0)!=(b|0)?(c[b+4>>2]=c[i>>2],c[b+8>>2]=c[g>>2],(s|0)>0):0){i=c[e+16>>2]|0;h=c[b+16>>2]|0;g=0;do{c[h+(g<<2)>>2]=c[i+(g<<2)>>2];g=g+1|0}while((g|0)!=(s|0))}if(!a){l=y;return}c[a+4>>2]=0;c[a+8>>2]=0;l=y;return}r=(a|0)!=0;if(r)ql(a,j);e=c[e+16>>2]|0;k=c[f+16>>2]|0;u=c[b+16>>2]|0;if((h|0)==1){if(r){x=c[a+16>>2]|0;g=Zk(x,e,s,c[k>>2]|0)|0;c[a+4>>2]=j-((c[x+(j+-1<<2)>>2]|0)==0&1);c[a+8>>2]=t}else g=Xk(e,s,c[k>>2]|0)|0;c[u>>2]=g;c[b+4>>2]=(g|0)!=0&1;c[b+8>>2]=v;l=y;return}if(r){g=c[a+16>>2]|0;if((g|0)==(e|0)){c[x>>2]=s;i=ml(s,c[a+12>>2]&1)|0;c[w>>2]=i;if((s|0)>0){g=0;do{c[i+(g<<2)>>2]=c[e+(g<<2)>>2];g=g+1|0}while((g|0)!=(s|0));o=e;g=1}else{o=e;g=1}}else{i=e;o=g;g=0}}else{i=e;o=u+(h<<2)|0;g=0}q=c[k+(h+-1<<2)>>2]|0;p=q>>>0<65536?(q>>>0<256?0:8):q>>>0<16777216?16:24;p=32-(d[45555+(q>>>p)>>0]|0)-p|0;q=(p|0)!=0;if(q){c[x+(g<<2)>>2]=h;if(!f)e=0;else e=(c[f+12>>2]&1|0)!=0;j=ml(h,e&1)|0;e=g+1|0;c[w+(g<<2)>>2]=j;_k(j,k,h,p)|0;g=_k(u,i,s,p)|0;if(!g){i=s;g=e}else{c[u+(s<<2)>>2]=g;i=n;g=e}}else{if((k|0)==(u|0)|r&(k|0)==(o|0)){c[x+(g<<2)>>2]=h;if(!f)e=0;else e=(c[f+12>>2]&1|0)!=0;j=ml(h,e&1)|0;e=g+1|0;c[w+(g<<2)>>2]=j;if((h|0)>0){g=0;do{c[j+(g<<2)>>2]=c[k+(g<<2)>>2];g=g+1|0}while((g|0)!=(h|0));g=e}else g=e}else j=k;if((u|0)!=(i|0)&(s|0)>0){e=0;do{c[u+(e<<2)>>2]=c[i+(e<<2)>>2];e=e+1|0}while((e|0)!=(s|0));i=s}else i=s}e=Yk(o,0,u,i,j,h)|0;if(r){i=i-h|0;if(e){c[o+(i<<2)>>2]=e;i=i+1|0}c[a+4>>2]=i;c[a+8>>2]=t}while(1){if((h|0)<=0)break;i=h+-1|0;if(!(c[u+(i<<2)>>2]|0))h=i;else break}if(q&(h|0)!=0){gl(u,u,h,p)|0;h=h-((c[u+(h+-1<<2)>>2]|0)==0&1)|0}c[b+4>>2]=h;c[b+8>>2]=v;if(!g){l=y;return}do{g=g+-1|0;ol(c[w+(g<<2)>>2]|0,c[x+(g<<2)>>2]|0)}while((g|0)!=0);l=y;return}function zk(a,b,c){a=a|0;b=b|0;c=c|0;yk(0,a,b,c);return}function Ak(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=Xk(c[b+16>>2]|0,c[b+4>>2]|0,d)|0;if(!e)b=0;else b=(c[b+8>>2]|0)==0?e:d-e|0;if(!a)return b|0;c[c[a+16>>2]>>2]=b;c[a+4>>2]=(b|0)!=0&1;return b|0}function Bk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=ll(c[a+4>>2]|0)|0;g=c[d+8>>2]|0;if((a|0)==(d|0)|(f|0)==(d|0)){d=yl(d)|0;e=d}else e=0;yk(a,f,b,d);if((g|0)!=(c[b+8>>2]|0)?c[f+4>>2]|0:0){gk(a,a,1);fk(f,f,d)}if(!e){tl(f);return}tl(e);tl(f);return}function Ck(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=c[b+4>>2]|0;g=d>>>5;e=h-g|0;if((h|0)<=(g|0)){c[a+4>>2]=0;return}if((c[a>>2]|0)<(e|0))ql(a,e);h=c[a+16>>2]|0;f=c[b+16>>2]|0;b=d&31;if(!b){if((e|0)>0){f=f+(g<<2)|0;b=0;do{c[h+(b<<2)>>2]=c[f+(b<<2)>>2];b=b+1|0}while((b|0)!=(e|0))}}else{gl(h,f+(g<<2)|0,e,b)|0;e=e-((c[h+(e+-1<<2)>>2]|0)==0&1)|0}c[a+4>>2]=e;return}function Dk(a,b){a=a|0;b=b|0;return (Xk(c[a+16>>2]|0,c[a+4>>2]|0,b)|0)==0|0}function Ek(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=yl(b)|0;b=yl(d)|0;c[e+8>>2]=0;c[b+8>>2]=0;if(vk(b,0)|0)do{xk(a,e,b);Al(e,b)|0;Al(b,a)|0}while((vk(b,0)|0)!=0);Al(a,e)|0;tl(e);tl(b);return (vk(a,1)|0)==0|0}function Fk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;if(!(vk(b,0)|0)){a=0;return a|0}if(!(vk(d,1)|0)){a=0;return a|0}q=yl(b)|0;p=yl(d)|0;a:do if(!(mk(q,0)|0))do{if(mk(p,0)|0)break a;sk(q,q,1);sk(p,p,1)}while(!(mk(q,0)|0));while(0);l=mk(p,0)|0;k=kl(1)|0;l=(l|0)!=0;if(l)i=0;else i=kl(0)|0;m=yl(q)|0;n=yl(p)|0;if(l)j=0;else{j=ll(c[q+4>>2]|0)|0;hk(j,k,q)}o=yl(p)|0;if(!(mk(q,0)|0)){b=kl(1)|0;if(l)d=0;else d=kl(0)|0;f=yl(q)|0;g=17}else{b=kl(0)|0;if(l)d=0;else{d=kl(1)|0;c[d+8>>2]=1}h=yl(p)|0;f=h+8|0;c[f>>2]=(c[f>>2]|0)==0&1}while(1){if((g|0)==17){g=0;e=(mk(b,0)|0)!=0;if(l){if(e)fk(b,b,p);sk(b,b,1);sk(f,f,1);h=f;continue}if(!(!e?!(mk(d,0)|0):0)){fk(b,b,p);hk(d,d,q)}sk(b,b,1);sk(d,d,1);sk(f,f,1);h=f}if(!(mk(h,0)|0)){f=h;g=17;continue}e=h+8|0;if(!(c[e>>2]|0)){Al(k,b)|0;if(!l)Al(i,d)|0;Al(m,h)|0}else{hk(n,p,b);f=q+8|0;g=c[f>>2]|0;c[f>>2]=(g|0)==0&1;if(!l)hk(j,q,d);c[f>>2]=g;g=c[e>>2]|0;c[e>>2]=(g|0)==0&1;Al(o,h)|0;c[e>>2]=g}hk(b,k,n);if(!l)hk(d,i,j);hk(h,m,o);if(c[b+8>>2]|0?(fk(b,b,p),!l):0)hk(d,d,q);if(!(vk(h,0)|0))break;else{f=h;g=17}}Al(a,k)|0;tl(k);tl(n);tl(b);if(!l){tl(i);tl(j);tl(d)}tl(m);tl(o);tl(h);tl(q);tl(p);a=1;return a|0}function Gk(a,b,c){a=a|0;b=b|0;c=c|0;xk(a,b,c);return}function Hk(a,b){a=a|0;b=b|0;var d=0,e=0;kk(a);d=kf(1,28)|0;if(!b)c[d>>2]=a;else{c[d>>2]=yl(a)|0;c[d+4>>2]=1}b=c[a+4>>2]|0;c[d+8>>2]=b;e=ll(b+1|0)|0;El(e,1)|0;b=b<<1;tk(e,b);Bk(e,e,a);c[d+12>>2]=e;b=b|1;c[d+16>>2]=ll(b)|0;c[d+20>>2]=ll(b)|0;return d|0}function Ik(a){a=a|0;var b=0;if(!a)return;tl(c[a+12>>2]|0);tl(c[a+16>>2]|0);tl(c[a+20>>2]|0);b=c[a+24>>2]|0;if(b|0)tl(b);if(c[a+4>>2]|0)tl(c[a>>2]|0);cf(a);return}function Jk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=c[d>>2]|0;i=c[d+8>>2]|0;e=c[d+12>>2]|0;g=c[d+16>>2]|0;f=c[d+20>>2]|0;kk(b);if((c[b+4>>2]|0)>(i<<1|0)){xk(a,b,l);return}j=b+8|0;k=c[j>>2]|0;c[j>>2]=0;Al(f,b)|0;rk(f,i+-1|0);Kk(f,f,e);h=i+1|0;rk(f,h);Al(g,b)|0;e=g+4|0;if((c[e>>2]|0)>(h|0))c[e>>2]=h;Kk(f,f,l);e=f+4|0;if((c[e>>2]|0)>(h|0))c[e>>2]=h;hk(a,g,f);if(c[a+8>>2]|0){b=d+24|0;e=c[b>>2]|0;if(!e){e=ll(i+2|0)|0;c[b>>2]=e;El(e,1)|0;tk(c[b>>2]|0,h);e=c[b>>2]|0}fk(a,a,e)}if((wk(a,l)|0)>-1)do hk(a,a,l);while((wk(a,l)|0)>-1);c[j>>2]=k;return}function Kk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;k=c[b+4>>2]|0;l=c[d+4>>2]|0;h=(k|0)<(l|0);p=h?b:d;i=h?d:b;m=h?l:k;g=c[i+12>>2]&1;l=h?k:l;k=c[i+16>>2]|0;h=c[p+12>>2]&1;f=c[p+16>>2]|0;p=c[i+8>>2]^c[p+8>>2];i=a+16|0;e=c[i>>2]|0;n=m+l|0;if((a|0)!=0?(c[a+12>>2]&1|0)!=0:0)o=7;else o=3;do if((o|0)==3){if(!(c[b+12>>2]&1)){if(!d){o=7;break}if(!(c[d+12>>2]&1)){o=7;break}}h=0;j=0;g=2;e=ml(n,1)|0;b=k}while(0);a:do if((o|0)==7){b=(e|0)==(k|0);if((c[a>>2]|0)<(n|0))if(b|(e|0)==(f|0)){h=0;j=0;g=1;e=ml(n,c[a+12>>2]&1)|0;b=k;break}else{ql(a,n);h=0;j=0;g=0;e=c[i>>2]|0;b=k;break}if(b){b=ml(m,g)|0;f=(k|0)==(f|0)?b:f;if((m|0)>0)e=0;else{h=m;j=b;g=0;e=k;break}while(1){c[b+(e<<2)>>2]=c[k+(e<<2)>>2];e=e+1|0;if((e|0)>=(m|0)){h=m;j=b;g=0;e=k;break a}}}if((e|0)==(f|0)){d=ml(l,h)|0;if((l|0)>0){e=0;do{c[d+(e<<2)>>2]=c[f+(e<<2)>>2];e=e+1|0}while((e|0)!=(l|0));h=l;j=d;g=0;e=f;b=k;f=d}else{h=l;j=d;g=0;e=f;b=k;f=d}}else{h=0;j=0;g=0;b=k}}while(0);if(!l)d=0;else d=n-((el(e,b,m,f,l)|0)==0&1)|0;switch(g&3){case 0:break;case 2:{b=ml(d,0)|0;if((d|0)>0){f=0;do{c[b+(f<<2)>>2]=c[e+(f<<2)>>2];f=f+1|0}while((f|0)!=(d|0))}ol(e,0);e=b;o=23;break}default:o=23}if((o|0)==23)pl(a,e,d);c[a+4>>2]=d;c[a+8>>2]=p;if(!j)return;ol(j,h);return}function Lk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Kk(a,b,c);zk(a,a,d);return}
-function op(e,f,g,i,k){e=e|0;f=f|0;g=g|0;i=i|0;k=k|0;var n=0,o=0,p=0,q=0,r=0.0,s=0,t=0,u=0,v=0,w=0.0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0;la=l;l=l+624|0;if((l|0)>=(m|0))$(624);ha=la+24|0;ia=la+16|0;ja=la+588|0;Z=la+576|0;ka=la;U=la+536|0;O=la+8|0;P=la+528|0;Q=(e|0)!=0;R=U+40|0;T=R;U=U+39|0;V=O+4|0;W=ja;X=0-W|0;Y=Z+12|0;Z=Z+11|0;_=Y;aa=_-W|0;ba=-2-W|0;ca=_+2|0;da=ha+288|0;ea=ja+9|0;fa=ea;ga=ja+8|0;o=0;n=0;t=0;a:while(1){do if((n|0)>-1)if((o|0)>(2147483647-n|0)){c[(zo()|0)>>2]=75;n=-1;break}else{n=o+n|0;break}while(0);o=a[f>>0]|0;if(!(o<<24>>24)){N=243;break}else p=f;b:while(1){switch(o<<24>>24){case 37:{o=p;N=9;break b}case 0:{o=p;break b}default:{}}o=p+1|0;p=o;o=a[o>>0]|0}c:do if((N|0)==9)while(1){N=0;if((a[p+1>>0]|0)!=37)break c;o=o+1|0;p=p+2|0;if((a[p>>0]|0)==37)N=9;else break}while(0);o=o-f|0;if(Q?(c[e>>2]&32|0)==0:0)rp(f,o,e)|0;if(o|0){f=p;continue}s=p+1|0;q=a[s>>0]|0;o=(q<<24>>24)+-48|0;if(o>>>0<10){v=(a[p+2>>0]|0)==36;s=v?p+3|0:s;x=v?o:-1;v=v?1:t;o=a[s>>0]|0}else{x=-1;v=t;o=q}p=(o<<24>>24)+-32|0;d:do if(p>>>0<32){q=0;do{if(!(1<<p&75913))break d;q=1<<(o<<24>>24)+-32|q;s=s+1|0;o=a[s>>0]|0;p=(o<<24>>24)+-32|0}while(p>>>0<32)}else q=0;while(0);do if(o<<24>>24!=42){p=(o<<24>>24)+-48|0;if(p>>>0<10){t=0;do{t=(t*10|0)+p|0;s=s+1|0;o=a[s>>0]|0;p=(o<<24>>24)+-48|0}while(p>>>0<10);if((t|0)<0){n=-1;break a}else M=v}else{t=0;M=v}}else{u=s+1|0;o=a[u>>0]|0;p=(o<<24>>24)+-48|0;if(p>>>0<10?(a[s+2>>0]|0)==36:0){c[k+(p<<2)>>2]=10;o=c[i+((a[u>>0]|0)+-48<<3)>>2]|0;p=1;u=s+3|0}else{if(v|0){n=-1;break a}if(!Q){t=0;M=0;s=u;break}p=(c[g>>2]|0)+(4-1)&~(4-1);o=c[p>>2]|0;c[g>>2]=p+4;p=0}M=(o|0)<0;t=M?0-o|0:o;q=M?q|8192:q;M=p;s=u;o=a[u>>0]|0}while(0);e:do if(o<<24>>24==46){o=s+1|0;p=a[o>>0]|0;if(p<<24>>24!=42){s=(p<<24>>24)+-48|0;if(s>>>0<10)p=0;else{y=0;break}while(1){p=(p*10|0)+s|0;o=o+1|0;s=(a[o>>0]|0)+-48|0;if(s>>>0>=10){y=p;break e}}}o=s+2|0;p=(a[o>>0]|0)+-48|0;if(p>>>0<10?(a[s+3>>0]|0)==36:0){c[k+(p<<2)>>2]=10;y=c[i+((a[o>>0]|0)+-48<<3)>>2]|0;o=s+4|0;break}if(M|0){n=-1;break a}if(Q){L=(c[g>>2]|0)+(4-1)&~(4-1);y=c[L>>2]|0;c[g>>2]=L+4}else y=0}else{y=-1;o=s}while(0);v=0;while(1){p=(a[o>>0]|0)+-65|0;if(p>>>0>57){n=-1;break a}L=o+1|0;p=a[66502+(v*58|0)+p>>0]|0;s=p&255;if((s+-1|0)>>>0<8){v=s;o=L}else break}if(!(p<<24>>24)){n=-1;break}u=(x|0)>-1;do if(p<<24>>24==19)if(u){n=-1;break a}else N=51;else{if(u){c[k+(x<<2)>>2]=s;J=i+(x<<3)|0;K=c[J+4>>2]|0;N=ka;c[N>>2]=c[J>>2];c[N+4>>2]=K;N=51;break}if(!Q){n=0;break a}sp(ka,s,g)}while(0);if((N|0)==51?(N=0,!Q):0){o=0;t=M;f=L;continue}G=a[o>>0]|0;G=(v|0)!=0&(G&15|0)==3?G&-33:G;u=q&-65537;K=(q&8192|0)==0?q:u;f:do switch(G|0){case 110:switch((v&255)<<24>>24){case 0:{c[c[ka>>2]>>2]=n;o=0;t=M;f=L;continue a}case 1:{c[c[ka>>2]>>2]=n;o=0;t=M;f=L;continue a}case 2:{o=c[ka>>2]|0;c[o>>2]=n;c[o+4>>2]=((n|0)<0)<<31>>31;o=0;t=M;f=L;continue a}case 3:{b[c[ka>>2]>>1]=n;o=0;t=M;f=L;continue a}case 4:{a[c[ka>>2]>>0]=n;o=0;t=M;f=L;continue a}case 6:{c[c[ka>>2]>>2]=n;o=0;t=M;f=L;continue a}case 7:{o=c[ka>>2]|0;c[o>>2]=n;c[o+4>>2]=((n|0)<0)<<31>>31;o=0;t=M;f=L;continue a}default:{o=0;t=M;f=L;continue a}}case 112:{u=120;v=y>>>0>8?y:8;o=K|8;N=63;break}case 88:case 120:{u=G;v=y;o=K;N=63;break}case 111:{p=ka;o=c[p>>2]|0;p=c[p+4>>2]|0;if((o|0)==0&(p|0)==0)f=R;else{f=R;do{f=f+-1|0;a[f>>0]=o&7|48;o=gr(o|0,p|0,3)|0;p=D}while(!((o|0)==0&(p|0)==0))}if(!(K&8)){p=0;q=66982;s=y;o=K;N=76}else{s=T-f|0;p=0;q=66982;s=(y|0)>(s|0)?y:s+1|0;o=K;N=76}break}case 105:case 100:{f=ka;o=c[f>>2]|0;f=c[f+4>>2]|0;if((f|0)<0){o=Xq(0,0,o|0,f|0)|0;f=D;p=ka;c[p>>2]=o;c[p+4>>2]=f;p=1;q=66982;N=75;break f}if(!(K&2048)){q=K&1;p=q;q=(q|0)==0?66982:66984;N=75}else{p=1;q=66983;N=75}break}case 117:{f=ka;p=0;q=66982;o=c[f>>2]|0;f=c[f+4>>2]|0;N=75;break}case 99:{a[U>>0]=c[ka>>2];f=U;x=0;v=66982;p=R;o=1;break}case 109:{o=dp(c[(zo()|0)>>2]|0)|0;N=81;break}case 115:{o=c[ka>>2]|0;o=o|0?o:66992;N=81;break}case 67:{c[O>>2]=c[ka>>2];c[V>>2]=0;c[ka>>2]=O;u=-1;p=O;N=85;break}case 83:{o=c[ka>>2]|0;if(!y){up(e,32,t,0,K);o=0;N=96}else{u=y;p=o;N=85}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{r=+h[ka>>3];c[ia>>2]=0;h[j>>3]=r;if((c[j+4>>2]|0)>=0){o=K&1;if(!(K&2048)){J=o;I=(o|0)==0?67e3:67005}else{J=1;I=67002}}else{r=-r;J=1;I=66999}h[j>>3]=r;H=c[j+4>>2]&2146435072;do if(H>>>0<2146435072|(H|0)==2146435072&0<0){w=+wp(r,ia)*2.0;f=w!=0.0;if(f)c[ia>>2]=(c[ia>>2]|0)+-1;A=G|32;if((A|0)==97){s=G&32;x=(s|0)==0?I:I+9|0;v=J|2;o=12-y|0;do if(!(y>>>0>11|(o|0)==0)){r=8.0;do{o=o+-1|0;r=r*16.0}while((o|0)!=0);if((a[x>>0]|0)==45){r=-(r+(-w-r));break}else{r=w+r-r;break}}else r=w;while(0);f=c[ia>>2]|0;o=(f|0)<0?0-f|0:f;o=tp(o,((o|0)<0)<<31>>31,Y)|0;if((o|0)==(Y|0)){a[Z>>0]=48;o=Z}a[o+-1>>0]=(f>>31&2)+43;u=o+-2|0;a[u>>0]=G+15;q=(y|0)<1;p=(K&8|0)==0;o=ja;do{J=~~r;f=o+1|0;a[o>>0]=d[66966+J>>0]|s;r=(r-+(J|0))*16.0;do if((f-W|0)==1){if(p&(q&r==0.0)){o=f;break}a[f>>0]=46;o=o+2|0}else o=f;while(0)}while(r!=0.0);q=u;p=(y|0)!=0&(ba+o|0)<(y|0)?ca+y-q|0:aa-q+o|0;s=p+v|0;up(e,32,t,s,K);if(!(c[e>>2]&32))rp(x,v,e)|0;up(e,48,t,s,K^65536);f=o-W|0;if(!(c[e>>2]&32))rp(ja,f,e)|0;o=_-q|0;up(e,48,p-(f+o)|0,0,0);if(!(c[e>>2]&32))rp(u,o,e)|0;up(e,32,t,s,K^8192);o=(s|0)<(t|0)?t:s;break}o=(y|0)<0?6:y;if(f){f=(c[ia>>2]|0)+-28|0;c[ia>>2]=f;r=w*268435456.0}else{r=w;f=c[ia>>2]|0}H=(f|0)<0?ha:da;p=H;do{F=~~r>>>0;c[p>>2]=F;p=p+4|0;r=(r-+(F>>>0))*1.0e9}while(r!=0.0);if((f|0)>0){q=H;u=p;while(1){s=(f|0)>29?29:f;f=u+-4|0;do if(f>>>0>=q>>>0){p=0;do{E=mr(c[f>>2]|0,0,s|0)|0;E=_q(E|0,D|0,p|0,0)|0;F=D;C=nr(E|0,F|0,1e9,0)|0;c[f>>2]=C;p=ir(E|0,F|0,1e9,0)|0;f=f+-4|0}while(f>>>0>=q>>>0);if(!p)break;q=q+-4|0;c[q>>2]=p}while(0);p=u;while(1){if(p>>>0<=q>>>0)break;f=p+-4|0;if(!(c[f>>2]|0))p=f;else break}f=(c[ia>>2]|0)-s|0;c[ia>>2]=f;if((f|0)>0)u=p;else break}}else q=H;if((f|0)<0){y=((o+25|0)/9|0)+1|0;z=(A|0)==102;do{x=0-f|0;x=(x|0)>9?9:x;do if(q>>>0<p>>>0){s=(1<<x)+-1|0;u=1e9>>>x;v=0;f=q;do{F=c[f>>2]|0;c[f>>2]=(F>>>x)+v;v=S(F&s,u)|0;f=f+4|0}while(f>>>0<p>>>0);f=(c[q>>2]|0)==0?q+4|0:q;if(!v){q=f;f=p;break}c[p>>2]=v;q=f;f=p+4|0}else{q=(c[q>>2]|0)==0?q+4|0:q;f=p}while(0);p=z?H:q;p=(f-p>>2|0)>(y|0)?p+(y<<2)|0:f;f=(c[ia>>2]|0)+x|0;c[ia>>2]=f}while((f|0)<0)}F=H;do if(q>>>0<p>>>0){f=(F-q>>2)*9|0;u=c[q>>2]|0;if(u>>>0<10)break;else s=10;do{s=s*10|0;f=f+1|0}while(u>>>0>=s>>>0)}else f=0;while(0);B=(A|0)==103;C=(o|0)!=0;s=o-((A|0)!=102?f:0)+((C&B)<<31>>31)|0;if((s|0)<(((p-F>>2)*9|0)+-9|0)){s=s+9216|0;v=H+4+(((s|0)/9|0)+-1024<<2)|0;s=((s|0)%9|0)+1|0;if((s|0)<9){u=10;do{u=u*10|0;s=s+1|0}while((s|0)!=9)}else u=10;y=c[v>>2]|0;z=(y>>>0)%(u>>>0)|0;s=(v+4|0)==(p|0);do if(s&(z|0)==0)s=v;else{w=(((y>>>0)/(u>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;x=(u|0)/2|0;if(z>>>0<x>>>0)r=.5;else r=s&(z|0)==(x|0)?1.0:1.5;do if(J){if((a[I>>0]|0)!=45)break;r=-r;w=-w}while(0);s=y-z|0;c[v>>2]=s;if(!(w+r!=w)){s=v;break}E=s+u|0;c[v>>2]=E;if(E>>>0>999999999){s=v;while(1){f=s+-4|0;c[s>>2]=0;if(f>>>0<q>>>0){q=q+-4|0;c[q>>2]=0}E=(c[f>>2]|0)+1|0;c[f>>2]=E;if(E>>>0>999999999)s=f;else{v=f;break}}}f=(F-q>>2)*9|0;u=c[q>>2]|0;if(u>>>0<10){s=v;break}else s=10;do{s=s*10|0;f=f+1|0}while(u>>>0>=s>>>0);s=v}while(0);E=s+4|0;p=p>>>0>E>>>0?E:p}z=0-f|0;E=p;while(1){if(E>>>0<=q>>>0){A=0;break}p=E+-4|0;if(!(c[p>>2]|0))E=p;else{A=1;break}}do if(B){o=(C&1^1)+o|0;if((o|0)>(f|0)&(f|0)>-5){v=G+-1|0;o=o+-1-f|0}else{v=G+-2|0;o=o+-1|0}p=K&8;if(p|0){x=p;break}do if(A){u=c[E+-4>>2]|0;if(!u){s=9;break}if(!((u>>>0)%10|0)){s=0;p=10}else{s=0;break}do{p=p*10|0;s=s+1|0}while(!((u>>>0)%(p>>>0)|0|0))}else s=9;while(0);p=((E-F>>2)*9|0)+-9|0;if((v|32|0)==102){x=p-s|0;x=(x|0)<0?0:x;o=(o|0)<(x|0)?o:x;x=0;break}else{x=p+f-s|0;x=(x|0)<0?0:x;o=(o|0)<(x|0)?o:x;x=0;break}}else{v=G;x=K&8}while(0);y=o|x;s=(y|0)!=0&1;u=(v|32|0)==102;if(u){z=0;f=(f|0)>0?f:0}else{p=(f|0)<0?z:f;p=tp(p,((p|0)<0)<<31>>31,Y)|0;if((_-p|0)<2)do{p=p+-1|0;a[p>>0]=48}while((_-p|0)<2);a[p+-1>>0]=(f>>31&2)+43;f=p+-2|0;a[f>>0]=v;z=f;f=_-f|0}B=J+1+o+s+f|0;up(e,32,t,B,K);if(!(c[e>>2]&32))rp(I,J,e)|0;up(e,48,t,B,K^65536);do if(u){q=q>>>0>H>>>0?H:q;p=q;do{f=tp(c[p>>2]|0,0,ea)|0;do if((p|0)==(q|0)){if((f|0)!=(ea|0))break;a[ga>>0]=48;f=ga}else{if(f>>>0<=ja>>>0)break;Yq(ja|0,48,f-W|0)|0;do f=f+-1|0;while(f>>>0>ja>>>0)}while(0);if(!(c[e>>2]&32))rp(f,fa-f|0,e)|0;p=p+4|0}while(p>>>0<=H>>>0);do if(y|0){if(c[e>>2]&32|0)break;rp(67034,1,e)|0}while(0);if((o|0)>0&p>>>0<E>>>0)while(1){f=tp(c[p>>2]|0,0,ea)|0;if(f>>>0>ja>>>0){Yq(ja|0,48,f-W|0)|0;do f=f+-1|0;while(f>>>0>ja>>>0)}if(!(c[e>>2]&32))rp(f,(o|0)>9?9:o,e)|0;p=p+4|0;f=o+-9|0;if(!((o|0)>9&p>>>0<E>>>0)){o=f;break}else o=f}up(e,48,o+9|0,9,0)}else{v=A?E:q+4|0;if((o|0)>-1){u=(x|0)==0;s=q;do{f=tp(c[s>>2]|0,0,ea)|0;if((f|0)==(ea|0)){a[ga>>0]=48;f=ga}do if((s|0)==(q|0)){p=f+1|0;if(!(c[e>>2]&32))rp(f,1,e)|0;if(u&(o|0)<1){f=p;break}if(c[e>>2]&32|0){f=p;break}rp(67034,1,e)|0;f=p}else{if(f>>>0<=ja>>>0)break;Yq(ja|0,48,f+X|0)|0;do f=f+-1|0;while(f>>>0>ja>>>0)}while(0);p=fa-f|0;if(!(c[e>>2]&32))rp(f,(o|0)>(p|0)?p:o,e)|0;o=o-p|0;s=s+4|0}while(s>>>0<v>>>0&(o|0)>-1)}up(e,48,o+18|0,18,0);if(c[e>>2]&32|0)break;rp(z,_-z|0,e)|0}while(0);up(e,32,t,B,K^8192);o=(B|0)<(t|0)?t:B}else{f=(G&32|0)!=0;p=J+3|0;up(e,32,t,p,u);o=c[e>>2]|0;if(!(o&32)){rp(I,J,e)|0;o=c[e>>2]|0}if(!(o&32))rp(r!=r|0.0!=0.0?(f?67026:67030):f?67018:67022,3,e)|0;up(e,32,t,p,K^8192);o=(p|0)<(t|0)?t:p}while(0);t=M;f=L;continue a}default:{x=0;v=66982;p=R;o=y;u=K}}while(0);g:do if((N|0)==63){q=ka;p=c[q>>2]|0;q=c[q+4>>2]|0;s=u&32;if((p|0)==0&(q|0)==0){f=R;p=0;q=0}else{f=R;do{f=f+-1|0;a[f>>0]=d[66966+(p&15)>>0]|s;p=gr(p|0,q|0,4)|0;q=D}while(!((p|0)==0&(q|0)==0));q=ka;p=c[q>>2]|0;q=c[q+4>>2]|0}q=(o&8|0)==0|(p|0)==0&(q|0)==0;p=q?0:2;q=q?66982:66982+(u>>4)|0;s=v;N=76}else if((N|0)==75){f=tp(o,f,R)|0;s=y;o=K;N=76}else if((N|0)==81){N=0;K=No(o,0,y)|0;J=(K|0)==0;f=o;x=0;v=66982;p=J?o+y|0:K;o=J?y:K-o|0}else if((N|0)==85){N=0;s=p;o=0;f=0;while(1){q=c[s>>2]|0;if(!q)break;f=vp(P,q)|0;if((f|0)<0|f>>>0>(u-o|0)>>>0)break;o=f+o|0;if(u>>>0>o>>>0)s=s+4|0;else break}if((f|0)<0){n=-1;break a}up(e,32,t,o,K);if(!o){o=0;N=96}else{q=0;while(1){f=c[p>>2]|0;if(!f){N=96;break g}f=vp(P,f)|0;q=f+q|0;if((q|0)>(o|0)){N=96;break g}if(!(c[e>>2]&32))rp(P,f,e)|0;if(q>>>0>=o>>>0){N=96;break}else p=p+4|0}}}while(0);if((N|0)==96){N=0;up(e,32,t,o,K^8192);o=(t|0)>(o|0)?t:o;t=M;f=L;continue}if((N|0)==76){N=0;u=(s|0)>-1?o&-65537:o;o=ka;o=(c[o>>2]|0)!=0|(c[o+4>>2]|0)!=0;if((s|0)!=0|o){o=(o&1^1)+(T-f)|0;x=p;v=q;p=R;o=(s|0)>(o|0)?s:o}else{f=R;x=p;v=q;p=R;o=0}}s=p-f|0;p=(o|0)<(s|0)?s:o;q=p+x|0;o=(t|0)<(q|0)?q:t;up(e,32,o,q,u);if(!(c[e>>2]&32))rp(v,x,e)|0;up(e,48,o,q,u^65536);up(e,48,p,s,0);if(!(c[e>>2]&32))rp(f,s,e)|0;up(e,32,o,q,u^8192);t=M;f=L}h:do if((N|0)==243)if(!e)if(!t)n=0;else{n=1;while(1){o=c[k+(n<<2)>>2]|0;if(!o)break;sp(i+(n<<3)|0,o,g);n=n+1|0;if((n|0)>=10){n=1;break h}}while(1){if(c[k+(n<<2)>>2]|0){n=-1;break h}n=n+1|0;if((n|0)>=10){n=1;break}}}while(0);l=la;return n|0}function pp(a){a=a|0;return 0}function qp(a){a=a|0;return}function rp(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=e+16|0;g=c[f>>2]|0;if(!g)if(!(zp(e)|0)){g=c[f>>2]|0;h=5}else f=0;else h=5;a:do if((h|0)==5){j=e+20|0;i=c[j>>2]|0;f=i;if((g-i|0)>>>0<d>>>0){f=pb[c[e+36>>2]&63](e,b,d)|0;break}b:do if((a[e+75>>0]|0)>-1){i=d;while(1){if(!i){h=0;g=b;break b}g=i+-1|0;if((a[b+g>>0]|0)==10)break;else i=g}f=pb[c[e+36>>2]&63](e,b,i)|0;if(f>>>0<i>>>0)break a;h=i;g=b+i|0;d=d-i|0;f=c[j>>2]|0}else{h=0;g=b}while(0);cr(f|0,g|0,d|0)|0;c[j>>2]=(c[j>>2]|0)+d;f=h+d|0}while(0);return f|0}function sp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=b;break a}case 10:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=0;break a}case 12:{e=(c[d>>2]|0)+(8-1)&~(8-1);b=e;f=c[b>>2]|0;b=c[b+4>>2]|0;c[d>>2]=e+8;e=a;c[e>>2]=f;c[e+4>>2]=b;break a}case 13:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&65535)<<16>>16;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 14:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&65535;c[f+4>>2]=0;break a}case 15:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&255)<<24>>24;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 16:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&255;c[f+4>>2]=0;break a}case 17:{f=(c[d>>2]|0)+(8-1)&~(8-1);g=+h[f>>3];c[d>>2]=f+8;h[a>>3]=g;break a}case 18:{f=(c[d>>2]|0)+(8-1)&~(8-1);g=+h[f>>3];c[d>>2]=f+8;h[a>>3]=g;break a}default:break a}while(0);while(0);return}function tp(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if(c>>>0>0|(c|0)==0&b>>>0>4294967295){while(1){e=nr(b|0,c|0,10,0)|0;d=d+-1|0;a[d>>0]=e|48;e=b;b=ir(b|0,c|0,10,0)|0;if(!(c>>>0>9|(c|0)==9&e>>>0>4294967295))break;else c=D}c=b}else c=b;if(c)while(1){d=d+-1|0;a[d>>0]=(c>>>0)%10|0|48;if(c>>>0<10)break;else c=(c>>>0)/10|0}return d|0}function up(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=l;l=l+256|0;if((l|0)>=(m|0))$(256);h=i;do if((d|0)>(e|0)&(f&73728|0)==0){f=d-e|0;Yq(h|0,b|0,(f>>>0>256?256:f)|0)|0;b=c[a>>2]|0;g=(b&32|0)==0;if(f>>>0>255){d=d-e|0;do{if(g){rp(h,256,a)|0;b=c[a>>2]|0}f=f+-256|0;g=(b&32|0)==0}while(f>>>0>255);if(g)f=d&255;else break}else if(!g)break;rp(h,f,a)|0}while(0);l=i;return}function vp(a,b){a=a|0;b=b|0;if(!a)a=0;else a=yp(a,b,0)|0;return a|0}function wp(a,b){a=+a;b=b|0;return +(+xp(a,b))}function xp(a,b){a=+a;b=b|0;var d=0,e=0,f=0;h[j>>3]=a;d=c[j>>2]|0;e=c[j+4>>2]|0;f=gr(d|0,e|0,52)|0;switch(f&2047){case 0:{if(a!=0.0){a=+xp(a*18446744073709551616.0,b);d=(c[b>>2]|0)+-64|0}else d=0;c[b>>2]=d;break}case 2047:break;default:{c[b>>2]=(f&2047)+-1022;c[j>>2]=d;c[j+4>>2]=e&-2146435073|1071644672;a=+h[j>>3]}}return +a}function yp(b,d,e){b=b|0;d=d|0;e=e|0;do if(b){if(d>>>0<128){a[b>>0]=d;b=1;break}if(!(c[c[(Ao()|0)+188>>2]>>2]|0))if((d&-128|0)==57216){a[b>>0]=d;b=1;break}else{c[(zo()|0)>>2]=84;b=-1;break}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;b=2;break}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=d>>>12|224;a[b+1>>0]=d>>>6&63|128;a[b+2>>0]=d&63|128;b=3;break}if((d+-65536|0)>>>0<1048576){a[b>>0]=d>>>18|240;a[b+1>>0]=d>>>12&63|128;a[b+2>>0]=d>>>6&63|128;a[b+3>>0]=d&63|128;b=4;break}else{c[(zo()|0)>>2]=84;b=-1;break}}else b=1;while(0);return b|0}function zp(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=c[b>>2]|0;if(!(d&8)){c[b+8>>2]=0;c[b+4>>2]=0;e=c[b+44>>2]|0;c[b+28>>2]=e;c[b+20>>2]=e;c[b+16>>2]=e+(c[b+48>>2]|0);b=0}else{c[b>>2]=d|32;b=-1}return b|0}function Ap(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+20|0;f=c[e>>2]|0;a=(c[a+16>>2]|0)-f|0;a=a>>>0>d>>>0?d:a;cr(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function Bp(a){a=a|0;var b=0;b=(cp(a)|0)==0;return (b?a:a&95)|0}function Cp(a){a=a|0;return (_o(a)|0)!=(a|0)|0}function Dp(a){a=a|0;if(a>>>0>=255)if((a+-57344|0)>>>0<8185|(a>>>0<8232|(a+-8234|0)>>>0<47062))a=1;else return ((a+-65532|0)>>>0>1048579|(a&65534|0)==65534)&1^1|0;else a=(a+1&127)>>>0>32&1;return a|0}function Ep(a,b){a=a|0;b=b|0;do switch(b|0){case 1:{a=Fp(a)|0;break}case 2:{a=bp(a)|0;break}case 3:{a=Wo(a)|0;break}case 4:{a=Gp(a)|0;break}case 5:{a=Hp(a)|0;break}case 6:{a=Ip(a)|0;break}case 7:{a=Cp(a)|0;break}case 8:{a=Dp(a)|0;break}case 9:{a=Jp(a)|0;break}case 10:{a=hp(a)|0;break}case 11:{a=Kp(a)|0;break}case 12:{a=Lp(a)|0;break}default:a=0}while(0);return a|0}function Fp(a){a=a|0;if(!(Hp(a)|0))a=(bp(a)|0)!=0;else a=1;return a&1|0}function Gp(a){a=a|0;if((a&-2|0)==8232|(a>>>0<32|(a+-127|0)>>>0<33))a=1;else a=(a+-65529|0)>>>0<3;return a&1|0}function Hp(a){a=a|0;return (a+-48|0)>>>0<10|0}function Ip(a){a=a|0;if(!(hp(a)|0))a=(Dp(a)|0)!=0;else a=0;return a&1|0}function Jp(a){a=a|0;if(a>>>0<131072)a=(d[67036+((d[67036+(a>>>8)>>0]|0)<<5|a>>>3&31)>>0]|0)>>>(a&7)&1;else a=0;return a|0}function Kp(a){a=a|0;return ($o(a)|0)!=(a|0)|0}function Lp(a){a=a|0;return ((a+-48|0)>>>0<10|((a|32)+-97|0)>>>0<6)&1|0}function Mp(a,b){a=a|0;b=b|0;Np(a,b)|0;return a|0}function Np(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009|0)break;else f=b}}f=8}else f=8;while(0);if((f|0)==8){f=a[d>>0]|0;a[b>>0]=f;if(f<<24>>24)do{d=d+1|0;b=b+1|0;f=a[d>>0]|0;a[b>>0]=f}while(f<<24>>24!=0)}return b|0}function Op(b,c){b=b|0;c=c|0;var e=0,f=0,g=0;e=a[b>>0]|0;a:do if(!(e<<24>>24))e=0;else{g=e&255;while(1){f=a[c>>0]|0;if(!(f<<24>>24))break a;if(e<<24>>24!=f<<24>>24?(g=Yo(g)|0,(g|0)!=(Yo(f&255)|0)):0)break a;b=b+1|0;c=c+1|0;e=a[b>>0]|0;if(!(e<<24>>24)){e=0;break}else g=e&255}}while(0);g=Yo(e&255)|0;return g-(Yo(d[c>>0]|0)|0)|0}function Pp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;if((l|0)>=(m|0))$(16);f=e;c[f>>2]=d;d=Qp(a,b,f)|0;l=e;return d|0}function Qp(a,b,c){a=a|0;b=b|0;c=c|0;return mp(a,2147483647,b,c)|0}function Rp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;if((l|0)>=(m|0))$(16);f=e;c[f>>2]=d;d=np(a,b,f)|0;l=e;return d|0}function Sp(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if((c[f+76>>2]|0)>-1)m=pp(f)|0;else m=0;g=e+-1|0;if((e|0)<2){n=f+74|0;l=a[n>>0]|0;a[n>>0]=l+255|l;if(m|0)qp(f);if(!g)a[b>>0]=0;else b=0}else{a:do if(g){k=f+4|0;l=f+8|0;e=b;while(1){h=c[k>>2]|0;o=h;p=(c[l>>2]|0)-o|0;i=No(h,10,p)|0;j=(i|0)==0;i=j?p:1-o+i|0;i=i>>>0<g>>>0?i:g;cr(e|0,h|0,i|0)|0;h=(c[k>>2]|0)+i|0;c[k>>2]=h;e=e+i|0;i=g-i|0;if(!(j&(i|0)!=0)){n=17;break a}if(h>>>0>=(c[l>>2]|0)>>>0){g=So(f)|0;if((g|0)<0)break;else j=g}else{c[k>>2]=h+1;j=d[h>>0]|0}g=i+-1|0;h=e+1|0;a[e>>0]=j;if(!((g|0)!=0&(j&255|0)!=10)){e=h;n=17;break a}else e=h}if((e|0)!=(b|0)?(c[f>>2]&16|0)!=0:0)n=17;else b=0}else{e=b;n=17}while(0);if((n|0)==17)if(!b)b=0;else a[e>>0]=0;if(m)qp(f)}return b|0}function Tp(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;a:do if(!d)b=0;else{while(1){e=a[b>>0]|0;f=a[c>>0]|0;if(e<<24>>24!=f<<24>>24)break;d=d+-1|0;if(!d){b=0;break a}else{b=b+1|0;c=c+1|0}}b=(e&255)-(f&255)|0}while(0);return b|0}function Up(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;if((l|0)>=(m|0))$(16);d=b;c[d>>2]=Co(a)|0;a=cb(6,d|0)|0;a=yo((a|0)==-4?0:a)|0;l=b;return a|0}function Vp(a,b,c){a=a|0;b=b|0;c=c|0;Wp(a,b,c)|0;return a|0}function Wp(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=d;do if(!((g^b)&3)){f=(e|0)!=0;a:do if(f&(g&3|0)!=0)while(1){g=a[d>>0]|0;a[b>>0]=g;if(!(g<<24>>24))break a;e=e+-1|0;d=d+1|0;b=b+1|0;f=(e|0)!=0;if(!(f&(d&3|0)!=0)){h=5;break}}else h=5;while(0);if((h|0)==5)if(!f){e=0;break}if(a[d>>0]|0){b:do if(e>>>0>3){f=d;while(1){d=c[f>>2]|0;if((d&-2139062144^-2139062144)&d+-16843009|0){d=f;break b}c[b>>2]=d;e=e+-4|0;d=f+4|0;b=b+4|0;if(e>>>0>3)f=d;else break}}while(0);h=11}}else h=11;while(0);c:do if((h|0)==11)if(!e)e=0;else while(1){h=a[d>>0]|0;a[b>>0]=h;if(!(h<<24>>24))break c;e=e+-1|0;b=b+1|0;if(!e){e=0;break}else d=d+1|0}while(0);Yq(b|0,0,e|0)|0;return b|0}function Xp(a){a=a|0;return er(a|0)|0}function Yp(a){a=a|0;return er(a|0)|0}function Zp(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=l;l=l+16|0;if((l|0)>=(m|0))$(16);g=j;a:do if(!e)b=0;else{do if(f|0){i=(b|0)==0?g:b;b=a[e>>0]|0;if(b<<24>>24>-1){c[i>>2]=b&255;b=b<<24>>24!=0&1;break a}h=(c[c[(Ao()|0)+188>>2]>>2]|0)==0;b=a[e>>0]|0;if(h){c[i>>2]=b<<24>>24&57343;b=1;break a}b=(b&255)+-194|0;if(b>>>0<=50){g=e+1|0;h=c[15868+(b<<2)>>2]|0;if(f>>>0<4?h&-2147483648>>>((f*6|0)+-6|0)|0:0)break;b=d[g>>0]|0;f=b>>>3;if((f+-16|f+(h>>26))>>>0<=7){b=b+-128|h<<6;if((b|0)>=0){c[i>>2]=b;b=2;break a}g=(d[e+2>>0]|0)+-128|0;if(g>>>0<=63){g=g|b<<6;if((g|0)>=0){c[i>>2]=g;b=3;break a}b=(d[e+3>>0]|0)+-128|0;if(b>>>0<=63){c[i>>2]=b|g<<6;b=4;break a}}}}}while(0);c[(zo()|0)>>2]=84;b=-1}while(0);l=j;return b|0}function _p(b){b=b|0;var c=0,d=0,e=0;d=(Ko(b,43)|0)==0;c=a[b>>0]|0;d=d?c<<24>>24!=114&1:2;e=(Ko(b,120)|0)==0;d=e?d:d|128;b=(Ko(b,101)|0)==0;b=b?d:d|524288;b=c<<24>>24==114?b:b|64;b=c<<24>>24==119?b|512:b;return (c<<24>>24==97?b|1024:b)|0}function $p(a){a=a|0;var b=0,d=0;do if(a){if((c[a+76>>2]|0)<=-1){b=hq(a)|0;break}d=(pp(a)|0)==0;b=hq(a)|0;if(!d)qp(a)}else{if(!(c[3934]|0))b=0;else b=$p(c[3934]|0)|0;a=c[(dq()|0)>>2]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=pp(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=hq(a)|0|b;if(d|0)qp(a);a=c[a+56>>2]|0}while((a|0)!=0);eq()}while(0);return b|0}function aq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+48|0;if((l|0)>=(m|0))$(48);h=i+32|0;g=i+16|0;e=i;if(No(70204,a[d>>0]|0,4)|0){f=_p(d)|0;c[e>>2]=b;c[e+4>>2]=f|32768;c[e+8>>2]=438;e=yo(db(5,e|0)|0)|0;if((e|0)>=0){if(f&524288|0){c[g>>2]=e;c[g+4>>2]=2;c[g+8>>2]=1;wa(221,g|0)|0}b=fq(e,d)|0;if(!b){c[h>>2]=e;cb(6,h|0)|0;b=0}}else b=0}else{c[(zo()|0)>>2]=22;b=0}l=i;return b|0}function bq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if((c[a+76>>2]|0)>-1)f=pp(a)|0;else f=0;cq(a);g=(c[a>>2]&1|0)!=0;if(!g){e=dq()|0;d=c[a+52>>2]|0;b=a+56|0;if(d|0)c[d+56>>2]=c[b>>2];b=c[b>>2]|0;if(b|0)c[b+52>>2]=d;if((c[e>>2]|0)==(a|0))c[e>>2]=b;eq()}b=$p(a)|0;b=tb[c[a+12>>2]&15](a)|0|b;d=c[a+92>>2]|0;if(d|0)Pq(d);if(g){if(f|0)qp(a)}else Pq(a);return b|0}function cq(a){a=a|0;var b=0,d=0;do if(c[a+68>>2]|0){b=c[a+116>>2]|0;d=b;a=a+112|0;if(b|0)c[b+112>>2]=c[a>>2];a=c[a>>2]|0;if(!a){c[(Ao()|0)+232>>2]=d;break}else{c[a+116>>2]=d;break}}while(0);return}function dq(){bb(70840);return 70848}function eq(){_a(70840);return}function fq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0;p=l;l=l+64|0;if((l|0)>=(m|0))$(64);o=p+40|0;j=p+24|0;i=p+16|0;f=p;k=p+56|0;e=a[d>>0]|0;if(No(70204,e<<24>>24,4)|0){n=Oq(1156)|0;if(!n)e=0;else{g=n;h=g+124|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));if(!(Ko(d,43)|0))c[n>>2]=e<<24>>24==114?8:4;if(Ko(d,101)|0){c[f>>2]=b;c[f+4>>2]=2;c[f+8>>2]=1;wa(221,f|0)|0;e=a[d>>0]|0}if(e<<24>>24==97){c[i>>2]=b;c[i+4>>2]=3;e=wa(221,i|0)|0;if(!(e&1024)){c[j>>2]=b;c[j+4>>2]=4;c[j+8>>2]=e|1024;wa(221,j|0)|0}d=c[n>>2]|128;c[n>>2]=d}else d=c[n>>2]|0;c[n+60>>2]=b;c[n+44>>2]=n+132;c[n+48>>2]=1024;e=n+75|0;a[e>>0]=-1;if((d&8|0)==0?(c[o>>2]=b,c[o+4>>2]=21523,c[o+8>>2]=k,(Za(54,o|0)|0)==0):0)a[e>>0]=10;c[n+32>>2]=35;c[n+36>>2]=25;c[n+40>>2]=24;c[n+12>>2]=10;if(!(c[17695]|0))c[n+76>>2]=-1;e=gq(n)|0}}else{c[(zo()|0)>>2]=22;e=0}l=p;return e|0}function gq(a){a=a|0;var b=0,d=0;b=dq()|0;c[a+56>>2]=c[b>>2];d=c[b>>2]|0;if(d|0)c[d+52>>2]=a;c[b>>2]=a;eq();return a|0}function hq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;h=a+28|0;if((c[b>>2]|0)>>>0>(c[h>>2]|0)>>>0?(pb[c[a+36>>2]&63](a,0,0)|0,(c[b>>2]|0)==0):0)a=-1;else{d=a+4|0;e=c[d>>2]|0;f=a+8|0;g=c[f>>2]|0;if(e>>>0<g>>>0)pb[c[a+40>>2]&63](a,e-g|0,1)|0;c[a+16>>2]=0;c[h>>2]=0;c[b>>2]=0;c[f>>2]=0;c[d>>2]=0;a=0}return a|0}function iq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=S(d,b)|0;d=(b|0)==0?0:d;if((c[e+76>>2]|0)>-1){g=(pp(e)|0)==0;a=rp(a,f,e)|0;if(!g)qp(e)}else a=rp(a,f,e)|0;if((a|0)!=(f|0))d=(a>>>0)/(b>>>0)|0;return d|0}function jq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=l;l=l+192|0;if((l|0)>=(m|0))$(192);i=t+152|0;h=t+136|0;s=t+120|0;r=t+104|0;q=t+96|0;n=t+80|0;k=t+64|0;f=t+48|0;o=t+32|0;g=t+16|0;e=t;u=t+176|0;j=t+168|0;c[u>>2]=d;d=(c[u>>2]|0)+(4-1)&~(4-1);p=c[d>>2]|0;c[u>>2]=d+4;p=(b|0)==4?p|32768:p;a:do switch(b|0){case 14:{c[e>>2]=a;c[e+4>>2]=14;c[e+8>>2]=p;d=yo(wa(221,e|0)|0)|0;break}case 9:{c[g>>2]=a;c[g+4>>2]=16;c[g+8>>2]=j;d=wa(221,g|0)|0;switch(d|0){case -22:{c[o>>2]=a;c[o+4>>2]=9;c[o+8>>2]=p;d=wa(221,o|0)|0;break}case 0:{d=c[j+4>>2]|0;d=(c[j>>2]|0)==2?0-d|0:d;break}default:d=yo(d)|0}break}case 1030:{c[f>>2]=a;c[f+4>>2]=1030;c[f+8>>2]=p;d=wa(221,f|0)|0;if((d|0)!=-22){if((d|0)>-1){c[k>>2]=d;c[k+4>>2]=2;c[k+8>>2]=1;wa(221,k|0)|0}d=yo(d)|0;break a}c[n>>2]=a;c[n+4>>2]=1030;c[n+8>>2]=0;d=wa(221,n|0)|0;if((d|0)==-22){c[r>>2]=a;c[r+4>>2]=0;c[r+8>>2]=p;d=wa(221,r|0)|0;if((d|0)>-1){c[s>>2]=d;c[s+4>>2]=2;c[s+8>>2]=1;wa(221,s|0)|0}d=yo(d)|0;break a}else{if((d|0)>-1){c[q>>2]=d;cb(6,q|0)|0}d=yo(-22)|0;break a}}case 15:case 16:case 12:case 13:{c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=p;d=yo(wa(221,h|0)|0)|0;break}default:{c[i>>2]=a;c[i+4>>2]=b;c[i+8>>2]=p;d=yo(wa(221,i|0)|0)|0}}while(0);l=t;return d|0}function kq(a){a=a|0;var b=0;if((c[a+76>>2]|0)>-1){b=(pp(a)|0)==0;a=(c[a>>2]|0)>>>4&1}else a=(c[a>>2]|0)>>>4&1;return a|0}function lq(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;d=b;e=70208;f=d+15|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));if(!c){a[b+14>>0]=48;a[b+15>>0]=0}else{e=c;d=14;while(1){d=d+1|0;if(e>>>0<10)break;else e=(e>>>0)/10|0}a[b+d>>0]=0;while(1){d=d+-1|0;a[b+d>>0]=(c>>>0)%10|0|48;if(c>>>0<10)break;else c=(c>>>0)/10|0}}return}function mq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+48|0;if((l|0)>=(m|0))$(48);f=g+40|0;e=g+8|0;d=g;c[d>>2]=a;c[d+4>>2]=b;d=Ka(197,d|0)|0;if((d|0)==-9?(c[e>>2]=a,c[e+4>>2]=1,(wa(221,e|0)|0)>=0):0){lq(e,a);c[f>>2]=e;c[f+4>>2]=b;b=yo(La(195,f|0)|0)|0}else b=yo(d)|0;l=g;return b|0}function nq(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=l;l=l+32|0;if((l|0)>=(m|0))$(32);h=g;c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=d;c[h+12>>2]=e;c[h+16>>2]=f;f=yo(lb(142,h|0)|0)|0;l=g;return f|0}function oq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;if((l|0)>=(m|0))$(16);f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;d=yo(eb(4,f|0)|0)|0;l=e;return d|0}function pq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;if((l|0)>=(m|0))$(16);f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;d=yo(ab(3,f|0)|0)|0;l=e;return d|0}function qq(){var a=0,b=0;a=l;l=l+16|0;if((l|0)>=(m|0))$(16);b=Ba(20,a|0)|0;l=a;return b|0}function rq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=l;l=l+32|0;if((l|0)>=(m|0))$(32);g=f;c[g>>2]=b;c[g+4>>2]=d;c[g+8>>2]=e;c[g+12>>2]=a;a=g+16|0;c[a>>2]=-1;tq(6,g);a=c[a>>2]|0;if(a)if((a|0)>0){c[(zo()|0)>>2]=a;a=-1}else a=-1;else a=0;l=f;return a|0}function sq(a){a=a|0;a=a+16|0;if((c[a>>2]|0)<=0)c[a>>2]=1;return}function tq(a,b){a=a|0;b=b|0;rb[a&7](b);return}function uq(){var a=0,b=0;a=l;l=l+16|0;if((l|0)>=(m|0))$(16);b=Na(199,a|0)|0;l=a;return b|0}function vq(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;if((l|0)>=(m|0))$(16);e=d;c[e>>2]=a;c[e+4>>2]=b;b=yo(Ya(33,e|0)|0)|0;l=d;return b|0}function wq(){var a=0,b=0;a=l;l=l+16|0;if((l|0)>=(m|0))$(16);b=hb(201,a|0)|0;l=a;return b|0}function xq(a){a=a|0;return rq(213,a,0,0)|0}function yq(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;if((l|0)>=(m|0))$(16);e=d;c[e>>2]=a;c[e+4>>2]=0;c[e+8>>2]=b;c[e+12>>2]=((b|0)<0)<<31>>31;b=yo(Ma(194,e|0)|0)|0;l=d;return b|0}function zq(){var a=0,b=0;a=l;l=l+16|0;if((l|0)>=(m|0))$(16);b=ya(64,a|0)|0;l=a;return b|0}function Aq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;j=l;l=l+32|0;if((l|0)>=(m|0))$(32);i=j;h=((g|0)<0)<<31>>31;do if((g&4095|0)==0&(h&-4096|0)==0){if(b>>>0>2147483646){c[(zo()|0)>>2]=12;a=-1;break}if(e&16|0)Vo();h=gr(g|0,h|0,12)|0;c[i>>2]=a;c[i+4>>2]=b;c[i+8>>2]=d;c[i+12>>2]=e;c[i+16>>2]=f;c[i+20>>2]=h;a=yo(Ja(192,i|0)|0)|0}else{c[(zo()|0)>>2]=22;a=-1}while(0);l=j;return a|0}function Bq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+48|0;if((l|0)>=(m|0))$(48);g=h+16|0;f=h;e=h+32|0;if(!(b&4194368))e=0;else{c[e>>2]=d;i=(c[e>>2]|0)+(4-1)&~(4-1);d=c[i>>2]|0;c[e>>2]=i+4;e=d}c[f>>2]=a;c[f+4>>2]=b|32768;c[f+8>>2]=e;e=db(5,f|0)|0;if(!((b&524288|0)==0|(e|0)<0)){c[g>>2]=e;c[g+4>>2]=2;c[g+8>>2]=1;wa(221,g|0)|0}i=yo(e)|0;l=h;return i|0}function Cq(a){a=a|0;bb(70852);Dq(a);_a(70852);return}function Dq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=c[4071]|0;if(!f)c[c[4072]>>2]=a;else{c[4073]=(f|0)==31|(f|0)==7?3:1;c[17715]=0;if((f|0)>0){b=c[4072]|0;e=0;d=0;do{g=kr(a|0,d|0,1284865837,1481765933)|0;a=_q(g|0,D|0,1,0)|0;d=D;c[b+(e<<2)>>2]=d;e=e+1|0}while((e|0)<(f|0))}else b=c[4072]|0;c[b>>2]=c[b>>2]|1}return}function Eq(){var a=0,b=0,d=0,e=0,f=0;bb(70852);a=c[4071]|0;if(!a){b=c[4072]|0;a=(S(c[b>>2]|0,1103515245)|0)+12345&2147483647;c[b>>2]=a}else{d=c[17715]|0;b=c[4072]|0;e=c[4073]|0;f=b+(e<<2)|0;b=(c[f>>2]|0)+(c[b+(d<<2)>>2]|0)|0;c[f>>2]=b;e=e+1|0;c[4073]=(e|0)==(a|0)?0:e;d=d+1|0;c[17715]=(d|0)==(a|0)?0:d;a=b>>>1}_a(70852);return a|0}function Fq(b){b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;while(1){e=a[b>>0]|0;c=e<<24>>24;f=b+1|0;if(!(Lo(c)|0))break;else b=f}switch(c|0){case 45:{b=1;g=5;break}case 43:{b=0;g=5;break}default:{h=0;d=b;b=e}}if((g|0)==5){h=b;d=f;b=a[f>>0]|0}c=(b<<24>>24)+-48|0;if(c>>>0<10){b=0;do{d=d+1|0;b=(b*10|0)-c|0;c=(a[d>>0]|0)+-48|0}while(c>>>0<10)}else b=0;return (h|0?b:0-b|0)|0}function Gq(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;if((l|0)>=(m|0))$(16);e=d;c[e>>2]=a;c[e+4>>2]=b;b=yo(Wa(77,e|0)|0)|0;l=d;return b|0}function Hq(a,b){a=a|0;b=b|0;if(!a)b=Qq(1,24)|0;else{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0}return b|0}function Iq(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;if(b|0)do{Pq(c[b>>2]|0);d=b;b=c[b+4>>2]|0;Pq(d)}while((b|0)!=0);Pq(a);return}function Jq(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;h=a+16|0;a:do if(!(c[h>>2]|0)){k=a+12|0;g=c[k>>2]|0;do if(g>>>0<f>>>0){if(b|0)if(!d){c[h>>2]=1;b=0;break a}else{i=a+8|0;c[i>>2]=d;c[k>>2]=1024;h=d;b=d;g=1024;break}g=f<<3;g=g>>>0>1024?g:1024;i=Oq(8)|0;if(!i){c[h>>2]=1;b=0;break a}b=Oq(g)|0;c[i>>2]=b;j=b;if(!b){Pq(i);c[h>>2]=1;b=0;break a}c[i+4>>2]=0;d=a+4|0;h=c[d>>2]|0;if(h|0)c[h+4>>2]=i;if(!(c[a>>2]|0))c[a>>2]=i;c[d>>2]=i;i=a+8|0;c[i>>2]=j;c[k>>2]=g;h=j}else{i=a+8|0;b=c[i>>2]|0;h=b}while(0);d=h+f&3;d=((d|0)==0?0:4-d|0)+f|0;c[i>>2]=b+d;c[k>>2]=g-d;if(e)Yq(b|0,0,d|0)|0}else b=0;while(0);return b|0}function Kq(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0;Z=l;l=l+16|0;if((l|0)>=(m|0))$(16);U=Z;X=c[a+4>>2]|0;Y=X+56|0;W=(c[Y>>2]&8|0)==0?d:0;R=X+40|0;a=c[R>>2]|0;if((a|0)>0&(W|0)!=0){a=Oq(a<<2)|0;if(!a)a=12;else{V=a;T=3}}else{V=0;T=3}if((T|0)==3){if(!(c[X+60>>2]|0)){c[U>>2]=0;i=f&1;Q=f&2;h=c[Y>>2]&4;if(!V)O=0;else O=c[R>>2]|0;P=O<<2;g=c[X+52>>2]|0;f=g<<3;d=f+8|0;a=P+12+f+(d+(S(P,g)|0)<<1)|0;R=Oq(a)|0;if(!R){a=12;d=0}else{Yq(R|0,0,a|0)|0;a=R+P|0;j=a&3;j=a+((j|0)==0?0:4-j|0)|0;a=j+d|0;k=a&3;k=a+((k|0)==0?0:4-k|0)|0;a=k+d|0;N=a&3;N=a+((N|0)==0?0:4-N|0)|0;a=N+f|0;d=a&3;if((g|0)>0){a=a+((d|0)==0?0:4-d|0)|0;d=0;while(1){c[k+(d<<3)+4>>2]=a;a=a+P|0;c[j+(d<<3)+4>>2]=a;d=d+1|0;if((d|0)==(g|0)){a=0;break}else a=a+P|0}do{c[N+(a<<3)>>2]=-1;a=a+1|0}while((a|0)!=(g|0))}a=Zp(U,b,4)|0;if((a|0)<1)if((a|0)<0){a=1;d=0}else{a=1;T=201}else T=201;a:do if((T|0)==201){M=X+8|0;F=(h|0)!=0;G=(O|0)>0;H=X+12|0;I=X+44|0;J=X+32|0;K=X+36|0;L=(O|0)==0;E=(i|0)==0;D=(O|0)<1;g=0;w=b+a|0;v=0;h=0;d=-1;f=j;B=R;z=j;x=k;while(1){if((d|0)<0){i=c[M>>2]|0;j=i+8|0;b:do if(c[j>>2]|0){q=(v|0)!=0;r=(g|0)==95;s=(v|0)==0;u=F&(g|0)==10;t=E&(v|0)<1;while(1){c:while(1){p=i+12|0;if((c[N+(c[p>>2]<<3)>>2]|0)>=(v|0))break;o=i+20|0;k=c[o>>2]|0;if(!k){T=236;break}d:do if(u|(t|(k&1|0)==0)){if(k&2|0?(b=c[U>>2]|0,!((b|Q|0)==0|F&(b|0)==10)):0)break;do if(k&16|0){if(r)break d;if(Fp(g)|0)break d;k=c[U>>2]|0;if((k|0)==95)break;if(!(Fp(k)|0))break d}while(0);k=c[o>>2]|0;if(k&32){if(r){k=c[U>>2]|0;if((k|0)==95)break}else{b=(Fp(g)|0)==0;k=c[U>>2]|0;if(b|(k|0)==95)break}if(Fp(k)|0)break;k=c[o>>2]|0}n=c[U>>2]|0;do if((n|0)!=0&(q&(k&64|0)!=0)){if(r)k=1;else{k=(Fp(g)|0)!=0;n=c[U>>2]|0}if((n|0)==95)if(k)break d;else break;else if(k^(Fp(n)|0)!=0)break;else break d}while(0);if(!(c[o>>2]&128)){T=236;break c}k=c[U>>2]|0;if(s|(k|0)==0)break;if(r)n=1;else{n=(Fp(g)|0)!=0;k=c[U>>2]|0}if((k|0)==95)if(n){T=236;break c}else break;else if(n^(Fp(k)|0)!=0)break;else{T=236;break c}}while(0);j=i+40|0;if(!(c[j>>2]|0))break b;else i=i+32|0}if((T|0)==236){T=0;c[f>>2]=c[j>>2];if(G)Yq(c[f+4>>2]|0,-1,P|0)|0;j=c[i+16>>2]|0;do if(j|0){k=c[j>>2]|0;if((k|0)<=-1)break;n=f+4|0;do{if((k|0)<(O|0))c[(c[n>>2]|0)+(k<<2)>>2]=v;j=j+4|0;k=c[j>>2]|0}while((k|0)>-1)}while(0);j=(c[f>>2]|0)!=(c[H>>2]|0);if(D|j){h=j?h:1;d=j?d:v;j=f+4|0}else{j=f+4|0;h=c[j>>2]|0;d=0;do{c[V+(d<<2)>>2]=c[h+(d<<2)>>2];d=d+1|0}while((d|0)!=(O|0));h=1;d=v}b=c[p>>2]|0;c[N+(b<<3)>>2]=v;c[N+(b<<3)+4>>2]=j;f=f+8|0}j=i+40|0;if(!(c[j>>2]|0))break;else i=i+32|0}}while(0);c[f>>2]=0;f=c[U>>2]|0;if(!f)break;else g=f}else{if(L)break;g=c[U>>2]|0;if(!((f|0)!=(z|0)&(g|0)!=0))break}C=v+a|0;a=Zp(U,w,4)|0;if((a|0)<1)if((a|0)<0){a=1;d=0;break a}else a=1;A=w+a|0;if((h|0)!=0&(c[I>>2]|0)!=0){if(!(c[z>>2]|0))f=x;else{p=c[K>>2]|0;q=c[p>>2]|0;r=(q|0)>-1;o=z;f=x;do{n=o+4|0;e:do if(r){i=0;k=q;do{j=c[p+((i|1)<<2)>>2]|0;if((k|0)>=(O|0))break e;h=c[n>>2]|0;if((c[h+(j<<2)>>2]|0)==(c[V+(j<<2)>>2]|0)?(c[h+(k<<2)>>2]|0)<(c[V+(k<<2)>>2]|0):0)break e;i=i+2|0;k=c[p+(i<<2)>>2]|0}while((k|0)>-1);i=n;T=265}else{i=n;h=c[n>>2]|0;T=265}while(0);if((T|0)==265){T=0;c[f>>2]=c[o>>2];y=f+4|0;b=c[y>>2]|0;c[y>>2]=h;c[i>>2]=b;f=f+8|0}o=o+8|0}while((c[o>>2]|0)!=0)}c[f>>2]=0;y=z;h=0}else{y=x;x=z}i=c[x>>2]|0;if(!i){i=B;f=y}else{s=(C|0)!=0;t=(g|0)==95;u=(C|0)==0;w=F&(g|0)==10;v=E&(C|0)<1;r=x;j=B;f=y;while(1){k=i+8|0;if(c[k>>2]|0){q=r+4|0;p=j;o=k;while(1){f:do if((c[i>>2]|0)>>>0>g>>>0)j=p;else{if((c[i+4>>2]|0)>>>0<g>>>0){j=p;break}n=i+20|0;j=c[n>>2]|0;do if(j|0){if(!(w|(v|(j&1|0)==0))){j=p;break f}if(j&2|0?(b=c[U>>2]|0,!((b|Q|0)==0|F&(b|0)==10)):0){j=p;break f}do if(j&16|0){if(t){j=p;break f}if(Fp(g)|0){j=p;break f}j=c[U>>2]|0;if((j|0)==95)break;if(!(Fp(j)|0)){j=p;break f}}while(0);j=c[n>>2]|0;if(j&32){if(t){j=c[U>>2]|0;if((j|0)==95){j=p;break f}}else{b=(Fp(g)|0)==0;j=c[U>>2]|0;if(b|(j|0)==95){j=p;break f}}if(Fp(j)|0){j=p;break f}j=c[n>>2]|0}k=c[U>>2]|0;do if((k|0)!=0&(s&(j&64|0)!=0)){if(t)j=1;else{j=(Fp(g)|0)!=0;k=c[U>>2]|0}if((k|0)==95)if(j){j=p;break f}else break;else if(j^(Fp(k)|0)!=0)break;else{j=p;break f}}while(0);do if(c[n>>2]&128|0){j=c[U>>2]|0;if(u|(j|0)==0){j=p;break f}if(t)k=1;else{k=(Fp(g)|0)!=0;j=c[U>>2]|0}if((j|0)==95)if(k)break;else{j=p;break f}else if(k^(Fp(j)|0)!=0){j=p;break f}else break}while(0);j=c[n>>2]|0;do if(j&4){if(c[Y>>2]&2|0)break;if(!(Ep(g,c[i+24>>2]|0)|0)){j=p;break f}j=c[n>>2]|0}while(0);do if(j&4|0){if(!(c[Y>>2]&2))break;b=$o(g)|0;j=i+24|0;if(Ep(b,c[j>>2]|0)|0)break;b=_o(g)|0;if(!(Ep(b,c[j>>2]|0)|0)){j=p;break f}}while(0);if(!(c[n>>2]&8))break;if(Nq(c[i+28>>2]|0,g,c[Y>>2]&2)|0){j=p;break f}}while(0);if(G){k=c[q>>2]|0;j=0;do{c[p+(j<<2)>>2]=c[k+(j<<2)>>2];j=j+1|0}while((j|0)!=(O|0))}j=c[i+16>>2]|0;do if(j|0){k=c[j>>2]|0;if((k|0)<=-1)break;do{if((k|0)<(O|0))c[p+(k<<2)>>2]=C;j=j+4|0;k=c[j>>2]|0}while((k|0)>-1)}while(0);j=c[i+12>>2]|0;k=N+(j<<3)|0;if((c[k>>2]|0)>=(C|0)){j=c[N+(j<<3)+4>>2]|0;k=c[j>>2]|0;if(!(Lq(O,c[J>>2]|0,p,k)|0)){j=p;break}c[j>>2]=p;if((c[o>>2]|0)!=(c[H>>2]|0)){j=k;break}if(G)d=0;else{h=1;j=k;d=C;break}while(1){c[V+(d<<2)>>2]=c[p+(d<<2)>>2];d=d+1|0;if((d|0)==(O|0)){h=1;j=k;d=C;break f}}}b=c[o>>2]|0;c[f>>2]=b;B=f+4|0;n=c[B>>2]|0;c[B>>2]=p;c[k>>2]=C;c[N+(j<<3)+4>>2]=B;do if((b|0)==(c[H>>2]|0)){if((d|0)==-1)if(G)d=0;else{d=C;h=1;break}else{if(!G)break;if((c[p>>2]|0)>(c[V>>2]|0))break;else d=0}do{c[V+(d<<2)>>2]=c[p+(d<<2)>>2];d=d+1|0}while((d|0)<(O|0));d=C;h=1}while(0);j=n;f=f+8|0}while(0);o=i+40|0;if(!(c[o>>2]|0))break;else{i=i+32|0;p=j}}}r=r+8|0;i=c[r>>2]|0;if(!i){i=j;break}}}c[f>>2]=0;w=A;v=C;B=i;z=y}a=d>>>31}while(0);Pq(R)}}else{c[U>>2]=0;i=f&1;P=f&2;d=c[Y>>2]&4;Q=Hq(0,0)|0;g:do if(Q){j=Jq(Q,0,0,0,32)|0;if(!j){Iq(Q);d=0;a=12;break}c[j+24>>2]=0;c[j+28>>2]=0;k=c[R>>2]|0;if(k){f=Oq(k<<2)|0;if(!f){d=0;h=0;g=0;a=12}else T=9}else{f=0;T=9}h:do if((T|0)==9){a=c[X+28>>2]|0;if(a){h=Oq(a<<3)|0;if(!h){d=0;g=0;a=12;break}}else h=0;O=X+52|0;a=c[O>>2]|0;if(a){g=Oq(a<<2)|0;if(!g){d=0;a=12;break}}else g=0;J=X+8|0;K=X+12|0;L=(V|0)==0;M=(V|0)!=0;N=X+32|0;F=(d|0)!=0;G=(f|0)==0;H=(h|0)==0;I=(g|0)==0;E=(i|0)==0;o=b;n=1;i=-1;s=-1;a=k;i:while(1){if((a|0)>0){d=0;do{c[f+(d<<2)>>2]=-1;if(!L){c[V+(d<<2)>>2]=-1;a=c[R>>2]|0}d=d+1|0}while((d|0)<(a|0))}a=c[O>>2]|0;if((a|0)>0)Yq(g|0,0,a<<2|0)|0;k=c[U>>2]|0;D=n+i|0;a=Zp(U,o,4)|0;if((a|0)<1)if((a|0)<0){d=0;a=1;break h}else a=1;B=o+a|0;C=c[U>>2]|0;d=c[J>>2]|0;i=d+8|0;if(c[i>>2]|0){t=(D|0)!=0;u=(k|0)==95;v=(D|0)==0;x=F&(k|0)==10;w=E&(D|0)<1;r=d;d=0;q=0;p=i;while(1){o=r+20|0;i=c[o>>2]|0;j:do if(i){if(!(x|(w|(i&1|0)==0))){n=q;break}if(i&2|0?(A=c[U>>2]|0,!((A|P|0)==0|F&(A|0)==10)):0){n=q;break}do if(i&16|0){if(u){n=q;break j}if(Fp(k)|0){n=q;break j}i=c[U>>2]|0;if((i|0)==95)break;if(!(Fp(i)|0)){n=q;break j}}while(0);i=c[o>>2]|0;if(i&32){if(u){i=c[U>>2]|0;if((i|0)==95){n=q;break}}else{A=(Fp(k)|0)==0;i=c[U>>2]|0;if(A|(i|0)==95){n=q;break}}if(Fp(i)|0){n=q;break}i=c[o>>2]|0}n=c[U>>2]|0;do if((n|0)!=0&(t&(i&64|0)!=0)){if(u)i=1;else{i=(Fp(k)|0)!=0;n=c[U>>2]|0}if((n|0)==95)if(i){n=q;break j}else break;else if(i^(Fp(n)|0)!=0)break;else{n=q;break j}}while(0);if(!(c[o>>2]&128)){T=52;break}i=c[U>>2]|0;if(v|(i|0)==0){n=q;break}if(u)n=1;else{n=(Fp(k)|0)!=0;i=c[U>>2]|0}if((i|0)==95)if(n){T=52;break}else{n=q;break}else if(n^(Fp(i)|0)!=0){n=q;break}else{T=52;break}}else T=52;while(0);do if((T|0)==52){T=0;if(!q){d=c[r+16>>2]|0;n=c[p>>2]|0;break}n=j+28|0;i=c[n>>2]|0;if(!i){i=Jq(Q,0,0,0,32)|0;if(!i){T=56;break i}c[i+24>>2]=j;c[i+28>>2]=0;A=Jq(Q,0,0,0,c[R>>2]<<2)|0;c[i+20>>2]=A;if(!A){T=63;break i}c[n>>2]=i;j=i}else j=i;c[j>>2]=D;c[j+4>>2]=B;c[j+8>>2]=c[p>>2];c[j+12>>2]=c[r+12>>2];c[j+16>>2]=c[U>>2];if((c[R>>2]|0)>0){n=c[j+20>>2]|0;i=0;do{c[n+(i<<2)>>2]=c[f+(i<<2)>>2];i=i+1|0}while((i|0)<(c[R>>2]|0))}i=c[r+16>>2]|0;if(!i){n=q;break}n=c[i>>2]|0;if((n|0)<=-1){n=q;break}o=c[j+20>>2]|0;do{i=i+4|0;c[o+(n<<2)>>2]=D;n=c[i>>2]|0}while((n|0)>-1);n=q}while(0);p=r+40|0;if(!(c[p>>2]|0))break;else{r=r+32|0;q=n}}if(d){i=c[d>>2]|0;if((i|0)>-1)do{c[f+(i<<2)>>2]=D;d=d+4|0;i=c[d>>2]|0}while((i|0)>-1)}else d=0;if(!n){i=D;q=0;n=B;T=174}else{o=k;p=D;t=B;A=s;z=n;T=82}}else{i=D;q=0;n=B;d=0;T=174}k:while(1){l:do if((T|0)==82){T=0;if((z|0)==(c[K>>2]|0)){if((A|0)>=(p|0)){if(!(M&(A|0)==(p|0))){s=A;k=o;i=p;q=z;n=t;T=174;continue k}if(!(Lq(c[R>>2]|0,c[N>>2]|0,f,V)|0)){s=A;k=o;i=A;q=z;n=t;T=174;continue k}}if(L){s=p;k=o;i=p;q=z;n=t;T=174;continue k}if((c[R>>2]|0)>0)i=0;else{s=p;k=o;i=p;q=z;n=t;T=174;continue k}while(1){c[V+(i<<2)>>2]=c[f+(i<<2)>>2];i=i+1|0;if((i|0)>=(c[R>>2]|0)){s=p;k=o;i=p;q=z;n=t;T=174;continue k}}}r=z+8|0;do if(!(c[r>>2]|0))T=98;else{if(!(c[z+20>>2]&256)){T=98;break}k=c[z+24>>2]|0;Mq(k+1|0,h,c[Y>>2]&-9,X,f,p);y=c[h+(k<<3)>>2]|0;k=(c[h+(k<<3)+4>>2]|0)-y|0;do if(!(Jo(b+y|0,t+-1|0,k)|0)){y=(k|0)==0;i=y&1;n=g+(c[z+12>>2]<<2)|0;if(y?c[n>>2]|0:0){k=o;i=p;n=t;o=25;break}c[n>>2]=i;i=k+-1|0;n=t+i|0;k=c[U>>2]|0;i=p+a+i|0;a=Zp(U,n,4)|0;if((a|0)<1)if((a|0)<0){o=2;break}else a=1;n=n+a|0;o=0}else{k=o;i=p;n=t;o=25}while(0);switch(o&31){case 25:{s=A;q=z;T=174;continue k}case 0:{y=i;break}default:{s=A;q=z;break l}}}while(0);if((T|0)==98){T=0;k=c[U>>2]|0;if(!k){s=A;k=o;i=p;q=z;n=t;T=174;continue k}i=p+a|0;a=Zp(U,t,4)|0;if((a|0)<1)if((a|0)<0){s=A;o=2;q=z;n=t;break}else a=1;y=i;n=t+a|0}if(!(c[r>>2]|0)){s=A;i=y;q=z;T=174;continue k}t=(y|0)!=0;u=(k|0)==95;v=(y|0)==0;x=F&(k|0)==10;w=E&(y|0)<1;q=0;s=z;m:while(1){n:do if((c[s>>2]|0)>>>0<=k>>>0){if((c[s+4>>2]|0)>>>0<k>>>0)break;p=s+20|0;i=c[p>>2]|0;do if(i|0){if(!(x|(w|(i&1|0)==0)))break n;if(i&2|0?(T=c[U>>2]|0,!((T|P|0)==0|F&(T|0)==10)):0)break n;do if(i&16|0){if(u)break n;if(Fp(k)|0)break n;i=c[U>>2]|0;if((i|0)==95)break;if(!(Fp(i)|0))break n}while(0);i=c[p>>2]|0;if(i&32){if(u){i=c[U>>2]|0;if((i|0)==95)break n}else{T=(Fp(k)|0)==0;i=c[U>>2]|0;if(T|(i|0)==95)break n}if(Fp(i)|0)break n;i=c[p>>2]|0}o=c[U>>2]|0;do if((o|0)!=0&(t&(i&64|0)!=0)){if(u)i=1;else{i=(Fp(k)|0)!=0;o=c[U>>2]|0}if((o|0)==95)if(i)break n;else break;else if(i^(Fp(o)|0)!=0)break;else break n}while(0);do if(c[p>>2]&128|0){i=c[U>>2]|0;if(v|(i|0)==0)break n;if(u)o=1;else{o=(Fp(k)|0)!=0;i=c[U>>2]|0}if((i|0)==95)if(o)break;else break n;else if(o^(Fp(i)|0)!=0)break n;else break}while(0);i=c[p>>2]|0;do if(i&4){if(c[Y>>2]&2|0)break;if(!(Ep(k,c[s+24>>2]|0)|0))break n;i=c[p>>2]|0}while(0);do if(i&4|0){if(!(c[Y>>2]&2))break;T=$o(k)|0;i=s+24|0;if(Ep(T,c[i>>2]|0)|0)break;T=_o(k)|0;if(!(Ep(T,c[i>>2]|0)|0))break n}while(0);if(!(c[p>>2]&8))break;if(Nq(c[s+28>>2]|0,k,c[Y>>2]&2)|0)break n}while(0);if(!q){q=c[r>>2]|0;d=c[s+16>>2]|0;break}o=j+28|0;i=c[o>>2]|0;if(!i){i=Jq(Q,0,0,0,32)|0;if(!i){T=148;break m}c[i+24>>2]=j;c[i+28>>2]=0;T=Jq(Q,0,0,0,c[R>>2]<<2)|0;c[i+20>>2]=T;if(!T){T=155;break m}c[o>>2]=i;j=i}else j=i;c[j>>2]=y;c[j+4>>2]=n;c[j+8>>2]=c[r>>2];c[j+12>>2]=c[s+12>>2];c[j+16>>2]=c[U>>2];if((c[R>>2]|0)>0){o=c[j+20>>2]|0;i=0;do{c[o+(i<<2)>>2]=c[f+(i<<2)>>2];i=i+1|0}while((i|0)<(c[R>>2]|0))}i=c[s+16>>2]|0;if(!i)break;o=c[i>>2]|0;if((o|0)<=-1)break;p=c[j+20>>2]|0;do{c[p+(o<<2)>>2]=y;i=i+4|0;o=c[i>>2]|0}while((o|0)>-1)}while(0);r=s+40|0;if(!(c[r>>2]|0)){T=170;break}else s=s+32|0}if((T|0)==148){T=0;Iq(Q);if(!G)Pq(f);if(!H)Pq(h);if(I){s=A;i=y;o=1;q=z;break}Pq(g);s=A;i=y;o=1;q=z;break}else if((T|0)==155){T=0;Iq(Q);if(!G)Pq(f);if(!H)Pq(h);if(I){s=A;i=y;o=1;q=z;break}Pq(g);s=A;i=y;o=1;q=z;break}else if((T|0)==170){T=0;if(!q){s=A;i=y;q=z;T=174;continue k}if(!d){d=0;s=A;i=y;o=0;break}i=c[d>>2]|0;if((i|0)<=-1){s=A;i=y;o=0;break}do{d=d+4|0;c[f+(i<<2)>>2]=y;i=c[d>>2]|0}while((i|0)>-1);s=A;i=y;o=0}}else if((T|0)==174){T=0;o=c[j+24>>2]|0;if(!o){if((s|0)>-1|(c[U>>2]|0)==0){o=27;break}c[U>>2]=C;o=3;n=B;break}q=c[j+8>>2]|0;if(c[q+20>>2]&256|0)c[g+(c[j+12>>2]<<2)>>2]=0;p=c[j>>2]|0;r=c[j+4>>2]|0;c[U>>2]=c[j+16>>2];n=c[R>>2]|0;if((n|0)<=0){j=o;i=p;o=0;n=r;break}j=c[j+20>>2]|0;i=0;do{c[f+(i<<2)>>2]=c[j+(i<<2)>>2];i=i+1|0}while((i|0)!=(n|0));j=o;i=p;o=0;n=r}while(0);switch(o|0){case 2:{d=0;a=1;break h}case 27:{T=184;break i}case 0:{o=k;p=i;t=n;A=s;z=q;T=82;break}case 3:break k;default:{d=0;a=12;break g}}}o=n;n=a;i=D;a=c[R>>2]|0}if((T|0)==56){Iq(Q);if(!G)Pq(f);if(!H)Pq(h);if(I){d=0;a=12;break g}Pq(g);d=0;a=12;break g}else if((T|0)==63){Iq(Q);if(!G)Pq(f);if(!H)Pq(h);if(I){d=0;a=12;break g}Pq(g);d=0;a=12;break g}else if((T|0)==184){d=s;a=s>>>31;break}}while(0);Iq(Q);if(f|0)Pq(f);if(h|0)Pq(h);if(g)Pq(g)}else{d=0;a=12}while(0)}if(!a)Mq(W,e,c[Y>>2]|0,X,V,d);if(V)Pq(V)}l=Z;return a|0}function Lq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;a:do if((a|0)>0){f=0;while(1){h=c[d+(f<<2)>>2]|0;g=c[e+(f<<2)>>2]|0;if(!(c[b+(f<<2)>>2]|0)){if((h|0)<(g|0)){f=1;break a}if((h|0)>(g|0)){f=0;break a}}else{if((h|0)>(g|0)){f=1;break a}if((h|0)<(g|0)){f=0;break a}}f=f+1|0;if((f|0)>=(a|0)){f=0;break}}}else f=0;while(0);return f|0}function Mq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;if((d&8|0)==0&(g|0)>-1){n=c[e+16>>2]|0;l=e+28|0;d=c[l>>2]|0;m=(a|0)!=0;if(m&(d|0)!=0){k=e+48|0;j=0;do{d=c[n+(j*12|0)>>2]|0;if((d|0)==(c[k>>2]|0))i=g;else i=c[f+(d<<2)>>2]|0;h=b+(j<<3)|0;c[h>>2]=i;d=c[n+(j*12|0)+4>>2]|0;if((d|0)==(c[k>>2]|0))e=g;else e=c[f+(d<<2)>>2]|0;d=b+(j<<3)+4|0;c[d>>2]=e;if((i|0)==-1|(e|0)==-1){c[d>>2]=-1;c[h>>2]=-1}j=j+1|0;d=c[l>>2]|0}while(j>>>0<a>>>0&j>>>0<d>>>0);f=d}else f=d;if(m&(f|0)!=0){d=0;do{i=b+(d<<3)+4|0;j=c[n+(d*12|0)+8>>2]|0;if(j|0?(o=c[j>>2]|0,(o|0)>-1):0){k=b+(d<<3)|0;h=0;l=o;e=c[k>>2]|0;do{if(!((e|0)>=(c[b+(l<<3)>>2]|0)?(c[i>>2]|0)<=(c[b+(l<<3)+4>>2]|0):0)){c[i>>2]=-1;c[k>>2]=-1;e=-1}h=h+1|0;l=c[j+(h<<2)>>2]|0}while((l|0)>-1)}d=d+1|0}while(d>>>0<a>>>0&d>>>0<f>>>0)}else d=0}else d=0;if(d>>>0<a>>>0)Yq(b+(d<<3)|0,-1,a-d<<3|0)|0;return}function Nq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=c[a>>2]|0;a:do if(!e)d=0;else{f=(d|0)==0;d=e;while(1){if(f){if(Ep(b,d)|0){d=1;break a}}else{e=_o(b)|0;if(Ep(e,c[a>>2]|0)|0){d=1;break a}e=$o(b)|0;if(Ep(e,c[a>>2]|0)|0){d=1;break a}}a=a+4|0;d=c[a>>2]|0;if(!d){d=0;break}}}while(0);return d|0}function Oq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;M=l;l=l+16|0;if((l|0)>=(m|0))$(16);q=M;do if(a>>>0<245){p=a>>>0<11?16:a+11&-8;a=p>>>3;u=c[17716]|0;d=u>>>a;if(d&3|0){a=(d&1^1)+a|0;d=70904+(a<<1<<2)|0;e=d+8|0;f=c[e>>2]|0;g=f+8|0;h=c[g>>2]|0;do if((d|0)!=(h|0)){if(h>>>0<(c[17720]|0)>>>0)za();b=h+12|0;if((c[b>>2]|0)==(f|0)){c[b>>2]=d;c[e>>2]=h;break}else za()}else c[17716]=u&~(1<<a);while(0);L=a<<3;c[f+4>>2]=L|3;L=f+L+4|0;c[L>>2]=c[L>>2]|1;L=g;l=M;return L|0}t=c[17718]|0;if(p>>>0>t>>>0){if(d|0){i=2<<a;a=d<<a&(i|0-i);a=(a&0-a)+-1|0;i=a>>>12&16;a=a>>>i;e=a>>>5&8;a=a>>>e;g=a>>>2&4;a=a>>>g;d=a>>>1&2;a=a>>>d;b=a>>>1&1;b=(e|i|g|d|b)+(a>>>b)|0;a=70904+(b<<1<<2)|0;d=a+8|0;g=c[d>>2]|0;i=g+8|0;e=c[i>>2]|0;do if((a|0)!=(e|0)){if(e>>>0<(c[17720]|0)>>>0)za();f=e+12|0;if((c[f>>2]|0)==(g|0)){c[f>>2]=a;c[d>>2]=e;j=u;break}else za()}else{j=u&~(1<<b);c[17716]=j}while(0);h=(b<<3)-p|0;c[g+4>>2]=p|3;e=g+p|0;c[e+4>>2]=h|1;c[e+h>>2]=h;if(t|0){f=c[17721]|0;b=t>>>3;d=70904+(b<<1<<2)|0;b=1<<b;if(j&b){b=d+8|0;a=c[b>>2]|0;if(a>>>0<(c[17720]|0)>>>0)za();else{k=a;n=b}}else{c[17716]=j|b;k=d;n=d+8|0}c[n>>2]=f;c[k+12>>2]=f;c[f+8>>2]=k;c[f+12>>2]=d}c[17718]=h;c[17721]=e;L=i;l=M;return L|0}k=c[17717]|0;if(k){a=(k&0-k)+-1|0;K=a>>>12&16;a=a>>>K;J=a>>>5&8;a=a>>>J;L=a>>>2&4;a=a>>>L;i=a>>>1&2;a=a>>>i;j=a>>>1&1;j=c[71168+((J|K|L|i|j)+(a>>>j)<<2)>>2]|0;a=j;i=j;j=(c[j+4>>2]&-8)-p|0;while(1){b=c[a+16>>2]|0;if(!b){b=c[a+20>>2]|0;if(!b)break}L=(c[b+4>>2]&-8)-p|0;K=L>>>0<j>>>0;a=b;i=K?b:i;j=K?L:j}f=c[17720]|0;if(i>>>0<f>>>0)za();h=i+p|0;if(i>>>0>=h>>>0)za();g=c[i+24>>2]|0;d=c[i+12>>2]|0;do if((d|0)==(i|0)){a=i+20|0;b=c[a>>2]|0;if(!b){a=i+16|0;b=c[a>>2]|0;if(!b){o=0;break}}while(1){d=b+20|0;e=c[d>>2]|0;if(e|0){b=e;a=d;continue}d=b+16|0;e=c[d>>2]|0;if(!e)break;else{b=e;a=d}}if(a>>>0<f>>>0)za();else{c[a>>2]=0;o=b;break}}else{e=c[i+8>>2]|0;if(e>>>0<f>>>0)za();b=e+12|0;if((c[b>>2]|0)!=(i|0))za();a=d+8|0;if((c[a>>2]|0)==(i|0)){c[b>>2]=d;c[a>>2]=e;o=d;break}else za()}while(0);do if(g|0){b=c[i+28>>2]|0;a=71168+(b<<2)|0;if((i|0)==(c[a>>2]|0)){c[a>>2]=o;if(!o){c[17717]=k&~(1<<b);break}}else{if(g>>>0<(c[17720]|0)>>>0)za();b=g+16|0;if((c[b>>2]|0)==(i|0))c[b>>2]=o;else c[g+20>>2]=o;if(!o)break}a=c[17720]|0;if(o>>>0<a>>>0)za();c[o+24>>2]=g;b=c[i+16>>2]|0;do if(b|0)if(b>>>0<a>>>0)za();else{c[o+16>>2]=b;c[b+24>>2]=o;break}while(0);b=c[i+20>>2]|0;if(b|0)if(b>>>0<(c[17720]|0)>>>0)za();else{c[o+20>>2]=b;c[b+24>>2]=o;break}}while(0);if(j>>>0<16){L=j+p|0;c[i+4>>2]=L|3;L=i+L+4|0;c[L>>2]=c[L>>2]|1}else{c[i+4>>2]=p|3;c[h+4>>2]=j|1;c[h+j>>2]=j;if(t|0){e=c[17721]|0;b=t>>>3;d=70904+(b<<1<<2)|0;b=1<<b;if(u&b){b=d+8|0;a=c[b>>2]|0;if(a>>>0<(c[17720]|0)>>>0)za();else{r=a;s=b}}else{c[17716]=u|b;r=d;s=d+8|0}c[s>>2]=e;c[r+12>>2]=e;c[e+8>>2]=r;c[e+12>>2]=d}c[17718]=j;c[17721]=h}L=i+8|0;l=M;return L|0}}}else if(a>>>0<=4294967231){a=a+11|0;p=a&-8;k=c[17717]|0;if(k){e=0-p|0;a=a>>>8;if(a)if(p>>>0>16777215)j=31;else{s=(a+1048320|0)>>>16&8;E=a<<s;r=(E+520192|0)>>>16&4;E=E<<r;j=(E+245760|0)>>>16&2;j=14-(r|s|j)+(E<<j>>>15)|0;j=p>>>(j+7|0)&1|j<<1}else j=0;a=c[71168+(j<<2)>>2]|0;a:do if(!a){d=0;f=0;E=86}else{f=0;i=a;h=p<<((j|0)==31?0:25-(j>>>1)|0);d=0;while(1){a=(c[i+4>>2]&-8)-p|0;if(a>>>0<e>>>0)if(!a){a=i;e=0;d=i;E=90;break a}else{f=i;e=a}a=c[i+20>>2]|0;i=c[i+16+(h>>>31<<2)>>2]|0;d=(a|0)==0|(a|0)==(i|0)?d:a;a=(i|0)==0;if(a){E=86;break}else h=h<<(a&1^1)}}while(0);if((E|0)==86){if((d|0)==0&(f|0)==0){a=2<<j;a=k&(a|0-a);if(!a)break;s=(a&0-a)+-1|0;n=s>>>12&16;s=s>>>n;j=s>>>5&8;s=s>>>j;o=s>>>2&4;s=s>>>o;r=s>>>1&2;s=s>>>r;d=s>>>1&1;d=c[71168+((j|n|o|r|d)+(s>>>d)<<2)>>2]|0}if(!d){j=f;i=e}else{a=f;E=90}}if((E|0)==90)while(1){E=0;s=(c[d+4>>2]&-8)-p|0;f=s>>>0<e>>>0;e=f?s:e;a=f?d:a;f=c[d+16>>2]|0;if(f|0){d=f;E=90;continue}d=c[d+20>>2]|0;if(!d){j=a;i=e;break}else E=90}if((j|0)!=0?i>>>0<((c[17718]|0)-p|0)>>>0:0){f=c[17720]|0;if(j>>>0<f>>>0)za();h=j+p|0;if(j>>>0>=h>>>0)za();g=c[j+24>>2]|0;d=c[j+12>>2]|0;do if((d|0)==(j|0)){a=j+20|0;b=c[a>>2]|0;if(!b){a=j+16|0;b=c[a>>2]|0;if(!b){t=0;break}}while(1){d=b+20|0;e=c[d>>2]|0;if(e|0){b=e;a=d;continue}d=b+16|0;e=c[d>>2]|0;if(!e)break;else{b=e;a=d}}if(a>>>0<f>>>0)za();else{c[a>>2]=0;t=b;break}}else{e=c[j+8>>2]|0;if(e>>>0<f>>>0)za();b=e+12|0;if((c[b>>2]|0)!=(j|0))za();a=d+8|0;if((c[a>>2]|0)==(j|0)){c[b>>2]=d;c[a>>2]=e;t=d;break}else za()}while(0);do if(g){b=c[j+28>>2]|0;a=71168+(b<<2)|0;if((j|0)==(c[a>>2]|0)){c[a>>2]=t;if(!t){u=k&~(1<<b);c[17717]=u;break}}else{if(g>>>0<(c[17720]|0)>>>0)za();b=g+16|0;if((c[b>>2]|0)==(j|0))c[b>>2]=t;else c[g+20>>2]=t;if(!t){u=k;break}}a=c[17720]|0;if(t>>>0<a>>>0)za();c[t+24>>2]=g;b=c[j+16>>2]|0;do if(b|0)if(b>>>0<a>>>0)za();else{c[t+16>>2]=b;c[b+24>>2]=t;break}while(0);b=c[j+20>>2]|0;if(b)if(b>>>0<(c[17720]|0)>>>0)za();else{c[t+20>>2]=b;c[b+24>>2]=t;u=k;break}else u=k}else u=k;while(0);do if(i>>>0>=16){c[j+4>>2]=p|3;c[h+4>>2]=i|1;c[h+i>>2]=i;b=i>>>3;if(i>>>0<256){d=70904+(b<<1<<2)|0;a=c[17716]|0;b=1<<b;if(a&b){b=d+8|0;a=c[b>>2]|0;if(a>>>0<(c[17720]|0)>>>0)za();else{C=a;D=b}}else{c[17716]=a|b;C=d;D=d+8|0}c[D>>2]=h;c[C+12>>2]=h;c[h+8>>2]=C;c[h+12>>2]=d;break}b=i>>>8;if(b)if(i>>>0>16777215)b=31;else{K=(b+1048320|0)>>>16&8;L=b<<K;J=(L+520192|0)>>>16&4;L=L<<J;b=(L+245760|0)>>>16&2;b=14-(J|K|b)+(L<<b>>>15)|0;b=i>>>(b+7|0)&1|b<<1}else b=0;d=71168+(b<<2)|0;c[h+28>>2]=b;a=h+16|0;c[a+4>>2]=0;c[a>>2]=0;a=1<<b;if(!(u&a)){c[17717]=u|a;c[d>>2]=h;c[h+24>>2]=d;c[h+12>>2]=h;c[h+8>>2]=h;break}a=i<<((b|0)==31?0:25-(b>>>1)|0);e=c[d>>2]|0;while(1){if((c[e+4>>2]&-8|0)==(i|0)){E=148;break}d=e+16+(a>>>31<<2)|0;b=c[d>>2]|0;if(!b){E=145;break}else{a=a<<1;e=b}}if((E|0)==145)if(d>>>0<(c[17720]|0)>>>0)za();else{c[d>>2]=h;c[h+24>>2]=e;c[h+12>>2]=h;c[h+8>>2]=h;break}else if((E|0)==148){b=e+8|0;a=c[b>>2]|0;L=c[17720]|0;if(a>>>0>=L>>>0&e>>>0>=L>>>0){c[a+12>>2]=h;c[b>>2]=h;c[h+8>>2]=a;c[h+12>>2]=e;c[h+24>>2]=0;break}else za()}}else{L=i+p|0;c[j+4>>2]=L|3;L=j+L+4|0;c[L>>2]=c[L>>2]|1}while(0);L=j+8|0;l=M;return L|0}}}else p=-1;while(0);d=c[17718]|0;if(d>>>0>=p>>>0){b=d-p|0;a=c[17721]|0;if(b>>>0>15){L=a+p|0;c[17721]=L;c[17718]=b;c[L+4>>2]=b|1;c[L+b>>2]=b;c[a+4>>2]=p|3}else{c[17718]=0;c[17721]=0;c[a+4>>2]=d|3;L=a+d+4|0;c[L>>2]=c[L>>2]|1}L=a+8|0;l=M;return L|0}i=c[17719]|0;if(i>>>0>p>>>0){J=i-p|0;c[17719]=J;L=c[17722]|0;K=L+p|0;c[17722]=K;c[K+4>>2]=J|1;c[L+4>>2]=p|3;L=L+8|0;l=M;return L|0}if(!(c[17834]|0)){c[17836]=4096;c[17835]=4096;c[17837]=-1;c[17838]=-1;c[17839]=0;c[17827]=0;a=q&-16^1431655768;c[q>>2]=a;c[17834]=a;a=4096}else a=c[17836]|0;j=p+48|0;k=p+47|0;h=a+k|0;f=0-a|0;n=h&f;if(n>>>0<=p>>>0){L=0;l=M;return L|0}a=c[17826]|0;if(a|0?(C=c[17824]|0,D=C+n|0,D>>>0<=C>>>0|D>>>0>a>>>0):0){L=0;l=M;return L|0}b:do if(!(c[17827]&4)){d=c[17722]|0;c:do if(d){e=71312;while(1){a=c[e>>2]|0;if(a>>>0<=d>>>0?(v=e+4|0,(a+(c[v>>2]|0)|0)>>>0>d>>>0):0)break;a=c[e+8>>2]|0;if(!a){E=172;break c}else e=a}d=h-i&f;if(d>>>0<2147483647){a=lr(d|0)|0;if((a|0)==((c[e>>2]|0)+(c[v>>2]|0)|0)){if((a|0)!=(-1|0)){h=d;g=a;E=190;break b}}else{b=d;E=180}}}else E=172;while(0);do if(((E|0)==172?(g=lr(0)|0,(g|0)!=(-1|0)):0)?(b=g,w=c[17835]|0,x=w+-1|0,b=((x&b|0)==0?0:(x+b&0-w)-b|0)+n|0,w=c[17824]|0,x=b+w|0,b>>>0>p>>>0&b>>>0<2147483647):0){D=c[17826]|0;if(D|0?x>>>0<=w>>>0|x>>>0>D>>>0:0)break;a=lr(b|0)|0;if((a|0)==(g|0)){h=b;E=190;break b}else E=180}while(0);d:do if((E|0)==180){d=0-b|0;do if(j>>>0>b>>>0&(b>>>0<2147483647&(a|0)!=(-1|0))?(y=c[17836]|0,y=k-b+y&0-y,y>>>0<2147483647):0)if((lr(y|0)|0)==(-1|0)){lr(d|0)|0;break d}else{b=y+b|0;break}while(0);if((a|0)!=(-1|0)){h=b;g=a;E=190;break b}}while(0);c[17827]=c[17827]|4;E=187}else E=187;while(0);if((((E|0)==187?n>>>0<2147483647:0)?(B=lr(n|0)|0,z=lr(0)|0,B>>>0<z>>>0&((B|0)!=(-1|0)&(z|0)!=(-1|0))):0)?(A=z-B|0,A>>>0>(p+40|0)>>>0):0){h=A;g=B;E=190}if((E|0)==190){b=(c[17824]|0)+h|0;c[17824]=b;if(b>>>0>(c[17825]|0)>>>0)c[17825]=b;k=c[17722]|0;do if(k){b=71312;while(1){a=c[b>>2]|0;d=b+4|0;e=c[d>>2]|0;if((g|0)==(a+e|0)){E=200;break}f=c[b+8>>2]|0;if(!f)break;else b=f}if(((E|0)==200?(c[b+12>>2]&8|0)==0:0)?k>>>0<g>>>0&k>>>0>=a>>>0:0){c[d>>2]=e+h;L=k+8|0;L=(L&7|0)==0?0:0-L&7;K=k+L|0;L=h-L+(c[17719]|0)|0;c[17722]=K;c[17719]=L;c[K+4>>2]=L|1;c[K+L+4>>2]=40;c[17723]=c[17838];break}b=c[17720]|0;if(g>>>0<b>>>0){c[17720]=g;i=g}else i=b;a=g+h|0;b=71312;while(1){if((c[b>>2]|0)==(a|0)){E=208;break}b=c[b+8>>2]|0;if(!b){a=71312;break}}if((E|0)==208)if(!(c[b+12>>2]&8)){c[b>>2]=g;o=b+4|0;c[o>>2]=(c[o>>2]|0)+h;o=g+8|0;o=g+((o&7|0)==0?0:0-o&7)|0;b=a+8|0;b=a+((b&7|0)==0?0:0-b&7)|0;n=o+p|0;j=b-o-p|0;c[o+4>>2]=p|3;do if((b|0)!=(k|0)){if((b|0)==(c[17721]|0)){L=(c[17718]|0)+j|0;c[17718]=L;c[17721]=n;c[n+4>>2]=L|1;c[n+L>>2]=L;break}a=c[b+4>>2]|0;if((a&3|0)==1){h=a&-8;f=a>>>3;e:do if(a>>>0>=256){g=c[b+24>>2]|0;e=c[b+12>>2]|0;do if((e|0)==(b|0)){e=b+16|0;d=e+4|0;a=c[d>>2]|0;if(!a){a=c[e>>2]|0;if(!a){J=0;break}else d=e}while(1){e=a+20|0;f=c[e>>2]|0;if(f|0){a=f;d=e;continue}e=a+16|0;f=c[e>>2]|0;if(!f)break;else{a=f;d=e}}if(d>>>0<i>>>0)za();else{c[d>>2]=0;J=a;break}}else{f=c[b+8>>2]|0;if(f>>>0<i>>>0)za();a=f+12|0;if((c[a>>2]|0)!=(b|0))za();d=e+8|0;if((c[d>>2]|0)==(b|0)){c[a>>2]=e;c[d>>2]=f;J=e;break}else za()}while(0);if(!g)break;a=c[b+28>>2]|0;d=71168+(a<<2)|0;do if((b|0)!=(c[d>>2]|0)){if(g>>>0<(c[17720]|0)>>>0)za();a=g+16|0;if((c[a>>2]|0)==(b|0))c[a>>2]=J;else c[g+20>>2]=J;if(!J)break e}else{c[d>>2]=J;if(J|0)break;c[17717]=c[17717]&~(1<<a);break e}while(0);e=c[17720]|0;if(J>>>0<e>>>0)za();c[J+24>>2]=g;a=b+16|0;d=c[a>>2]|0;do if(d|0)if(d>>>0<e>>>0)za();else{c[J+16>>2]=d;c[d+24>>2]=J;break}while(0);a=c[a+4>>2]|0;if(!a)break;if(a>>>0<(c[17720]|0)>>>0)za();else{c[J+20>>2]=a;c[a+24>>2]=J;break}}else{d=c[b+8>>2]|0;e=c[b+12>>2]|0;a=70904+(f<<1<<2)|0;do if((d|0)!=(a|0)){if(d>>>0<i>>>0)za();if((c[d+12>>2]|0)==(b|0))break;za()}while(0);if((e|0)==(d|0)){c[17716]=c[17716]&~(1<<f);break}do if((e|0)==(a|0))G=e+8|0;else{if(e>>>0<i>>>0)za();a=e+8|0;if((c[a>>2]|0)==(b|0)){G=a;break}za()}while(0);c[d+12>>2]=e;c[G>>2]=d}while(0);b=b+h|0;f=h+j|0}else f=j;b=b+4|0;c[b>>2]=c[b>>2]&-2;c[n+4>>2]=f|1;c[n+f>>2]=f;b=f>>>3;if(f>>>0<256){d=70904+(b<<1<<2)|0;a=c[17716]|0;b=1<<b;do if(!(a&b)){c[17716]=a|b;K=d;L=d+8|0}else{b=d+8|0;a=c[b>>2]|0;if(a>>>0>=(c[17720]|0)>>>0){K=a;L=b;break}za()}while(0);c[L>>2]=n;c[K+12>>2]=n;c[n+8>>2]=K;c[n+12>>2]=d;break}b=f>>>8;do if(!b)b=0;else{if(f>>>0>16777215){b=31;break}K=(b+1048320|0)>>>16&8;L=b<<K;J=(L+520192|0)>>>16&4;L=L<<J;b=(L+245760|0)>>>16&2;b=14-(J|K|b)+(L<<b>>>15)|0;b=f>>>(b+7|0)&1|b<<1}while(0);e=71168+(b<<2)|0;c[n+28>>2]=b;a=n+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[17717]|0;d=1<<b;if(!(a&d)){c[17717]=a|d;c[e>>2]=n;c[n+24>>2]=e;c[n+12>>2]=n;c[n+8>>2]=n;break}a=f<<((b|0)==31?0:25-(b>>>1)|0);e=c[e>>2]|0;while(1){if((c[e+4>>2]&-8|0)==(f|0)){E=278;break}d=e+16+(a>>>31<<2)|0;b=c[d>>2]|0;if(!b){E=275;break}else{a=a<<1;e=b}}if((E|0)==275)if(d>>>0<(c[17720]|0)>>>0)za();else{c[d>>2]=n;c[n+24>>2]=e;c[n+12>>2]=n;c[n+8>>2]=n;break}else if((E|0)==278){b=e+8|0;a=c[b>>2]|0;L=c[17720]|0;if(a>>>0>=L>>>0&e>>>0>=L>>>0){c[a+12>>2]=n;c[b>>2]=n;c[n+8>>2]=a;c[n+12>>2]=e;c[n+24>>2]=0;break}else za()}}else{L=(c[17719]|0)+j|0;c[17719]=L;c[17722]=n;c[n+4>>2]=L|1}while(0);L=o+8|0;l=M;return L|0}else a=71312;while(1){b=c[a>>2]|0;if(b>>>0<=k>>>0?(F=b+(c[a+4>>2]|0)|0,F>>>0>k>>>0):0)break;a=c[a+8>>2]|0}f=F+-47|0;a=f+8|0;a=f+((a&7|0)==0?0:0-a&7)|0;f=k+16|0;a=a>>>0<f>>>0?k:a;b=a+8|0;d=g+8|0;d=(d&7|0)==0?0:0-d&7;L=g+d|0;d=h+-40-d|0;c[17722]=L;c[17719]=d;c[L+4>>2]=d|1;c[L+d+4>>2]=40;c[17723]=c[17838];d=a+4|0;c[d>>2]=27;c[b>>2]=c[17828];c[b+4>>2]=c[17829];c[b+8>>2]=c[17830];c[b+12>>2]=c[17831];c[17828]=g;c[17829]=h;c[17831]=0;c[17830]=b;b=a+24|0;do{b=b+4|0;c[b>>2]=7}while((b+4|0)>>>0<F>>>0);if((a|0)!=(k|0)){g=a-k|0;c[d>>2]=c[d>>2]&-2;c[k+4>>2]=g|1;c[a>>2]=g;b=g>>>3;if(g>>>0<256){d=70904+(b<<1<<2)|0;a=c[17716]|0;b=1<<b;if(a&b){b=d+8|0;a=c[b>>2]|0;if(a>>>0<(c[17720]|0)>>>0)za();else{H=a;I=b}}else{c[17716]=a|b;H=d;I=d+8|0}c[I>>2]=k;c[H+12>>2]=k;c[k+8>>2]=H;c[k+12>>2]=d;break}b=g>>>8;if(b)if(g>>>0>16777215)d=31;else{K=(b+1048320|0)>>>16&8;L=b<<K;J=(L+520192|0)>>>16&4;L=L<<J;d=(L+245760|0)>>>16&2;d=14-(J|K|d)+(L<<d>>>15)|0;d=g>>>(d+7|0)&1|d<<1}else d=0;e=71168+(d<<2)|0;c[k+28>>2]=d;c[k+20>>2]=0;c[f>>2]=0;b=c[17717]|0;a=1<<d;if(!(b&a)){c[17717]=b|a;c[e>>2]=k;c[k+24>>2]=e;c[k+12>>2]=k;c[k+8>>2]=k;break}a=g<<((d|0)==31?0:25-(d>>>1)|0);e=c[e>>2]|0;while(1){if((c[e+4>>2]&-8|0)==(g|0)){E=304;break}d=e+16+(a>>>31<<2)|0;b=c[d>>2]|0;if(!b){E=301;break}else{a=a<<1;e=b}}if((E|0)==301)if(d>>>0<(c[17720]|0)>>>0)za();else{c[d>>2]=k;c[k+24>>2]=e;c[k+12>>2]=k;c[k+8>>2]=k;break}else if((E|0)==304){b=e+8|0;a=c[b>>2]|0;L=c[17720]|0;if(a>>>0>=L>>>0&e>>>0>=L>>>0){c[a+12>>2]=k;c[b>>2]=k;c[k+8>>2]=a;c[k+12>>2]=e;c[k+24>>2]=0;break}else za()}}}else{L=c[17720]|0;if((L|0)==0|g>>>0<L>>>0)c[17720]=g;c[17828]=g;c[17829]=h;c[17831]=0;c[17725]=c[17834];c[17724]=-1;b=0;do{L=70904+(b<<1<<2)|0;c[L+12>>2]=L;c[L+8>>2]=L;b=b+1|0}while((b|0)!=32);L=g+8|0;L=(L&7|0)==0?0:0-L&7;K=g+L|0;L=h+-40-L|0;c[17722]=K;c[17719]=L;c[K+4>>2]=L|1;c[K+L+4>>2]=40;c[17723]=c[17838]}while(0);b=c[17719]|0;if(b>>>0>p>>>0){J=b-p|0;c[17719]=J;L=c[17722]|0;K=L+p|0;c[17722]=K;c[K+4>>2]=J|1;c[L+4>>2]=p|3;L=L+8|0;l=M;return L|0}}c[(zo()|0)>>2]=12;L=0;l=M;return L|0}function Pq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;if(!a)return;d=a+-8|0;h=c[17720]|0;if(d>>>0<h>>>0)za();a=c[a+-4>>2]|0;b=a&3;if((b|0)==1)za();e=a&-8;n=d+e|0;do if(!(a&1)){a=c[d>>2]|0;if(!b)return;k=d+(0-a)|0;j=a+e|0;if(k>>>0<h>>>0)za();if((k|0)==(c[17721]|0)){a=n+4|0;b=c[a>>2]|0;if((b&3|0)!=3){q=k;f=j;break}c[17718]=j;c[a>>2]=b&-2;c[k+4>>2]=j|1;c[k+j>>2]=j;return}e=a>>>3;if(a>>>0<256){b=c[k+8>>2]|0;d=c[k+12>>2]|0;a=70904+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<h>>>0)za();if((c[b+12>>2]|0)!=(k|0))za()}if((d|0)==(b|0)){c[17716]=c[17716]&~(1<<e);q=k;f=j;break}if((d|0)!=(a|0)){if(d>>>0<h>>>0)za();a=d+8|0;if((c[a>>2]|0)==(k|0))g=a;else za()}else g=d+8|0;c[b+12>>2]=d;c[g>>2]=b;q=k;f=j;break}g=c[k+24>>2]|0;d=c[k+12>>2]|0;do if((d|0)==(k|0)){d=k+16|0;b=d+4|0;a=c[b>>2]|0;if(!a){a=c[d>>2]|0;if(!a){i=0;break}else b=d}while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<h>>>0)za();else{c[b>>2]=0;i=a;break}}else{e=c[k+8>>2]|0;if(e>>>0<h>>>0)za();a=e+12|0;if((c[a>>2]|0)!=(k|0))za();b=d+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=d;c[b>>2]=e;i=d;break}else za()}while(0);if(g){a=c[k+28>>2]|0;b=71168+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=i;if(!i){c[17717]=c[17717]&~(1<<a);q=k;f=j;break}}else{if(g>>>0<(c[17720]|0)>>>0)za();a=g+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=i;else c[g+20>>2]=i;if(!i){q=k;f=j;break}}d=c[17720]|0;if(i>>>0<d>>>0)za();c[i+24>>2]=g;a=k+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0<d>>>0)za();else{c[i+16>>2]=b;c[b+24>>2]=i;break}while(0);a=c[a+4>>2]|0;if(a)if(a>>>0<(c[17720]|0)>>>0)za();else{c[i+20>>2]=a;c[a+24>>2]=i;q=k;f=j;break}else{q=k;f=j}}else{q=k;f=j}}else{q=d;f=e}while(0);if(q>>>0>=n>>>0)za();a=n+4|0;b=c[a>>2]|0;if(!(b&1))za();if(!(b&2)){if((n|0)==(c[17722]|0)){p=(c[17719]|0)+f|0;c[17719]=p;c[17722]=q;c[q+4>>2]=p|1;if((q|0)!=(c[17721]|0))return;c[17721]=0;c[17718]=0;return}if((n|0)==(c[17721]|0)){p=(c[17718]|0)+f|0;c[17718]=p;c[17721]=q;c[q+4>>2]=p|1;c[q+p>>2]=p;return}f=(b&-8)+f|0;e=b>>>3;do if(b>>>0>=256){g=c[n+24>>2]|0;a=c[n+12>>2]|0;do if((a|0)==(n|0)){d=n+16|0;b=d+4|0;a=c[b>>2]|0;if(!a){a=c[d>>2]|0;if(!a){m=0;break}else b=d}while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<(c[17720]|0)>>>0)za();else{c[b>>2]=0;m=a;break}}else{b=c[n+8>>2]|0;if(b>>>0<(c[17720]|0)>>>0)za();d=b+12|0;if((c[d>>2]|0)!=(n|0))za();e=a+8|0;if((c[e>>2]|0)==(n|0)){c[d>>2]=a;c[e>>2]=b;m=a;break}else za()}while(0);if(g|0){a=c[n+28>>2]|0;b=71168+(a<<2)|0;if((n|0)==(c[b>>2]|0)){c[b>>2]=m;if(!m){c[17717]=c[17717]&~(1<<a);break}}else{if(g>>>0<(c[17720]|0)>>>0)za();a=g+16|0;if((c[a>>2]|0)==(n|0))c[a>>2]=m;else c[g+20>>2]=m;if(!m)break}d=c[17720]|0;if(m>>>0<d>>>0)za();c[m+24>>2]=g;a=n+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0<d>>>0)za();else{c[m+16>>2]=b;c[b+24>>2]=m;break}while(0);a=c[a+4>>2]|0;if(a|0)if(a>>>0<(c[17720]|0)>>>0)za();else{c[m+20>>2]=a;c[a+24>>2]=m;break}}}else{b=c[n+8>>2]|0;d=c[n+12>>2]|0;a=70904+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<(c[17720]|0)>>>0)za();if((c[b+12>>2]|0)!=(n|0))za()}if((d|0)==(b|0)){c[17716]=c[17716]&~(1<<e);break}if((d|0)!=(a|0)){if(d>>>0<(c[17720]|0)>>>0)za();a=d+8|0;if((c[a>>2]|0)==(n|0))l=a;else za()}else l=d+8|0;c[b+12>>2]=d;c[l>>2]=b}while(0);c[q+4>>2]=f|1;c[q+f>>2]=f;if((q|0)==(c[17721]|0)){c[17718]=f;return}}else{c[a>>2]=b&-2;c[q+4>>2]=f|1;c[q+f>>2]=f}a=f>>>3;if(f>>>0<256){d=70904+(a<<1<<2)|0;b=c[17716]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[17720]|0)>>>0)za();else{o=b;p=a}}else{c[17716]=b|a;o=d;p=d+8|0}c[p>>2]=q;c[o+12>>2]=q;c[q+8>>2]=o;c[q+12>>2]=d;return}a=f>>>8;if(a)if(f>>>0>16777215)a=31;else{o=(a+1048320|0)>>>16&8;p=a<<o;n=(p+520192|0)>>>16&4;p=p<<n;a=(p+245760|0)>>>16&2;a=14-(n|o|a)+(p<<a>>>15)|0;a=f>>>(a+7|0)&1|a<<1}else a=0;e=71168+(a<<2)|0;c[q+28>>2]=a;c[q+20>>2]=0;c[q+16>>2]=0;b=c[17717]|0;d=1<<a;do if(b&d){b=f<<((a|0)==31?0:25-(a>>>1)|0);e=c[e>>2]|0;while(1){if((c[e+4>>2]&-8|0)==(f|0)){a=130;break}d=e+16+(b>>>31<<2)|0;a=c[d>>2]|0;if(!a){a=127;break}else{b=b<<1;e=a}}if((a|0)==127)if(d>>>0<(c[17720]|0)>>>0)za();else{c[d>>2]=q;c[q+24>>2]=e;c[q+12>>2]=q;c[q+8>>2]=q;break}else if((a|0)==130){a=e+8|0;b=c[a>>2]|0;p=c[17720]|0;if(b>>>0>=p>>>0&e>>>0>=p>>>0){c[b+12>>2]=q;c[a>>2]=q;c[q+8>>2]=b;c[q+12>>2]=e;c[q+24>>2]=0;break}else za()}}else{c[17717]=b|d;c[e>>2]=q;c[q+24>>2]=e;c[q+12>>2]=q;c[q+8>>2]=q}while(0);q=(c[17724]|0)+-1|0;c[17724]=q;if(!q)a=71320;else return;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[17724]=-1;return}function Qq(a,b){a=a|0;b=b|0;var d=0;if(a){d=S(b,a)|0;if((b|a)>>>0>65535)d=((d>>>0)/(a>>>0)|0|0)==(b|0)?d:-1}else d=0;a=Oq(d)|0;if(!a)return a|0;if(!(c[a+-4>>2]&3))return a|0;Yq(a|0,0,d|0)|0;return a|0}function Rq(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){b=Oq(b)|0;return b|0}if(b>>>0>4294967231){c[(zo()|0)>>2]=12;b=0;return b|0}d=Sq(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d|0){b=d+8|0;return b|0}d=Oq(b)|0;if(!d){b=0;return b|0}e=c[a+-4>>2]|0;e=(e&-8)-((e&3|0)==0?8:4)|0;cr(d|0,a|0,(e>>>0<b>>>0?e:b)|0)|0;Pq(a);b=d;return b|0}function Sq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=a+4|0;o=c[n>>2]|0;d=o&-8;k=a+d|0;i=c[17720]|0;e=o&3;if(!((e|0)!=1&a>>>0>=i>>>0&a>>>0<k>>>0))za();f=c[k+4>>2]|0;if(!(f&1))za();if(!e){if(b>>>0<256){a=0;return a|0}if(d>>>0>=(b+4|0)>>>0?(d-b|0)>>>0<=c[17836]<<1>>>0:0)return a|0;a=0;return a|0}if(d>>>0>=b>>>0){d=d-b|0;if(d>>>0<=15)return a|0;m=a+b|0;c[n>>2]=o&1|b|2;c[m+4>>2]=d|3;o=m+d+4|0;c[o>>2]=c[o>>2]|1;Tq(m,d);return a|0}if((k|0)==(c[17722]|0)){d=(c[17719]|0)+d|0;if(d>>>0<=b>>>0){a=0;return a|0}m=d-b|0;l=a+b|0;c[n>>2]=o&1|b|2;c[l+4>>2]=m|1;c[17722]=l;c[17719]=m;return a|0}if((k|0)==(c[17721]|0)){e=(c[17718]|0)+d|0;if(e>>>0<b>>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){e=a+b|0;m=e+d|0;c[n>>2]=o&1|b|2;c[e+4>>2]=d|1;c[m>>2]=d;o=m+4|0;c[o>>2]=c[o>>2]&-2}else{c[n>>2]=o&1|e|2;e=a+e+4|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[17718]=d;c[17721]=e;return a|0}if(f&2|0){a=0;return a|0}l=(f&-8)+d|0;if(l>>>0<b>>>0){a=0;return a|0}m=l-b|0;g=f>>>3;do if(f>>>0>=256){h=c[k+24>>2]|0;f=c[k+12>>2]|0;do if((f|0)==(k|0)){f=k+16|0;e=f+4|0;d=c[e>>2]|0;if(!d){d=c[f>>2]|0;if(!d){j=0;break}else e=f}while(1){f=d+20|0;g=c[f>>2]|0;if(g|0){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0<i>>>0)za();else{c[e>>2]=0;j=d;break}}else{g=c[k+8>>2]|0;if(g>>>0<i>>>0)za();d=g+12|0;if((c[d>>2]|0)!=(k|0))za();e=f+8|0;if((c[e>>2]|0)==(k|0)){c[d>>2]=f;c[e>>2]=g;j=f;break}else za()}while(0);if(h|0){d=c[k+28>>2]|0;e=71168+(d<<2)|0;if((k|0)==(c[e>>2]|0)){c[e>>2]=j;if(!j){c[17717]=c[17717]&~(1<<d);break}}else{if(h>>>0<(c[17720]|0)>>>0)za();d=h+16|0;if((c[d>>2]|0)==(k|0))c[d>>2]=j;else c[h+20>>2]=j;if(!j)break}f=c[17720]|0;if(j>>>0<f>>>0)za();c[j+24>>2]=h;d=k+16|0;e=c[d>>2]|0;do if(e|0)if(e>>>0<f>>>0)za();else{c[j+16>>2]=e;c[e+24>>2]=j;break}while(0);d=c[d+4>>2]|0;if(d|0)if(d>>>0<(c[17720]|0)>>>0)za();else{c[j+20>>2]=d;c[d+24>>2]=j;break}}}else{e=c[k+8>>2]|0;f=c[k+12>>2]|0;d=70904+(g<<1<<2)|0;if((e|0)!=(d|0)){if(e>>>0<i>>>0)za();if((c[e+12>>2]|0)!=(k|0))za()}if((f|0)==(e|0)){c[17716]=c[17716]&~(1<<g);break}if((f|0)!=(d|0)){if(f>>>0<i>>>0)za();d=f+8|0;if((c[d>>2]|0)==(k|0))h=d;else za()}else h=f+8|0;c[e+12>>2]=f;c[h>>2]=e}while(0);if(m>>>0<16){c[n>>2]=l|o&1|2;o=a+l+4|0;c[o>>2]=c[o>>2]|1;return a|0}else{l=a+b|0;c[n>>2]=o&1|b|2;c[l+4>>2]=m|3;o=l+m+4|0;c[o>>2]=c[o>>2]|1;Tq(l,m);return a|0}return 0}function Tq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=a+b|0;d=c[a+4>>2]|0;do if(!(d&1)){g=c[a>>2]|0;if(!(d&3))return;l=a+(0-g)|0;k=g+b|0;i=c[17720]|0;if(l>>>0<i>>>0)za();if((l|0)==(c[17721]|0)){a=o+4|0;d=c[a>>2]|0;if((d&3|0)!=3){r=l;f=k;break}c[17718]=k;c[a>>2]=d&-2;c[l+4>>2]=k|1;c[l+k>>2]=k;return}e=g>>>3;if(g>>>0<256){d=c[l+8>>2]|0;b=c[l+12>>2]|0;a=70904+(e<<1<<2)|0;if((d|0)!=(a|0)){if(d>>>0<i>>>0)za();if((c[d+12>>2]|0)!=(l|0))za()}if((b|0)==(d|0)){c[17716]=c[17716]&~(1<<e);r=l;f=k;break}if((b|0)!=(a|0)){if(b>>>0<i>>>0)za();a=b+8|0;if((c[a>>2]|0)==(l|0))h=a;else za()}else h=b+8|0;c[d+12>>2]=b;c[h>>2]=d;r=l;f=k;break}g=c[l+24>>2]|0;b=c[l+12>>2]|0;do if((b|0)==(l|0)){b=l+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){j=0;break}else d=b}while(1){b=a+20|0;e=c[b>>2]|0;if(e|0){a=e;d=b;continue}b=a+16|0;e=c[b>>2]|0;if(!e)break;else{a=e;d=b}}if(d>>>0<i>>>0)za();else{c[d>>2]=0;j=a;break}}else{e=c[l+8>>2]|0;if(e>>>0<i>>>0)za();a=e+12|0;if((c[a>>2]|0)!=(l|0))za();d=b+8|0;if((c[d>>2]|0)==(l|0)){c[a>>2]=b;c[d>>2]=e;j=b;break}else za()}while(0);if(g){a=c[l+28>>2]|0;d=71168+(a<<2)|0;if((l|0)==(c[d>>2]|0)){c[d>>2]=j;if(!j){c[17717]=c[17717]&~(1<<a);r=l;f=k;break}}else{if(g>>>0<(c[17720]|0)>>>0)za();a=g+16|0;if((c[a>>2]|0)==(l|0))c[a>>2]=j;else c[g+20>>2]=j;if(!j){r=l;f=k;break}}b=c[17720]|0;if(j>>>0<b>>>0)za();c[j+24>>2]=g;a=l+16|0;d=c[a>>2]|0;do if(d|0)if(d>>>0<b>>>0)za();else{c[j+16>>2]=d;c[d+24>>2]=j;break}while(0);a=c[a+4>>2]|0;if(a)if(a>>>0<(c[17720]|0)>>>0)za();else{c[j+20>>2]=a;c[a+24>>2]=j;r=l;f=k;break}else{r=l;f=k}}else{r=l;f=k}}else{r=a;f=b}while(0);h=c[17720]|0;if(o>>>0<h>>>0)za();a=o+4|0;d=c[a>>2]|0;if(!(d&2)){if((o|0)==(c[17722]|0)){q=(c[17719]|0)+f|0;c[17719]=q;c[17722]=r;c[r+4>>2]=q|1;if((r|0)!=(c[17721]|0))return;c[17721]=0;c[17718]=0;return}if((o|0)==(c[17721]|0)){q=(c[17718]|0)+f|0;c[17718]=q;c[17721]=r;c[r+4>>2]=q|1;c[r+q>>2]=q;return}f=(d&-8)+f|0;e=d>>>3;do if(d>>>0>=256){g=c[o+24>>2]|0;b=c[o+12>>2]|0;do if((b|0)==(o|0)){b=o+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){n=0;break}else d=b}while(1){b=a+20|0;e=c[b>>2]|0;if(e|0){a=e;d=b;continue}b=a+16|0;e=c[b>>2]|0;if(!e)break;else{a=e;d=b}}if(d>>>0<h>>>0)za();else{c[d>>2]=0;n=a;break}}else{e=c[o+8>>2]|0;if(e>>>0<h>>>0)za();a=e+12|0;if((c[a>>2]|0)!=(o|0))za();d=b+8|0;if((c[d>>2]|0)==(o|0)){c[a>>2]=b;c[d>>2]=e;n=b;break}else za()}while(0);if(g|0){a=c[o+28>>2]|0;d=71168+(a<<2)|0;if((o|0)==(c[d>>2]|0)){c[d>>2]=n;if(!n){c[17717]=c[17717]&~(1<<a);break}}else{if(g>>>0<(c[17720]|0)>>>0)za();a=g+16|0;if((c[a>>2]|0)==(o|0))c[a>>2]=n;else c[g+20>>2]=n;if(!n)break}b=c[17720]|0;if(n>>>0<b>>>0)za();c[n+24>>2]=g;a=o+16|0;d=c[a>>2]|0;do if(d|0)if(d>>>0<b>>>0)za();else{c[n+16>>2]=d;c[d+24>>2]=n;break}while(0);a=c[a+4>>2]|0;if(a|0)if(a>>>0<(c[17720]|0)>>>0)za();else{c[n+20>>2]=a;c[a+24>>2]=n;break}}}else{d=c[o+8>>2]|0;b=c[o+12>>2]|0;a=70904+(e<<1<<2)|0;if((d|0)!=(a|0)){if(d>>>0<h>>>0)za();if((c[d+12>>2]|0)!=(o|0))za()}if((b|0)==(d|0)){c[17716]=c[17716]&~(1<<e);break}if((b|0)!=(a|0)){if(b>>>0<h>>>0)za();a=b+8|0;if((c[a>>2]|0)==(o|0))m=a;else za()}else m=b+8|0;c[d+12>>2]=b;c[m>>2]=d}while(0);c[r+4>>2]=f|1;c[r+f>>2]=f;if((r|0)==(c[17721]|0)){c[17718]=f;return}}else{c[a>>2]=d&-2;c[r+4>>2]=f|1;c[r+f>>2]=f}a=f>>>3;if(f>>>0<256){b=70904+(a<<1<<2)|0;d=c[17716]|0;a=1<<a;if(d&a){a=b+8|0;d=c[a>>2]|0;if(d>>>0<(c[17720]|0)>>>0)za();else{p=d;q=a}}else{c[17716]=d|a;p=b;q=b+8|0}c[q>>2]=r;c[p+12>>2]=r;c[r+8>>2]=p;c[r+12>>2]=b;return}a=f>>>8;if(a)if(f>>>0>16777215)a=31;else{p=(a+1048320|0)>>>16&8;q=a<<p;o=(q+520192|0)>>>16&4;q=q<<o;a=(q+245760|0)>>>16&2;a=14-(o|p|a)+(q<<a>>>15)|0;a=f>>>(a+7|0)&1|a<<1}else a=0;e=71168+(a<<2)|0;c[r+28>>2]=a;c[r+20>>2]=0;c[r+16>>2]=0;d=c[17717]|0;b=1<<a;if(!(d&b)){c[17717]=d|b;c[e>>2]=r;c[r+24>>2]=e;c[r+12>>2]=r;c[r+8>>2]=r;return}d=f<<((a|0)==31?0:25-(a>>>1)|0);e=c[e>>2]|0;while(1){if((c[e+4>>2]&-8|0)==(f|0)){a=127;break}b=e+16+(d>>>31<<2)|0;a=c[b>>2]|0;if(!a){a=124;break}else{d=d<<1;e=a}}if((a|0)==124){if(b>>>0<(c[17720]|0)>>>0)za();c[b>>2]=r;c[r+24>>2]=e;c[r+12>>2]=r;c[r+8>>2]=r;return}else if((a|0)==127){a=e+8|0;d=c[a>>2]|0;q=c[17720]|0;if(!(d>>>0>=q>>>0&e>>>0>=q>>>0))za();c[d+12>>2]=r;c[a>>2]=r;c[r+8>>2]=d;c[r+12>>2]=e;c[r+24>>2]=0;return}}function Uq(a,b){a=a|0;b=b|0;if(a>>>0<9){b=Oq(b)|0;return b|0}else{b=Vq(a,b)|0;return b|0}return 0}function Vq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;a=a>>>0<16?16:a;if(a+-1&a){d=16;while(1)if(d>>>0<a>>>0)d=d<<1;else{a=d;break}}if((-64-a|0)>>>0<=b>>>0){c[(zo()|0)>>2]=12;h=0;return h|0}g=b>>>0<11?16:b+11&-8;d=Oq(g+12+a|0)|0;if(!d){h=0;return h|0}f=d+-8|0;do if(d&a+-1){i=(d+a+-1&0-a)+-8|0;e=f;a=(i-e|0)>>>0>15?i:i+a|0;e=a-e|0;d=d+-4|0;i=c[d>>2]|0;b=(i&-8)-e|0;if(!(i&3)){c[a>>2]=(c[f>>2]|0)+e;c[a+4>>2]=b;break}else{i=a+4|0;c[i>>2]=b|c[i>>2]&1|2;b=a+b+4|0;c[b>>2]=c[b>>2]|1;c[d>>2]=e|c[d>>2]&1|2;c[i>>2]=c[i>>2]|1;Tq(f,e);break}}else a=f;while(0);d=a+4|0;b=c[d>>2]|0;if(b&3|0?(h=b&-8,h>>>0>(g+16|0)>>>0):0){i=h-g|0;h=a+g|0;c[d>>2]=g|b&1|2;c[h+4>>2]=i|3;g=h+i+4|0;c[g>>2]=c[g>>2]|1;Tq(h,i)}i=a+8|0;return i|0}function Wq(){}function Xq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return (D=d,a-c>>>0|0)|0}function Yq(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=b+e|0;d=d&255;if((e|0)>=67){while(b&3){a[b>>0]=d;b=b+1|0}f=h&-4|0;g=f-64|0;i=d|d<<8|d<<16|d<<24;while((b|0)<=(g|0)){c[b>>2]=i;c[b+4>>2]=i;c[b+8>>2]=i;c[b+12>>2]=i;c[b+16>>2]=i;c[b+20>>2]=i;c[b+24>>2]=i;c[b+28>>2]=i;c[b+32>>2]=i;c[b+36>>2]=i;c[b+40>>2]=i;c[b+44>>2]=i;c[b+48>>2]=i;c[b+52>>2]=i;c[b+56>>2]=i;c[b+60>>2]=i;b=b+64|0}while((b|0)<(f|0)){c[b>>2]=i;b=b+4|0}}while((b|0)<(h|0)){a[b>>0]=d;b=b+1|0}return h-e|0}function Zq(a){a=a|0;return 0}function _q(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (D=b+d+(c>>>0<a>>>0|0)>>>0,c|0)|0}function $q(b){b=b|0;var c=0;c=a[n+(b&255)>>0]|0;if((c|0)<8)return c|0;c=a[n+(b>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=a[n+(b>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (a[n+(b>>>24)>>0]|0)+24|0}function ar(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=d;n=e;i=n;if(!k){g=(f|0)!=0;if(!i){if(g){c[f>>2]=(l>>>0)%(h>>>0);c[f+4>>2]=0}n=0;f=(l>>>0)/(h>>>0)>>>0;return (D=n,f)|0}else{if(!g){n=0;f=0;return (D=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (D=n,f)|0}}g=(i|0)==0;do if(h){if(!g){g=(V(i|0)|0)-(V(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<<i;b=k>>>(m>>>0)&b;g=0;i=l<<i;break}if(!f){n=0;f=0;return (D=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (D=n,f)|0}g=h-1|0;if(g&h|0){i=(V(h|0)|0)+33-(V(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<<m|l>>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<<p&j;i=(k<<p|l>>>(o>>>0))&j|l<<m&i-33>>31;break}if(f|0){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (D=o,p)|0}else{p=$q(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (D=o,p)|0}}else{if(g){if(f|0){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (D=o,p)|0}if(!l){if(f|0){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (D=o,p)|0}g=i-1|0;if(!(g&i)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>(($q(i|0)|0)>>>0);return (D=o,p)|0}g=(V(i|0)|0)-(V(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<<i|l>>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<<i;break}if(!f){o=0;p=0;return (D=o,p)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (D=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=_q(m|0,l|0,-1,-1)|0;d=D;j=i;i=0;do{e=j;j=g>>>31|j<<1;g=i|g<<1;e=a<<1|e>>>31|0;n=a>>>31|b<<1|0;Xq(k|0,d|0,e|0,n|0)|0;p=D;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=Xq(e|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=D;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f|0){c[f>>2]=a;c[f+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return (D=o,p)|0}function br(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=b>>31|((b|0)<0?-1:0)<<1;i=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;f=d>>31|((d|0)<0?-1:0)<<1;e=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;h=Xq(j^a|0,i^b|0,j|0,i|0)|0;g=D;a=f^j;b=e^i;return Xq((ar(h,g,Xq(f^c|0,e^d|0,f|0,e|0)|0,D,0)|0)^a|0,D^b|0,a|0,b|0)|0}function cr(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if((e|0)>=8192)return Sa(b|0,d|0,e|0)|0;h=b|0;g=b+e|0;if((b&3)==(d&3)){while(b&3){if(!e)return h|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}e=g&-4|0;f=e-64|0;while((b|0)<=(f|0)){c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];c[b+16>>2]=c[d+16>>2];c[b+20>>2]=c[d+20>>2];c[b+24>>2]=c[d+24>>2];c[b+28>>2]=c[d+28>>2];c[b+32>>2]=c[d+32>>2];c[b+36>>2]=c[d+36>>2];c[b+40>>2]=c[d+40>>2];c[b+44>>2]=c[d+44>>2];c[b+48>>2]=c[d+48>>2];c[b+52>>2]=c[d+52>>2];c[b+56>>2]=c[d+56>>2];c[b+60>>2]=c[d+60>>2];b=b+64|0;d=d+64|0}while((b|0)<(e|0)){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}}else{e=g-4|0;while((b|0)<(e|0)){a[b>>0]=a[d>>0]|0;a[b+1>>0]=a[d+1>>0]|0;a[b+2>>0]=a[d+2>>0]|0;a[b+3>>0]=a[d+3>>0]|0;b=b+4|0;d=d+4|0}}while((b|0)<(g|0)){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}return h|0}function dr(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else cr(b,c,d)|0;return b|0}function er(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function fr(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){D=b>>c;return a>>>c|(b&(1<<c)-1)<<32-c}D=(b|0)<0?-1:0;return b>>c-32|0}function gr(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){D=b>>>c;return a>>>c|(b&(1<<c)-1)<<32-c}D=0;return b>>>c-32|0}function hr(a){a=a|0;return 0}function ir(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ar(a,b,c,d,0)|0}function jr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=S(e,f)|0;d=a>>>16;a=(c>>>16)+(S(e,d)|0)|0;e=b>>>16;b=S(e,f)|0;return (D=(a>>>16)+(S(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function kr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;c=jr(e,f)|0;a=D;return (D=(S(b,f)|0)+(S(d,e)|0)+a|a&0,c|0|0)|0}function lr(a){a=a|0;var b=0,d=0;d=a+15&-16|0;b=c[i>>2]|0;a=b+d|0;if((d|0)>0&(a|0)<(b|0)|(a|0)<0){_()|0;Ia(12);return -1}c[i>>2]=a;if((a|0)>(Z()|0)?(Y()|0)==0:0){Ia(12);c[i>>2]=b;return -1}return b|0}function mr(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){D=b<<c|(a&(1<<c)-1<<32-c)>>>32-c;return a<<c}D=a<<c-32;return 0}function nr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=l;l=l+16|0;f=g|0;ar(a,b,d,e,f)|0;l=g;return (D=c[f+4>>2]|0,c[f>>2]|0)|0}function or(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=l;l=l+16|0;i=f|0;h=b>>31|((b|0)<0?-1:0)<<1;g=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;k=e>>31|((e|0)<0?-1:0)<<1;j=((e|0)<0?-1:0)>>31|((e|0)<0?-1:0)<<1;a=Xq(h^a|0,g^b|0,h|0,g|0)|0;b=D;ar(a,b,Xq(k^d|0,j^e|0,k|0,j|0)|0,D,i)|0;e=Xq(c[i>>2]^h|0,c[i+4>>2]^g|0,h|0,g|0)|0;d=D;l=f;return (D=d,e)|0}function pr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return pb[a&63](b|0,c|0,d|0)|0}function qr(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;qb[a&15](b|0,c|0,d|0,e|0,f|0)}function rr(a,b){a=a|0;b=b|0;rb[a&7](b|0)}function sr(a,b,c){a=a|0;b=b|0;c=c|0;sb[a&7](b|0,c|0)}function tr(a,b){a=a|0;b=b|0;return tb[a&15](b|0)|0}function ur(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ub[a&7](b|0,c|0,d|0)}function vr(a){a=a|0;vb[a&3]()}function wr(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return wb[a&3](b|0,c|0,d|0,e|0)|0}function xr(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;xb[a&1](b|0,c|0,d|0,e|0,f|0,g|0)}function yr(a,b,c){a=a|0;b=b|0;c=c|0;return yb[a&7](b|0,c|0)|0}function zr(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;zb[a&1](b|0,c|0,d|0,e|0)}function Ar(a,b,c){a=a|0;b=b|0;c=c|0;aa(0);return 0}function Br(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ba(1)}function Cr(a){a=a|0;ca(2)}function Dr(a,b){a=a|0;b=b|0;da(3)}function Er(a){a=a|0;ea(4);return 0}function Fr(a,b,c){a=a|0;b=b|0;c=c|0;fa(5)}function Gr(){ga(6)}function Hr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ha(7);return 0}function Ir(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ia(8)}function Jr(a,b){a=a|0;b=b|0;ja(9);return 0}function Kr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ka(10)}
-// EMSCRIPTEN_END_FUNCS
-var pb=[Ar,Yh,Zh,_h,$h,Gi,Hi,Ii,Ji,Li,Ti,_i,ej,hj,ij,jj,Bm,Cm,Dm,Em,Gm,Gg,Nm,wo,xo,Bo,Ap,Ke,Rp,gi,hi,ri,Ui,$i,fj,Do,Ar,Ar,Ar,Ar,Ar,Ar,Ar,Ar,Ar,Ar,Ar,Ar,Ar,Ar,Ar,Ar,Ar,Ar,Ar,Ar,Ar,Ar,Ar,Ar,Ar,Ar,Ar,Ar];var qb=[Br,ki,fi,ei,di,mi,mj,nj,lj,Br,Br,Br,Br,Br,Br,Br];var rb=[Cr,pi,Ri,Yi,cj,Xj,sq,Cr];var sb=[Dr,oi,Qi,Xi,aj,bj,gj,Mm];var tb=[Er,qi,Fi,Ki,Si,Zi,dj,Am,Fm,Jg,vo,Er,Er,Er,Er,Er];var ub=[Fr,Jm,ni,$m,qn,zn,to,Fr];var vb=[Gr,ii,ji,eo];var wb=[Hr,Om,jm,Dn];var xb=[Ir,li];var yb=[Jr,Ei,Mi,zm,Hm,Mh,Pi,Jr];var zb=[Kr,og];return{_GNUNET_CRYPTO_rsa_signature_encode:$c,_GNUNET_CRYPTO_rsa_private_key_free:Tc,_GNUNET_CRYPTO_rsa_verify:kd,_bitshift64Shl:mr,_GNUNET_CRYPTO_hash_context_start:yc,_bitshift64Lshr:gr,_TALER_setup_fresh_coin:uo,_GNUNET_STRINGS_string_to_data:od,_GNUNET_CRYPTO_rsa_private_key_get_public:Wc,_memset:Yq,_GNUNET_CRYPTO_eddsa_verify:tc,_TALER_amount_normalize:po,_GNUNET_CRYPTO_hash_context_finish:Ac,_GNUNET_CRYPTO_symmetric_encrypt:dc,_TALER_WR_get_fraction:Nb,_GNUNET_CRYPTO_hash_context_read:zc,_TALER_amount_cmp:oo,_GNUNET_CRYPTO_rsa_blind:ad,_TALER_WR_get_currency:Ob,_GNUNET_CRYPTO_random_block:Rc,_fflush:$p,_GNUNET_CRYPTO_hash_create_random:xc,_GNUNET_CRYPTO_rsa_unblind:jd,_bitshift64Ashr:fr,_TALER_WRALL_get_amount:Lb,_sbrk:lr,_GNUNET_CRYPTO_eddsa_key_create:qc,_TALER_WRALL_eddsa_public_key_from_private:Hb,_llvm_bswap_i32:er,___muldi3:kr,_GNUNET_CRYPTO_ecc_ecdh:uc,_memalign:Uq,_GNUNET_CRYPTO_rsa_private_key_decode:Vc,_GNUNET_CRYPTO_symmetric_decrypt:gc,_GNUNET_CRYPTO_rsa_signature_free:hd,___divdi3:br,_TALER_amount_ntoh:mo,_llvm_cttz_i32:$q,_GNUNET_CRYPTO_ecdhe_key_create:nc,_TALER_amount_subtract:qo,___udivmoddi4:ar,_GNUNET_CRYPTO_rsa_private_key_create:Sc,_i64Add:_q,_GNUNET_CRYPTO_ecdhe_key_get_public:lc,_TALER_WRALL_purpose_create:Kb,_GNUNET_CRYPTO_ecdh_eddsa:vc,_pthread_mutex_unlock:hr,_GNUNET_CRYPTO_rsa_public_key_free:Yc,_GNUNET_CRYPTO_kdf:Hc,_emscripten_get_global_libc:Eo,_GNUNET_CRYPTO_eddsa_sign:rc,_TALER_amount_hton:lo,_i64Subtract:Xq,_pthread_mutex_lock:Zq,_GNUNET_CRYPTO_rsa_private_key_encode:Uc,_GNUNET_CRYPTO_eddsa_key_get_public:jc,___udivdi3:ir,_TALER_amount_add:ro,___errno_location:zo,___muldsi3:jr,_TALER_WR_get_value:Mb,_TALER_WRALL_ecdhe_public_key_from_private:Jb,_free:Pq,_GNUNET_STRINGS_data_to_string_alloc:nd,_GNUNET_CRYPTO_hash_context_abort:Bc,_memmove:dr,_malloc:Oq,_memcpy:cr,_TALER_amount_get_zero:no,_GNUNET_CRYPTO_hkdf:Fc,_GNUNET_CRYPTO_rsa_public_key_decode:_c,_GNUNET_CRYPTO_ecdsa_key_create:pc,_TALER_WRALL_ecdsa_public_key_from_private:Ib,_GNUNET_CRYPTO_rsa_public_key_encode:Zc,___remdi3:or,_GNUNET_CRYPTO_hash:wc,_GNUNET_CRYPTO_rsa_signature_decode:id,___uremdi3:nr,_GNUNET_util_cl_init:Tb,_GNUNET_CRYPTO_random_init:Mc,_gpg_err_init:On,_TALER_gcrypt_init:so,runPostSets:Wq,stackAlloc:Ab,stackSave:Bb,stackRestore:Cb,establishStackSpace:Db,setTempRet0:Fb,getTempRet0:Gb,setThrew:Eb,stackAlloc:Ab,stackSave:Bb,stackRestore:Cb,establishStackSpace:Db,setThrew:Eb,setTempRet0:Fb,getTempRet0:Gb,dynCall_iiii:pr,dynCall_viiiii:qr,dynCall_vi:rr,dynCall_vii:sr,dynCall_ii:tr,dynCall_viii:ur,dynCall_v:vr,dynCall_iiiii:wr,dynCall_viiiiii:xr,dynCall_iii:yr,dynCall_viiii:zr}})
+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)) abortStackOverflow(size|0);
+
+ return ret|0;
+}
+function stackSave() {
+ return STACKTOP|0;
+}
+function stackRestore(top) {
+ top = top|0;
+ STACKTOP = top;
+}
+function establishStackSpace(stackBase, stackMax) {
+ stackBase = stackBase|0;
+ stackMax = stackMax|0;
+ STACKTOP = stackBase;
+ STACK_MAX = stackMax;
+}
+
+function setThrew(threw, value) {
+ threw = threw|0;
+ value = value|0;
+ if ((__THREW__|0) == 0) {
+ __THREW__ = threw;
+ threwValue = value;
+ }
+}
+
+function setTempRet0(value) {
+ value = value|0;
+ tempRet0 = value;
+}
+function getTempRet0() {
+ return tempRet0|0;
+}
+
+function _TALER_WRALL_eddsa_public_key_from_private($0) {
+ $0 = $0|0;
+ var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $1 = $0;
+ $3 = (_GNUNET_xmalloc_(32,41052,38)|0);
+ $2 = $3;
+ $4 = $1;
+ $5 = $2;
+ _GNUNET_CRYPTO_eddsa_key_get_public($4,$5);
+ $6 = $2;
+ STACKTOP = sp;return ($6|0);
+}
+function _TALER_WRALL_ecdsa_public_key_from_private($0) {
+ $0 = $0|0;
+ var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $1 = $0;
+ $3 = (_GNUNET_xmalloc_(32,41052,56)|0);
+ $2 = $3;
+ $4 = $1;
+ $5 = $2;
+ _GNUNET_CRYPTO_ecdsa_key_get_public($4,$5);
+ $6 = $2;
+ STACKTOP = sp;return ($6|0);
+}
+function _TALER_WRALL_ecdhe_public_key_from_private($0) {
+ $0 = $0|0;
+ var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $1 = $0;
+ $3 = (_GNUNET_xmalloc_(32,41052,73)|0);
+ $2 = $3;
+ $4 = $1;
+ $5 = $2;
+ _GNUNET_CRYPTO_ecdhe_key_get_public($4,$5);
+ $6 = $2;
+ STACKTOP = sp;return ($6|0);
+}
+function _TALER_WRALL_purpose_create($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
+ var $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
+ $3 = $0;
+ $4 = $1;
+ $5 = $2;
+ $8 = $5;
+ $9 = (8 + ($8))|0;
+ $7 = $9;
+ $10 = $7;
+ $11 = (_GNUNET_xmalloc_($10,41052,87)|0);
+ $6 = $11;
+ $12 = $6;
+ $13 = ((($12)) + 8|0);
+ $14 = $4;
+ $15 = $5;
+ _memcpy(($13|0),($14|0),($15|0))|0;
+ $16 = $3;
+ $17 = (_htonl($16)|0);
+ $18 = $6;
+ $19 = ((($18)) + 4|0);
+ HEAP8[$19>>0]=$17&255;HEAP8[$19+1>>0]=($17>>8)&255;HEAP8[$19+2>>0]=($17>>16)&255;HEAP8[$19+3>>0]=$17>>24;
+ $20 = $7;
+ $21 = (_htonl($20)|0);
+ $22 = $6;
+ HEAP8[$22>>0]=$21&255;HEAP8[$22+1>>0]=($21>>8)&255;HEAP8[$22+2>>0]=($21>>16)&255;HEAP8[$22+3>>0]=$21>>24;
+ $23 = $6;
+ STACKTOP = sp;return ($23|0);
+}
+function _TALER_WRALL_get_amount($0,$1,$2,$3) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
+ var $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
+ $5 = sp + 24|0;
+ $8 = sp;
+ $10 = $5;
+ $11 = $10;
+ HEAP32[$11>>2] = $0;
+ $12 = (($10) + 4)|0;
+ $13 = $12;
+ HEAP32[$13>>2] = $1;
+ $6 = $2;
+ $7 = $3;
+ $14 = $7;
+ $15 = (_TALER_amount_get_zero($14,$8)|0);
+ $16 = (1)!=($15|0);
+ if ($16) {
+ $4 = 0;
+ $32 = $4;
+ STACKTOP = sp;return ($32|0);
+ } else {
+ $17 = $5;
+ $18 = $17;
+ $19 = HEAP32[$18>>2]|0;
+ $20 = (($17) + 4)|0;
+ $21 = $20;
+ $22 = HEAP32[$21>>2]|0;
+ $23 = $8;
+ $24 = $23;
+ HEAP32[$24>>2] = $19;
+ $25 = (($23) + 4)|0;
+ $26 = $25;
+ HEAP32[$26>>2] = $22;
+ $27 = $6;
+ $28 = ((($8)) + 8|0);
+ HEAP32[$28>>2] = $27;
+ $29 = (_GNUNET_xmalloc_(24,41052,117)|0);
+ $9 = $29;
+ $30 = $9;
+ ;HEAP32[$30>>2]=HEAP32[$8>>2]|0;HEAP32[$30+4>>2]=HEAP32[$8+4>>2]|0;HEAP32[$30+8>>2]=HEAP32[$8+8>>2]|0;HEAP32[$30+12>>2]=HEAP32[$8+12>>2]|0;HEAP32[$30+16>>2]=HEAP32[$8+16>>2]|0;HEAP32[$30+20>>2]=HEAP32[$8+20>>2]|0;
+ $31 = $9;
+ $4 = $31;
+ $32 = $4;
+ STACKTOP = sp;return ($32|0);
+ }
+ return (0)|0;
+}
+function _TALER_WR_get_value($0) {
+ $0 = $0|0;
+ var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $1 = $0;
+ $2 = $1;
+ $3 = $2;
+ $4 = $3;
+ $5 = HEAP32[$4>>2]|0;
+ $6 = (($3) + 4)|0;
+ $7 = $6;
+ $8 = HEAP32[$7>>2]|0;
+ tempRet0 = ($8);
+ STACKTOP = sp;return ($5|0);
+}
+function _TALER_WR_get_fraction($0) {
+ $0 = $0|0;
+ var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $1 = $0;
+ $2 = $1;
+ $3 = ((($2)) + 8|0);
+ $4 = HEAP32[$3>>2]|0;
+ STACKTOP = sp;return ($4|0);
+}
+function _TALER_WR_get_currency($0) {
+ $0 = $0|0;
+ var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $1 = $0;
+ $2 = $1;
+ $3 = ((($2)) + 12|0);
+ STACKTOP = sp;return ($3|0);
+}
+function _GNUNET_xmalloc_($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
+ var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0, $vararg_ptr11 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
+ $vararg_buffer8 = sp + 24|0;
+ $vararg_buffer2 = sp + 8|0;
+ $vararg_buffer = sp;
+ $3 = ($0>>>0)<(41943041);
+ if (!($3)) {
+ $4 = HEAP32[9364]|0;
+ $5 = ($4|0)==(-1);
+ if ($5) {
+ $6 = (_GNUNET_get_log_call_status(1,0,41059,41079,72)|0);
+ HEAP32[9364] = $6;
+ }
+ $7 = (_GNUNET_get_log_skip()|0);
+ $8 = ($7|0)>(0);
+ if ($8) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $9 = HEAP32[9364]|0;
+ $10 = ($9|0)==(0);
+ if ($10) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer>>2] = $1;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = $2;
+ _GNUNET_log_nocheck(1,70521,$vararg_buffer);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $11 = (_malloc($0)|0);
+ $12 = ($11|0)==(0|0);
+ if (!($12)) {
+ _memset(($11|0),0,($0|0))|0;
+ STACKTOP = sp;return ($11|0);
+ }
+ $13 = HEAP32[9365]|0;
+ $14 = ($13|0)==(-1);
+ if ($14) {
+ $15 = (_GNUNET_get_log_call_status(1,41095,41059,41079,79)|0);
+ HEAP32[9365] = $15;
+ }
+ $16 = (_GNUNET_get_log_skip()|0);
+ $17 = ($16|0)>(0);
+ if ($17) {
+ _GNUNET_log_skip(-1,0);
+ } else {
+ $18 = HEAP32[9365]|0;
+ $19 = ($18|0)==(0);
+ if (!($19)) {
+ $20 = (___errno_location()|0);
+ $21 = HEAP32[$20>>2]|0;
+ $22 = (_strerror($21)|0);
+ HEAP32[$vararg_buffer2>>2] = 41118;
+ $vararg_ptr5 = ((($vararg_buffer2)) + 4|0);
+ HEAP32[$vararg_ptr5>>2] = 41059;
+ $vararg_ptr6 = ((($vararg_buffer2)) + 8|0);
+ HEAP32[$vararg_ptr6>>2] = 79;
+ $vararg_ptr7 = ((($vararg_buffer2)) + 12|0);
+ HEAP32[$vararg_ptr7>>2] = $22;
+ _GNUNET_log_from_nocheck(1,41095,42643,$vararg_buffer2);
+ }
+ }
+ $23 = HEAP32[9366]|0;
+ $24 = ($23|0)==(-1);
+ if ($24) {
+ $25 = (_GNUNET_get_log_call_status(1,0,41059,41079,80)|0);
+ HEAP32[9366] = $25;
+ }
+ $26 = (_GNUNET_get_log_skip()|0);
+ $27 = ($26|0)>(0);
+ if ($27) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $28 = HEAP32[9366]|0;
+ $29 = ($28|0)==(0);
+ if ($29) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer8>>2] = 41059;
+ $vararg_ptr11 = ((($vararg_buffer8)) + 4|0);
+ HEAP32[$vararg_ptr11>>2] = 80;
+ _GNUNET_log_nocheck(1,70521,$vararg_buffer8);
+ _GNUNET_abort_();
+ // unreachable;
+ return (0)|0;
+}
+function _GNUNET_xfree_($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $vararg_buffer = sp;
+ $3 = ($0|0)==(0|0);
+ if (!($3)) {
+ _free($0);
+ STACKTOP = sp;return;
+ }
+ $4 = HEAP32[9367]|0;
+ $5 = ($4|0)==(-1);
+ if ($5) {
+ $6 = (_GNUNET_get_log_call_status(1,0,41059,41125,318)|0);
+ HEAP32[9367] = $6;
+ }
+ $7 = (_GNUNET_get_log_skip()|0);
+ $8 = ($7|0)>(0);
+ if ($8) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $9 = HEAP32[9367]|0;
+ $10 = ($9|0)==(0);
+ if ($10) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer>>2] = $1;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = $2;
+ _GNUNET_log_nocheck(1,70521,$vararg_buffer);
+ _GNUNET_abort_();
+ // unreachable;
+}
+function _GNUNET_snprintf($0,$1,$2,$varargs) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $varargs = $varargs|0;
+ var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
+ $vararg_buffer = sp + 16|0;
+ $3 = sp;
+ HEAP32[$3>>2] = $varargs;
+ $4 = (_vsnprintf($0,$1,$2,$3)|0);
+ $5 = ($4|0)>(-1);
+ $6 = ($4>>>0)<($1>>>0);
+ $or$cond = $5 & $6;
+ if ($or$cond) {
+ STACKTOP = sp;return ($4|0);
+ }
+ $7 = HEAP32[9368]|0;
+ $8 = ($7|0)==(-1);
+ if ($8) {
+ $9 = (_GNUNET_get_log_call_status(1,0,41059,41139,518)|0);
+ HEAP32[9368] = $9;
+ }
+ $10 = (_GNUNET_get_log_skip()|0);
+ $11 = ($10|0)>(0);
+ if ($11) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $12 = HEAP32[9368]|0;
+ $13 = ($12|0)==(0);
+ if ($13) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer>>2] = 41059;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 518;
+ _GNUNET_log_nocheck(1,70521,$vararg_buffer);
+ _GNUNET_abort_();
+ // unreachable;
+ return (0)|0;
+}
+function _GNUNET_util_cl_init() {
+ var $0 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = HEAP32[10138]|0;
+ HEAP32[18074] = $0;
+ return;
+}
+function _GNUNET_util_cl_fini() {
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ return;
+}
+function _GNUNET_abort_() {
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ _abort();
+ // unreachable;
+}
+function _GNUNET_get_log_call_status($0,$1,$2,$3,$4) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ var $$0 = 0, $$0$in = 0, $$02629$us = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $30 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $spec$select = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $5 = ($1|0)==(0|0);
+ $spec$select = $5 ? 0 : $1;
+ $6 = (0)>(-1);
+ $7 = (0)==(0);
+ $or$cond = $6 & $7;
+ if ($or$cond) {
+ $8 = (0)>=($0|0);
+ $$0$in = $8;
+ $$0 = $$0$in&1;
+ return ($$0|0);
+ }
+ $9 = (0)>(0);
+ if ($9) {
+ $$02629$us = 0;
+ while(1) {
+ $10 = (((0 + (($$02629$us*112)|0)|0)) + 108|0);
+ $11 = HEAP32[$10>>2]|0;
+ $12 = ($11|0)==(0);
+ if (!($12)) {
+ $13 = (((0 + (($$02629$us*112)|0)|0)) + 96|0);
+ $14 = HEAP32[$13>>2]|0;
+ $15 = ($14|0)>($4|0);
+ if (!($15)) {
+ $16 = (((0 + (($$02629$us*112)|0)|0)) + 100|0);
+ $17 = HEAP32[$16>>2]|0;
+ $18 = ($17|0)<($4|0);
+ if (!($18)) {
+ $19 = (0 + (($$02629$us*112)|0)|0);
+ $20 = (_regexec($19,$spec$select,0,0,0)|0);
+ $21 = ($20|0)==(0);
+ if ($21) {
+ $22 = (((0 + (($$02629$us*112)|0)|0)) + 32|0);
+ $23 = (_regexec($22,$2,0,0,0)|0);
+ $24 = ($23|0)==(0);
+ if ($24) {
+ $25 = (((0 + (($$02629$us*112)|0)|0)) + 64|0);
+ (_regexec($25,$3,0,0,0)|0);
+ }
+ }
+ }
+ }
+ }
+ $26 = (($$02629$us) + 1)|0;
+ $27 = ($26|0)<(0);
+ if ($27) {
+ $$02629$us = $26;
+ } else {
+ break;
+ }
+ }
+ }
+ $28 = (0)>(-1);
+ if ($28) {
+ $29 = (0)>=($0|0);
+ $$0$in = $29;
+ $$0 = $$0$in&1;
+ return ($$0|0);
+ } else {
+ $30 = ($0|0)<(5);
+ $$0$in = $30;
+ $$0 = $$0$in&1;
+ return ($$0|0);
+ }
+ return (0)|0;
+}
+function _GNUNET_log_nocheck($0,$1,$varargs) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $varargs = $varargs|0;
+ var $2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $2 = sp;
+ HEAP32[$2>>2] = $varargs;
+ _mylog($0,0,$1,$2);
+ STACKTOP = sp;return;
+}
+function _mylog($0,$1,$2,$3) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ var $$$i = 0, $$0$i = 0, $$015$i = 0, $$016$i = 0, $$alloca_mul = 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;
+ var $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0;
+ var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $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, $last_bulk_time$byval_copy = 0, $or$cond = 0, $or$cond$i = 0, $or$cond3 = 0, $spec$select$i = 0, $vacopy_currentptr = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_buffer5 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0, $vararg_ptr11 = 0, $vararg_ptr12 = 0, $vararg_ptr13 = 0, dest = 0, label = 0, sp = 0;
+ var src = 0, stop = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 208|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(208|0);
+ $last_bulk_time$byval_copy = sp + 184|0;
+ $vararg_buffer8 = sp + 168|0;
+ $vararg_buffer5 = sp + 160|0;
+ $vararg_buffer2 = sp + 152|0;
+ $vararg_buffer = sp + 144|0;
+ $4 = sp + 80|0;
+ $5 = sp + 16|0;
+ $6 = sp;
+ $7 = sp + 192|0;
+ $vacopy_currentptr = HEAP32[$3>>2]|0;
+ HEAP32[$6>>2] = $vacopy_currentptr;
+ $8 = (_vsnprintf(0,0,$2,$6)|0);
+ $9 = (($8) + 1)|0;
+ $10 = ($9|0)==(0);
+ if ($10) {
+ $11 = HEAP32[9369]|0;
+ $12 = ($11|0)==(-1);
+ if ($12) {
+ $13 = (_GNUNET_get_log_call_status(1,0,41155,41178,968)|0);
+ HEAP32[9369] = $13;
+ $18 = $13;
+ } else {
+ $18 = $11;
+ }
+ $14 = HEAP32[18075]|0;
+ $15 = ($14|0)>(0);
+ if ($15) {
+ $16 = (($14) + -1)|0;
+ HEAP32[18075] = $16;
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $17 = ($18|0)==(0);
+ if ($17) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer>>2] = 41155;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 968;
+ _GNUNET_log_nocheck(1,70521,$vararg_buffer);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ dest=$4; stop=dest+64|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
+ $19 = (_llvm_stacksave()|0);
+ $$alloca_mul = $9;
+ $20 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul)|0)+15)&-16)|0);;
+ (_gettimeofday(($7|0),(0|0))|0);
+ $21 = (_GNUNET_TIME_get_offset()|0);
+ $22 = tempRet0;
+ $23 = ($22|0)>(0);
+ $24 = ($21>>>0)>(0);
+ $25 = ($22|0)==(0);
+ $26 = $25 & $24;
+ $27 = $23 | $26;
+ $28 = (___divdi3(($21|0),($22|0),1000,0)|0);
+ $29 = tempRet0;
+ $30 = HEAP32[$7>>2]|0;
+ $31 = (($30) + ($28))|0;
+ HEAP32[$7>>2] = $31;
+ do {
+ if ($27) {
+ $32 = (___uremdi3(($21|0),($22|0),1000,0)|0);
+ $33 = tempRet0;
+ $34 = ((($7)) + 4|0);
+ $35 = HEAP32[$34>>2]|0;
+ $36 = ($32*1000)|0;
+ $37 = (($35) + ($36))|0;
+ HEAP32[$34>>2] = $37;
+ $38 = ($37|0)>(1000000);
+ if ($38) {
+ $39 = (($31) + 1)|0;
+ $40 = (($37) + -1000000)|0;
+ HEAP32[$34>>2] = $40;
+ HEAP32[$7>>2] = $39;
+ }
+ } else {
+ $41 = ((($7)) + 4|0);
+ $42 = HEAP32[$41>>2]|0;
+ $43 = ($42|0)<(0);
+ $44 = $43 << 31 >> 31;
+ $45 = (___muldi3(($28|0),($29|0),1000,0)|0);
+ $46 = tempRet0;
+ $47 = (_i64Subtract(($21|0),($22|0),($45|0),($46|0))|0);
+ $48 = tempRet0;
+ $49 = (___muldi3(($47|0),($48|0),-1000,-1)|0);
+ $50 = tempRet0;
+ $51 = ($50|0)<($44|0);
+ $52 = ($49>>>0)<($42>>>0);
+ $53 = ($50|0)==($44|0);
+ $54 = $53 & $52;
+ $55 = $51 | $54;
+ $56 = ($47*1000)|0;
+ $57 = (($42) + ($56))|0;
+ if ($55) {
+ HEAP32[$41>>2] = $57;
+ break;
+ } else {
+ $58 = (($57) + 1000000)|0;
+ HEAP32[$41>>2] = $58;
+ $59 = (($31) + -1)|0;
+ HEAP32[$7>>2] = $59;
+ break;
+ }
+ }
+ } while(0);
+ $60 = (_localtime(($7|0))|0);
+ $61 = ($60|0)==(0|0);
+ if ($61) {
+ dest=$4; src=41184; stop=dest+16|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
+ } else {
+ $62 = (_strftime(($5|0),64,(41200|0),($60|0))|0);
+ $63 = ($62|0)==(0);
+ if ($63) {
+ _abort();
+ // unreachable;
+ }
+ $64 = ((($7)) + 4|0);
+ $65 = HEAP32[$64>>2]|0;
+ HEAP32[$vararg_buffer2>>2] = $65;
+ $66 = (_snprintf($4,64,$5,$vararg_buffer2)|0);
+ $67 = ($66|0)<(0);
+ if ($67) {
+ _abort();
+ // unreachable;
+ }
+ }
+ (_vsnprintf($20,$9,$2,$3)|0);
+ $68 = $0 & 64;
+ $69 = ($68|0)!=(0);
+ $70 = 72288;
+ $71 = $70;
+ $72 = HEAP32[$71>>2]|0;
+ $73 = (($70) + 4)|0;
+ $74 = $73;
+ $75 = HEAP32[$74>>2]|0;
+ $76 = ($72|0)!=(0);
+ $77 = ($75|0)!=(0);
+ $78 = $76 | $77;
+ $or$cond = $69 & $78;
+ if ($or$cond) {
+ $79 = (_strncmp($20,70688,256)|0);
+ $80 = ($79|0)==(0);
+ if ($80) {
+ $81 = HEAP32[18076]|0;
+ $82 = (($81) + 1)|0;
+ HEAP32[18076] = $82;
+ ;HEAP32[$last_bulk_time$byval_copy>>2]=HEAP32[72288>>2]|0;HEAP32[$last_bulk_time$byval_copy+4>>2]=HEAP32[72288+4>>2]|0;
+ $83 = (_GNUNET_TIME_absolute_get_duration($last_bulk_time$byval_copy)|0);
+ $84 = tempRet0;
+ $85 = ($84>>>0)>(10);
+ $86 = ($83>>>0)>(250327040);
+ $87 = ($84|0)==(10);
+ $88 = $87 & $86;
+ $89 = $85 | $88;
+ $90 = HEAP32[18076]|0;
+ $91 = ($90>>>0)>(1000);
+ $or$cond3 = $89 | $91;
+ if ($or$cond3) {
+ _flush_bulk($4);
+ }
+ _llvm_stackrestore(($19|0));
+ STACKTOP = sp;return;
+ }
+ }
+ _flush_bulk($4);
+ (_strncpy(70688,$20,256)|0);
+ HEAP32[18076] = 0;
+ HEAP32[18077] = $0;
+ $92 = (_GNUNET_TIME_absolute_get()|0);
+ $93 = tempRet0;
+ $94 = 72288;
+ $95 = $94;
+ HEAP32[$95>>2] = $92;
+ $96 = (($94) + 4)|0;
+ $97 = $96;
+ HEAP32[$97>>2] = $93;
+ (_strncpy(70944,$1,32)|0);
+ $98 = HEAP32[18074]|0;
+ $99 = ($98|0)!=(0|0);
+ $100 = (0|0)==(0|0);
+ $or$cond$i = $99 & $100;
+ if ($or$cond$i) {
+ $101 = ($0|0)==(4);
+ if ($101) {
+ HEAP32[$vararg_buffer5>>2] = $20;
+ (_fprintf($98,41221,$vararg_buffer5)|0);
+ } else {
+ $102 = $0 & 1;
+ $103 = ($102|0)==(0);
+ if ($103) {
+ $104 = $0 & 2;
+ $105 = ($104|0)==(0);
+ if ($105) {
+ $106 = $0 & 4;
+ $107 = ($106|0)==(0);
+ if ($107) {
+ $108 = $0 & 8;
+ $109 = ($108|0)==(0);
+ if ($109) {
+ $110 = $0 & 16;
+ $111 = ($110|0)==(0);
+ $112 = $0 & -65;
+ $113 = ($112|0)==(0);
+ $$$i = $113 ? 41226 : 41231;
+ $spec$select$i = $111 ? $$$i : 41239;
+ $114 = $spec$select$i;
+ } else {
+ $114 = 41267;
+ }
+ } else {
+ $114 = 41259;
+ }
+ } else {
+ $114 = 41251;
+ }
+ } else {
+ $114 = 41245;
+ }
+ HEAP32[$vararg_buffer8>>2] = $4;
+ $vararg_ptr11 = ((($vararg_buffer8)) + 4|0);
+ HEAP32[$vararg_ptr11>>2] = $1;
+ $vararg_ptr12 = ((($vararg_buffer8)) + 8|0);
+ HEAP32[$vararg_ptr12>>2] = $114;
+ $vararg_ptr13 = ((($vararg_buffer8)) + 12|0);
+ HEAP32[$vararg_ptr13>>2] = $20;
+ (_fprintf($98,41272,$vararg_buffer8)|0);
+ }
+ $115 = HEAP32[18074]|0;
+ (_fflush($115)|0);
+ $$015$i = 0;
+ } else {
+ $$015$i = 0;
+ }
+ $116 = ($$015$i|0)==(0|0);
+ if (!($116)) {
+ $$016$i = $$015$i;
+ while(1) {
+ $117 = ((($$016$i)) + 4|0);
+ $118 = HEAP32[$117>>2]|0;
+ $119 = ((($$016$i)) + 8|0);
+ $120 = HEAP32[$119>>2]|0;
+ FUNCTION_TABLE_viiiii[$118 & 127]($120,$0,$1,$4,$20);
+ $$0$i = HEAP32[$$016$i>>2]|0;
+ $121 = ($$0$i|0)==(0|0);
+ if ($121) {
+ break;
+ } else {
+ $$016$i = $$0$i;
+ }
+ }
+ }
+ _llvm_stackrestore(($19|0));
+ STACKTOP = sp;return;
+}
+function _flush_bulk($0) {
+ $0 = $0|0;
+ var $$$i = 0, $$0$i = 0, $$014 = 0, $$015$i = 0, $$016$i = 0, $$byval_copy = 0, $$byval_copy20 = 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;
+ var $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, $38 = 0, $39 = 0;
+ var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0;
+ var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $7 = 0, $8 = 0, $9 = 0, $last_bulk_time$byval_copy = 0, $last_bulk_time$byval_copy19 = 0, $or$cond = 0, $or$cond$i = 0, $spec$select = 0, $spec$select$i = 0, $vararg_buffer = 0;
+ var $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer4 = 0, $vararg_ptr1 = 0, $vararg_ptr16 = 0, $vararg_ptr17 = 0, $vararg_ptr18 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, $vararg_ptr9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 672|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(672|0);
+ $$byval_copy20 = sp + 664|0;
+ $last_bulk_time$byval_copy19 = sp + 656|0;
+ $$byval_copy = sp + 648|0;
+ $last_bulk_time$byval_copy = sp + 640|0;
+ $vararg_buffer13 = sp + 624|0;
+ $vararg_buffer10 = sp + 616|0;
+ $vararg_buffer4 = sp + 600|0;
+ $vararg_buffer = sp + 584|0;
+ $1 = sp;
+ $2 = sp + 576|0;
+ $3 = 72288;
+ $4 = $3;
+ $5 = HEAP32[$4>>2]|0;
+ $6 = (($3) + 4)|0;
+ $7 = $6;
+ $8 = HEAP32[$7>>2]|0;
+ $9 = ($5|0)==(0);
+ $10 = ($8|0)==(0);
+ $11 = $9 & $10;
+ $12 = HEAP32[18076]|0;
+ $13 = ($12|0)==(0);
+ $or$cond = $11 | $13;
+ if ($or$cond) {
+ STACKTOP = sp;return;
+ }
+ $14 = (_memchr(70688,0,256)|0);
+ $15 = ($14|0)==(0|0);
+ $16 = ($14|0)==(70688|0);
+ $17 = ((($14)) + -1|0);
+ $spec$select = $16 ? 70688 : $17;
+ $$014 = $15 ? (70943) : $spec$select;
+ $18 = HEAP8[$$014>>0]|0;
+ $19 = ($18<<24>>24)==(10);
+ if ($19) {
+ HEAP8[$$014>>0] = 0;
+ ;HEAP32[$last_bulk_time$byval_copy>>2]=HEAP32[72288>>2]|0;HEAP32[$last_bulk_time$byval_copy+4>>2]=HEAP32[72288+4>>2]|0;
+ $20 = (_GNUNET_TIME_absolute_get_duration($last_bulk_time$byval_copy)|0);
+ $21 = tempRet0;
+ $22 = $2;
+ $23 = $22;
+ HEAP32[$23>>2] = $20;
+ $24 = (($22) + 4)|0;
+ $25 = $24;
+ HEAP32[$25>>2] = $21;
+ ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
+ $26 = (_GNUNET_STRINGS_relative_time_to_string($$byval_copy,1)|0);
+ $27 = HEAP32[18076]|0;
+ HEAP32[$vararg_buffer>>2] = 256;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 70688;
+ $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
+ HEAP32[$vararg_ptr2>>2] = $27;
+ $vararg_ptr3 = ((($vararg_buffer)) + 12|0);
+ HEAP32[$vararg_ptr3>>2] = $26;
+ (_snprintf($1,576,41284,$vararg_buffer)|0);
+ HEAP8[$$014>>0] = 10;
+ } else {
+ ;HEAP32[$last_bulk_time$byval_copy19>>2]=HEAP32[72288>>2]|0;HEAP32[$last_bulk_time$byval_copy19+4>>2]=HEAP32[72288+4>>2]|0;
+ $28 = (_GNUNET_TIME_absolute_get_duration($last_bulk_time$byval_copy19)|0);
+ $29 = tempRet0;
+ $30 = $2;
+ $31 = $30;
+ HEAP32[$31>>2] = $28;
+ $32 = (($30) + 4)|0;
+ $33 = $32;
+ HEAP32[$33>>2] = $29;
+ ;HEAP32[$$byval_copy20>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy20+4>>2]=HEAP32[$2+4>>2]|0;
+ $34 = (_GNUNET_STRINGS_relative_time_to_string($$byval_copy20,1)|0);
+ $35 = HEAP32[18076]|0;
+ HEAP32[$vararg_buffer4>>2] = 256;
+ $vararg_ptr7 = ((($vararg_buffer4)) + 4|0);
+ HEAP32[$vararg_ptr7>>2] = 70688;
+ $vararg_ptr8 = ((($vararg_buffer4)) + 8|0);
+ HEAP32[$vararg_ptr8>>2] = $35;
+ $vararg_ptr9 = ((($vararg_buffer4)) + 12|0);
+ HEAP32[$vararg_ptr9>>2] = $34;
+ (_snprintf($1,576,41284,$vararg_buffer4)|0);
+ }
+ $36 = HEAP32[18077]|0;
+ $37 = HEAP32[18074]|0;
+ $38 = ($37|0)!=(0|0);
+ $39 = (0|0)==(0|0);
+ $or$cond$i = $38 & $39;
+ if ($or$cond$i) {
+ $40 = ($36|0)==(4);
+ if ($40) {
+ HEAP32[$vararg_buffer10>>2] = $1;
+ (_fprintf($37,41221,$vararg_buffer10)|0);
+ } else {
+ $41 = $36 & 1;
+ $42 = ($41|0)==(0);
+ if ($42) {
+ $43 = $36 & 2;
+ $44 = ($43|0)==(0);
+ if ($44) {
+ $45 = $36 & 4;
+ $46 = ($45|0)==(0);
+ if ($46) {
+ $47 = $36 & 8;
+ $48 = ($47|0)==(0);
+ if ($48) {
+ $49 = $36 & 16;
+ $50 = ($49|0)==(0);
+ $51 = $36 & -65;
+ $52 = ($51|0)==(0);
+ $$$i = $52 ? 41226 : 41231;
+ $spec$select$i = $50 ? $$$i : 41239;
+ $53 = $spec$select$i;
+ } else {
+ $53 = 41267;
+ }
+ } else {
+ $53 = 41259;
+ }
+ } else {
+ $53 = 41251;
+ }
+ } else {
+ $53 = 41245;
+ }
+ HEAP32[$vararg_buffer13>>2] = $0;
+ $vararg_ptr16 = ((($vararg_buffer13)) + 4|0);
+ HEAP32[$vararg_ptr16>>2] = 70944;
+ $vararg_ptr17 = ((($vararg_buffer13)) + 8|0);
+ HEAP32[$vararg_ptr17>>2] = $53;
+ $vararg_ptr18 = ((($vararg_buffer13)) + 12|0);
+ HEAP32[$vararg_ptr18>>2] = $1;
+ (_fprintf($37,41272,$vararg_buffer13)|0);
+ }
+ $54 = HEAP32[18074]|0;
+ (_fflush($54)|0);
+ $$015$i = 0;
+ } else {
+ $$015$i = 0;
+ }
+ $55 = ($$015$i|0)==(0|0);
+ if (!($55)) {
+ $$016$i = $$015$i;
+ while(1) {
+ $56 = ((($$016$i)) + 4|0);
+ $57 = HEAP32[$56>>2]|0;
+ $58 = ((($$016$i)) + 8|0);
+ $59 = HEAP32[$58>>2]|0;
+ FUNCTION_TABLE_viiiii[$57 & 127]($59,$36,70944,$0,$1);
+ $$0$i = HEAP32[$$016$i>>2]|0;
+ $60 = ($$0$i|0)==(0|0);
+ if ($60) {
+ break;
+ } else {
+ $$016$i = $$0$i;
+ }
+ }
+ }
+ $61 = (_GNUNET_TIME_absolute_get()|0);
+ $62 = tempRet0;
+ $63 = 72288;
+ $64 = $63;
+ HEAP32[$64>>2] = $61;
+ $65 = (($63) + 4)|0;
+ $66 = $65;
+ HEAP32[$66>>2] = $62;
+ HEAP32[18076] = 0;
+ STACKTOP = sp;return;
+}
+function _GNUNET_get_log_skip() {
+ var $0 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = HEAP32[18075]|0;
+ return ($0|0);
+}
+function _GNUNET_log_skip($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $$pre = 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, $or$cond = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $vararg_buffer = sp;
+ $2 = ($0|0)==(0);
+ $3 = HEAP32[18075]|0;
+ if (!($2)) {
+ $13 = (($3) + ($0))|0;
+ HEAP32[18075] = $13;
+ STACKTOP = sp;return;
+ }
+ $4 = ($3|0)==(0);
+ HEAP32[18075] = 0;
+ $5 = ($1|0)==(0);
+ $or$cond = $5 | $4;
+ if ($or$cond) {
+ STACKTOP = sp;return;
+ }
+ $6 = HEAP32[9370]|0;
+ $7 = ($6|0)==(-1);
+ if ($7) {
+ $8 = (_GNUNET_get_log_call_status(1,0,41155,41333,922)|0);
+ HEAP32[9370] = $8;
+ $$pre = HEAP32[18075]|0;
+ $9 = ($$pre|0)>(0);
+ if ($9) {
+ $10 = (($$pre) + -1)|0;
+ HEAP32[18075] = $10;
+ STACKTOP = sp;return;
+ } else {
+ $12 = $8;
+ }
+ } else {
+ $12 = $6;
+ }
+ $11 = ($12|0)==(0);
+ if ($11) {
+ STACKTOP = sp;return;
+ }
+ HEAP32[$vararg_buffer>>2] = 41155;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 922;
+ _GNUNET_log_nocheck(1,43837,$vararg_buffer);
+ STACKTOP = sp;return;
+}
+function _GNUNET_log_from_nocheck($0,$1,$2,$varargs) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $varargs = $varargs|0;
+ var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $spec$select = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 160|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(160|0);
+ $vararg_buffer = sp + 144|0;
+ $3 = sp + 128|0;
+ $4 = sp;
+ $5 = ($1|0)==(0|0);
+ $spec$select = $5 ? 0 : $1;
+ HEAP32[$3>>2] = $varargs;
+ $6 = (_getpid()|0);
+ HEAP32[$vararg_buffer>>2] = $spec$select;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = $6;
+ (_GNUNET_snprintf($4,128,41172,$vararg_buffer)|0);
+ _mylog($0,$4,$2,$3);
+ STACKTOP = sp;return;
+}
+function _GNUNET_CRYPTO_symmetric_encrypt($0,$1,$2,$3,$4) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ var $$alloca_mul = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
+ var $29 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_ptr1 = 0, $vararg_ptr5 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
+ $vararg_buffer2 = sp + 8|0;
+ $vararg_buffer = sp;
+ $5 = sp + 16|0;
+ $6 = (_llvm_stacksave()|0);
+ $$alloca_mul = $1;
+ $7 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul)|0)+15)&-16)|0);;
+ _setup_cipher_aes($5,$2,$3);
+ $8 = HEAP32[$5>>2]|0;
+ $9 = (_gcry_cipher_encrypt($8,$7,$1,$0,$1)|0);
+ $10 = ($9|0)==(0);
+ if (!($10)) {
+ $11 = HEAP32[9371]|0;
+ $12 = ($11|0)==(-1);
+ if ($12) {
+ $13 = (_GNUNET_get_log_call_status(1,0,41349,41368,134)|0);
+ HEAP32[9371] = $13;
+ }
+ $14 = (_GNUNET_get_log_skip()|0);
+ $15 = ($14|0)>(0);
+ if ($15) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $16 = HEAP32[9371]|0;
+ $17 = ($16|0)==(0);
+ if ($17) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer>>2] = 41349;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 134;
+ _GNUNET_log_nocheck(1,70521,$vararg_buffer);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $18 = HEAP32[$5>>2]|0;
+ _gcry_cipher_close($18);
+ _setup_cipher_twofish($5,$2,$3);
+ $19 = HEAP32[$5>>2]|0;
+ $20 = (_gcry_cipher_encrypt($19,$4,$1,$7,$1)|0);
+ $21 = ($20|0)==(0);
+ if ($21) {
+ $29 = HEAP32[$5>>2]|0;
+ _gcry_cipher_close($29);
+ _memset(($7|0),0,($1|0))|0;
+ _llvm_stackrestore(($6|0));
+ STACKTOP = sp;return ($1|0);
+ }
+ $22 = HEAP32[9372]|0;
+ $23 = ($22|0)==(-1);
+ if ($23) {
+ $24 = (_GNUNET_get_log_call_status(1,0,41349,41368,138)|0);
+ HEAP32[9372] = $24;
+ }
+ $25 = (_GNUNET_get_log_skip()|0);
+ $26 = ($25|0)>(0);
+ if ($26) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $27 = HEAP32[9372]|0;
+ $28 = ($27|0)==(0);
+ if ($28) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer2>>2] = 41349;
+ $vararg_ptr5 = ((($vararg_buffer2)) + 4|0);
+ HEAP32[$vararg_ptr5>>2] = 138;
+ _GNUNET_log_nocheck(1,70521,$vararg_buffer2);
+ _GNUNET_abort_();
+ // unreachable;
+ return (0)|0;
+}
+function _setup_cipher_aes($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
+ var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond9 = 0, $sext$mask = 0, $sext$mask1 = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_buffer6 = 0, $vararg_ptr1 = 0, $vararg_ptr5 = 0;
+ var $vararg_ptr9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
+ $vararg_buffer6 = sp + 16|0;
+ $vararg_buffer2 = sp + 8|0;
+ $vararg_buffer = sp;
+ $3 = (_gcry_cipher_open($0,9,2,0)|0);
+ $4 = ($3|0)==(0);
+ if (!($4)) {
+ $5 = HEAP32[9376]|0;
+ $6 = ($5|0)==(-1);
+ if ($6) {
+ $7 = (_GNUNET_get_log_call_status(1,0,41349,41421,66)|0);
+ HEAP32[9376] = $7;
+ }
+ $8 = (_GNUNET_get_log_skip()|0);
+ $9 = ($8|0)>(0);
+ if ($9) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $10 = HEAP32[9376]|0;
+ $11 = ($10|0)==(0);
+ if ($11) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer>>2] = 41349;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 66;
+ _GNUNET_log_nocheck(1,70521,$vararg_buffer);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $12 = HEAP32[$0>>2]|0;
+ $13 = (_gcry_cipher_setkey($12,$1,32)|0);
+ $14 = ($13|0)==(0);
+ $sext$mask = $13 & 255;
+ $15 = ($sext$mask|0)==(43);
+ $or$cond = $14 | $15;
+ if (!($or$cond)) {
+ $16 = HEAP32[9377]|0;
+ $17 = ($16|0)==(-1);
+ if ($17) {
+ $18 = (_GNUNET_get_log_call_status(1,0,41349,41421,70)|0);
+ HEAP32[9377] = $18;
+ }
+ $19 = (_GNUNET_get_log_skip()|0);
+ $20 = ($19|0)>(0);
+ if ($20) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $21 = HEAP32[9377]|0;
+ $22 = ($21|0)==(0);
+ if ($22) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer2>>2] = 41349;
+ $vararg_ptr5 = ((($vararg_buffer2)) + 4|0);
+ HEAP32[$vararg_ptr5>>2] = 70;
+ _GNUNET_log_nocheck(1,70521,$vararg_buffer2);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $23 = HEAP32[$0>>2]|0;
+ $24 = (_gcry_cipher_setiv($23,$2,16)|0);
+ $25 = ($24|0)==(0);
+ $sext$mask1 = $24 & 255;
+ $26 = ($sext$mask1|0)==(43);
+ $or$cond9 = $25 | $26;
+ if ($or$cond9) {
+ STACKTOP = sp;return;
+ }
+ $27 = HEAP32[9378]|0;
+ $28 = ($27|0)==(-1);
+ if ($28) {
+ $29 = (_GNUNET_get_log_call_status(1,0,41349,41421,74)|0);
+ HEAP32[9378] = $29;
+ }
+ $30 = (_GNUNET_get_log_skip()|0);
+ $31 = ($30|0)>(0);
+ if ($31) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $32 = HEAP32[9378]|0;
+ $33 = ($32|0)==(0);
+ if ($33) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer6>>2] = 41349;
+ $vararg_ptr9 = ((($vararg_buffer6)) + 4|0);
+ HEAP32[$vararg_ptr9>>2] = 74;
+ _GNUNET_log_nocheck(1,70521,$vararg_buffer6);
+ _GNUNET_abort_();
+ // unreachable;
+}
+function _setup_cipher_twofish($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
+ var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond9 = 0, $sext$mask = 0, $sext$mask1 = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_buffer6 = 0;
+ var $vararg_ptr1 = 0, $vararg_ptr5 = 0, $vararg_ptr9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
+ $vararg_buffer6 = sp + 16|0;
+ $vararg_buffer2 = sp + 8|0;
+ $vararg_buffer = sp;
+ $3 = (_gcry_cipher_open($0,10,2,0)|0);
+ $4 = ($3|0)==(0);
+ if (!($4)) {
+ $5 = HEAP32[9373]|0;
+ $6 = ($5|0)==(-1);
+ if ($6) {
+ $7 = (_GNUNET_get_log_call_status(1,0,41349,41400,96)|0);
+ HEAP32[9373] = $7;
+ }
+ $8 = (_GNUNET_get_log_skip()|0);
+ $9 = ($8|0)>(0);
+ if ($9) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $10 = HEAP32[9373]|0;
+ $11 = ($10|0)==(0);
+ if ($11) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer>>2] = 41349;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 96;
+ _GNUNET_log_nocheck(1,70521,$vararg_buffer);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $12 = HEAP32[$0>>2]|0;
+ $13 = ((($1)) + 32|0);
+ $14 = (_gcry_cipher_setkey($12,$13,32)|0);
+ $15 = ($14|0)==(0);
+ $sext$mask = $14 & 255;
+ $16 = ($sext$mask|0)==(43);
+ $or$cond = $15 | $16;
+ if (!($or$cond)) {
+ $17 = HEAP32[9374]|0;
+ $18 = ($17|0)==(-1);
+ if ($18) {
+ $19 = (_GNUNET_get_log_call_status(1,0,41349,41400,100)|0);
+ HEAP32[9374] = $19;
+ }
+ $20 = (_GNUNET_get_log_skip()|0);
+ $21 = ($20|0)>(0);
+ if ($21) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $22 = HEAP32[9374]|0;
+ $23 = ($22|0)==(0);
+ if ($23) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer2>>2] = 41349;
+ $vararg_ptr5 = ((($vararg_buffer2)) + 4|0);
+ HEAP32[$vararg_ptr5>>2] = 100;
+ _GNUNET_log_nocheck(1,70521,$vararg_buffer2);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $24 = HEAP32[$0>>2]|0;
+ $25 = ((($2)) + 16|0);
+ $26 = (_gcry_cipher_setiv($24,$25,16)|0);
+ $27 = ($26|0)==(0);
+ $sext$mask1 = $26 & 255;
+ $28 = ($sext$mask1|0)==(43);
+ $or$cond9 = $27 | $28;
+ if ($or$cond9) {
+ STACKTOP = sp;return;
+ }
+ $29 = HEAP32[9375]|0;
+ $30 = ($29|0)==(-1);
+ if ($30) {
+ $31 = (_GNUNET_get_log_call_status(1,0,41349,41400,104)|0);
+ HEAP32[9375] = $31;
+ }
+ $32 = (_GNUNET_get_log_skip()|0);
+ $33 = ($32|0)>(0);
+ if ($33) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $34 = HEAP32[9375]|0;
+ $35 = ($34|0)==(0);
+ if ($35) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer6>>2] = 41349;
+ $vararg_ptr9 = ((($vararg_buffer6)) + 4|0);
+ HEAP32[$vararg_ptr9>>2] = 104;
+ _GNUNET_log_nocheck(1,70521,$vararg_buffer6);
+ _GNUNET_abort_();
+ // unreachable;
+}
+function _GNUNET_CRYPTO_symmetric_decrypt($0,$1,$2,$3,$4) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ var $$alloca_mul = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
+ var $29 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_ptr1 = 0, $vararg_ptr5 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
+ $vararg_buffer2 = sp + 8|0;
+ $vararg_buffer = sp;
+ $5 = sp + 16|0;
+ $6 = (_llvm_stacksave()|0);
+ $$alloca_mul = $1;
+ $7 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul)|0)+15)&-16)|0);;
+ _setup_cipher_twofish($5,$2,$3);
+ $8 = HEAP32[$5>>2]|0;
+ $9 = (_gcry_cipher_decrypt($8,$7,$1,$0,$1)|0);
+ $10 = ($9|0)==(0);
+ if (!($10)) {
+ $11 = HEAP32[9379]|0;
+ $12 = ($11|0)==(-1);
+ if ($12) {
+ $13 = (_GNUNET_get_log_call_status(1,0,41349,41438,170)|0);
+ HEAP32[9379] = $13;
+ }
+ $14 = (_GNUNET_get_log_skip()|0);
+ $15 = ($14|0)>(0);
+ if ($15) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $16 = HEAP32[9379]|0;
+ $17 = ($16|0)==(0);
+ if ($17) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer>>2] = 41349;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 170;
+ _GNUNET_log_nocheck(1,70521,$vararg_buffer);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $18 = HEAP32[$5>>2]|0;
+ _gcry_cipher_close($18);
+ _setup_cipher_aes($5,$2,$3);
+ $19 = HEAP32[$5>>2]|0;
+ $20 = (_gcry_cipher_decrypt($19,$4,$1,$7,$1)|0);
+ $21 = ($20|0)==(0);
+ if ($21) {
+ $29 = HEAP32[$5>>2]|0;
+ _gcry_cipher_close($29);
+ _memset(($7|0),0,($1|0))|0;
+ _llvm_stackrestore(($6|0));
+ STACKTOP = sp;return ($1|0);
+ }
+ $22 = HEAP32[9380]|0;
+ $23 = ($22|0)==(-1);
+ if ($23) {
+ $24 = (_GNUNET_get_log_call_status(1,0,41349,41438,174)|0);
+ HEAP32[9380] = $24;
+ }
+ $25 = (_GNUNET_get_log_skip()|0);
+ $26 = ($25|0)>(0);
+ if ($26) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $27 = HEAP32[9380]|0;
+ $28 = ($27|0)==(0);
+ if ($28) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer2>>2] = 41349;
+ $vararg_ptr5 = ((($vararg_buffer2)) + 4|0);
+ HEAP32[$vararg_ptr5>>2] = 174;
+ _GNUNET_log_nocheck(1,70521,$vararg_buffer2);
+ _GNUNET_abort_();
+ // unreachable;
+ return (0)|0;
+}
+function _GNUNET_CRYPTO_ecdsa_key_get_public($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
+ var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_buffer6 = 0, $vararg_ptr1 = 0, $vararg_ptr5 = 0, $vararg_ptr9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
+ $vararg_buffer6 = sp + 16|0;
+ $vararg_buffer2 = sp + 8|0;
+ $vararg_buffer = sp;
+ $2 = sp + 24|0;
+ $3 = (_decode_private_ecdsa_key($0)|0);
+ $4 = ($3|0)==(0|0);
+ if ($4) {
+ $5 = HEAP32[9381]|0;
+ $6 = ($5|0)==(-1);
+ if ($6) {
+ $7 = (_GNUNET_get_log_call_status(1,0,41470,41483,232)|0);
+ HEAP32[9381] = $7;
+ }
+ $8 = (_GNUNET_get_log_skip()|0);
+ $9 = ($8|0)>(0);
+ if ($9) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $10 = HEAP32[9381]|0;
+ $11 = ($10|0)==(0);
+ if ($11) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer>>2] = 41470;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 232;
+ _GNUNET_log_nocheck(1,70521,$vararg_buffer);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $12 = (_gcry_mpi_ec_new($2,$3,0)|0);
+ $13 = ($12|0)==(0);
+ if (!($13)) {
+ $14 = HEAP32[9382]|0;
+ $15 = ($14|0)==(-1);
+ if ($15) {
+ $16 = (_GNUNET_get_log_call_status(1,0,41470,41483,233)|0);
+ HEAP32[9382] = $16;
+ }
+ $17 = (_GNUNET_get_log_skip()|0);
+ $18 = ($17|0)>(0);
+ if ($18) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $19 = HEAP32[9382]|0;
+ $20 = ($19|0)==(0);
+ if ($20) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer2>>2] = 41470;
+ $vararg_ptr5 = ((($vararg_buffer2)) + 4|0);
+ HEAP32[$vararg_ptr5>>2] = 233;
+ _GNUNET_log_nocheck(1,70521,$vararg_buffer2);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ _gcry_sexp_release($3);
+ $21 = HEAP32[$2>>2]|0;
+ $22 = (_gcry_mpi_ec_get_mpi(41518,$21,0)|0);
+ $23 = ($22|0)==(0|0);
+ if (!($23)) {
+ _GNUNET_CRYPTO_mpi_print_unsigned($1,32,$22);
+ _gcry_mpi_release($22);
+ $31 = HEAP32[$2>>2]|0;
+ _gcry_ctx_release($31);
+ STACKTOP = sp;return;
+ }
+ $24 = HEAP32[9383]|0;
+ $25 = ($24|0)==(-1);
+ if ($25) {
+ $26 = (_GNUNET_get_log_call_status(1,0,41470,41483,236)|0);
+ HEAP32[9383] = $26;
+ }
+ $27 = (_GNUNET_get_log_skip()|0);
+ $28 = ($27|0)>(0);
+ if ($28) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $29 = HEAP32[9383]|0;
+ $30 = ($29|0)==(0);
+ if ($30) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer6>>2] = 41470;
+ $vararg_ptr9 = ((($vararg_buffer6)) + 4|0);
+ HEAP32[$vararg_ptr9>>2] = 236;
+ _GNUNET_log_nocheck(1,70521,$vararg_buffer6);
+ _GNUNET_abort_();
+ // unreachable;
+}
+function _decode_private_ecdsa_key($0) {
+ $0 = $0|0;
+ var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0;
+ var $vararg_buffer2 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0, $vararg_ptr11 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
+ $vararg_buffer8 = sp + 24|0;
+ $vararg_buffer2 = sp + 8|0;
+ $vararg_buffer = sp;
+ $1 = sp + 32|0;
+ HEAP32[$vararg_buffer>>2] = 32;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = $0;
+ $2 = (_gcry_sexp_build($1,0,41526,$vararg_buffer)|0);
+ $3 = ($2|0)==(0);
+ if ($3) {
+ $19 = HEAP32[$1>>2]|0;
+ STACKTOP = sp;return ($19|0);
+ }
+ $4 = HEAP32[9384]|0;
+ $5 = ($4|0)==(-1);
+ if ($5) {
+ $6 = (_GNUNET_get_log_call_status(1,41568,41470,41584,135)|0);
+ HEAP32[9384] = $6;
+ }
+ $7 = (_GNUNET_get_log_skip()|0);
+ $8 = ($7|0)>(0);
+ if ($8) {
+ _GNUNET_log_skip(-1,0);
+ } else {
+ $9 = HEAP32[9384]|0;
+ $10 = ($9|0)==(0);
+ if (!($10)) {
+ $11 = (_gcry_strerror($2)|0);
+ HEAP32[$vararg_buffer2>>2] = 41609;
+ $vararg_ptr5 = ((($vararg_buffer2)) + 4|0);
+ HEAP32[$vararg_ptr5>>2] = 41470;
+ $vararg_ptr6 = ((($vararg_buffer2)) + 8|0);
+ HEAP32[$vararg_ptr6>>2] = 135;
+ $vararg_ptr7 = ((($vararg_buffer2)) + 12|0);
+ HEAP32[$vararg_ptr7>>2] = $11;
+ _GNUNET_log_from_nocheck(1,41568,42643,$vararg_buffer2);
+ }
+ }
+ $12 = HEAP32[9385]|0;
+ $13 = ($12|0)==(-1);
+ if ($13) {
+ $14 = (_GNUNET_get_log_call_status(1,0,41470,41584,136)|0);
+ HEAP32[9385] = $14;
+ }
+ $15 = (_GNUNET_get_log_skip()|0);
+ $16 = ($15|0)>(0);
+ if ($16) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $17 = HEAP32[9385]|0;
+ $18 = ($17|0)==(0);
+ if ($18) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer8>>2] = 41470;
+ $vararg_ptr11 = ((($vararg_buffer8)) + 4|0);
+ HEAP32[$vararg_ptr11>>2] = 136;
+ _GNUNET_log_nocheck(1,70521,$vararg_buffer8);
+ _GNUNET_abort_();
+ // unreachable;
+ return (0)|0;
+}
+function _GNUNET_CRYPTO_eddsa_key_get_public($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
+ var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_buffer6 = 0, $vararg_ptr1 = 0, $vararg_ptr5 = 0, $vararg_ptr9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
+ $vararg_buffer6 = sp + 16|0;
+ $vararg_buffer2 = sp + 8|0;
+ $vararg_buffer = sp;
+ $2 = sp + 24|0;
+ $3 = (_decode_private_eddsa_key($0)|0);
+ $4 = ($3|0)==(0|0);
+ if ($4) {
+ $5 = HEAP32[9386]|0;
+ $6 = ($5|0)==(-1);
+ if ($6) {
+ $7 = (_GNUNET_get_log_call_status(1,0,41470,41625,262)|0);
+ HEAP32[9386] = $7;
+ }
+ $8 = (_GNUNET_get_log_skip()|0);
+ $9 = ($8|0)>(0);
+ if ($9) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $10 = HEAP32[9386]|0;
+ $11 = ($10|0)==(0);
+ if ($11) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer>>2] = 41470;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 262;
+ _GNUNET_log_nocheck(1,70521,$vararg_buffer);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $12 = (_gcry_mpi_ec_new($2,$3,0)|0);
+ $13 = ($12|0)==(0);
+ if (!($13)) {
+ $14 = HEAP32[9387]|0;
+ $15 = ($14|0)==(-1);
+ if ($15) {
+ $16 = (_GNUNET_get_log_call_status(1,0,41470,41625,263)|0);
+ HEAP32[9387] = $16;
+ }
+ $17 = (_GNUNET_get_log_skip()|0);
+ $18 = ($17|0)>(0);
+ if ($18) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $19 = HEAP32[9387]|0;
+ $20 = ($19|0)==(0);
+ if ($20) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer2>>2] = 41470;
+ $vararg_ptr5 = ((($vararg_buffer2)) + 4|0);
+ HEAP32[$vararg_ptr5>>2] = 263;
+ _GNUNET_log_nocheck(1,70521,$vararg_buffer2);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ _gcry_sexp_release($3);
+ $21 = HEAP32[$2>>2]|0;
+ $22 = (_gcry_mpi_ec_get_mpi(41518,$21,0)|0);
+ $23 = ($22|0)==(0|0);
+ if (!($23)) {
+ _GNUNET_CRYPTO_mpi_print_unsigned($1,32,$22);
+ _gcry_mpi_release($22);
+ $31 = HEAP32[$2>>2]|0;
+ _gcry_ctx_release($31);
+ STACKTOP = sp;return;
+ }
+ $24 = HEAP32[9388]|0;
+ $25 = ($24|0)==(-1);
+ if ($25) {
+ $26 = (_GNUNET_get_log_call_status(1,0,41470,41625,266)|0);
+ HEAP32[9388] = $26;
+ }
+ $27 = (_GNUNET_get_log_skip()|0);
+ $28 = ($27|0)>(0);
+ if ($28) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $29 = HEAP32[9388]|0;
+ $30 = ($29|0)==(0);
+ if ($30) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer6>>2] = 41470;
+ $vararg_ptr9 = ((($vararg_buffer6)) + 4|0);
+ HEAP32[$vararg_ptr9>>2] = 266;
+ _GNUNET_log_nocheck(1,70521,$vararg_buffer6);
+ _GNUNET_abort_();
+ // unreachable;
+}
+function _decode_private_eddsa_key($0) {
+ $0 = $0|0;
+ var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0;
+ var $vararg_buffer2 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0, $vararg_ptr11 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
+ $vararg_buffer8 = sp + 24|0;
+ $vararg_buffer2 = sp + 8|0;
+ $vararg_buffer = sp;
+ $1 = sp + 32|0;
+ HEAP32[$vararg_buffer>>2] = 32;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = $0;
+ $2 = (_gcry_sexp_build($1,0,41660,$vararg_buffer)|0);
+ $3 = ($2|0)==(0);
+ if ($3) {
+ $19 = HEAP32[$1>>2]|0;
+ STACKTOP = sp;return ($19|0);
+ }
+ $4 = HEAP32[9389]|0;
+ $5 = ($4|0)==(-1);
+ if ($5) {
+ $6 = (_GNUNET_get_log_call_status(1,41568,41470,41715,168)|0);
+ HEAP32[9389] = $6;
+ }
+ $7 = (_GNUNET_get_log_skip()|0);
+ $8 = ($7|0)>(0);
+ if ($8) {
+ _GNUNET_log_skip(-1,0);
+ } else {
+ $9 = HEAP32[9389]|0;
+ $10 = ($9|0)==(0);
+ if (!($10)) {
+ $11 = (_gcry_strerror($2)|0);
+ HEAP32[$vararg_buffer2>>2] = 41609;
+ $vararg_ptr5 = ((($vararg_buffer2)) + 4|0);
+ HEAP32[$vararg_ptr5>>2] = 41470;
+ $vararg_ptr6 = ((($vararg_buffer2)) + 8|0);
+ HEAP32[$vararg_ptr6>>2] = 168;
+ $vararg_ptr7 = ((($vararg_buffer2)) + 12|0);
+ HEAP32[$vararg_ptr7>>2] = $11;
+ _GNUNET_log_from_nocheck(1,41568,42643,$vararg_buffer2);
+ }
+ }
+ $12 = HEAP32[9390]|0;
+ $13 = ($12|0)==(-1);
+ if ($13) {
+ $14 = (_GNUNET_get_log_call_status(1,0,41470,41715,169)|0);
+ HEAP32[9390] = $14;
+ }
+ $15 = (_GNUNET_get_log_skip()|0);
+ $16 = ($15|0)>(0);
+ if ($16) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $17 = HEAP32[9390]|0;
+ $18 = ($17|0)==(0);
+ if ($18) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer8>>2] = 41470;
+ $vararg_ptr11 = ((($vararg_buffer8)) + 4|0);
+ HEAP32[$vararg_ptr11>>2] = 169;
+ _GNUNET_log_nocheck(1,70521,$vararg_buffer8);
+ _GNUNET_abort_();
+ // unreachable;
+ return (0)|0;
+}
+function _GNUNET_CRYPTO_ecdhe_key_get_public($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
+ var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
+ var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer12 = 0, $vararg_buffer16 = 0, $vararg_buffer2 = 0, $vararg_buffer20 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0, $vararg_ptr11 = 0, $vararg_ptr15 = 0, $vararg_ptr19 = 0, $vararg_ptr23 = 0, $vararg_ptr5 = 0;
+ var $vararg_ptr6 = 0, $vararg_ptr7 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
+ $vararg_buffer20 = sp + 48|0;
+ $vararg_buffer16 = sp + 40|0;
+ $vararg_buffer12 = sp + 32|0;
+ $vararg_buffer8 = sp + 24|0;
+ $vararg_buffer2 = sp + 8|0;
+ $vararg_buffer = sp;
+ $2 = sp + 60|0;
+ $3 = sp + 56|0;
+ HEAP32[$vararg_buffer>>2] = 32;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = $0;
+ $4 = (_gcry_sexp_build($2,0,41526,$vararg_buffer)|0);
+ $5 = ($4|0)==(0);
+ if (!($5)) {
+ $6 = HEAP32[9391]|0;
+ $7 = ($6|0)==(-1);
+ if ($7) {
+ $8 = (_GNUNET_get_log_call_status(1,41568,41470,41740,201)|0);
+ HEAP32[9391] = $8;
+ }
+ $9 = (_GNUNET_get_log_skip()|0);
+ $10 = ($9|0)>(0);
+ if ($10) {
+ _GNUNET_log_skip(-1,0);
+ } else {
+ $11 = HEAP32[9391]|0;
+ $12 = ($11|0)==(0);
+ if (!($12)) {
+ $13 = (_gcry_strerror($4)|0);
+ HEAP32[$vararg_buffer2>>2] = 41609;
+ $vararg_ptr5 = ((($vararg_buffer2)) + 4|0);
+ HEAP32[$vararg_ptr5>>2] = 41470;
+ $vararg_ptr6 = ((($vararg_buffer2)) + 8|0);
+ HEAP32[$vararg_ptr6>>2] = 201;
+ $vararg_ptr7 = ((($vararg_buffer2)) + 12|0);
+ HEAP32[$vararg_ptr7>>2] = $13;
+ _GNUNET_log_from_nocheck(1,41568,42643,$vararg_buffer2);
+ }
+ }
+ $14 = HEAP32[9392]|0;
+ $15 = ($14|0)==(-1);
+ if ($15) {
+ $16 = (_GNUNET_get_log_call_status(1,0,41470,41740,202)|0);
+ HEAP32[9392] = $16;
+ }
+ $17 = (_GNUNET_get_log_skip()|0);
+ $18 = ($17|0)>(0);
+ if ($18) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $19 = HEAP32[9392]|0;
+ $20 = ($19|0)==(0);
+ if ($20) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer8>>2] = 41470;
+ $vararg_ptr11 = ((($vararg_buffer8)) + 4|0);
+ HEAP32[$vararg_ptr11>>2] = 202;
+ _GNUNET_log_nocheck(1,70521,$vararg_buffer8);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $21 = HEAP32[$2>>2]|0;
+ $22 = ($21|0)==(0|0);
+ if ($22) {
+ $23 = HEAP32[9393]|0;
+ $24 = ($23|0)==(-1);
+ if ($24) {
+ $25 = (_GNUNET_get_log_call_status(1,0,41470,41765,292)|0);
+ HEAP32[9393] = $25;
+ }
+ $26 = (_GNUNET_get_log_skip()|0);
+ $27 = ($26|0)>(0);
+ if ($27) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $28 = HEAP32[9393]|0;
+ $29 = ($28|0)==(0);
+ if ($29) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer12>>2] = 41470;
+ $vararg_ptr15 = ((($vararg_buffer12)) + 4|0);
+ HEAP32[$vararg_ptr15>>2] = 292;
+ _GNUNET_log_nocheck(1,70521,$vararg_buffer12);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $30 = (_gcry_mpi_ec_new($3,$21,0)|0);
+ $31 = ($30|0)==(0);
+ if (!($31)) {
+ $32 = HEAP32[9394]|0;
+ $33 = ($32|0)==(-1);
+ if ($33) {
+ $34 = (_GNUNET_get_log_call_status(1,0,41470,41765,293)|0);
+ HEAP32[9394] = $34;
+ }
+ $35 = (_GNUNET_get_log_skip()|0);
+ $36 = ($35|0)>(0);
+ if ($36) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $37 = HEAP32[9394]|0;
+ $38 = ($37|0)==(0);
+ if ($38) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer16>>2] = 41470;
+ $vararg_ptr19 = ((($vararg_buffer16)) + 4|0);
+ HEAP32[$vararg_ptr19>>2] = 293;
+ _GNUNET_log_nocheck(1,70521,$vararg_buffer16);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ _gcry_sexp_release($21);
+ $39 = HEAP32[$3>>2]|0;
+ $40 = (_gcry_mpi_ec_get_mpi(41518,$39,0)|0);
+ $41 = ($40|0)==(0|0);
+ if (!($41)) {
+ _GNUNET_CRYPTO_mpi_print_unsigned($1,32,$40);
+ _gcry_mpi_release($40);
+ $49 = HEAP32[$3>>2]|0;
+ _gcry_ctx_release($49);
+ STACKTOP = sp;return;
+ }
+ $42 = HEAP32[9395]|0;
+ $43 = ($42|0)==(-1);
+ if ($43) {
+ $44 = (_GNUNET_get_log_call_status(1,0,41470,41765,296)|0);
+ HEAP32[9395] = $44;
+ }
+ $45 = (_GNUNET_get_log_skip()|0);
+ $46 = ($45|0)>(0);
+ if ($46) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $47 = HEAP32[9395]|0;
+ $48 = ($47|0)==(0);
+ if ($48) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer20>>2] = 41470;
+ $vararg_ptr23 = ((($vararg_buffer20)) + 4|0);
+ HEAP32[$vararg_ptr23>>2] = 296;
+ _GNUNET_log_nocheck(1,70521,$vararg_buffer20);
+ _GNUNET_abort_();
+ // unreachable;
+}
+function _GNUNET_CRYPTO_ecdhe_key_create() {
+ var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = (_GNUNET_xmalloc_(32,41470,545)|0);
+ $1 = (_GNUNET_CRYPTO_ecdhe_key_create2($0)|0);
+ $2 = ($1|0)==(1);
+ if ($2) {
+ $$0 = $0;
+ return ($$0|0);
+ }
+ _GNUNET_xfree_($0,41470,549);
+ $$0 = 0;
+ return ($$0|0);
+}
+function _GNUNET_CRYPTO_ecdhe_key_create2($0) {
+ $0 = $0|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, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
+ var $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer12 = 0, $vararg_buffer6 = 0, $vararg_ptr10 = 0, $vararg_ptr11 = 0, $vararg_ptr15 = 0, $vararg_ptr16 = 0, $vararg_ptr17 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, $vararg_ptr9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0);
+ $vararg_buffer12 = sp + 40|0;
+ $vararg_buffer6 = sp + 24|0;
+ $vararg_buffer1 = sp + 8|0;
+ $vararg_buffer = sp;
+ $1 = sp + 64|0;
+ $2 = sp + 60|0;
+ $3 = sp + 56|0;
+ $4 = (_gcry_sexp_build($2,0,41800,$vararg_buffer)|0);
+ $5 = ($4|0)==(0);
+ if (!($5)) {
+ $6 = HEAP32[9396]|0;
+ $7 = ($6|0)==(-1);
+ if ($7) {
+ $8 = (_GNUNET_get_log_call_status(1,41568,41470,41855,582)|0);
+ HEAP32[9396] = $8;
+ }
+ $9 = (_GNUNET_get_log_skip()|0);
+ $10 = ($9|0)>(0);
+ if ($10) {
+ _GNUNET_log_skip(-1,0);
+ $$0 = -1;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $11 = HEAP32[9396]|0;
+ $12 = ($11|0)==(0);
+ if ($12) {
+ $$0 = -1;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $13 = (_gcry_strerror($4)|0);
+ HEAP32[$vararg_buffer1>>2] = 41609;
+ $vararg_ptr3 = ((($vararg_buffer1)) + 4|0);
+ HEAP32[$vararg_ptr3>>2] = 41470;
+ $vararg_ptr4 = ((($vararg_buffer1)) + 8|0);
+ HEAP32[$vararg_ptr4>>2] = 582;
+ $vararg_ptr5 = ((($vararg_buffer1)) + 12|0);
+ HEAP32[$vararg_ptr5>>2] = $13;
+ _GNUNET_log_from_nocheck(1,41568,42643,$vararg_buffer1);
+ $$0 = -1;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $14 = HEAP32[$2>>2]|0;
+ $15 = (_gcry_pk_genkey($1,$14)|0);
+ $16 = ($15|0)==(0);
+ if (!($16)) {
+ $17 = HEAP32[9397]|0;
+ $18 = ($17|0)==(-1);
+ if ($18) {
+ $19 = (_GNUNET_get_log_call_status(1,41568,41470,41855,587)|0);
+ HEAP32[9397] = $19;
+ }
+ $20 = (_GNUNET_get_log_skip()|0);
+ $21 = ($20|0)>(0);
+ if ($21) {
+ _GNUNET_log_skip(-1,0);
+ } else {
+ $22 = HEAP32[9397]|0;
+ $23 = ($22|0)==(0);
+ if (!($23)) {
+ $24 = (_gcry_strerror($15)|0);
+ HEAP32[$vararg_buffer6>>2] = 41887;
+ $vararg_ptr9 = ((($vararg_buffer6)) + 4|0);
+ HEAP32[$vararg_ptr9>>2] = 41470;
+ $vararg_ptr10 = ((($vararg_buffer6)) + 8|0);
+ HEAP32[$vararg_ptr10>>2] = 587;
+ $vararg_ptr11 = ((($vararg_buffer6)) + 12|0);
+ HEAP32[$vararg_ptr11>>2] = $24;
+ _GNUNET_log_from_nocheck(1,41568,42643,$vararg_buffer6);
+ }
+ }
+ $25 = HEAP32[$2>>2]|0;
+ _gcry_sexp_release($25);
+ $$0 = -1;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $26 = HEAP32[$2>>2]|0;
+ _gcry_sexp_release($26);
+ $27 = HEAP32[$1>>2]|0;
+ $28 = (_key_from_sexp($3,$27,59743,57460)|0);
+ $29 = ($28|0)==(0);
+ if ($29) {
+ $39 = HEAP32[$1>>2]|0;
+ _gcry_sexp_release($39);
+ $40 = HEAP32[$3>>2]|0;
+ _GNUNET_CRYPTO_mpi_print_unsigned($0,32,$40);
+ _gcry_mpi_release($40);
+ $$0 = 1;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $30 = HEAP32[9398]|0;
+ $31 = ($30|0)==(-1);
+ if ($31) {
+ $32 = (_GNUNET_get_log_call_status(1,41568,41470,41855,602)|0);
+ HEAP32[9398] = $32;
+ }
+ $33 = (_GNUNET_get_log_skip()|0);
+ $34 = ($33|0)>(0);
+ if ($34) {
+ _GNUNET_log_skip(-1,0);
+ } else {
+ $35 = HEAP32[9398]|0;
+ $36 = ($35|0)==(0);
+ if (!($36)) {
+ $37 = (_gcry_strerror($28)|0);
+ HEAP32[$vararg_buffer12>>2] = 41902;
+ $vararg_ptr15 = ((($vararg_buffer12)) + 4|0);
+ HEAP32[$vararg_ptr15>>2] = 41470;
+ $vararg_ptr16 = ((($vararg_buffer12)) + 8|0);
+ HEAP32[$vararg_ptr16>>2] = 602;
+ $vararg_ptr17 = ((($vararg_buffer12)) + 12|0);
+ HEAP32[$vararg_ptr17>>2] = $37;
+ _GNUNET_log_from_nocheck(1,41568,42643,$vararg_buffer12);
+ }
+ }
+ $38 = HEAP32[$1>>2]|0;
+ _gcry_sexp_release($38);
+ $$0 = -1;
+ STACKTOP = sp;return ($$0|0);
+}
+function _key_from_sexp($0,$1,$2,$3) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ var $$04550 = 0, $$04655 = 0, $$047 = 0, $$056 = 0, $$151 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0;
+ var $25 = 0, $26 = 0, $27 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond62 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $4 = (_gcry_sexp_find_token($1,$2,0)|0);
+ $5 = ($4|0)==(0|0);
+ if ($5) {
+ $$047 = 1;
+ return ($$047|0);
+ }
+ $6 = (_gcry_sexp_cadr($4)|0);
+ _gcry_sexp_release($4);
+ $7 = ($6|0)==(0|0);
+ if ($7) {
+ $$047 = 2;
+ return ($$047|0);
+ }
+ $8 = HEAP8[$3>>0]|0;
+ $9 = ($8<<24>>24)==(0);
+ L7: do {
+ if (!($9)) {
+ $$04655 = $3;$$056 = 0;
+ while(1) {
+ $10 = (_gcry_sexp_find_token($6,$$04655,1)|0);
+ $11 = ($10|0)==(0|0);
+ if ($11) {
+ label = 6;
+ break;
+ }
+ $16 = (_gcry_sexp_nth_mpi($10,1,5)|0);
+ $17 = (($0) + ($$056<<2)|0);
+ HEAP32[$17>>2] = $16;
+ _gcry_sexp_release($10);
+ $18 = HEAP32[$17>>2]|0;
+ $19 = ($18|0)==(0|0);
+ if ($19) {
+ label = 11;
+ break;
+ }
+ $24 = ((($$04655)) + 1|0);
+ $25 = (($$056) + 1)|0;
+ $26 = HEAP8[$24>>0]|0;
+ $27 = ($26<<24>>24)==(0);
+ if ($27) {
+ break L7;
+ } else {
+ $$04655 = $24;$$056 = $25;
+ }
+ }
+ if ((label|0) == 6) {
+ $12 = ($$056|0)==(0);
+ if (!($12)) {
+ $$04550 = 0;
+ while(1) {
+ $13 = (($0) + ($$04550<<2)|0);
+ $14 = HEAP32[$13>>2]|0;
+ _gcry_free($14);
+ HEAP32[$13>>2] = 0;
+ $15 = (($$04550) + 1)|0;
+ $exitcond = ($15|0)==($$056|0);
+ if ($exitcond) {
+ break;
+ } else {
+ $$04550 = $15;
+ }
+ }
+ }
+ _gcry_sexp_release($6);
+ $$047 = 3;
+ return ($$047|0);
+ }
+ else if ((label|0) == 11) {
+ $20 = ($$056|0)==(0);
+ if (!($20)) {
+ $$151 = 0;
+ while(1) {
+ $21 = (($0) + ($$151<<2)|0);
+ $22 = HEAP32[$21>>2]|0;
+ _gcry_free($22);
+ HEAP32[$21>>2] = 0;
+ $23 = (($$151) + 1)|0;
+ $exitcond62 = ($23|0)==($$056|0);
+ if ($exitcond62) {
+ break;
+ } else {
+ $$151 = $23;
+ }
+ }
+ }
+ _gcry_sexp_release($6);
+ $$047 = 4;
+ return ($$047|0);
+ }
+ }
+ } while(0);
+ _gcry_sexp_release($6);
+ $$047 = 0;
+ return ($$047|0);
+}
+function _GNUNET_CRYPTO_ecdsa_key_create() {
+ var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
+ var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0;
+ var $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer12 = 0, $vararg_buffer6 = 0, $vararg_ptr10 = 0, $vararg_ptr11 = 0, $vararg_ptr15 = 0, $vararg_ptr16 = 0, $vararg_ptr17 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, $vararg_ptr9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0);
+ $vararg_buffer12 = sp + 40|0;
+ $vararg_buffer6 = sp + 24|0;
+ $vararg_buffer1 = sp + 8|0;
+ $vararg_buffer = sp;
+ $0 = sp + 64|0;
+ $1 = sp + 60|0;
+ $2 = sp + 56|0;
+ $3 = (_gcry_sexp_build($1,0,41916,$vararg_buffer)|0);
+ $4 = ($3|0)==(0);
+ if (!($4)) {
+ $5 = HEAP32[9399]|0;
+ $6 = ($5|0)==(-1);
+ if ($6) {
+ $7 = (_GNUNET_get_log_call_status(1,41568,41470,41954,636)|0);
+ HEAP32[9399] = $7;
+ }
+ $8 = (_GNUNET_get_log_skip()|0);
+ $9 = ($8|0)>(0);
+ if ($9) {
+ _GNUNET_log_skip(-1,0);
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $10 = HEAP32[9399]|0;
+ $11 = ($10|0)==(0);
+ if ($11) {
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $12 = (_gcry_strerror($3)|0);
+ HEAP32[$vararg_buffer1>>2] = 41609;
+ $vararg_ptr3 = ((($vararg_buffer1)) + 4|0);
+ HEAP32[$vararg_ptr3>>2] = 41470;
+ $vararg_ptr4 = ((($vararg_buffer1)) + 8|0);
+ HEAP32[$vararg_ptr4>>2] = 636;
+ $vararg_ptr5 = ((($vararg_buffer1)) + 12|0);
+ HEAP32[$vararg_ptr5>>2] = $12;
+ _GNUNET_log_from_nocheck(1,41568,42643,$vararg_buffer1);
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $13 = HEAP32[$1>>2]|0;
+ $14 = (_gcry_pk_genkey($0,$13)|0);
+ $15 = ($14|0)==(0);
+ if (!($15)) {
+ $16 = HEAP32[9400]|0;
+ $17 = ($16|0)==(-1);
+ if ($17) {
+ $18 = (_GNUNET_get_log_call_status(1,41568,41470,41954,641)|0);
+ HEAP32[9400] = $18;
+ }
+ $19 = (_GNUNET_get_log_skip()|0);
+ $20 = ($19|0)>(0);
+ if ($20) {
+ _GNUNET_log_skip(-1,0);
+ } else {
+ $21 = HEAP32[9400]|0;
+ $22 = ($21|0)==(0);
+ if (!($22)) {
+ $23 = (_gcry_strerror($14)|0);
+ HEAP32[$vararg_buffer6>>2] = 41887;
+ $vararg_ptr9 = ((($vararg_buffer6)) + 4|0);
+ HEAP32[$vararg_ptr9>>2] = 41470;
+ $vararg_ptr10 = ((($vararg_buffer6)) + 8|0);
+ HEAP32[$vararg_ptr10>>2] = 641;
+ $vararg_ptr11 = ((($vararg_buffer6)) + 12|0);
+ HEAP32[$vararg_ptr11>>2] = $23;
+ _GNUNET_log_from_nocheck(1,41568,42643,$vararg_buffer6);
+ }
+ }
+ $24 = HEAP32[$1>>2]|0;
+ _gcry_sexp_release($24);
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $25 = HEAP32[$1>>2]|0;
+ _gcry_sexp_release($25);
+ $26 = HEAP32[$0>>2]|0;
+ $27 = (_key_from_sexp($2,$26,59743,57460)|0);
+ $28 = ($27|0)==(0);
+ if ($28) {
+ $38 = HEAP32[$0>>2]|0;
+ _gcry_sexp_release($38);
+ $39 = (_GNUNET_xmalloc_(32,41470,661)|0);
+ $40 = HEAP32[$2>>2]|0;
+ _GNUNET_CRYPTO_mpi_print_unsigned($39,32,$40);
+ _gcry_mpi_release($40);
+ $$0 = $39;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $29 = HEAP32[9401]|0;
+ $30 = ($29|0)==(-1);
+ if ($30) {
+ $31 = (_GNUNET_get_log_call_status(1,41568,41470,41954,656)|0);
+ HEAP32[9401] = $31;
+ }
+ $32 = (_GNUNET_get_log_skip()|0);
+ $33 = ($32|0)>(0);
+ if ($33) {
+ _GNUNET_log_skip(-1,0);
+ } else {
+ $34 = HEAP32[9401]|0;
+ $35 = ($34|0)==(0);
+ if (!($35)) {
+ $36 = (_gcry_strerror($27)|0);
+ HEAP32[$vararg_buffer12>>2] = 41902;
+ $vararg_ptr15 = ((($vararg_buffer12)) + 4|0);
+ HEAP32[$vararg_ptr15>>2] = 41470;
+ $vararg_ptr16 = ((($vararg_buffer12)) + 8|0);
+ HEAP32[$vararg_ptr16>>2] = 656;
+ $vararg_ptr17 = ((($vararg_buffer12)) + 12|0);
+ HEAP32[$vararg_ptr17>>2] = $36;
+ _GNUNET_log_from_nocheck(1,41568,42643,$vararg_buffer12);
+ }
+ }
+ $37 = HEAP32[$0>>2]|0;
+ _gcry_sexp_release($37);
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+}
+function _GNUNET_CRYPTO_eddsa_key_create() {
+ var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
+ var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0;
+ var $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer12 = 0, $vararg_buffer6 = 0, $vararg_ptr10 = 0, $vararg_ptr11 = 0, $vararg_ptr15 = 0, $vararg_ptr16 = 0, $vararg_ptr17 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, $vararg_ptr9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0);
+ $vararg_buffer12 = sp + 40|0;
+ $vararg_buffer6 = sp + 24|0;
+ $vararg_buffer1 = sp + 8|0;
+ $vararg_buffer = sp;
+ $0 = sp + 64|0;
+ $1 = sp + 60|0;
+ $2 = sp + 56|0;
+ $3 = (_gcry_sexp_build($1,0,41985,$vararg_buffer)|0);
+ $4 = ($3|0)==(0);
+ if (!($4)) {
+ $5 = HEAP32[9402]|0;
+ $6 = ($5|0)==(-1);
+ if ($6) {
+ $7 = (_GNUNET_get_log_call_status(1,41568,41470,42029,693)|0);
+ HEAP32[9402] = $7;
+ }
+ $8 = (_GNUNET_get_log_skip()|0);
+ $9 = ($8|0)>(0);
+ if ($9) {
+ _GNUNET_log_skip(-1,0);
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $10 = HEAP32[9402]|0;
+ $11 = ($10|0)==(0);
+ if ($11) {
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $12 = (_gcry_strerror($3)|0);
+ HEAP32[$vararg_buffer1>>2] = 41609;
+ $vararg_ptr3 = ((($vararg_buffer1)) + 4|0);
+ HEAP32[$vararg_ptr3>>2] = 41470;
+ $vararg_ptr4 = ((($vararg_buffer1)) + 8|0);
+ HEAP32[$vararg_ptr4>>2] = 693;
+ $vararg_ptr5 = ((($vararg_buffer1)) + 12|0);
+ HEAP32[$vararg_ptr5>>2] = $12;
+ _GNUNET_log_from_nocheck(1,41568,42643,$vararg_buffer1);
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $13 = HEAP32[$1>>2]|0;
+ $14 = (_gcry_pk_genkey($0,$13)|0);
+ $15 = ($14|0)==(0);
+ if (!($15)) {
+ $16 = HEAP32[9403]|0;
+ $17 = ($16|0)==(-1);
+ if ($17) {
+ $18 = (_GNUNET_get_log_call_status(1,41568,41470,42029,698)|0);
+ HEAP32[9403] = $18;
+ }
+ $19 = (_GNUNET_get_log_skip()|0);
+ $20 = ($19|0)>(0);
+ if ($20) {
+ _GNUNET_log_skip(-1,0);
+ } else {
+ $21 = HEAP32[9403]|0;
+ $22 = ($21|0)==(0);
+ if (!($22)) {
+ $23 = (_gcry_strerror($14)|0);
+ HEAP32[$vararg_buffer6>>2] = 41887;
+ $vararg_ptr9 = ((($vararg_buffer6)) + 4|0);
+ HEAP32[$vararg_ptr9>>2] = 41470;
+ $vararg_ptr10 = ((($vararg_buffer6)) + 8|0);
+ HEAP32[$vararg_ptr10>>2] = 698;
+ $vararg_ptr11 = ((($vararg_buffer6)) + 12|0);
+ HEAP32[$vararg_ptr11>>2] = $23;
+ _GNUNET_log_from_nocheck(1,41568,42643,$vararg_buffer6);
+ }
+ }
+ $24 = HEAP32[$1>>2]|0;
+ _gcry_sexp_release($24);
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $25 = HEAP32[$1>>2]|0;
+ _gcry_sexp_release($25);
+ $26 = HEAP32[$0>>2]|0;
+ $27 = (_key_from_sexp($2,$26,59743,57460)|0);
+ $28 = ($27|0)==(0);
+ if ($28) {
+ $38 = HEAP32[$0>>2]|0;
+ _gcry_sexp_release($38);
+ $39 = (_GNUNET_xmalloc_(32,41470,718)|0);
+ $40 = HEAP32[$2>>2]|0;
+ _GNUNET_CRYPTO_mpi_print_unsigned($39,32,$40);
+ _gcry_mpi_release($40);
+ $$0 = $39;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $29 = HEAP32[9404]|0;
+ $30 = ($29|0)==(-1);
+ if ($30) {
+ $31 = (_GNUNET_get_log_call_status(1,41568,41470,42029,713)|0);
+ HEAP32[9404] = $31;
+ }
+ $32 = (_GNUNET_get_log_skip()|0);
+ $33 = ($32|0)>(0);
+ if ($33) {
+ _GNUNET_log_skip(-1,0);
+ } else {
+ $34 = HEAP32[9404]|0;
+ $35 = ($34|0)==(0);
+ if (!($35)) {
+ $36 = (_gcry_strerror($27)|0);
+ HEAP32[$vararg_buffer12>>2] = 41902;
+ $vararg_ptr15 = ((($vararg_buffer12)) + 4|0);
+ HEAP32[$vararg_ptr15>>2] = 41470;
+ $vararg_ptr16 = ((($vararg_buffer12)) + 8|0);
+ HEAP32[$vararg_ptr16>>2] = 713;
+ $vararg_ptr17 = ((($vararg_buffer12)) + 12|0);
+ HEAP32[$vararg_ptr17>>2] = $36;
+ _GNUNET_log_from_nocheck(1,41568,42643,$vararg_buffer12);
+ }
+ }
+ $37 = HEAP32[$0>>2]|0;
+ _gcry_sexp_release($37);
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+}
+function _GNUNET_CRYPTO_eddsa_sign($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
+ var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
+ $vararg_buffer3 = sp + 16|0;
+ $vararg_buffer = sp;
+ $3 = sp + 32|0;
+ $4 = sp + 24|0;
+ $5 = (_decode_private_eddsa_key($0)|0);
+ $6 = (_data_to_eddsa_value($1)|0);
+ $7 = (_gcry_pk_sign($3,$6,$5)|0);
+ $8 = ($7|0)==(0);
+ if (!($8)) {
+ $9 = HEAP32[9405]|0;
+ $10 = ($9|0)==(-1);
+ if ($10) {
+ $11 = (_GNUNET_get_log_call_status(2,41568,41470,42060,916)|0);
+ HEAP32[9405] = $11;
+ }
+ $12 = (_GNUNET_get_log_skip()|0);
+ $13 = ($12|0)>(0);
+ if ($13) {
+ _GNUNET_log_skip(-1,0);
+ } else {
+ $14 = HEAP32[9405]|0;
+ $15 = ($14|0)==(0);
+ if (!($15)) {
+ $16 = (_gcry_strerror($7)|0);
+ HEAP32[$vararg_buffer>>2] = 41470;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 916;
+ $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
+ HEAP32[$vararg_ptr2>>2] = $16;
+ _GNUNET_log_from_nocheck(2,41568,42085,$vararg_buffer);
+ }
+ }
+ _gcry_sexp_release($6);
+ _gcry_sexp_release($5);
+ $$0 = -1;
+ STACKTOP = sp;return ($$0|0);
+ }
+ _gcry_sexp_release($5);
+ _gcry_sexp_release($6);
+ $17 = HEAP32[$3>>2]|0;
+ $18 = (_key_from_sexp($4,$17,59605,64702)|0);
+ $19 = ($18|0)==(0);
+ if ($19) {
+ $28 = HEAP32[$3>>2]|0;
+ _gcry_sexp_release($28);
+ $29 = HEAP32[$4>>2]|0;
+ _GNUNET_CRYPTO_mpi_print_unsigned($2,32,$29);
+ $30 = ((($2)) + 32|0);
+ $31 = ((($4)) + 4|0);
+ $32 = HEAP32[$31>>2]|0;
+ _GNUNET_CRYPTO_mpi_print_unsigned($30,32,$32);
+ _gcry_mpi_release($29);
+ _gcry_mpi_release($32);
+ $$0 = 1;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $20 = HEAP32[9406]|0;
+ $21 = ($20|0)==(-1);
+ if ($21) {
+ $22 = (_GNUNET_get_log_call_status(1,0,41470,42060,928)|0);
+ HEAP32[9406] = $22;
+ }
+ $23 = (_GNUNET_get_log_skip()|0);
+ $24 = ($23|0)>(0);
+ if ($24) {
+ _GNUNET_log_skip(-1,0);
+ } else {
+ $25 = HEAP32[9406]|0;
+ $26 = ($25|0)==(0);
+ if (!($26)) {
+ HEAP32[$vararg_buffer3>>2] = 41470;
+ $vararg_ptr6 = ((($vararg_buffer3)) + 4|0);
+ HEAP32[$vararg_ptr6>>2] = 928;
+ _GNUNET_log_nocheck(1,43837,$vararg_buffer3);
+ }
+ }
+ $27 = HEAP32[$3>>2]|0;
+ _gcry_sexp_release($27);
+ $$0 = -1;
+ STACKTOP = sp;return ($$0|0);
+}
+function _data_to_eddsa_value($0) {
+ $0 = $0|0;
+ var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0;
+ var $vararg_ptr6 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0);
+ $vararg_buffer3 = sp + 16|0;
+ $vararg_buffer = sp;
+ $1 = sp + 40|0;
+ $2 = sp + 32|0;
+ $3 = HEAPU8[$0>>0]|(HEAPU8[$0+1>>0]<<8)|(HEAPU8[$0+2>>0]<<16)|(HEAPU8[$0+3>>0]<<24);
+ $4 = (_ntohl($3)|0);
+ _GNUNET_CRYPTO_hash($0,$4,$1);
+ HEAP32[$vararg_buffer>>2] = 59685;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 64;
+ $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
+ HEAP32[$vararg_ptr2>>2] = $1;
+ $5 = (_gcry_sexp_build($2,0,42120,$vararg_buffer)|0);
+ $6 = ($5|0)==(0);
+ if ($6) {
+ $15 = HEAP32[$2>>2]|0;
+ $$0 = $15;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $7 = HEAP32[9407]|0;
+ $8 = ($7|0)==(-1);
+ if ($8) {
+ $9 = (_GNUNET_get_log_call_status(1,41568,41470,42164,800)|0);
+ HEAP32[9407] = $9;
+ }
+ $10 = (_GNUNET_get_log_skip()|0);
+ $11 = ($10|0)>(0);
+ if ($11) {
+ _GNUNET_log_skip(-1,0);
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $12 = HEAP32[9407]|0;
+ $13 = ($12|0)==(0);
+ if ($13) {
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $14 = (_gcry_strerror($5)|0);
+ HEAP32[$vararg_buffer3>>2] = 41609;
+ $vararg_ptr6 = ((($vararg_buffer3)) + 4|0);
+ HEAP32[$vararg_ptr6>>2] = 41470;
+ $vararg_ptr7 = ((($vararg_buffer3)) + 8|0);
+ HEAP32[$vararg_ptr7>>2] = 800;
+ $vararg_ptr8 = ((($vararg_buffer3)) + 12|0);
+ HEAP32[$vararg_ptr8>>2] = $14;
+ _GNUNET_log_from_nocheck(1,41568,42643,$vararg_buffer3);
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+}
+function _GNUNET_CRYPTO_eddsa_verify($0,$1,$2,$3) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
+ var $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer4 = 0;
+ var $vararg_ptr1 = 0, $vararg_ptr13 = 0, $vararg_ptr17 = 0, $vararg_ptr18 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, $vararg_ptr9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
+ $vararg_buffer14 = sp + 40|0;
+ $vararg_buffer10 = sp + 32|0;
+ $vararg_buffer4 = sp + 16|0;
+ $vararg_buffer = sp;
+ $4 = sp + 56|0;
+ $5 = sp + 52|0;
+ $6 = ((($1)) + 4|0);
+ $7 = HEAPU8[$6>>0]|(HEAPU8[$6+1>>0]<<8)|(HEAPU8[$6+2>>0]<<16)|(HEAPU8[$6+3>>0]<<24);
+ $8 = (_ntohl($7)|0);
+ $9 = ($8|0)==($0|0);
+ if (!($9)) {
+ $$0 = -1;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $10 = ((($2)) + 32|0);
+ HEAP32[$vararg_buffer>>2] = 32;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = $2;
+ $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
+ HEAP32[$vararg_ptr2>>2] = 32;
+ $vararg_ptr3 = ((($vararg_buffer)) + 12|0);
+ HEAP32[$vararg_ptr3>>2] = $10;
+ $11 = (_gcry_sexp_build($4,0,42223,$vararg_buffer)|0);
+ $12 = ($11|0)==(0);
+ if (!($12)) {
+ $13 = HEAP32[9408]|0;
+ $14 = ($13|0)==(-1);
+ if ($14) {
+ $15 = (_GNUNET_get_log_call_status(1,41568,41470,42252,1036)|0);
+ HEAP32[9408] = $15;
+ }
+ $16 = (_GNUNET_get_log_skip()|0);
+ $17 = ($16|0)>(0);
+ if ($17) {
+ _GNUNET_log_skip(-1,0);
+ $$0 = -1;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $18 = HEAP32[9408]|0;
+ $19 = ($18|0)==(0);
+ if ($19) {
+ $$0 = -1;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $20 = (_gcry_strerror($11)|0);
+ HEAP32[$vararg_buffer4>>2] = 41609;
+ $vararg_ptr7 = ((($vararg_buffer4)) + 4|0);
+ HEAP32[$vararg_ptr7>>2] = 41470;
+ $vararg_ptr8 = ((($vararg_buffer4)) + 8|0);
+ HEAP32[$vararg_ptr8>>2] = 1036;
+ $vararg_ptr9 = ((($vararg_buffer4)) + 12|0);
+ HEAP32[$vararg_ptr9>>2] = $20;
+ _GNUNET_log_from_nocheck(1,41568,42643,$vararg_buffer4);
+ $$0 = -1;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $21 = (_data_to_eddsa_value($1)|0);
+ HEAP32[$vararg_buffer10>>2] = 32;
+ $vararg_ptr13 = ((($vararg_buffer10)) + 4|0);
+ HEAP32[$vararg_ptr13>>2] = $3;
+ $22 = (_gcry_sexp_build($5,0,42279,$vararg_buffer10)|0);
+ $23 = ($22|0)==(0);
+ if (!($23)) {
+ _gcry_sexp_release($21);
+ $24 = HEAP32[$4>>2]|0;
+ _gcry_sexp_release($24);
+ $$0 = -1;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $25 = HEAP32[$4>>2]|0;
+ $26 = HEAP32[$5>>2]|0;
+ $27 = (_gcry_pk_verify($25,$21,$26)|0);
+ $28 = HEAP32[$5>>2]|0;
+ _gcry_sexp_release($28);
+ _gcry_sexp_release($21);
+ $29 = HEAP32[$4>>2]|0;
+ _gcry_sexp_release($29);
+ $30 = ($27|0)==(0);
+ if ($30) {
+ $$0 = 1;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $31 = HEAP32[9409]|0;
+ $32 = ($31|0)==(-1);
+ if ($32) {
+ $33 = (_GNUNET_get_log_call_status(8,41568,41470,42252,1056)|0);
+ HEAP32[9409] = $33;
+ }
+ $34 = (_GNUNET_get_log_skip()|0);
+ $35 = ($34|0)>(0);
+ if ($35) {
+ _GNUNET_log_skip(-1,0);
+ $$0 = -1;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $36 = HEAP32[9409]|0;
+ $37 = ($36|0)==(0);
+ if ($37) {
+ $$0 = -1;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $38 = (_gcry_strerror($27)|0);
+ HEAP32[$vararg_buffer14>>2] = 41470;
+ $vararg_ptr17 = ((($vararg_buffer14)) + 4|0);
+ HEAP32[$vararg_ptr17>>2] = 1056;
+ $vararg_ptr18 = ((($vararg_buffer14)) + 8|0);
+ HEAP32[$vararg_ptr18>>2] = $38;
+ _GNUNET_log_from_nocheck(8,41568,42331,$vararg_buffer14);
+ $$0 = -1;
+ STACKTOP = sp;return ($$0|0);
+}
+function _GNUNET_CRYPTO_ecc_ecdh($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
+ var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
+ var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer12 = 0;
+ var $vararg_buffer16 = 0, $vararg_buffer2 = 0, $vararg_buffer6 = 0, $vararg_ptr1 = 0, $vararg_ptr10 = 0, $vararg_ptr11 = 0, $vararg_ptr15 = 0, $vararg_ptr19 = 0, $vararg_ptr5 = 0, $vararg_ptr9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0);
+ $vararg_buffer16 = sp + 72|0;
+ $vararg_buffer12 = sp + 64|0;
+ $vararg_buffer6 = sp + 48|0;
+ $vararg_buffer2 = sp + 40|0;
+ $vararg_buffer = sp + 32|0;
+ $3 = sp + 92|0;
+ $4 = sp + 88|0;
+ $5 = sp + 84|0;
+ $6 = sp;
+ $7 = sp + 80|0;
+ HEAP32[$vararg_buffer>>2] = 32;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = $1;
+ $8 = (_gcry_sexp_build($5,0,42184,$vararg_buffer)|0);
+ $9 = ($8|0)==(0);
+ if (!($9)) {
+ $$0 = -1;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $10 = HEAP32[$5>>2]|0;
+ $11 = (_gcry_mpi_ec_new($4,$10,0)|0);
+ $12 = ($11|0)==(0);
+ if (!($12)) {
+ $13 = HEAP32[9410]|0;
+ $14 = ($13|0)==(-1);
+ if ($14) {
+ $15 = (_GNUNET_get_log_call_status(1,0,41470,42381,1094)|0);
+ HEAP32[9410] = $15;
+ }
+ $16 = (_GNUNET_get_log_skip()|0);
+ $17 = ($16|0)>(0);
+ if ($17) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $18 = HEAP32[9410]|0;
+ $19 = ($18|0)==(0);
+ if ($19) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer2>>2] = 41470;
+ $vararg_ptr5 = ((($vararg_buffer2)) + 4|0);
+ HEAP32[$vararg_ptr5>>2] = 1094;
+ _GNUNET_log_nocheck(1,70521,$vararg_buffer2);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $20 = HEAP32[$5>>2]|0;
+ _gcry_sexp_release($20);
+ $21 = HEAP32[$4>>2]|0;
+ $22 = (_gcry_mpi_ec_get_point(64743,$21,0)|0);
+ _GNUNET_CRYPTO_mpi_scan_unsigned($3,$0,32);
+ $23 = (_gcry_mpi_point_new(0)|0);
+ $24 = HEAP32[$3>>2]|0;
+ $25 = HEAP32[$4>>2]|0;
+ _gcry_mpi_ec_mul($23,$24,$22,$25);
+ _gcry_mpi_point_release($22);
+ $26 = HEAP32[$3>>2]|0;
+ _gcry_mpi_release($26);
+ $27 = (_gcry_mpi_new(256)|0);
+ $28 = HEAP32[$4>>2]|0;
+ $29 = (_gcry_mpi_ec_get_affine($27,0,$23,$28)|0);
+ $30 = ($29|0)==(0);
+ if (!($30)) {
+ $31 = HEAP32[9411]|0;
+ $32 = ($31|0)==(-1);
+ if ($32) {
+ $33 = (_GNUNET_get_log_call_status(1,41568,41470,42381,1111)|0);
+ HEAP32[9411] = $33;
+ }
+ $34 = (_GNUNET_get_log_skip()|0);
+ $35 = ($34|0)>(0);
+ if ($35) {
+ _GNUNET_log_skip(-1,0);
+ } else {
+ $36 = HEAP32[9411]|0;
+ $37 = ($36|0)==(0);
+ if (!($37)) {
+ $38 = (_gcry_strerror(0)|0);
+ HEAP32[$vararg_buffer6>>2] = 42404;
+ $vararg_ptr9 = ((($vararg_buffer6)) + 4|0);
+ HEAP32[$vararg_ptr9>>2] = 41470;
+ $vararg_ptr10 = ((($vararg_buffer6)) + 8|0);
+ HEAP32[$vararg_ptr10>>2] = 1111;
+ $vararg_ptr11 = ((($vararg_buffer6)) + 12|0);
+ HEAP32[$vararg_ptr11>>2] = $38;
+ _GNUNET_log_from_nocheck(1,41568,42643,$vararg_buffer6);
+ }
+ }
+ _gcry_mpi_point_release($23);
+ $39 = HEAP32[$4>>2]|0;
+ _gcry_ctx_release($39);
+ $$0 = -1;
+ STACKTOP = sp;return ($$0|0);
+ }
+ _gcry_mpi_point_release($23);
+ $40 = HEAP32[$4>>2]|0;
+ _gcry_ctx_release($40);
+ HEAP32[$7>>2] = 32;
+ $41 = (_gcry_mpi_get_flag($27,2)|0);
+ $42 = ($41|0)==(0);
+ if (!($42)) {
+ $43 = HEAP32[9412]|0;
+ $44 = ($43|0)==(-1);
+ if ($44) {
+ $45 = (_GNUNET_get_log_call_status(1,0,41470,42381,1120)|0);
+ HEAP32[9412] = $45;
+ }
+ $46 = (_GNUNET_get_log_skip()|0);
+ $47 = ($46|0)>(0);
+ if ($47) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $48 = HEAP32[9412]|0;
+ $49 = ($48|0)==(0);
+ if ($49) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer12>>2] = 41470;
+ $vararg_ptr15 = ((($vararg_buffer12)) + 4|0);
+ HEAP32[$vararg_ptr15>>2] = 1120;
+ _GNUNET_log_nocheck(1,70521,$vararg_buffer12);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $50 = (_gcry_mpi_print(1,$6,32,$7,$27)|0);
+ $51 = ($50|0)==(0);
+ if ($51) {
+ $59 = HEAP32[$7>>2]|0;
+ _GNUNET_CRYPTO_hash($6,$59,$2);
+ _gcry_mpi_release($27);
+ $$0 = 1;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $52 = HEAP32[9413]|0;
+ $53 = ($52|0)==(-1);
+ if ($53) {
+ $54 = (_GNUNET_get_log_call_status(1,0,41470,42381,1127)|0);
+ HEAP32[9413] = $54;
+ }
+ $55 = (_GNUNET_get_log_skip()|0);
+ $56 = ($55|0)>(0);
+ if ($56) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $57 = HEAP32[9413]|0;
+ $58 = ($57|0)==(0);
+ if ($58) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer16>>2] = 41470;
+ $vararg_ptr19 = ((($vararg_buffer16)) + 4|0);
+ HEAP32[$vararg_ptr19>>2] = 1127;
+ _GNUNET_log_nocheck(1,70521,$vararg_buffer16);
+ _GNUNET_abort_();
+ // unreachable;
+ return (0)|0;
+}
+function _point_to_hash($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
+ var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0, $vararg_ptr11 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0;
+ var $vararg_ptr7 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0);
+ $vararg_buffer8 = sp + 56|0;
+ $vararg_buffer4 = sp + 48|0;
+ $vararg_buffer = sp + 32|0;
+ $3 = sp;
+ $4 = sp + 64|0;
+ $5 = (_gcry_mpi_new(256)|0);
+ $6 = (_gcry_mpi_ec_get_affine($5,0,$0,$1)|0);
+ $7 = ($6|0)==(0);
+ if (!($7)) {
+ $8 = HEAP32[9414]|0;
+ $9 = ($8|0)==(-1);
+ if ($9) {
+ $10 = (_GNUNET_get_log_call_status(1,41568,41470,42422,1372)|0);
+ HEAP32[9414] = $10;
+ }
+ $11 = (_GNUNET_get_log_skip()|0);
+ $12 = ($11|0)>(0);
+ if ($12) {
+ _GNUNET_log_skip(-1,0);
+ $$0 = -1;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $13 = HEAP32[9414]|0;
+ $14 = ($13|0)==(0);
+ if ($14) {
+ $$0 = -1;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $15 = (_gcry_strerror(0)|0);
+ HEAP32[$vararg_buffer>>2] = 42404;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 41470;
+ $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
+ HEAP32[$vararg_ptr2>>2] = 1372;
+ $vararg_ptr3 = ((($vararg_buffer)) + 12|0);
+ HEAP32[$vararg_ptr3>>2] = $15;
+ _GNUNET_log_from_nocheck(1,41568,42643,$vararg_buffer);
+ $$0 = -1;
+ STACKTOP = sp;return ($$0|0);
+ }
+ HEAP32[$4>>2] = 32;
+ $16 = (_gcry_mpi_get_flag($5,2)|0);
+ $17 = ($16|0)==(0);
+ if (!($17)) {
+ $18 = HEAP32[9415]|0;
+ $19 = ($18|0)==(-1);
+ if ($19) {
+ $20 = (_GNUNET_get_log_call_status(1,0,41470,42422,1377)|0);
+ HEAP32[9415] = $20;
+ }
+ $21 = (_GNUNET_get_log_skip()|0);
+ $22 = ($21|0)>(0);
+ if ($22) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $23 = HEAP32[9415]|0;
+ $24 = ($23|0)==(0);
+ if ($24) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer4>>2] = 41470;
+ $vararg_ptr7 = ((($vararg_buffer4)) + 4|0);
+ HEAP32[$vararg_ptr7>>2] = 1377;
+ _GNUNET_log_nocheck(1,70521,$vararg_buffer4);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $25 = (_gcry_mpi_print(1,$3,32,$4,$5)|0);
+ $26 = ($25|0)==(0);
+ if ($26) {
+ $34 = HEAP32[$4>>2]|0;
+ _GNUNET_CRYPTO_hash($3,$34,$2);
+ _gcry_mpi_release($5);
+ $$0 = 1;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $27 = HEAP32[9416]|0;
+ $28 = ($27|0)==(-1);
+ if ($28) {
+ $29 = (_GNUNET_get_log_call_status(1,0,41470,42422,1384)|0);
+ HEAP32[9416] = $29;
+ }
+ $30 = (_GNUNET_get_log_skip()|0);
+ $31 = ($30|0)>(0);
+ if ($31) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $32 = HEAP32[9416]|0;
+ $33 = ($32|0)==(0);
+ if ($33) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer8>>2] = 41470;
+ $vararg_ptr11 = ((($vararg_buffer8)) + 4|0);
+ HEAP32[$vararg_ptr11>>2] = 1384;
+ _GNUNET_log_nocheck(1,70521,$vararg_buffer8);
+ _GNUNET_abort_();
+ // unreachable;
+ return (0)|0;
+}
+function _GNUNET_CRYPTO_ecdh_eddsa($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $3 = 0;
+ var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_ptr1 = 0, $vararg_ptr5 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
+ $vararg_buffer2 = sp + 8|0;
+ $vararg_buffer = sp;
+ $3 = sp + 24|0;
+ $4 = sp + 20|0;
+ $5 = sp + 16|0;
+ HEAP32[$vararg_buffer>>2] = 32;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = $1;
+ $6 = (_gcry_sexp_build($5,0,42184,$vararg_buffer)|0);
+ $7 = ($6|0)==(0);
+ if (!($7)) {
+ $$0 = -1;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $8 = HEAP32[$5>>2]|0;
+ $9 = (_gcry_mpi_ec_new($4,$8,0)|0);
+ $10 = ($9|0)==(0);
+ if ($10) {
+ $18 = HEAP32[$5>>2]|0;
+ _gcry_sexp_release($18);
+ $19 = HEAP32[$4>>2]|0;
+ $20 = (_gcry_mpi_ec_get_point(64743,$19,0)|0);
+ _GNUNET_CRYPTO_mpi_scan_unsigned($3,$0,32);
+ $21 = (_gcry_mpi_point_new(0)|0);
+ $22 = HEAP32[$3>>2]|0;
+ $23 = HEAP32[$4>>2]|0;
+ _gcry_mpi_ec_mul($21,$22,$20,$23);
+ _gcry_mpi_point_release($20);
+ $24 = HEAP32[$3>>2]|0;
+ _gcry_mpi_release($24);
+ $25 = HEAP32[$4>>2]|0;
+ $26 = (_point_to_hash($21,$25,$2)|0);
+ _gcry_mpi_point_release($21);
+ $27 = HEAP32[$4>>2]|0;
+ _gcry_ctx_release($27);
+ $$0 = $26;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $11 = HEAP32[9417]|0;
+ $12 = ($11|0)==(-1);
+ if ($12) {
+ $13 = (_GNUNET_get_log_call_status(1,0,41470,42436,1533)|0);
+ HEAP32[9417] = $13;
+ }
+ $14 = (_GNUNET_get_log_skip()|0);
+ $15 = ($14|0)>(0);
+ if ($15) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $16 = HEAP32[9417]|0;
+ $17 = ($16|0)==(0);
+ if ($17) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer2>>2] = 41470;
+ $vararg_ptr5 = ((($vararg_buffer2)) + 4|0);
+ HEAP32[$vararg_ptr5>>2] = 1533;
+ _GNUNET_log_nocheck(1,70521,$vararg_buffer2);
+ _GNUNET_abort_();
+ // unreachable;
+ return (0)|0;
+}
+function _GNUNET_CRYPTO_hash($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ _gcry_md_hash_buffer(10,$2,$0,$1);
+ return;
+}
+function _GNUNET_CRYPTO_hash_create_random($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
+ var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $2 = (_GNUNET_CRYPTO_random_u32($0,-1)|0);
+ $3 = ((($1)) + 60|0);
+ HEAP32[$3>>2] = $2;
+ $4 = (_GNUNET_CRYPTO_random_u32($0,-1)|0);
+ $5 = ((($1)) + 56|0);
+ HEAP32[$5>>2] = $4;
+ $6 = (_GNUNET_CRYPTO_random_u32($0,-1)|0);
+ $7 = ((($1)) + 52|0);
+ HEAP32[$7>>2] = $6;
+ $8 = (_GNUNET_CRYPTO_random_u32($0,-1)|0);
+ $9 = ((($1)) + 48|0);
+ HEAP32[$9>>2] = $8;
+ $10 = (_GNUNET_CRYPTO_random_u32($0,-1)|0);
+ $11 = ((($1)) + 44|0);
+ HEAP32[$11>>2] = $10;
+ $12 = (_GNUNET_CRYPTO_random_u32($0,-1)|0);
+ $13 = ((($1)) + 40|0);
+ HEAP32[$13>>2] = $12;
+ $14 = (_GNUNET_CRYPTO_random_u32($0,-1)|0);
+ $15 = ((($1)) + 36|0);
+ HEAP32[$15>>2] = $14;
+ $16 = (_GNUNET_CRYPTO_random_u32($0,-1)|0);
+ $17 = ((($1)) + 32|0);
+ HEAP32[$17>>2] = $16;
+ $18 = (_GNUNET_CRYPTO_random_u32($0,-1)|0);
+ $19 = ((($1)) + 28|0);
+ HEAP32[$19>>2] = $18;
+ $20 = (_GNUNET_CRYPTO_random_u32($0,-1)|0);
+ $21 = ((($1)) + 24|0);
+ HEAP32[$21>>2] = $20;
+ $22 = (_GNUNET_CRYPTO_random_u32($0,-1)|0);
+ $23 = ((($1)) + 20|0);
+ HEAP32[$23>>2] = $22;
+ $24 = (_GNUNET_CRYPTO_random_u32($0,-1)|0);
+ $25 = ((($1)) + 16|0);
+ HEAP32[$25>>2] = $24;
+ $26 = (_GNUNET_CRYPTO_random_u32($0,-1)|0);
+ $27 = ((($1)) + 12|0);
+ HEAP32[$27>>2] = $26;
+ $28 = (_GNUNET_CRYPTO_random_u32($0,-1)|0);
+ $29 = ((($1)) + 8|0);
+ HEAP32[$29>>2] = $28;
+ $30 = (_GNUNET_CRYPTO_random_u32($0,-1)|0);
+ $31 = ((($1)) + 4|0);
+ HEAP32[$31>>2] = $30;
+ $32 = (_GNUNET_CRYPTO_random_u32($0,-1)|0);
+ HEAP32[$1>>2] = $32;
+ return;
+}
+function _GNUNET_CRYPTO_hash_context_start() {
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $vararg_buffer = sp;
+ $0 = (_GNUNET_xmalloc_(4,42461,450)|0);
+ $1 = (_gcry_md_open($0,10,0)|0);
+ $2 = ($1|0)==(0);
+ if ($2) {
+ STACKTOP = sp;return ($0|0);
+ }
+ $3 = HEAP32[9418]|0;
+ $4 = ($3|0)==(-1);
+ if ($4) {
+ $5 = (_GNUNET_get_log_call_status(1,0,42461,42475,454)|0);
+ HEAP32[9418] = $5;
+ }
+ $6 = (_GNUNET_get_log_skip()|0);
+ $7 = ($6|0)>(0);
+ if ($7) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $8 = HEAP32[9418]|0;
+ $9 = ($8|0)==(0);
+ if ($9) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer>>2] = 42461;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 454;
+ _GNUNET_log_nocheck(1,70521,$vararg_buffer);
+ _GNUNET_abort_();
+ // unreachable;
+ return (0)|0;
+}
+function _GNUNET_CRYPTO_hash_context_read($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $3 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $3 = HEAP32[$0>>2]|0;
+ _gcry_md_write($3,$1,$2);
+ return;
+}
+function _GNUNET_CRYPTO_hash_context_finish($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $vararg_buffer = sp;
+ $2 = HEAP32[$0>>2]|0;
+ $3 = (_gcry_md_read($2,0)|0);
+ $4 = ($3|0)==(0|0);
+ if (!($4)) {
+ $12 = ($1|0)==(0|0);
+ if ($12) {
+ $13 = HEAP32[$0>>2]|0;
+ _gcry_md_close($13);
+ _GNUNET_xfree_($0,42461,513);
+ STACKTOP = sp;return;
+ }
+ dest=$1; src=$3; stop=dest+64|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
+ $13 = HEAP32[$0>>2]|0;
+ _gcry_md_close($13);
+ _GNUNET_xfree_($0,42461,513);
+ STACKTOP = sp;return;
+ }
+ $5 = HEAP32[9419]|0;
+ $6 = ($5|0)==(-1);
+ if ($6) {
+ $7 = (_GNUNET_get_log_call_status(1,0,42461,42508,494)|0);
+ HEAP32[9419] = $7;
+ }
+ $8 = (_GNUNET_get_log_skip()|0);
+ $9 = ($8|0)>(0);
+ if ($9) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $10 = HEAP32[9419]|0;
+ $11 = ($10|0)==(0);
+ if ($11) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer>>2] = 42461;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 494;
+ _GNUNET_log_nocheck(1,70521,$vararg_buffer);
+ _GNUNET_abort_();
+ // unreachable;
+}
+function _GNUNET_CRYPTO_hash_context_abort($0) {
+ $0 = $0|0;
+ var $1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = HEAP32[$0>>2]|0;
+ _gcry_md_close($1);
+ _GNUNET_xfree_($0,42461,513);
+ return;
+}
+function _GNUNET_CRYPTO_hkdf_v($0,$1,$2,$3,$4,$5,$6,$7,$8) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ $5 = $5|0;
+ $6 = $6|0;
+ $7 = $7|0;
+ $8 = $8|0;
+ var $$0 = 0, $$0113 = 0, $$0115127 = 0, $$0116$lcssa = 0, $$0116124$us = 0, $$0120$lcssa = 0, $$0120131 = 0, $$1$lcssa = 0, $$1117 = 0, $$1119 = 0, $$1125$us = 0, $$alloca_mul = 0, $$alloca_mul63 = 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, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0;
+ var $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0;
+ var $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0;
+ var $59 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0;
+ var $79 = 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, $arglist_current = 0, $arglist_current11 = 0, $arglist_current14 = 0, $arglist_current17 = 0, $arglist_current2 = 0, $arglist_current5 = 0, $arglist_next = 0, $arglist_next12 = 0, $arglist_next15 = 0, $arglist_next18 = 0, $arglist_next3 = 0, $arglist_next6 = 0, $expanded = 0, $expanded19 = 0, $expanded21 = 0, $expanded22 = 0, $expanded23 = 0, $expanded25 = 0;
+ var $expanded26 = 0, $expanded28 = 0, $expanded29 = 0, $expanded30 = 0, $expanded32 = 0, $expanded33 = 0, $expanded35 = 0, $expanded36 = 0, $expanded37 = 0, $expanded39 = 0, $expanded40 = 0, $expanded42 = 0, $expanded43 = 0, $expanded44 = 0, $expanded46 = 0, $expanded47 = 0, $expanded49 = 0, $expanded50 = 0, $expanded51 = 0, $expanded53 = 0;
+ var $expanded54 = 0, $expanded56 = 0, $expanded57 = 0, $expanded58 = 0, $vacopy_currentptr = 0, $vacopy_currentptr9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
+ $9 = sp + 20|0;
+ $10 = sp + 16|0;
+ $11 = sp;
+ $12 = (_gcry_md_get_algo_dlen($3)|0);
+ $13 = (_gcry_md_get_algo_dlen($2)|0);
+ $14 = (_llvm_stacksave()|0);
+ $$alloca_mul = $13;
+ $15 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul)|0)+15)&-16)|0);;
+ $16 = ($12|0)==(0);
+ if ($16) {
+ $$0 = -1;
+ _llvm_stackrestore(($14|0));
+ STACKTOP = sp;return ($$0|0);
+ }
+ $17 = (_gcry_md_open($9,$2,2)|0);
+ $18 = ($17|0)==(0);
+ if (!($18)) {
+ $$0 = -1;
+ _llvm_stackrestore(($14|0));
+ STACKTOP = sp;return ($$0|0);
+ }
+ $19 = (_gcry_md_open($10,$3,2)|0);
+ $20 = ($19|0)==(0);
+ if (!($20)) {
+ $21 = HEAP32[$9>>2]|0;
+ _gcry_md_close($21);
+ $$0 = -1;
+ _llvm_stackrestore(($14|0));
+ STACKTOP = sp;return ($$0|0);
+ }
+ $vacopy_currentptr = HEAP32[$8>>2]|0;
+ HEAP32[$11>>2] = $vacopy_currentptr;
+ $arglist_current = HEAP32[$11>>2]|0;
+ $22 = $arglist_current;
+ $23 = ((0) + 4|0);
+ $expanded19 = $23;
+ $expanded = (($expanded19) - 1)|0;
+ $24 = (($22) + ($expanded))|0;
+ $25 = ((0) + 4|0);
+ $expanded23 = $25;
+ $expanded22 = (($expanded23) - 1)|0;
+ $expanded21 = $expanded22 ^ -1;
+ $26 = $24 & $expanded21;
+ $27 = $26;
+ $28 = HEAP32[$27>>2]|0;
+ $arglist_next = ((($27)) + 4|0);
+ HEAP32[$11>>2] = $arglist_next;
+ $29 = ($28|0)==(0|0);
+ if ($29) {
+ $$0120$lcssa = 0;
+ } else {
+ $$0120131 = 0;
+ while(1) {
+ $arglist_current2 = HEAP32[$11>>2]|0;
+ $30 = $arglist_current2;
+ $31 = ((0) + 4|0);
+ $expanded26 = $31;
+ $expanded25 = (($expanded26) - 1)|0;
+ $32 = (($30) + ($expanded25))|0;
+ $33 = ((0) + 4|0);
+ $expanded30 = $33;
+ $expanded29 = (($expanded30) - 1)|0;
+ $expanded28 = $expanded29 ^ -1;
+ $34 = $32 & $expanded28;
+ $35 = $34;
+ $36 = HEAP32[$35>>2]|0;
+ $arglist_next3 = ((($35)) + 4|0);
+ HEAP32[$11>>2] = $arglist_next3;
+ $37 = (($36) + ($$0120131))|0;
+ $arglist_current5 = HEAP32[$11>>2]|0;
+ $38 = $arglist_current5;
+ $39 = ((0) + 4|0);
+ $expanded33 = $39;
+ $expanded32 = (($expanded33) - 1)|0;
+ $40 = (($38) + ($expanded32))|0;
+ $41 = ((0) + 4|0);
+ $expanded37 = $41;
+ $expanded36 = (($expanded37) - 1)|0;
+ $expanded35 = $expanded36 ^ -1;
+ $42 = $40 & $expanded35;
+ $43 = $42;
+ $44 = HEAP32[$43>>2]|0;
+ $arglist_next6 = ((($43)) + 4|0);
+ HEAP32[$11>>2] = $arglist_next6;
+ $45 = ($44|0)==(0|0);
+ if ($45) {
+ $$0120$lcssa = $37;
+ break;
+ } else {
+ $$0120131 = $37;
+ }
+ }
+ }
+ _memset(($0|0),0,($1|0))|0;
+ $46 = HEAP32[$9>>2]|0;
+ (_gcry_md_setkey($46,$4,$5)|0);
+ _gcry_md_write($46,$6,$7);
+ $47 = (_gcry_md_read($46,0)|0);
+ $48 = ($47|0)==(0|0);
+ L16: do {
+ if ($48) {
+ $$1119 = -1;
+ } else {
+ $49 = (_gcry_md_get_algo($46)|0);
+ $50 = (_gcry_md_get_algo_dlen($49)|0);
+ $51 = ($50|0)==(0);
+ if (!($51)) {
+ $52 = (_gcry_md_get_algo($46)|0);
+ $53 = (_gcry_md_get_algo_dlen($52)|0);
+ _memcpy(($15|0),($47|0),($53|0))|0;
+ }
+ $54 = (($1>>>0) / ($12>>>0))&-1;
+ $55 = Math_imul($54, $12)|0;
+ $56 = (($1) - ($55))|0;
+ $57 = (($$0120$lcssa) + 1)|0;
+ $58 = (($57) + ($12))|0;
+ $59 = (_llvm_stacksave()|0);
+ $$alloca_mul63 = $58;
+ $60 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul63)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul63)|0)+15)&-16)|0);;
+ $61 = (($60) + ($12)|0);
+ $vacopy_currentptr9 = HEAP32[$8>>2]|0;
+ HEAP32[$11>>2] = $vacopy_currentptr9;
+ $arglist_current11 = HEAP32[$11>>2]|0;
+ $62 = $arglist_current11;
+ $63 = ((0) + 4|0);
+ $expanded40 = $63;
+ $expanded39 = (($expanded40) - 1)|0;
+ $64 = (($62) + ($expanded39))|0;
+ $65 = ((0) + 4|0);
+ $expanded44 = $65;
+ $expanded43 = (($expanded44) - 1)|0;
+ $expanded42 = $expanded43 ^ -1;
+ $66 = $64 & $expanded42;
+ $67 = $66;
+ $68 = HEAP32[$67>>2]|0;
+ $arglist_next12 = ((($67)) + 4|0);
+ HEAP32[$11>>2] = $arglist_next12;
+ $69 = ($68|0)==(0|0);
+ if (!($69)) {
+ $$0115127 = $61;$78 = $68;
+ while(1) {
+ $arglist_current14 = HEAP32[$11>>2]|0;
+ $70 = $arglist_current14;
+ $71 = ((0) + 4|0);
+ $expanded47 = $71;
+ $expanded46 = (($expanded47) - 1)|0;
+ $72 = (($70) + ($expanded46))|0;
+ $73 = ((0) + 4|0);
+ $expanded51 = $73;
+ $expanded50 = (($expanded51) - 1)|0;
+ $expanded49 = $expanded50 ^ -1;
+ $74 = $72 & $expanded49;
+ $75 = $74;
+ $76 = HEAP32[$75>>2]|0;
+ $arglist_next15 = ((($75)) + 4|0);
+ HEAP32[$11>>2] = $arglist_next15;
+ $77 = ($76|0)==(0);
+ if (!($77)) {
+ _memcpy(($$0115127|0),($78|0),($76|0))|0;
+ }
+ $79 = (($$0115127) + ($76)|0);
+ $arglist_current17 = HEAP32[$11>>2]|0;
+ $80 = $arglist_current17;
+ $81 = ((0) + 4|0);
+ $expanded54 = $81;
+ $expanded53 = (($expanded54) - 1)|0;
+ $82 = (($80) + ($expanded53))|0;
+ $83 = ((0) + 4|0);
+ $expanded58 = $83;
+ $expanded57 = (($expanded58) - 1)|0;
+ $expanded56 = $expanded57 ^ -1;
+ $84 = $82 & $expanded56;
+ $85 = $84;
+ $86 = HEAP32[$85>>2]|0;
+ $arglist_next18 = ((($85)) + 4|0);
+ HEAP32[$11>>2] = $arglist_next18;
+ $87 = ($86|0)==(0|0);
+ if ($87) {
+ break;
+ } else {
+ $$0115127 = $79;$78 = $86;
+ }
+ }
+ }
+ $88 = ($12>>>0)<=($1>>>0);
+ if ($88) {
+ $89 = (($61) + ($$0120$lcssa)|0);
+ HEAP8[$89>>0] = 1;
+ $90 = HEAP32[$10>>2]|0;
+ (_gcry_md_setkey($90,$15,$13)|0);
+ _gcry_md_write($90,$61,$57);
+ $91 = (_gcry_md_read($90,0)|0);
+ $92 = ($91|0)==(0|0);
+ if (!($92)) {
+ _memcpy(($0|0),($91|0),($12|0))|0;
+ $93 = (($0) + ($12)|0);
+ $$0113 = $93;
+ label = 19;
+ }
+ } else {
+ $$0113 = $0;
+ label = 19;
+ }
+ L32: do {
+ if ((label|0) == 19) {
+ $94 = ($54>>>0)>(1);
+ if ($94) {
+ $95 = (0 - ($12))|0;
+ $96 = (($61) + ($$0120$lcssa)|0);
+ $$0116124$us = 1;$$1125$us = $$0113;
+ while(1) {
+ $97 = (($$1125$us) + ($95)|0);
+ _memcpy(($60|0),($97|0),($12|0))|0;
+ $98 = (($$0116124$us) + 1)|0;
+ $99 = $98&255;
+ _memset(($96|0),($99|0),1)|0;
+ $100 = HEAP32[$10>>2]|0;
+ _gcry_md_reset($100);
+ $101 = HEAP32[$10>>2]|0;
+ (_gcry_md_setkey($101,$15,$13)|0);
+ _gcry_md_write($101,$60,$58);
+ $102 = (_gcry_md_read($101,0)|0);
+ $103 = ($102|0)==(0|0);
+ if ($103) {
+ break L32;
+ }
+ _memcpy(($$1125$us|0),($102|0),($12|0))|0;
+ $104 = (($$1125$us) + ($12)|0);
+ $105 = ($98>>>0)<($54>>>0);
+ if ($105) {
+ $$0116124$us = $98;$$1125$us = $104;
+ } else {
+ $$0116$lcssa = $98;$$1$lcssa = $104;
+ break;
+ }
+ }
+ } else {
+ $$0116$lcssa = 1;$$1$lcssa = $$0113;
+ }
+ $106 = ($56|0)==(0);
+ if (!($106)) {
+ if ($88) {
+ $107 = (0 - ($12))|0;
+ $108 = (($$1$lcssa) + ($107)|0);
+ _memcpy(($60|0),($108|0),($12|0))|0;
+ $109 = (($$0116$lcssa) + 1)|0;
+ $$1117 = $109;
+ } else {
+ $$1117 = $$0116$lcssa;
+ }
+ $110 = (($61) + ($$0120$lcssa)|0);
+ $111 = $$1117&255;
+ _memset(($110|0),($111|0),1)|0;
+ $112 = HEAP32[$10>>2]|0;
+ _gcry_md_reset($112);
+ $113 = HEAP32[$10>>2]|0;
+ (_gcry_md_setkey($113,$15,$13)|0);
+ if ($88) {
+ _gcry_md_write($113,$60,$58);
+ } else {
+ _gcry_md_write($113,$61,$57);
+ }
+ $114 = (_gcry_md_read($113,0)|0);
+ $115 = ($114|0)==(0|0);
+ if ($115) {
+ break;
+ }
+ _memcpy(($$1$lcssa|0),($114|0),($56|0))|0;
+ }
+ _llvm_stackrestore(($59|0));
+ $$1119 = 1;
+ break L16;
+ }
+ } while(0);
+ _llvm_stackrestore(($59|0));
+ $$1119 = -1;
+ }
+ } while(0);
+ $116 = HEAP32[$9>>2]|0;
+ _gcry_md_close($116);
+ $117 = HEAP32[$10>>2]|0;
+ _gcry_md_close($117);
+ $$0 = $$1119;
+ _llvm_stackrestore(($14|0));
+ STACKTOP = sp;return ($$0|0);
+}
+function _GNUNET_CRYPTO_hkdf($0,$1,$2,$3,$4,$5,$6,$7,$varargs) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ $5 = $5|0;
+ $6 = $6|0;
+ $7 = $7|0;
+ $varargs = $varargs|0;
+ var $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $8 = sp;
+ HEAP32[$8>>2] = $varargs;
+ $9 = (_GNUNET_CRYPTO_hkdf_v($0,$1,$2,$3,$4,$5,$6,$7,$8)|0);
+ STACKTOP = sp;return ($9|0);
+}
+function _GNUNET_CRYPTO_kdf($0,$1,$2,$3,$4,$5,$varargs) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ $5 = $5|0;
+ $varargs = $varargs|0;
+ var $6 = 0, $7 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $6 = sp;
+ HEAP32[$6>>2] = $varargs;
+ $7 = (_GNUNET_CRYPTO_hkdf_v($0,$1,10,8,$2,$3,$4,$5,$6)|0);
+ STACKTOP = sp;return ($7|0);
+}
+function _GNUNET_CRYPTO_kdf_mod_mpi($0,$1,$2,$3,$4,$5,$6) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ $5 = $5|0;
+ $6 = $6|0;
+ var $$alloca_mul = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
+ var $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0;
+ var $49 = 0, $50 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer6 = 0, $vararg_ptr1 = 0, $vararg_ptr13 = 0, $vararg_ptr17 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, $vararg_ptr9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
+ $vararg_buffer14 = sp + 40|0;
+ $vararg_buffer10 = sp + 32|0;
+ $vararg_buffer6 = sp + 24|0;
+ $vararg_buffer = sp;
+ $7 = sp + 52|0;
+ $8 = sp + 48|0;
+ $9 = (_gcry_mpi_get_nbits($1)|0);
+ HEAP32[$8>>2] = 0;
+ $10 = (($9) + -1)|0;
+ $11 = $10 >>> 3;
+ $12 = (($11) + 1)|0;
+ while(1) {
+ $13 = (_llvm_stacksave()|0);
+ $$alloca_mul = $12;
+ $14 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul)|0)+15)&-16)|0);;
+ $15 = (_strlen($6)|0);
+ HEAP32[$vararg_buffer>>2] = $6;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = $15;
+ $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
+ HEAP32[$vararg_ptr2>>2] = $8;
+ $vararg_ptr3 = ((($vararg_buffer)) + 12|0);
+ HEAP32[$vararg_ptr3>>2] = 4;
+ $vararg_ptr4 = ((($vararg_buffer)) + 16|0);
+ HEAP32[$vararg_ptr4>>2] = 0;
+ $vararg_ptr5 = ((($vararg_buffer)) + 20|0);
+ HEAP32[$vararg_ptr5>>2] = 0;
+ $16 = (_GNUNET_CRYPTO_kdf($14,$12,$2,$3,$4,$5,$vararg_buffer)|0);
+ $17 = ($16|0)==(1);
+ if (!($17)) {
+ label = 3;
+ break;
+ }
+ $25 = (_gcry_mpi_scan($0,5,$14,$12,$7)|0);
+ $26 = ($25|0)==(0);
+ if (!($26)) {
+ label = 11;
+ break;
+ }
+ $34 = HEAP32[$0>>2]|0;
+ _gcry_mpi_clear_highbit($34,$9);
+ $35 = HEAP32[$0>>2]|0;
+ $36 = (_gcry_mpi_test_bit($35,$9)|0);
+ $37 = ($36|0)==(0);
+ if (!($37)) {
+ label = 19;
+ break;
+ }
+ $45 = HEAP32[$8>>2]|0;
+ $46 = (($45) + 1)|0;
+ HEAP32[$8>>2] = $46;
+ $47 = HEAP32[$0>>2]|0;
+ $48 = (_gcry_mpi_cmp($47,$1)|0);
+ $49 = ($48|0)<(0);
+ if ($49) {
+ label = 28;
+ break;
+ }
+ $50 = HEAP32[$0>>2]|0;
+ _gcry_mpi_release($50);
+ _llvm_stackrestore(($13|0));
+ }
+ if ((label|0) == 3) {
+ $18 = HEAP32[9420]|0;
+ $19 = ($18|0)==(-1);
+ if ($19) {
+ $20 = (_GNUNET_get_log_call_status(1,0,42542,42555,153)|0);
+ HEAP32[9420] = $20;
+ }
+ $21 = (_GNUNET_get_log_skip()|0);
+ $22 = ($21|0)>(0);
+ if ($22) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $23 = HEAP32[9420]|0;
+ $24 = ($23|0)==(0);
+ if ($24) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer6>>2] = 42542;
+ $vararg_ptr9 = ((($vararg_buffer6)) + 4|0);
+ HEAP32[$vararg_ptr9>>2] = 153;
+ _GNUNET_log_nocheck(1,70521,$vararg_buffer6);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ else if ((label|0) == 11) {
+ $27 = HEAP32[9421]|0;
+ $28 = ($27|0)==(-1);
+ if ($28) {
+ $29 = (_GNUNET_get_log_call_status(1,0,42542,42555,160)|0);
+ HEAP32[9421] = $29;
+ }
+ $30 = (_GNUNET_get_log_skip()|0);
+ $31 = ($30|0)>(0);
+ if ($31) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $32 = HEAP32[9421]|0;
+ $33 = ($32|0)==(0);
+ if ($33) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer10>>2] = 42542;
+ $vararg_ptr13 = ((($vararg_buffer10)) + 4|0);
+ HEAP32[$vararg_ptr13>>2] = 160;
+ _GNUNET_log_nocheck(1,70521,$vararg_buffer10);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ else if ((label|0) == 19) {
+ $38 = HEAP32[9422]|0;
+ $39 = ($38|0)==(-1);
+ if ($39) {
+ $40 = (_GNUNET_get_log_call_status(1,0,42542,42555,163)|0);
+ HEAP32[9422] = $40;
+ }
+ $41 = (_GNUNET_get_log_skip()|0);
+ $42 = ($41|0)>(0);
+ if ($42) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $43 = HEAP32[9422]|0;
+ $44 = ($43|0)==(0);
+ if ($44) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer14>>2] = 42542;
+ $vararg_ptr17 = ((($vararg_buffer14)) + 4|0);
+ HEAP32[$vararg_ptr17>>2] = 163;
+ _GNUNET_log_nocheck(1,70521,$vararg_buffer14);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ else if ((label|0) == 28) {
+ _llvm_stackrestore(($13|0));
+ STACKTOP = sp;return;
+ }
+}
+function _GNUNET_CRYPTO_mpi_print_unsigned($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
+ var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $5 = 0, $6 = 0, $7 = 0;
+ var $8 = 0, $9 = 0, $spec$select = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0, $vararg_ptr11 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
+ $vararg_buffer8 = sp + 24|0;
+ $vararg_buffer2 = sp + 8|0;
+ $vararg_buffer = sp;
+ $3 = sp + 36|0;
+ $4 = sp + 32|0;
+ $5 = (_gcry_mpi_get_flag($2,2)|0);
+ $6 = ($5|0)==(0);
+ if (!($6)) {
+ $7 = (_gcry_mpi_get_opaque($2,$4)|0);
+ $8 = ($7|0)==(0|0);
+ if (!($8)) {
+ $16 = HEAP32[$4>>2]|0;
+ $17 = (($16) + 7)|0;
+ $18 = $17 >>> 3;
+ $19 = ($18>>>0)>($1>>>0);
+ $spec$select = $19 ? $1 : $18;
+ HEAP32[$3>>2] = $spec$select;
+ $20 = ($spec$select|0)==(0);
+ if (!($20)) {
+ _memcpy(($0|0),($7|0),($spec$select|0))|0;
+ }
+ $21 = ($18>>>0)<($1>>>0);
+ if ($21) {
+ $22 = (($1) - ($spec$select))|0;
+ $23 = (($0) + ($spec$select)|0);
+ _memset(($23|0),0,($22|0))|0;
+ }
+ STACKTOP = sp;return;
+ }
+ $9 = HEAP32[9423]|0;
+ $10 = ($9|0)==(-1);
+ if ($10) {
+ $11 = (_GNUNET_get_log_call_status(1,0,42581,42594,87)|0);
+ HEAP32[9423] = $11;
+ }
+ $12 = (_GNUNET_get_log_skip()|0);
+ $13 = ($12|0)>(0);
+ if ($13) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $14 = HEAP32[9423]|0;
+ $15 = ($14|0)==(0);
+ if ($15) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer>>2] = 42581;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 87;
+ _GNUNET_log_nocheck(1,70521,$vararg_buffer);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$3>>2] = $1;
+ $24 = (_gcry_mpi_print(5,$0,$1,$3,$2)|0);
+ $25 = ($24|0)==(0);
+ if ($25) {
+ $41 = HEAP32[$3>>2]|0;
+ $42 = ($41>>>0)<($1>>>0);
+ $43 = (($1) - ($41))|0;
+ if (!($42)) {
+ STACKTOP = sp;return;
+ }
+ $44 = (($0) + ($43)|0);
+ _memmove(($44|0),($0|0),($41|0))|0;
+ _memset(($0|0),0,($43|0))|0;
+ STACKTOP = sp;return;
+ }
+ $26 = HEAP32[9424]|0;
+ $27 = ($26|0)==(-1);
+ if ($27) {
+ $28 = (_GNUNET_get_log_call_status(1,42627,42581,42594,108)|0);
+ HEAP32[9424] = $28;
+ }
+ $29 = (_GNUNET_get_log_skip()|0);
+ $30 = ($29|0)>(0);
+ if ($30) {
+ _GNUNET_log_skip(-1,0);
+ } else {
+ $31 = HEAP32[9424]|0;
+ $32 = ($31|0)==(0);
+ if (!($32)) {
+ $33 = (_gcry_strerror($24)|0);
+ HEAP32[$vararg_buffer2>>2] = 42680;
+ $vararg_ptr5 = ((($vararg_buffer2)) + 4|0);
+ HEAP32[$vararg_ptr5>>2] = 42581;
+ $vararg_ptr6 = ((($vararg_buffer2)) + 8|0);
+ HEAP32[$vararg_ptr6>>2] = 108;
+ $vararg_ptr7 = ((($vararg_buffer2)) + 12|0);
+ HEAP32[$vararg_ptr7>>2] = $33;
+ _GNUNET_log_from_nocheck(1,42627,42643,$vararg_buffer2);
+ }
+ }
+ $34 = HEAP32[9425]|0;
+ $35 = ($34|0)==(-1);
+ if ($35) {
+ $36 = (_GNUNET_get_log_call_status(1,0,42581,42594,109)|0);
+ HEAP32[9425] = $36;
+ }
+ $37 = (_GNUNET_get_log_skip()|0);
+ $38 = ($37|0)>(0);
+ if ($38) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $39 = HEAP32[9425]|0;
+ $40 = ($39|0)==(0);
+ if ($40) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer8>>2] = 42581;
+ $vararg_ptr11 = ((($vararg_buffer8)) + 4|0);
+ HEAP32[$vararg_ptr11>>2] = 109;
+ _GNUNET_log_nocheck(1,70521,$vararg_buffer8);
+ _GNUNET_abort_();
+ // unreachable;
+}
+function _GNUNET_CRYPTO_mpi_scan_unsigned($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer4 = 0;
+ var $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr7 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
+ $vararg_buffer4 = sp + 16|0;
+ $vararg_buffer = sp;
+ $3 = sp + 24|0;
+ HEAP32[$3>>2] = $2;
+ $4 = (_gcry_mpi_scan($0,5,$1,$2,$3)|0);
+ $5 = ($4|0)==(0);
+ if ($5) {
+ STACKTOP = sp;return;
+ }
+ $6 = HEAP32[9426]|0;
+ $7 = ($6|0)==(-1);
+ if ($7) {
+ $8 = (_GNUNET_get_log_call_status(1,42627,42581,42695,138)|0);
+ HEAP32[9426] = $8;
+ }
+ $9 = (_GNUNET_get_log_skip()|0);
+ $10 = ($9|0)>(0);
+ if ($10) {
+ _GNUNET_log_skip(-1,0);
+ } else {
+ $11 = HEAP32[9426]|0;
+ $12 = ($11|0)==(0);
+ if (!($12)) {
+ $13 = (_gcry_strerror($4)|0);
+ HEAP32[$vararg_buffer>>2] = 42727;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 42581;
+ $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
+ HEAP32[$vararg_ptr2>>2] = 138;
+ $vararg_ptr3 = ((($vararg_buffer)) + 12|0);
+ HEAP32[$vararg_ptr3>>2] = $13;
+ _GNUNET_log_from_nocheck(1,42627,42643,$vararg_buffer);
+ }
+ }
+ $14 = HEAP32[9427]|0;
+ $15 = ($14|0)==(-1);
+ if ($15) {
+ $16 = (_GNUNET_get_log_call_status(1,0,42581,42695,139)|0);
+ HEAP32[9427] = $16;
+ }
+ $17 = (_GNUNET_get_log_skip()|0);
+ $18 = ($17|0)>(0);
+ if ($18) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $19 = HEAP32[9427]|0;
+ $20 = ($19|0)==(0);
+ if ($20) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer4>>2] = 42581;
+ $vararg_ptr7 = ((($vararg_buffer4)) + 4|0);
+ HEAP32[$vararg_ptr7>>2] = 139;
+ _GNUNET_log_nocheck(1,70521,$vararg_buffer4);
+ _GNUNET_abort_();
+ // unreachable;
+}
+function _GNUNET_CRYPTO_random_init() {
+ 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, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer12 = 0, $vararg_buffer15 = 0, $vararg_buffer19 = 0, $vararg_buffer22 = 0, $vararg_buffer5 = 0, $vararg_buffer8 = 0, $vararg_ptr11 = 0, $vararg_ptr18 = 0, $vararg_ptr4 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
+ $vararg_buffer22 = sp + 56|0;
+ $vararg_buffer19 = sp + 48|0;
+ $vararg_buffer15 = sp + 40|0;
+ $vararg_buffer12 = sp + 32|0;
+ $vararg_buffer8 = sp + 24|0;
+ $vararg_buffer5 = sp + 16|0;
+ $vararg_buffer1 = sp + 8|0;
+ $vararg_buffer = sp;
+ $0 = sp + 60|0;
+ $1 = (_gcry_check_version(42741)|0);
+ $2 = ($1|0)==(0|0);
+ if (!($2)) {
+ _gcry_set_allocation_handler(54,54,55,56,57);
+ HEAP32[$vararg_buffer5>>2] = 0;
+ $11 = (_gcry_control(37,$vararg_buffer5)|0);
+ $12 = ($11|0)==(0);
+ if (!($12)) {
+ $13 = HEAP32[10138]|0;
+ $14 = (_gcry_strerror($11)|0);
+ HEAP32[$vararg_buffer8>>2] = 42894;
+ $vararg_ptr11 = ((($vararg_buffer8)) + 4|0);
+ HEAP32[$vararg_ptr11>>2] = $14;
+ (_fprintf($13,42855,$vararg_buffer8)|0);
+ }
+ HEAP32[$vararg_buffer12>>2] = 0;
+ $15 = (_gcry_control(44,$vararg_buffer12)|0);
+ $16 = ($15|0)==(0);
+ if (!($16)) {
+ $17 = HEAP32[10138]|0;
+ $18 = (_gcry_strerror($15)|0);
+ HEAP32[$vararg_buffer15>>2] = 42909;
+ $vararg_ptr18 = ((($vararg_buffer15)) + 4|0);
+ HEAP32[$vararg_ptr18>>2] = $18;
+ (_fprintf($17,42855,$vararg_buffer15)|0);
+ }
+ HEAP32[$vararg_buffer19>>2] = 0;
+ (_gcry_control(38,$vararg_buffer19)|0);
+ HEAP32[$vararg_buffer22>>2] = 0;
+ (_gcry_control(48,$vararg_buffer22)|0);
+ $19 = (_time((0|0))|0);
+ while(1) {
+ _gcry_create_nonce($0,4);
+ $20 = HEAP32[$0>>2]|0;
+ $21 = ($20|0)==(-1);
+ if (!($21)) {
+ break;
+ }
+ }
+ $22 = $20 ^ $19;
+ _srandom($22);
+ STACKTOP = sp;return;
+ }
+ $3 = HEAP32[10138]|0;
+ HEAP32[$vararg_buffer>>2] = 42741;
+ (_fprintf($3,42747,$vararg_buffer)|0);
+ $4 = HEAP32[9428]|0;
+ $5 = ($4|0)==(-1);
+ if ($5) {
+ $6 = (_GNUNET_get_log_call_status(1,0,42813,42829,306)|0);
+ HEAP32[9428] = $6;
+ }
+ $7 = (_GNUNET_get_log_skip()|0);
+ $8 = ($7|0)>(0);
+ if ($8) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $9 = HEAP32[9428]|0;
+ $10 = ($9|0)==(0);
+ if ($10) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer1>>2] = 42813;
+ $vararg_ptr4 = ((($vararg_buffer1)) + 4|0);
+ HEAP32[$vararg_ptr4>>2] = 306;
+ _GNUNET_log_nocheck(1,70521,$vararg_buffer1);
+ _GNUNET_abort_();
+ // unreachable;
+}
+function _w_malloc($0) {
+ $0 = $0|0;
+ var $1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = (_calloc($0,1)|0);
+ return ($1|0);
+}
+function _w_check($0) {
+ $0 = $0|0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ return 0;
+}
+function _GNUNET_CRYPTO_random_fini() {
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ _gcry_set_progress_handler(0,0);
+ return;
+}
+function _GNUNET_CRYPTO_random_block($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_ptr7 = 0, label = 0;
+ var sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
+ $vararg_buffer4 = sp + 16|0;
+ $vararg_buffer1 = sp + 8|0;
+ $vararg_buffer = sp;
+ switch ($0|0) {
+ case 1: {
+ $3 = HEAP32[18078]|0;
+ $4 = (($3) + 1)|0;
+ HEAP32[18078] = $4;
+ $5 = $3 & 255;
+ $6 = ($5|0)==(0);
+ if ($6) {
+ HEAP32[$vararg_buffer>>2] = 0;
+ (_gcry_control(48,$vararg_buffer)|0);
+ }
+ _gcry_randomize($1,$2,1);
+ STACKTOP = sp;return;
+ break;
+ }
+ case 2: {
+ _gcry_create_nonce($1,$2);
+ STACKTOP = sp;return;
+ break;
+ }
+ case 0: {
+ $7 = HEAP32[18078]|0;
+ $8 = (($7) + 1)|0;
+ HEAP32[18078] = $8;
+ $9 = $7 & 255;
+ $10 = ($9|0)==(0);
+ if ($10) {
+ HEAP32[$vararg_buffer1>>2] = 0;
+ (_gcry_control(48,$vararg_buffer1)|0);
+ }
+ _gcry_randomize($1,$2,0);
+ STACKTOP = sp;return;
+ break;
+ }
+ default: {
+ $11 = HEAP32[9429]|0;
+ $12 = ($11|0)==(-1);
+ if ($12) {
+ $13 = (_GNUNET_get_log_call_status(1,0,42813,42929,133)|0);
+ HEAP32[9429] = $13;
+ }
+ $14 = (_GNUNET_get_log_skip()|0);
+ $15 = ($14|0)>(0);
+ if ($15) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $16 = HEAP32[9429]|0;
+ $17 = ($16|0)==(0);
+ if ($17) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer4>>2] = 42813;
+ $vararg_ptr7 = ((($vararg_buffer4)) + 4|0);
+ HEAP32[$vararg_ptr7>>2] = 133;
+ _GNUNET_log_nocheck(1,70521,$vararg_buffer4);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ }
+}
+function _GNUNET_CRYPTO_random_u32($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0.0, $26 = 0, $27 = 0.0;
+ var $28 = 0.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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $spec$select = 0;
+ var $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_buffer5 = 0, $vararg_ptr1 = 0, $vararg_ptr8 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
+ $vararg_buffer5 = sp + 16|0;
+ $vararg_buffer2 = sp + 8|0;
+ $vararg_buffer = sp;
+ $2 = sp + 24|0;
+ $3 = ($1|0)==(0);
+ if ($3) {
+ $4 = HEAP32[9430]|0;
+ $5 = ($4|0)==(-1);
+ if ($5) {
+ $6 = (_GNUNET_get_log_call_status(1,0,42813,42956,155)|0);
+ HEAP32[9430] = $6;
+ }
+ $7 = (_GNUNET_get_log_skip()|0);
+ $8 = ($7|0)>(0);
+ if ($8) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $9 = HEAP32[9430]|0;
+ $10 = ($9|0)==(0);
+ if ($10) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer>>2] = 42813;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 155;
+ _GNUNET_log_nocheck(1,70521,$vararg_buffer);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ switch ($0|0) {
+ case 1: {
+ $11 = HEAP32[18079]|0;
+ $12 = (($11) + 1)|0;
+ HEAP32[18079] = $12;
+ $13 = $11 & 255;
+ $14 = ($13|0)==(0);
+ if ($14) {
+ HEAP32[$vararg_buffer2>>2] = 0;
+ (_gcry_control(48,$vararg_buffer2)|0);
+ }
+ $15 = (4294967295 % ($1>>>0))&-1;
+ $16 = $15 ^ -1;
+ while(1) {
+ _gcry_randomize($2,4,1);
+ $17 = HEAP32[$2>>2]|0;
+ $18 = ($17>>>0)<($16>>>0);
+ if ($18) {
+ break;
+ }
+ }
+ $19 = (($17>>>0) % ($1>>>0))&-1;
+ $$0 = $19;
+ STACKTOP = sp;return ($$0|0);
+ break;
+ }
+ case 2: {
+ $20 = (4294967295 % ($1>>>0))&-1;
+ $21 = $20 ^ -1;
+ while(1) {
+ _gcry_create_nonce($2,4);
+ $22 = HEAP32[$2>>2]|0;
+ $23 = ($22>>>0)<($21>>>0);
+ if ($23) {
+ break;
+ }
+ }
+ $24 = (($22>>>0) % ($1>>>0))&-1;
+ $$0 = $24;
+ STACKTOP = sp;return ($$0|0);
+ break;
+ }
+ case 0: {
+ $25 = (+($1>>>0));
+ $26 = (_random()|0);
+ $27 = (+($26|0));
+ $28 = $27 / 2147483647.0;
+ $29 = $28 * $25;
+ $30 = (~~(($29))>>>0);
+ $31 = ($30>>>0)<($1>>>0);
+ $32 = (($1) + -1)|0;
+ $spec$select = $31 ? $30 : $32;
+ HEAP32[$2>>2] = $spec$select;
+ $$0 = $spec$select;
+ STACKTOP = sp;return ($$0|0);
+ break;
+ }
+ default: {
+ $33 = HEAP32[9431]|0;
+ $34 = ($33|0)==(-1);
+ if ($34) {
+ $35 = (_GNUNET_get_log_call_status(1,0,42813,42956,187)|0);
+ HEAP32[9431] = $35;
+ }
+ $36 = (_GNUNET_get_log_skip()|0);
+ $37 = ($36|0)>(0);
+ if ($37) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $38 = HEAP32[9431]|0;
+ $39 = ($38|0)==(0);
+ if ($39) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer5>>2] = 42813;
+ $vararg_ptr8 = ((($vararg_buffer5)) + 4|0);
+ HEAP32[$vararg_ptr8>>2] = 187;
+ _GNUNET_log_nocheck(1,70521,$vararg_buffer5);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ }
+ return (0)|0;
+}
+function _GNUNET_CRYPTO_rsa_private_key_create($0) {
+ $0 = $0|0;
+ var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0;
+ var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer5 = 0, $vararg_ptr4 = 0, $vararg_ptr8 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
+ $vararg_buffer5 = sp + 16|0;
+ $vararg_buffer1 = sp + 8|0;
+ $vararg_buffer = sp;
+ $1 = sp + 28|0;
+ $2 = sp + 24|0;
+ HEAP32[$vararg_buffer>>2] = $0;
+ $3 = (_gcry_sexp_build($2,0,42981,$vararg_buffer)|0);
+ $4 = ($3|0)==(0);
+ if (!($4)) {
+ $5 = HEAP32[9432]|0;
+ $6 = ($5|0)==(-1);
+ if ($6) {
+ $7 = (_GNUNET_get_log_call_status(1,0,43005,43018,159)|0);
+ HEAP32[9432] = $7;
+ }
+ $8 = (_GNUNET_get_log_skip()|0);
+ $9 = ($8|0)>(0);
+ if ($9) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $10 = HEAP32[9432]|0;
+ $11 = ($10|0)==(0);
+ if ($11) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer1>>2] = 43005;
+ $vararg_ptr4 = ((($vararg_buffer1)) + 4|0);
+ HEAP32[$vararg_ptr4>>2] = 159;
+ _GNUNET_log_nocheck(1,70521,$vararg_buffer1);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $12 = HEAP32[$2>>2]|0;
+ $13 = (_gcry_pk_genkey($1,$12)|0);
+ $14 = ($13|0)==(0);
+ if ($14) {
+ $22 = HEAP32[$2>>2]|0;
+ _gcry_sexp_release($22);
+ $23 = (_GNUNET_xmalloc_(4,43005,168)|0);
+ $24 = HEAP32[$1>>2]|0;
+ HEAP32[$23>>2] = $24;
+ STACKTOP = sp;return ($23|0);
+ }
+ $15 = HEAP32[9433]|0;
+ $16 = ($15|0)==(-1);
+ if ($16) {
+ $17 = (_GNUNET_get_log_call_status(1,0,43005,43018,162)|0);
+ HEAP32[9433] = $17;
+ }
+ $18 = (_GNUNET_get_log_skip()|0);
+ $19 = ($18|0)>(0);
+ if ($19) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $20 = HEAP32[9433]|0;
+ $21 = ($20|0)==(0);
+ if ($21) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer5>>2] = 43005;
+ $vararg_ptr8 = ((($vararg_buffer5)) + 4|0);
+ HEAP32[$vararg_ptr8>>2] = 162;
+ _GNUNET_log_nocheck(1,70521,$vararg_buffer5);
+ _GNUNET_abort_();
+ // unreachable;
+ return (0)|0;
+}
+function _GNUNET_CRYPTO_rsa_private_key_free($0) {
+ $0 = $0|0;
+ var $1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = HEAP32[$0>>2]|0;
+ _gcry_sexp_release($1);
+ _GNUNET_xfree_($0,43005,184);
+ return;
+}
+function _GNUNET_CRYPTO_rsa_private_key_encode($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $vararg_buffer = sp;
+ $2 = HEAP32[$0>>2]|0;
+ $3 = (_gcry_sexp_sprint($2,0,0,0)|0);
+ $4 = (_GNUNET_xmalloc_($3,43005,207)|0);
+ $5 = (($3) + -1)|0;
+ $6 = HEAP32[$0>>2]|0;
+ $7 = (_gcry_sexp_sprint($6,0,$4,$3)|0);
+ $8 = ($5|0)==($7|0);
+ if ($8) {
+ HEAP32[$1>>2] = $4;
+ STACKTOP = sp;return ($3|0);
+ }
+ $9 = HEAP32[9434]|0;
+ $10 = ($9|0)==(-1);
+ if ($10) {
+ $11 = (_GNUNET_get_log_call_status(1,0,43005,43055,212)|0);
+ HEAP32[9434] = $11;
+ }
+ $12 = (_GNUNET_get_log_skip()|0);
+ $13 = ($12|0)>(0);
+ if ($13) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $14 = HEAP32[9434]|0;
+ $15 = ($14|0)==(0);
+ if ($15) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer>>2] = 43005;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 212;
+ _GNUNET_log_nocheck(1,70521,$vararg_buffer);
+ _GNUNET_abort_();
+ // unreachable;
+ return (0)|0;
+}
+function _GNUNET_CRYPTO_rsa_private_key_decode($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0;
+ var $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $vararg_buffer1 = sp + 8|0;
+ $vararg_buffer = sp;
+ $2 = (_GNUNET_xmalloc_(4,43005,231)|0);
+ $3 = (_gcry_sexp_new($2,$0,$1,0)|0);
+ $4 = ($3|0)==(0);
+ if (!($4)) {
+ $5 = HEAP32[9435]|0;
+ $6 = ($5|0)==(-1);
+ if ($6) {
+ $7 = (_GNUNET_get_log_call_status(2,43092,43005,43108,239)|0);
+ HEAP32[9435] = $7;
+ }
+ $8 = (_GNUNET_get_log_skip()|0);
+ $9 = ($8|0)>(0);
+ if ($9) {
+ _GNUNET_log_skip(-1,0);
+ } else {
+ $10 = HEAP32[9435]|0;
+ $11 = ($10|0)==(0);
+ if (!($11)) {
+ _GNUNET_log_from_nocheck(2,43092,43145,$vararg_buffer);
+ }
+ }
+ _GNUNET_xfree_($2,43005,240);
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $12 = HEAP32[$2>>2]|0;
+ $13 = (_gcry_pk_testkey($12)|0);
+ $14 = ($13|0)==(0);
+ if ($14) {
+ $$0 = $2;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $15 = HEAP32[9436]|0;
+ $16 = ($15|0)==(-1);
+ if ($16) {
+ $17 = (_GNUNET_get_log_call_status(2,43092,43005,43108,246)|0);
+ HEAP32[9436] = $17;
+ }
+ $18 = (_GNUNET_get_log_skip()|0);
+ $19 = ($18|0)>(0);
+ if ($19) {
+ _GNUNET_log_skip(-1,0);
+ } else {
+ $20 = HEAP32[9436]|0;
+ $21 = ($20|0)==(0);
+ if (!($21)) {
+ _GNUNET_log_from_nocheck(2,43092,43145,$vararg_buffer1);
+ }
+ }
+ $22 = HEAP32[$2>>2]|0;
+ _gcry_sexp_release($22);
+ _GNUNET_xfree_($2,43005,184);
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+}
+function _GNUNET_CRYPTO_rsa_private_key_get_public($0) {
+ $0 = $0|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, $3 = 0, $4 = 0, $5 = 0;
+ var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_ptr1 = 0, $vararg_ptr5 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
+ $vararg_buffer2 = sp + 8|0;
+ $vararg_buffer = sp;
+ $1 = sp + 24|0;
+ $2 = sp + 16|0;
+ $3 = HEAP32[$0>>2]|0;
+ $4 = (_key_from_sexp_105($1,$3,59755,60969)|0);
+ $5 = ($4|0)==(0);
+ if (!($5)) {
+ $6 = HEAP32[$0>>2]|0;
+ $7 = (_key_from_sexp_105($1,$6,59743,60969)|0);
+ $8 = ($7|0)==(0);
+ if (!($8)) {
+ $9 = HEAP32[$0>>2]|0;
+ $10 = (_key_from_sexp_105($1,$9,61102,60969)|0);
+ $11 = ($10|0)==(0);
+ if (!($11)) {
+ $12 = HEAP32[9437]|0;
+ $13 = ($12|0)==(-1);
+ if ($13) {
+ $14 = (_GNUNET_get_log_call_status(2,0,43005,43179,277)|0);
+ HEAP32[9437] = $14;
+ }
+ $15 = (_GNUNET_get_log_skip()|0);
+ $16 = ($15|0)>(0);
+ if ($16) {
+ _GNUNET_log_skip(-1,0);
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $17 = HEAP32[9437]|0;
+ $18 = ($17|0)==(0);
+ if ($18) {
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+ }
+ HEAP32[$vararg_buffer>>2] = 43005;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 277;
+ _GNUNET_log_nocheck(66,43220,$vararg_buffer);
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+ }
+ }
+ }
+ $19 = HEAP32[$1>>2]|0;
+ $20 = ((($1)) + 4|0);
+ $21 = HEAP32[$20>>2]|0;
+ HEAP32[$vararg_buffer2>>2] = $19;
+ $vararg_ptr5 = ((($vararg_buffer2)) + 4|0);
+ HEAP32[$vararg_ptr5>>2] = $21;
+ (_gcry_sexp_build($2,0,43268,$vararg_buffer2)|0);
+ _gcry_mpi_release($19);
+ _gcry_mpi_release($21);
+ $22 = (_GNUNET_xmalloc_(4,43005,287)|0);
+ $23 = HEAP32[$2>>2]|0;
+ HEAP32[$22>>2] = $23;
+ $$0 = $22;
+ STACKTOP = sp;return ($$0|0);
+}
+function _key_from_sexp_105($0,$1,$2,$3) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ var $$04551 = 0, $$04657 = 0, $$04756 = 0, $$048 = 0, $$052 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0;
+ var $25 = 0, $26 = 0, $27 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond63 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $4 = (_gcry_sexp_find_token($1,$2,0)|0);
+ $5 = ($4|0)==(0|0);
+ if ($5) {
+ $$048 = 1;
+ return ($$048|0);
+ }
+ $6 = (_gcry_sexp_cadr($4)|0);
+ _gcry_sexp_release($4);
+ $7 = ($6|0)==(0|0);
+ if ($7) {
+ $$048 = 2;
+ return ($$048|0);
+ }
+ $8 = HEAP8[$3>>0]|0;
+ $9 = ($8<<24>>24)==(0);
+ L7: do {
+ if (!($9)) {
+ $$04657 = 0;$$04756 = $3;
+ while(1) {
+ $10 = (_gcry_sexp_find_token($6,$$04756,1)|0);
+ $11 = ($10|0)==(0|0);
+ if ($11) {
+ label = 6;
+ break;
+ }
+ $16 = (_gcry_sexp_nth_mpi($10,1,5)|0);
+ $17 = (($0) + ($$04657<<2)|0);
+ HEAP32[$17>>2] = $16;
+ _gcry_sexp_release($10);
+ $18 = HEAP32[$17>>2]|0;
+ $19 = ($18|0)==(0|0);
+ if ($19) {
+ label = 11;
+ break;
+ }
+ $24 = ((($$04756)) + 1|0);
+ $25 = (($$04657) + 1)|0;
+ $26 = HEAP8[$24>>0]|0;
+ $27 = ($26<<24>>24)==(0);
+ if ($27) {
+ break L7;
+ } else {
+ $$04657 = $25;$$04756 = $24;
+ }
+ }
+ if ((label|0) == 6) {
+ $12 = ($$04657|0)==(0);
+ if (!($12)) {
+ $$04551 = 0;
+ while(1) {
+ $13 = (($0) + ($$04551<<2)|0);
+ $14 = HEAP32[$13>>2]|0;
+ _gcry_free($14);
+ HEAP32[$13>>2] = 0;
+ $15 = (($$04551) + 1)|0;
+ $exitcond = ($15|0)==($$04657|0);
+ if ($exitcond) {
+ break;
+ } else {
+ $$04551 = $15;
+ }
+ }
+ }
+ _gcry_sexp_release($6);
+ $$048 = 3;
+ return ($$048|0);
+ }
+ else if ((label|0) == 11) {
+ $20 = ($$04657|0)==(0);
+ if (!($20)) {
+ $$052 = 0;
+ while(1) {
+ $21 = (($0) + ($$052<<2)|0);
+ $22 = HEAP32[$21>>2]|0;
+ _gcry_free($22);
+ HEAP32[$21>>2] = 0;
+ $23 = (($$052) + 1)|0;
+ $exitcond63 = ($23|0)==($$04657|0);
+ if ($exitcond63) {
+ break;
+ } else {
+ $$052 = $23;
+ }
+ }
+ }
+ _gcry_sexp_release($6);
+ $$048 = 4;
+ return ($$048|0);
+ }
+ }
+ } while(0);
+ _gcry_sexp_release($6);
+ $$048 = 0;
+ return ($$048|0);
+}
+function _GNUNET_CRYPTO_rsa_public_key_free($0) {
+ $0 = $0|0;
+ var $1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = HEAP32[$0>>2]|0;
+ _gcry_sexp_release($1);
+ _GNUNET_xfree_($0,43005,303);
+ return;
+}
+function _GNUNET_CRYPTO_rsa_public_key_encode($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $vararg_buffer = sp;
+ $2 = HEAP32[$0>>2]|0;
+ $3 = (_gcry_sexp_sprint($2,3,0,0)|0);
+ $4 = (_GNUNET_xmalloc_($3,43005,326)|0);
+ $5 = (($3) + -1)|0;
+ $6 = HEAP32[$0>>2]|0;
+ $7 = (_gcry_sexp_sprint($6,3,$4,$3)|0);
+ $8 = ($5|0)==($7|0);
+ if ($8) {
+ HEAP32[$1>>2] = $4;
+ STACKTOP = sp;return ($3|0);
+ }
+ $9 = HEAP32[9438]|0;
+ $10 = ($9|0)==(-1);
+ if ($10) {
+ $11 = (_GNUNET_get_log_call_status(1,0,43005,43298,331)|0);
+ HEAP32[9438] = $11;
+ }
+ $12 = (_GNUNET_get_log_skip()|0);
+ $13 = ($12|0)>(0);
+ if ($13) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $14 = HEAP32[9438]|0;
+ $15 = ($14|0)==(0);
+ if ($15) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer>>2] = 43005;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 331;
+ _GNUNET_log_nocheck(1,70521,$vararg_buffer);
+ _GNUNET_abort_();
+ // unreachable;
+ return (0)|0;
+}
+function _GNUNET_CRYPTO_rsa_public_key_decode($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
+ var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_ptr1 = 0, $vararg_ptr5 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
+ $vararg_buffer2 = sp + 8|0;
+ $vararg_buffer = sp;
+ $2 = sp + 16|0;
+ $3 = (_GNUNET_xmalloc_(4,43005,375)|0);
+ $4 = (_gcry_sexp_new($3,$0,$1,0)|0);
+ $5 = ($4|0)==(0);
+ if (!($5)) {
+ $6 = HEAP32[9439]|0;
+ $7 = ($6|0)==(-1);
+ if ($7) {
+ $8 = (_GNUNET_get_log_call_status(2,0,43005,43334,382)|0);
+ HEAP32[9439] = $8;
+ }
+ $9 = (_GNUNET_get_log_skip()|0);
+ $10 = ($9|0)>(0);
+ if ($10) {
+ _GNUNET_log_skip(-1,0);
+ } else {
+ $11 = HEAP32[9439]|0;
+ $12 = ($11|0)==(0);
+ if (!($12)) {
+ HEAP32[$vararg_buffer>>2] = 43005;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 382;
+ _GNUNET_log_nocheck(66,43220,$vararg_buffer);
+ }
+ }
+ _GNUNET_xfree_($3,43005,383);
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $13 = HEAP32[$3>>2]|0;
+ $14 = (_key_from_sexp_105($2,$13,59755,60983)|0);
+ $15 = ($14|0)==(0);
+ if (!($15)) {
+ $16 = HEAP32[$3>>2]|0;
+ $17 = (_key_from_sexp_105($2,$16,61102,60983)|0);
+ $18 = ($17|0)==(0);
+ if (!($18)) {
+ $19 = HEAP32[9440]|0;
+ $20 = ($19|0)==(-1);
+ if ($20) {
+ $21 = (_GNUNET_get_log_call_status(1,0,43005,43334,393)|0);
+ HEAP32[9440] = $21;
+ }
+ $22 = (_GNUNET_get_log_skip()|0);
+ $23 = ($22|0)>(0);
+ if ($23) {
+ _GNUNET_log_skip(-1,0);
+ } else {
+ $24 = HEAP32[9440]|0;
+ $25 = ($24|0)==(0);
+ if (!($25)) {
+ HEAP32[$vararg_buffer2>>2] = 43005;
+ $vararg_ptr5 = ((($vararg_buffer2)) + 4|0);
+ HEAP32[$vararg_ptr5>>2] = 393;
+ _GNUNET_log_nocheck(1,43837,$vararg_buffer2);
+ }
+ }
+ $26 = HEAP32[$3>>2]|0;
+ _gcry_sexp_release($26);
+ _GNUNET_xfree_($3,43005,395);
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+ }
+ }
+ $27 = HEAP32[$2>>2]|0;
+ _gcry_mpi_release($27);
+ $$0 = $3;
+ STACKTOP = sp;return ($$0|0);
+}
+function _GNUNET_CRYPTO_rsa_signature_encode($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $vararg_buffer = sp;
+ $2 = HEAP32[$0>>2]|0;
+ $3 = (_gcry_sexp_sprint($2,3,0,0)|0);
+ $4 = (_GNUNET_xmalloc_($3,43005,974)|0);
+ $5 = (($3) + -1)|0;
+ $6 = HEAP32[$0>>2]|0;
+ $7 = (_gcry_sexp_sprint($6,3,$4,$3)|0);
+ $8 = ($5|0)==($7|0);
+ if ($8) {
+ HEAP32[$1>>2] = $4;
+ STACKTOP = sp;return ($3|0);
+ }
+ $9 = HEAP32[9441]|0;
+ $10 = ($9|0)==(-1);
+ if ($10) {
+ $11 = (_GNUNET_get_log_call_status(1,0,43005,43370,979)|0);
+ HEAP32[9441] = $11;
+ }
+ $12 = (_GNUNET_get_log_skip()|0);
+ $13 = ($12|0)>(0);
+ if ($13) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $14 = HEAP32[9441]|0;
+ $15 = ($14|0)==(0);
+ if ($15) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer>>2] = 43005;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 979;
+ _GNUNET_log_nocheck(1,70521,$vararg_buffer);
+ _GNUNET_abort_();
+ // unreachable;
+ return (0)|0;
+}
+function _GNUNET_CRYPTO_rsa_blind($0,$1,$2,$3,$4) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
+ var $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0;
+ var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_buffer6 = 0, $vararg_ptr1 = 0, $vararg_ptr5 = 0, $vararg_ptr9 = 0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
+ $vararg_buffer6 = sp + 16|0;
+ $vararg_buffer2 = sp + 8|0;
+ $vararg_buffer = sp;
+ $5 = sp + 36|0;
+ $6 = sp + 32|0;
+ $7 = sp + 24|0;
+ $8 = ($3|0)!=(0|0);
+ $9 = ($4|0)!=(0|0);
+ $or$cond = $8 & $9;
+ if (!($or$cond)) {
+ $10 = HEAP32[9442]|0;
+ $11 = ($10|0)==(-1);
+ if ($11) {
+ $12 = (_GNUNET_get_log_call_status(1,0,43005,43405,748)|0);
+ HEAP32[9442] = $12;
+ }
+ $13 = (_GNUNET_get_log_skip()|0);
+ $14 = ($13|0)>(0);
+ if ($14) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $15 = HEAP32[9442]|0;
+ $16 = ($15|0)==(0);
+ if ($16) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer>>2] = 43005;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 748;
+ _GNUNET_log_nocheck(1,70521,$vararg_buffer);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $17 = HEAP32[$2>>2]|0;
+ $18 = (_key_from_sexp_105($7,$17,59755,60969)|0);
+ $19 = ($18|0)==(0);
+ if (!($19)) {
+ $20 = HEAP32[$2>>2]|0;
+ $21 = (_key_from_sexp_105($7,$20,61102,60969)|0);
+ $22 = ($21|0)==(0);
+ if (!($22)) {
+ $23 = HEAP32[9443]|0;
+ $24 = ($23|0)==(-1);
+ if ($24) {
+ $25 = (_GNUNET_get_log_call_status(1,0,43005,43405,754)|0);
+ HEAP32[9443] = $25;
+ }
+ $26 = (_GNUNET_get_log_skip()|0);
+ $27 = ($26|0)>(0);
+ if ($27) {
+ _GNUNET_log_skip(-1,0);
+ } else {
+ $28 = HEAP32[9443]|0;
+ $29 = ($28|0)==(0);
+ if (!($29)) {
+ HEAP32[$vararg_buffer2>>2] = 43005;
+ $vararg_ptr5 = ((($vararg_buffer2)) + 4|0);
+ HEAP32[$vararg_ptr5>>2] = 754;
+ _GNUNET_log_nocheck(1,43837,$vararg_buffer2);
+ }
+ }
+ HEAP32[$3>>2] = 0;
+ HEAP32[$4>>2] = 0;
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+ }
+ }
+ $30 = (_rsa_full_domain_hash($2,$0)|0);
+ $31 = ($30|0)==(0|0);
+ do {
+ if (!($31)) {
+ $32 = (_rsa_blinding_key_derive($2,$1)|0);
+ $33 = ($32|0)==(0|0);
+ if ($33) {
+ _gcry_mpi_release($30);
+ break;
+ }
+ $34 = (_gcry_mpi_new(0)|0);
+ $35 = HEAP32[$32>>2]|0;
+ $36 = ((($7)) + 4|0);
+ $37 = HEAP32[$36>>2]|0;
+ $38 = HEAP32[$7>>2]|0;
+ _gcry_mpi_powm($34,$35,$37,$38);
+ $39 = (_gcry_mpi_new(0)|0);
+ _gcry_mpi_mulm($39,$30,$34,$38);
+ _gcry_mpi_release($30);
+ _gcry_mpi_release($38);
+ _gcry_mpi_release($37);
+ _gcry_mpi_release($34);
+ $40 = HEAP32[$32>>2]|0;
+ _gcry_mpi_release($40);
+ _GNUNET_xfree_($32,43005,639);
+ (_gcry_mpi_print(5,0,0,$5,$39)|0);
+ $41 = HEAP32[$5>>2]|0;
+ $42 = (_GNUNET_xmalloc_($41,43005,663)|0);
+ $43 = HEAP32[$5>>2]|0;
+ $44 = (_gcry_mpi_print(5,$42,$43,$6,$39)|0);
+ $45 = ($44|0)==(0);
+ if ($45) {
+ HEAP32[$3>>2] = $42;
+ $53 = HEAP32[$5>>2]|0;
+ HEAP32[$4>>2] = $53;
+ _gcry_mpi_release($39);
+ $$0 = 1;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $46 = HEAP32[9444]|0;
+ $47 = ($46|0)==(-1);
+ if ($47) {
+ $48 = (_GNUNET_get_log_call_status(1,0,43005,43429,669)|0);
+ HEAP32[9444] = $48;
+ }
+ $49 = (_GNUNET_get_log_skip()|0);
+ $50 = ($49|0)>(0);
+ if ($50) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $51 = HEAP32[9444]|0;
+ $52 = ($51|0)==(0);
+ if ($52) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer6>>2] = 43005;
+ $vararg_ptr9 = ((($vararg_buffer6)) + 4|0);
+ HEAP32[$vararg_ptr9>>2] = 669;
+ _GNUNET_log_nocheck(1,70521,$vararg_buffer6);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ } while(0);
+ $54 = HEAP32[$7>>2]|0;
+ _gcry_mpi_release($54);
+ $55 = ((($7)) + 4|0);
+ $56 = HEAP32[$55>>2]|0;
+ _gcry_mpi_release($56);
+ HEAP32[$3>>2] = 0;
+ HEAP32[$4>>2] = 0;
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+}
+function _rsa_full_domain_hash($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
+ var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_ptr1 = 0, $vararg_ptr5 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
+ $vararg_buffer2 = sp + 8|0;
+ $vararg_buffer = sp;
+ $2 = sp + 24|0;
+ $3 = sp + 20|0;
+ $4 = sp + 16|0;
+ $5 = HEAP32[$0>>2]|0;
+ $6 = (_key_from_sexp_105($3,$5,61102,60983)|0);
+ $7 = ($6|0)==(0);
+ if (!($7)) {
+ $8 = HEAP32[9448]|0;
+ $9 = ($8|0)==(-1);
+ if ($9) {
+ $10 = (_GNUNET_get_log_call_status(1,0,43005,43523,697)|0);
+ HEAP32[9448] = $10;
+ }
+ $11 = (_GNUNET_get_log_skip()|0);
+ $12 = ($11|0)>(0);
+ if ($12) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $13 = HEAP32[9448]|0;
+ $14 = ($13|0)==(0);
+ if ($14) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer>>2] = 43005;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 697;
+ _GNUNET_log_nocheck(1,70521,$vararg_buffer);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $15 = HEAP32[$3>>2]|0;
+ $16 = (_gcry_mpi_get_flag($15,2)|0);
+ $17 = ($16|0)==(0);
+ if ($17) {
+ $25 = (_GNUNET_CRYPTO_rsa_public_key_encode($0,$4)|0);
+ $26 = HEAP32[$4>>2]|0;
+ _GNUNET_CRYPTO_kdf_mod_mpi($2,$15,$26,$25,$1,64,43544);
+ _GNUNET_xfree_($26,43005,712);
+ $27 = HEAP32[$2>>2]|0;
+ $28 = (_gcry_mpi_new(0)|0);
+ $29 = (_gcry_mpi_gcd($28,$27,$15)|0);
+ _gcry_mpi_release($28);
+ _gcry_mpi_release($15);
+ $30 = ($29|0)==(0);
+ $31 = HEAP32[$2>>2]|0;
+ if (!($30)) {
+ $$0 = $31;
+ STACKTOP = sp;return ($$0|0);
+ }
+ _gcry_mpi_release($31);
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $18 = HEAP32[9449]|0;
+ $19 = ($18|0)==(-1);
+ if ($19) {
+ $20 = (_GNUNET_get_log_call_status(1,0,43005,43523,699)|0);
+ HEAP32[9449] = $20;
+ }
+ $21 = (_GNUNET_get_log_skip()|0);
+ $22 = ($21|0)>(0);
+ if ($22) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $23 = HEAP32[9449]|0;
+ $24 = ($23|0)==(0);
+ if ($24) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer2>>2] = 43005;
+ $vararg_ptr5 = ((($vararg_buffer2)) + 4|0);
+ HEAP32[$vararg_ptr5>>2] = 699;
+ _GNUNET_log_nocheck(1,70521,$vararg_buffer2);
+ _GNUNET_abort_();
+ // unreachable;
+ return (0)|0;
+}
+function _rsa_blinding_key_derive($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
+ var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_buffer6 = 0, $vararg_ptr1 = 0, $vararg_ptr5 = 0;
+ var $vararg_ptr9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
+ $vararg_buffer6 = sp + 16|0;
+ $vararg_buffer2 = sp + 8|0;
+ $vararg_buffer = sp;
+ $2 = sp + 24|0;
+ $3 = (_GNUNET_xmalloc_(4,43005,442)|0);
+ $4 = ($3|0)==(0|0);
+ if ($4) {
+ $5 = HEAP32[9445]|0;
+ $6 = ($5|0)==(-1);
+ if ($6) {
+ $7 = (_GNUNET_get_log_call_status(1,0,43005,43455,443)|0);
+ HEAP32[9445] = $7;
+ }
+ $8 = (_GNUNET_get_log_skip()|0);
+ $9 = ($8|0)>(0);
+ if ($9) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $10 = HEAP32[9445]|0;
+ $11 = ($10|0)==(0);
+ if ($11) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer>>2] = 43005;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 443;
+ _GNUNET_log_nocheck(1,70521,$vararg_buffer);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $12 = HEAP32[$0>>2]|0;
+ $13 = (_key_from_sexp_105($2,$12,61102,60983)|0);
+ $14 = ($13|0)==(0);
+ if (!($14)) {
+ $15 = HEAP32[9446]|0;
+ $16 = ($15|0)==(-1);
+ if ($16) {
+ $17 = (_GNUNET_get_log_call_status(1,0,43005,43455,446)|0);
+ HEAP32[9446] = $17;
+ }
+ $18 = (_GNUNET_get_log_skip()|0);
+ $19 = ($18|0)>(0);
+ if ($19) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $20 = HEAP32[9446]|0;
+ $21 = ($20|0)==(0);
+ if ($21) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer2>>2] = 43005;
+ $vararg_ptr5 = ((($vararg_buffer2)) + 4|0);
+ HEAP32[$vararg_ptr5>>2] = 446;
+ _GNUNET_log_nocheck(1,70521,$vararg_buffer2);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $22 = HEAP32[$2>>2]|0;
+ $23 = (_gcry_mpi_get_flag($22,2)|0);
+ $24 = ($23|0)==(0);
+ if ($24) {
+ _GNUNET_CRYPTO_kdf_mod_mpi($3,$22,43479,30,$1,32,43510);
+ $32 = HEAP32[$3>>2]|0;
+ $33 = (_gcry_mpi_new(0)|0);
+ $34 = (_gcry_mpi_gcd($33,$32,$22)|0);
+ _gcry_mpi_release($33);
+ $35 = ($34|0)==(0);
+ if (!($35)) {
+ $$0 = $3;
+ _gcry_mpi_release($22);
+ STACKTOP = sp;return ($$0|0);
+ }
+ _GNUNET_xfree_($3,43005,456);
+ $$0 = 0;
+ _gcry_mpi_release($22);
+ STACKTOP = sp;return ($$0|0);
+ }
+ $25 = HEAP32[9447]|0;
+ $26 = ($25|0)==(-1);
+ if ($26) {
+ $27 = (_GNUNET_get_log_call_status(1,0,43005,43455,448)|0);
+ HEAP32[9447] = $27;
+ }
+ $28 = (_GNUNET_get_log_skip()|0);
+ $29 = ($28|0)>(0);
+ if ($29) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $30 = HEAP32[9447]|0;
+ $31 = ($30|0)==(0);
+ if ($31) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer6>>2] = 43005;
+ $vararg_ptr9 = ((($vararg_buffer6)) + 4|0);
+ HEAP32[$vararg_ptr9>>2] = 448;
+ _GNUNET_log_nocheck(1,70521,$vararg_buffer6);
+ _GNUNET_abort_();
+ // unreachable;
+ return (0)|0;
+}
+function _mpi_to_sexp($0) {
+ $0 = $0|0;
+ var $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, $vararg_buffer1 = 0, $vararg_ptr4 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
+ $vararg_buffer1 = sp + 8|0;
+ $vararg_buffer = sp;
+ $1 = sp + 16|0;
+ HEAP32[$1>>2] = 0;
+ HEAP32[$vararg_buffer>>2] = $0;
+ $2 = (_gcry_sexp_build($1,0,43559,$vararg_buffer)|0);
+ $3 = ($2|0)==(0);
+ if ($3) {
+ $11 = HEAP32[$1>>2]|0;
+ STACKTOP = sp;return ($11|0);
+ }
+ $4 = HEAP32[9450]|0;
+ $5 = ($4|0)==(-1);
+ if ($5) {
+ $6 = (_GNUNET_get_log_call_status(1,0,43005,43589,819)|0);
+ HEAP32[9450] = $6;
+ }
+ $7 = (_GNUNET_get_log_skip()|0);
+ $8 = ($7|0)>(0);
+ if ($8) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $9 = HEAP32[9450]|0;
+ $10 = ($9|0)==(0);
+ if ($10) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer1>>2] = 43005;
+ $vararg_ptr4 = ((($vararg_buffer1)) + 4|0);
+ HEAP32[$vararg_ptr4>>2] = 819;
+ _GNUNET_log_nocheck(1,70521,$vararg_buffer1);
+ _GNUNET_abort_();
+ // unreachable;
+ return (0)|0;
+}
+function _GNUNET_CRYPTO_rsa_signature_free($0) {
+ $0 = $0|0;
+ var $1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = HEAP32[$0>>2]|0;
+ _gcry_sexp_release($1);
+ _GNUNET_xfree_($0,43005,952);
+ return;
+}
+function _GNUNET_CRYPTO_rsa_signature_decode($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
+ var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_ptr1 = 0, $vararg_ptr5 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
+ $vararg_buffer2 = sp + 8|0;
+ $vararg_buffer = sp;
+ $2 = sp + 16|0;
+ $3 = (_GNUNET_xmalloc_(4,43005,1001)|0);
+ $4 = (_gcry_sexp_new($3,$0,$1,0)|0);
+ $5 = ($4|0)==(0);
+ if (!($5)) {
+ $6 = HEAP32[9451]|0;
+ $7 = ($6|0)==(-1);
+ if ($7) {
+ $8 = (_GNUNET_get_log_call_status(2,0,43005,43601,1008)|0);
+ HEAP32[9451] = $8;
+ }
+ $9 = (_GNUNET_get_log_skip()|0);
+ $10 = ($9|0)>(0);
+ if ($10) {
+ _GNUNET_log_skip(-1,0);
+ } else {
+ $11 = HEAP32[9451]|0;
+ $12 = ($11|0)==(0);
+ if (!($12)) {
+ HEAP32[$vararg_buffer>>2] = 43005;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 1008;
+ _GNUNET_log_nocheck(66,43220,$vararg_buffer);
+ }
+ }
+ _GNUNET_xfree_($3,43005,1009);
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $13 = HEAP32[$3>>2]|0;
+ $14 = (_key_from_sexp_105($2,$13,59605,60981)|0);
+ $15 = ($14|0)==(0);
+ if (!($15)) {
+ $16 = HEAP32[$3>>2]|0;
+ $17 = (_key_from_sexp_105($2,$16,61102,60981)|0);
+ $18 = ($17|0)==(0);
+ if (!($18)) {
+ $19 = HEAP32[9452]|0;
+ $20 = ($19|0)==(-1);
+ if ($20) {
+ $21 = (_GNUNET_get_log_call_status(2,0,43005,43601,1019)|0);
+ HEAP32[9452] = $21;
+ }
+ $22 = (_GNUNET_get_log_skip()|0);
+ $23 = ($22|0)>(0);
+ if ($23) {
+ _GNUNET_log_skip(-1,0);
+ } else {
+ $24 = HEAP32[9452]|0;
+ $25 = ($24|0)==(0);
+ if (!($25)) {
+ HEAP32[$vararg_buffer2>>2] = 43005;
+ $vararg_ptr5 = ((($vararg_buffer2)) + 4|0);
+ HEAP32[$vararg_ptr5>>2] = 1019;
+ _GNUNET_log_nocheck(66,43220,$vararg_buffer2);
+ }
+ }
+ $26 = HEAP32[$3>>2]|0;
+ _gcry_sexp_release($26);
+ _GNUNET_xfree_($3,43005,1021);
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+ }
+ }
+ $27 = HEAP32[$2>>2]|0;
+ _gcry_mpi_release($27);
+ $$0 = $3;
+ STACKTOP = sp;return ($$0|0);
+}
+function _GNUNET_CRYPTO_rsa_unblind($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
+ var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
+ var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
+ var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer17 = 0, $vararg_buffer2 = 0, $vararg_buffer6 = 0, $vararg_ptr1 = 0, $vararg_ptr13 = 0, $vararg_ptr20 = 0, $vararg_ptr5 = 0, $vararg_ptr9 = 0, label = 0;
+ var sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
+ $vararg_buffer17 = sp + 40|0;
+ $vararg_buffer14 = sp + 32|0;
+ $vararg_buffer10 = sp + 24|0;
+ $vararg_buffer6 = sp + 16|0;
+ $vararg_buffer2 = sp + 8|0;
+ $vararg_buffer = sp;
+ $3 = sp + 52|0;
+ $4 = sp + 48|0;
+ $5 = HEAP32[$2>>2]|0;
+ $6 = (_key_from_sexp_105($3,$5,59755,60983)|0);
+ $7 = ($6|0)==(0);
+ if (!($7)) {
+ $8 = HEAP32[$2>>2]|0;
+ $9 = (_key_from_sexp_105($3,$8,61102,60983)|0);
+ $10 = ($9|0)==(0);
+ if (!($10)) {
+ $11 = HEAP32[9453]|0;
+ $12 = ($11|0)==(-1);
+ if ($12) {
+ $13 = (_GNUNET_get_log_call_status(2,0,43005,43636,1084)|0);
+ HEAP32[9453] = $13;
+ }
+ $14 = (_GNUNET_get_log_skip()|0);
+ $15 = ($14|0)>(0);
+ if ($15) {
+ _GNUNET_log_skip(-1,0);
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $16 = HEAP32[9453]|0;
+ $17 = ($16|0)==(0);
+ if ($17) {
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+ }
+ HEAP32[$vararg_buffer>>2] = 43005;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 1084;
+ _GNUNET_log_nocheck(66,43220,$vararg_buffer);
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+ }
+ }
+ $18 = HEAP32[$0>>2]|0;
+ $19 = (_key_from_sexp_105($4,$18,59605,60981)|0);
+ $20 = ($19|0)==(0);
+ if (!($20)) {
+ $21 = HEAP32[$0>>2]|0;
+ $22 = (_key_from_sexp_105($4,$21,61102,60981)|0);
+ $23 = ($22|0)==(0);
+ if (!($23)) {
+ $24 = HEAP32[$3>>2]|0;
+ _gcry_mpi_release($24);
+ $25 = HEAP32[9454]|0;
+ $26 = ($25|0)==(-1);
+ if ($26) {
+ $27 = (_GNUNET_get_log_call_status(2,0,43005,43636,1093)|0);
+ HEAP32[9454] = $27;
+ }
+ $28 = (_GNUNET_get_log_skip()|0);
+ $29 = ($28|0)>(0);
+ if ($29) {
+ _GNUNET_log_skip(-1,0);
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $30 = HEAP32[9454]|0;
+ $31 = ($30|0)==(0);
+ if ($31) {
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+ }
+ HEAP32[$vararg_buffer2>>2] = 43005;
+ $vararg_ptr5 = ((($vararg_buffer2)) + 4|0);
+ HEAP32[$vararg_ptr5>>2] = 1093;
+ _GNUNET_log_nocheck(66,43220,$vararg_buffer2);
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+ }
+ }
+ $32 = (_rsa_blinding_key_derive($2,$1)|0);
+ $33 = ($32|0)==(0|0);
+ if ($33) {
+ $34 = HEAP32[9455]|0;
+ $35 = ($34|0)==(-1);
+ if ($35) {
+ $36 = (_GNUNET_get_log_call_status(2,0,43005,43636,1104)|0);
+ HEAP32[9455] = $36;
+ }
+ $37 = (_GNUNET_get_log_skip()|0);
+ $38 = ($37|0)>(0);
+ if ($38) {
+ _GNUNET_log_skip(-1,0);
+ } else {
+ $39 = HEAP32[9455]|0;
+ $40 = ($39|0)==(0);
+ if (!($40)) {
+ HEAP32[$vararg_buffer6>>2] = 43005;
+ $vararg_ptr9 = ((($vararg_buffer6)) + 4|0);
+ HEAP32[$vararg_ptr9>>2] = 1104;
+ _GNUNET_log_nocheck(66,43220,$vararg_buffer6);
+ }
+ }
+ $41 = HEAP32[$3>>2]|0;
+ _gcry_mpi_release($41);
+ $42 = HEAP32[$4>>2]|0;
+ _gcry_mpi_release($42);
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $43 = (_gcry_mpi_new(0)|0);
+ $44 = HEAP32[$32>>2]|0;
+ $45 = HEAP32[$3>>2]|0;
+ $46 = (_gcry_mpi_invm($43,$44,$45)|0);
+ $47 = ($46|0)==(1);
+ if (!($47)) {
+ $48 = HEAP32[9456]|0;
+ $49 = ($48|0)==(-1);
+ if ($49) {
+ $50 = (_GNUNET_get_log_call_status(2,0,43005,43636,1118)|0);
+ HEAP32[9456] = $50;
+ }
+ $51 = (_GNUNET_get_log_skip()|0);
+ $52 = ($51|0)>(0);
+ if ($52) {
+ _GNUNET_log_skip(-1,0);
+ } else {
+ $53 = HEAP32[9456]|0;
+ $54 = ($53|0)==(0);
+ if (!($54)) {
+ HEAP32[$vararg_buffer10>>2] = 43005;
+ $vararg_ptr13 = ((($vararg_buffer10)) + 4|0);
+ HEAP32[$vararg_ptr13>>2] = 1118;
+ _GNUNET_log_nocheck(66,43220,$vararg_buffer10);
+ }
+ }
+ _gcry_mpi_release($43);
+ $55 = HEAP32[$32>>2]|0;
+ _gcry_mpi_release($55);
+ _GNUNET_xfree_($32,43005,639);
+ _gcry_mpi_release($45);
+ $56 = HEAP32[$4>>2]|0;
+ _gcry_mpi_release($56);
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $57 = (_gcry_mpi_new(0)|0);
+ $58 = HEAP32[$4>>2]|0;
+ _gcry_mpi_mulm($57,$58,$43,$45);
+ _gcry_mpi_release($45);
+ _gcry_mpi_release($43);
+ _gcry_mpi_release($58);
+ $59 = HEAP32[$32>>2]|0;
+ _gcry_mpi_release($59);
+ _GNUNET_xfree_($32,43005,639);
+ $60 = (_GNUNET_xmalloc_(4,43005,1133)|0);
+ HEAP32[$vararg_buffer14>>2] = $57;
+ $61 = (_gcry_sexp_build($60,0,43662,$vararg_buffer14)|0);
+ $62 = ($61|0)==(0);
+ if ($62) {
+ _gcry_mpi_release($57);
+ $$0 = $60;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $63 = HEAP32[9457]|0;
+ $64 = ($63|0)==(-1);
+ if ($64) {
+ $65 = (_GNUNET_get_log_call_status(1,0,43005,43636,1138)|0);
+ HEAP32[9457] = $65;
+ }
+ $66 = (_GNUNET_get_log_skip()|0);
+ $67 = ($66|0)>(0);
+ if ($67) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $68 = HEAP32[9457]|0;
+ $69 = ($68|0)==(0);
+ if ($69) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer17>>2] = 43005;
+ $vararg_ptr20 = ((($vararg_buffer17)) + 4|0);
+ HEAP32[$vararg_ptr20>>2] = 1138;
+ _GNUNET_log_nocheck(1,70521,$vararg_buffer17);
+ _GNUNET_abort_();
+ // unreachable;
+ return (0)|0;
+}
+function _GNUNET_CRYPTO_rsa_verify($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0;
+ var $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_ptr1 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
+ $vararg_buffer2 = sp + 8|0;
+ $vararg_buffer = sp;
+ $3 = (_rsa_full_domain_hash($2,$0)|0);
+ $4 = ($3|0)==(0|0);
+ if ($4) {
+ $5 = HEAP32[9458]|0;
+ $6 = ($5|0)==(-1);
+ if ($6) {
+ $7 = (_GNUNET_get_log_call_status(2,0,43005,43685,1167)|0);
+ HEAP32[9458] = $7;
+ }
+ $8 = (_GNUNET_get_log_skip()|0);
+ $9 = ($8|0)>(0);
+ if ($9) {
+ _GNUNET_log_skip(-1,0);
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $10 = HEAP32[9458]|0;
+ $11 = ($10|0)==(0);
+ if ($11) {
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+ }
+ HEAP32[$vararg_buffer>>2] = 43005;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 1167;
+ _GNUNET_log_nocheck(66,43220,$vararg_buffer);
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $12 = (_mpi_to_sexp($3)|0);
+ _gcry_mpi_release($3);
+ $13 = HEAP32[$1>>2]|0;
+ $14 = HEAP32[$2>>2]|0;
+ $15 = (_gcry_pk_verify($13,$12,$14)|0);
+ _gcry_sexp_release($12);
+ $16 = ($15|0)==(0);
+ if ($16) {
+ $$0 = 1;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $17 = HEAP32[9459]|0;
+ $18 = ($17|0)==(-1);
+ if ($18) {
+ $19 = (_GNUNET_get_log_call_status(2,43092,43005,43685,1190)|0);
+ HEAP32[9459] = $19;
+ }
+ $20 = (_GNUNET_get_log_skip()|0);
+ $21 = ($20|0)>(0);
+ if ($21) {
+ _GNUNET_log_skip(-1,0);
+ $$0 = -1;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $22 = HEAP32[9459]|0;
+ $23 = ($22|0)==(0);
+ if ($23) {
+ $$0 = -1;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $24 = (_gcry_strerror($15)|0);
+ HEAP32[$vararg_buffer2>>2] = 43005;
+ $vararg_ptr5 = ((($vararg_buffer2)) + 4|0);
+ HEAP32[$vararg_ptr5>>2] = 1189;
+ $vararg_ptr6 = ((($vararg_buffer2)) + 8|0);
+ HEAP32[$vararg_ptr6>>2] = $24;
+ _GNUNET_log_from_nocheck(2,43092,43710,$vararg_buffer2);
+ $$0 = -1;
+ STACKTOP = sp;return ($$0|0);
+}
+function _GNUNET_STRINGS_relative_time_to_string($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $$ = 0, $$0 = 0, $$036 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
+ var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0;
+ var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0;
+ var $62 = 0, $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;
+ 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, $or$cond = 0, $or$cond3 = 0, $or$cond38 = 0, $or$cond40 = 0, $or$cond42 = 0, $or$cond44 = 0, $or$cond46 = 0;
+ var $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $vararg_buffer = sp;
+ $2 = $0;
+ $3 = $2;
+ $4 = HEAP32[$3>>2]|0;
+ $5 = (($2) + 4)|0;
+ $6 = $5;
+ $7 = HEAP32[$6>>2]|0;
+ $8 = (_GNUNET_TIME_relative_get_forever_()|0);
+ $9 = tempRet0;
+ $10 = ($8|0)==($4|0);
+ $11 = ($9|0)==($7|0);
+ $12 = $10 & $11;
+ if ($12) {
+ $$0 = 43776;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $13 = ($4|0)==(0);
+ $14 = ($7|0)==(0);
+ $15 = $13 & $14;
+ if ($15) {
+ $$0 = 43802;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $16 = ($1|0)==(1);
+ $17 = ($7>>>0)>(0);
+ $18 = ($4>>>0)>(5000);
+ $19 = ($7|0)==(0);
+ $20 = $19 & $18;
+ $21 = $17 | $20;
+ $or$cond = $16 & $21;
+ $22 = (___udivdi3(($4|0),($7|0),1000,0)|0);
+ $23 = tempRet0;
+ $24 = (___muldi3(($22|0),($23|0),1000,0)|0);
+ $25 = tempRet0;
+ $26 = (_i64Subtract(($4|0),($7|0),($24|0),($25|0))|0);
+ $27 = tempRet0;
+ $28 = ($26|0)==(0);
+ $29 = ($27|0)==(0);
+ $30 = $28 & $29;
+ $or$cond38 = $or$cond | $30;
+ if ($or$cond38) {
+ $31 = ($7>>>0)>(0);
+ $32 = ($4>>>0)>(5000999);
+ $33 = ($7|0)==(0);
+ $34 = $33 & $32;
+ $35 = $31 | $34;
+ $or$cond3 = $16 & $35;
+ $36 = (___uremdi3(($22|0),($23|0),1000,0)|0);
+ $37 = tempRet0;
+ $38 = ($36|0)==(0);
+ $39 = ($37|0)==(0);
+ $40 = $38 & $39;
+ $or$cond40 = $or$cond3 | $40;
+ if ($or$cond40) {
+ $41 = (___udivdi3(($4|0),($7|0),1000000,0)|0);
+ $42 = tempRet0;
+ $43 = ($7>>>0)>(0);
+ $44 = ($4>>>0)>(300999999);
+ $45 = ($7|0)==(0);
+ $46 = $45 & $44;
+ $47 = $43 | $46;
+ $or$cond5 = $16 & $47;
+ $48 = (___uremdi3(($41|0),($42|0),60,0)|0);
+ $49 = tempRet0;
+ $50 = ($48|0)==(0);
+ $51 = ($49|0)==(0);
+ $52 = $50 & $51;
+ $or$cond42 = $or$cond5 | $52;
+ if ($or$cond42) {
+ $53 = (___udivdi3(($4|0),($7|0),60000000,0)|0);
+ $54 = tempRet0;
+ $55 = ($7>>>0)>(4);
+ $56 = ($4>>>0)>(880130815);
+ $57 = ($7|0)==(4);
+ $58 = $57 & $56;
+ $59 = $55 | $58;
+ $or$cond7 = $16 & $59;
+ $60 = (___uremdi3(($53|0),($54|0),60,0)|0);
+ $61 = tempRet0;
+ $62 = ($60|0)==(0);
+ $63 = ($61|0)==(0);
+ $64 = $62 & $63;
+ $or$cond44 = $or$cond7 | $64;
+ if ($or$cond44) {
+ $65 = (___udivdi3(($4|0),($7|0),-694967296,0)|0);
+ $66 = tempRet0;
+ $67 = ($7>>>0)>(101);
+ $68 = ($4>>>0)>(1808303103);
+ $69 = ($7|0)==(101);
+ $70 = $69 & $68;
+ $71 = $67 | $70;
+ $or$cond9 = $16 & $71;
+ $72 = (___uremdi3(($65|0),($66|0),24,0)|0);
+ $73 = tempRet0;
+ $74 = ($72|0)==(0);
+ $75 = ($73|0)==(0);
+ $76 = $74 & $75;
+ $or$cond46 = $or$cond9 | $76;
+ if ($or$cond46) {
+ $77 = (_i64Add(($4|0),($7|0),-500654080,-21)|0);
+ $78 = tempRet0;
+ $79 = ($78>>>0)<(20);
+ $80 = ($77>>>0)<(500654080);
+ $81 = ($78|0)==(20);
+ $82 = $81 & $80;
+ $83 = $79 | $82;
+ $$ = $83 ? 43789 : 43793;
+ $84 = (___udivdi3(($4|0),($7|0),500654080,20)|0);
+ $85 = tempRet0;
+ $$036 = $$;$88 = $84;$91 = $85;
+ } else {
+ $$036 = 57458;$88 = $65;$91 = $66;
+ }
+ } else {
+ $$036 = 43787;$88 = $53;$91 = $54;
+ }
+ } else {
+ $$036 = 60981;$88 = $41;$91 = $42;
+ }
+ } else {
+ $$036 = 43784;$88 = $22;$91 = $23;
+ }
+ } else {
+ $$036 = 43798;$88 = $4;$91 = $7;
+ }
+ $86 = $vararg_buffer;
+ $87 = $86;
+ HEAP32[$87>>2] = $88;
+ $89 = (($86) + 4)|0;
+ $90 = $89;
+ HEAP32[$90>>2] = $91;
+ $vararg_ptr1 = ((($vararg_buffer)) + 8|0);
+ HEAP32[$vararg_ptr1>>2] = $$036;
+ (_GNUNET_snprintf(70992,128,43768,$vararg_buffer)|0);
+ $$0 = 70992;
+ STACKTOP = sp;return ($$0|0);
+}
+function _GNUNET_STRINGS_data_to_string($0,$1,$2,$3) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ var $$0 = 0, $$0103$lcssa = 0, $$0103134 = 0, $$0105133 = 0, $$0107132 = 0, $$0109131 = 0, $$1135 = 0, $$2 = 0, $$2111 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0;
+ var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $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, $6 = 0, $7 = 0;
+ var $8 = 0, $9 = 0, $or$cond = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_buffer6 = 0, $vararg_ptr1 = 0, $vararg_ptr5 = 0, $vararg_ptr9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
+ $vararg_buffer6 = sp + 16|0;
+ $vararg_buffer2 = sp + 8|0;
+ $vararg_buffer = sp;
+ $4 = $1 << 3;
+ $5 = $4 | 4;
+ $6 = (($5>>>0) / 5)&-1;
+ $7 = ($6>>>0)>($3>>>0);
+ if ($7) {
+ $8 = HEAP32[9460]|0;
+ $9 = ($8|0)==(-1);
+ if ($9) {
+ $10 = (_GNUNET_get_log_call_status(1,0,43758,43807,914)|0);
+ HEAP32[9460] = $10;
+ }
+ $11 = (_GNUNET_get_log_skip()|0);
+ $12 = ($11|0)>(0);
+ if ($12) {
+ _GNUNET_log_skip(-1,0);
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $13 = HEAP32[9460]|0;
+ $14 = ($13|0)==(0);
+ if ($14) {
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+ }
+ HEAP32[$vararg_buffer>>2] = 43758;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 914;
+ _GNUNET_log_nocheck(1,43837,$vararg_buffer);
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $15 = ($1|0)==(0);
+ L15: do {
+ if ($15) {
+ $$0103$lcssa = 0;
+ } else {
+ $16 = (($4>>>0) % 5)&-1;
+ $17 = (5 - ($16))|0;
+ $$0103134 = 0;$$0105133 = 0;$$0107132 = 0;$$0109131 = 0;$19 = 1;
+ while(1) {
+ $18 = ($$0109131>>>0)<(5);
+ $or$cond = $18 & $19;
+ if ($or$cond) {
+ $20 = (($$0109131) + 8)|0;
+ $21 = (($0) + ($$0105133)|0);
+ $22 = (($$0105133) + 1)|0;
+ $23 = $$0107132 << 8;
+ $24 = HEAP8[$21>>0]|0;
+ $25 = $24&255;
+ $26 = $23 | $25;
+ $$1135 = $22;$$2 = $26;$$2111 = $20;
+ } else {
+ $27 = ($$0109131>>>0)<(5);
+ if ($27) {
+ $28 = ($$0109131|0)==($16|0);
+ if (!($28)) {
+ label = 14;
+ break;
+ }
+ $36 = $$0107132 << $17;
+ $$1135 = $$0105133;$$2 = $36;$$2111 = 5;
+ } else {
+ $$1135 = $$0105133;$$2 = $$0107132;$$2111 = $$0109131;
+ }
+ }
+ $37 = ($$0103134>>>0)<($3>>>0);
+ if (!($37)) {
+ label = 23;
+ break;
+ }
+ $45 = (($$2111) + -5)|0;
+ $46 = $$2 >>> $45;
+ $47 = $46 & 31;
+ $48 = (43865 + ($47)|0);
+ $49 = HEAP8[$48>>0]|0;
+ $50 = (($$0103134) + 1)|0;
+ $51 = (($2) + ($$0103134)|0);
+ HEAP8[$51>>0] = $49;
+ $52 = ($$1135>>>0)<($1>>>0);
+ $53 = ($45|0)!=(0);
+ $54 = $53 | $52;
+ if ($54) {
+ $$0103134 = $50;$$0105133 = $$1135;$$0107132 = $$2;$$0109131 = $45;$19 = $52;
+ } else {
+ $$0103$lcssa = $50;
+ break L15;
+ }
+ }
+ if ((label|0) == 14) {
+ $29 = HEAP32[9461]|0;
+ $30 = ($29|0)==(-1);
+ if ($30) {
+ $31 = (_GNUNET_get_log_call_status(1,0,43758,43807,931)|0);
+ HEAP32[9461] = $31;
+ }
+ $32 = (_GNUNET_get_log_skip()|0);
+ $33 = ($32|0)>(0);
+ if ($33) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $34 = HEAP32[9461]|0;
+ $35 = ($34|0)==(0);
+ if ($35) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer2>>2] = 43758;
+ $vararg_ptr5 = ((($vararg_buffer2)) + 4|0);
+ HEAP32[$vararg_ptr5>>2] = 931;
+ _GNUNET_log_nocheck(1,70521,$vararg_buffer2);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ else if ((label|0) == 23) {
+ $38 = HEAP32[9462]|0;
+ $39 = ($38|0)==(-1);
+ if ($39) {
+ $40 = (_GNUNET_get_log_call_status(1,0,43758,43807,936)|0);
+ HEAP32[9462] = $40;
+ }
+ $41 = (_GNUNET_get_log_skip()|0);
+ $42 = ($41|0)>(0);
+ if ($42) {
+ _GNUNET_log_skip(-1,0);
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $43 = HEAP32[9462]|0;
+ $44 = ($43|0)==(0);
+ if ($44) {
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+ }
+ HEAP32[$vararg_buffer6>>2] = 43758;
+ $vararg_ptr9 = ((($vararg_buffer6)) + 4|0);
+ HEAP32[$vararg_ptr9>>2] = 936;
+ _GNUNET_log_nocheck(1,43837,$vararg_buffer6);
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+ }
+ }
+ } while(0);
+ $55 = ($$0103$lcssa>>>0)<($3>>>0);
+ $56 = (($2) + ($$0103$lcssa)|0);
+ if (!($55)) {
+ $$0 = $56;
+ STACKTOP = sp;return ($$0|0);
+ }
+ HEAP8[$56>>0] = 0;
+ $$0 = $56;
+ STACKTOP = sp;return ($$0|0);
+}
+function _GNUNET_STRINGS_data_to_string_alloc($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $$0 = 0, $$019 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $2 = $1 << 3;
+ $3 = (($2>>>0) % 5)&-1;
+ $4 = ($3|0)==(0);
+ $5 = (5 - ($3))|0;
+ $6 = $4 ? 0 : $5;
+ $$019 = (($6) + ($2))|0;
+ $7 = (($$019>>>0) / 5)&-1;
+ $8 = (($7) + 1)|0;
+ $9 = (_GNUNET_xmalloc_($8,43758,970)|0);
+ $10 = (_GNUNET_STRINGS_data_to_string($0,$1,$9,$7)|0);
+ $11 = ($10|0)==(0|0);
+ if ($11) {
+ _GNUNET_xfree_($9,43758,974);
+ $$0 = 0;
+ return ($$0|0);
+ } else {
+ HEAP8[$10>>0] = 0;
+ $$0 = $9;
+ return ($$0|0);
+ }
+ return (0)|0;
+}
+function _GNUNET_STRINGS_string_to_data($0,$1,$2,$3) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ var $$ = 0, $$0 = 0, $$065 = 0, $$06787 = 0, $$070 = 0, $$072 = 0, $$075 = 0, $$076 = 0, $$1$lcssa = 0, $$168 = 0, $$17186 = 0, $$173$lcssa = 0, $$17385 = 0, $$188 = 0, $$2 = 0, $$274 = 0, $$80 = 0, $10 = 0, $11 = 0, $12 = 0;
+ var $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0;
+ var $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0;
+ var $8 = 0, $9 = 0, $or$cond = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $vararg_buffer = sp;
+ $4 = $3 << 3;
+ $5 = ($1|0)==(0);
+ if ($5) {
+ $6 = ($3|0)==(0);
+ $$ = $6 ? 1 : -1;
+ $$0 = $$;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $7 = (($4>>>0) % 5)&-1;
+ $8 = ($7|0)==(0);
+ if ($8) {
+ $15 = (($1) + -1)|0;
+ $16 = (($0) + ($15)|0);
+ $17 = HEAP8[$16>>0]|0;
+ $18 = (_getValue__($17)|0);
+ $$065 = $15;$$070 = $18;$$072 = 5;$$075 = $18;$$076 = 0;
+ } else {
+ $9 = (5 - ($7))|0;
+ $10 = (($1) + -1)|0;
+ $11 = (($0) + ($10)|0);
+ $12 = HEAP8[$11>>0]|0;
+ $13 = (_getValue__($12)|0);
+ $14 = $13 >> $9;
+ $$065 = $10;$$070 = $14;$$072 = $7;$$075 = $13;$$076 = $9;
+ }
+ $19 = (($$076) + ($4))|0;
+ $20 = (($19>>>0) / 5)&-1;
+ $21 = ($20|0)!=($1|0);
+ $22 = ($$075|0)==(-1);
+ $or$cond = $22 | $21;
+ if ($or$cond) {
+ $$0 = -1;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $23 = ($3|0)==(0);
+ L12: do {
+ if ($23) {
+ $$1$lcssa = $$065;$$173$lcssa = $$072;
+ } else {
+ $$06787 = $3;$$17186 = $$070;$$17385 = $$072;$$188 = $$065;
+ while(1) {
+ $24 = ($$188|0)==(0);
+ if ($24) {
+ break;
+ }
+ $32 = (($$188) + -1)|0;
+ $33 = (($0) + ($32)|0);
+ $34 = HEAP8[$33>>0]|0;
+ $35 = (_getValue__($34)|0);
+ $36 = $35 << $$17385;
+ $37 = $36 | $$17186;
+ $38 = ($35|0)==(-1);
+ if ($38) {
+ $$0 = -1;
+ label = 21;
+ break;
+ }
+ $39 = (($$17385) + 5)|0;
+ $40 = ($39>>>0)>(7);
+ $41 = (($$06787) + -1)|0;
+ if ($40) {
+ $42 = (($$17385) + -3)|0;
+ $43 = $37 >>> 8;
+ $44 = (($2) + ($41)|0);
+ $45 = $37&255;
+ HEAP8[$44>>0] = $45;
+ $$168 = $41;$$2 = $43;$$274 = $42;
+ } else {
+ $$168 = $$06787;$$2 = $37;$$274 = $39;
+ }
+ $46 = ($$168|0)==(0);
+ if ($46) {
+ $$1$lcssa = $32;$$173$lcssa = $$274;
+ break L12;
+ } else {
+ $$06787 = $$168;$$17186 = $$2;$$17385 = $$274;$$188 = $32;
+ }
+ }
+ if ((label|0) == 21) {
+ STACKTOP = sp;return ($$0|0);
+ }
+ $25 = HEAP32[9463]|0;
+ $26 = ($25|0)==(-1);
+ if ($26) {
+ $27 = (_GNUNET_get_log_call_status(1,0,43758,43898,1034)|0);
+ HEAP32[9463] = $27;
+ }
+ $28 = (_GNUNET_get_log_skip()|0);
+ $29 = ($28|0)>(0);
+ if ($29) {
+ _GNUNET_log_skip(-1,0);
+ $$0 = -1;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $30 = HEAP32[9463]|0;
+ $31 = ($30|0)==(0);
+ if ($31) {
+ $$0 = -1;
+ STACKTOP = sp;return ($$0|0);
+ }
+ HEAP32[$vararg_buffer>>2] = 43758;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 1034;
+ _GNUNET_log_nocheck(1,43837,$vararg_buffer);
+ $$0 = -1;
+ STACKTOP = sp;return ($$0|0);
+ }
+ } while(0);
+ $47 = $$1$lcssa | $$173$lcssa;
+ $48 = ($47|0)==(0);
+ $$80 = $48 ? 1 : -1;
+ $$0 = $$80;
+ STACKTOP = sp;return ($$0|0);
+}
+function _getValue__($0) {
+ $0 = $0|0;
+ var $$021$off = 0, $$021$off31 = 0, $$023 = 0, $$122 = 0, $$122$off = 0, $$1223538 = 0, $$1223539 = 0, $$3$neg = 0, $$neg = 0, $$neg32 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0;
+ var $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $spec$select = 0, $spec$select26$neg = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ L1: do {
+ switch ($0<<24>>24) {
+ case 111: case 79: {
+ $4 = 48;
+ label = 4;
+ break;
+ }
+ case 76: case 108: case 73: case 105: {
+ $4 = 49;
+ label = 4;
+ break;
+ }
+ case 85: case 117: {
+ $$1223539 = 86;$19 = 2;$20 = 86;
+ label = 9;
+ break;
+ }
+ default: {
+ $1 = $0&255;
+ $$021$off = (($0) + -48)<<24>>24;
+ $2 = ($$021$off&255)<(10);
+ if ($2) {
+ $4 = $1;
+ label = 4;
+ } else {
+ $$021$off31 = (($0) + -97)<<24>>24;
+ $5 = ($$021$off31&255)<(26);
+ if ($5) {
+ $6 = (_toupper($1)|0);
+ $7 = $6&255;
+ $$122 = $7;
+ } else {
+ $$122 = $0;
+ }
+ $$122$off = (($$122) + -65)<<24>>24;
+ $8 = ($$122$off&255)<(26);
+ if ($8) {
+ $9 = $$122&255;
+ $10 = ($$122&255)>(73);
+ $spec$select = $10&1;
+ $11 = ($$122&255)>(76);
+ $12 = $10 ? 2 : 1;
+ if ($11) {
+ $$1223539 = $$122;$19 = $12;$20 = $9;
+ label = 9;
+ break L1;
+ } else {
+ $$1223538 = $$122;$15 = $9;$18 = $spec$select;
+ break L1;
+ }
+ } else {
+ $$023 = -1;
+ return ($$023|0);
+ }
+ }
+ }
+ }
+ } while(0);
+ if ((label|0) == 4) {
+ $3 = (($4) + -48)|0;
+ $$023 = $3;
+ return ($$023|0);
+ }
+ else if ((label|0) == 9) {
+ $$1223538 = $$1223539;$15 = $20;$18 = $19;
+ }
+ $13 = ($$1223538&255)>(79);
+ $14 = ($$1223538&255)>(85);
+ $$neg = $14 << 31 >> 31;
+ $$neg32 = $13 << 31 >> 31;
+ $spec$select26$neg = (($15) + -55)|0;
+ $$3$neg = (($spec$select26$neg) + ($$neg32))|0;
+ $16 = (($$3$neg) + ($$neg))|0;
+ $17 = (($16) - ($18))|0;
+ $$023 = $17;
+ return ($$023|0);
+}
+function _GNUNET_TIME_get_offset() {
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ tempRet0 = (0);
+ return 0;
+}
+function _GNUNET_TIME_relative_get_forever_() {
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ tempRet0 = (-1);
+ return -1;
+}
+function _GNUNET_TIME_absolute_get() {
+ 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, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $0 = sp;
+ (_gettimeofday(($0|0),(0|0))|0);
+ $1 = HEAP32[$0>>2]|0;
+ $2 = ($1|0)<(0);
+ $3 = $2 << 31 >> 31;
+ $4 = (___muldi3(($1|0),($3|0),1000000,0)|0);
+ $5 = tempRet0;
+ $6 = ((($0)) + 4|0);
+ $7 = HEAP32[$6>>2]|0;
+ $8 = ($7|0)<(0);
+ $9 = $8 << 31 >> 31;
+ $10 = (_i64Add(($4|0),($5|0),($7|0),($9|0))|0);
+ $11 = tempRet0;
+ $12 = (_i64Add(($10|0),($11|0),0,0)|0);
+ $13 = tempRet0;
+ tempRet0 = ($13);
+ STACKTOP = sp;return ($12|0);
+}
+function _GNUNET_TIME_absolute_get_duration($0) {
+ $0 = $0|0;
+ var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
+ var $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $1 = sp;
+ (_gettimeofday(($1|0),(0|0))|0);
+ $2 = HEAP32[$1>>2]|0;
+ $3 = ($2|0)<(0);
+ $4 = $3 << 31 >> 31;
+ $5 = (___muldi3(($2|0),($4|0),1000000,0)|0);
+ $6 = tempRet0;
+ $7 = ((($1)) + 4|0);
+ $8 = HEAP32[$7>>2]|0;
+ $9 = ($8|0)<(0);
+ $10 = $9 << 31 >> 31;
+ $11 = (_i64Add(($5|0),($6|0),($8|0),($10|0))|0);
+ $12 = tempRet0;
+ $13 = (_i64Add(($11|0),($12|0),0,0)|0);
+ $14 = tempRet0;
+ $15 = $0;
+ $16 = $15;
+ $17 = HEAP32[$16>>2]|0;
+ $18 = (($15) + 4)|0;
+ $19 = $18;
+ $20 = HEAP32[$19>>2]|0;
+ $21 = ($14>>>0)<($20>>>0);
+ $22 = ($13>>>0)<($17>>>0);
+ $23 = ($14|0)==($20|0);
+ $24 = $23 & $22;
+ $25 = $21 | $24;
+ $26 = (_i64Subtract(($13|0),($14|0),($17|0),($20|0))|0);
+ $27 = tempRet0;
+ $28 = $25 ? 0 : $26;
+ $29 = $25 ? 0 : $27;
+ tempRet0 = ($29);
+ STACKTOP = sp;return ($28|0);
+}
+function _GNUNET_htonll($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $2 = 0, $3 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $2 = (_htonl($0)|0);
+ $3 = (_htonl($1)|0);
+ tempRet0 = ($2);
+ return ($3|0);
+}
+function _GNUNET_ntohll($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $2 = 0, $3 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $2 = (_ntohl($0)|0);
+ $3 = (_ntohl($1)|0);
+ tempRet0 = ($2);
+ return ($3|0);
+}
+function _gcry_strerror($0) {
+ $0 = $0|0;
+ var $1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = (_gpg_strerror($0)|0);
+ return ($1|0);
+}
+function _gcry_check_version($0) {
+ $0 = $0|0;
+ var $1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = (__gcry_check_version($0)|0);
+ return ($1|0);
+}
+function _gcry_control($0,$varargs) {
+ $0 = $0|0;
+ $varargs = $varargs|0;
+ var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $spec$select$i$i = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $1 = sp;
+ HEAP32[$1>>2] = $varargs;
+ $2 = (__gcry_vcontrol($0,$1)|0);
+ $3 = ($2|0)==(0);
+ $4 = $2 & 65535;
+ $5 = $4 | 16777216;
+ $spec$select$i$i = $3 ? 0 : $5;
+ STACKTOP = sp;return ($spec$select$i$i|0);
+}
+function _gcry_sexp_new($0,$1,$2,$3) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $spec$select$i$i = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $4 = (__gcry_sexp_new($0,$1,$2,$3)|0);
+ $5 = ($4|0)==(0);
+ $6 = $4 & 65535;
+ $7 = $6 | 16777216;
+ $spec$select$i$i = $5 ? 0 : $7;
+ return ($spec$select$i$i|0);
+}
+function _gcry_sexp_build($0,$1,$2,$varargs) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $varargs = $varargs|0;
+ var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $spec$select$i$i = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $3 = sp;
+ HEAP32[$3>>2] = $varargs;
+ $4 = (__gcry_sexp_vbuild($0,$1,$2,$3)|0);
+ $5 = ($4|0)==(0);
+ $6 = $4 & 65535;
+ $7 = $6 | 16777216;
+ $spec$select$i$i = $5 ? 0 : $7;
+ STACKTOP = sp;return ($spec$select$i$i|0);
+}
+function _gcry_sexp_release($0) {
+ $0 = $0|0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ __gcry_sexp_release($0);
+ return;
+}
+function _gcry_sexp_sprint($0,$1,$2,$3) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ var $4 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $4 = (__gcry_sexp_sprint($0,$1,$2,$3)|0);
+ return ($4|0);
+}
+function _gcry_sexp_find_token($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $3 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $3 = (__gcry_sexp_find_token($0,$1,$2)|0);
+ return ($3|0);
+}
+function _gcry_sexp_cadr($0) {
+ $0 = $0|0;
+ var $1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = (__gcry_sexp_cadr($0)|0);
+ return ($1|0);
+}
+function _gcry_sexp_nth_mpi($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $3 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $3 = (__gcry_sexp_nth_mpi($0,$1,$2)|0);
+ return ($3|0);
+}
+function _gcry_mpi_new($0) {
+ $0 = $0|0;
+ var $1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = (__gcry_mpi_new($0)|0);
+ return ($1|0);
+}
+function _gcry_mpi_release($0) {
+ $0 = $0|0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ __gcry_mpi_release($0);
+ return;
+}
+function _gcry_mpi_cmp($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $2 = (__gcry_mpi_cmp($0,$1)|0);
+ return ($2|0);
+}
+function _gcry_mpi_scan($0,$1,$2,$3,$4) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $spec$select$i$i = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $5 = (__gcry_mpi_scan($0,$1,$2,$3,$4)|0);
+ $6 = ($5|0)==(0);
+ $7 = $5 & 65535;
+ $8 = $7 | 16777216;
+ $spec$select$i$i = $6 ? 0 : $8;
+ return ($spec$select$i$i|0);
+}
+function _gcry_mpi_print($0,$1,$2,$3,$4) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $spec$select$i$i = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $5 = (__gcry_mpi_print($0,$1,$2,$3,$4)|0);
+ $6 = ($5|0)==(0);
+ $7 = $5 & 65535;
+ $8 = $7 | 16777216;
+ $spec$select$i$i = $6 ? 0 : $8;
+ return ($spec$select$i$i|0);
+}
+function _gcry_mpi_mulm($0,$1,$2,$3) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ __gcry_mpi_mulm($0,$1,$2,$3);
+ return;
+}
+function _gcry_mpi_powm($0,$1,$2,$3) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ __gcry_mpi_powm($0,$1,$2,$3);
+ return;
+}
+function _gcry_mpi_gcd($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $3 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $3 = (__gcry_mpi_gcd($0,$1,$2)|0);
+ return ($3|0);
+}
+function _gcry_mpi_invm($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $3 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $3 = (__gcry_mpi_invm($0,$1,$2)|0);
+ return ($3|0);
+}
+function _gcry_mpi_point_new($0) {
+ $0 = $0|0;
+ var $1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = (__gcry_mpi_point_new($0)|0);
+ return ($1|0);
+}
+function _gcry_mpi_point_release($0) {
+ $0 = $0|0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ __gcry_mpi_point_release($0);
+ return;
+}
+function _gcry_mpi_ec_new($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $spec$select$i$i = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $3 = (__gcry_mpi_ec_new($0,$1,$2)|0);
+ $4 = ($3|0)==(0);
+ $5 = $3 & 65535;
+ $6 = $5 | 16777216;
+ $spec$select$i$i = $4 ? 0 : $6;
+ return ($spec$select$i$i|0);
+}
+function _gcry_mpi_ec_get_mpi($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $3 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $3 = (__gcry_mpi_ec_get_mpi($0,$1,$2)|0);
+ return ($3|0);
+}
+function _gcry_mpi_ec_get_point($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $3 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $3 = (__gcry_mpi_ec_get_point($0,$1,$2)|0);
+ return ($3|0);
+}
+function _gcry_mpi_ec_get_affine($0,$1,$2,$3) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ var $4 = 0, $5 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $4 = (__gcry_ctx_get_pointer($3,1)|0);
+ $5 = (__gcry_mpi_ec_get_affine($0,$1,$2,$4)|0);
+ return ($5|0);
+}
+function _gcry_mpi_ec_mul($0,$1,$2,$3) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ var $4 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $4 = (__gcry_ctx_get_pointer($3,1)|0);
+ __gcry_mpi_ec_mul_point($0,$1,$2,$4);
+ return;
+}
+function _gcry_mpi_get_nbits($0) {
+ $0 = $0|0;
+ var $1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = (__gcry_mpi_get_nbits($0)|0);
+ return ($1|0);
+}
+function _gcry_mpi_test_bit($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $2 = (__gcry_mpi_test_bit($0,$1)|0);
+ return ($2|0);
+}
+function _gcry_mpi_clear_highbit($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ __gcry_mpi_clear_highbit($0,$1);
+ return;
+}
+function _gcry_mpi_get_opaque($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $2 = (__gcry_mpi_get_opaque($0,$1)|0);
+ return ($2|0);
+}
+function _gcry_mpi_get_flag($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $2 = (__gcry_mpi_get_flag($0,$1)|0);
+ return ($2|0);
+}
+function _gcry_cipher_open($0,$1,$2,$3) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ var $$0 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $spec$select$i$i = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $4 = (__gcry_global_is_operational()|0);
+ $5 = ($4|0)==(0);
+ if ($5) {
+ HEAP32[$0>>2] = 0;
+ $$0 = 16777392;
+ return ($$0|0);
+ } else {
+ $6 = (__gcry_cipher_open($0,$1,$2,$3)|0);
+ $7 = ($6|0)==(0);
+ $8 = $6 & 65535;
+ $9 = $8 | 16777216;
+ $spec$select$i$i = $7 ? 0 : $9;
+ $$0 = $spec$select$i$i;
+ return ($$0|0);
+ }
+ return (0)|0;
+}
+function _gcry_cipher_close($0) {
+ $0 = $0|0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ __gcry_cipher_close($0);
+ return;
+}
+function _gcry_cipher_setkey($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$0 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $spec$select$i$i$i = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $3 = (__gcry_global_is_operational()|0);
+ $4 = ($3|0)==(0);
+ if ($4) {
+ $$0 = 16777392;
+ return ($$0|0);
+ }
+ $5 = (__gcry_cipher_setkey($0,$1,$2)|0);
+ $6 = ($5|0)==(0);
+ $7 = $5 & 65535;
+ $8 = $7 | 536870912;
+ $spec$select$i$i$i = $6 ? 0 : $8;
+ $$0 = $spec$select$i$i$i;
+ return ($$0|0);
+}
+function _gcry_cipher_setiv($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$0 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $spec$select$i$i$i = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $3 = (__gcry_global_is_operational()|0);
+ $4 = ($3|0)==(0);
+ if ($4) {
+ $$0 = 16777392;
+ return ($$0|0);
+ }
+ $5 = (__gcry_cipher_setiv($0,$1,$2)|0);
+ $6 = ($5|0)==(0);
+ $7 = $5 & 65535;
+ $8 = $7 | 536870912;
+ $spec$select$i$i$i = $6 ? 0 : $8;
+ $$0 = $spec$select$i$i$i;
+ return ($$0|0);
+}
+function _gcry_cipher_encrypt($0,$1,$2,$3,$4) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ var $$0 = 0, $10 = 0, $11 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $spec$select$i$i = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $5 = (__gcry_global_is_operational()|0);
+ $6 = ($5|0)==(0);
+ if (!($6)) {
+ $8 = (__gcry_cipher_encrypt($0,$1,$2,$3,$4)|0);
+ $9 = ($8|0)==(0);
+ $10 = $8 & 65535;
+ $11 = $10 | 16777216;
+ $spec$select$i$i = $9 ? 0 : $11;
+ $$0 = $spec$select$i$i;
+ return ($$0|0);
+ }
+ $7 = ($1|0)==(0|0);
+ if ($7) {
+ $$0 = 16777392;
+ return ($$0|0);
+ }
+ _memset(($1|0),66,($2|0))|0;
+ $$0 = 16777392;
+ return ($$0|0);
+}
+function _gcry_cipher_decrypt($0,$1,$2,$3,$4) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ var $$0 = 0, $10 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $spec$select$i$i = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $5 = (__gcry_global_is_operational()|0);
+ $6 = ($5|0)==(0);
+ if ($6) {
+ $$0 = 16777392;
+ return ($$0|0);
+ }
+ $7 = (__gcry_cipher_decrypt($0,$1,$2,$3,$4)|0);
+ $8 = ($7|0)==(0);
+ $9 = $7 & 65535;
+ $10 = $9 | 16777216;
+ $spec$select$i$i = $8 ? 0 : $10;
+ $$0 = $spec$select$i$i;
+ return ($$0|0);
+}
+function _gcry_pk_sign($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$0 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $spec$select$i$i = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $3 = (__gcry_global_is_operational()|0);
+ $4 = ($3|0)==(0);
+ if ($4) {
+ HEAP32[$0>>2] = 0;
+ $$0 = 16777392;
+ return ($$0|0);
+ } else {
+ $5 = (__gcry_pk_sign($0,$1,$2)|0);
+ $6 = ($5|0)==(0);
+ $7 = $5 & 65535;
+ $8 = $7 | 16777216;
+ $spec$select$i$i = $6 ? 0 : $8;
+ $$0 = $spec$select$i$i;
+ return ($$0|0);
+ }
+ return (0)|0;
+}
+function _gcry_pk_verify($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$0 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $spec$select$i$i = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $3 = (__gcry_global_is_operational()|0);
+ $4 = ($3|0)==(0);
+ if ($4) {
+ $$0 = 16777392;
+ return ($$0|0);
+ }
+ $5 = (__gcry_pk_verify($0,$1,$2)|0);
+ $6 = ($5|0)==(0);
+ $7 = $5 & 65535;
+ $8 = $7 | 16777216;
+ $spec$select$i$i = $6 ? 0 : $8;
+ $$0 = $spec$select$i$i;
+ return ($$0|0);
+}
+function _gcry_pk_testkey($0) {
+ $0 = $0|0;
+ var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $spec$select$i$i = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = (__gcry_global_is_operational()|0);
+ $2 = ($1|0)==(0);
+ if ($2) {
+ $$0 = 16777392;
+ return ($$0|0);
+ }
+ $3 = (__gcry_pk_testkey($0)|0);
+ $4 = ($3|0)==(0);
+ $5 = $3 & 65535;
+ $6 = $5 | 16777216;
+ $spec$select$i$i = $4 ? 0 : $6;
+ $$0 = $spec$select$i$i;
+ return ($$0|0);
+}
+function _gcry_pk_genkey($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $spec$select$i$i = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $2 = (__gcry_global_is_operational()|0);
+ $3 = ($2|0)==(0);
+ if ($3) {
+ HEAP32[$0>>2] = 0;
+ $$0 = 16777392;
+ return ($$0|0);
+ } else {
+ $4 = (__gcry_pk_genkey($0,$1)|0);
+ $5 = ($4|0)==(0);
+ $6 = $4 & 65535;
+ $7 = $6 | 16777216;
+ $spec$select$i$i = $5 ? 0 : $7;
+ $$0 = $spec$select$i$i;
+ return ($$0|0);
+ }
+ return (0)|0;
+}
+function _gcry_md_open($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$0 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $spec$select$i$i = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $3 = (__gcry_global_is_operational()|0);
+ $4 = ($3|0)==(0);
+ if ($4) {
+ HEAP32[$0>>2] = 0;
+ $$0 = 16777392;
+ return ($$0|0);
+ } else {
+ $5 = (__gcry_md_open($0,$1,$2)|0);
+ $6 = ($5|0)==(0);
+ $7 = $5 & 65535;
+ $8 = $7 | 16777216;
+ $spec$select$i$i = $6 ? 0 : $8;
+ $$0 = $spec$select$i$i;
+ return ($$0|0);
+ }
+ return (0)|0;
+}
+function _gcry_md_close($0) {
+ $0 = $0|0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ __gcry_md_close($0);
+ return;
+}
+function _gcry_md_reset($0) {
+ $0 = $0|0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ __gcry_md_reset($0);
+ return;
+}
+function _gcry_md_write($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $3 = 0, $4 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $3 = (__gcry_global_is_operational()|0);
+ $4 = ($3|0)==(0);
+ if ($4) {
+ return;
+ }
+ __gcry_md_write($0,$1,$2);
+ return;
+}
+function _gcry_md_read($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $2 = (__gcry_md_read($0,$1)|0);
+ return ($2|0);
+}
+function _gcry_md_hash_buffer($0,$1,$2,$3) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ var $4 = 0, $5 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $4 = (__gcry_global_is_operational()|0);
+ $5 = ($4|0)==(0);
+ if ($5) {
+ __gcry_fips_signal_error(43928,1175,43941,0,43961);
+ }
+ __gcry_md_hash_buffer($0,$1,$2,$3);
+ return;
+}
+function _gcry_md_get_algo($0) {
+ $0 = $0|0;
+ var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = (__gcry_global_is_operational()|0);
+ $2 = ($1|0)==(0);
+ if ($2) {
+ __gcry_fips_signal_error(43928,1198,43993,0,44010);
+ $$0 = 0;
+ return ($$0|0);
+ } else {
+ $3 = (__gcry_md_get_algo($0)|0);
+ $$0 = $3;
+ return ($$0|0);
+ }
+ return (0)|0;
+}
+function _gcry_md_get_algo_dlen($0) {
+ $0 = $0|0;
+ var $1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = (__gcry_md_get_algo_dlen($0)|0);
+ return ($1|0);
+}
+function _gcry_md_setkey($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$0 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $spec$select$i$i = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $3 = (__gcry_global_is_operational()|0);
+ $4 = ($3|0)==(0);
+ if ($4) {
+ $$0 = 16777392;
+ return ($$0|0);
+ }
+ $5 = (__gcry_md_setkey($0,$1,$2)|0);
+ $6 = ($5|0)==(0);
+ $7 = $5 & 65535;
+ $8 = $7 | 16777216;
+ $spec$select$i$i = $6 ? 0 : $8;
+ $$0 = $spec$select$i$i;
+ return ($$0|0);
+}
+function _gcry_randomize($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $3 = 0, $4 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $3 = (__gcry_global_is_operational()|0);
+ $4 = ($3|0)==(0);
+ if ($4) {
+ __gcry_fips_signal_error(43928,1287,44040,1,43961);
+ __gcry_fips_noreturn();
+ // unreachable;
+ } else {
+ __gcry_randomize($0,$1,$2);
+ return;
+ }
+}
+function _gcry_create_nonce($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $2 = 0, $3 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $2 = (__gcry_global_is_operational()|0);
+ $3 = ($2|0)==(0);
+ if ($3) {
+ __gcry_fips_signal_error(43928,1340,44055,1,43961);
+ __gcry_fips_noreturn();
+ // unreachable;
+ } else {
+ __gcry_create_nonce($0,$1);
+ return;
+ }
+}
+function _gcry_ctx_release($0) {
+ $0 = $0|0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ __gcry_ctx_release($0);
+ return;
+}
+function _gcry_set_progress_handler($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ __gcry_set_progress_handler($0,$1);
+ return;
+}
+function _gcry_set_allocation_handler($0,$1,$2,$3,$4) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ __gcry_set_allocation_handler($0,$1,$2,$3,$4);
+ return;
+}
+function _gcry_set_fatalerror_handler($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ __gcry_set_fatalerror_handler($0,$1);
+ return;
+}
+function _gcry_free($0) {
+ $0 = $0|0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ __gcry_free($0);
+ return;
+}
+function __gcry_gettext($0) {
+ $0 = $0|0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ return ($0|0);
+}
+function __gcry_set_fatalerror_handler($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ HEAP32[18080] = $1;
+ HEAP32[18081] = $0;
+ return;
+}
+function __gcry_fatal_error($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $2 = ($1|0)==(0|0);
+ if ($2) {
+ $3 = (_gpg_strerror($0)|0);
+ $$0 = $3;
+ } else {
+ $$0 = $1;
+ }
+ $4 = HEAP32[18081]|0;
+ $5 = ($4|0)==(0|0);
+ if (!($5)) {
+ $6 = (__gcry_fips_mode()|0);
+ $7 = ($6|0)==(0);
+ if ($7) {
+ $8 = HEAP32[18081]|0;
+ $9 = HEAP32[18080]|0;
+ FUNCTION_TABLE_viii[$8 & 127]($9,$0,$$0);
+ }
+ }
+ __gcry_fips_signal_error(44073,86,44080,1,$$0);
+ _write2stderr(44098);
+ _write2stderr($$0);
+ _write2stderr(44529);
+ __gcry_secmem_term();
+ _abort();
+ // unreachable;
+}
+function _write2stderr($0) {
+ $0 = $0|0;
+ var $1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = (_strlen($0)|0);
+ (_write(2,$0,$1)|0);
+ return;
+}
+function __gcry_set_log_verbosity($0) {
+ $0 = $0|0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ HEAP32[18082] = $0;
+ return;
+}
+function __gcry_log_verbosity($0) {
+ $0 = $0|0;
+ var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = HEAP32[18082]|0;
+ $2 = ($1|0)>=($0|0);
+ $3 = $2&1;
+ return ($3|0);
+}
+function __gcry_logv($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $vararg_buffer = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $vararg_buffer = sp;
+ switch ($0|0) {
+ case 30: case 20: case 10: case 0: {
+ break;
+ }
+ case 40: {
+ $3 = HEAP32[10138]|0;
+ (_fwrite(44113,7,1,$3)|0);
+ break;
+ }
+ case 50: {
+ $4 = HEAP32[10138]|0;
+ (_fwrite(44121,13,1,$4)|0);
+ break;
+ }
+ case 100: {
+ $5 = HEAP32[10138]|0;
+ (_fwrite(44135,5,1,$5)|0);
+ break;
+ }
+ default: {
+ $6 = HEAP32[10138]|0;
+ HEAP32[$vararg_buffer>>2] = $0;
+ (_fprintf($6,44141,$vararg_buffer)|0);
+ }
+ }
+ $7 = HEAP32[10138]|0;
+ (_vfprintf($7,$1,$2)|0);
+ switch ($0|0) {
+ case 40: case 50: {
+ __gcry_fips_signal_error(44073,140,44166,1,44177);
+ __gcry_secmem_term();
+ _abort();
+ // unreachable;
+ break;
+ }
+ default: {
+ STACKTOP = sp;return;
+ }
+ }
+}
+function __gcry_log($0,$1,$varargs) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $varargs = $varargs|0;
+ var $2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $2 = sp;
+ HEAP32[$2>>2] = $varargs;
+ __gcry_logv($0,$1,$2);
+ STACKTOP = sp;return;
+}
+function __gcry_bug($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $vararg_buffer = sp;
+ HEAP32[$vararg_buffer>>2] = $0;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = $1;
+ $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
+ HEAP32[$vararg_ptr2>>2] = $2;
+ __gcry_log(50,44207,$vararg_buffer);
+ _abort();
+ // unreachable;
+}
+function __gcry_assert_failed($0,$1,$2,$3) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ var $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $vararg_buffer = sp;
+ HEAP32[$vararg_buffer>>2] = $0;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = $1;
+ $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
+ HEAP32[$vararg_ptr2>>2] = $2;
+ $vararg_ptr3 = ((($vararg_buffer)) + 12|0);
+ HEAP32[$vararg_ptr3>>2] = $3;
+ __gcry_log(50,44237,$vararg_buffer);
+ _abort();
+ // unreachable;
+}
+function __gcry_log_info($0,$varargs) {
+ $0 = $0|0;
+ $varargs = $varargs|0;
+ var $1 = 0, $2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $1 = sp;
+ HEAP32[$1>>2] = $varargs;
+ $2 = HEAP32[10138]|0;
+ (_vfprintf($2,$0,$1)|0);
+ STACKTOP = sp;return;
+}
+function __gcry_log_info_with_dummy_fp($0,$1,$varargs) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $varargs = $varargs|0;
+ var $2 = 0, $3 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $2 = sp;
+ HEAP32[$2>>2] = $varargs;
+ $3 = HEAP32[10138]|0;
+ (_vfprintf($3,$1,$2)|0);
+ STACKTOP = sp;return 0;
+}
+function __gcry_log_error($0,$varargs) {
+ $0 = $0|0;
+ $varargs = $varargs|0;
+ var $1 = 0, $2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $1 = sp;
+ HEAP32[$1>>2] = $varargs;
+ $2 = HEAP32[10138]|0;
+ (_vfprintf($2,$0,$1)|0);
+ STACKTOP = sp;return;
+}
+function __gcry_log_fatal($0,$varargs) {
+ $0 = $0|0;
+ $varargs = $varargs|0;
+ var $1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $1 = sp;
+ HEAP32[$1>>2] = $varargs;
+ __gcry_logv(40,$0,$1);
+ _abort();
+ // unreachable;
+}
+function __gcry_log_bug($0,$varargs) {
+ $0 = $0|0;
+ $varargs = $varargs|0;
+ var $1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $1 = sp;
+ HEAP32[$1>>2] = $varargs;
+ __gcry_logv(50,$0,$1);
+ _abort();
+ // unreachable;
+}
+function __gcry_log_debug($0,$varargs) {
+ $0 = $0|0;
+ $varargs = $varargs|0;
+ var $1 = 0, $2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $1 = sp;
+ HEAP32[$1>>2] = $varargs;
+ $2 = HEAP32[10138]|0;
+ (_fwrite(44135,5,1,$2)|0);
+ (_vfprintf($2,$0,$1)|0);
+ STACKTOP = sp;return;
+}
+function __gcry_log_printf($0,$varargs) {
+ $0 = $0|0;
+ $varargs = $varargs|0;
+ var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $1 = sp;
+ $2 = ($0|0)==(0|0);
+ if ($2) {
+ STACKTOP = sp;return;
+ }
+ HEAP32[$1>>2] = $varargs;
+ $3 = HEAP32[10138]|0;
+ (_vfprintf($3,$0,$1)|0);
+ STACKTOP = sp;return;
+}
+function __gcry_log_printhex($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ _do_printhex($0,44271,$1,$2);
+ return;
+}
+function _do_printhex($0,$1,$2,$3) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ var $$02834 = 0, $$029 = 0, $$0313237 = 0, $$035 = 0, $$035$us = 0, $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0;
+ var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0;
+ var $vararg_buffer = 0, $vararg_buffer11 = 0, $vararg_buffer14 = 0, $vararg_buffer16 = 0, $vararg_buffer2 = 0, $vararg_buffer22 = 0, $vararg_buffer4 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0, $vararg_ptr19 = 0, $vararg_ptr20 = 0, $vararg_ptr21 = 0, $vararg_ptr7 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0);
+ $vararg_buffer22 = sp + 64|0;
+ $vararg_buffer16 = sp + 48|0;
+ $vararg_buffer14 = sp + 40|0;
+ $vararg_buffer11 = sp + 32|0;
+ $vararg_buffer8 = sp + 24|0;
+ $vararg_buffer4 = sp + 16|0;
+ $vararg_buffer2 = sp + 8|0;
+ $vararg_buffer = sp;
+ $4 = ($0|0)!=(0|0);
+ if ($4) {
+ $5 = HEAP8[$0>>0]|0;
+ $6 = ($5<<24>>24)==(0);
+ if ($6) {
+ $$029 = 0;
+ label = 5;
+ } else {
+ HEAP32[$vararg_buffer>>2] = $0;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = $1;
+ __gcry_log_debug(44273,$vararg_buffer);
+ $7 = ((($1)) + 1|0);
+ $8 = HEAP8[$7>>0]|0;
+ $9 = ($8<<24>>24)==(91);
+ $10 = ($3|0)!=(0);
+ $or$cond = $10 & $9;
+ $11 = ($2|0)!=(0|0);
+ $or$cond3 = $11 & $or$cond;
+ if ($or$cond3) {
+ __gcry_log_printf(44529,$vararg_buffer2);
+ $12 = (_strlen($0)|0);
+ HEAP32[$vararg_buffer4>>2] = $12;
+ $vararg_ptr7 = ((($vararg_buffer4)) + 4|0);
+ HEAP32[$vararg_ptr7>>2] = 73338;
+ __gcry_log_debug(44279,$vararg_buffer4);
+ $13 = (($3) + -1)|0;
+ $$0313237 = 44271;$34 = $13;
+ label = 9;
+ } else {
+ $$029 = 1;
+ label = 5;
+ }
+ }
+ } else {
+ $$029 = 0;
+ label = 5;
+ }
+ if ((label|0) == 5) {
+ $14 = ($3|0)==(0);
+ if (!($14)) {
+ $15 = (($3) + -1)|0;
+ $16 = ($$029|0)==(0);
+ if ($16) {
+ $$035$us = $2;$21 = $15;
+ while(1) {
+ $17 = HEAP8[$$035$us>>0]|0;
+ $18 = $17&255;
+ HEAP32[$vararg_buffer8>>2] = $18;
+ __gcry_log_printf(44285,$vararg_buffer8);
+ $19 = ((($$035$us)) + 1|0);
+ $20 = (($21) + -1)|0;
+ $22 = ($21|0)==(0);
+ if ($22) {
+ break;
+ } else {
+ $$035$us = $19;$21 = $20;
+ }
+ }
+ } else {
+ $$0313237 = $1;$34 = $15;
+ label = 9;
+ }
+ }
+ }
+ if ((label|0) == 9) {
+ $$02834 = 0;$$035 = $2;$28 = $34;
+ while(1) {
+ $23 = HEAP8[$$035>>0]|0;
+ $24 = $23&255;
+ HEAP32[$vararg_buffer11>>2] = $24;
+ __gcry_log_printf(44285,$vararg_buffer11);
+ $25 = (($$02834) + 1)|0;
+ $26 = ($25|0)==(32);
+ $27 = ($28|0)!=(0);
+ $or$cond5 = $27 & $26;
+ if ($or$cond5) {
+ __gcry_log_printf(44290,$vararg_buffer14);
+ $29 = (_strlen($0)|0);
+ $30 = (_strlen($$0313237)|0);
+ HEAP32[$vararg_buffer16>>2] = $29;
+ $vararg_ptr19 = ((($vararg_buffer16)) + 4|0);
+ HEAP32[$vararg_ptr19>>2] = 73338;
+ $vararg_ptr20 = ((($vararg_buffer16)) + 8|0);
+ HEAP32[$vararg_ptr20>>2] = $30;
+ $vararg_ptr21 = ((($vararg_buffer16)) + 12|0);
+ HEAP32[$vararg_ptr21>>2] = 73338;
+ __gcry_log_debug(44294,$vararg_buffer16);
+ $$1 = 0;
+ } else {
+ $$1 = $25;
+ }
+ $31 = ((($$035)) + 1|0);
+ $32 = (($28) + -1)|0;
+ $33 = ($28|0)==(0);
+ if ($33) {
+ break;
+ } else {
+ $$02834 = $$1;$$035 = $31;$28 = $32;
+ }
+ }
+ }
+ if (!($4)) {
+ STACKTOP = sp;return;
+ }
+ __gcry_log_printf(44529,$vararg_buffer22);
+ STACKTOP = sp;return;
+}
+function __gcry_log_printmpi($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
+ var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer11 = 0, $vararg_buffer2 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, $vararg_ptr1 = 0, $vararg_ptr10 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0);
+ $vararg_buffer11 = sp + 64|0;
+ $vararg_buffer7 = sp + 56|0;
+ $vararg_buffer4 = sp + 48|0;
+ $vararg_buffer2 = sp + 40|0;
+ $vararg_buffer = sp + 32|0;
+ $2 = sp + 76|0;
+ $3 = sp + 72|0;
+ $4 = sp + 68|0;
+ $5 = sp;
+ $6 = ($1|0)==(0|0);
+ if ($6) {
+ $7 = ($0|0)==(0|0);
+ $8 = $7 ? 44271 : $0;
+ $9 = HEAP8[$8>>0]|0;
+ $10 = ($9<<24>>24)==(0);
+ if (!($10)) {
+ HEAP32[$vararg_buffer>>2] = $8;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 44302;
+ __gcry_log_debug(44273,$vararg_buffer);
+ }
+ __gcry_log_printf(44529,$vararg_buffer2);
+ STACKTOP = sp;return;
+ }
+ $11 = ((($1)) + 12|0);
+ $12 = HEAP32[$11>>2]|0;
+ $13 = $12 & 4;
+ $14 = ($13|0)==(0);
+ if (!($14)) {
+ $15 = (__gcry_mpi_get_opaque($1,$4)|0);
+ $16 = HEAP32[$4>>2]|0;
+ HEAP32[$vararg_buffer4>>2] = $16;
+ (_snprintf($5,30,44310,$vararg_buffer4)|0);
+ $17 = ($0|0)==(0|0);
+ $18 = $17 ? 44271 : $0;
+ $19 = HEAP32[$4>>2]|0;
+ $20 = (($19) + 7)|0;
+ $21 = $20 >>> 3;
+ _do_printhex($18,$5,$15,$21);
+ STACKTOP = sp;return;
+ }
+ $22 = (__gcry_mpi_get_buffer($1,0,$2,$3)|0);
+ $23 = ($22|0)==(0|0);
+ if ($23) {
+ $24 = ($0|0)==(0|0);
+ $25 = $24 ? 44271 : $0;
+ $26 = HEAP8[$25>>0]|0;
+ $27 = ($26<<24>>24)==(0);
+ if (!($27)) {
+ HEAP32[$vararg_buffer7>>2] = $25;
+ $vararg_ptr10 = ((($vararg_buffer7)) + 4|0);
+ HEAP32[$vararg_ptr10>>2] = 44320;
+ __gcry_log_debug(44273,$vararg_buffer7);
+ }
+ __gcry_log_printf(44529,$vararg_buffer11);
+ STACKTOP = sp;return;
+ }
+ $28 = HEAP32[$2>>2]|0;
+ $29 = ($28|0)==(0);
+ $30 = HEAP32[$3>>2]|0;
+ $31 = ($30|0)==(0);
+ $32 = $31 ? 44335 : 44337;
+ if ($29) {
+ _do_printhex($0,$32,73338,1);
+ } else {
+ _do_printhex($0,$32,$22,$28);
+ }
+ __gcry_free($22);
+ STACKTOP = sp;return;
+}
+function ___gcry_burn_stack($0) {
+ $0 = $0|0;
+ var $$1 = 0, $$135 = 0, $$alloca_mul = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = ($0|0)==(0);
+ $2 = $1&1;
+ $3 = (($0) + 63)|0;
+ $4 = (($3) + ($2))|0;
+ $5 = $4 & -64;
+ $$alloca_mul = $5;
+ $6 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul)|0)+15)&-16)|0);;
+ $7 = ($5|0)==(0);
+ if ($7) {
+ STACKTOP = sp;return;
+ }
+ $$1 = $6;$$135 = $5;
+ while(1) {
+ $8 = $$1;
+ $9 = $8;
+ HEAP32[$9>>2] = 0;
+ $10 = (($8) + 4)|0;
+ $11 = $10;
+ HEAP32[$11>>2] = 0;
+ $12 = (($$135) + -8)|0;
+ $13 = ((($$1)) + 8|0);
+ $14 = ($12|0)==(0);
+ if ($14) {
+ break;
+ } else {
+ $$1 = $13;$$135 = $12;
+ }
+ }
+ STACKTOP = sp;return;
+}
+function ___gcry_burn_stack_dummy() {
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ return;
+}
+function __gcry_divide_by_zero() {
+ var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ _gpg_err_set_errno(33);
+ $0 = (___errno_location()|0);
+ $1 = HEAP32[$0>>2]|0;
+ $2 = (_gpg_err_code_from_errno($1)|0);
+ __gcry_fatal_error($2,44339);
+ // unreachable;
+}
+function __gcry_global_is_operational() {
+ var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = HEAP32[18083]|0;
+ $1 = ($0|0)==(0);
+ if ($1) {
+ _global_init();
+ }
+ $2 = (__gcry_fips_is_operational()|0);
+ return ($2|0);
+}
+function _global_init() {
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = HEAP32[18083]|0;
+ $1 = ($0|0)==(0);
+ if (!($1)) {
+ return;
+ }
+ HEAP32[18083] = 1;
+ __gcry_set_preferred_rng_type(0);
+ $2 = HEAP32[18084]|0;
+ __gcry_initialize_fips_mode($2);
+ __gcry_detect_hw_features();
+ $3 = (__gcry_cipher_init()|0);
+ $4 = ($3|0)==(0);
+ if ($4) {
+ $5 = (__gcry_md_init()|0);
+ $6 = ($5|0)==(0);
+ if ($6) {
+ $7 = (__gcry_pk_init()|0);
+ $8 = ($7|0)==(0);
+ if ($8) {
+ $9 = (__gcry_primegen_init()|0);
+ $10 = ($9|0)==(0);
+ if ($10) {
+ $11 = (__gcry_secmem_module_init()|0);
+ $12 = ($11|0)==(0);
+ if ($12) {
+ $13 = (__gcry_mpi_init()|0);
+ $14 = ($13|0)==(0);
+ if ($14) {
+ return;
+ }
+ }
+ }
+ }
+ }
+ }
+ __gcry_bug(44354,123,44363);
+ // unreachable;
+}
+function __gcry_check_version($0) {
+ $0 = $0|0;
+ var $$0 = 0, $$01217$i$i29 = 0, $$01217$i44 = 0, $$01217$i59 = 0, $$018$i$i28 = 0, $$018$i43 = 0, $$018$i58 = 0, $$096 = 0, $$194 = 0, $$2 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0;
+ var $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0;
+ var $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0;
+ var $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $isdigit$i$i31 = 0, $isdigit$i46 = 0, $isdigit$i61 = 0, $isdigit14$i$i = 0, $isdigit14$i37 = 0, $isdigit14$i52 = 0, $isdigit16$i$i = 0, $isdigit16$i39 = 0, $isdigit16$i54 = 0, $isdigittmp$i$i30 = 0, $isdigittmp$i45 = 0, $isdigittmp$i60 = 0, $isdigittmp13$i$i = 0, $isdigittmp13$i36 = 0;
+ var $isdigittmp13$i51 = 0, $isdigittmp15$i$i = 0, $isdigittmp15$i38 = 0, $isdigittmp15$i53 = 0, $isdigittmp19$i$i27 = 0, $isdigittmp19$i42 = 0, $isdigittmp19$i57 = 0, $or$cond108 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = ($0|0)==(0|0);
+ if ($1) {
+ _global_init();
+ $$0 = 44375;
+ return ($$0|0);
+ }
+ $2 = HEAP8[$0>>0]|0;
+ $3 = ($2<<24>>24)==(1);
+ if ($3) {
+ $4 = ((($0)) + 1|0);
+ $5 = HEAP8[$4>>0]|0;
+ $6 = ($5<<24>>24)==(1);
+ if ($6) {
+ $7 = (__gcry_compat_identification()|0);
+ $$0 = $7;
+ return ($$0|0);
+ }
+ }
+ _global_init();
+ $8 = HEAP8[$0>>0]|0;
+ $9 = ($8<<24>>24)==(48);
+ if ($9) {
+ $10 = ((($0)) + 1|0);
+ $11 = HEAP8[$10>>0]|0;
+ $12 = $11 << 24 >> 24;
+ $isdigittmp13$i$i = (($12) + -48)|0;
+ $isdigit14$i$i = ($isdigittmp13$i$i>>>0)<(10);
+ if ($isdigit14$i$i) {
+ $$0 = 0;
+ return ($$0|0);
+ }
+ }
+ $13 = $8 << 24 >> 24;
+ $isdigittmp15$i$i = (($13) + -48)|0;
+ $isdigit16$i$i = ($isdigittmp15$i$i>>>0)<(10);
+ if ($isdigit16$i$i) {
+ $$01217$i$i29 = $0;$$018$i$i28 = 0;$isdigittmp19$i$i27 = $isdigittmp15$i$i;
+ while(1) {
+ $14 = ($$018$i$i28*10)|0;
+ $15 = (($14) + ($isdigittmp19$i$i27))|0;
+ $16 = ((($$01217$i$i29)) + 1|0);
+ $17 = HEAP8[$16>>0]|0;
+ $18 = $17 << 24 >> 24;
+ $isdigittmp$i$i30 = (($18) + -48)|0;
+ $isdigit$i$i31 = ($isdigittmp$i$i30>>>0)<(10);
+ if ($isdigit$i$i31) {
+ $$01217$i$i29 = $16;$$018$i$i28 = $15;$isdigittmp19$i$i27 = $isdigittmp$i$i30;
+ } else {
+ break;
+ }
+ }
+ $19 = ($15|0)<(0);
+ if ($19) {
+ $$0 = 0;
+ return ($$0|0);
+ } else {
+ $$096 = $15;$21 = $17;$23 = $16;
+ }
+ } else {
+ $$096 = 0;$21 = $8;$23 = $0;
+ }
+ $20 = ($21<<24>>24)==(46);
+ if (!($20)) {
+ $$0 = 0;
+ return ($$0|0);
+ }
+ $22 = ((($23)) + 1|0);
+ $24 = HEAP8[$22>>0]|0;
+ $25 = ($24<<24>>24)==(48);
+ if ($25) {
+ $26 = ((($23)) + 2|0);
+ $27 = HEAP8[$26>>0]|0;
+ $28 = $27 << 24 >> 24;
+ $isdigittmp13$i36 = (($28) + -48)|0;
+ $isdigit14$i37 = ($isdigittmp13$i36>>>0)<(10);
+ if ($isdigit14$i37) {
+ $$0 = 0;
+ return ($$0|0);
+ }
+ }
+ $29 = $24 << 24 >> 24;
+ $isdigittmp15$i38 = (($29) + -48)|0;
+ $isdigit16$i39 = ($isdigittmp15$i38>>>0)<(10);
+ if ($isdigit16$i39) {
+ $$01217$i44 = $22;$$018$i43 = 0;$isdigittmp19$i42 = $isdigittmp15$i38;
+ while(1) {
+ $30 = ($$018$i43*10)|0;
+ $31 = (($30) + ($isdigittmp19$i42))|0;
+ $32 = ((($$01217$i44)) + 1|0);
+ $33 = HEAP8[$32>>0]|0;
+ $34 = $33 << 24 >> 24;
+ $isdigittmp$i45 = (($34) + -48)|0;
+ $isdigit$i46 = ($isdigittmp$i45>>>0)<(10);
+ if ($isdigit$i46) {
+ $$01217$i44 = $32;$$018$i43 = $31;$isdigittmp19$i42 = $isdigittmp$i45;
+ } else {
+ break;
+ }
+ }
+ $35 = ($31|0)<(0);
+ if ($35) {
+ $$0 = 0;
+ return ($$0|0);
+ } else {
+ $$194 = $31;$37 = $33;$39 = $32;
+ }
+ } else {
+ $$194 = 0;$37 = $24;$39 = $22;
+ }
+ $36 = ($37<<24>>24)==(46);
+ if (!($36)) {
+ $$0 = 0;
+ return ($$0|0);
+ }
+ $38 = ((($39)) + 1|0);
+ $40 = HEAP8[$38>>0]|0;
+ $41 = ($40<<24>>24)==(48);
+ if ($41) {
+ $42 = ((($39)) + 2|0);
+ $43 = HEAP8[$42>>0]|0;
+ $44 = $43 << 24 >> 24;
+ $isdigittmp13$i51 = (($44) + -48)|0;
+ $isdigit14$i52 = ($isdigittmp13$i51>>>0)<(10);
+ if ($isdigit14$i52) {
+ $$0 = 0;
+ return ($$0|0);
+ }
+ }
+ $45 = $40 << 24 >> 24;
+ $isdigittmp15$i53 = (($45) + -48)|0;
+ $isdigit16$i54 = ($isdigittmp15$i53>>>0)<(10);
+ if ($isdigit16$i54) {
+ $$01217$i59 = $38;$$018$i58 = 0;$isdigittmp19$i57 = $isdigittmp15$i53;
+ while(1) {
+ $46 = ($$018$i58*10)|0;
+ $47 = (($46) + ($isdigittmp19$i57))|0;
+ $48 = ((($$01217$i59)) + 1|0);
+ $49 = HEAP8[$48>>0]|0;
+ $50 = $49 << 24 >> 24;
+ $isdigittmp$i60 = (($50) + -48)|0;
+ $isdigit$i61 = ($isdigittmp$i60>>>0)<(10);
+ if ($isdigit$i61) {
+ $$01217$i59 = $48;$$018$i58 = $47;$isdigittmp19$i57 = $isdigittmp$i60;
+ } else {
+ break;
+ }
+ }
+ $51 = ($47|0)<(0);
+ if ($51) {
+ $$0 = 0;
+ return ($$0|0);
+ } else {
+ $$2 = $47;
+ }
+ } else {
+ $$2 = 0;
+ }
+ $52 = ($$096|0)<(1);
+ if ($52) {
+ $$0 = 44375;
+ return ($$0|0);
+ }
+ $53 = ($$096|0)==(1);
+ if ($53) {
+ $54 = ($$194|0)<(7);
+ if ($54) {
+ $$0 = 44375;
+ return ($$0|0);
+ }
+ $55 = ($$194|0)==(7);
+ $56 = ($$2|0)==(0);
+ $or$cond108 = $55 & $56;
+ if ($or$cond108) {
+ $$0 = 44375;
+ return ($$0|0);
+ }
+ }
+ $$0 = 0;
+ return ($$0|0);
+}
+function __gcry_vcontrol($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $$0$i = 0, $$03536$i = 0, $$2 = 0, $$lobit = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0;
+ var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0;
+ var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0;
+ var $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0;
+ var $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0;
+ var $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0;
+ var $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0;
+ var $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0;
+ var $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0;
+ var $259 = 0, $26 = 0, $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;
+ var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0;
+ var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0;
+ var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $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;
+ var $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $arglist_current = 0, $arglist_current101 = 0, $arglist_current104 = 0, $arglist_current107 = 0, $arglist_current11 = 0, $arglist_current110 = 0, $arglist_current14 = 0, $arglist_current17 = 0, $arglist_current2 = 0, $arglist_current20 = 0, $arglist_current5 = 0, $arglist_current65 = 0, $arglist_current68 = 0, $arglist_current71 = 0, $arglist_current74 = 0;
+ var $arglist_current77 = 0, $arglist_current8 = 0, $arglist_current80 = 0, $arglist_current83 = 0, $arglist_current86 = 0, $arglist_current89 = 0, $arglist_current92 = 0, $arglist_current95 = 0, $arglist_current98 = 0, $arglist_next = 0, $arglist_next102 = 0, $arglist_next105 = 0, $arglist_next108 = 0, $arglist_next111 = 0, $arglist_next12 = 0, $arglist_next15 = 0, $arglist_next18 = 0, $arglist_next21 = 0, $arglist_next3 = 0, $arglist_next6 = 0;
+ var $arglist_next66 = 0, $arglist_next69 = 0, $arglist_next72 = 0, $arglist_next75 = 0, $arglist_next78 = 0, $arglist_next81 = 0, $arglist_next84 = 0, $arglist_next87 = 0, $arglist_next9 = 0, $arglist_next90 = 0, $arglist_next93 = 0, $arglist_next96 = 0, $arglist_next99 = 0, $expanded = 0, $expanded112 = 0, $expanded114 = 0, $expanded115 = 0, $expanded116 = 0, $expanded118 = 0, $expanded119 = 0;
+ var $expanded121 = 0, $expanded122 = 0, $expanded123 = 0, $expanded125 = 0, $expanded126 = 0, $expanded128 = 0, $expanded129 = 0, $expanded130 = 0, $expanded132 = 0, $expanded133 = 0, $expanded135 = 0, $expanded136 = 0, $expanded137 = 0, $expanded139 = 0, $expanded140 = 0, $expanded142 = 0, $expanded143 = 0, $expanded144 = 0, $expanded146 = 0, $expanded147 = 0;
+ var $expanded149 = 0, $expanded150 = 0, $expanded151 = 0, $expanded153 = 0, $expanded154 = 0, $expanded156 = 0, $expanded157 = 0, $expanded158 = 0, $expanded160 = 0, $expanded161 = 0, $expanded163 = 0, $expanded164 = 0, $expanded165 = 0, $expanded167 = 0, $expanded168 = 0, $expanded170 = 0, $expanded171 = 0, $expanded172 = 0, $expanded174 = 0, $expanded175 = 0;
+ var $expanded177 = 0, $expanded178 = 0, $expanded179 = 0, $expanded181 = 0, $expanded182 = 0, $expanded184 = 0, $expanded185 = 0, $expanded186 = 0, $expanded188 = 0, $expanded189 = 0, $expanded191 = 0, $expanded192 = 0, $expanded193 = 0, $expanded195 = 0, $expanded196 = 0, $expanded198 = 0, $expanded199 = 0, $expanded200 = 0, $expanded202 = 0, $expanded203 = 0;
+ var $expanded205 = 0, $expanded206 = 0, $expanded207 = 0, $expanded209 = 0, $expanded210 = 0, $expanded212 = 0, $expanded213 = 0, $expanded214 = 0, $expanded216 = 0, $expanded217 = 0, $expanded219 = 0, $expanded220 = 0, $expanded221 = 0, $expanded223 = 0, $expanded224 = 0, $expanded226 = 0, $expanded227 = 0, $expanded228 = 0, $expanded230 = 0, $expanded231 = 0;
+ var $expanded233 = 0, $expanded234 = 0, $expanded235 = 0, $expanded237 = 0, $expanded238 = 0, $expanded240 = 0, $expanded241 = 0, $expanded242 = 0, $expanded244 = 0, $expanded245 = 0, $expanded247 = 0, $expanded248 = 0, $expanded249 = 0, $expanded251 = 0, $expanded252 = 0, $expanded254 = 0, $expanded255 = 0, $expanded256 = 0, $expanded258 = 0, $expanded259 = 0;
+ var $expanded261 = 0, $expanded262 = 0, $expanded263 = 0, $expanded265 = 0, $expanded266 = 0, $expanded268 = 0, $expanded269 = 0, $expanded270 = 0, $expanded272 = 0, $expanded273 = 0, $expanded275 = 0, $expanded276 = 0, $expanded277 = 0, $spec$select = 0, $spec$select105 = 0, $spec$select106 = 0, $spec$select107 = 0, $vararg_buffer = 0, $vararg_buffer22 = 0, $vararg_buffer26 = 0;
+ var $vararg_buffer30 = 0, $vararg_buffer34 = 0, $vararg_buffer37 = 0, $vararg_buffer40 = 0, $vararg_buffer44 = 0, $vararg_buffer47 = 0, $vararg_buffer51 = 0, $vararg_buffer54 = 0, $vararg_buffer59 = 0, $vararg_ptr57 = 0, $vararg_ptr62 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0);
+ $vararg_buffer59 = sp + 88|0;
+ $vararg_buffer54 = sp + 80|0;
+ $vararg_buffer51 = sp + 72|0;
+ $vararg_buffer47 = sp + 64|0;
+ $vararg_buffer44 = sp + 56|0;
+ $vararg_buffer40 = sp + 48|0;
+ $vararg_buffer37 = sp + 40|0;
+ $vararg_buffer34 = sp + 32|0;
+ $vararg_buffer30 = sp + 24|0;
+ $vararg_buffer26 = sp + 16|0;
+ $vararg_buffer22 = sp + 8|0;
+ $vararg_buffer = sp;
+ $2 = sp + 96|0;
+ do {
+ switch ($0|0) {
+ case 31: {
+ __gcry_private_enable_m_guard();
+ $$2 = 0;
+ STACKTOP = sp;return ($$2|0);
+ break;
+ }
+ case 44: {
+ __gcry_set_preferred_rng_type(0);
+ __gcry_enable_quick_random_gen();
+ $$2 = 0;
+ STACKTOP = sp;return ($$2|0);
+ break;
+ }
+ case 51: {
+ $3 = (__gcry_random_is_faked()|0);
+ $4 = ($3|0)!=(0);
+ $spec$select = $4&1;
+ $$2 = $spec$select;
+ STACKTOP = sp;return ($$2|0);
+ break;
+ }
+ case 13: {
+ __gcry_random_dump_stats();
+ $$2 = 0;
+ STACKTOP = sp;return ($$2|0);
+ break;
+ }
+ case 14: {
+ __gcry_secmem_dump_stats();
+ $$2 = 0;
+ STACKTOP = sp;return ($$2|0);
+ break;
+ }
+ case 30: {
+ _global_init();
+ __gcry_secmem_init(0);
+ $$2 = 0;
+ STACKTOP = sp;return ($$2|0);
+ break;
+ }
+ case 37: {
+ _global_init();
+ HEAP32[18085] = 1;
+ $$2 = 0;
+ STACKTOP = sp;return ($$2|0);
+ break;
+ }
+ case 24: {
+ _global_init();
+ $arglist_current = HEAP32[$1>>2]|0;
+ $5 = $arglist_current;
+ $6 = ((0) + 4|0);
+ $expanded112 = $6;
+ $expanded = (($expanded112) - 1)|0;
+ $7 = (($5) + ($expanded))|0;
+ $8 = ((0) + 4|0);
+ $expanded116 = $8;
+ $expanded115 = (($expanded116) - 1)|0;
+ $expanded114 = $expanded115 ^ -1;
+ $9 = $7 & $expanded114;
+ $10 = $9;
+ $11 = HEAP32[$10>>2]|0;
+ $arglist_next = ((($10)) + 4|0);
+ HEAP32[$1>>2] = $arglist_next;
+ __gcry_secmem_init($11);
+ $12 = (__gcry_secmem_get_flags()|0);
+ $13 = $12 >>> 2;
+ $$lobit = $13 & 1;
+ $$2 = $$lobit;
+ STACKTOP = sp;return ($$2|0);
+ break;
+ }
+ case 25: {
+ _global_init();
+ __gcry_secmem_term();
+ $$2 = 0;
+ STACKTOP = sp;return ($$2|0);
+ break;
+ }
+ case 27: {
+ __gcry_set_preferred_rng_type(0);
+ $14 = (__gcry_secmem_get_flags()|0);
+ $15 = $14 | 1;
+ __gcry_secmem_set_flags($15);
+ $$2 = 0;
+ STACKTOP = sp;return ($$2|0);
+ break;
+ }
+ case 28: {
+ __gcry_set_preferred_rng_type(0);
+ $16 = (__gcry_secmem_get_flags()|0);
+ $17 = $16 | 2;
+ __gcry_secmem_set_flags($17);
+ $$2 = 0;
+ STACKTOP = sp;return ($$2|0);
+ break;
+ }
+ case 29: {
+ __gcry_set_preferred_rng_type(0);
+ $18 = (__gcry_secmem_get_flags()|0);
+ $19 = $18 & -3;
+ __gcry_secmem_set_flags($19);
+ $$2 = 0;
+ STACKTOP = sp;return ($$2|0);
+ break;
+ }
+ case 22: {
+ _global_init();
+ __gcry_secure_random_alloc();
+ $$2 = 0;
+ STACKTOP = sp;return ($$2|0);
+ break;
+ }
+ case 45: {
+ __gcry_set_preferred_rng_type(0);
+ $arglist_current2 = HEAP32[$1>>2]|0;
+ $20 = $arglist_current2;
+ $21 = ((0) + 4|0);
+ $expanded119 = $21;
+ $expanded118 = (($expanded119) - 1)|0;
+ $22 = (($20) + ($expanded118))|0;
+ $23 = ((0) + 4|0);
+ $expanded123 = $23;
+ $expanded122 = (($expanded123) - 1)|0;
+ $expanded121 = $expanded122 ^ -1;
+ $24 = $22 & $expanded121;
+ $25 = $24;
+ $26 = HEAP32[$25>>2]|0;
+ $arglist_next3 = ((($25)) + 4|0);
+ HEAP32[$1>>2] = $arglist_next3;
+ __gcry_set_random_seed_file($26);
+ $$2 = 0;
+ STACKTOP = sp;return ($$2|0);
+ break;
+ }
+ case 46: {
+ __gcry_set_preferred_rng_type(0);
+ $27 = HEAP32[18083]|0;
+ $28 = ($27|0)==(0);
+ if ($28) {
+ _global_init();
+ }
+ $29 = (__gcry_fips_is_operational()|0);
+ $30 = ($29|0)==(0);
+ if ($30) {
+ $$2 = 0;
+ STACKTOP = sp;return ($$2|0);
+ }
+ __gcry_update_random_seed_file();
+ $$2 = 0;
+ STACKTOP = sp;return ($$2|0);
+ break;
+ }
+ case 19: {
+ __gcry_set_preferred_rng_type(0);
+ $arglist_current5 = HEAP32[$1>>2]|0;
+ $31 = $arglist_current5;
+ $32 = ((0) + 4|0);
+ $expanded126 = $32;
+ $expanded125 = (($expanded126) - 1)|0;
+ $33 = (($31) + ($expanded125))|0;
+ $34 = ((0) + 4|0);
+ $expanded130 = $34;
+ $expanded129 = (($expanded130) - 1)|0;
+ $expanded128 = $expanded129 ^ -1;
+ $35 = $33 & $expanded128;
+ $36 = $35;
+ $37 = HEAP32[$36>>2]|0;
+ $arglist_next6 = ((($36)) + 4|0);
+ HEAP32[$1>>2] = $arglist_next6;
+ __gcry_set_log_verbosity($37);
+ $$2 = 0;
+ STACKTOP = sp;return ($$2|0);
+ break;
+ }
+ case 20: {
+ $arglist_current8 = HEAP32[$1>>2]|0;
+ $38 = $arglist_current8;
+ $39 = ((0) + 4|0);
+ $expanded133 = $39;
+ $expanded132 = (($expanded133) - 1)|0;
+ $40 = (($38) + ($expanded132))|0;
+ $41 = ((0) + 4|0);
+ $expanded137 = $41;
+ $expanded136 = (($expanded137) - 1)|0;
+ $expanded135 = $expanded136 ^ -1;
+ $42 = $40 & $expanded135;
+ $43 = $42;
+ $44 = HEAP32[$43>>2]|0;
+ $arglist_next9 = ((($43)) + 4|0);
+ HEAP32[$1>>2] = $arglist_next9;
+ $45 = HEAP32[18086]|0;
+ $46 = $45 | $44;
+ HEAP32[18086] = $46;
+ $$2 = 0;
+ STACKTOP = sp;return ($$2|0);
+ break;
+ }
+ case 21: {
+ $arglist_current11 = HEAP32[$1>>2]|0;
+ $47 = $arglist_current11;
+ $48 = ((0) + 4|0);
+ $expanded140 = $48;
+ $expanded139 = (($expanded140) - 1)|0;
+ $49 = (($47) + ($expanded139))|0;
+ $50 = ((0) + 4|0);
+ $expanded144 = $50;
+ $expanded143 = (($expanded144) - 1)|0;
+ $expanded142 = $expanded143 ^ -1;
+ $51 = $49 & $expanded142;
+ $52 = $51;
+ $53 = HEAP32[$52>>2]|0;
+ $arglist_next12 = ((($52)) + 4|0);
+ HEAP32[$1>>2] = $arglist_next12;
+ $54 = $53 ^ -1;
+ $55 = HEAP32[18086]|0;
+ $56 = $55 & $54;
+ HEAP32[18086] = $56;
+ $$2 = 0;
+ STACKTOP = sp;return ($$2|0);
+ break;
+ }
+ case 36: {
+ _global_init();
+ $$2 = 0;
+ STACKTOP = sp;return ($$2|0);
+ break;
+ }
+ case 40: {
+ $57 = HEAP32[18083]|0;
+ $$2 = $57;
+ STACKTOP = sp;return ($$2|0);
+ break;
+ }
+ case 39: {
+ $58 = HEAP32[18087]|0;
+ $$2 = $58;
+ STACKTOP = sp;return ($$2|0);
+ break;
+ }
+ case 38: {
+ $59 = HEAP32[18087]|0;
+ $60 = ($59|0)==(0);
+ if (!($60)) {
+ $$2 = 0;
+ STACKTOP = sp;return ($$2|0);
+ }
+ _global_init();
+ __gcry_random_initialize(0);
+ HEAP32[18087] = 1;
+ $61 = HEAP32[18083]|0;
+ $62 = ($61|0)==(0);
+ if ($62) {
+ _global_init();
+ }
+ (__gcry_fips_is_operational()|0);
+ $$2 = 0;
+ STACKTOP = sp;return ($$2|0);
+ break;
+ }
+ case 47: {
+ __gcry_set_preferred_rng_type(0);
+ _global_init();
+ $$2 = 0;
+ STACKTOP = sp;return ($$2|0);
+ break;
+ }
+ case 48: {
+ __gcry_set_preferred_rng_type(0);
+ __gcry_random_initialize(1);
+ $63 = HEAP32[18083]|0;
+ $64 = ($63|0)==(0);
+ if ($64) {
+ _global_init();
+ }
+ $65 = (__gcry_fips_is_operational()|0);
+ $66 = ($65|0)==(0);
+ if ($66) {
+ $$2 = 0;
+ STACKTOP = sp;return ($$2|0);
+ }
+ __gcry_fast_random_poll();
+ $$2 = 0;
+ STACKTOP = sp;return ($$2|0);
+ break;
+ }
+ case 52: {
+ $$2 = 16777276;
+ STACKTOP = sp;return ($$2|0);
+ break;
+ }
+ case 49: {
+ __gcry_set_preferred_rng_type(0);
+ $arglist_current14 = HEAP32[$1>>2]|0;
+ $67 = $arglist_current14;
+ $68 = ((0) + 4|0);
+ $expanded147 = $68;
+ $expanded146 = (($expanded147) - 1)|0;
+ $69 = (($67) + ($expanded146))|0;
+ $70 = ((0) + 4|0);
+ $expanded151 = $70;
+ $expanded150 = (($expanded151) - 1)|0;
+ $expanded149 = $expanded150 ^ -1;
+ $71 = $69 & $expanded149;
+ $72 = $71;
+ $73 = HEAP32[$72>>2]|0;
+ $arglist_next15 = ((($72)) + 4|0);
+ HEAP32[$1>>2] = $arglist_next15;
+ __gcry_set_random_daemon_socket($73);
+ $$2 = 0;
+ STACKTOP = sp;return ($$2|0);
+ break;
+ }
+ case 50: {
+ __gcry_set_preferred_rng_type(0);
+ __gcry_random_initialize(1);
+ $arglist_current17 = HEAP32[$1>>2]|0;
+ $74 = $arglist_current17;
+ $75 = ((0) + 4|0);
+ $expanded154 = $75;
+ $expanded153 = (($expanded154) - 1)|0;
+ $76 = (($74) + ($expanded153))|0;
+ $77 = ((0) + 4|0);
+ $expanded158 = $77;
+ $expanded157 = (($expanded158) - 1)|0;
+ $expanded156 = $expanded157 ^ -1;
+ $78 = $76 & $expanded156;
+ $79 = $78;
+ $80 = HEAP32[$79>>2]|0;
+ $arglist_next18 = ((($79)) + 4|0);
+ HEAP32[$1>>2] = $arglist_next18;
+ $81 = ($80|0)!=(0);
+ $82 = $81&1;
+ (__gcry_use_random_daemon($82)|0);
+ $$2 = 0;
+ STACKTOP = sp;return ($$2|0);
+ break;
+ }
+ case 70: {
+ __gcry_random_close_fds();
+ $$2 = 0;
+ STACKTOP = sp;return ($$2|0);
+ break;
+ }
+ case 53: {
+ $arglist_current20 = HEAP32[$1>>2]|0;
+ $83 = $arglist_current20;
+ $84 = ((0) + 4|0);
+ $expanded161 = $84;
+ $expanded160 = (($expanded161) - 1)|0;
+ $85 = (($83) + ($expanded160))|0;
+ $86 = ((0) + 4|0);
+ $expanded165 = $86;
+ $expanded164 = (($expanded165) - 1)|0;
+ $expanded163 = $expanded164 ^ -1;
+ $87 = $85 & $expanded163;
+ $88 = $87;
+ $89 = HEAP32[$88>>2]|0;
+ $arglist_next21 = ((($88)) + 4|0);
+ HEAP32[$1>>2] = $arglist_next21;
+ __gcry_set_preferred_rng_type(0);
+ $90 = ($89|0)==(0|0);
+ $91 = $90 ? 58 : 59;
+ HEAP32[$vararg_buffer>>2] = 44375;
+ (FUNCTION_TABLE_iiii[$91 & 127]($89,44389,$vararg_buffer)|0);
+ HEAP32[$vararg_buffer22>>2] = 44415;
+ (FUNCTION_TABLE_iiii[$91 & 127]($89,44402,$vararg_buffer22)|0);
+ HEAP32[$vararg_buffer26>>2] = 44440;
+ (FUNCTION_TABLE_iiii[$91 & 127]($89,44427,$vararg_buffer26)|0);
+ HEAP32[$vararg_buffer30>>2] = 44461;
+ (FUNCTION_TABLE_iiii[$91 & 127]($89,44448,$vararg_buffer30)|0);
+ (FUNCTION_TABLE_iiii[$91 & 127]($89,44475,$vararg_buffer34)|0);
+ (FUNCTION_TABLE_iiii[$91 & 127]($89,44491,$vararg_buffer37)|0);
+ $92 = (__gcry_mpi_get_hw_config()|0);
+ HEAP32[$vararg_buffer40>>2] = $92;
+ (FUNCTION_TABLE_iiii[$91 & 127]($89,44503,$vararg_buffer40)|0);
+ $93 = (__gcry_get_hw_features()|0);
+ (FUNCTION_TABLE_iiii[$91 & 127]($89,44516,$vararg_buffer44)|0);
+ $94 = (__gcry_enum_hw_features(0,$2)|0);
+ $95 = ($94|0)==(0|0);
+ if (!($95)) {
+ $$03536$i = 0;$99 = $94;
+ while(1) {
+ $96 = HEAP32[$2>>2]|0;
+ $97 = $96 & $93;
+ $98 = ($97|0)==(0);
+ if (!($98)) {
+ HEAP32[$vararg_buffer47>>2] = $99;
+ (FUNCTION_TABLE_iiii[$91 & 127]($89,44525,$vararg_buffer47)|0);
+ }
+ $100 = (($$03536$i) + 1)|0;
+ $101 = (__gcry_enum_hw_features($100,$2)|0);
+ $102 = ($101|0)==(0|0);
+ if ($102) {
+ break;
+ } else {
+ $$03536$i = $100;$99 = $101;
+ }
+ }
+ }
+ (FUNCTION_TABLE_iiii[$91 & 127]($89,44529,$vararg_buffer51)|0);
+ $103 = (__gcry_fips_mode()|0);
+ $104 = ($103|0)==(0);
+ $105 = $104 ? 110 : 121;
+ $106 = (__gcry_enforced_fips_mode()|0);
+ $107 = ($106|0)==(0);
+ $108 = $107 ? 110 : 121;
+ HEAP32[$vararg_buffer54>>2] = $105;
+ $vararg_ptr57 = ((($vararg_buffer54)) + 4|0);
+ HEAP32[$vararg_ptr57>>2] = $108;
+ (FUNCTION_TABLE_iiii[$91 & 127]($89,44531,$vararg_buffer54)|0);
+ $109 = (__gcry_get_rng_type(0)|0);
+ switch ($109|0) {
+ case 1: {
+ $$0$i = 44574;
+ break;
+ }
+ case 2: {
+ $$0$i = 44569;
+ break;
+ }
+ case 3: {
+ $$0$i = 44562;
+ break;
+ }
+ default: {
+ __gcry_bug(44354,321,44549);
+ // unreachable;
+ }
+ }
+ HEAP32[$vararg_buffer59>>2] = $$0$i;
+ $vararg_ptr62 = ((($vararg_buffer59)) + 4|0);
+ HEAP32[$vararg_ptr62>>2] = $109;
+ (FUNCTION_TABLE_iiii[$91 & 127]($89,44583,$vararg_buffer59)|0);
+ $$2 = 0;
+ STACKTOP = sp;return ($$2|0);
+ break;
+ }
+ case 54: {
+ __gcry_set_preferred_rng_type(0);
+ $110 = (__gcry_fips_test_operational()|0);
+ $111 = ($110|0)!=(0);
+ $spec$select105 = $111&1;
+ $$2 = $spec$select105;
+ STACKTOP = sp;return ($$2|0);
+ break;
+ }
+ case 55: {
+ $112 = (__gcry_fips_mode()|0);
+ $113 = ($112|0)==(0);
+ if ($113) {
+ $$2 = 0;
+ STACKTOP = sp;return ($$2|0);
+ }
+ $114 = (__gcry_is_fips_mode_inactive()|0);
+ $115 = HEAP32[18085]|0;
+ $116 = $115 | $114;
+ $117 = ($116|0)==(0);
+ $spec$select106 = $117&1;
+ $$2 = $spec$select106;
+ STACKTOP = sp;return ($$2|0);
+ break;
+ }
+ case 56: {
+ __gcry_set_preferred_rng_type(0);
+ $118 = HEAP32[18083]|0;
+ $119 = ($118|0)==(0);
+ if ($119) {
+ HEAP32[18084] = 1;
+ $$2 = 0;
+ STACKTOP = sp;return ($$2|0);
+ }
+ $120 = (__gcry_fips_test_error_or_operational()|0);
+ $121 = ($120|0)==(0);
+ if ($121) {
+ $122 = (__gcry_fips_is_operational()|0);
+ $123 = ($122|0)!=(0);
+ $spec$select107 = $123&1;
+ STACKTOP = sp;return ($spec$select107|0);
+ }
+ (__gcry_fips_run_selftests(1)|0);
+ $122 = (__gcry_fips_is_operational()|0);
+ $123 = ($122|0)!=(0);
+ $spec$select107 = $123&1;
+ STACKTOP = sp;return ($spec$select107|0);
+ break;
+ }
+ case 57: {
+ _global_init();
+ $124 = (__gcry_fips_run_selftests(1)|0);
+ $$2 = $124;
+ STACKTOP = sp;return ($$2|0);
+ break;
+ }
+ case 58: {
+ $arglist_current65 = HEAP32[$1>>2]|0;
+ $125 = $arglist_current65;
+ $126 = ((0) + 4|0);
+ $expanded168 = $126;
+ $expanded167 = (($expanded168) - 1)|0;
+ $127 = (($125) + ($expanded167))|0;
+ $128 = ((0) + 4|0);
+ $expanded172 = $128;
+ $expanded171 = (($expanded172) - 1)|0;
+ $expanded170 = $expanded171 ^ -1;
+ $129 = $127 & $expanded170;
+ $130 = $129;
+ $131 = HEAP32[$130>>2]|0;
+ $arglist_next66 = ((($130)) + 4|0);
+ HEAP32[$1>>2] = $arglist_next66;
+ $arglist_current68 = HEAP32[$1>>2]|0;
+ $132 = $arglist_current68;
+ $133 = ((0) + 4|0);
+ $expanded175 = $133;
+ $expanded174 = (($expanded175) - 1)|0;
+ $134 = (($132) + ($expanded174))|0;
+ $135 = ((0) + 4|0);
+ $expanded179 = $135;
+ $expanded178 = (($expanded179) - 1)|0;
+ $expanded177 = $expanded178 ^ -1;
+ $136 = $134 & $expanded177;
+ $137 = $136;
+ $138 = HEAP32[$137>>2]|0;
+ $arglist_next69 = ((($137)) + 4|0);
+ HEAP32[$1>>2] = $arglist_next69;
+ $arglist_current71 = HEAP32[$1>>2]|0;
+ $139 = $arglist_current71;
+ $140 = ((0) + 4|0);
+ $expanded182 = $140;
+ $expanded181 = (($expanded182) - 1)|0;
+ $141 = (($139) + ($expanded181))|0;
+ $142 = ((0) + 4|0);
+ $expanded186 = $142;
+ $expanded185 = (($expanded186) - 1)|0;
+ $expanded184 = $expanded185 ^ -1;
+ $143 = $141 & $expanded184;
+ $144 = $143;
+ $145 = HEAP32[$144>>2]|0;
+ $arglist_next72 = ((($144)) + 4|0);
+ HEAP32[$1>>2] = $arglist_next72;
+ $arglist_current74 = HEAP32[$1>>2]|0;
+ $146 = $arglist_current74;
+ $147 = ((0) + 4|0);
+ $expanded189 = $147;
+ $expanded188 = (($expanded189) - 1)|0;
+ $148 = (($146) + ($expanded188))|0;
+ $149 = ((0) + 4|0);
+ $expanded193 = $149;
+ $expanded192 = (($expanded193) - 1)|0;
+ $expanded191 = $expanded192 ^ -1;
+ $150 = $148 & $expanded191;
+ $151 = $150;
+ $152 = HEAP32[$151>>2]|0;
+ $arglist_next75 = ((($151)) + 4|0);
+ HEAP32[$1>>2] = $arglist_next75;
+ $arglist_current77 = HEAP32[$1>>2]|0;
+ $153 = $arglist_current77;
+ $154 = ((0) + 4|0);
+ $expanded196 = $154;
+ $expanded195 = (($expanded196) - 1)|0;
+ $155 = (($153) + ($expanded195))|0;
+ $156 = ((0) + 4|0);
+ $expanded200 = $156;
+ $expanded199 = (($expanded200) - 1)|0;
+ $expanded198 = $expanded199 ^ -1;
+ $157 = $155 & $expanded198;
+ $158 = $157;
+ $159 = HEAP32[$158>>2]|0;
+ $arglist_next78 = ((($158)) + 4|0);
+ HEAP32[$1>>2] = $arglist_next78;
+ $arglist_current80 = HEAP32[$1>>2]|0;
+ $160 = $arglist_current80;
+ $161 = ((0) + 4|0);
+ $expanded203 = $161;
+ $expanded202 = (($expanded203) - 1)|0;
+ $162 = (($160) + ($expanded202))|0;
+ $163 = ((0) + 4|0);
+ $expanded207 = $163;
+ $expanded206 = (($expanded207) - 1)|0;
+ $expanded205 = $expanded206 ^ -1;
+ $164 = $162 & $expanded205;
+ $165 = $164;
+ $166 = HEAP32[$165>>2]|0;
+ $arglist_next81 = ((($165)) + 4|0);
+ HEAP32[$1>>2] = $arglist_next81;
+ $arglist_current83 = HEAP32[$1>>2]|0;
+ $167 = $arglist_current83;
+ $168 = ((0) + 4|0);
+ $expanded210 = $168;
+ $expanded209 = (($expanded210) - 1)|0;
+ $169 = (($167) + ($expanded209))|0;
+ $170 = ((0) + 4|0);
+ $expanded214 = $170;
+ $expanded213 = (($expanded214) - 1)|0;
+ $expanded212 = $expanded213 ^ -1;
+ $171 = $169 & $expanded212;
+ $172 = $171;
+ $173 = HEAP32[$172>>2]|0;
+ $arglist_next84 = ((($172)) + 4|0);
+ HEAP32[$1>>2] = $arglist_next84;
+ $arglist_current86 = HEAP32[$1>>2]|0;
+ $174 = $arglist_current86;
+ $175 = ((0) + 4|0);
+ $expanded217 = $175;
+ $expanded216 = (($expanded217) - 1)|0;
+ $176 = (($174) + ($expanded216))|0;
+ $177 = ((0) + 4|0);
+ $expanded221 = $177;
+ $expanded220 = (($expanded221) - 1)|0;
+ $expanded219 = $expanded220 ^ -1;
+ $178 = $176 & $expanded219;
+ $179 = $178;
+ $180 = HEAP32[$179>>2]|0;
+ $arglist_next87 = ((($179)) + 4|0);
+ HEAP32[$1>>2] = $arglist_next87;
+ $181 = HEAP32[18083]|0;
+ $182 = ($181|0)==(0);
+ if ($182) {
+ _global_init();
+ }
+ $183 = (__gcry_fips_is_operational()|0);
+ $184 = ($183|0)==(0);
+ if ($184) {
+ $$2 = 176;
+ STACKTOP = sp;return ($$2|0);
+ }
+ $185 = (__gcry_random_init_external_test($131,$138,$145,$152,$159,$166,$173,$180)|0);
+ $$2 = $185;
+ STACKTOP = sp;return ($$2|0);
+ break;
+ }
+ case 59: {
+ $arglist_current89 = HEAP32[$1>>2]|0;
+ $186 = $arglist_current89;
+ $187 = ((0) + 4|0);
+ $expanded224 = $187;
+ $expanded223 = (($expanded224) - 1)|0;
+ $188 = (($186) + ($expanded223))|0;
+ $189 = ((0) + 4|0);
+ $expanded228 = $189;
+ $expanded227 = (($expanded228) - 1)|0;
+ $expanded226 = $expanded227 ^ -1;
+ $190 = $188 & $expanded226;
+ $191 = $190;
+ $192 = HEAP32[$191>>2]|0;
+ $arglist_next90 = ((($191)) + 4|0);
+ HEAP32[$1>>2] = $arglist_next90;
+ $arglist_current92 = HEAP32[$1>>2]|0;
+ $193 = $arglist_current92;
+ $194 = ((0) + 4|0);
+ $expanded231 = $194;
+ $expanded230 = (($expanded231) - 1)|0;
+ $195 = (($193) + ($expanded230))|0;
+ $196 = ((0) + 4|0);
+ $expanded235 = $196;
+ $expanded234 = (($expanded235) - 1)|0;
+ $expanded233 = $expanded234 ^ -1;
+ $197 = $195 & $expanded233;
+ $198 = $197;
+ $199 = HEAP32[$198>>2]|0;
+ $arglist_next93 = ((($198)) + 4|0);
+ HEAP32[$1>>2] = $arglist_next93;
+ $arglist_current95 = HEAP32[$1>>2]|0;
+ $200 = $arglist_current95;
+ $201 = ((0) + 4|0);
+ $expanded238 = $201;
+ $expanded237 = (($expanded238) - 1)|0;
+ $202 = (($200) + ($expanded237))|0;
+ $203 = ((0) + 4|0);
+ $expanded242 = $203;
+ $expanded241 = (($expanded242) - 1)|0;
+ $expanded240 = $expanded241 ^ -1;
+ $204 = $202 & $expanded240;
+ $205 = $204;
+ $206 = HEAP32[$205>>2]|0;
+ $arglist_next96 = ((($205)) + 4|0);
+ HEAP32[$1>>2] = $arglist_next96;
+ $207 = HEAP32[18083]|0;
+ $208 = ($207|0)==(0);
+ if ($208) {
+ _global_init();
+ }
+ $209 = (__gcry_fips_is_operational()|0);
+ $210 = ($209|0)==(0);
+ if ($210) {
+ $$2 = 176;
+ STACKTOP = sp;return ($$2|0);
+ }
+ $211 = (__gcry_random_run_external_test($192,$199,$206)|0);
+ $$2 = $211;
+ STACKTOP = sp;return ($$2|0);
+ break;
+ }
+ case 60: {
+ $arglist_current98 = HEAP32[$1>>2]|0;
+ $212 = $arglist_current98;
+ $213 = ((0) + 4|0);
+ $expanded245 = $213;
+ $expanded244 = (($expanded245) - 1)|0;
+ $214 = (($212) + ($expanded244))|0;
+ $215 = ((0) + 4|0);
+ $expanded249 = $215;
+ $expanded248 = (($expanded249) - 1)|0;
+ $expanded247 = $expanded248 ^ -1;
+ $216 = $214 & $expanded247;
+ $217 = $216;
+ $218 = HEAP32[$217>>2]|0;
+ $arglist_next99 = ((($217)) + 4|0);
+ HEAP32[$1>>2] = $arglist_next99;
+ __gcry_random_deinit_external_test($218);
+ $$2 = 0;
+ STACKTOP = sp;return ($$2|0);
+ break;
+ }
+ case 61: {
+ $arglist_current101 = HEAP32[$1>>2]|0;
+ $219 = $arglist_current101;
+ $220 = ((0) + 4|0);
+ $expanded252 = $220;
+ $expanded251 = (($expanded252) - 1)|0;
+ $221 = (($219) + ($expanded251))|0;
+ $222 = ((0) + 4|0);
+ $expanded256 = $222;
+ $expanded255 = (($expanded256) - 1)|0;
+ $expanded254 = $expanded255 ^ -1;
+ $223 = $221 & $expanded254;
+ $224 = $223;
+ $225 = HEAP32[$224>>2]|0;
+ $arglist_next102 = ((($224)) + 4|0);
+ HEAP32[$1>>2] = $arglist_next102;
+ switch ($225|0) {
+ case 30111: {
+ $226 = (_gpgrt_lock_init(37856)|0);
+ $$2 = $226;
+ STACKTOP = sp;return ($$2|0);
+ break;
+ }
+ case 30112: {
+ $227 = (_gpgrt_lock_lock(37856)|0);
+ $$2 = $227;
+ STACKTOP = sp;return ($$2|0);
+ break;
+ }
+ case 30113: {
+ $228 = (_gpgrt_lock_unlock(37856)|0);
+ $$2 = $228;
+ STACKTOP = sp;return ($$2|0);
+ break;
+ }
+ case 30114: {
+ $229 = (_gpgrt_lock_destroy(37856)|0);
+ $$2 = $229;
+ STACKTOP = sp;return ($$2|0);
+ break;
+ }
+ default: {
+ $$2 = 61;
+ STACKTOP = sp;return ($$2|0);
+ }
+ }
+ break;
+ }
+ case 63: {
+ $arglist_current104 = HEAP32[$1>>2]|0;
+ $230 = $arglist_current104;
+ $231 = ((0) + 4|0);
+ $expanded259 = $231;
+ $expanded258 = (($expanded259) - 1)|0;
+ $232 = (($230) + ($expanded258))|0;
+ $233 = ((0) + 4|0);
+ $expanded263 = $233;
+ $expanded262 = (($expanded263) - 1)|0;
+ $expanded261 = $expanded262 ^ -1;
+ $234 = $232 & $expanded261;
+ $235 = $234;
+ $236 = HEAP32[$235>>2]|0;
+ $arglist_next105 = ((($235)) + 4|0);
+ HEAP32[$1>>2] = $arglist_next105;
+ $237 = (__gcry_disable_hw_feature($236)|0);
+ $$2 = $237;
+ STACKTOP = sp;return ($$2|0);
+ break;
+ }
+ case 64: {
+ $238 = HEAP32[18083]|0;
+ $239 = ($238|0)==(0);
+ if (!($239)) {
+ $$2 = 1;
+ STACKTOP = sp;return ($$2|0);
+ }
+ __gcry_set_preferred_rng_type(0);
+ __gcry_set_enforced_fips_mode();
+ $$2 = 0;
+ STACKTOP = sp;return ($$2|0);
+ break;
+ }
+ case 65: {
+ $arglist_current107 = HEAP32[$1>>2]|0;
+ $240 = $arglist_current107;
+ $241 = ((0) + 4|0);
+ $expanded266 = $241;
+ $expanded265 = (($expanded266) - 1)|0;
+ $242 = (($240) + ($expanded265))|0;
+ $243 = ((0) + 4|0);
+ $expanded270 = $243;
+ $expanded269 = (($expanded270) - 1)|0;
+ $expanded268 = $expanded269 ^ -1;
+ $244 = $242 & $expanded268;
+ $245 = $244;
+ $246 = HEAP32[$245>>2]|0;
+ $arglist_next108 = ((($245)) + 4|0);
+ HEAP32[$1>>2] = $arglist_next108;
+ $247 = ($246|0)>(0);
+ if (!($247)) {
+ $$2 = 0;
+ STACKTOP = sp;return ($$2|0);
+ }
+ __gcry_set_preferred_rng_type($246);
+ $$2 = 0;
+ STACKTOP = sp;return ($$2|0);
+ break;
+ }
+ case 66: {
+ $arglist_current110 = HEAP32[$1>>2]|0;
+ $248 = $arglist_current110;
+ $249 = ((0) + 4|0);
+ $expanded273 = $249;
+ $expanded272 = (($expanded273) - 1)|0;
+ $250 = (($248) + ($expanded272))|0;
+ $251 = ((0) + 4|0);
+ $expanded277 = $251;
+ $expanded276 = (($expanded277) - 1)|0;
+ $expanded275 = $expanded276 ^ -1;
+ $252 = $250 & $expanded275;
+ $253 = $252;
+ $254 = HEAP32[$253>>2]|0;
+ $arglist_next111 = ((($253)) + 4|0);
+ HEAP32[$1>>2] = $arglist_next111;
+ $255 = ($254|0)==(0|0);
+ if ($255) {
+ $$2 = 0;
+ STACKTOP = sp;return ($$2|0);
+ }
+ $256 = HEAP32[18083]|0;
+ $257 = $256 ^ 1;
+ $258 = (__gcry_get_rng_type($257)|0);
+ HEAP32[$254>>2] = $258;
+ $$2 = 0;
+ STACKTOP = sp;return ($$2|0);
+ break;
+ }
+ case 67: {
+ __gcry_set_preferred_rng_type(0);
+ $259 = (__gcry_secmem_get_flags()|0);
+ $260 = $259 | 8;
+ __gcry_secmem_set_flags($260);
+ $$2 = 0;
+ STACKTOP = sp;return ($$2|0);
+ break;
+ }
+ case 68: {
+ __gcry_set_preferred_rng_type(0);
+ $261 = (__gcry_secmem_get_flags()|0);
+ $262 = $261 | 16;
+ __gcry_secmem_set_flags($262);
+ $$2 = 0;
+ STACKTOP = sp;return ($$2|0);
+ break;
+ }
+ case 72: case 71: {
+ $$2 = 69;
+ STACKTOP = sp;return ($$2|0);
+ break;
+ }
+ case 62: case 23: {
+ $$2 = 0;
+ STACKTOP = sp;return ($$2|0);
+ break;
+ }
+ default: {
+ __gcry_set_preferred_rng_type(0);
+ $$2 = 61;
+ STACKTOP = sp;return ($$2|0);
+ }
+ }
+ } while(0);
+ return (0)|0;
+}
+function __gcry_set_allocation_handler($0,$1,$2,$3,$4) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ var $5 = 0, $6 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ _global_init();
+ $5 = (__gcry_fips_mode()|0);
+ $6 = ($5|0)==(0);
+ if (!($6)) {
+ __gcry_inactivate_fips_mode(44600);
+ }
+ HEAP32[18088] = $0;
+ HEAP32[18089] = $1;
+ HEAP32[18090] = $2;
+ HEAP32[18091] = $3;
+ HEAP32[18092] = $4;
+ return;
+}
+function __gcry_malloc($0) {
+ $0 = $0|0;
+ var $$0 = 0, $$0$i = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = HEAP32[18088]|0;
+ $2 = ($1|0)==(0|0);
+ if ($2) {
+ $4 = (__gcry_private_malloc($0)|0);
+ $$0$i = $4;
+ } else {
+ $3 = (FUNCTION_TABLE_ii[$1 & 63]($0)|0);
+ $$0$i = $3;
+ }
+ $5 = ($$0$i|0)==(0|0);
+ if (!($5)) {
+ $$0 = $$0$i;
+ return ($$0|0);
+ }
+ $6 = (___errno_location()|0);
+ $7 = HEAP32[$6>>2]|0;
+ $8 = ($7|0)==(0);
+ if ($8) {
+ _gpg_err_set_errno(12);
+ }
+ $9 = (___errno_location()|0);
+ $10 = HEAP32[$9>>2]|0;
+ (_gpg_err_code_from_errno($10)|0);
+ $$0 = 0;
+ return ($$0|0);
+}
+function __gcry_malloc_secure($0) {
+ $0 = $0|0;
+ var $$0 = 0, $$0$i = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0;
+ var $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = HEAP32[18085]|0;
+ $2 = ($1|0)==(0);
+ do {
+ if ($2) {
+ label = 5;
+ } else {
+ $3 = (__gcry_enforced_fips_mode()|0);
+ $4 = ($3|0)==(0);
+ if (!($4)) {
+ HEAP32[18085] = 0;
+ label = 5;
+ break;
+ }
+ $5 = HEAP32[18085]|0;
+ $6 = ($5|0)==(0);
+ if ($6) {
+ label = 5;
+ } else {
+ $11 = HEAP32[18088]|0;
+ $12 = ($11|0)==(0|0);
+ if ($12) {
+ $14 = (__gcry_private_malloc($0)|0);
+ $$0$i = $14;
+ break;
+ } else {
+ $13 = (FUNCTION_TABLE_ii[$11 & 63]($0)|0);
+ $$0$i = $13;
+ break;
+ }
+ }
+ }
+ } while(0);
+ do {
+ if ((label|0) == 5) {
+ $7 = HEAP32[18089]|0;
+ $8 = ($7|0)==(0|0);
+ if ($8) {
+ $10 = (__gcry_private_malloc_secure($0)|0);
+ $$0$i = $10;
+ break;
+ } else {
+ $9 = (FUNCTION_TABLE_ii[$7 & 63]($0)|0);
+ $$0$i = $9;
+ break;
+ }
+ }
+ } while(0);
+ $15 = ($$0$i|0)==(0|0);
+ if (!($15)) {
+ $$0 = $$0$i;
+ return ($$0|0);
+ }
+ $16 = (___errno_location()|0);
+ $17 = HEAP32[$16>>2]|0;
+ $18 = ($17|0)==(0);
+ if ($18) {
+ _gpg_err_set_errno(12);
+ }
+ $19 = (___errno_location()|0);
+ $20 = HEAP32[$19>>2]|0;
+ (_gpg_err_code_from_errno($20)|0);
+ $$0 = 0;
+ return ($$0|0);
+}
+function __gcry_is_secure($0) {
+ $0 = $0|0;
+ var $$0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = HEAP32[18085]|0;
+ $2 = ($1|0)==(0);
+ do {
+ if (!($2)) {
+ $3 = (__gcry_enforced_fips_mode()|0);
+ $4 = ($3|0)==(0);
+ if (!($4)) {
+ HEAP32[18085] = 0;
+ break;
+ }
+ $5 = HEAP32[18085]|0;
+ $6 = ($5|0)==(0);
+ if (!($6)) {
+ $$0 = 0;
+ return ($$0|0);
+ }
+ }
+ } while(0);
+ $7 = HEAP32[18090]|0;
+ $8 = ($7|0)==(0|0);
+ if ($8) {
+ $10 = (__gcry_private_is_secure($0)|0);
+ $$0 = $10;
+ return ($$0|0);
+ } else {
+ $9 = (FUNCTION_TABLE_ii[$7 & 63]($0)|0);
+ $$0 = $9;
+ return ($$0|0);
+ }
+ return (0)|0;
+}
+function __gcry_realloc($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $$0 = 0, $$0$i$i = 0, $$010 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
+ var $26 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $2 = ($0|0)==(0|0);
+ if ($2) {
+ $3 = HEAP32[18088]|0;
+ $4 = ($3|0)==(0|0);
+ if ($4) {
+ $6 = (__gcry_private_malloc($1)|0);
+ $$0$i$i = $6;
+ } else {
+ $5 = (FUNCTION_TABLE_ii[$3 & 63]($1)|0);
+ $$0$i$i = $5;
+ }
+ $7 = ($$0$i$i|0)==(0|0);
+ if (!($7)) {
+ $$010 = $$0$i$i;
+ return ($$010|0);
+ }
+ $8 = (___errno_location()|0);
+ $9 = HEAP32[$8>>2]|0;
+ $10 = ($9|0)==(0);
+ if ($10) {
+ _gpg_err_set_errno(12);
+ }
+ $11 = (___errno_location()|0);
+ $12 = HEAP32[$11>>2]|0;
+ (_gpg_err_code_from_errno($12)|0);
+ $$010 = 0;
+ return ($$010|0);
+ }
+ $13 = ($1|0)==(0);
+ if ($13) {
+ $14 = (___errno_location()|0);
+ $15 = HEAP32[$14>>2]|0;
+ $16 = HEAP32[18092]|0;
+ $17 = ($16|0)==(0|0);
+ if ($17) {
+ __gcry_private_free($0);
+ } else {
+ FUNCTION_TABLE_vi[$16 & 127]($0);
+ }
+ $18 = ($15|0)==(0);
+ if ($18) {
+ $$010 = 0;
+ return ($$010|0);
+ }
+ _gpg_err_set_errno($15);
+ $$010 = 0;
+ return ($$010|0);
+ }
+ $19 = HEAP32[18091]|0;
+ $20 = ($19|0)==(0|0);
+ if ($20) {
+ $22 = (__gcry_private_realloc($0,$1)|0);
+ $$0 = $22;
+ } else {
+ $21 = (FUNCTION_TABLE_iii[$19 & 127]($0,$1)|0);
+ $$0 = $21;
+ }
+ $23 = ($$0|0)==(0|0);
+ if (!($23)) {
+ $$010 = $$0;
+ return ($$010|0);
+ }
+ $24 = (___errno_location()|0);
+ $25 = HEAP32[$24>>2]|0;
+ $26 = ($25|0)==(0);
+ if (!($26)) {
+ $$010 = 0;
+ return ($$010|0);
+ }
+ _gpg_err_set_errno(12);
+ $$010 = 0;
+ return ($$010|0);
+}
+function __gcry_free($0) {
+ $0 = $0|0;
+ var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = ($0|0)==(0|0);
+ if ($1) {
+ return;
+ }
+ $2 = (___errno_location()|0);
+ $3 = HEAP32[$2>>2]|0;
+ $4 = HEAP32[18092]|0;
+ $5 = ($4|0)==(0|0);
+ if ($5) {
+ __gcry_private_free($0);
+ } else {
+ FUNCTION_TABLE_vi[$4 & 127]($0);
+ }
+ $6 = ($3|0)==(0);
+ if ($6) {
+ return;
+ }
+ _gpg_err_set_errno($3);
+ return;
+}
+function __gcry_calloc($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $$0 = 0, $$0$i$i = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $2 = Math_imul($1, $0)|0;
+ $3 = ($1|0)==(0);
+ if (!($3)) {
+ $4 = (($2>>>0) / ($1>>>0))&-1;
+ $5 = ($4|0)==($0|0);
+ if (!($5)) {
+ _gpg_err_set_errno(12);
+ $$0 = 0;
+ return ($$0|0);
+ }
+ }
+ $6 = HEAP32[18088]|0;
+ $7 = ($6|0)==(0|0);
+ if ($7) {
+ $9 = (__gcry_private_malloc($2)|0);
+ $$0$i$i = $9;
+ } else {
+ $8 = (FUNCTION_TABLE_ii[$6 & 63]($2)|0);
+ $$0$i$i = $8;
+ }
+ $10 = ($$0$i$i|0)==(0|0);
+ if (!($10)) {
+ _memset(($$0$i$i|0),0,($2|0))|0;
+ $$0 = $$0$i$i;
+ return ($$0|0);
+ }
+ $11 = (___errno_location()|0);
+ $12 = HEAP32[$11>>2]|0;
+ $13 = ($12|0)==(0);
+ if ($13) {
+ _gpg_err_set_errno(12);
+ }
+ $14 = (___errno_location()|0);
+ $15 = HEAP32[$14>>2]|0;
+ (_gpg_err_code_from_errno($15)|0);
+ $$0 = 0;
+ return ($$0|0);
+}
+function __gcry_calloc_secure($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $2 = Math_imul($1, $0)|0;
+ $3 = ($1|0)==(0);
+ if (!($3)) {
+ $4 = (($2>>>0) / ($1>>>0))&-1;
+ $5 = ($4|0)==($0|0);
+ if (!($5)) {
+ _gpg_err_set_errno(12);
+ $$0 = 0;
+ return ($$0|0);
+ }
+ }
+ $6 = (__gcry_malloc_secure($2)|0);
+ $7 = ($6|0)==(0|0);
+ if ($7) {
+ $$0 = 0;
+ return ($$0|0);
+ }
+ _memset(($6|0),0,($2|0))|0;
+ $$0 = $6;
+ return ($$0|0);
+}
+function __gcry_strdup($0) {
+ $0 = $0|0;
+ var $$0$i = 0, $$0$i$i = 0, $$010 = 0, $$012 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0;
+ var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = (_strlen($0)|0);
+ $2 = HEAP32[18085]|0;
+ $3 = ($2|0)==(0);
+ do {
+ if ($3) {
+ label = 6;
+ } else {
+ $4 = (__gcry_enforced_fips_mode()|0);
+ $5 = ($4|0)==(0);
+ if (!($5)) {
+ HEAP32[18085] = 0;
+ label = 6;
+ break;
+ }
+ $6 = HEAP32[18085]|0;
+ $7 = ($6|0)==(0);
+ if ($7) {
+ label = 6;
+ } else {
+ $8 = (($1) + 1)|0;
+ $17 = $8;
+ label = 10;
+ }
+ }
+ } while(0);
+ if ((label|0) == 6) {
+ $9 = HEAP32[18090]|0;
+ $10 = ($9|0)==(0|0);
+ if ($10) {
+ $12 = (__gcry_private_is_secure($0)|0);
+ $$0$i = $12;
+ } else {
+ $11 = (FUNCTION_TABLE_ii[$9 & 63]($0)|0);
+ $$0$i = $11;
+ }
+ $13 = ($$0$i|0)==(0);
+ $14 = (($1) + 1)|0;
+ if ($13) {
+ $17 = $14;
+ label = 10;
+ } else {
+ $26 = (__gcry_malloc_secure($14)|0);
+ $27 = ($26|0)==(0|0);
+ if ($27) {
+ $$010 = 0;
+ return ($$010|0);
+ } else {
+ $$012 = $26;
+ }
+ }
+ }
+ if ((label|0) == 10) {
+ $15 = HEAP32[18088]|0;
+ $16 = ($15|0)==(0|0);
+ if ($16) {
+ $19 = (__gcry_private_malloc($17)|0);
+ $$0$i$i = $19;
+ } else {
+ $18 = (FUNCTION_TABLE_ii[$15 & 63]($17)|0);
+ $$0$i$i = $18;
+ }
+ $20 = ($$0$i$i|0)==(0|0);
+ if ($20) {
+ $21 = (___errno_location()|0);
+ $22 = HEAP32[$21>>2]|0;
+ $23 = ($22|0)==(0);
+ if ($23) {
+ _gpg_err_set_errno(12);
+ }
+ $24 = (___errno_location()|0);
+ $25 = HEAP32[$24>>2]|0;
+ (_gpg_err_code_from_errno($25)|0);
+ $$010 = 0;
+ return ($$010|0);
+ } else {
+ $$012 = $$0$i$i;
+ }
+ }
+ (_strcpy($$012,$0)|0);
+ $$010 = $$012;
+ return ($$010|0);
+}
+function __gcry_xmalloc($0) {
+ $0 = $0|0;
+ var $$0$i$i = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = HEAP32[18088]|0;
+ $2 = ($1|0)==(0|0);
+ if ($2) {
+ $4 = (__gcry_private_malloc($0)|0);
+ $$0$i$i = $4;
+ } else {
+ $3 = (FUNCTION_TABLE_ii[$1 & 63]($0)|0);
+ $$0$i$i = $3;
+ }
+ $5 = ($$0$i$i|0)==(0|0);
+ if (!($5)) {
+ return ($$0$i$i|0);
+ }
+ $6 = (___errno_location()|0);
+ $7 = HEAP32[$6>>2]|0;
+ $8 = ($7|0)==(0);
+ if ($8) {
+ _gpg_err_set_errno(12);
+ }
+ $9 = (___errno_location()|0);
+ $10 = HEAP32[$9>>2]|0;
+ (_gpg_err_code_from_errno($10)|0);
+ $11 = (___errno_location()|0);
+ $12 = HEAP32[$11>>2]|0;
+ $13 = (_gpg_err_code_from_errno($12)|0);
+ __gcry_fatal_error($13,0);
+ // unreachable;
+ return (0)|0;
+}
+function __gcry_xrealloc($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $2 = (__gcry_realloc($0,$1)|0);
+ $3 = ($2|0)==(0|0);
+ if (!($3)) {
+ return ($2|0);
+ }
+ $4 = (__gcry_fips_mode()|0);
+ $5 = ($4|0)==(0);
+ $6 = (0|0)!=(0|0);
+ $or$cond = $5 & $6;
+ if (!($or$cond)) {
+ $13 = (___errno_location()|0);
+ $14 = HEAP32[$13>>2]|0;
+ $15 = (_gpg_err_code_from_errno($14)|0);
+ __gcry_fatal_error($15,0);
+ // unreachable;
+ }
+ $7 = HEAP32[18085]|0;
+ $8 = ($7|0)==(0);
+ if (!($8)) {
+ $9 = (__gcry_enforced_fips_mode()|0);
+ $10 = ($9|0)==(0);
+ if (!($10)) {
+ HEAP32[18085] = 0;
+ }
+ }
+ $11 = HEAP32[18090]|0;
+ $12 = ($11|0)==(0|0);
+ if ($12) {
+ (__gcry_private_is_secure($0)|0);
+ // unreachable;
+ } else {
+ (FUNCTION_TABLE_ii[$11 & 63]($0)|0);
+ // unreachable;
+ }
+ return (0)|0;
+}
+function __gcry_xmalloc_secure($0) {
+ $0 = $0|0;
+ var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = (__gcry_malloc_secure($0)|0);
+ $2 = ($1|0)==(0|0);
+ if ($2) {
+ $3 = (___errno_location()|0);
+ $4 = HEAP32[$3>>2]|0;
+ $5 = (_gpg_err_code_from_errno($4)|0);
+ $6 = (__gcry_gettext(44626)|0);
+ __gcry_fatal_error($5,$6);
+ // unreachable;
+ } else {
+ return ($1|0);
+ }
+ return (0)|0;
+}
+function __gcry_xcalloc($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $2 = Math_imul($1, $0)|0;
+ $3 = ($1|0)==(0);
+ if (!($3)) {
+ $4 = (($2>>>0) / ($1>>>0))&-1;
+ $5 = ($4|0)==($0|0);
+ if (!($5)) {
+ _gpg_err_set_errno(12);
+ $6 = (___errno_location()|0);
+ $7 = HEAP32[$6>>2]|0;
+ $8 = (_gpg_err_code_from_errno($7)|0);
+ __gcry_fatal_error($8,0);
+ // unreachable;
+ }
+ }
+ $9 = (__gcry_xmalloc($2)|0);
+ _memset(($9|0),0,($2|0))|0;
+ return ($9|0);
+}
+function __gcry_xcalloc_secure($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $2 = Math_imul($1, $0)|0;
+ $3 = ($1|0)==(0);
+ if (!($3)) {
+ $4 = (($2>>>0) / ($1>>>0))&-1;
+ $5 = ($4|0)==($0|0);
+ if (!($5)) {
+ _gpg_err_set_errno(12);
+ $6 = (___errno_location()|0);
+ $7 = HEAP32[$6>>2]|0;
+ $8 = (_gpg_err_code_from_errno($7)|0);
+ __gcry_fatal_error($8,0);
+ // unreachable;
+ }
+ }
+ $9 = (__gcry_xmalloc_secure($2)|0);
+ _memset(($9|0),0,($2|0))|0;
+ return ($9|0);
+}
+function __gcry_xstrdup($0) {
+ $0 = $0|0;
+ var $$0$i = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0;
+ var sp = 0;
+ sp = STACKTOP;
+ $1 = (__gcry_strdup($0)|0);
+ $2 = ($1|0)==(0|0);
+ if (!($2)) {
+ return ($1|0);
+ }
+ $3 = HEAP32[18085]|0;
+ $4 = ($3|0)==(0);
+ do {
+ if ($4) {
+ label = 6;
+ } else {
+ $5 = (__gcry_enforced_fips_mode()|0);
+ $6 = ($5|0)==(0);
+ if ($6) {
+ $7 = HEAP32[18085]|0;
+ $8 = ($7|0)==(0);
+ if ($8) {
+ label = 6;
+ break;
+ } else {
+ $$0$i = 0;
+ break;
+ }
+ } else {
+ HEAP32[18085] = 0;
+ label = 6;
+ break;
+ }
+ }
+ } while(0);
+ do {
+ if ((label|0) == 6) {
+ $9 = HEAP32[18090]|0;
+ $10 = ($9|0)==(0|0);
+ if ($10) {
+ $12 = (__gcry_private_is_secure($0)|0);
+ $$0$i = $12;
+ break;
+ } else {
+ $11 = (FUNCTION_TABLE_ii[$9 & 63]($0)|0);
+ $$0$i = $11;
+ break;
+ }
+ }
+ } while(0);
+ $13 = ($$0$i|0)!=(0);
+ $14 = (___errno_location()|0);
+ $15 = HEAP32[$14>>2]|0;
+ $16 = (_gpg_err_code_from_errno($15)|0);
+ if (!($13)) {
+ $18 = 0;
+ __gcry_fatal_error($16,$18);
+ // unreachable;
+ }
+ $17 = (__gcry_gettext(44626)|0);
+ $18 = $17;
+ __gcry_fatal_error($16,$18);
+ // unreachable;
+ return (0)|0;
+}
+function __gcry_get_debug_flag($0) {
+ $0 = $0|0;
+ var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = (__gcry_fips_mode()|0);
+ $2 = ($1|0)==(0);
+ $3 = HEAP32[18086]|0;
+ $4 = $3 & $0;
+ $$0 = $2 ? $4 : 0;
+ return ($$0|0);
+}
+function __gcry_set_progress_handler($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ __gcry_register_primegen_progress($0,$1);
+ __gcry_register_random_progress($0,$1);
+ return;
+}
+function __gcry_sexp_canon_len($0,$1,$2,$3) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ var $$0134 = 0, $$087133 = 0, $$089132 = 0, $$091131 = 0, $$093130 = 0, $$095 = 0, $$097 = 0, $$1 = 0, $$188 = 0, $$190 = 0, $$192 = 0, $$194 = 0, $$off = 0, $$off110 = 0, $$pre = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0;
+ var $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0;
+ var $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $spec$select = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $4 = sp + 4|0;
+ $5 = sp;
+ $6 = ($2|0)==(0|0);
+ $spec$select = $6 ? $4 : $2;
+ $7 = ($3|0)==(0|0);
+ $$095 = $7 ? $5 : $3;
+ HEAP32[$$095>>2] = 0;
+ HEAP32[$spec$select>>2] = 0;
+ $8 = ($0|0)==(0|0);
+ L1: do {
+ if ($8) {
+ $$097 = 0;
+ } else {
+ $9 = HEAP8[$0>>0]|0;
+ $10 = ($9<<24>>24)==(40);
+ if (!($10)) {
+ HEAP32[$$095>>2] = 204;
+ $$097 = 0;
+ break;
+ }
+ $11 = (($1) + -1)|0;
+ $$0134 = 0;$$087133 = 0;$$089132 = 0;$$091131 = 0;$$093130 = $0;$15 = 40;
+ L6: while(1) {
+ $13 = ($$089132|0)==(0);
+ $14 = $15&255;
+ L8: do {
+ if ($13) {
+ switch ($15<<24>>24) {
+ case 40: {
+ $24 = ($$091131|0)==(0|0);
+ if (!($24)) {
+ label = 16;
+ break L6;
+ }
+ $25 = (($$0134) + 1)|0;
+ $$1 = $25;$$188 = $$087133;$$190 = 0;$$192 = 0;$$194 = $$093130;
+ break L8;
+ break;
+ }
+ case 41: {
+ $26 = ($$0134|0)==(0);
+ if ($26) {
+ label = 19;
+ break L6;
+ }
+ $27 = ($$091131|0)==(0|0);
+ if (!($27)) {
+ label = 21;
+ break L6;
+ }
+ $28 = (($$0134) + -1)|0;
+ $29 = ($28|0)==(0);
+ if ($29) {
+ label = 23;
+ break L6;
+ } else {
+ $$1 = $28;$$188 = $$087133;$$190 = 0;$$192 = 0;$$194 = $$093130;
+ break L8;
+ }
+ break;
+ }
+ case 91: {
+ $31 = ($$091131|0)==(0|0);
+ if ($31) {
+ $$1 = $$0134;$$188 = $$087133;$$190 = 0;$$192 = $$093130;$$194 = $$093130;
+ break L8;
+ } else {
+ label = 25;
+ break L6;
+ }
+ break;
+ }
+ case 93: {
+ $32 = ($$091131|0)==(0|0);
+ if ($32) {
+ label = 27;
+ break L6;
+ } else {
+ $$1 = $$0134;$$188 = $$087133;$$190 = 0;$$192 = 0;$$194 = $$093130;
+ break L8;
+ }
+ break;
+ }
+ default: {
+ $$off110 = (($15) + -48)<<24>>24;
+ $33 = ($$off110&255)<(10);
+ if (!($33)) {
+ label = 32;
+ break L6;
+ }
+ $34 = ($15<<24>>24)==(48);
+ if ($34) {
+ label = 30;
+ break L6;
+ }
+ $35 = (($14) + -48)|0;
+ $$1 = $$0134;$$188 = $$087133;$$190 = $35;$$192 = $$091131;$$194 = $$093130;
+ break L8;
+ }
+ }
+ } else {
+ $16 = ($15<<24>>24)==(58);
+ if ($16) {
+ $17 = (($$087133) + ($$089132))|0;
+ $18 = ($11>>>0)<($17>>>0);
+ if ($18) {
+ label = 9;
+ break L6;
+ }
+ $19 = (($$093130) + ($$089132)|0);
+ $$1 = $$0134;$$188 = $17;$$190 = 0;$$192 = $$091131;$$194 = $19;
+ break;
+ } else {
+ $$off = (($15) + -48)<<24>>24;
+ $20 = ($$off&255)<(10);
+ if (!($20)) {
+ label = 13;
+ break L6;
+ }
+ $21 = ($$089132*10)|0;
+ $22 = (($14) + -48)|0;
+ $23 = (($22) + ($21))|0;
+ $$1 = $$0134;$$188 = $$087133;$$190 = $23;$$192 = $$091131;$$194 = $$093130;
+ break;
+ }
+ }
+ } while(0);
+ $36 = ((($$194)) + 1|0);
+ $12 = (($$188) + 1)|0;
+ $37 = ($11>>>0)<($12>>>0);
+ if ($37) {
+ label = 5;
+ break;
+ }
+ $$pre = HEAP8[$36>>0]|0;
+ $$0134 = $$1;$$087133 = $12;$$089132 = $$190;$$091131 = $$192;$$093130 = $36;$15 = $$pre;
+ }
+ switch (label|0) {
+ case 5: {
+ HEAP32[$spec$select>>2] = $12;
+ HEAP32[$$095>>2] = 202;
+ $$097 = 0;
+ break L1;
+ break;
+ }
+ case 9: {
+ HEAP32[$spec$select>>2] = $$087133;
+ HEAP32[$$095>>2] = 202;
+ $$097 = 0;
+ break L1;
+ break;
+ }
+ case 13: {
+ HEAP32[$spec$select>>2] = $$087133;
+ HEAP32[$$095>>2] = 201;
+ $$097 = 0;
+ break L1;
+ break;
+ }
+ case 16: {
+ HEAP32[$spec$select>>2] = $$087133;
+ HEAP32[$$095>>2] = 209;
+ $$097 = 0;
+ break L1;
+ break;
+ }
+ case 19: {
+ HEAP32[$spec$select>>2] = $$087133;
+ HEAP32[$$095>>2] = 203;
+ $$097 = 0;
+ break L1;
+ break;
+ }
+ case 21: {
+ HEAP32[$spec$select>>2] = $$087133;
+ HEAP32[$$095>>2] = 209;
+ $$097 = 0;
+ break L1;
+ break;
+ }
+ case 23: {
+ $30 = (($$087133) + 1)|0;
+ $$097 = $30;
+ break L1;
+ break;
+ }
+ case 25: {
+ HEAP32[$spec$select>>2] = $$087133;
+ HEAP32[$$095>>2] = 208;
+ $$097 = 0;
+ break L1;
+ break;
+ }
+ case 27: {
+ HEAP32[$spec$select>>2] = $$087133;
+ HEAP32[$$095>>2] = 209;
+ $$097 = 0;
+ break L1;
+ break;
+ }
+ case 30: {
+ HEAP32[$spec$select>>2] = $$087133;
+ HEAP32[$$095>>2] = 207;
+ $$097 = 0;
+ break L1;
+ break;
+ }
+ case 32: {
+ switch ($15<<24>>24) {
+ case 92: case 38: {
+ HEAP32[$spec$select>>2] = $$087133;
+ HEAP32[$$095>>2] = 210;
+ $$097 = 0;
+ break L1;
+ break;
+ }
+ default: {
+ HEAP32[$spec$select>>2] = $$087133;
+ HEAP32[$$095>>2] = 205;
+ $$097 = 0;
+ break L1;
+ }
+ }
+ break;
+ }
+ }
+ }
+ } while(0);
+ STACKTOP = sp;return ($$097|0);
+}
+function _do_sexp_sscan($0,$1,$2,$3,$4,$5,$varargs) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ $5 = $5|0;
+ $varargs = $varargs|0;
+ var $6 = 0, $7 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $6 = sp;
+ HEAP32[$6>>2] = $varargs;
+ $7 = (_do_vsexp_sscan($0,$1,$2,$3,$4,$5,$6)|0);
+ STACKTOP = sp;return ($7|0);
+}
+function _do_vsexp_sscan($0,$1,$2,$3,$4,$5,$6) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ $5 = $5|0;
+ $6 = $6|0;
+ var $$0 = 0, $$0$copyload$i = 0, $$0$copyload$i740 = 0, $$0$i738 = 0, $$0112$i = 0, $$02830$i = 0, $$031$i = 0, $$048$lcssa$i = 0, $$04859$i = 0, $$050$lcssa$i = 0, $$05058$i = 0, $$0575$lcssa = 0, $$05751592 = 0, $$0576$lcssa = 0, $$05761591 = 0, $$0584$lcssa = 0, $$05841619 = 0, $$05881618 = 0, $$05921617 = 0, $$05941616 = 0;
+ var $$05971615 = 0, $$0600 = 0, $$0601$pn1600 = 0, $$06011614 = 0, $$06061613 = 0, $$06081612 = 0, $$06101611 = 0, $$0612 = 0, $$06131610 = 0, $$06151609 = 0, $$06171608 = 0, $$062$i = 0, $$0627 = 0, $$0628$lcssa = 0, $$06281607 = 0, $$0657 = 0, $$0658 = 0, $$0659 = 0, $$0660 = 0, $$0661999 = 0;
+ var $$072$lcssa$i$ph = 0, $$072111$i = 0, $$075110$i = 0, $$078109$i = 0, $$0880 = 0, $$1 = 0, $$1$i695904 = 0, $$1$i697920 = 0, $$1$i712934 = 0, $$1$i714948 = 0, $$1$i716967 = 0, $$1$i718986 = 0, $$1$i7201009 = 0, $$1$i7221029 = 0, $$1$i7241048 = 0, $$1$i727 = 0, $$1$i7281067 = 0, $$1$i7301084 = 0, $$1$i7321099 = 0, $$1$i7361114 = 0;
+ var $$1$i741 = 0, $$1$i891 = 0, $$10 = 0, $$129$i = 0, $$149$i = 0, $$15$ph = 0, $$151$i = 0, $$1577 = 0, $$1593 = 0, $$1598 = 0, $$1602 = 0, $$1602$val = 0, $$16021598 = 0, $$16021601 = 0, $$1607 = 0, $$1609 = 0, $$1611 = 0, $$1614 = 0, $$1616 = 0, $$1618 = 0;
+ var $$1629 = 0, $$179$i = 0, $$2 = 0, $$2$i = 0, $$2$i742 = 0, $$252$i = 0, $$2578 = 0, $$2596 = 0, $$2599 = 0, $$2603$val = 0, $$26031169 = 0, $$26031595 = 0, $$2619 = 0, $$274$i = 0, $$277$i = 0, $$2882 = 0, $$31 = 0, $$31$ph = 0, $$31$ph1947 = 0, $$311119 = 0;
+ var $$31590 = 0, $$35356$i = 0, $$357$i = 0, $$35791589 = 0, $$3587 = 0, $$3591 = 0, $$3604 = 0, $$4605 = 0, $$4621 = 0, $$5622 = 0, $$6623 = 0, $$7624 = 0, $$9626 = 0, $$cast = 0, $$cast665 = 0, $$cast666 = 0, $$off = 0, $$off$i = 0, $$off$i699 = 0, $$off$i704 = 0;
+ var $$off1133 = 0, $$off1139 = 0, $$off1140 = 0, $$off13$i = 0, $$off13$i705 = 0, $$off14$i = 0, $$off14$i706 = 0, $$off95$i = 0, $$pn = 0, $$pn1138 = 0, $$pre$phi1937Z2D = 0, $$pre$phi1940Z2D = 0, $$pre$phiZ2D = 0, $$pre1939 = 0, $$sroa$0$0 = 0, $$sroa$0$0$in = 0, $$sroa$0$1$lcssa = 0, $$sroa$0$10 = 0, $$sroa$0$10$ph = 0, $$sroa$0$11606 = 0;
+ var $$sroa$0$11962$ph = 0, $$sroa$0$13 = 0, $$sroa$0$15 = 0, $$sroa$0$15$ph = 0, $$sroa$0$16981$ph = 0, $$sroa$0$171004$ph = 0, $$sroa$0$19 = 0, $$sroa$0$211024$ph = 0, $$sroa$0$221043$ph = 0, $$sroa$0$231062$ph = 0, $$sroa$0$251079$ph = 0, $$sroa$0$261094$ph = 0, $$sroa$0$27 = 0, $$sroa$0$281109$ph = 0, $$sroa$0$2886$ph = 0, $$sroa$0$29 = 0, $$sroa$0$29$ph = 0, $$sroa$0$29$ph1946 = 0, $$sroa$0$291118 = 0, $$sroa$0$291950 = 0;
+ var $$sroa$0$3 = 0, $$sroa$0$4899$ph = 0, $$sroa$0$5915$ph = 0, $$sroa$0$6929$ph = 0, $$sroa$0$7943$ph = 0, $$sroa$0$9 = 0, $$sroa$47$0$lcssa = 0, $$sroa$47$01605 = 0, $$sroa$47$10 = 0, $$sroa$47$10$ph = 0, $$sroa$47$11980$ph = 0, $$sroa$47$121003$ph = 0, $$sroa$47$131023$ph = 0, $$sroa$47$141042$ph = 0, $$sroa$47$151061$ph = 0, $$sroa$47$171078$ph = 0, $$sroa$47$181093$ph = 0, $$sroa$47$1885$ph = 0, $$sroa$47$19 = 0, $$sroa$47$2 = 0;
+ var $$sroa$47$201108$ph = 0, $$sroa$47$21 = 0, $$sroa$47$21$ph = 0, $$sroa$47$21$ph1945 = 0, $$sroa$47$211117 = 0, $$sroa$47$3898$ph = 0, $$sroa$47$4914$ph = 0, $$sroa$47$5928$ph = 0, $$sroa$47$6942$ph = 0, $$sroa$47$7 = 0, $$sroa$47$7$ph = 0, $$sroa$47$8960$ph = 0, $$sroa$81$0$lcssa = 0, $$sroa$81$0$ptr = 0, $$sroa$81$0$ptr$lcssa = 0, $$sroa$81$0$ptr$le = 0, $$sroa$81$0$ptr1621 = 0, $$sroa$81$01604 = 0, $$sroa$81$11$ptr = 0, $$sroa$81$12$ph = 0;
+ var $$sroa$81$13959$ph = 0, $$sroa$81$13959$ph$ptr$pre$phiZZZZZZ2D = 0, $$sroa$81$15$ptr = 0, $$sroa$81$17 = 0, $$sroa$81$1884$ph$ptr = 0, $$sroa$81$18979$ph$ptr = 0, $$sroa$81$2 = 0, $$sroa$81$2$ptr = 0, $$sroa$81$201002$ph = 0, $$sroa$81$201002$ph$ptr$pre$phiZZZZZZ2D = 0, $$sroa$81$22$ptr = 0, $$sroa$81$241022$ph$ptr = 0, $$sroa$81$261041$ph$ptr = 0, $$sroa$81$281060$ph$ptr = 0, $$sroa$81$301077$ph$ptr = 0, $$sroa$81$311092$ph$ptr = 0, $$sroa$81$32 = 0, $$sroa$81$331107$ptr$ph = 0, $$sroa$81$3897$ph$ptr = 0, $$sroa$81$5913$ph$ptr = 0;
+ var $$sroa$81$61599 = 0, $$sroa$81$7 = 0, $$sroa$81$8927$ph$ptr = 0, $$sroa$81$9941$ph = 0, $$sroa$81$9941$ph$ptr$pre$phiZZZZZZ2D = 0, $$v$i = 0, $$v80$i = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0;
+ var $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0;
+ var $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0;
+ var $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0;
+ var $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0;
+ var $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0;
+ var $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0;
+ var $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0;
+ var $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0;
+ var $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0;
+ var $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0;
+ var $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 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;
+ var $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0;
+ var $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0;
+ var $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0;
+ var $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0;
+ var $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $40 = 0, $400 = 0, $401 = 0;
+ var $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0;
+ var $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0;
+ var $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0;
+ var $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0;
+ var $475 = 0, $476 = 0, $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;
+ var $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 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;
+ var $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $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;
+ var $53 = 0, $530 = 0, $531 = 0, $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, $547 = 0;
+ var $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $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;
+ var $566 = 0, $567 = 0, $568 = 0, $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, $582 = 0, $583 = 0;
+ var $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $60 = 0, $600 = 0, $601 = 0;
+ var $602 = 0, $603 = 0, $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;
+ var $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $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;
+ var $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $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;
+ var $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $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;
+ var $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $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;
+ var $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $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;
+ var $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $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;
+ var $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $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;
+ var $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $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;
+ var $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $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;
+ var $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $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;
+ var $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $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;
+ var $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 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, $arglist_current = 0, $arglist_current11 = 0, $arglist_current14 = 0, $arglist_current2 = 0, $arglist_current20 = 0, $arglist_current5 = 0;
+ var $arglist_current8 = 0, $arglist_next = 0, $arglist_next12 = 0, $arglist_next15 = 0, $arglist_next21 = 0, $arglist_next3 = 0, $arglist_next6 = 0, $arglist_next9 = 0, $cond$i = 0, $expanded = 0, $expanded22 = 0, $expanded24 = 0, $expanded25 = 0, $expanded26 = 0, $expanded28 = 0, $expanded29 = 0, $expanded31 = 0, $expanded32 = 0, $expanded33 = 0, $expanded35 = 0;
+ var $expanded36 = 0, $expanded38 = 0, $expanded39 = 0, $expanded40 = 0, $expanded42 = 0, $expanded43 = 0, $expanded45 = 0, $expanded46 = 0, $expanded47 = 0, $expanded49 = 0, $expanded50 = 0, $expanded52 = 0, $expanded53 = 0, $expanded54 = 0, $expanded56 = 0, $expanded57 = 0, $expanded59 = 0, $expanded60 = 0, $expanded61 = 0, $expanded63 = 0;
+ var $expanded64 = 0, $expanded66 = 0, $expanded67 = 0, $expanded68 = 0, $memchr = 0, $memchr663 = 0, $memchr664 = 0, $or$cond = 0, $or$cond1130 = 0, $or$cond14 = 0, $scevgep = 0, $scevgep$i = 0, $spec$select = 0, $spec$select$i = 0, $spec$select$i700 = 0, $spec$select$i707 = 0, $spec$select1129 = 0, $spec$select675 = 0, $spec$select676 = 0, $spec$select677 = 0;
+ var $spec$select678 = 0, $spec$select682 = 0, $spec$select81$i = 0, $spec$select82$i = 0, $spec$select83$i = 0, $vararg_buffer = 0, $vararg_buffer16 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0);
+ $vararg_buffer16 = sp + 96|0;
+ $vararg_buffer = sp + 88|0;
+ $7 = sp + 108|0;
+ $8 = sp + 104|0;
+ $9 = sp + 100|0;
+ $10 = sp + 48|0;
+ $11 = sp;
+ $12 = ($0|0)==(0|0);
+ if ($12) {
+ $$0 = 45;
+ STACKTOP = sp;return ($$0|0);
+ }
+ HEAP32[$0>>2] = 0;
+ $13 = ($2|0)==(0|0);
+ if ($13) {
+ $$0 = 45;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $14 = ($1|0)==(0|0);
+ $spec$select = $14 ? $7 : $1;
+ $15 = (($3) + 2)|0;
+ $16 = ($3|0)==(0);
+ if ($16) {
+ label = 6;
+ } else {
+ $17 = (__gcry_is_secure($2)|0);
+ $18 = ($17|0)==(0);
+ if ($18) {
+ label = 6;
+ } else {
+ $19 = (__gcry_malloc_secure($15)|0);
+ $$sroa$0$0$in = $19;
+ }
+ }
+ if ((label|0) == 6) {
+ $20 = (__gcry_malloc($15)|0);
+ $$sroa$0$0$in = $20;
+ }
+ $$sroa$0$0 = $$sroa$0$0$in;
+ $21 = ($$sroa$0$0$in|0)==(0|0);
+ L13: do {
+ if ($21) {
+ $22 = (___errno_location()|0);
+ $23 = HEAP32[$22>>2]|0;
+ $24 = (_gpg_err_code_from_errno($23)|0);
+ HEAP32[$spec$select>>2] = 0;
+ $$31 = $24;$$sroa$0$29 = $$sroa$0$0;$$sroa$47$21 = $15;
+ label = 287;
+ } else {
+ L16: do {
+ if ($16) {
+ $$0584$lcssa = $2;$$0628$lcssa = 0;$$sroa$0$1$lcssa = $$sroa$0$0;$$sroa$47$0$lcssa = 2;$$sroa$81$0$lcssa = $$sroa$0$0;$$sroa$81$0$ptr$lcssa = $$sroa$0$0$in;
+ } else {
+ $25 = ($5|0)==(0|0);
+ $26 = ($4|0)!=(0);
+ $$05841619 = $2;$$05881618 = $3;$$05921617 = 0;$$05941616 = 0;$$05971615 = 0;$$06011614 = 0;$$06061613 = 0;$$06081612 = 0;$$06101611 = 0;$$06131610 = 0;$$06151609 = 0;$$06171608 = 0;$$06281607 = 0;$$sroa$0$11606 = $$sroa$0$0;$$sroa$47$01605 = $15;$$sroa$81$0$ptr1621 = $$sroa$0$0$in;$$sroa$81$01604 = $$sroa$0$0;
+ L18: while(1) {
+ $27 = ($$05971615|0)==(0|0);
+ $28 = ($$06011614|0)!=(0|0);
+ $or$cond = $28 | $27;
+ if ($or$cond) {
+ $$1598 = $$05971615;$$sroa$0$3 = $$sroa$0$11606;$$sroa$47$2 = $$sroa$47$01605;$$sroa$81$2 = $$sroa$81$01604;
+ label = 20;
+ } else {
+ $29 = HEAP8[$$05841619>>0]|0;
+ $30 = $29 << 24 >> 24;
+ $memchr = (_memchr(16,$30,71)|0);
+ $31 = ($memchr|0)==(0|0);
+ if ($31) {
+ $32 = $$05841619;
+ $33 = $$05971615;
+ $34 = (($32) - ($33))|0;
+ $35 = $$sroa$0$11606;
+ $36 = (($$sroa$81$01604) - ($$sroa$0$11606))|0;
+ $37 = (($36) + 3)|0;
+ $38 = (($37) + ($34))|0;
+ $39 = ($38>>>0)<($$sroa$47$01605>>>0);
+ do {
+ if ($39) {
+ $$sroa$0$2886$ph = $$sroa$0$11606;$$sroa$47$1885$ph = $$sroa$47$01605;$$sroa$81$1884$ph$ptr = $$sroa$81$0$ptr1621;
+ } else {
+ $40 = $34 << 1;
+ $41 = (($$sroa$47$01605) + 6)|0;
+ $42 = (($41) + ($40))|0;
+ $43 = ($42>>>0)>($$sroa$47$01605>>>0);
+ if (!($43)) {
+ $$1$i891 = 67;
+ label = 18;
+ break L18;
+ }
+ $44 = (__gcry_realloc($35,$42)|0);
+ $45 = ($44|0)==(0|0);
+ if ($45) {
+ $48 = (___errno_location()|0);
+ $49 = HEAP32[$48>>2]|0;
+ $50 = (_gpg_err_code_from_errno($49)|0);
+ $51 = ($50|0)==(0);
+ if ($51) {
+ $$sroa$0$2886$ph = $$sroa$0$11606;$$sroa$47$1885$ph = $$sroa$47$01605;$$sroa$81$1884$ph$ptr = $$sroa$81$0$ptr1621;
+ break;
+ } else {
+ $$1$i891 = $50;
+ label = 18;
+ break L18;
+ }
+ } else {
+ $46 = (($44) + ($36)|0);
+ $47 = $44;
+ $$sroa$0$2886$ph = $47;$$sroa$47$1885$ph = $42;$$sroa$81$1884$ph$ptr = $46;
+ break;
+ }
+ }
+ } while(0);
+ $54 = ((($$sroa$81$1884$ph$ptr)) + 1|0);
+ HEAP8[$$sroa$81$1884$ph$ptr>>0] = 1;
+ $55 = $34&65535;
+ HEAP8[$54>>0]=$55&255;HEAP8[$54+1>>0]=$55>>8;
+ $56 = ((($$sroa$81$1884$ph$ptr)) + 3|0);
+ _memcpy(($56|0),($$05971615|0),($34|0))|0;
+ $57 = (($56) + ($34)|0);
+ $58 = $57;
+ $$1598 = 0;$$sroa$0$3 = $$sroa$0$2886$ph;$$sroa$47$2 = $$sroa$47$1885$ph;$$sroa$81$2 = $58;
+ label = 20;
+ } else {
+ $$1593 = $$05921617;$$1607 = $$06061613;$$1609 = $$06081612;$$1611 = $$06101611;$$1614 = $$06131610;$$1616 = $$06151609;$$1629 = $$06281607;$$2596 = $$05941616;$$2599 = $$05971615;$$3587 = $$05841619;$$3591 = $$05881618;$$4605 = 0;$$9626 = $$06171608;$$sroa$0$27 = $$sroa$0$11606;$$sroa$47$19 = $$sroa$47$01605;$$sroa$81$32 = $$sroa$81$01604;
+ }
+ }
+ L30: do {
+ if ((label|0) == 20) {
+ label = 0;
+ $$sroa$81$2$ptr = $$sroa$81$2;
+ $59 = ($$05941616|0)==(0|0);
+ if (!($59)) {
+ $60 = ($$06151609|0)==(0);
+ $61 = HEAP8[$$05841619>>0]|0;
+ if (!($60)) {
+ $62 = $61 << 24 >> 24;
+ switch ($62|0) {
+ case 92: case 39: case 34: case 114: case 102: case 110: case 118: case 116: case 98: {
+ $$1593 = $$05921617;$$1607 = $$06061613;$$1609 = $$06081612;$$1611 = $$06101611;$$1614 = $$06131610;$$1616 = 0;$$1629 = $$06281607;$$2596 = $$05941616;$$2599 = $$1598;$$3587 = $$05841619;$$3591 = $$05881618;$$4605 = $$06011614;$$9626 = $$06171608;$$sroa$0$27 = $$sroa$0$3;$$sroa$47$19 = $$sroa$47$2;$$sroa$81$32 = $$sroa$81$2;
+ break L30;
+ break;
+ }
+ case 55: case 54: case 53: case 52: case 51: case 50: case 49: case 48: {
+ $63 = ($$05881618>>>0)>(2);
+ if (!($63)) {
+ label = 26;
+ break L18;
+ }
+ $64 = ((($$05841619)) + 1|0);
+ $65 = HEAP8[$64>>0]|0;
+ $66 = $65 & -8;
+ $67 = ($66<<24>>24)==(48);
+ if (!($67)) {
+ label = 26;
+ break L18;
+ }
+ $68 = ((($$05841619)) + 2|0);
+ $69 = HEAP8[$68>>0]|0;
+ $70 = $69 & -8;
+ $71 = ($70<<24>>24)==(48);
+ if (!($71)) {
+ label = 26;
+ break L18;
+ }
+ $75 = (($$05881618) + -2)|0;
+ $$1593 = $$05921617;$$1607 = $$06061613;$$1609 = $$06081612;$$1611 = $$06101611;$$1614 = $$06131610;$$1616 = 0;$$1629 = $$06281607;$$2596 = $$05941616;$$2599 = $$1598;$$3587 = $68;$$3591 = $75;$$4605 = $$06011614;$$9626 = $$06171608;$$sroa$0$27 = $$sroa$0$3;$$sroa$47$19 = $$sroa$47$2;$$sroa$81$32 = $$sroa$81$2;
+ break L30;
+ break;
+ }
+ case 120: {
+ $76 = ($$05881618>>>0)>(2);
+ if (!($76)) {
+ label = 33;
+ break L18;
+ }
+ $77 = ((($$05841619)) + 1|0);
+ $78 = HEAP8[$77>>0]|0;
+ $$off = (($78) + -48)<<24>>24;
+ $79 = ($$off&255)<(10);
+ if (!($79)) {
+ switch ($78<<24>>24) {
+ case 65: case 66: case 67: case 68: case 69: case 70: case 97: case 98: case 99: case 100: case 101: case 102: {
+ break;
+ }
+ default: {
+ label = 33;
+ break L18;
+ }
+ }
+ }
+ $80 = ((($$05841619)) + 2|0);
+ $81 = HEAP8[$80>>0]|0;
+ $$off1133 = (($81) + -48)<<24>>24;
+ $82 = ($$off1133&255)<(10);
+ if (!($82)) {
+ switch ($81<<24>>24) {
+ case 65: case 66: case 67: case 68: case 69: case 70: case 97: case 98: case 99: case 100: case 101: case 102: {
+ break;
+ }
+ default: {
+ label = 33;
+ break L18;
+ }
+ }
+ }
+ $86 = (($$05881618) + -2)|0;
+ $$1593 = $$05921617;$$1607 = $$06061613;$$1609 = $$06081612;$$1611 = $$06101611;$$1614 = $$06131610;$$1616 = 0;$$1629 = $$06281607;$$2596 = $$05941616;$$2599 = $$1598;$$3587 = $80;$$3591 = $86;$$4605 = $$06011614;$$9626 = $$06171608;$$sroa$0$27 = $$sroa$0$3;$$sroa$47$19 = $$sroa$47$2;$$sroa$81$32 = $$sroa$81$2;
+ break L30;
+ break;
+ }
+ case 13: {
+ $87 = ((($$05841619)) + 1|0);
+ $88 = HEAP8[$87>>0]|0;
+ $89 = ($88<<24>>24)==(10);
+ $90 = $89 << 31 >> 31;
+ $spec$select675 = (($$05881618) + ($90))|0;
+ $spec$select676 = $89 ? $87 : $$05841619;
+ $$1593 = $$05921617;$$1607 = $$06061613;$$1609 = $$06081612;$$1611 = $$06101611;$$1614 = $$06131610;$$1616 = 0;$$1629 = $$06281607;$$2596 = $$05941616;$$2599 = $$1598;$$3587 = $spec$select676;$$3591 = $spec$select675;$$4605 = $$06011614;$$9626 = $$06171608;$$sroa$0$27 = $$sroa$0$3;$$sroa$47$19 = $$sroa$47$2;$$sroa$81$32 = $$sroa$81$2;
+ break L30;
+ break;
+ }
+ case 10: {
+ $91 = ((($$05841619)) + 1|0);
+ $92 = HEAP8[$91>>0]|0;
+ $93 = ($92<<24>>24)==(13);
+ $94 = $93 << 31 >> 31;
+ $spec$select677 = (($$05881618) + ($94))|0;
+ $spec$select678 = $93 ? $91 : $$05841619;
+ $$1593 = $$05921617;$$1607 = $$06061613;$$1609 = $$06081612;$$1611 = $$06101611;$$1614 = $$06131610;$$1616 = 0;$$1629 = $$06281607;$$2596 = $$05941616;$$2599 = $$1598;$$3587 = $spec$select678;$$3591 = $spec$select677;$$4605 = $$06011614;$$9626 = $$06171608;$$sroa$0$27 = $$sroa$0$3;$$sroa$47$19 = $$sroa$47$2;$$sroa$81$32 = $$sroa$81$2;
+ break L30;
+ break;
+ }
+ default: {
+ label = 37;
+ break L18;
+ }
+ }
+ }
+ switch ($61<<24>>24) {
+ case 92: {
+ $$1593 = $$05921617;$$1607 = $$06061613;$$1609 = $$06081612;$$1611 = $$06101611;$$1614 = $$06131610;$$1616 = 1;$$1629 = $$06281607;$$2596 = $$05941616;$$2599 = $$1598;$$3587 = $$05841619;$$3591 = $$05881618;$$4605 = $$06011614;$$9626 = $$06171608;$$sroa$0$27 = $$sroa$0$3;$$sroa$47$19 = $$sroa$47$2;$$sroa$81$32 = $$sroa$81$2;
+ break L30;
+ break;
+ }
+ case 34: {
+ break;
+ }
+ default: {
+ $$1593 = $$05921617;$$1607 = $$06061613;$$1609 = $$06081612;$$1611 = $$06101611;$$1614 = $$06131610;$$1616 = 0;$$1629 = $$06281607;$$2596 = $$05941616;$$2599 = $$1598;$$3587 = $$05841619;$$3591 = $$05881618;$$4605 = $$06011614;$$9626 = $$06171608;$$sroa$0$27 = $$sroa$0$3;$$sroa$47$19 = $$sroa$47$2;$$sroa$81$32 = $$sroa$81$2;
+ break L30;
+ }
+ }
+ $98 = ((($$05941616)) + 1|0);
+ $99 = $$05841619;
+ $100 = $98;
+ $101 = (($99) - ($100))|0;
+ $102 = $$sroa$0$3;
+ $103 = (($$sroa$81$2) - ($$sroa$0$3))|0;
+ $104 = (($101) + 3)|0;
+ $105 = (($104) + ($103))|0;
+ $106 = ($105>>>0)<($$sroa$47$2>>>0);
+ do {
+ if ($106) {
+ $$sroa$0$4899$ph = $$sroa$0$3;$$sroa$47$3898$ph = $$sroa$47$2;$$sroa$81$3897$ph$ptr = $$sroa$81$2$ptr;
+ } else {
+ $107 = $101 << 1;
+ $108 = (($$sroa$47$2) + 6)|0;
+ $109 = (($108) + ($107))|0;
+ $110 = ($109>>>0)>($$sroa$47$2>>>0);
+ if (!($110)) {
+ $$1$i695904 = 67;
+ label = 82;
+ break L18;
+ }
+ $111 = (__gcry_realloc($102,$109)|0);
+ $112 = ($111|0)==(0|0);
+ if ($112) {
+ $115 = (___errno_location()|0);
+ $116 = HEAP32[$115>>2]|0;
+ $117 = (_gpg_err_code_from_errno($116)|0);
+ $118 = ($117|0)==(0);
+ if ($118) {
+ $$sroa$0$4899$ph = $$sroa$0$3;$$sroa$47$3898$ph = $$sroa$47$2;$$sroa$81$3897$ph$ptr = $$sroa$81$2$ptr;
+ break;
+ } else {
+ $$1$i695904 = $117;
+ label = 82;
+ break L18;
+ }
+ } else {
+ $113 = (($111) + ($103)|0);
+ $114 = $111;
+ $$sroa$0$4899$ph = $114;$$sroa$47$3898$ph = $109;$$sroa$81$3897$ph$ptr = $113;
+ break;
+ }
+ }
+ } while(0);
+ $119 = ((($$sroa$81$3897$ph$ptr)) + 1|0);
+ HEAP8[$$sroa$81$3897$ph$ptr>>0] = 1;
+ HEAP8[$119>>0]=0&255;HEAP8[$119+1>>0]=0>>8;
+ $120 = ((($$sroa$81$3897$ph$ptr)) + 3|0);
+ $121 = $120;
+ $122 = ($101|0)==(0);
+ if ($122) {
+ $$pre$phi1940Z2D = $121;
+ } else {
+ $$0112$i = $101;$$072111$i = $120;$$075110$i = $98;$$078109$i = 0;
+ L64: while(1) {
+ $123 = ($$078109$i|0)==(0);
+ $124 = HEAP8[$$075110$i>>0]|0;
+ $125 = $124&255;
+ L66: do {
+ if ($123) {
+ $191 = ($124<<24>>24)==(92);
+ if ($191) {
+ $$179$i = 1;$$2$i = $$0112$i;$$274$i = $$072111$i;$$277$i = $$075110$i;
+ } else {
+ $192 = ((($$072111$i)) + 1|0);
+ HEAP8[$$072111$i>>0] = $124;
+ $$179$i = 0;$$2$i = $$0112$i;$$274$i = $192;$$277$i = $$075110$i;
+ }
+ } else {
+ do {
+ switch ($124<<24>>24) {
+ case 98: {
+ $126 = ((($$072111$i)) + 1|0);
+ HEAP8[$$072111$i>>0] = 8;
+ $$179$i = 0;$$2$i = $$0112$i;$$274$i = $126;$$277$i = $$075110$i;
+ break L66;
+ break;
+ }
+ case 116: {
+ $127 = ((($$072111$i)) + 1|0);
+ HEAP8[$$072111$i>>0] = 9;
+ $$179$i = 0;$$2$i = $$0112$i;$$274$i = $127;$$277$i = $$075110$i;
+ break L66;
+ break;
+ }
+ case 118: {
+ $128 = ((($$072111$i)) + 1|0);
+ HEAP8[$$072111$i>>0] = 11;
+ $$179$i = 0;$$2$i = $$0112$i;$$274$i = $128;$$277$i = $$075110$i;
+ break L66;
+ break;
+ }
+ case 110: {
+ $129 = ((($$072111$i)) + 1|0);
+ HEAP8[$$072111$i>>0] = 10;
+ $$179$i = 0;$$2$i = $$0112$i;$$274$i = $129;$$277$i = $$075110$i;
+ break L66;
+ break;
+ }
+ case 102: {
+ $130 = ((($$072111$i)) + 1|0);
+ HEAP8[$$072111$i>>0] = 12;
+ $$179$i = 0;$$2$i = $$0112$i;$$274$i = $130;$$277$i = $$075110$i;
+ break L66;
+ break;
+ }
+ case 114: {
+ $131 = ((($$072111$i)) + 1|0);
+ HEAP8[$$072111$i>>0] = 13;
+ $$179$i = 0;$$2$i = $$0112$i;$$274$i = $131;$$277$i = $$075110$i;
+ break L66;
+ break;
+ }
+ case 34: {
+ $132 = ((($$072111$i)) + 1|0);
+ HEAP8[$$072111$i>>0] = 34;
+ $$179$i = 0;$$2$i = $$0112$i;$$274$i = $132;$$277$i = $$075110$i;
+ break L66;
+ break;
+ }
+ case 39: {
+ $133 = ((($$072111$i)) + 1|0);
+ HEAP8[$$072111$i>>0] = 39;
+ $$179$i = 0;$$2$i = $$0112$i;$$274$i = $133;$$277$i = $$075110$i;
+ break L66;
+ break;
+ }
+ case 92: {
+ $134 = ((($$072111$i)) + 1|0);
+ HEAP8[$$072111$i>>0] = 92;
+ $$179$i = 0;$$2$i = $$0112$i;$$274$i = $134;$$277$i = $$075110$i;
+ break L66;
+ break;
+ }
+ case 13: {
+ $135 = ($$0112$i>>>0)>(1);
+ $136 = ((($$075110$i)) + 1|0);
+ if (!($135)) {
+ $$072$lcssa$i$ph = $$072111$i;
+ break L64;
+ }
+ $137 = HEAP8[$136>>0]|0;
+ $138 = ($137<<24>>24)==(10);
+ $spec$select$i = $138 ? $136 : $$075110$i;
+ $139 = $138 << 31 >> 31;
+ $spec$select81$i = (($$0112$i) + ($139))|0;
+ $$179$i = 0;$$2$i = $spec$select81$i;$$274$i = $$072111$i;$$277$i = $spec$select$i;
+ break L66;
+ break;
+ }
+ case 10: {
+ $140 = ($$0112$i>>>0)>(1);
+ $141 = ((($$075110$i)) + 1|0);
+ if (!($140)) {
+ $$072$lcssa$i$ph = $$072111$i;
+ break L64;
+ }
+ $142 = HEAP8[$141>>0]|0;
+ $143 = ($142<<24>>24)==(13);
+ $spec$select82$i = $143 ? $141 : $$075110$i;
+ $144 = $143 << 31 >> 31;
+ $spec$select83$i = (($$0112$i) + ($144))|0;
+ $$179$i = 0;$$2$i = $spec$select83$i;$$274$i = $$072111$i;$$277$i = $spec$select82$i;
+ break L66;
+ break;
+ }
+ case 120: {
+ $145 = ($$0112$i>>>0)>(2);
+ if (!($145)) {
+ $$179$i = 0;$$2$i = $$0112$i;$$274$i = $$072111$i;$$277$i = $$075110$i;
+ break L66;
+ }
+ $146 = ((($$075110$i)) + 1|0);
+ $147 = HEAP8[$146>>0]|0;
+ $148 = ($147&255)<(58);
+ $$off$i = (($147) + -48)<<24>>24;
+ $149 = ($$off$i&255)<(10);
+ if (!($149)) {
+ switch ($147<<24>>24) {
+ case 65: case 66: case 67: case 68: case 69: case 70: case 97: case 98: case 99: case 100: case 101: case 102: {
+ break;
+ }
+ default: {
+ $$179$i = 0;$$2$i = $$0112$i;$$274$i = $$072111$i;$$277$i = $$075110$i;
+ break L66;
+ }
+ }
+ }
+ $150 = ((($$075110$i)) + 2|0);
+ $151 = HEAP8[$150>>0]|0;
+ $152 = ($151&255)<(58);
+ $$off95$i = (($151) + -48)<<24>>24;
+ $153 = ($$off95$i&255)<(10);
+ if (!($153)) {
+ switch ($151<<24>>24) {
+ case 65: case 66: case 67: case 68: case 69: case 70: case 97: case 98: case 99: case 100: case 101: case 102: {
+ break;
+ }
+ default: {
+ $$179$i = 0;$$2$i = $$0112$i;$$274$i = $$072111$i;$$277$i = $$075110$i;
+ break L66;
+ }
+ }
+ }
+ $154 = $147&255;
+ if ($148) {
+ $155 = (($154) + -48)|0;
+ $159 = $155;
+ } else {
+ $156 = ($147&255)<(71);
+ $$v$i = $156 ? -55 : -87;
+ $157 = (($$v$i) + ($154))|0;
+ $159 = $157;
+ }
+ $158 = $159 << 4;
+ $160 = $151&255;
+ if ($152) {
+ $161 = (($160) + -48)|0;
+ $165 = $161;
+ } else {
+ $162 = ($151&255)<(71);
+ $$v80$i = $162 ? -55 : -87;
+ $163 = (($$v80$i) + ($160))|0;
+ $165 = $163;
+ }
+ $164 = (($165) + ($158))|0;
+ $166 = $164&255;
+ $167 = ((($$072111$i)) + 1|0);
+ HEAP8[$$072111$i>>0] = $166;
+ $168 = (($$0112$i) + -2)|0;
+ $$179$i = 0;$$2$i = $168;$$274$i = $167;$$277$i = $150;
+ break L66;
+ break;
+ }
+ default: {
+ $169 = ($$0112$i>>>0)>(2);
+ $170 = $124 & -8;
+ $171 = ($170<<24>>24)==(48);
+ $172 = $169 & $171;
+ if (!($172)) {
+ $$179$i = 0;$$2$i = $$0112$i;$$274$i = $$072111$i;$$277$i = $$075110$i;
+ break L66;
+ }
+ $173 = ((($$075110$i)) + 1|0);
+ $174 = HEAP8[$173>>0]|0;
+ $175 = $174 & -8;
+ $176 = ($175<<24>>24)==(48);
+ if (!($176)) {
+ $$179$i = 0;$$2$i = $$0112$i;$$274$i = $$072111$i;$$277$i = $$075110$i;
+ break L66;
+ }
+ $177 = ((($$075110$i)) + 2|0);
+ $178 = HEAP8[$177>>0]|0;
+ $179 = $178 & -8;
+ $180 = ($179<<24>>24)==(48);
+ if (!($180)) {
+ $$179$i = 0;$$2$i = $$0112$i;$$274$i = $$072111$i;$$277$i = $$075110$i;
+ break L66;
+ }
+ $181 = (($$0112$i) + -2)|0;
+ $182 = ((($$072111$i)) + 1|0);
+ $183 = $125 << 6;
+ $184 = $174&255;
+ $185 = $184 << 3;
+ $186 = $178&255;
+ $187 = (($183) + 80)|0;
+ $188 = (($187) + ($185))|0;
+ $189 = (($188) + ($186))|0;
+ $190 = $189&255;
+ HEAP8[$$072111$i>>0] = $190;
+ $$179$i = 0;$$2$i = $181;$$274$i = $182;$$277$i = $177;
+ break L66;
+ }
+ }
+ } while(0);
+ }
+ } while(0);
+ $193 = (($$2$i) + -1)|0;
+ $194 = ((($$277$i)) + 1|0);
+ $195 = ($193|0)==(0);
+ if ($195) {
+ $$072$lcssa$i$ph = $$274$i;
+ break;
+ } else {
+ $$0112$i = $193;$$072111$i = $$274$i;$$075110$i = $194;$$078109$i = $$179$i;
+ }
+ }
+ $$pre1939 = $$072$lcssa$i$ph;
+ $$pre$phi1940Z2D = $$pre1939;
+ }
+ $196 = (($$pre$phi1940Z2D) - ($121))|0;
+ $197 = $196&65535;
+ HEAP8[$119>>0]=$197&255;HEAP8[$119+1>>0]=$197>>8;
+ $$1593 = $$05921617;$$1607 = $$06061613;$$1609 = $$06081612;$$1611 = $$06101611;$$1614 = $$06131610;$$1616 = 0;$$1629 = $$06281607;$$2596 = 0;$$2599 = $$1598;$$3587 = $$05841619;$$3591 = $$05881618;$$4605 = $$06011614;$$9626 = $$06171608;$$sroa$0$27 = $$sroa$0$4899$ph;$$sroa$47$19 = $$sroa$47$3898$ph;$$sroa$81$32 = $$pre$phi1940Z2D;
+ break;
+ }
+ if ($28) {
+ $200 = HEAP8[$$05841619>>0]|0;
+ $201 = $200 << 24 >> 24;
+ $202 = (_isxdigit($201)|0);
+ $203 = ($202|0)==(0);
+ if (!($203)) {
+ $204 = (($$06131610) + 1)|0;
+ $$1593 = $$05921617;$$1607 = $$06061613;$$1609 = $$06081612;$$1611 = $$06101611;$$1614 = $204;$$1616 = $$06151609;$$1629 = $$06281607;$$2596 = 0;$$2599 = $$1598;$$3587 = $$05841619;$$3591 = $$05881618;$$4605 = $$06011614;$$9626 = $$06171608;$$sroa$0$27 = $$sroa$0$3;$$sroa$47$19 = $$sroa$47$2;$$sroa$81$32 = $$sroa$81$2;
+ break;
+ }
+ $205 = ($200<<24>>24)==(35);
+ if (!($205)) {
+ switch ($201|0) {
+ case 10: case 13: case 12: case 11: case 9: case 32: {
+ $$1593 = $$05921617;$$1607 = $$06061613;$$1609 = $$06081612;$$1611 = $$06101611;$$1614 = $$06131610;$$1616 = $$06151609;$$1629 = $$06281607;$$2596 = 0;$$2599 = $$1598;$$3587 = $$05841619;$$3591 = $$05881618;$$4605 = $$06011614;$$9626 = $$06171608;$$sroa$0$27 = $$sroa$0$3;$$sroa$47$19 = $$sroa$47$2;$$sroa$81$32 = $$sroa$81$2;
+ break L30;
+ break;
+ }
+ default: {
+ label = 114;
+ break L18;
+ }
+ }
+ }
+ $206 = $$06131610 & 1;
+ $207 = ($206|0)==(0);
+ if (!($207)) {
+ label = 88;
+ break L18;
+ }
+ $211 = (($$06131610|0) / 2)&-1;
+ $212 = $$sroa$0$3;
+ $213 = (($$sroa$81$2) - ($$sroa$0$3))|0;
+ $214 = (($211) + 3)|0;
+ $215 = (($214) + ($213))|0;
+ $216 = ($215>>>0)<($$sroa$47$2>>>0);
+ do {
+ if ($216) {
+ $$sroa$0$5915$ph = $$sroa$0$3;$$sroa$47$4914$ph = $$sroa$47$2;$$sroa$81$5913$ph$ptr = $$sroa$81$2$ptr;
+ } else {
+ $217 = $211 << 1;
+ $218 = (($$sroa$47$2) + 6)|0;
+ $219 = (($218) + ($217))|0;
+ $220 = ($219>>>0)>($$sroa$47$2>>>0);
+ if (!($220)) {
+ $$1$i697920 = 67;
+ label = 94;
+ break L18;
+ }
+ $221 = (__gcry_realloc($212,$219)|0);
+ $222 = ($221|0)==(0|0);
+ if ($222) {
+ $225 = (___errno_location()|0);
+ $226 = HEAP32[$225>>2]|0;
+ $227 = (_gpg_err_code_from_errno($226)|0);
+ $228 = ($227|0)==(0);
+ if ($228) {
+ $$sroa$0$5915$ph = $$sroa$0$3;$$sroa$47$4914$ph = $$sroa$47$2;$$sroa$81$5913$ph$ptr = $$sroa$81$2$ptr;
+ break;
+ } else {
+ $$1$i697920 = $227;
+ label = 94;
+ break L18;
+ }
+ } else {
+ $223 = (($221) + ($213)|0);
+ $224 = $221;
+ $$sroa$0$5915$ph = $224;$$sroa$47$4914$ph = $219;$$sroa$81$5913$ph$ptr = $223;
+ break;
+ }
+ }
+ } while(0);
+ $232 = ((($$sroa$81$5913$ph$ptr)) + 1|0);
+ HEAP8[$$sroa$81$5913$ph$ptr>>0] = 1;
+ $233 = $211&65535;
+ HEAP8[$232>>0]=$233&255;HEAP8[$232+1>>0]=$233>>8;
+ $234 = ((($$sroa$81$5913$ph$ptr)) + 3|0);
+ $235 = $234;
+ $$16021598 = ((($$06011614)) + 1|0);
+ $236 = ($$16021598>>>0)<($$05841619>>>0);
+ if (!($236)) {
+ $$1593 = $$05921617;$$1607 = $$06061613;$$1609 = $$06081612;$$1611 = $$06101611;$$1614 = $$06131610;$$1616 = $$06151609;$$1629 = $$06281607;$$2596 = 0;$$2599 = $$1598;$$3587 = $$05841619;$$3591 = $$05881618;$$4605 = 0;$$9626 = $$06171608;$$sroa$0$27 = $$sroa$0$5915$ph;$$sroa$47$19 = $$sroa$47$4914$ph;$$sroa$81$32 = $235;
+ break;
+ }
+ $$0601$pn1600 = $$06011614;$$16021601 = $$16021598;$$sroa$81$61599 = $235;
+ while(1) {
+ $$1602$val = HEAP8[$$16021601>>0]|0;
+ $237 = $$1602$val << 24 >> 24;
+ switch ($237|0) {
+ case 10: case 13: case 12: case 11: case 9: case 32: {
+ $$3604 = $$16021601;$$sroa$81$7 = $$sroa$81$61599;
+ break;
+ }
+ default: {
+ $238 = $$1602$val&255;
+ $$off$i699 = (($238) + -48)|0;
+ $239 = ($$off$i699>>>0)<(10);
+ do {
+ if ($239) {
+ $250 = $$off$i699;
+ } else {
+ $$off13$i = (($238) + -65)|0;
+ $240 = ($$off13$i>>>0)<(6);
+ if ($240) {
+ $241 = (($238) + -55)|0;
+ $250 = $241;
+ break;
+ } else {
+ $$off14$i = (($238) + -97)|0;
+ $242 = ($$off14$i>>>0)<(6);
+ $243 = (($238) + -87)|0;
+ $spec$select$i700 = $242 ? $243 : 0;
+ $250 = $spec$select$i700;
+ break;
+ }
+ }
+ } while(0);
+ $244 = ((($$0601$pn1600)) + 2|0);
+ $245 = ($244>>>0)<($$05841619>>>0);
+ L135: do {
+ if ($245) {
+ $$26031595 = $244;
+ L137: while(1) {
+ $$2603$val = HEAP8[$$26031595>>0]|0;
+ $246 = $$2603$val << 24 >> 24;
+ switch ($246|0) {
+ case 10: case 13: case 12: case 11: case 9: case 32: {
+ break;
+ }
+ default: {
+ break L137;
+ }
+ }
+ $247 = ((($$26031595)) + 1|0);
+ $248 = ($247>>>0)<($$05841619>>>0);
+ if ($248) {
+ $$26031595 = $247;
+ } else {
+ $$0657 = $250;$$26031169 = $247;
+ break L135;
+ }
+ }
+ $249 = $250 << 4;
+ $251 = $$2603$val&255;
+ $$off$i704 = (($251) + -48)|0;
+ $252 = ($$off$i704>>>0)<(10);
+ do {
+ if ($252) {
+ $258 = $$off$i704;
+ } else {
+ $$off13$i705 = (($251) + -65)|0;
+ $253 = ($$off13$i705>>>0)<(6);
+ if ($253) {
+ $254 = (($251) + -55)|0;
+ $258 = $254;
+ break;
+ } else {
+ $$off14$i706 = (($251) + -97)|0;
+ $255 = ($$off14$i706>>>0)<(6);
+ $256 = (($251) + -87)|0;
+ $spec$select$i707 = $255 ? $256 : 0;
+ $258 = $spec$select$i707;
+ break;
+ }
+ }
+ } while(0);
+ $257 = (($258) + ($249))|0;
+ $$0657 = $257;$$26031169 = $$26031595;
+ } else {
+ $$0657 = $250;$$26031169 = $244;
+ }
+ } while(0);
+ $259 = $$0657&255;
+ $260 = $$sroa$81$61599;
+ $261 = ((($260)) + 1|0);
+ $262 = $261;
+ HEAP8[$260>>0] = $259;
+ $$3604 = $$26031169;$$sroa$81$7 = $262;
+ }
+ }
+ $$1602 = ((($$3604)) + 1|0);
+ $263 = ($$1602>>>0)<($$05841619>>>0);
+ if ($263) {
+ $$0601$pn1600 = $$3604;$$16021601 = $$1602;$$sroa$81$61599 = $$sroa$81$7;
+ } else {
+ $$1593 = $$05921617;$$1607 = $$06061613;$$1609 = $$06081612;$$1611 = $$06101611;$$1614 = $$06131610;$$1616 = $$06151609;$$1629 = $$06281607;$$2596 = 0;$$2599 = $$1598;$$3587 = $$05841619;$$3591 = $$05881618;$$4605 = 0;$$9626 = $$06171608;$$sroa$0$27 = $$sroa$0$5915$ph;$$sroa$47$19 = $$sroa$47$4914$ph;$$sroa$81$32 = $$sroa$81$7;
+ break L30;
+ }
+ }
+ }
+ $267 = ($$06061613|0)==(0|0);
+ if (!($267)) {
+ $268 = HEAP8[$$05841619>>0]|0;
+ $269 = ($268<<24>>24)==(124);
+ $spec$select682 = $269 ? 0 : $$06061613;
+ $$1593 = $$05921617;$$1607 = $spec$select682;$$1609 = $$06081612;$$1611 = $$06101611;$$1614 = $$06131610;$$1616 = $$06151609;$$1629 = $$06281607;$$2596 = 0;$$2599 = $$1598;$$3587 = $$05841619;$$3591 = $$05881618;$$4605 = 0;$$9626 = $$06171608;$$sroa$0$27 = $$sroa$0$3;$$sroa$47$19 = $$sroa$47$2;$$sroa$81$32 = $$sroa$81$2;
+ break;
+ }
+ $270 = ($$05921617|0)==(0|0);
+ if (!($270)) {
+ $271 = HEAP8[$$05841619>>0]|0;
+ $$off1139 = (($271) + -48)<<24>>24;
+ $272 = ($$off1139&255)<(10);
+ if ($272) {
+ $$1593 = $$05921617;$$1607 = 0;$$1609 = $$06081612;$$1611 = $$06101611;$$1614 = $$06131610;$$1616 = $$06151609;$$1629 = $$06281607;$$2596 = 0;$$2599 = $$1598;$$3587 = $$05841619;$$3591 = $$05881618;$$4605 = 0;$$9626 = $$06171608;$$sroa$0$27 = $$sroa$0$3;$$sroa$47$19 = $$sroa$47$2;$$sroa$81$32 = $$sroa$81$2;
+ break;
+ }
+ switch ($271<<24>>24) {
+ case 34: {
+ $$1593 = 0;$$1607 = 0;$$1609 = $$06081612;$$1611 = $$06101611;$$1614 = $$06131610;$$1616 = 0;$$1629 = $$06281607;$$2596 = $$05841619;$$2599 = $$1598;$$3587 = $$05841619;$$3591 = $$05881618;$$4605 = 0;$$9626 = $$06171608;$$sroa$0$27 = $$sroa$0$3;$$sroa$47$19 = $$sroa$47$2;$$sroa$81$32 = $$sroa$81$2;
+ break L30;
+ break;
+ }
+ case 58: {
+ $273 = (_atoi($$05921617)|0);
+ $274 = (($$05881618) + -1)|0;
+ $275 = ($273>>>0)>($274>>>0);
+ if ($275) {
+ label = 121;
+ break L18;
+ }
+ $279 = $$sroa$0$3;
+ $280 = (($$sroa$81$2) - ($$sroa$0$3))|0;
+ $281 = (($280) + 3)|0;
+ $282 = (($281) + ($273))|0;
+ $283 = ($282>>>0)<($$sroa$47$2>>>0);
+ do {
+ if ($283) {
+ $$sroa$0$6929$ph = $$sroa$0$3;$$sroa$47$5928$ph = $$sroa$47$2;$$sroa$81$8927$ph$ptr = $$sroa$81$2$ptr;
+ } else {
+ $284 = $273 << 1;
+ $285 = (($$sroa$47$2) + 6)|0;
+ $286 = (($285) + ($284))|0;
+ $287 = ($286>>>0)>($$sroa$47$2>>>0);
+ if (!($287)) {
+ $$1$i712934 = 67;
+ label = 127;
+ break L18;
+ }
+ $288 = (__gcry_realloc($279,$286)|0);
+ $289 = ($288|0)==(0|0);
+ if ($289) {
+ $292 = (___errno_location()|0);
+ $293 = HEAP32[$292>>2]|0;
+ $294 = (_gpg_err_code_from_errno($293)|0);
+ $295 = ($294|0)==(0);
+ if ($295) {
+ $$sroa$0$6929$ph = $$sroa$0$3;$$sroa$47$5928$ph = $$sroa$47$2;$$sroa$81$8927$ph$ptr = $$sroa$81$2$ptr;
+ break;
+ } else {
+ $$1$i712934 = $294;
+ label = 127;
+ break L18;
+ }
+ } else {
+ $290 = (($288) + ($280)|0);
+ $291 = $288;
+ $$sroa$0$6929$ph = $291;$$sroa$47$5928$ph = $286;$$sroa$81$8927$ph$ptr = $290;
+ break;
+ }
+ }
+ } while(0);
+ $299 = ((($$sroa$81$8927$ph$ptr)) + 1|0);
+ HEAP8[$$sroa$81$8927$ph$ptr>>0] = 1;
+ $300 = $273&65535;
+ HEAP8[$299>>0]=$300&255;HEAP8[$299+1>>0]=$300>>8;
+ $301 = ((($$sroa$81$8927$ph$ptr)) + 3|0);
+ $302 = ((($$05841619)) + 1|0);
+ _memcpy(($301|0),($302|0),($273|0))|0;
+ $303 = (($301) + ($273)|0);
+ $304 = $303;
+ $305 = (($$05881618) - ($273))|0;
+ $306 = (($$05841619) + ($273)|0);
+ $$1593 = 0;$$1607 = 0;$$1609 = $$06081612;$$1611 = $$06101611;$$1614 = $$06131610;$$1616 = $$06151609;$$1629 = $$06281607;$$2596 = 0;$$2599 = $$1598;$$3587 = $306;$$3591 = $305;$$4605 = 0;$$9626 = $$06171608;$$sroa$0$27 = $$sroa$0$6929$ph;$$sroa$47$19 = $$sroa$47$5928$ph;$$sroa$81$32 = $304;
+ break L30;
+ break;
+ }
+ case 35: {
+ $$1593 = 0;$$1607 = 0;$$1609 = $$06081612;$$1611 = $$06101611;$$1614 = 0;$$1616 = $$06151609;$$1629 = $$06281607;$$2596 = 0;$$2599 = $$1598;$$3587 = $$05841619;$$3591 = $$05881618;$$4605 = $$05841619;$$9626 = $$06171608;$$sroa$0$27 = $$sroa$0$3;$$sroa$47$19 = $$sroa$47$2;$$sroa$81$32 = $$sroa$81$2;
+ break L30;
+ break;
+ }
+ case 124: {
+ $$1593 = 0;$$1607 = $$05841619;$$1609 = $$06081612;$$1611 = $$06101611;$$1614 = $$06131610;$$1616 = $$06151609;$$1629 = $$06281607;$$2596 = 0;$$2599 = $$1598;$$3587 = $$05841619;$$3591 = $$05881618;$$4605 = 0;$$9626 = $$06171608;$$sroa$0$27 = $$sroa$0$3;$$sroa$47$19 = $$sroa$47$2;$$sroa$81$32 = $$sroa$81$2;
+ break L30;
+ break;
+ }
+ default: {
+ label = 131;
+ break L18;
+ }
+ }
+ }
+ $310 = ($$06101611|0)==(0|0);
+ $311 = HEAP8[$$05841619>>0]|0;
+ if ($310) {
+ switch ($311<<24>>24) {
+ case 34: {
+ $$1593 = 0;$$1607 = 0;$$1609 = $$06081612;$$1611 = 0;$$1614 = $$06131610;$$1616 = 0;$$1629 = $$06281607;$$2596 = $$05841619;$$2599 = $$1598;$$3587 = $$05841619;$$3591 = $$05881618;$$4605 = 0;$$9626 = $$06171608;$$sroa$0$27 = $$sroa$0$3;$$sroa$47$19 = $$sroa$47$2;$$sroa$81$32 = $$sroa$81$2;
+ break L30;
+ break;
+ }
+ case 40: {
+ $652 = ($$06081612|0)==(0|0);
+ if (!($652)) {
+ label = 239;
+ break L18;
+ }
+ $656 = $$sroa$0$3;
+ $657 = (($$sroa$81$2) - ($$sroa$0$3))|0;
+ $658 = (($657) + 3)|0;
+ $659 = ($658>>>0)<($$sroa$47$2>>>0);
+ do {
+ if ($659) {
+ $$sroa$0$251079$ph = $$sroa$0$3;$$sroa$47$171078$ph = $$sroa$47$2;$$sroa$81$301077$ph$ptr = $$sroa$81$2$ptr;
+ } else {
+ $660 = (($$sroa$47$2) + 6)|0;
+ $661 = ($$sroa$47$2>>>0)<(4294967290);
+ if (!($661)) {
+ $$1$i7301084 = 67;
+ label = 245;
+ break L18;
+ }
+ $662 = (__gcry_realloc($656,$660)|0);
+ $663 = ($662|0)==(0|0);
+ if ($663) {
+ $666 = (___errno_location()|0);
+ $667 = HEAP32[$666>>2]|0;
+ $668 = (_gpg_err_code_from_errno($667)|0);
+ $669 = ($668|0)==(0);
+ if ($669) {
+ $$sroa$0$251079$ph = $$sroa$0$3;$$sroa$47$171078$ph = $$sroa$47$2;$$sroa$81$301077$ph$ptr = $$sroa$81$2$ptr;
+ break;
+ } else {
+ $$1$i7301084 = $668;
+ label = 245;
+ break L18;
+ }
+ } else {
+ $664 = (($662) + ($657)|0);
+ $665 = $662;
+ $$sroa$0$251079$ph = $665;$$sroa$47$171078$ph = $660;$$sroa$81$301077$ph$ptr = $664;
+ break;
+ }
+ }
+ } while(0);
+ $673 = ((($$sroa$81$301077$ph$ptr)) + 1|0);
+ $674 = $673;
+ HEAP8[$$sroa$81$301077$ph$ptr>>0] = 3;
+ $675 = (($$06281607) + 1)|0;
+ $$1593 = 0;$$1607 = 0;$$1609 = 0;$$1611 = 0;$$1614 = $$06131610;$$1616 = $$06151609;$$1629 = $675;$$2596 = 0;$$2599 = $$1598;$$3587 = $$05841619;$$3591 = $$05881618;$$4605 = 0;$$9626 = $$06171608;$$sroa$0$27 = $$sroa$0$251079$ph;$$sroa$47$19 = $$sroa$47$171078$ph;$$sroa$81$32 = $674;
+ break L30;
+ break;
+ }
+ case 41: {
+ $676 = ($$06081612|0)==(0|0);
+ if (!($676)) {
+ label = 248;
+ break L18;
+ }
+ $680 = $$sroa$0$3;
+ $681 = (($$sroa$81$2) - ($$sroa$0$3))|0;
+ $682 = (($681) + 3)|0;
+ $683 = ($682>>>0)<($$sroa$47$2>>>0);
+ do {
+ if ($683) {
+ $$sroa$0$261094$ph = $$sroa$0$3;$$sroa$47$181093$ph = $$sroa$47$2;$$sroa$81$311092$ph$ptr = $$sroa$81$2$ptr;
+ } else {
+ $684 = (($$sroa$47$2) + 6)|0;
+ $685 = ($$sroa$47$2>>>0)<(4294967290);
+ if (!($685)) {
+ $$1$i7321099 = 67;
+ label = 254;
+ break L18;
+ }
+ $686 = (__gcry_realloc($680,$684)|0);
+ $687 = ($686|0)==(0|0);
+ if ($687) {
+ $690 = (___errno_location()|0);
+ $691 = HEAP32[$690>>2]|0;
+ $692 = (_gpg_err_code_from_errno($691)|0);
+ $693 = ($692|0)==(0);
+ if ($693) {
+ $$sroa$0$261094$ph = $$sroa$0$3;$$sroa$47$181093$ph = $$sroa$47$2;$$sroa$81$311092$ph$ptr = $$sroa$81$2$ptr;
+ break;
+ } else {
+ $$1$i7321099 = $692;
+ label = 254;
+ break L18;
+ }
+ } else {
+ $688 = (($686) + ($681)|0);
+ $689 = $686;
+ $$sroa$0$261094$ph = $689;$$sroa$47$181093$ph = $684;$$sroa$81$311092$ph$ptr = $688;
+ break;
+ }
+ }
+ } while(0);
+ $697 = ((($$sroa$81$311092$ph$ptr)) + 1|0);
+ $698 = $697;
+ HEAP8[$$sroa$81$311092$ph$ptr>>0] = 4;
+ $699 = (($$06281607) + -1)|0;
+ $$1593 = 0;$$1607 = 0;$$1609 = 0;$$1611 = 0;$$1614 = $$06131610;$$1616 = $$06151609;$$1629 = $699;$$2596 = 0;$$2599 = $$1598;$$3587 = $$05841619;$$3591 = $$05881618;$$4605 = 0;$$9626 = $$06171608;$$sroa$0$27 = $$sroa$0$261094$ph;$$sroa$47$19 = $$sroa$47$181093$ph;$$sroa$81$32 = $698;
+ break L30;
+ break;
+ }
+ case 35: {
+ $$1593 = 0;$$1607 = 0;$$1609 = $$06081612;$$1611 = 0;$$1614 = 0;$$1616 = $$06151609;$$1629 = $$06281607;$$2596 = 0;$$2599 = $$1598;$$3587 = $$05841619;$$3591 = $$05881618;$$4605 = $$05841619;$$9626 = $$06171608;$$sroa$0$27 = $$sroa$0$3;$$sroa$47$19 = $$sroa$47$2;$$sroa$81$32 = $$sroa$81$2;
+ break L30;
+ break;
+ }
+ case 124: {
+ $$1593 = 0;$$1607 = $$05841619;$$1609 = $$06081612;$$1611 = 0;$$1614 = $$06131610;$$1616 = $$06151609;$$1629 = $$06281607;$$2596 = 0;$$2599 = $$1598;$$3587 = $$05841619;$$3591 = $$05881618;$$4605 = 0;$$9626 = $$06171608;$$sroa$0$27 = $$sroa$0$3;$$sroa$47$19 = $$sroa$47$2;$$sroa$81$32 = $$sroa$81$2;
+ break L30;
+ break;
+ }
+ case 91: {
+ $700 = ($$06081612|0)==(0|0);
+ if ($700) {
+ $$1593 = 0;$$1607 = 0;$$1609 = $$05841619;$$1611 = 0;$$1614 = $$06131610;$$1616 = $$06151609;$$1629 = $$06281607;$$2596 = 0;$$2599 = $$1598;$$3587 = $$05841619;$$3591 = $$05881618;$$4605 = 0;$$9626 = $$06171608;$$sroa$0$27 = $$sroa$0$3;$$sroa$47$19 = $$sroa$47$2;$$sroa$81$32 = $$sroa$81$2;
+ break L30;
+ } else {
+ label = 259;
+ break L18;
+ }
+ break;
+ }
+ case 93: {
+ $704 = ($$06081612|0)==(0|0);
+ if ($704) {
+ label = 261;
+ break L18;
+ } else {
+ $$1593 = 0;$$1607 = 0;$$1609 = 0;$$1611 = 0;$$1614 = $$06131610;$$1616 = $$06151609;$$1629 = $$06281607;$$2596 = 0;$$2599 = $$1598;$$3587 = $$05841619;$$3591 = $$05881618;$$4605 = 0;$$9626 = $$06171608;$$sroa$0$27 = $$sroa$0$3;$$sroa$47$19 = $$sroa$47$2;$$sroa$81$32 = $$sroa$81$2;
+ break L30;
+ }
+ break;
+ }
+ default: {
+ $$off1140 = (($311) + -48)<<24>>24;
+ $708 = ($$off1140&255)<(10);
+ if ($708) {
+ $709 = ($311<<24>>24)==(48);
+ if ($709) {
+ label = 264;
+ break L18;
+ } else {
+ $$1593 = $$05841619;$$1607 = 0;$$1609 = $$06081612;$$1611 = 0;$$1614 = $$06131610;$$1616 = $$06151609;$$1629 = $$06281607;$$2596 = 0;$$2599 = $$1598;$$3587 = $$05841619;$$3591 = $$05881618;$$4605 = 0;$$9626 = $$06171608;$$sroa$0$27 = $$sroa$0$3;$$sroa$47$19 = $$sroa$47$2;$$sroa$81$32 = $$sroa$81$2;
+ break L30;
+ }
+ }
+ $713 = $311 << 24 >> 24;
+ $memchr663 = (_memchr(16,$713,71)|0);
+ $714 = ($memchr663|0)==(0|0);
+ if (!($714)) {
+ $$1593 = 0;$$1607 = 0;$$1609 = $$06081612;$$1611 = 0;$$1614 = $$06131610;$$1616 = $$06151609;$$1629 = $$06281607;$$2596 = 0;$$2599 = $$05841619;$$3587 = $$05841619;$$3591 = $$05881618;$$4605 = 0;$$9626 = $$06171608;$$sroa$0$27 = $$sroa$0$3;$$sroa$47$19 = $$sroa$47$2;$$sroa$81$32 = $$sroa$81$2;
+ break L30;
+ }
+ switch ($713|0) {
+ case 10: case 13: case 12: case 11: case 9: case 32: {
+ $$1593 = 0;$$1607 = 0;$$1609 = $$06081612;$$1611 = 0;$$1614 = $$06131610;$$1616 = $$06151609;$$1629 = $$06281607;$$2596 = 0;$$2599 = $$1598;$$3587 = $$05841619;$$3591 = $$05881618;$$4605 = 0;$$9626 = $$06171608;$$sroa$0$27 = $$sroa$0$3;$$sroa$47$19 = $$sroa$47$2;$$sroa$81$32 = $$sroa$81$2;
+ break L30;
+ break;
+ }
+ default: {
+ }
+ }
+ $715 = ($311<<24>>24)==(123);
+ if ($715) {
+ label = 268;
+ break L18;
+ }
+ $memchr664 = (_memchr(44690,$713,3)|0);
+ $719 = ($memchr664|0)==(0|0);
+ if (!($719)) {
+ label = 270;
+ break L18;
+ }
+ $723 = ($311<<24>>24)==(37);
+ $or$cond1130 = $26 & $723;
+ if ($or$cond1130) {
+ $$1593 = 0;$$1607 = 0;$$1609 = $$06081612;$$1611 = $$05841619;$$1614 = $$06131610;$$1616 = $$06151609;$$1629 = $$06281607;$$2596 = 0;$$2599 = $$1598;$$3587 = $$05841619;$$3591 = $$05881618;$$4605 = 0;$$9626 = $$06171608;$$sroa$0$27 = $$sroa$0$3;$$sroa$47$19 = $$sroa$47$2;$$sroa$81$32 = $$sroa$81$2;
+ break L30;
+ } else {
+ label = 272;
+ break L18;
+ }
+ }
+ }
+ }
+ switch ($311<<24>>24) {
+ case 77: case 109: {
+ HEAP32[$8>>2] = 0;
+ $312 = HEAP8[$$05841619>>0]|0;
+ $313 = ($312<<24>>24)==(109);
+ $314 = $313 ? 1 : 5;
+ if ($25) {
+ $arglist_current = HEAP32[$6>>2]|0;
+ $315 = $arglist_current;
+ $316 = ((0) + 4|0);
+ $expanded22 = $316;
+ $expanded = (($expanded22) - 1)|0;
+ $317 = (($315) + ($expanded))|0;
+ $318 = ((0) + 4|0);
+ $expanded26 = $318;
+ $expanded25 = (($expanded26) - 1)|0;
+ $expanded24 = $expanded25 ^ -1;
+ $319 = $317 & $expanded24;
+ $320 = $319;
+ $321 = HEAP32[$320>>2]|0;
+ $arglist_next = ((($320)) + 4|0);
+ HEAP32[$6>>2] = $arglist_next;
+ $$0658 = $321;$$1618 = $$06171608;
+ } else {
+ $322 = (($$06171608) + 1)|0;
+ $323 = (($5) + ($$06171608<<2)|0);
+ $324 = HEAP32[$323>>2]|0;
+ $325 = HEAP32[$324>>2]|0;
+ $$0658 = $325;$$1618 = $322;
+ }
+ $326 = (__gcry_mpi_get_flag($$0658,2)|0);
+ $327 = ($326|0)==(0);
+ if ($327) {
+ $375 = (__gcry_mpi_print($314,0,0,$8,$$0658)|0);
+ $376 = ($375|0)==(0);
+ if (!($376)) {
+ label = 154;
+ break L18;
+ }
+ $377 = HEAP32[$8>>2]|0;
+ $378 = $$sroa$0$3;
+ $379 = (($$sroa$81$2) - ($$sroa$0$3))|0;
+ $380 = (($379) + 3)|0;
+ $381 = (($380) + ($377))|0;
+ $382 = ($381>>>0)<($$sroa$47$2>>>0);
+ do {
+ if ($382) {
+ $$pre$phiZ2D = $378;$$sroa$0$11962$ph = $$sroa$0$3;$$sroa$47$8960$ph = $$sroa$47$2;$$sroa$81$13959$ph = $$sroa$81$2;$$sroa$81$13959$ph$ptr$pre$phiZZZZZZ2D = $$sroa$81$2$ptr;
+ } else {
+ $383 = $377 << 1;
+ $384 = (($$sroa$47$2) + 6)|0;
+ $385 = (($384) + ($383))|0;
+ $386 = ($385>>>0)>($$sroa$47$2>>>0);
+ if (!($386)) {
+ $$1$i716967 = 67;
+ label = 160;
+ break L18;
+ }
+ $387 = (__gcry_realloc($378,$385)|0);
+ $388 = ($387|0)==(0|0);
+ if ($388) {
+ $392 = (___errno_location()|0);
+ $393 = HEAP32[$392>>2]|0;
+ $394 = (_gpg_err_code_from_errno($393)|0);
+ $395 = ($394|0)==(0);
+ if ($395) {
+ $$pre$phiZ2D = $378;$$sroa$0$11962$ph = $$sroa$0$3;$$sroa$47$8960$ph = $$sroa$47$2;$$sroa$81$13959$ph = $$sroa$81$2;$$sroa$81$13959$ph$ptr$pre$phiZZZZZZ2D = $$sroa$81$2$ptr;
+ break;
+ } else {
+ $$1$i716967 = $394;
+ label = 160;
+ break L18;
+ }
+ } else {
+ $389 = (($387) + ($379)|0);
+ $390 = $389;
+ $391 = $387;
+ $$pre$phiZ2D = $387;$$sroa$0$11962$ph = $391;$$sroa$47$8960$ph = $385;$$sroa$81$13959$ph = $390;$$sroa$81$13959$ph$ptr$pre$phiZZZZZZ2D = $389;
+ break;
+ }
+ }
+ } while(0);
+ $399 = (__gcry_is_secure($$pre$phiZ2D)|0);
+ $400 = ($399|0)==(0);
+ do {
+ if ($400) {
+ $401 = (__gcry_mpi_get_flag($$0658,1)|0);
+ $402 = ($401|0)==(0);
+ if ($402) {
+ $$sroa$0$13 = $$sroa$0$11962$ph;$$sroa$81$15$ptr = $$sroa$81$13959$ph$ptr$pre$phiZZZZZZ2D;
+ break;
+ }
+ $403 = (__gcry_malloc_secure($$sroa$47$8960$ph)|0);
+ $404 = ($403|0)==(0|0);
+ if ($404) {
+ label = 165;
+ break L18;
+ }
+ $405 = (($$sroa$81$13959$ph) - ($$sroa$0$11962$ph))|0;
+ _memcpy(($403|0),($$pre$phiZ2D|0),($405|0))|0;
+ $406 = (($403) + ($405)|0);
+ $$cast665 = $$sroa$0$11962$ph;
+ __gcry_free($$cast665);
+ $407 = $403;
+ $$sroa$0$13 = $407;$$sroa$81$15$ptr = $406;
+ } else {
+ $$sroa$0$13 = $$sroa$0$11962$ph;$$sroa$81$15$ptr = $$sroa$81$13959$ph$ptr$pre$phiZZZZZZ2D;
+ }
+ } while(0);
+ $411 = ((($$sroa$81$15$ptr)) + 1|0);
+ HEAP8[$$sroa$81$15$ptr>>0] = 1;
+ $412 = HEAP32[$8>>2]|0;
+ $413 = $412&65535;
+ HEAP8[$411>>0]=$413&255;HEAP8[$411+1>>0]=$413>>8;
+ $414 = ((($$sroa$81$15$ptr)) + 3|0);
+ $415 = HEAP32[$8>>2]|0;
+ $416 = (__gcry_mpi_print($314,$414,$415,$8,$$0658)|0);
+ $417 = ($416|0)==(0);
+ if (!($417)) {
+ label = 167;
+ break L18;
+ }
+ $418 = HEAP32[$8>>2]|0;
+ $419 = (($414) + ($418)|0);
+ $420 = $419;
+ $$sroa$0$15 = $$sroa$0$13;$$sroa$47$10 = $$sroa$47$8960$ph;$$sroa$81$17 = $420;
+ } else {
+ $328 = (__gcry_mpi_get_opaque($$0658,$9)|0);
+ $329 = HEAP32[$9>>2]|0;
+ $330 = (($329) + 7)|0;
+ $331 = $330 >>> 3;
+ HEAP32[$8>>2] = $331;
+ $332 = ($328|0)!=(0|0);
+ $333 = ($331|0)!=(0);
+ $or$cond14 = $332 & $333;
+ if ($or$cond14) {
+ $334 = $$sroa$0$3;
+ $335 = (($$sroa$81$2) - ($$sroa$0$3))|0;
+ $336 = (($335) + 3)|0;
+ $337 = (($336) + ($331))|0;
+ $338 = ($337>>>0)<($$sroa$47$2>>>0);
+ do {
+ if ($338) {
+ $$pre$phi1937Z2D = $334;$$sroa$0$7943$ph = $$sroa$0$3;$$sroa$47$6942$ph = $$sroa$47$2;$$sroa$81$9941$ph = $$sroa$81$2;$$sroa$81$9941$ph$ptr$pre$phiZZZZZZ2D = $$sroa$81$2$ptr;
+ } else {
+ $339 = $331 << 1;
+ $340 = (($$sroa$47$2) + 6)|0;
+ $341 = (($340) + ($339))|0;
+ $342 = ($341>>>0)>($$sroa$47$2>>>0);
+ if (!($342)) {
+ $$1$i714948 = 67;
+ label = 144;
+ break L18;
+ }
+ $343 = (__gcry_realloc($334,$341)|0);
+ $344 = ($343|0)==(0|0);
+ if ($344) {
+ $348 = (___errno_location()|0);
+ $349 = HEAP32[$348>>2]|0;
+ $350 = (_gpg_err_code_from_errno($349)|0);
+ $351 = ($350|0)==(0);
+ if ($351) {
+ $$pre$phi1937Z2D = $334;$$sroa$0$7943$ph = $$sroa$0$3;$$sroa$47$6942$ph = $$sroa$47$2;$$sroa$81$9941$ph = $$sroa$81$2;$$sroa$81$9941$ph$ptr$pre$phiZZZZZZ2D = $$sroa$81$2$ptr;
+ break;
+ } else {
+ $$1$i714948 = $350;
+ label = 144;
+ break L18;
+ }
+ } else {
+ $345 = (($343) + ($335)|0);
+ $346 = $345;
+ $347 = $343;
+ $$pre$phi1937Z2D = $343;$$sroa$0$7943$ph = $347;$$sroa$47$6942$ph = $341;$$sroa$81$9941$ph = $346;$$sroa$81$9941$ph$ptr$pre$phiZZZZZZ2D = $345;
+ break;
+ }
+ }
+ } while(0);
+ $355 = (__gcry_is_secure($$pre$phi1937Z2D)|0);
+ $356 = ($355|0)==(0);
+ do {
+ if ($356) {
+ $357 = (__gcry_mpi_get_flag($$0658,1)|0);
+ $358 = ($357|0)==(0);
+ if ($358) {
+ $$sroa$0$9 = $$sroa$0$7943$ph;$$sroa$81$11$ptr = $$sroa$81$9941$ph$ptr$pre$phiZZZZZZ2D;
+ break;
+ }
+ $359 = (__gcry_malloc_secure($$sroa$47$6942$ph)|0);
+ $360 = ($359|0)==(0|0);
+ if ($360) {
+ label = 149;
+ break L18;
+ }
+ $361 = (($$sroa$81$9941$ph) - ($$sroa$0$7943$ph))|0;
+ _memcpy(($359|0),($$pre$phi1937Z2D|0),($361|0))|0;
+ $362 = (($359) + ($361)|0);
+ $$cast666 = $$sroa$0$7943$ph;
+ __gcry_free($$cast666);
+ $363 = $359;
+ $$sroa$0$9 = $363;$$sroa$81$11$ptr = $362;
+ } else {
+ $$sroa$0$9 = $$sroa$0$7943$ph;$$sroa$81$11$ptr = $$sroa$81$9941$ph$ptr$pre$phiZZZZZZ2D;
+ }
+ } while(0);
+ $367 = ((($$sroa$81$11$ptr)) + 1|0);
+ HEAP8[$$sroa$81$11$ptr>>0] = 1;
+ $368 = HEAP32[$8>>2]|0;
+ $369 = $368&65535;
+ HEAP8[$367>>0]=$369&255;HEAP8[$367+1>>0]=$369>>8;
+ $370 = ((($$sroa$81$11$ptr)) + 3|0);
+ $371 = HEAP32[$8>>2]|0;
+ _memcpy(($370|0),($328|0),($371|0))|0;
+ $372 = HEAP32[$8>>2]|0;
+ $373 = (($370) + ($372)|0);
+ $374 = $373;
+ $$sroa$0$10$ph = $$sroa$0$9;$$sroa$47$7$ph = $$sroa$47$6942$ph;$$sroa$81$12$ph = $374;
+ } else {
+ $$sroa$0$10$ph = $$sroa$0$3;$$sroa$47$7$ph = $$sroa$47$2;$$sroa$81$12$ph = $$sroa$81$2;
+ }
+ $$sroa$0$15 = $$sroa$0$10$ph;$$sroa$47$10 = $$sroa$47$7$ph;$$sroa$81$17 = $$sroa$81$12$ph;
+ }
+ $$1593 = 0;$$1607 = 0;$$1609 = $$06081612;$$1611 = 0;$$1614 = $$06131610;$$1616 = $$06151609;$$1629 = $$06281607;$$2596 = 0;$$2599 = $$1598;$$3587 = $$05841619;$$3591 = $$05881618;$$4605 = 0;$$9626 = $$1618;$$sroa$0$27 = $$sroa$0$15;$$sroa$47$19 = $$sroa$47$10;$$sroa$81$32 = $$sroa$81$17;
+ break L30;
+ break;
+ }
+ case 115: {
+ if ($25) {
+ $arglist_current2 = HEAP32[$6>>2]|0;
+ $421 = $arglist_current2;
+ $422 = ((0) + 4|0);
+ $expanded29 = $422;
+ $expanded28 = (($expanded29) - 1)|0;
+ $423 = (($421) + ($expanded28))|0;
+ $424 = ((0) + 4|0);
+ $expanded33 = $424;
+ $expanded32 = (($expanded33) - 1)|0;
+ $expanded31 = $expanded32 ^ -1;
+ $425 = $423 & $expanded31;
+ $426 = $425;
+ $427 = HEAP32[$426>>2]|0;
+ $arglist_next3 = ((($426)) + 4|0);
+ HEAP32[$6>>2] = $arglist_next3;
+ $$0659 = $427;$$2619 = $$06171608;
+ } else {
+ $428 = (($$06171608) + 1)|0;
+ $429 = (($5) + ($$06171608<<2)|0);
+ $430 = HEAP32[$429>>2]|0;
+ $431 = HEAP32[$430>>2]|0;
+ $$0659 = $431;$$2619 = $428;
+ }
+ $432 = (_strlen($$0659)|0);
+ $433 = $$sroa$0$3;
+ $434 = (($$sroa$81$2) - ($$sroa$0$3))|0;
+ $435 = (($434) + 3)|0;
+ $436 = (($435) + ($432))|0;
+ $437 = ($436>>>0)<($$sroa$47$2>>>0);
+ do {
+ if ($437) {
+ $$sroa$0$16981$ph = $$sroa$0$3;$$sroa$47$11980$ph = $$sroa$47$2;$$sroa$81$18979$ph$ptr = $$sroa$81$2$ptr;
+ } else {
+ $438 = $432 << 1;
+ $439 = (($$sroa$47$2) + 6)|0;
+ $440 = (($439) + ($438))|0;
+ $441 = ($440>>>0)>($$sroa$47$2>>>0);
+ if (!($441)) {
+ $$1$i718986 = 67;
+ label = 180;
+ break L18;
+ }
+ $442 = (__gcry_realloc($433,$440)|0);
+ $443 = ($442|0)==(0|0);
+ if ($443) {
+ $446 = (___errno_location()|0);
+ $447 = HEAP32[$446>>2]|0;
+ $448 = (_gpg_err_code_from_errno($447)|0);
+ $449 = ($448|0)==(0);
+ if ($449) {
+ $$sroa$0$16981$ph = $$sroa$0$3;$$sroa$47$11980$ph = $$sroa$47$2;$$sroa$81$18979$ph$ptr = $$sroa$81$2$ptr;
+ break;
+ } else {
+ $$1$i718986 = $448;
+ label = 180;
+ break L18;
+ }
+ } else {
+ $444 = (($442) + ($434)|0);
+ $445 = $442;
+ $$sroa$0$16981$ph = $445;$$sroa$47$11980$ph = $440;$$sroa$81$18979$ph$ptr = $444;
+ break;
+ }
+ }
+ } while(0);
+ $450 = ((($$sroa$81$18979$ph$ptr)) + 1|0);
+ HEAP8[$$sroa$81$18979$ph$ptr>>0] = 1;
+ $451 = $432&65535;
+ HEAP8[$450>>0]=$451&255;HEAP8[$450+1>>0]=$451>>8;
+ $452 = ((($$sroa$81$18979$ph$ptr)) + 3|0);
+ _memcpy(($452|0),($$0659|0),($432|0))|0;
+ $453 = (($452) + ($432)|0);
+ $454 = $453;
+ $$1593 = 0;$$1607 = 0;$$1609 = $$06081612;$$1611 = 0;$$1614 = $$06131610;$$1616 = $$06151609;$$1629 = $$06281607;$$2596 = 0;$$2599 = $$1598;$$3587 = $$05841619;$$3591 = $$05881618;$$4605 = 0;$$9626 = $$2619;$$sroa$0$27 = $$sroa$0$16981$ph;$$sroa$47$19 = $$sroa$47$11980$ph;$$sroa$81$32 = $454;
+ break L30;
+ break;
+ }
+ case 98: {
+ if ($25) {
+ $arglist_current5 = HEAP32[$6>>2]|0;
+ $458 = $arglist_current5;
+ $459 = ((0) + 4|0);
+ $expanded36 = $459;
+ $expanded35 = (($expanded36) - 1)|0;
+ $460 = (($458) + ($expanded35))|0;
+ $461 = ((0) + 4|0);
+ $expanded40 = $461;
+ $expanded39 = (($expanded40) - 1)|0;
+ $expanded38 = $expanded39 ^ -1;
+ $462 = $460 & $expanded38;
+ $463 = $462;
+ $464 = HEAP32[$463>>2]|0;
+ $arglist_next6 = ((($463)) + 4|0);
+ HEAP32[$6>>2] = $arglist_next6;
+ $arglist_current8 = HEAP32[$6>>2]|0;
+ $465 = $arglist_current8;
+ $466 = ((0) + 4|0);
+ $expanded43 = $466;
+ $expanded42 = (($expanded43) - 1)|0;
+ $467 = (($465) + ($expanded42))|0;
+ $468 = ((0) + 4|0);
+ $expanded47 = $468;
+ $expanded46 = (($expanded47) - 1)|0;
+ $expanded45 = $expanded46 ^ -1;
+ $469 = $467 & $expanded45;
+ $470 = $469;
+ $471 = HEAP32[$470>>2]|0;
+ $arglist_next9 = ((($470)) + 4|0);
+ HEAP32[$6>>2] = $arglist_next9;
+ $$0660 = $471;$$0661999 = $464;$$4621 = $$06171608;
+ } else {
+ $472 = (($$06171608) + 1)|0;
+ $473 = (($5) + ($$06171608<<2)|0);
+ $474 = HEAP32[$473>>2]|0;
+ $475 = HEAP32[$474>>2]|0;
+ $476 = (($$06171608) + 2)|0;
+ $477 = (($5) + ($472<<2)|0);
+ $478 = HEAP32[$477>>2]|0;
+ $479 = HEAP32[$478>>2]|0;
+ $$0660 = $479;$$0661999 = $475;$$4621 = $476;
+ }
+ $480 = $$sroa$0$3;
+ $481 = (($$sroa$81$2) - ($$sroa$0$3))|0;
+ $482 = (($481) + 3)|0;
+ $483 = (($482) + ($$0661999))|0;
+ $484 = ($483>>>0)<($$sroa$47$2>>>0);
+ do {
+ if ($484) {
+ $$sroa$0$171004$ph = $$sroa$0$3;$$sroa$47$121003$ph = $$sroa$47$2;$$sroa$81$201002$ph = $$sroa$81$2;$$sroa$81$201002$ph$ptr$pre$phiZZZZZZ2D = $$sroa$81$2$ptr;
+ } else {
+ $485 = $$0661999 << 1;
+ $486 = (($$sroa$47$2) + 6)|0;
+ $487 = (($486) + ($485))|0;
+ $488 = ($487>>>0)>($$sroa$47$2>>>0);
+ if (!($488)) {
+ $$1$i7201009 = 67;
+ label = 189;
+ break L18;
+ }
+ $489 = (__gcry_realloc($480,$487)|0);
+ $490 = ($489|0)==(0|0);
+ if ($490) {
+ $494 = (___errno_location()|0);
+ $495 = HEAP32[$494>>2]|0;
+ $496 = (_gpg_err_code_from_errno($495)|0);
+ $497 = ($496|0)==(0);
+ if ($497) {
+ $$sroa$0$171004$ph = $$sroa$0$3;$$sroa$47$121003$ph = $$sroa$47$2;$$sroa$81$201002$ph = $$sroa$81$2;$$sroa$81$201002$ph$ptr$pre$phiZZZZZZ2D = $$sroa$81$2$ptr;
+ break;
+ } else {
+ $$1$i7201009 = $496;
+ label = 189;
+ break L18;
+ }
+ } else {
+ $491 = (($489) + ($481)|0);
+ $492 = $491;
+ $493 = $489;
+ $$sroa$0$171004$ph = $493;$$sroa$47$121003$ph = $487;$$sroa$81$201002$ph = $492;$$sroa$81$201002$ph$ptr$pre$phiZZZZZZ2D = $491;
+ break;
+ }
+ }
+ } while(0);
+ $502 = ($$0661999|0)==(0);
+ do {
+ if ($502) {
+ $$sroa$0$19 = $$sroa$0$171004$ph;$$sroa$81$22$ptr = $$sroa$81$201002$ph$ptr$pre$phiZZZZZZ2D;
+ } else {
+ $503 = $$sroa$0$171004$ph;
+ $504 = (__gcry_is_secure($503)|0);
+ $505 = ($504|0)==(0);
+ if (!($505)) {
+ $$sroa$0$19 = $$sroa$0$171004$ph;$$sroa$81$22$ptr = $$sroa$81$201002$ph$ptr$pre$phiZZZZZZ2D;
+ break;
+ }
+ $506 = (__gcry_is_secure($$0660)|0);
+ $507 = ($506|0)==(0);
+ if ($507) {
+ $$sroa$0$19 = $$sroa$0$171004$ph;$$sroa$81$22$ptr = $$sroa$81$201002$ph$ptr$pre$phiZZZZZZ2D;
+ break;
+ }
+ $508 = (__gcry_malloc_secure($$sroa$47$121003$ph)|0);
+ $509 = ($508|0)==(0|0);
+ if ($509) {
+ label = 195;
+ break L18;
+ }
+ $510 = (($$sroa$81$201002$ph) - ($$sroa$0$171004$ph))|0;
+ _memcpy(($508|0),($503|0),($510|0))|0;
+ $511 = (($508) + ($510)|0);
+ $$cast = $$sroa$0$171004$ph;
+ __gcry_free($$cast);
+ $512 = $508;
+ $$sroa$0$19 = $512;$$sroa$81$22$ptr = $511;
+ }
+ } while(0);
+ $516 = ((($$sroa$81$22$ptr)) + 1|0);
+ HEAP8[$$sroa$81$22$ptr>>0] = 1;
+ $517 = $$0661999&65535;
+ HEAP8[$516>>0]=$517&255;HEAP8[$516+1>>0]=$517>>8;
+ $518 = ((($$sroa$81$22$ptr)) + 3|0);
+ _memcpy(($518|0),($$0660|0),($$0661999|0))|0;
+ $519 = (($518) + ($$0661999)|0);
+ $520 = $519;
+ $$1593 = 0;$$1607 = 0;$$1609 = $$06081612;$$1611 = 0;$$1614 = $$06131610;$$1616 = $$06151609;$$1629 = $$06281607;$$2596 = 0;$$2599 = $$1598;$$3587 = $$05841619;$$3591 = $$05881618;$$4605 = 0;$$9626 = $$4621;$$sroa$0$27 = $$sroa$0$19;$$sroa$47$19 = $$sroa$47$121003$ph;$$sroa$81$32 = $520;
+ break L30;
+ break;
+ }
+ case 100: {
+ if ($25) {
+ $arglist_current11 = HEAP32[$6>>2]|0;
+ $521 = $arglist_current11;
+ $522 = ((0) + 4|0);
+ $expanded50 = $522;
+ $expanded49 = (($expanded50) - 1)|0;
+ $523 = (($521) + ($expanded49))|0;
+ $524 = ((0) + 4|0);
+ $expanded54 = $524;
+ $expanded53 = (($expanded54) - 1)|0;
+ $expanded52 = $expanded53 ^ -1;
+ $525 = $523 & $expanded52;
+ $526 = $525;
+ $527 = HEAP32[$526>>2]|0;
+ $arglist_next12 = ((($526)) + 4|0);
+ HEAP32[$6>>2] = $arglist_next12;
+ $$0627 = $527;$$5622 = $$06171608;
+ } else {
+ $528 = (($$06171608) + 1)|0;
+ $529 = (($5) + ($$06171608<<2)|0);
+ $530 = HEAP32[$529>>2]|0;
+ $531 = HEAP32[$530>>2]|0;
+ $$0627 = $531;$$5622 = $528;
+ }
+ HEAP32[$vararg_buffer>>2] = $$0627;
+ (_sprintf($10,44684,$vararg_buffer)|0);
+ $532 = (_strlen($10)|0);
+ $533 = $$sroa$0$3;
+ $534 = (($$sroa$81$2) - ($$sroa$0$3))|0;
+ $535 = (($534) + 3)|0;
+ $536 = (($535) + ($532))|0;
+ $537 = ($536>>>0)<($$sroa$47$2>>>0);
+ do {
+ if ($537) {
+ $$sroa$0$211024$ph = $$sroa$0$3;$$sroa$47$131023$ph = $$sroa$47$2;$$sroa$81$241022$ph$ptr = $$sroa$81$2$ptr;
+ } else {
+ $538 = $532 << 1;
+ $539 = (($$sroa$47$2) + 6)|0;
+ $540 = (($539) + ($538))|0;
+ $541 = ($540>>>0)>($$sroa$47$2>>>0);
+ if (!($541)) {
+ $$1$i7221029 = 67;
+ label = 206;
+ break L18;
+ }
+ $542 = (__gcry_realloc($533,$540)|0);
+ $543 = ($542|0)==(0|0);
+ if ($543) {
+ $546 = (___errno_location()|0);
+ $547 = HEAP32[$546>>2]|0;
+ $548 = (_gpg_err_code_from_errno($547)|0);
+ $549 = ($548|0)==(0);
+ if ($549) {
+ $$sroa$0$211024$ph = $$sroa$0$3;$$sroa$47$131023$ph = $$sroa$47$2;$$sroa$81$241022$ph$ptr = $$sroa$81$2$ptr;
+ break;
+ } else {
+ $$1$i7221029 = $548;
+ label = 206;
+ break L18;
+ }
+ } else {
+ $544 = (($542) + ($534)|0);
+ $545 = $542;
+ $$sroa$0$211024$ph = $545;$$sroa$47$131023$ph = $540;$$sroa$81$241022$ph$ptr = $544;
+ break;
+ }
+ }
+ } while(0);
+ $550 = ((($$sroa$81$241022$ph$ptr)) + 1|0);
+ HEAP8[$$sroa$81$241022$ph$ptr>>0] = 1;
+ $551 = $532&65535;
+ HEAP8[$550>>0]=$551&255;HEAP8[$550+1>>0]=$551>>8;
+ $552 = ((($$sroa$81$241022$ph$ptr)) + 3|0);
+ _memcpy(($552|0),($10|0),($532|0))|0;
+ $553 = (($552) + ($532)|0);
+ $554 = $553;
+ $$1593 = 0;$$1607 = 0;$$1609 = $$06081612;$$1611 = 0;$$1614 = $$06131610;$$1616 = $$06151609;$$1629 = $$06281607;$$2596 = 0;$$2599 = $$1598;$$3587 = $$05841619;$$3591 = $$05881618;$$4605 = 0;$$9626 = $$5622;$$sroa$0$27 = $$sroa$0$211024$ph;$$sroa$47$19 = $$sroa$47$131023$ph;$$sroa$81$32 = $554;
+ break L30;
+ break;
+ }
+ case 117: {
+ if ($25) {
+ $arglist_current14 = HEAP32[$6>>2]|0;
+ $558 = $arglist_current14;
+ $559 = ((0) + 4|0);
+ $expanded57 = $559;
+ $expanded56 = (($expanded57) - 1)|0;
+ $560 = (($558) + ($expanded56))|0;
+ $561 = ((0) + 4|0);
+ $expanded61 = $561;
+ $expanded60 = (($expanded61) - 1)|0;
+ $expanded59 = $expanded60 ^ -1;
+ $562 = $560 & $expanded59;
+ $563 = $562;
+ $564 = HEAP32[$563>>2]|0;
+ $arglist_next15 = ((($563)) + 4|0);
+ HEAP32[$6>>2] = $arglist_next15;
+ $$0612 = $564;$$6623 = $$06171608;
+ } else {
+ $565 = (($$06171608) + 1)|0;
+ $566 = (($5) + ($$06171608<<2)|0);
+ $567 = HEAP32[$566>>2]|0;
+ $568 = HEAP32[$567>>2]|0;
+ $$0612 = $568;$$6623 = $565;
+ }
+ HEAP32[$vararg_buffer16>>2] = $$0612;
+ (_sprintf($11,44687,$vararg_buffer16)|0);
+ $569 = (_strlen($11)|0);
+ $570 = $$sroa$0$3;
+ $571 = (($$sroa$81$2) - ($$sroa$0$3))|0;
+ $572 = (($571) + 3)|0;
+ $573 = (($572) + ($569))|0;
+ $574 = ($573>>>0)<($$sroa$47$2>>>0);
+ do {
+ if ($574) {
+ $$sroa$0$221043$ph = $$sroa$0$3;$$sroa$47$141042$ph = $$sroa$47$2;$$sroa$81$261041$ph$ptr = $$sroa$81$2$ptr;
+ } else {
+ $575 = $569 << 1;
+ $576 = (($$sroa$47$2) + 6)|0;
+ $577 = (($576) + ($575))|0;
+ $578 = ($577>>>0)>($$sroa$47$2>>>0);
+ if (!($578)) {
+ $$1$i7241048 = 67;
+ label = 216;
+ break L18;
+ }
+ $579 = (__gcry_realloc($570,$577)|0);
+ $580 = ($579|0)==(0|0);
+ if ($580) {
+ $583 = (___errno_location()|0);
+ $584 = HEAP32[$583>>2]|0;
+ $585 = (_gpg_err_code_from_errno($584)|0);
+ $586 = ($585|0)==(0);
+ if ($586) {
+ $$sroa$0$221043$ph = $$sroa$0$3;$$sroa$47$141042$ph = $$sroa$47$2;$$sroa$81$261041$ph$ptr = $$sroa$81$2$ptr;
+ break;
+ } else {
+ $$1$i7241048 = $585;
+ label = 216;
+ break L18;
+ }
+ } else {
+ $581 = (($579) + ($571)|0);
+ $582 = $579;
+ $$sroa$0$221043$ph = $582;$$sroa$47$141042$ph = $577;$$sroa$81$261041$ph$ptr = $581;
+ break;
+ }
+ }
+ } while(0);
+ $587 = ((($$sroa$81$261041$ph$ptr)) + 1|0);
+ HEAP8[$$sroa$81$261041$ph$ptr>>0] = 1;
+ $588 = $569&65535;
+ HEAP8[$587>>0]=$588&255;HEAP8[$587+1>>0]=$588>>8;
+ $589 = ((($$sroa$81$261041$ph$ptr)) + 3|0);
+ _memcpy(($589|0),($11|0),($569|0))|0;
+ $590 = (($589) + ($569)|0);
+ $591 = $590;
+ $$1593 = 0;$$1607 = 0;$$1609 = $$06081612;$$1611 = 0;$$1614 = $$06131610;$$1616 = $$06151609;$$1629 = $$06281607;$$2596 = 0;$$2599 = $$1598;$$3587 = $$05841619;$$3591 = $$05881618;$$4605 = 0;$$9626 = $$6623;$$sroa$0$27 = $$sroa$0$221043$ph;$$sroa$47$19 = $$sroa$47$141042$ph;$$sroa$81$32 = $591;
+ break L30;
+ break;
+ }
+ case 83: {
+ if ($25) {
+ $arglist_current20 = HEAP32[$6>>2]|0;
+ $595 = $arglist_current20;
+ $596 = ((0) + 4|0);
+ $expanded64 = $596;
+ $expanded63 = (($expanded64) - 1)|0;
+ $597 = (($595) + ($expanded63))|0;
+ $598 = ((0) + 4|0);
+ $expanded68 = $598;
+ $expanded67 = (($expanded68) - 1)|0;
+ $expanded66 = $expanded67 ^ -1;
+ $599 = $597 & $expanded66;
+ $600 = $599;
+ $601 = HEAP32[$600>>2]|0;
+ $arglist_next21 = ((($600)) + 4|0);
+ HEAP32[$6>>2] = $arglist_next21;
+ $$0600 = $601;$$7624 = $$06171608;
+ } else {
+ $602 = (($$06171608) + 1)|0;
+ $603 = (($5) + ($$06171608<<2)|0);
+ $604 = HEAP32[$603>>2]|0;
+ $605 = HEAP32[$604>>2]|0;
+ $$0600 = $605;$$7624 = $602;
+ }
+ $606 = ($$0600|0)==(0|0);
+ if ($606) {
+ $$1593 = 0;$$1607 = 0;$$1609 = $$06081612;$$1611 = 0;$$1614 = $$06131610;$$1616 = $$06151609;$$1629 = $$06281607;$$2596 = 0;$$2599 = $$1598;$$3587 = $$05841619;$$3591 = $$05881618;$$4605 = 0;$$9626 = $$7624;$$sroa$0$27 = $$sroa$0$3;$$sroa$47$19 = $$sroa$47$2;$$sroa$81$32 = $$sroa$81$2;
+ break L30;
+ }
+ $607 = HEAP8[$$0600>>0]|0;
+ $608 = ($607<<24>>24)==(0);
+ if ($608) {
+ $$1593 = 0;$$1607 = 0;$$1609 = $$06081612;$$1611 = 0;$$1614 = $$06131610;$$1616 = $$06151609;$$1629 = $$06281607;$$2596 = 0;$$2599 = $$1598;$$3587 = $$05841619;$$3591 = $$05881618;$$4605 = 0;$$9626 = $$7624;$$sroa$0$27 = $$sroa$0$3;$$sroa$47$19 = $$sroa$47$2;$$sroa$81$32 = $$sroa$81$2;
+ break L30;
+ }
+ $609 = $$0600;
+ $$02830$i = $$0600;$$031$i = 0;$$0880 = 0;$611 = $607;
+ L303: while(1) {
+ $610 = ((($$02830$i)) + 1|0);
+ switch ($611<<24>>24) {
+ case 1: {
+ $$0$copyload$i = HEAPU8[$610>>0]|(HEAPU8[$610+1>>0]<<8);
+ $612 = $$0$copyload$i&65535;
+ $613 = (($612) + 2)|0;
+ $614 = (($610) + ($613)|0);
+ $$1$i727 = $$031$i;$$129$i = $614;$$2882 = $$0880;
+ break;
+ }
+ case 3: {
+ $615 = ($$031$i|0)==(0);
+ $616 = $$02830$i;
+ $617 = (($616) - ($609))|0;
+ $spec$select1129 = $615 ? $617 : $$0880;
+ $618 = (($$031$i) + 1)|0;
+ $$1$i727 = $618;$$129$i = $610;$$2882 = $spec$select1129;
+ break;
+ }
+ case 4: {
+ $619 = (($$031$i) + -1)|0;
+ $620 = ($619|0)==(0);
+ if ($620) {
+ break L303;
+ } else {
+ $$1$i727 = $619;$$129$i = $610;$$2882 = $$0880;
+ }
+ break;
+ }
+ default: {
+ $$1$i727 = $$031$i;$$129$i = $610;$$2882 = $$0880;
+ }
+ }
+ $621 = HEAP8[$$129$i>>0]|0;
+ $622 = ($621<<24>>24)==(0);
+ if ($622) {
+ $$1593 = 0;$$1607 = 0;$$1609 = $$06081612;$$1611 = 0;$$1614 = $$06131610;$$1616 = $$06151609;$$1629 = $$06281607;$$2596 = 0;$$2599 = $$1598;$$3587 = $$05841619;$$3591 = $$05881618;$$4605 = 0;$$9626 = $$7624;$$sroa$0$27 = $$sroa$0$3;$$sroa$47$19 = $$sroa$47$2;$$sroa$81$32 = $$sroa$81$2;
+ break L30;
+ } else {
+ $$02830$i = $$129$i;$$031$i = $$1$i727;$$0880 = $$2882;$611 = $621;
+ }
+ }
+ $623 = $610;
+ $624 = (($623) - ($609))|0;
+ $625 = ($624|0)==(0);
+ if ($625) {
+ $$1593 = 0;$$1607 = 0;$$1609 = $$06081612;$$1611 = 0;$$1614 = $$06131610;$$1616 = $$06151609;$$1629 = $$06281607;$$2596 = 0;$$2599 = $$1598;$$3587 = $$05841619;$$3591 = $$05881618;$$4605 = 0;$$9626 = $$7624;$$sroa$0$27 = $$sroa$0$3;$$sroa$47$19 = $$sroa$47$2;$$sroa$81$32 = $$sroa$81$2;
+ break L30;
+ }
+ $626 = $$sroa$0$3;
+ $627 = (($$sroa$81$2) - ($$sroa$0$3))|0;
+ $628 = (($627) + 3)|0;
+ $629 = (($628) + ($624))|0;
+ $630 = ($629>>>0)<($$sroa$47$2>>>0);
+ do {
+ if ($630) {
+ $$sroa$0$231062$ph = $$sroa$0$3;$$sroa$47$151061$ph = $$sroa$47$2;$$sroa$81$281060$ph$ptr = $$sroa$81$2$ptr;
+ } else {
+ $631 = $624 << 1;
+ $632 = (($$sroa$47$2) + 6)|0;
+ $633 = (($632) + ($631))|0;
+ $634 = ($633>>>0)>($$sroa$47$2>>>0);
+ if (!($634)) {
+ $$1$i7281067 = 67;
+ label = 235;
+ break L18;
+ }
+ $635 = (__gcry_realloc($626,$633)|0);
+ $636 = ($635|0)==(0|0);
+ if ($636) {
+ $639 = (___errno_location()|0);
+ $640 = HEAP32[$639>>2]|0;
+ $641 = (_gpg_err_code_from_errno($640)|0);
+ $642 = ($641|0)==(0);
+ if ($642) {
+ $$sroa$0$231062$ph = $$sroa$0$3;$$sroa$47$151061$ph = $$sroa$47$2;$$sroa$81$281060$ph$ptr = $$sroa$81$2$ptr;
+ break;
+ } else {
+ $$1$i7281067 = $641;
+ label = 235;
+ break L18;
+ }
+ } else {
+ $637 = (($635) + ($627)|0);
+ $638 = $635;
+ $$sroa$0$231062$ph = $638;$$sroa$47$151061$ph = $633;$$sroa$81$281060$ph$ptr = $637;
+ break;
+ }
+ }
+ } while(0);
+ $643 = (($$0600) + ($$0880)|0);
+ _memcpy(($$sroa$81$281060$ph$ptr|0),($643|0),($624|0))|0;
+ $644 = (($$sroa$81$281060$ph$ptr) + ($624)|0);
+ $645 = $644;
+ $$1593 = 0;$$1607 = 0;$$1609 = $$06081612;$$1611 = 0;$$1614 = $$06131610;$$1616 = $$06151609;$$1629 = $$06281607;$$2596 = 0;$$2599 = $$1598;$$3587 = $$05841619;$$3591 = $$05881618;$$4605 = 0;$$9626 = $$7624;$$sroa$0$27 = $$sroa$0$231062$ph;$$sroa$47$19 = $$sroa$47$151061$ph;$$sroa$81$32 = $645;
+ break L30;
+ break;
+ }
+ default: {
+ label = 236;
+ break L18;
+ }
+ }
+ }
+ } while(0);
+ $727 = ((($$3587)) + 1|0);
+ $728 = (($$3591) + -1)|0;
+ $$sroa$81$0$ptr = $$sroa$81$32;
+ $729 = ($728|0)==(0);
+ if ($729) {
+ label = 275;
+ break;
+ } else {
+ $$05841619 = $727;$$05881618 = $728;$$05921617 = $$1593;$$05941616 = $$2596;$$05971615 = $$2599;$$06011614 = $$4605;$$06061613 = $$1607;$$06081612 = $$1609;$$06101611 = $$1611;$$06131610 = $$1614;$$06151609 = $$1616;$$06171608 = $$9626;$$06281607 = $$1629;$$sroa$0$11606 = $$sroa$0$27;$$sroa$47$01605 = $$sroa$47$19;$$sroa$81$0$ptr1621 = $$sroa$81$0$ptr;$$sroa$81$01604 = $$sroa$81$32;
+ }
+ }
+ switch (label|0) {
+ case 18: {
+ $52 = $$05841619;
+ $$pn = $2;
+ $53 = (($52) - ($$pn))|0;
+ HEAP32[$spec$select>>2] = $53;
+ $$31$ph = $$1$i891;$$sroa$0$29$ph = $$sroa$0$11606;$$sroa$47$21$ph = $$sroa$47$01605;
+ label = 284;
+ break;
+ }
+ case 26: {
+ $72 = $$05841619;
+ $73 = $2;
+ $74 = (($72) - ($73))|0;
+ HEAP32[$spec$select>>2] = $74;
+ $$31$ph = 206;$$sroa$0$29$ph = $$sroa$0$3;$$sroa$47$21$ph = $$sroa$47$2;
+ label = 284;
+ break;
+ }
+ case 33: {
+ $83 = $$05841619;
+ $84 = $2;
+ $85 = (($83) - ($84))|0;
+ HEAP32[$spec$select>>2] = $85;
+ $$31$ph = 206;$$sroa$0$29$ph = $$sroa$0$3;$$sroa$47$21$ph = $$sroa$47$2;
+ label = 284;
+ break;
+ }
+ case 37: {
+ $95 = $$05841619;
+ $96 = $2;
+ $97 = (($95) - ($96))|0;
+ HEAP32[$spec$select>>2] = $97;
+ $$31$ph = 206;$$sroa$0$29$ph = $$sroa$0$3;$$sroa$47$21$ph = $$sroa$47$2;
+ label = 284;
+ break;
+ }
+ case 82: {
+ $198 = $$05841619;
+ $$pn1138 = $2;
+ $199 = (($198) - ($$pn1138))|0;
+ HEAP32[$spec$select>>2] = $199;
+ $$31$ph = $$1$i695904;$$sroa$0$29$ph = $$sroa$0$3;$$sroa$47$21$ph = $$sroa$47$2;
+ label = 284;
+ break;
+ }
+ case 88: {
+ $208 = $$05841619;
+ $209 = $2;
+ $210 = (($208) - ($209))|0;
+ HEAP32[$spec$select>>2] = $210;
+ $$31$ph = 212;$$sroa$0$29$ph = $$sroa$0$3;$$sroa$47$21$ph = $$sroa$47$2;
+ label = 284;
+ break;
+ }
+ case 94: {
+ $229 = $$05841619;
+ $230 = $2;
+ $231 = (($229) - ($230))|0;
+ HEAP32[$spec$select>>2] = $231;
+ $$31$ph = $$1$i697920;$$sroa$0$29$ph = $$sroa$0$3;$$sroa$47$21$ph = $$sroa$47$2;
+ label = 284;
+ break;
+ }
+ case 114: {
+ $264 = $$05841619;
+ $265 = $2;
+ $266 = (($264) - ($265))|0;
+ HEAP32[$spec$select>>2] = $266;
+ $$31$ph = 211;$$sroa$0$29$ph = $$sroa$0$3;$$sroa$47$21$ph = $$sroa$47$2;
+ label = 284;
+ break;
+ }
+ case 121: {
+ $276 = $$05841619;
+ $277 = $2;
+ $278 = (($276) - ($277))|0;
+ HEAP32[$spec$select>>2] = $278;
+ $$31$ph = 202;$$sroa$0$29$ph = $$sroa$0$3;$$sroa$47$21$ph = $$sroa$47$2;
+ label = 284;
+ break;
+ }
+ case 127: {
+ $296 = $$05841619;
+ $297 = $2;
+ $298 = (($296) - ($297))|0;
+ HEAP32[$spec$select>>2] = $298;
+ $$31$ph = $$1$i712934;$$sroa$0$29$ph = $$sroa$0$3;$$sroa$47$21$ph = $$sroa$47$2;
+ label = 284;
+ break;
+ }
+ case 131: {
+ $307 = $$05841619;
+ $308 = $2;
+ $309 = (($307) - ($308))|0;
+ HEAP32[$spec$select>>2] = $309;
+ $$31$ph = 201;$$sroa$0$29$ph = $$sroa$0$3;$$sroa$47$21$ph = $$sroa$47$2;
+ label = 284;
+ break;
+ }
+ case 144: {
+ $352 = $$05841619;
+ $353 = $2;
+ $354 = (($352) - ($353))|0;
+ HEAP32[$spec$select>>2] = $354;
+ $$10 = $$1$i714948;$$sroa$0$10 = $$sroa$0$3;$$sroa$47$7 = $$sroa$47$2;
+ label = 152;
+ break;
+ }
+ case 149: {
+ $364 = (___errno_location()|0);
+ $365 = HEAP32[$364>>2]|0;
+ $366 = (_gpg_err_code_from_errno($365)|0);
+ $$10 = $366;$$sroa$0$10 = $$sroa$0$7943$ph;$$sroa$47$7 = $$sroa$47$6942$ph;
+ label = 152;
+ break;
+ }
+ case 154: {
+ __gcry_bug(44662,1433,44669);
+ // unreachable;
+ break;
+ }
+ case 160: {
+ $396 = $$05841619;
+ $397 = $2;
+ $398 = (($396) - ($397))|0;
+ HEAP32[$spec$select>>2] = $398;
+ $$15$ph = $$1$i716967;$$sroa$0$15$ph = $$sroa$0$3;$$sroa$47$10$ph = $$sroa$47$2;
+ break;
+ }
+ case 165: {
+ $408 = (___errno_location()|0);
+ $409 = HEAP32[$408>>2]|0;
+ $410 = (_gpg_err_code_from_errno($409)|0);
+ $$15$ph = $410;$$sroa$0$15$ph = $$sroa$0$11962$ph;$$sroa$47$10$ph = $$sroa$47$8960$ph;
+ break;
+ }
+ case 167: {
+ __gcry_bug(44662,1460,44669);
+ // unreachable;
+ break;
+ }
+ case 180: {
+ $455 = $$05841619;
+ $456 = $2;
+ $457 = (($455) - ($456))|0;
+ HEAP32[$spec$select>>2] = $457;
+ $$31$ph = $$1$i718986;$$sroa$0$29$ph = $$sroa$0$3;$$sroa$47$21$ph = $$sroa$47$2;
+ label = 284;
+ break;
+ }
+ case 189: {
+ $498 = $$05841619;
+ $499 = $2;
+ $500 = (($498) - ($499))|0;
+ $501 = $$sroa$0$3;
+ HEAP32[$spec$select>>2] = $500;
+ $$311119 = $$1$i7201009;$$sroa$0$291118 = $$sroa$0$3;$$sroa$47$211117 = $$sroa$47$2;$758 = $501;
+ label = 288;
+ break L13;
+ break;
+ }
+ case 195: {
+ $513 = (___errno_location()|0);
+ $514 = HEAP32[$513>>2]|0;
+ $515 = (_gpg_err_code_from_errno($514)|0);
+ $$31 = $515;$$sroa$0$29 = $$sroa$0$171004$ph;$$sroa$47$21 = $$sroa$47$121003$ph;
+ label = 287;
+ break L13;
+ break;
+ }
+ case 206: {
+ $555 = $$05841619;
+ $556 = $2;
+ $557 = (($555) - ($556))|0;
+ HEAP32[$spec$select>>2] = $557;
+ $$31$ph = $$1$i7221029;$$sroa$0$29$ph = $$sroa$0$3;$$sroa$47$21$ph = $$sroa$47$2;
+ label = 284;
+ break;
+ }
+ case 216: {
+ $592 = $$05841619;
+ $593 = $2;
+ $594 = (($592) - ($593))|0;
+ HEAP32[$spec$select>>2] = $594;
+ $$31$ph = $$1$i7241048;$$sroa$0$29$ph = $$sroa$0$3;$$sroa$47$21$ph = $$sroa$47$2;
+ label = 284;
+ break;
+ }
+ case 235: {
+ $646 = $$05841619;
+ $647 = $2;
+ $648 = (($646) - ($647))|0;
+ HEAP32[$spec$select>>2] = $648;
+ $$31$ph = $$1$i7281067;$$sroa$0$29$ph = $$sroa$0$3;$$sroa$47$21$ph = $$sroa$47$2;
+ label = 284;
+ break;
+ }
+ case 236: {
+ $649 = $$05841619;
+ $650 = $2;
+ $651 = (($649) - ($650))|0;
+ HEAP32[$spec$select>>2] = $651;
+ $$31$ph = 201;$$sroa$0$29$ph = $$sroa$0$3;$$sroa$47$21$ph = $$sroa$47$2;
+ label = 284;
+ break;
+ }
+ case 239: {
+ $653 = $$05841619;
+ $654 = $2;
+ $655 = (($653) - ($654))|0;
+ HEAP32[$spec$select>>2] = $655;
+ $$31$ph = 209;$$sroa$0$29$ph = $$sroa$0$3;$$sroa$47$21$ph = $$sroa$47$2;
+ label = 284;
+ break;
+ }
+ case 245: {
+ $670 = $$05841619;
+ $671 = $2;
+ $672 = (($670) - ($671))|0;
+ HEAP32[$spec$select>>2] = $672;
+ $$31$ph = $$1$i7301084;$$sroa$0$29$ph = $$sroa$0$3;$$sroa$47$21$ph = $$sroa$47$2;
+ label = 284;
+ break;
+ }
+ case 248: {
+ $677 = $$05841619;
+ $678 = $2;
+ $679 = (($677) - ($678))|0;
+ HEAP32[$spec$select>>2] = $679;
+ $$31$ph = 209;$$sroa$0$29$ph = $$sroa$0$3;$$sroa$47$21$ph = $$sroa$47$2;
+ label = 284;
+ break;
+ }
+ case 254: {
+ $694 = $$05841619;
+ $695 = $2;
+ $696 = (($694) - ($695))|0;
+ HEAP32[$spec$select>>2] = $696;
+ $$31$ph = $$1$i7321099;$$sroa$0$29$ph = $$sroa$0$3;$$sroa$47$21$ph = $$sroa$47$2;
+ label = 284;
+ break;
+ }
+ case 259: {
+ $701 = $$05841619;
+ $702 = $2;
+ $703 = (($701) - ($702))|0;
+ HEAP32[$spec$select>>2] = $703;
+ $$31$ph = 208;$$sroa$0$29$ph = $$sroa$0$3;$$sroa$47$21$ph = $$sroa$47$2;
+ label = 284;
+ break;
+ }
+ case 261: {
+ $705 = $$05841619;
+ $706 = $2;
+ $707 = (($705) - ($706))|0;
+ HEAP32[$spec$select>>2] = $707;
+ $$31$ph = 209;$$sroa$0$29$ph = $$sroa$0$3;$$sroa$47$21$ph = $$sroa$47$2;
+ label = 284;
+ break;
+ }
+ case 264: {
+ $710 = $$05841619;
+ $711 = $2;
+ $712 = (($710) - ($711))|0;
+ HEAP32[$spec$select>>2] = $712;
+ $$31$ph = 207;$$sroa$0$29$ph = $$sroa$0$3;$$sroa$47$21$ph = $$sroa$47$2;
+ label = 284;
+ break;
+ }
+ case 268: {
+ $716 = $$05841619;
+ $717 = $2;
+ $718 = (($716) - ($717))|0;
+ HEAP32[$spec$select>>2] = $718;
+ $$31$ph = 210;$$sroa$0$29$ph = $$sroa$0$3;$$sroa$47$21$ph = $$sroa$47$2;
+ label = 284;
+ break;
+ }
+ case 270: {
+ $720 = $$05841619;
+ $721 = $2;
+ $722 = (($720) - ($721))|0;
+ HEAP32[$spec$select>>2] = $722;
+ $$31$ph = 210;$$sroa$0$29$ph = $$sroa$0$3;$$sroa$47$21$ph = $$sroa$47$2;
+ label = 284;
+ break;
+ }
+ case 272: {
+ $724 = $$05841619;
+ $725 = $2;
+ $726 = (($724) - ($725))|0;
+ HEAP32[$spec$select>>2] = $726;
+ $$31$ph = 205;$$sroa$0$29$ph = $$sroa$0$3;$$sroa$47$21$ph = $$sroa$47$2;
+ label = 284;
+ break;
+ }
+ case 275: {
+ $$sroa$81$0$ptr$le = $$sroa$81$32;
+ $$0584$lcssa = $727;$$0628$lcssa = $$1629;$$sroa$0$1$lcssa = $$sroa$0$27;$$sroa$47$0$lcssa = $$sroa$47$19;$$sroa$81$0$lcssa = $$sroa$81$32;$$sroa$81$0$ptr$lcssa = $$sroa$81$0$ptr$le;
+ break L16;
+ break;
+ }
+ }
+ if ((label|0) == 152) {
+ $$15$ph = $$10;$$sroa$0$15$ph = $$sroa$0$10;$$sroa$47$10$ph = $$sroa$47$7;
+ }
+ else if ((label|0) == 284) {
+ $752 = $$sroa$0$29$ph;
+ $$311119 = $$31$ph;$$sroa$0$291118 = $$sroa$0$29$ph;$$sroa$47$211117 = $$sroa$47$21$ph;$758 = $752;
+ label = 288;
+ break L13;
+ }
+ $$31 = $$15$ph;$$sroa$0$29 = $$sroa$0$15$ph;$$sroa$47$21 = $$sroa$47$10$ph;
+ label = 287;
+ break L13;
+ }
+ } while(0);
+ $730 = $$sroa$0$1$lcssa;
+ $731 = (($$sroa$81$0$lcssa) - ($$sroa$0$1$lcssa))|0;
+ $732 = (($731) + 3)|0;
+ $733 = ($732>>>0)<($$sroa$47$0$lcssa>>>0);
+ L361: do {
+ if ($733) {
+ $$sroa$0$281109$ph = $$sroa$0$1$lcssa;$$sroa$47$201108$ph = $$sroa$47$0$lcssa;$$sroa$81$331107$ptr$ph = $$sroa$81$0$ptr$lcssa;
+ label = 283;
+ } else {
+ $734 = (($$sroa$47$0$lcssa) + 6)|0;
+ $735 = ($$sroa$47$0$lcssa>>>0)<(4294967290);
+ do {
+ if ($735) {
+ $739 = (__gcry_realloc($730,$734)|0);
+ $740 = ($739|0)==(0|0);
+ if ($740) {
+ $743 = (___errno_location()|0);
+ $744 = HEAP32[$743>>2]|0;
+ $745 = (_gpg_err_code_from_errno($744)|0);
+ $746 = ($745|0)==(0);
+ $747 = $$0584$lcssa;
+ $748 = $2;
+ $749 = (($747) - ($748))|0;
+ if ($746) {
+ $$sroa$0$281109$ph = $$sroa$0$1$lcssa;$$sroa$47$201108$ph = $$sroa$47$0$lcssa;$$sroa$81$331107$ptr$ph = $$sroa$81$0$ptr$lcssa;
+ label = 283;
+ break L361;
+ } else {
+ $$1$i7361114 = $745;$750 = $749;
+ break;
+ }
+ } else {
+ $741 = (($739) + ($731)|0);
+ $742 = $739;
+ $$sroa$0$281109$ph = $742;$$sroa$47$201108$ph = $734;$$sroa$81$331107$ptr$ph = $741;
+ label = 283;
+ break L361;
+ }
+ } else {
+ $736 = $$0584$lcssa;
+ $737 = $2;
+ $738 = (($736) - ($737))|0;
+ $$1$i7361114 = 67;$750 = $738;
+ }
+ } while(0);
+ HEAP32[$spec$select>>2] = $750;
+ $$31$ph1947 = $$1$i7361114;$$sroa$0$29$ph1946 = $$sroa$0$1$lcssa;$$sroa$47$21$ph1945 = $$sroa$47$0$lcssa;
+ }
+ } while(0);
+ if ((label|0) == 283) {
+ $751 = ($$0628$lcssa|0)==(0);
+ HEAP8[$$sroa$81$331107$ptr$ph>>0] = 0;
+ if ($751) {
+ $753 = $$sroa$0$281109$ph;
+ $$sroa$0$291950 = $$sroa$0$281109$ph;$792 = $753;
+ break;
+ } else {
+ $$31$ph1947 = 203;$$sroa$0$29$ph1946 = $$sroa$0$281109$ph;$$sroa$47$21$ph1945 = $$sroa$47$201108$ph;
+ }
+ }
+ $754 = $$sroa$0$29$ph1946;
+ $$311119 = $$31$ph1947;$$sroa$0$291118 = $$sroa$0$29$ph1946;$$sroa$47$211117 = $$sroa$47$21$ph1945;$758 = $754;
+ label = 288;
+ }
+ } while(0);
+ if ((label|0) == 287) {
+ $755 = ($$31|0)==(0);
+ $756 = $$sroa$0$29;
+ if ($755) {
+ $$sroa$0$291950 = $$sroa$0$29;$792 = $756;
+ } else {
+ $$311119 = $$31;$$sroa$0$291118 = $$sroa$0$29;$$sroa$47$211117 = $$sroa$47$21;$758 = $756;
+ label = 288;
+ }
+ }
+ if ((label|0) == 288) {
+ $757 = ($758|0)==(0|0);
+ if ($757) {
+ $$0 = $$311119;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $759 = (__gcry_is_secure($758)|0);
+ $760 = ($759|0)==(0);
+ if (!($760)) {
+ $761 = $758;
+ $762 = $761 & 7;
+ $763 = ($762|0)!=(0);
+ $764 = ($$sroa$47$211117|0)!=(0);
+ $765 = $764 & $763;
+ if ($765) {
+ $$05751592 = $$sroa$47$211117;$$05761591 = $758;
+ while(1) {
+ HEAP8[$$05761591>>0] = 0;
+ $766 = ((($$05761591)) + 1|0);
+ $767 = (($$05751592) + -1)|0;
+ $768 = $766;
+ $769 = $768 & 7;
+ $770 = ($769|0)!=(0);
+ $771 = ($767|0)!=(0);
+ $772 = $771 & $770;
+ if ($772) {
+ $$05751592 = $767;$$05761591 = $766;
+ } else {
+ $$0575$lcssa = $767;$$0576$lcssa = $766;
+ break;
+ }
+ }
+ } else {
+ $$0575$lcssa = $$sroa$47$211117;$$0576$lcssa = $758;
+ }
+ $773 = ($$0575$lcssa>>>0)<(8);
+ if ($773) {
+ $$2 = $$0575$lcssa;$$2578 = $$0576$lcssa;
+ } else {
+ $774 = (($$0575$lcssa) + -8)|0;
+ $775 = $774 & -8;
+ $776 = (($775) + 8)|0;
+ $$1 = $$0575$lcssa;$$1577 = $$0576$lcssa;
+ while(1) {
+ $777 = $$1577;
+ $778 = $777;
+ HEAP32[$778>>2] = 0;
+ $779 = (($777) + 4)|0;
+ $780 = $779;
+ HEAP32[$780>>2] = 0;
+ $781 = (($$1) + -8)|0;
+ $782 = ((($$1577)) + 8|0);
+ $783 = ($781>>>0)>(7);
+ if ($783) {
+ $$1 = $781;$$1577 = $782;
+ } else {
+ break;
+ }
+ }
+ $784 = (($774) - ($775))|0;
+ $scevgep = (($$0576$lcssa) + ($776)|0);
+ $$2 = $784;$$2578 = $scevgep;
+ }
+ $785 = ($$2|0)==(0);
+ if (!($785)) {
+ $$31590 = $$2;$$35791589 = $$2578;
+ while(1) {
+ HEAP8[$$35791589>>0] = 0;
+ $786 = ((($$35791589)) + 1|0);
+ $787 = (($$31590) + -1)|0;
+ $788 = ($787|0)==(0);
+ if ($788) {
+ break;
+ } else {
+ $$31590 = $787;$$35791589 = $786;
+ }
+ }
+ }
+ }
+ $789 = $$sroa$0$291118;
+ __gcry_free($789);
+ $$0 = $$311119;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $790 = ($$sroa$0$291950|0)==(0);
+ L400: do {
+ if ($790) {
+ $$0$i738 = 0;
+ } else {
+ $791 = HEAP8[$792>>0]|0;
+ switch ($791<<24>>24) {
+ case 0: {
+ __gcry_free($792);
+ $$0$i738 = 0;
+ break L400;
+ break;
+ }
+ case 3: {
+ break;
+ }
+ default: {
+ $$0$i738 = $792;
+ break L400;
+ }
+ }
+ $793 = ((($792)) + 1|0);
+ $794 = HEAP8[$793>>0]|0;
+ $795 = ($794<<24>>24)==(4);
+ if ($795) {
+ $796 = (__gcry_is_secure($792)|0);
+ $797 = ($796|0)==(0);
+ if (!($797)) {
+ $$062$i = $792;$799 = 3;
+ while(1) {
+ $798 = ((($$062$i)) + 1|0);
+ $cond$i = ($799<<24>>24)==(1);
+ if ($cond$i) {
+ $$0$copyload$i740 = HEAPU8[$798>>0]|(HEAPU8[$798+1>>0]<<8);
+ $800 = ((($$062$i)) + 3|0);
+ $801 = $$0$copyload$i740&65535;
+ $802 = (($800) + ($801)|0);
+ $$1$i741 = $802;
+ } else {
+ $$1$i741 = $798;
+ }
+ $803 = HEAP8[$$1$i741>>0]|0;
+ $804 = ($803<<24>>24)==(0);
+ if ($804) {
+ break;
+ } else {
+ $$062$i = $$1$i741;$799 = $803;
+ }
+ }
+ $805 = $$1$i741;
+ $806 = (($805) - ($$sroa$0$291950))|0;
+ $807 = $$sroa$0$291950 & 7;
+ $808 = ($807|0)!=(0);
+ $809 = ($806|0)!=(0);
+ $810 = $808 & $809;
+ if ($810) {
+ $$04859$i = $792;$$05058$i = $806;
+ while(1) {
+ HEAP8[$$04859$i>>0] = 0;
+ $811 = ((($$04859$i)) + 1|0);
+ $812 = (($$05058$i) + -1)|0;
+ $813 = $811;
+ $814 = $813 & 7;
+ $815 = ($814|0)!=(0);
+ $816 = ($812|0)!=(0);
+ $817 = $816 & $815;
+ if ($817) {
+ $$04859$i = $811;$$05058$i = $812;
+ } else {
+ $$048$lcssa$i = $811;$$050$lcssa$i = $812;
+ break;
+ }
+ }
+ } else {
+ $$048$lcssa$i = $792;$$050$lcssa$i = $806;
+ }
+ $818 = ($$050$lcssa$i>>>0)<(8);
+ if ($818) {
+ $$2$i742 = $$048$lcssa$i;$$252$i = $$050$lcssa$i;
+ } else {
+ $819 = (($$050$lcssa$i) + -8)|0;
+ $820 = $819 & -8;
+ $$149$i = $$048$lcssa$i;$$151$i = $$050$lcssa$i;
+ while(1) {
+ $821 = $$149$i;
+ $822 = $821;
+ HEAP32[$822>>2] = 0;
+ $823 = (($821) + 4)|0;
+ $824 = $823;
+ HEAP32[$824>>2] = 0;
+ $825 = (($$151$i) + -8)|0;
+ $826 = ((($$149$i)) + 8|0);
+ $827 = ($825>>>0)>(7);
+ if ($827) {
+ $$149$i = $826;$$151$i = $825;
+ } else {
+ break;
+ }
+ }
+ $828 = (($820) + 8)|0;
+ $829 = (($819) - ($820))|0;
+ $scevgep$i = (($$048$lcssa$i) + ($828)|0);
+ $$2$i742 = $scevgep$i;$$252$i = $829;
+ }
+ $830 = ($$252$i|0)==(0);
+ if (!($830)) {
+ $$35356$i = $$252$i;$$357$i = $$2$i742;
+ while(1) {
+ HEAP8[$$357$i>>0] = 0;
+ $831 = ((($$357$i)) + 1|0);
+ $832 = (($$35356$i) + -1)|0;
+ $833 = ($832|0)==(0);
+ if ($833) {
+ break;
+ } else {
+ $$35356$i = $832;$$357$i = $831;
+ }
+ }
+ }
+ }
+ __gcry_free($792);
+ $$0$i738 = 0;
+ } else {
+ $$0$i738 = $792;
+ }
+ }
+ } while(0);
+ HEAP32[$0>>2] = $$0$i738;
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+}
+function __gcry_sexp_new($0,$1,$2,$3) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ var $$0$i = 0, $$025$i = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond3$i = 0, $or$cond7$i = 0;
+ var $vararg_buffer = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $vararg_buffer = sp;
+ $4 = sp + 8|0;
+ $5 = sp + 4|0;
+ $6 = ($0|0)==(0|0);
+ do {
+ if ($6) {
+ $$0$i = 45;
+ } else {
+ HEAP32[$0>>2] = 0;
+ $7 = ($3>>>0)<(2);
+ $8 = ($1|0)!=(0|0);
+ $or$cond3$i = $8 & $7;
+ if ($or$cond3$i) {
+ $9 = $3 | $2;
+ $10 = ($9|0)==(0);
+ if ($10) {
+ $11 = (__gcry_sexp_canon_len($1,0,0,$4)|0);
+ $12 = ($11|0)==(0);
+ if ($12) {
+ $13 = HEAP32[$4>>2]|0;
+ $$0$i = $13;
+ break;
+ } else {
+ $$025$i = $11;
+ }
+ } else {
+ $14 = ($3|0)!=(0);
+ $15 = ($2|0)==(0);
+ $or$cond7$i = $15 & $14;
+ if ($or$cond7$i) {
+ $16 = (_strlen($1)|0);
+ $$025$i = $16;
+ } else {
+ $$025$i = $2;
+ }
+ }
+ $17 = (_do_sexp_sscan($5,0,$1,$$025$i,0,0,$vararg_buffer)|0);
+ HEAP32[$4>>2] = $17;
+ $18 = ($17|0)==(0);
+ if ($18) {
+ $19 = HEAP32[$5>>2]|0;
+ HEAP32[$0>>2] = $19;
+ $$0$i = 0;
+ } else {
+ $$0$i = $17;
+ }
+ } else {
+ $$0$i = 45;
+ }
+ }
+ } while(0);
+ STACKTOP = sp;return ($$0$i|0);
+}
+function __gcry_sexp_release($0) {
+ $0 = $0|0;
+ var $$0$copyload = 0, $$0$lcssa = 0, $$048$lcssa = 0, $$04859 = 0, $$050$lcssa = 0, $$05058 = 0, $$062 = 0, $$1 = 0, $$149 = 0, $$151 = 0, $$2 = 0, $$252 = 0, $$35356 = 0, $$357 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0;
+ var $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0;
+ var $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cond = 0, $scevgep = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = ($0|0)==(0|0);
+ if ($1) {
+ return;
+ }
+ $2 = (__gcry_is_secure($0)|0);
+ $3 = ($2|0)==(0);
+ if (!($3)) {
+ $4 = HEAP8[$0>>0]|0;
+ $5 = ($4<<24>>24)==(0);
+ if ($5) {
+ $$0$lcssa = $0;
+ } else {
+ $$062 = $0;$7 = $4;
+ while(1) {
+ $6 = ((($$062)) + 1|0);
+ $cond = ($7<<24>>24)==(1);
+ if ($cond) {
+ $$0$copyload = HEAPU8[$6>>0]|(HEAPU8[$6+1>>0]<<8);
+ $8 = ((($$062)) + 3|0);
+ $9 = $$0$copyload&65535;
+ $10 = (($8) + ($9)|0);
+ $$1 = $10;
+ } else {
+ $$1 = $6;
+ }
+ $11 = HEAP8[$$1>>0]|0;
+ $12 = ($11<<24>>24)==(0);
+ if ($12) {
+ $$0$lcssa = $$1;
+ break;
+ } else {
+ $$062 = $$1;$7 = $11;
+ }
+ }
+ }
+ $13 = $$0$lcssa;
+ $14 = $0;
+ $15 = (($13) - ($14))|0;
+ $16 = $14 & 7;
+ $17 = ($16|0)!=(0);
+ $18 = ($15|0)!=(0);
+ $19 = $18 & $17;
+ if ($19) {
+ $$04859 = $0;$$05058 = $15;
+ while(1) {
+ HEAP8[$$04859>>0] = 0;
+ $20 = ((($$04859)) + 1|0);
+ $21 = (($$05058) + -1)|0;
+ $22 = $20;
+ $23 = $22 & 7;
+ $24 = ($23|0)!=(0);
+ $25 = ($21|0)!=(0);
+ $26 = $25 & $24;
+ if ($26) {
+ $$04859 = $20;$$05058 = $21;
+ } else {
+ $$048$lcssa = $20;$$050$lcssa = $21;
+ break;
+ }
+ }
+ } else {
+ $$048$lcssa = $0;$$050$lcssa = $15;
+ }
+ $27 = ($$050$lcssa>>>0)<(8);
+ if ($27) {
+ $$2 = $$048$lcssa;$$252 = $$050$lcssa;
+ } else {
+ $28 = (($$050$lcssa) + -8)|0;
+ $29 = $28 & -8;
+ $30 = (($29) + 8)|0;
+ $$149 = $$048$lcssa;$$151 = $$050$lcssa;
+ while(1) {
+ $31 = $$149;
+ $32 = $31;
+ HEAP32[$32>>2] = 0;
+ $33 = (($31) + 4)|0;
+ $34 = $33;
+ HEAP32[$34>>2] = 0;
+ $35 = (($$151) + -8)|0;
+ $36 = ((($$149)) + 8|0);
+ $37 = ($35>>>0)>(7);
+ if ($37) {
+ $$149 = $36;$$151 = $35;
+ } else {
+ break;
+ }
+ }
+ $38 = (($28) - ($29))|0;
+ $scevgep = (($$048$lcssa) + ($30)|0);
+ $$2 = $scevgep;$$252 = $38;
+ }
+ $39 = ($$252|0)==(0);
+ if (!($39)) {
+ $$35356 = $$252;$$357 = $$2;
+ while(1) {
+ HEAP8[$$357>>0] = 0;
+ $40 = ((($$357)) + 1|0);
+ $41 = (($$35356) + -1)|0;
+ $42 = ($41|0)==(0);
+ if ($42) {
+ break;
+ } else {
+ $$35356 = $41;$$357 = $40;
+ }
+ }
+ }
+ }
+ __gcry_free($0);
+ return;
+}
+function __gcry_sexp_find_token($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$0$copyload = 0, $$0$copyload$i = 0, $$0$copyload22 = 0, $$0$copyload30 = 0, $$0108 = 0, $$048$lcssa$i = 0, $$04859$i = 0, $$050$lcssa$i = 0, $$05058$i = 0, $$062$i = 0, $$068 = 0, $$069 = 0, $$069$be = 0, $$1 = 0, $$1$i = 0, $$149$i = 0, $$151$i = 0, $$170107 = 0, $$2$i = 0, $$252$i = 0;
+ var $$271 = 0, $$35356$i = 0, $$357$i = 0, $$4 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
+ var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0;
+ var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0;
+ var $62 = 0, $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;
+ var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $9 = 0, $cond$i = 0, $scevgep$i = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $3 = ($0|0)==(0|0);
+ if ($3) {
+ $$4 = 0;
+ return ($$4|0);
+ }
+ $4 = ($2|0)==(0);
+ if ($4) {
+ $5 = (_strlen($1)|0);
+ $$068 = $5;
+ } else {
+ $$068 = $2;
+ }
+ $$069 = $0;
+ L7: while(1) {
+ $6 = HEAP8[$$069>>0]|0;
+ switch ($6<<24>>24) {
+ case 0: {
+ $$4 = 0;
+ label = 40;
+ break L7;
+ break;
+ }
+ case 3: {
+ $7 = ((($$069)) + 1|0);
+ $8 = HEAP8[$7>>0]|0;
+ $9 = ($8<<24>>24)==(1);
+ if ($9) {
+ $10 = ((($$069)) + 2|0);
+ $$0$copyload = HEAPU8[$10>>0]|(HEAPU8[$10+1>>0]<<8);
+ $11 = ((($$069)) + 4|0);
+ $12 = $$0$copyload&65535;
+ $13 = ($$068|0)==($12|0);
+ if ($13) {
+ $14 = (_memcmp($11,$1,$$068)|0);
+ $15 = ($14|0)==(0);
+ if ($15) {
+ break L7;
+ }
+ }
+ $78 = (($11) + ($12)|0);
+ $$069$be = $78;
+ } else {
+ $$069$be = $7;
+ }
+ break;
+ }
+ default: {
+ $79 = ($6<<24>>24)==(1);
+ $80 = ((($$069)) + 1|0);
+ if ($79) {
+ $$0$copyload30 = HEAPU8[$80>>0]|(HEAPU8[$80+1>>0]<<8);
+ $81 = ((($$069)) + 3|0);
+ $82 = $$0$copyload30&65535;
+ $83 = (($81) + ($82)|0);
+ $$069$be = $83;
+ } else {
+ $$069$be = $80;
+ }
+ }
+ }
+ $$069 = $$069$be;
+ }
+ if ((label|0) == 40) {
+ return ($$4|0);
+ }
+ $16 = (($11) + ($$068)|0);
+ $$0108 = 1;$$170107 = $16;
+ L21: while(1) {
+ $17 = HEAP8[$$170107>>0]|0;
+ switch ($17<<24>>24) {
+ case 0: {
+ label = 15;
+ break L21;
+ break;
+ }
+ case 1: {
+ $18 = ((($$170107)) + 1|0);
+ $$0$copyload22 = HEAPU8[$18>>0]|(HEAPU8[$18+1>>0]<<8);
+ $19 = $$0$copyload22&65535;
+ $20 = (($19) + 2)|0;
+ $21 = (($18) + ($20)|0);
+ $22 = ((($21)) + -1|0);
+ $$1 = $$0108;$$271 = $22;
+ break;
+ }
+ case 3: {
+ $23 = (($$0108) + 1)|0;
+ $$1 = $23;$$271 = $$170107;
+ break;
+ }
+ case 4: {
+ $24 = (($$0108) + -1)|0;
+ $$1 = $24;$$271 = $$170107;
+ break;
+ }
+ default: {
+ $$1 = $$0108;$$271 = $$170107;
+ }
+ }
+ $25 = ((($$271)) + 1|0);
+ $26 = ($$1|0)==(0);
+ if ($26) {
+ break;
+ } else {
+ $$0108 = $$1;$$170107 = $25;
+ }
+ }
+ if ((label|0) == 15) {
+ __gcry_bug(44662,481,44693);
+ // unreachable;
+ }
+ $27 = $25;
+ $28 = $$069;
+ $29 = (($27) - ($28))|0;
+ $30 = $29 & 65535;
+ $31 = (($30) + 1)|0;
+ $32 = (__gcry_malloc($31)|0);
+ $33 = ($32|0)==(0|0);
+ if ($33) {
+ $$4 = 0;
+ return ($$4|0);
+ }
+ _memcpy(($32|0),($$069|0),($30|0))|0;
+ $34 = (($32) + ($30)|0);
+ HEAP8[$34>>0] = 0;
+ $35 = HEAP8[$32>>0]|0;
+ switch ($35<<24>>24) {
+ case 0: {
+ __gcry_free($32);
+ $$4 = 0;
+ return ($$4|0);
+ break;
+ }
+ case 3: {
+ $36 = ((($32)) + 1|0);
+ $37 = HEAP8[$36>>0]|0;
+ $38 = ($37<<24>>24)==(4);
+ if (!($38)) {
+ $$4 = $32;
+ return ($$4|0);
+ }
+ $39 = (__gcry_is_secure($32)|0);
+ $40 = ($39|0)==(0);
+ if (!($40)) {
+ $$062$i = $32;$42 = 3;
+ while(1) {
+ $41 = ((($$062$i)) + 1|0);
+ $cond$i = ($42<<24>>24)==(1);
+ if ($cond$i) {
+ $$0$copyload$i = HEAPU8[$41>>0]|(HEAPU8[$41+1>>0]<<8);
+ $43 = ((($$062$i)) + 3|0);
+ $44 = $$0$copyload$i&65535;
+ $45 = (($43) + ($44)|0);
+ $$1$i = $45;
+ } else {
+ $$1$i = $41;
+ }
+ $46 = HEAP8[$$1$i>>0]|0;
+ $47 = ($46<<24>>24)==(0);
+ if ($47) {
+ break;
+ } else {
+ $$062$i = $$1$i;$42 = $46;
+ }
+ }
+ $48 = $$1$i;
+ $49 = $32;
+ $50 = (($48) - ($49))|0;
+ $51 = $49 & 7;
+ $52 = ($51|0)!=(0);
+ $53 = ($50|0)!=(0);
+ $54 = $52 & $53;
+ if ($54) {
+ $$04859$i = $32;$$05058$i = $50;
+ while(1) {
+ HEAP8[$$04859$i>>0] = 0;
+ $55 = ((($$04859$i)) + 1|0);
+ $56 = (($$05058$i) + -1)|0;
+ $57 = $55;
+ $58 = $57 & 7;
+ $59 = ($58|0)!=(0);
+ $60 = ($56|0)!=(0);
+ $61 = $60 & $59;
+ if ($61) {
+ $$04859$i = $55;$$05058$i = $56;
+ } else {
+ $$048$lcssa$i = $55;$$050$lcssa$i = $56;
+ break;
+ }
+ }
+ } else {
+ $$048$lcssa$i = $32;$$050$lcssa$i = $50;
+ }
+ $62 = ($$050$lcssa$i>>>0)<(8);
+ if ($62) {
+ $$2$i = $$048$lcssa$i;$$252$i = $$050$lcssa$i;
+ } else {
+ $63 = (($$050$lcssa$i) + -8)|0;
+ $64 = $63 & -8;
+ $$149$i = $$048$lcssa$i;$$151$i = $$050$lcssa$i;
+ while(1) {
+ $65 = $$149$i;
+ $66 = $65;
+ HEAP32[$66>>2] = 0;
+ $67 = (($65) + 4)|0;
+ $68 = $67;
+ HEAP32[$68>>2] = 0;
+ $69 = (($$151$i) + -8)|0;
+ $70 = ((($$149$i)) + 8|0);
+ $71 = ($69>>>0)>(7);
+ if ($71) {
+ $$149$i = $70;$$151$i = $69;
+ } else {
+ break;
+ }
+ }
+ $72 = (($64) + 8)|0;
+ $73 = (($63) - ($64))|0;
+ $scevgep$i = (($$048$lcssa$i) + ($72)|0);
+ $$2$i = $scevgep$i;$$252$i = $73;
+ }
+ $74 = ($$252$i|0)==(0);
+ if (!($74)) {
+ $$35356$i = $$252$i;$$357$i = $$2$i;
+ while(1) {
+ HEAP8[$$357$i>>0] = 0;
+ $75 = ((($$357$i)) + 1|0);
+ $76 = (($$35356$i) + -1)|0;
+ $77 = ($76|0)==(0);
+ if ($77) {
+ break;
+ } else {
+ $$35356$i = $76;$$357$i = $75;
+ }
+ }
+ }
+ }
+ __gcry_free($32);
+ $$4 = 0;
+ return ($$4|0);
+ break;
+ }
+ default: {
+ $$4 = $32;
+ return ($$4|0);
+ }
+ }
+ return (0)|0;
+}
+function __gcry_sexp_length($0) {
+ $0 = $0|0;
+ var $$0$copyload = 0, $$02633 = 0, $$028 = 0, $$02932 = 0, $$034 = 0, $$1 = 0, $$130 = 0, $$2 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0;
+ var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $spec$select = 0, $spec$select31 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = ($0|0)==(0|0);
+ if ($1) {
+ $$028 = 0;
+ return ($$028|0);
+ }
+ $2 = HEAP8[$0>>0]|0;
+ $3 = ($2<<24>>24)==(0);
+ if ($3) {
+ $$028 = 0;
+ return ($$028|0);
+ }
+ $$02633 = 0;$$02932 = $0;$$034 = 0;$5 = $2;
+ while(1) {
+ $4 = ((($$02932)) + 1|0);
+ switch ($5<<24>>24) {
+ case 1: {
+ $$0$copyload = HEAPU8[$4>>0]|(HEAPU8[$4+1>>0]<<8);
+ $6 = $$0$copyload&65535;
+ $7 = (($6) + 2)|0;
+ $8 = (($4) + ($7)|0);
+ $9 = ($$034|0)==(1);
+ $10 = $9&1;
+ $spec$select = (($$02633) + ($10))|0;
+ $$1 = $$034;$$130 = $8;$$2 = $spec$select;
+ break;
+ }
+ case 3: {
+ $11 = ($$034|0)==(1);
+ $12 = $11&1;
+ $spec$select31 = (($$02633) + ($12))|0;
+ $13 = (($$034) + 1)|0;
+ $$1 = $13;$$130 = $4;$$2 = $spec$select31;
+ break;
+ }
+ case 4: {
+ $14 = (($$034) + -1)|0;
+ $$1 = $14;$$130 = $4;$$2 = $$02633;
+ break;
+ }
+ default: {
+ $$1 = $$034;$$130 = $4;$$2 = $$02633;
+ }
+ }
+ $15 = HEAP8[$$130>>0]|0;
+ $16 = ($15<<24>>24)==(0);
+ if ($16) {
+ $$028 = $$2;
+ break;
+ } else {
+ $$02633 = $$2;$$02932 = $$130;$$034 = $$1;$5 = $15;
+ }
+ }
+ return ($$028|0);
+}
+function __gcry_sexp_nth($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $$0$$sroa_idx31 = 0, $$0$copyload = 0, $$0$copyload$i = 0, $$0$copyload33 = 0, $$0$copyload39 = 0, $$048$lcssa$i = 0, $$04859$i = 0, $$050$lcssa$i = 0, $$05058$i = 0, $$062$i = 0, $$076124 = 0, $$078113$in133 = 0, $$078113135 = 0, $$079$lcssa = 0, $$079123 = 0, $$083122 = 0, $$1 = 0, $$1$i = 0, $$149$i = 0, $$151$i = 0;
+ var $$177 = 0, $$180 = 0, $$184 = 0, $$2 = 0, $$2$i = 0, $$252$i = 0, $$281 = 0, $$3 = 0, $$35356$i = 0, $$357$i = 0, $$382 = 0, $$lcssa115 = 0, $$lcssa117 = 0, $$lcssa119 = 0, $$pre = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0;
+ var $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0;
+ var $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0;
+ var $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0;
+ var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0;
+ var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $cond$i = 0, $scevgep$i = 0, $spec$select = 0, $spec$select85 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $2 = ($0|0)==(0|0);
+ if ($2) {
+ $$1 = 0;
+ return ($$1|0);
+ }
+ $3 = HEAP8[$0>>0]|0;
+ $4 = ($3<<24>>24)==(3);
+ if (!($4)) {
+ $$1 = 0;
+ return ($$1|0);
+ }
+ $5 = ($1|0)>(0);
+ $6 = ((($0)) + 1|0);
+ $7 = HEAP8[$6>>0]|0;
+ $8 = ($7<<24>>24)==(1);
+ L7: do {
+ if ($5) {
+ $$076124 = 0;$$079123 = $0;$$083122 = $1;$16 = $7;$95 = $8;$96 = $6;
+ L9: while(1) {
+ L11: do {
+ if ($95) {
+ $9 = ((($$079123)) + 2|0);
+ $$0$copyload = HEAPU8[$9>>0]|(HEAPU8[$9+1>>0]<<8);
+ $10 = $$0$copyload&65535;
+ $11 = (($10) + 2)|0;
+ $12 = (($9) + ($11)|0);
+ $13 = ((($12)) + -1|0);
+ $14 = ($$076124|0)==(0);
+ $15 = $14 << 31 >> 31;
+ $spec$select = (($$083122) + ($15))|0;
+ $$177 = $$076124;$$180 = $13;$$184 = $spec$select;
+ } else {
+ switch ($16<<24>>24) {
+ case 0: {
+ $$1 = 0;
+ break L9;
+ break;
+ }
+ case 3: {
+ $17 = (($$076124) + 1)|0;
+ $$177 = $17;$$180 = $96;$$184 = $$083122;
+ break L11;
+ break;
+ }
+ case 4: {
+ $18 = (($$076124) + -1)|0;
+ $19 = ($18|0)==(0);
+ $20 = $19 << 31 >> 31;
+ $spec$select85 = (($$083122) + ($20))|0;
+ $$177 = $18;$$180 = $96;$$184 = $spec$select85;
+ break L11;
+ break;
+ }
+ default: {
+ $$177 = $$076124;$$180 = $96;$$184 = $$083122;
+ break L11;
+ }
+ }
+ }
+ } while(0);
+ $21 = ($$184|0)>(0);
+ $22 = ((($$180)) + 1|0);
+ $23 = HEAP8[$22>>0]|0;
+ $24 = ($23<<24>>24)==(1);
+ if ($21) {
+ $$076124 = $$177;$$079123 = $$180;$$083122 = $$184;$16 = $23;$95 = $24;$96 = $22;
+ } else {
+ $$079$lcssa = $$180;$$lcssa115 = $24;$$lcssa117 = $23;$$lcssa119 = $22;
+ break L7;
+ }
+ }
+ return ($$1|0);
+ } else {
+ $$079$lcssa = $0;$$lcssa115 = $8;$$lcssa117 = $7;$$lcssa119 = $6;
+ }
+ } while(0);
+ L20: do {
+ if ($$lcssa115) {
+ $$0$$sroa_idx31 = ((($$079$lcssa)) + 2|0);
+ $$0$copyload33 = HEAPU8[$$0$$sroa_idx31>>0]|(HEAPU8[$$0$$sroa_idx31+1>>0]<<8);
+ $25 = $$0$copyload33&65535;
+ $26 = (($25) + 6)|0;
+ $27 = (__gcry_malloc($26)|0);
+ $28 = ($27|0)==(0|0);
+ if ($28) {
+ $$1 = 0;
+ return ($$1|0);
+ } else {
+ $48 = ((($27)) + 1|0);
+ HEAP8[$27>>0] = 3;
+ $49 = (($25) + 3)|0;
+ _memcpy(($48|0),($$lcssa119|0),($49|0))|0;
+ $50 = (($48) + ($49)|0);
+ $51 = ((($50)) + 1|0);
+ HEAP8[$50>>0] = 4;
+ HEAP8[$51>>0] = 0;
+ $$078113$in133 = $27;$$078113135 = $27;
+ break;
+ }
+ } else {
+ $29 = ($$lcssa117<<24>>24)==(3);
+ if (!($29)) {
+ $$1 = 0;
+ return ($$1|0);
+ }
+ $$2 = 1;$$281 = $$lcssa119;
+ L29: while(1) {
+ $30 = ((($$281)) + 1|0);
+ $31 = HEAP8[$30>>0]|0;
+ switch ($31<<24>>24) {
+ case 0: {
+ label = 19;
+ break L29;
+ break;
+ }
+ case 1: {
+ $32 = ((($$281)) + 2|0);
+ $$0$copyload39 = HEAPU8[$32>>0]|(HEAPU8[$32+1>>0]<<8);
+ $33 = $$0$copyload39&65535;
+ $34 = (($33) + 2)|0;
+ $35 = (($32) + ($34)|0);
+ $36 = ((($35)) + -1|0);
+ $$3 = $$2;$$382 = $36;
+ break;
+ }
+ case 3: {
+ $37 = (($$2) + 1)|0;
+ $$3 = $37;$$382 = $30;
+ break;
+ }
+ case 4: {
+ $38 = (($$2) + -1)|0;
+ $$3 = $38;$$382 = $30;
+ break;
+ }
+ default: {
+ $$3 = $$2;$$382 = $30;
+ }
+ }
+ $39 = ($$3|0)==(0);
+ if ($39) {
+ break;
+ } else {
+ $$2 = $$3;$$281 = $$382;
+ }
+ }
+ if ((label|0) == 19) {
+ __gcry_bug(44662,673,44715);
+ // unreachable;
+ }
+ $40 = ((($$382)) + 1|0);
+ $41 = $40;
+ $42 = $$lcssa119;
+ $43 = (($41) - ($42))|0;
+ $44 = $43 & 65535;
+ $45 = (($44) + 1)|0;
+ $46 = (__gcry_malloc($45)|0);
+ $47 = ($46|0)==(0|0);
+ if ($47) {
+ $$1 = 0;
+ return ($$1|0);
+ }
+ _memcpy(($46|0),($$lcssa119|0),($44|0))|0;
+ $52 = (($46) + ($44)|0);
+ HEAP8[$52>>0] = 0;
+ $$pre = HEAP8[$46>>0]|0;
+ switch ($$pre<<24>>24) {
+ case 3: {
+ $$078113$in133 = $46;$$078113135 = $46;
+ break L20;
+ break;
+ }
+ case 0: {
+ break;
+ }
+ default: {
+ $$1 = $46;
+ return ($$1|0);
+ }
+ }
+ __gcry_free($46);
+ $$1 = 0;
+ return ($$1|0);
+ }
+ } while(0);
+ $53 = ((($$078113$in133)) + 1|0);
+ $54 = HEAP8[$53>>0]|0;
+ $55 = ($54<<24>>24)==(4);
+ if (!($55)) {
+ $$1 = $$078113135;
+ return ($$1|0);
+ }
+ $56 = (__gcry_is_secure($$078113$in133)|0);
+ $57 = ($56|0)==(0);
+ if (!($57)) {
+ $$062$i = $$078113$in133;$59 = 3;
+ while(1) {
+ $58 = ((($$062$i)) + 1|0);
+ $cond$i = ($59<<24>>24)==(1);
+ if ($cond$i) {
+ $$0$copyload$i = HEAPU8[$58>>0]|(HEAPU8[$58+1>>0]<<8);
+ $60 = ((($$062$i)) + 3|0);
+ $61 = $$0$copyload$i&65535;
+ $62 = (($60) + ($61)|0);
+ $$1$i = $62;
+ } else {
+ $$1$i = $58;
+ }
+ $63 = HEAP8[$$1$i>>0]|0;
+ $64 = ($63<<24>>24)==(0);
+ if ($64) {
+ break;
+ } else {
+ $$062$i = $$1$i;$59 = $63;
+ }
+ }
+ $65 = $$1$i;
+ $66 = $$078113$in133;
+ $67 = (($65) - ($66))|0;
+ $68 = $66 & 7;
+ $69 = ($68|0)!=(0);
+ $70 = ($67|0)!=(0);
+ $71 = $69 & $70;
+ if ($71) {
+ $$04859$i = $$078113$in133;$$05058$i = $67;
+ while(1) {
+ HEAP8[$$04859$i>>0] = 0;
+ $72 = ((($$04859$i)) + 1|0);
+ $73 = (($$05058$i) + -1)|0;
+ $74 = $72;
+ $75 = $74 & 7;
+ $76 = ($75|0)!=(0);
+ $77 = ($73|0)!=(0);
+ $78 = $77 & $76;
+ if ($78) {
+ $$04859$i = $72;$$05058$i = $73;
+ } else {
+ $$048$lcssa$i = $72;$$050$lcssa$i = $73;
+ break;
+ }
+ }
+ } else {
+ $$048$lcssa$i = $$078113$in133;$$050$lcssa$i = $67;
+ }
+ $79 = ($$050$lcssa$i>>>0)<(8);
+ if ($79) {
+ $$2$i = $$048$lcssa$i;$$252$i = $$050$lcssa$i;
+ } else {
+ $80 = (($$050$lcssa$i) + -8)|0;
+ $81 = $80 & -8;
+ $$149$i = $$048$lcssa$i;$$151$i = $$050$lcssa$i;
+ while(1) {
+ $82 = $$149$i;
+ $83 = $82;
+ HEAP32[$83>>2] = 0;
+ $84 = (($82) + 4)|0;
+ $85 = $84;
+ HEAP32[$85>>2] = 0;
+ $86 = (($$151$i) + -8)|0;
+ $87 = ((($$149$i)) + 8|0);
+ $88 = ($86>>>0)>(7);
+ if ($88) {
+ $$149$i = $87;$$151$i = $86;
+ } else {
+ break;
+ }
+ }
+ $89 = (($81) + 8)|0;
+ $90 = (($80) - ($81))|0;
+ $scevgep$i = (($$048$lcssa$i) + ($89)|0);
+ $$2$i = $scevgep$i;$$252$i = $90;
+ }
+ $91 = ($$252$i|0)==(0);
+ if (!($91)) {
+ $$35356$i = $$252$i;$$357$i = $$2$i;
+ while(1) {
+ HEAP8[$$357$i>>0] = 0;
+ $92 = ((($$357$i)) + 1|0);
+ $93 = (($$35356$i) + -1)|0;
+ $94 = ($93|0)==(0);
+ if ($94) {
+ break;
+ } else {
+ $$35356$i = $93;$$357$i = $92;
+ }
+ }
+ }
+ }
+ __gcry_free($$078113$in133);
+ $$1 = 0;
+ return ($$1|0);
+}
+function __gcry_sexp_nth_data($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$0$copyload$i = 0, $$0$copyload9$i = 0, $$036$i = 0, $$03742$i = 0, $$044$i = 0, $$1$i = 0, $$135$lcssa$i = 0, $$135$lcssa48$i = 0, $$13543$i = 0, $$138$i = 0, $$2$i = 0, $$lcssa$i = 0, $$pre$i = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0;
+ var $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
+ var $9 = 0, $or$cond$i = 0, $spec$select$i = 0, $spec$select39$i = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ HEAP32[$2>>2] = 0;
+ $3 = ($0|0)==(0|0);
+ if ($3) {
+ $$036$i = 0;
+ return ($$036$i|0);
+ }
+ $4 = HEAP8[$0>>0]|0;
+ $5 = ($4<<24>>24)==(3);
+ if ($5) {
+ $8 = ((($0)) + 1|0);
+ $$pre$i = HEAP8[$8>>0]|0;
+ $9 = ($1|0)>(0);
+ $10 = ($$pre$i<<24>>24)==(1);
+ L6: do {
+ if ($9) {
+ $$03742$i = $1;$$044$i = 0;$$13543$i = $8;$18 = $$pre$i;$30 = $10;
+ L8: while(1) {
+ L10: do {
+ if ($30) {
+ $11 = ((($$13543$i)) + 1|0);
+ $$0$copyload$i = HEAPU8[$11>>0]|(HEAPU8[$11+1>>0]<<8);
+ $12 = $$0$copyload$i&65535;
+ $13 = (($12) + 2)|0;
+ $14 = (($11) + ($13)|0);
+ $15 = ((($14)) + -1|0);
+ $16 = ($$044$i|0)==(0);
+ $17 = $16 << 31 >> 31;
+ $spec$select$i = (($$03742$i) + ($17))|0;
+ $$1$i = $$044$i;$$138$i = $spec$select$i;$$2$i = $15;
+ } else {
+ switch ($18<<24>>24) {
+ case 0: {
+ $$036$i = 0;
+ break L8;
+ break;
+ }
+ case 3: {
+ $19 = (($$044$i) + 1)|0;
+ $$1$i = $19;$$138$i = $$03742$i;$$2$i = $$13543$i;
+ break L10;
+ break;
+ }
+ case 4: {
+ $20 = (($$044$i) + -1)|0;
+ $21 = ($20|0)==(0);
+ $22 = $21 << 31 >> 31;
+ $spec$select39$i = (($$03742$i) + ($22))|0;
+ $$1$i = $20;$$138$i = $spec$select39$i;$$2$i = $$13543$i;
+ break L10;
+ break;
+ }
+ default: {
+ $$1$i = $$044$i;$$138$i = $$03742$i;$$2$i = $$13543$i;
+ break L10;
+ }
+ }
+ }
+ } while(0);
+ $23 = ((($$2$i)) + 1|0);
+ $24 = ($$138$i|0)>(0);
+ $25 = HEAP8[$23>>0]|0;
+ $26 = ($25<<24>>24)==(1);
+ if ($24) {
+ $$03742$i = $$138$i;$$044$i = $$1$i;$$13543$i = $23;$18 = $25;$30 = $26;
+ } else {
+ $$135$lcssa$i = $23;$$lcssa$i = $26;
+ break L6;
+ }
+ }
+ return ($$036$i|0);
+ } else {
+ $$135$lcssa$i = $8;$$lcssa$i = $10;
+ }
+ } while(0);
+ if ($$lcssa$i) {
+ $$135$lcssa48$i = $$135$lcssa$i;
+ } else {
+ $$036$i = 0;
+ return ($$036$i|0);
+ }
+ } else {
+ $6 = ($1|0)==(0);
+ $7 = ($4<<24>>24)==(1);
+ $or$cond$i = $6 & $7;
+ if ($or$cond$i) {
+ $$135$lcssa48$i = $0;
+ } else {
+ $$036$i = 0;
+ return ($$036$i|0);
+ }
+ }
+ $27 = ((($$135$lcssa48$i)) + 1|0);
+ $$0$copyload9$i = HEAPU8[$27>>0]|(HEAPU8[$27+1>>0]<<8);
+ $28 = $$0$copyload9$i&65535;
+ HEAP32[$2>>2] = $28;
+ $29 = ((($$135$lcssa48$i)) + 3|0);
+ $$036$i = $29;
+ return ($$036$i|0);
+}
+function __gcry_sexp_nth_buffer($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$0 = 0, $$0$copyload$i = 0, $$0$copyload9$i = 0, $$03742$i = 0, $$044$i = 0, $$1$i = 0, $$135$lcssa$i = 0, $$135$lcssa48$i = 0, $$13543$i = 0, $$138$i = 0, $$2$i = 0, $$lcssa$i = 0, $$pre$i = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0;
+ var $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0;
+ var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond$i = 0, $spec$select$i = 0, $spec$select39$i = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ HEAP32[$2>>2] = 0;
+ $3 = ($0|0)==(0|0);
+ if ($3) {
+ $$0 = 0;
+ return ($$0|0);
+ }
+ $4 = HEAP8[$0>>0]|0;
+ $5 = ($4<<24>>24)==(3);
+ if ($5) {
+ $8 = ((($0)) + 1|0);
+ $$pre$i = HEAP8[$8>>0]|0;
+ $9 = ($1|0)>(0);
+ $10 = ($$pre$i<<24>>24)==(1);
+ L6: do {
+ if ($9) {
+ $$03742$i = $1;$$044$i = 0;$$13543$i = $8;$18 = $$pre$i;$33 = $10;
+ L8: while(1) {
+ L10: do {
+ if ($33) {
+ $11 = ((($$13543$i)) + 1|0);
+ $$0$copyload$i = HEAPU8[$11>>0]|(HEAPU8[$11+1>>0]<<8);
+ $12 = $$0$copyload$i&65535;
+ $13 = (($12) + 2)|0;
+ $14 = (($11) + ($13)|0);
+ $15 = ((($14)) + -1|0);
+ $16 = ($$044$i|0)==(0);
+ $17 = $16 << 31 >> 31;
+ $spec$select$i = (($$03742$i) + ($17))|0;
+ $$1$i = $$044$i;$$138$i = $spec$select$i;$$2$i = $15;
+ } else {
+ switch ($18<<24>>24) {
+ case 0: {
+ $$0 = 0;
+ break L8;
+ break;
+ }
+ case 3: {
+ $19 = (($$044$i) + 1)|0;
+ $$1$i = $19;$$138$i = $$03742$i;$$2$i = $$13543$i;
+ break L10;
+ break;
+ }
+ case 4: {
+ $20 = (($$044$i) + -1)|0;
+ $21 = ($20|0)==(0);
+ $22 = $21 << 31 >> 31;
+ $spec$select39$i = (($$03742$i) + ($22))|0;
+ $$1$i = $20;$$138$i = $spec$select39$i;$$2$i = $$13543$i;
+ break L10;
+ break;
+ }
+ default: {
+ $$1$i = $$044$i;$$138$i = $$03742$i;$$2$i = $$13543$i;
+ break L10;
+ }
+ }
+ }
+ } while(0);
+ $23 = ((($$2$i)) + 1|0);
+ $24 = ($$138$i|0)>(0);
+ $25 = HEAP8[$23>>0]|0;
+ $26 = ($25<<24>>24)==(1);
+ if ($24) {
+ $$03742$i = $$138$i;$$044$i = $$1$i;$$13543$i = $23;$18 = $25;$33 = $26;
+ } else {
+ $$135$lcssa$i = $23;$$lcssa$i = $26;
+ break L6;
+ }
+ }
+ return ($$0|0);
+ } else {
+ $$135$lcssa$i = $8;$$lcssa$i = $10;
+ }
+ } while(0);
+ if ($$lcssa$i) {
+ $$135$lcssa48$i = $$135$lcssa$i;
+ } else {
+ $$0 = 0;
+ return ($$0|0);
+ }
+ } else {
+ $6 = ($1|0)==(0);
+ $7 = ($4<<24>>24)==(1);
+ $or$cond$i = $6 & $7;
+ if ($or$cond$i) {
+ $$135$lcssa48$i = $0;
+ } else {
+ $$0 = 0;
+ return ($$0|0);
+ }
+ }
+ $27 = ((($$135$lcssa48$i)) + 1|0);
+ $$0$copyload9$i = HEAPU8[$27>>0]|(HEAPU8[$27+1>>0]<<8);
+ $28 = $$0$copyload9$i&65535;
+ $29 = ((($$135$lcssa48$i)) + 3|0);
+ $30 = ($$0$copyload9$i<<16>>16)==(0);
+ if ($30) {
+ $$0 = 0;
+ return ($$0|0);
+ }
+ $31 = (__gcry_malloc($28)|0);
+ $32 = ($31|0)==(0|0);
+ if ($32) {
+ $$0 = 0;
+ return ($$0|0);
+ }
+ _memcpy(($31|0),($29|0),($28|0))|0;
+ HEAP32[$2>>2] = $28;
+ $$0 = $31;
+ return ($$0|0);
+}
+function __gcry_sexp_nth_string($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $$0 = 0, $$0$copyload$i = 0, $$0$copyload9$i = 0, $$03742$i = 0, $$044$i = 0, $$1$i = 0, $$135$lcssa$i = 0, $$135$lcssa48$i = 0, $$13543$i = 0, $$138$i = 0, $$2$i = 0, $$lcssa$i = 0, $$pre$i = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0;
+ var $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0;
+ var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond$i = 0, $spec$select$i = 0, $spec$select39$i = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $2 = ($0|0)==(0|0);
+ if ($2) {
+ $$0 = 0;
+ return ($$0|0);
+ }
+ $3 = HEAP8[$0>>0]|0;
+ $4 = ($3<<24>>24)==(3);
+ if ($4) {
+ $7 = ((($0)) + 1|0);
+ $$pre$i = HEAP8[$7>>0]|0;
+ $8 = ($1|0)>(0);
+ $9 = ($$pre$i<<24>>24)==(1);
+ L6: do {
+ if ($8) {
+ $$03742$i = $1;$$044$i = 0;$$13543$i = $7;$17 = $$pre$i;$34 = $9;
+ L8: while(1) {
+ L10: do {
+ if ($34) {
+ $10 = ((($$13543$i)) + 1|0);
+ $$0$copyload$i = HEAPU8[$10>>0]|(HEAPU8[$10+1>>0]<<8);
+ $11 = $$0$copyload$i&65535;
+ $12 = (($11) + 2)|0;
+ $13 = (($10) + ($12)|0);
+ $14 = ((($13)) + -1|0);
+ $15 = ($$044$i|0)==(0);
+ $16 = $15 << 31 >> 31;
+ $spec$select$i = (($$03742$i) + ($16))|0;
+ $$1$i = $$044$i;$$138$i = $spec$select$i;$$2$i = $14;
+ } else {
+ switch ($17<<24>>24) {
+ case 0: {
+ $$0 = 0;
+ break L8;
+ break;
+ }
+ case 3: {
+ $18 = (($$044$i) + 1)|0;
+ $$1$i = $18;$$138$i = $$03742$i;$$2$i = $$13543$i;
+ break L10;
+ break;
+ }
+ case 4: {
+ $19 = (($$044$i) + -1)|0;
+ $20 = ($19|0)==(0);
+ $21 = $20 << 31 >> 31;
+ $spec$select39$i = (($$03742$i) + ($21))|0;
+ $$1$i = $19;$$138$i = $spec$select39$i;$$2$i = $$13543$i;
+ break L10;
+ break;
+ }
+ default: {
+ $$1$i = $$044$i;$$138$i = $$03742$i;$$2$i = $$13543$i;
+ break L10;
+ }
+ }
+ }
+ } while(0);
+ $22 = ((($$2$i)) + 1|0);
+ $23 = ($$138$i|0)>(0);
+ $24 = HEAP8[$22>>0]|0;
+ $25 = ($24<<24>>24)==(1);
+ if ($23) {
+ $$03742$i = $$138$i;$$044$i = $$1$i;$$13543$i = $22;$17 = $24;$34 = $25;
+ } else {
+ $$135$lcssa$i = $22;$$lcssa$i = $25;
+ break L6;
+ }
+ }
+ return ($$0|0);
+ } else {
+ $$135$lcssa$i = $7;$$lcssa$i = $9;
+ }
+ } while(0);
+ if ($$lcssa$i) {
+ $$135$lcssa48$i = $$135$lcssa$i;
+ } else {
+ $$0 = 0;
+ return ($$0|0);
+ }
+ } else {
+ $5 = ($1|0)==(0);
+ $6 = ($3<<24>>24)==(1);
+ $or$cond$i = $5 & $6;
+ if ($or$cond$i) {
+ $$135$lcssa48$i = $0;
+ } else {
+ $$0 = 0;
+ return ($$0|0);
+ }
+ }
+ $26 = ((($$135$lcssa48$i)) + 1|0);
+ $$0$copyload9$i = HEAPU8[$26>>0]|(HEAPU8[$26+1>>0]<<8);
+ $27 = $$0$copyload9$i&65535;
+ $28 = ((($$135$lcssa48$i)) + 3|0);
+ $29 = ($$0$copyload9$i<<16>>16)==(0);
+ if ($29) {
+ $$0 = 0;
+ return ($$0|0);
+ }
+ $30 = (($27) + 1)|0;
+ $31 = (__gcry_malloc($30)|0);
+ $32 = ($31|0)==(0|0);
+ if ($32) {
+ $$0 = 0;
+ return ($$0|0);
+ }
+ _memcpy(($31|0),($28|0),($27|0))|0;
+ $33 = (($31) + ($27)|0);
+ HEAP8[$33>>0] = 0;
+ $$0 = $31;
+ return ($$0|0);
+}
+function __gcry_sexp_nth_mpi($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$0$copyload$i = 0, $$0$copyload$i$i = 0, $$0$copyload9$i = 0, $$0$copyload9$i$i = 0, $$021 = 0, $$03742$i = 0, $$03742$i$i = 0, $$044$i = 0, $$044$i$i = 0, $$1$i = 0, $$1$i$i = 0, $$135$lcssa$i = 0, $$135$lcssa$i$i = 0, $$135$lcssa48$i = 0, $$135$lcssa48$i$i = 0, $$13543$i = 0, $$13543$i$i = 0, $$138$i = 0, $$138$i$i = 0, $$2 = 0;
+ var $$2$i = 0, $$2$i$i = 0, $$lcssa$i = 0, $$lcssa$i$i = 0, $$pre = 0, $$pre$i = 0, $$pre$i$i = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0;
+ var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0;
+ var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0;
+ var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $8 = 0, $9 = 0, $or$cond$i = 0, $or$cond$i$i = 0, $spec$select = 0, $spec$select$i = 0;
+ var $spec$select$i$i = 0, $spec$select39$i = 0, $spec$select39$i$i = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $3 = sp;
+ switch ($2|0) {
+ case 8: {
+ $4 = ($0|0)==(0|0);
+ if ($4) {
+ $$2 = 0;
+ STACKTOP = sp;return ($$2|0);
+ }
+ $5 = HEAP8[$0>>0]|0;
+ $6 = ($5<<24>>24)==(3);
+ if ($6) {
+ $9 = ((($0)) + 1|0);
+ $$pre$i$i = HEAP8[$9>>0]|0;
+ $10 = ($1|0)>(0);
+ $11 = ($$pre$i$i<<24>>24)==(1);
+ L8: do {
+ if ($10) {
+ $$03742$i$i = $1;$$044$i$i = 0;$$13543$i$i = $9;$19 = $$pre$i$i;$70 = $11;
+ L10: while(1) {
+ L12: do {
+ if ($70) {
+ $12 = ((($$13543$i$i)) + 1|0);
+ $$0$copyload$i$i = HEAPU8[$12>>0]|(HEAPU8[$12+1>>0]<<8);
+ $13 = $$0$copyload$i$i&65535;
+ $14 = (($13) + 2)|0;
+ $15 = (($12) + ($14)|0);
+ $16 = ((($15)) + -1|0);
+ $17 = ($$044$i$i|0)==(0);
+ $18 = $17 << 31 >> 31;
+ $spec$select$i$i = (($$03742$i$i) + ($18))|0;
+ $$1$i$i = $$044$i$i;$$138$i$i = $spec$select$i$i;$$2$i$i = $16;
+ } else {
+ switch ($19<<24>>24) {
+ case 0: {
+ $$2 = 0;
+ break L10;
+ break;
+ }
+ case 3: {
+ $20 = (($$044$i$i) + 1)|0;
+ $$1$i$i = $20;$$138$i$i = $$03742$i$i;$$2$i$i = $$13543$i$i;
+ break L12;
+ break;
+ }
+ case 4: {
+ $21 = (($$044$i$i) + -1)|0;
+ $22 = ($21|0)==(0);
+ $23 = $22 << 31 >> 31;
+ $spec$select39$i$i = (($$03742$i$i) + ($23))|0;
+ $$1$i$i = $21;$$138$i$i = $spec$select39$i$i;$$2$i$i = $$13543$i$i;
+ break L12;
+ break;
+ }
+ default: {
+ $$1$i$i = $$044$i$i;$$138$i$i = $$03742$i$i;$$2$i$i = $$13543$i$i;
+ break L12;
+ }
+ }
+ }
+ } while(0);
+ $24 = ((($$2$i$i)) + 1|0);
+ $25 = ($$138$i$i|0)>(0);
+ $26 = HEAP8[$24>>0]|0;
+ $27 = ($26<<24>>24)==(1);
+ if ($25) {
+ $$03742$i$i = $$138$i$i;$$044$i$i = $$1$i$i;$$13543$i$i = $24;$19 = $26;$70 = $27;
+ } else {
+ $$135$lcssa$i$i = $24;$$lcssa$i$i = $27;
+ break L8;
+ }
+ }
+ STACKTOP = sp;return ($$2|0);
+ } else {
+ $$135$lcssa$i$i = $9;$$lcssa$i$i = $11;
+ }
+ } while(0);
+ if ($$lcssa$i$i) {
+ $$135$lcssa48$i$i = $$135$lcssa$i$i;
+ } else {
+ $$2 = 0;
+ STACKTOP = sp;return ($$2|0);
+ }
+ } else {
+ $7 = ($1|0)==(0);
+ $8 = ($5<<24>>24)==(1);
+ $or$cond$i$i = $7 & $8;
+ if ($or$cond$i$i) {
+ $$135$lcssa48$i$i = $0;
+ } else {
+ $$2 = 0;
+ STACKTOP = sp;return ($$2|0);
+ }
+ }
+ $28 = ((($$135$lcssa48$i$i)) + 1|0);
+ $$0$copyload9$i$i = HEAPU8[$28>>0]|(HEAPU8[$28+1>>0]<<8);
+ $29 = $$0$copyload9$i$i&65535;
+ $30 = ((($$135$lcssa48$i$i)) + 3|0);
+ $31 = ($$0$copyload9$i$i<<16>>16)==(0);
+ if ($31) {
+ $$2 = 0;
+ STACKTOP = sp;return ($$2|0);
+ }
+ $32 = (__gcry_malloc($29)|0);
+ $33 = ($32|0)==(0|0);
+ if ($33) {
+ $$2 = 0;
+ STACKTOP = sp;return ($$2|0);
+ }
+ _memcpy(($32|0),($30|0),($29|0))|0;
+ $34 = (__gcry_is_secure($0)|0);
+ $35 = ($34|0)==(0);
+ if ($35) {
+ $37 = (__gcry_mpi_new(0)|0);
+ $38 = $37;
+ } else {
+ $36 = (__gcry_mpi_snew(0)|0);
+ $38 = $36;
+ }
+ HEAP32[$3>>2] = $38;
+ $39 = ($38|0)==(0|0);
+ if ($39) {
+ __gcry_free($32);
+ $$2 = 0;
+ STACKTOP = sp;return ($$2|0);
+ } else {
+ $40 = $29 << 3;
+ (__gcry_mpi_set_opaque($38,$32,$40)|0);
+ $$2 = $38;
+ STACKTOP = sp;return ($$2|0);
+ }
+ break;
+ }
+ case 0: {
+ $$021 = 1;
+ break;
+ }
+ default: {
+ $$021 = $2;
+ }
+ }
+ $41 = ($0|0)==(0|0);
+ if ($41) {
+ $$2 = 0;
+ STACKTOP = sp;return ($$2|0);
+ }
+ $42 = HEAP8[$0>>0]|0;
+ $43 = ($42<<24>>24)==(3);
+ if ($43) {
+ $46 = ((($0)) + 1|0);
+ $$pre$i = HEAP8[$46>>0]|0;
+ $47 = ($1|0)>(0);
+ $48 = ($$pre$i<<24>>24)==(1);
+ L47: do {
+ if ($47) {
+ $$03742$i = $1;$$044$i = 0;$$13543$i = $46;$56 = $$pre$i;$71 = $48;
+ L49: while(1) {
+ L51: do {
+ if ($71) {
+ $49 = ((($$13543$i)) + 1|0);
+ $$0$copyload$i = HEAPU8[$49>>0]|(HEAPU8[$49+1>>0]<<8);
+ $50 = $$0$copyload$i&65535;
+ $51 = (($50) + 2)|0;
+ $52 = (($49) + ($51)|0);
+ $53 = ((($52)) + -1|0);
+ $54 = ($$044$i|0)==(0);
+ $55 = $54 << 31 >> 31;
+ $spec$select$i = (($$03742$i) + ($55))|0;
+ $$1$i = $$044$i;$$138$i = $spec$select$i;$$2$i = $53;
+ } else {
+ switch ($56<<24>>24) {
+ case 0: {
+ $$2 = 0;
+ break L49;
+ break;
+ }
+ case 3: {
+ $57 = (($$044$i) + 1)|0;
+ $$1$i = $57;$$138$i = $$03742$i;$$2$i = $$13543$i;
+ break L51;
+ break;
+ }
+ case 4: {
+ $58 = (($$044$i) + -1)|0;
+ $59 = ($58|0)==(0);
+ $60 = $59 << 31 >> 31;
+ $spec$select39$i = (($$03742$i) + ($60))|0;
+ $$1$i = $58;$$138$i = $spec$select39$i;$$2$i = $$13543$i;
+ break L51;
+ break;
+ }
+ default: {
+ $$1$i = $$044$i;$$138$i = $$03742$i;$$2$i = $$13543$i;
+ break L51;
+ }
+ }
+ }
+ } while(0);
+ $61 = ((($$2$i)) + 1|0);
+ $62 = ($$138$i|0)>(0);
+ $63 = HEAP8[$61>>0]|0;
+ $64 = ($63<<24>>24)==(1);
+ if ($62) {
+ $$03742$i = $$138$i;$$044$i = $$1$i;$$13543$i = $61;$56 = $63;$71 = $64;
+ } else {
+ $$135$lcssa$i = $61;$$lcssa$i = $64;
+ break L47;
+ }
+ }
+ STACKTOP = sp;return ($$2|0);
+ } else {
+ $$135$lcssa$i = $46;$$lcssa$i = $48;
+ }
+ } while(0);
+ if ($$lcssa$i) {
+ $$135$lcssa48$i = $$135$lcssa$i;
+ } else {
+ $$2 = 0;
+ STACKTOP = sp;return ($$2|0);
+ }
+ } else {
+ $44 = ($1|0)==(0);
+ $45 = ($42<<24>>24)==(1);
+ $or$cond$i = $44 & $45;
+ if ($or$cond$i) {
+ $$135$lcssa48$i = $0;
+ } else {
+ $$2 = 0;
+ STACKTOP = sp;return ($$2|0);
+ }
+ }
+ $65 = ((($$135$lcssa48$i)) + 1|0);
+ $$0$copyload9$i = HEAPU8[$65>>0]|(HEAPU8[$65+1>>0]<<8);
+ $66 = $$0$copyload9$i&65535;
+ $67 = ((($$135$lcssa48$i)) + 3|0);
+ $68 = (__gcry_mpi_scan($3,$$021,$67,$66,0)|0);
+ $69 = ($68|0)==(0);
+ $$pre = HEAP32[$3>>2]|0;
+ $spec$select = $69 ? $$pre : 0;
+ $$2 = $spec$select;
+ STACKTOP = sp;return ($$2|0);
+}
+function __gcry_sexp_cdr($0) {
+ $0 = $0|0;
+ var $$0$copyload = 0, $$0$copyload$i = 0, $$0$copyload28 = 0, $$0102 = 0, $$048$lcssa$i = 0, $$04859$i = 0, $$050$lcssa$i = 0, $$05058$i = 0, $$061101 = 0, $$062$i = 0, $$063 = 0, $$064100 = 0, $$1 = 0, $$1$i = 0, $$149$i = 0, $$151$i = 0, $$162 = 0, $$165 = 0, $$2 = 0, $$2$i = 0;
+ var $$252$i = 0, $$266 = 0, $$3 = 0, $$35356$i = 0, $$357$i = 0, $$367 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0;
+ var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0;
+ var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0;
+ var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0;
+ var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $9 = 0, $cond$i = 0, $scevgep$i = 0, $spec$select = 0, $spec$select68 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = ($0|0)==(0|0);
+ if ($1) {
+ $$063 = 0;
+ return ($$063|0);
+ }
+ $2 = HEAP8[$0>>0]|0;
+ $3 = ($2<<24>>24)==(3);
+ if (!($3)) {
+ $$063 = 0;
+ return ($$063|0);
+ }
+ $4 = ((($0)) + 1|0);
+ $$0102 = 1;$$061101 = 0;$$064100 = $0;$6 = $4;
+ L7: while(1) {
+ $5 = HEAP8[$6>>0]|0;
+ switch ($5<<24>>24) {
+ case 0: {
+ $$063 = 0;
+ label = 33;
+ break L7;
+ break;
+ }
+ case 1: {
+ $7 = ((($$064100)) + 2|0);
+ $$0$copyload = HEAPU8[$7>>0]|(HEAPU8[$7+1>>0]<<8);
+ $8 = $$0$copyload&65535;
+ $9 = (($8) + 2)|0;
+ $10 = (($7) + ($9)|0);
+ $11 = ((($10)) + -1|0);
+ $12 = ($$061101|0)==(0);
+ $13 = $12 << 31 >> 31;
+ $spec$select = (($$0102) + ($13))|0;
+ $$1 = $spec$select;$$162 = $$061101;$$165 = $11;
+ break;
+ }
+ case 3: {
+ $14 = (($$061101) + 1)|0;
+ $$1 = $$0102;$$162 = $14;$$165 = $6;
+ break;
+ }
+ case 4: {
+ $15 = (($$061101) + -1)|0;
+ $16 = ($15|0)==(0);
+ $17 = $16 << 31 >> 31;
+ $spec$select68 = (($$0102) + ($17))|0;
+ $$1 = $spec$select68;$$162 = $15;$$165 = $6;
+ break;
+ }
+ default: {
+ $$1 = $$0102;$$162 = $$061101;$$165 = $6;
+ }
+ }
+ $18 = ($$1|0)>(0);
+ $19 = ((($$165)) + 1|0);
+ if ($18) {
+ $$0102 = $$1;$$061101 = $$162;$$064100 = $$165;$6 = $19;
+ } else {
+ break;
+ }
+ }
+ if ((label|0) == 33) {
+ return ($$063|0);
+ }
+ $$2 = 0;$$266 = $19;
+ L17: while(1) {
+ $20 = HEAP8[$$266>>0]|0;
+ switch ($20<<24>>24) {
+ case 0: {
+ $$063 = 0;
+ label = 33;
+ break L17;
+ break;
+ }
+ case 1: {
+ $21 = ((($$266)) + 1|0);
+ $$0$copyload28 = HEAPU8[$21>>0]|(HEAPU8[$21+1>>0]<<8);
+ $22 = $$0$copyload28&65535;
+ $23 = (($22) + 2)|0;
+ $24 = (($21) + ($23)|0);
+ $25 = ((($24)) + -1|0);
+ $$3 = $$2;$$367 = $25;
+ break;
+ }
+ case 3: {
+ $26 = (($$2) + 1)|0;
+ $$3 = $26;$$367 = $$266;
+ break;
+ }
+ case 4: {
+ $27 = (($$2) + -1)|0;
+ $$3 = $27;$$367 = $$266;
+ break;
+ }
+ default: {
+ $$3 = $$2;$$367 = $$266;
+ }
+ }
+ $28 = ((($$367)) + 1|0);
+ $29 = ($$3|0)==(0);
+ if ($29) {
+ break;
+ } else {
+ $$2 = $$3;$$266 = $28;
+ }
+ }
+ if ((label|0) == 33) {
+ return ($$063|0);
+ }
+ $30 = $28;
+ $31 = $19;
+ $32 = (($30) - ($31))|0;
+ $33 = $32 & 65535;
+ $34 = (($33) + 3)|0;
+ $35 = (__gcry_malloc($34)|0);
+ $36 = ($35|0)==(0|0);
+ if ($36) {
+ $$063 = 0;
+ return ($$063|0);
+ }
+ $37 = ((($35)) + 1|0);
+ HEAP8[$35>>0] = 3;
+ _memcpy(($37|0),($19|0),($33|0))|0;
+ $38 = (($37) + ($33)|0);
+ $39 = ((($38)) + 1|0);
+ HEAP8[$38>>0] = 4;
+ HEAP8[$39>>0] = 0;
+ $40 = HEAP8[$37>>0]|0;
+ $41 = ($40<<24>>24)==(4);
+ if (!($41)) {
+ $$063 = $35;
+ return ($$063|0);
+ }
+ $42 = (__gcry_is_secure($35)|0);
+ $43 = ($42|0)==(0);
+ if (!($43)) {
+ $$062$i = $35;$45 = 3;
+ while(1) {
+ $44 = ((($$062$i)) + 1|0);
+ $cond$i = ($45<<24>>24)==(1);
+ if ($cond$i) {
+ $$0$copyload$i = HEAPU8[$44>>0]|(HEAPU8[$44+1>>0]<<8);
+ $46 = ((($$062$i)) + 3|0);
+ $47 = $$0$copyload$i&65535;
+ $48 = (($46) + ($47)|0);
+ $$1$i = $48;
+ } else {
+ $$1$i = $44;
+ }
+ $49 = HEAP8[$$1$i>>0]|0;
+ $50 = ($49<<24>>24)==(0);
+ if ($50) {
+ break;
+ } else {
+ $$062$i = $$1$i;$45 = $49;
+ }
+ }
+ $51 = $$1$i;
+ $52 = $35;
+ $53 = (($51) - ($52))|0;
+ $54 = $52 & 7;
+ $55 = ($54|0)!=(0);
+ $56 = ($53|0)!=(0);
+ $57 = $55 & $56;
+ if ($57) {
+ $$04859$i = $35;$$05058$i = $53;
+ while(1) {
+ HEAP8[$$04859$i>>0] = 0;
+ $58 = ((($$04859$i)) + 1|0);
+ $59 = (($$05058$i) + -1)|0;
+ $60 = $58;
+ $61 = $60 & 7;
+ $62 = ($61|0)!=(0);
+ $63 = ($59|0)!=(0);
+ $64 = $63 & $62;
+ if ($64) {
+ $$04859$i = $58;$$05058$i = $59;
+ } else {
+ $$048$lcssa$i = $58;$$050$lcssa$i = $59;
+ break;
+ }
+ }
+ } else {
+ $$048$lcssa$i = $35;$$050$lcssa$i = $53;
+ }
+ $65 = ($$050$lcssa$i>>>0)<(8);
+ if ($65) {
+ $$2$i = $$048$lcssa$i;$$252$i = $$050$lcssa$i;
+ } else {
+ $66 = (($$050$lcssa$i) + -8)|0;
+ $67 = $66 & -8;
+ $$149$i = $$048$lcssa$i;$$151$i = $$050$lcssa$i;
+ while(1) {
+ $68 = $$149$i;
+ $69 = $68;
+ HEAP32[$69>>2] = 0;
+ $70 = (($68) + 4)|0;
+ $71 = $70;
+ HEAP32[$71>>2] = 0;
+ $72 = (($$151$i) + -8)|0;
+ $73 = ((($$149$i)) + 8|0);
+ $74 = ($72>>>0)>(7);
+ if ($74) {
+ $$149$i = $73;$$151$i = $72;
+ } else {
+ break;
+ }
+ }
+ $75 = (($67) + 8)|0;
+ $76 = (($66) - ($67))|0;
+ $scevgep$i = (($$048$lcssa$i) + ($75)|0);
+ $$2$i = $scevgep$i;$$252$i = $76;
+ }
+ $77 = ($$252$i|0)==(0);
+ if (!($77)) {
+ $$35356$i = $$252$i;$$357$i = $$2$i;
+ while(1) {
+ HEAP8[$$357$i>>0] = 0;
+ $78 = ((($$357$i)) + 1|0);
+ $79 = (($$35356$i) + -1)|0;
+ $80 = ($79|0)==(0);
+ if ($80) {
+ break;
+ } else {
+ $$35356$i = $79;$$357$i = $78;
+ }
+ }
+ }
+ }
+ __gcry_free($35);
+ $$063 = 0;
+ return ($$063|0);
+}
+function __gcry_sexp_cadr($0) {
+ $0 = $0|0;
+ var $$0$copyload$i = 0, $$0$lcssa$i = 0, $$048$lcssa$i = 0, $$04859$i = 0, $$050$lcssa$i = 0, $$05058$i = 0, $$062$i = 0, $$1$i = 0, $$149$i = 0, $$151$i = 0, $$2$i = 0, $$252$i = 0, $$35356$i = 0, $$357$i = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0;
+ var $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0;
+ var $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cond$i = 0, $scevgep$i = 0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = (__gcry_sexp_cdr($0)|0);
+ $2 = (__gcry_sexp_nth($1,0)|0);
+ $3 = ($1|0)==(0|0);
+ if ($3) {
+ return ($2|0);
+ }
+ $4 = (__gcry_is_secure($1)|0);
+ $5 = ($4|0)==(0);
+ if (!($5)) {
+ $6 = HEAP8[$1>>0]|0;
+ $7 = ($6<<24>>24)==(0);
+ if ($7) {
+ $$0$lcssa$i = $1;
+ } else {
+ $$062$i = $1;$9 = $6;
+ while(1) {
+ $8 = ((($$062$i)) + 1|0);
+ $cond$i = ($9<<24>>24)==(1);
+ if ($cond$i) {
+ $$0$copyload$i = HEAPU8[$8>>0]|(HEAPU8[$8+1>>0]<<8);
+ $10 = ((($$062$i)) + 3|0);
+ $11 = $$0$copyload$i&65535;
+ $12 = (($10) + ($11)|0);
+ $$1$i = $12;
+ } else {
+ $$1$i = $8;
+ }
+ $13 = HEAP8[$$1$i>>0]|0;
+ $14 = ($13<<24>>24)==(0);
+ if ($14) {
+ $$0$lcssa$i = $$1$i;
+ break;
+ } else {
+ $$062$i = $$1$i;$9 = $13;
+ }
+ }
+ }
+ $15 = $$0$lcssa$i;
+ $16 = $1;
+ $17 = (($15) - ($16))|0;
+ $18 = $16 & 7;
+ $19 = ($18|0)!=(0);
+ $20 = ($17|0)!=(0);
+ $21 = $19 & $20;
+ if ($21) {
+ $$04859$i = $1;$$05058$i = $17;
+ while(1) {
+ HEAP8[$$04859$i>>0] = 0;
+ $22 = ((($$04859$i)) + 1|0);
+ $23 = (($$05058$i) + -1)|0;
+ $24 = $22;
+ $25 = $24 & 7;
+ $26 = ($25|0)!=(0);
+ $27 = ($23|0)!=(0);
+ $28 = $27 & $26;
+ if ($28) {
+ $$04859$i = $22;$$05058$i = $23;
+ } else {
+ $$048$lcssa$i = $22;$$050$lcssa$i = $23;
+ break;
+ }
+ }
+ } else {
+ $$048$lcssa$i = $1;$$050$lcssa$i = $17;
+ }
+ $29 = ($$050$lcssa$i>>>0)<(8);
+ if ($29) {
+ $$2$i = $$048$lcssa$i;$$252$i = $$050$lcssa$i;
+ } else {
+ $30 = (($$050$lcssa$i) + -8)|0;
+ $31 = $30 & -8;
+ $$149$i = $$048$lcssa$i;$$151$i = $$050$lcssa$i;
+ while(1) {
+ $32 = $$149$i;
+ $33 = $32;
+ HEAP32[$33>>2] = 0;
+ $34 = (($32) + 4)|0;
+ $35 = $34;
+ HEAP32[$35>>2] = 0;
+ $36 = (($$151$i) + -8)|0;
+ $37 = ((($$149$i)) + 8|0);
+ $38 = ($36>>>0)>(7);
+ if ($38) {
+ $$149$i = $37;$$151$i = $36;
+ } else {
+ break;
+ }
+ }
+ $39 = (($31) + 8)|0;
+ $40 = (($30) - ($31))|0;
+ $scevgep$i = (($$048$lcssa$i) + ($39)|0);
+ $$2$i = $scevgep$i;$$252$i = $40;
+ }
+ $41 = ($$252$i|0)==(0);
+ if (!($41)) {
+ $$35356$i = $$252$i;$$357$i = $$2$i;
+ while(1) {
+ HEAP8[$$357$i>>0] = 0;
+ $42 = ((($$357$i)) + 1|0);
+ $43 = (($$35356$i) + -1)|0;
+ $44 = ($43|0)==(0);
+ if ($44) {
+ break;
+ } else {
+ $$35356$i = $43;$$357$i = $42;
+ }
+ }
+ }
+ }
+ __gcry_free($1);
+ return ($2|0);
+}
+function __gcry_sexp_build($0,$1,$2,$varargs) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $varargs = $varargs|0;
+ var $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $3 = sp;
+ HEAP32[$3>>2] = $varargs;
+ $4 = (_strlen($2)|0);
+ $5 = (_do_vsexp_sscan($0,$1,$2,$4,1,0,$3)|0);
+ STACKTOP = sp;return ($5|0);
+}
+function __gcry_sexp_vbuild($0,$1,$2,$3) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ var $4 = 0, $5 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $4 = (_strlen($2)|0);
+ $5 = (_do_vsexp_sscan($0,$1,$2,$4,1,0,$3)|0);
+ return ($5|0);
+}
+function __gcry_sexp_sscan($0,$1,$2,$3) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ var $4 = 0, $vararg_buffer = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $vararg_buffer = sp;
+ $4 = (_do_sexp_sscan($0,$1,$2,$3,0,0,$vararg_buffer)|0);
+ STACKTOP = sp;return ($4|0);
+}
+function __gcry_sexp_sprint($0,$1,$2,$3) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ var $$0 = 0, $$0$copyload = 0, $$010$lcssa$i = 0, $$01011$i = 0, $$012$i = 0, $$0125 = 0, $$0125$be = 0, $$0129 = 0, $$0129$be = 0, $$0134 = 0, $$0134$be = 0, $$0136 = 0, $$0136$be = 0, $$02649$i = 0, $$02748$i = 0, $$050$i = 0, $$1$i = 0, $$10 = 0, $$12151 = 0, $$3139 = 0;
+ var $$4 = 0, $$4140 = 0, $$5 = 0, $$5141 = 0, $$6142160 = 0, $$7143 = 0, $$7149 = 0, $$7152 = 0, $$clear = 0, $$not = 0, $$off$i = 0, $$off37$i = 0, $$off38$i = 0, $$pre$i = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0;
+ var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0;
+ var $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0;
+ var $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0;
+ var $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0;
+ var $90 = 0, $91 = 0, $exitcond$i = 0, $memchr$i = 0, $memchr29$i = 0, $or$cond = 0, $or$cond$i = 0, $or$cond43$i = 0, $or$cond45$i = 0, $scevgep = 0, $scevgep$i = 0, $scevgep172 = 0, $spec$select = 0, $spec$select$i = 0, $spec$select153 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
+ $vararg_buffer1 = sp + 32|0;
+ $vararg_buffer = sp + 24|0;
+ $4 = sp;
+ $5 = ($0|0)==(0|0);
+ $6 = $5 ? 44730 : $0;
+ $7 = ($1|0)!=(1);
+ $8 = ($2|0)==(0|0);
+ $9 = ($2|0)!=(0|0);
+ $10 = ($1|0)==(3);
+ $11 = ($1|0)==(1);
+ $$not = $7 ^ 1;
+ $$0125 = 0;$$0129 = 0;$$0134 = $6;$$0136 = $2;
+ L1: while(1) {
+ $12 = HEAP8[$$0134>>0]|0;
+ L3: do {
+ switch ($12<<24>>24) {
+ case 0: {
+ label = 56;
+ break L1;
+ break;
+ }
+ case 3: {
+ $13 = ((($$0134)) + 1|0);
+ $14 = ($$0125|0)!=(0);
+ $15 = $14&1;
+ $spec$select = (($$0125) + ($$0129))|0;
+ $16 = (($spec$select) + ($15))|0;
+ $spec$select153 = $7 ? $16 : $$0129;
+ $17 = (($spec$select153) + 1)|0;
+ if ($8) {
+ $$4140 = $$0136;
+ } else {
+ $18 = ($17>>>0)<($3>>>0);
+ if (!($18)) {
+ $$4 = 0;
+ label = 64;
+ break L1;
+ }
+ $19 = ($$0125|0)==(0);
+ $or$cond = $19 | $$not;
+ if ($or$cond) {
+ $$3139 = $$0136;
+ } else {
+ $20 = ((($$0136)) + 1|0);
+ HEAP8[$$0136>>0] = 10;
+ $21 = ($$0125|0)>(0);
+ if ($21) {
+ _memset(($20|0),32,($$0125|0))|0;
+ $scevgep172 = (($20) + ($$0125)|0);
+ $$3139 = $scevgep172;
+ } else {
+ $$3139 = $20;
+ }
+ }
+ $22 = ((($$3139)) + 1|0);
+ HEAP8[$$3139>>0] = 40;
+ $$4140 = $22;
+ }
+ $23 = (($$0125) + 1)|0;
+ $$0125$be = $23;$$0129$be = $17;$$0134$be = $13;$$0136$be = $$4140;
+ break;
+ }
+ case 4: {
+ $24 = ((($$0134)) + 1|0);
+ $25 = (($$0129) + 1)|0;
+ if ($9) {
+ $26 = ($25>>>0)<($3>>>0);
+ if (!($26)) {
+ $$4 = 0;
+ label = 64;
+ break L1;
+ }
+ $27 = ((($$0136)) + 1|0);
+ HEAP8[$$0136>>0] = 41;
+ $$5141 = $27;
+ } else {
+ $$5141 = $$0136;
+ }
+ $28 = (($$0125) + -1)|0;
+ if ($11) {
+ $$0125$be = $28;$$0129$be = $25;$$0134$be = $24;$$0136$be = $$5141;
+ } else {
+ $29 = HEAP8[$24>>0]|0;
+ switch ($29<<24>>24) {
+ case 0: case 3: {
+ $$0125$be = $28;$$0129$be = $25;$$0134$be = $24;$$0136$be = $$5141;
+ break L3;
+ break;
+ }
+ default: {
+ }
+ }
+ $30 = (($$0129) + 2)|0;
+ $31 = (($30) + ($28))|0;
+ if ($9) {
+ $32 = ($31>>>0)<($3>>>0);
+ if (!($32)) {
+ $$4 = 0;
+ label = 64;
+ break L1;
+ }
+ HEAP8[$$5141>>0] = 10;
+ $$6142160 = ((($$5141)) + 1|0);
+ $33 = ($$0125|0)>(1);
+ if ($33) {
+ _memset(($$6142160|0),32,($28|0))|0;
+ $scevgep = (($$5141) + ($$0125)|0);
+ $$0125$be = $28;$$0129$be = $31;$$0134$be = $24;$$0136$be = $scevgep;
+ } else {
+ $$0125$be = $28;$$0129$be = $31;$$0134$be = $24;$$0136$be = $$6142160;
+ }
+ } else {
+ $$0125$be = $28;$$0129$be = $31;$$0134$be = $24;$$0136$be = $$5141;
+ }
+ }
+ break;
+ }
+ case 1: {
+ $34 = ((($$0134)) + 1|0);
+ $$0$copyload = HEAPU8[$34>>0]|(HEAPU8[$34+1>>0]<<8);
+ $35 = ((($$0134)) + 3|0);
+ $36 = $$0$copyload&65535;
+ if ($10) {
+ $37 = ($$0$copyload<<16>>16)==(0);
+ L26: do {
+ if ($37) {
+ label = 32;
+ } else {
+ $38 = HEAP8[$35>>0]|0;
+ $39 = ($38<<24>>24)<(1);
+ L28: do {
+ if (!($39)) {
+ $$02649$i = $35;$$02748$i = $36;$$050$i = 1;$41 = $38;
+ while(1) {
+ $40 = ($41&255)<(32);
+ $$off$i = (($41) + -127)<<24>>24;
+ $42 = ($$off$i&255)<(34);
+ $or$cond$i = $40 | $42;
+ if ($or$cond$i) {
+ $43 = $41&255;
+ $memchr29$i = (_memchr(44733,$43,10)|0);
+ $44 = ($memchr29$i|0)==(0|0);
+ if ($44) {
+ break L28;
+ }
+ }
+ $45 = ($$050$i|0)==(0);
+ if ($45) {
+ $$1$i = 0;
+ } else {
+ $46 = $41 & -33;
+ $47 = (($46) + -65)<<24>>24;
+ $48 = ($47&255)<(26);
+ $$off37$i = (($41) + -48)<<24>>24;
+ $49 = ($$off37$i&255)<(10);
+ $or$cond43$i = $49 | $48;
+ if ($or$cond43$i) {
+ $$1$i = $$050$i;
+ } else {
+ $50 = $41&255;
+ $memchr$i = (_memchr(44743,$50,9)|0);
+ $51 = ($memchr$i|0)==(0|0);
+ $spec$select$i = $51 ? 0 : $$050$i;
+ $$1$i = $spec$select$i;
+ }
+ }
+ $52 = ((($$02649$i)) + 1|0);
+ $53 = (($$02748$i) + -1)|0;
+ $54 = ($53|0)==(0);
+ if ($54) {
+ break;
+ }
+ $$pre$i = HEAP8[$52>>0]|0;
+ $$02649$i = $52;$$02748$i = $53;$$050$i = $$1$i;$41 = $$pre$i;
+ }
+ $55 = ($$1$i|0)==(0);
+ $$off38$i = (($38) + -48)<<24>>24;
+ $56 = ($$off38$i&255)<(10);
+ $or$cond45$i = $56 | $55;
+ if ($or$cond45$i) {
+ label = 32;
+ break L26;
+ } else {
+ $$0 = $36;$62 = 2;
+ break L26;
+ }
+ }
+ } while(0);
+ $58 = $36 << 1;
+ $59 = (($58) + 2)|0;
+ $$0 = $59;$62 = 0;
+ }
+ } while(0);
+ if ((label|0) == 32) {
+ label = 0;
+ $57 = (_convert_to_string($35,$36,0)|0);
+ $$0 = $57;$62 = 1;
+ }
+ $60 = (($$0) + ($$0129))|0;
+ if ($9) {
+ $61 = ($60>>>0)<($3>>>0);
+ if (!($61)) {
+ $$4 = 0;
+ label = 64;
+ break L1;
+ }
+ $$clear = $62 & 3;
+ switch ($$clear<<24>>24) {
+ case 1: {
+ (_convert_to_string($35,$36,$$0136)|0);
+ break;
+ }
+ case 2: {
+ $63 = ($$0136|0)==(0|0);
+ if (!($63)) {
+ _memcpy(($$0136|0),($35|0),($36|0))|0;
+ }
+ break;
+ }
+ default: {
+ $64 = ($$0136|0)==(0|0);
+ if (!($64)) {
+ $65 = ((($$0136)) + 1|0);
+ HEAP8[$$0136>>0] = 35;
+ if ($37) {
+ $$010$lcssa$i = $65;
+ } else {
+ $66 = $36 << 1;
+ $$01011$i = $65;$$012$i = 0;
+ while(1) {
+ $67 = (($35) + ($$012$i)|0);
+ $68 = HEAP8[$67>>0]|0;
+ $69 = $68&255;
+ HEAP32[$vararg_buffer>>2] = $69;
+ (_sprintf($$01011$i,44752,$vararg_buffer)|0);
+ $70 = (($$012$i) + 1)|0;
+ $71 = ((($$01011$i)) + 2|0);
+ $exitcond$i = ($70|0)==($36|0);
+ if ($exitcond$i) {
+ break;
+ } else {
+ $$01011$i = $71;$$012$i = $70;
+ }
+ }
+ $72 = $66 | 1;
+ $scevgep$i = (($$0136) + ($72)|0);
+ $$010$lcssa$i = $scevgep$i;
+ }
+ HEAP8[$$010$lcssa$i>>0] = 35;
+ }
+ }
+ }
+ $73 = (($$0136) + ($$0)|0);
+ $$7143 = $73;
+ } else {
+ $$7143 = $$0136;
+ }
+ $74 = (($35) + ($36)|0);
+ $75 = HEAP8[$74>>0]|0;
+ $76 = ($75<<24>>24)==(4);
+ if ($76) {
+ $$10 = $$7143;$$5 = $60;
+ } else {
+ $77 = (($60) + 1)|0;
+ if ($9) {
+ $78 = ($77>>>0)<($3>>>0);
+ if (!($78)) {
+ $$4 = 0;
+ label = 64;
+ break L1;
+ }
+ $79 = ((($$7143)) + 1|0);
+ HEAP8[$$7143>>0] = 32;
+ $$10 = $79;$$5 = $77;
+ } else {
+ $$10 = $$7143;$$5 = $77;
+ }
+ }
+ } else {
+ HEAP32[$vararg_buffer1>>2] = $36;
+ (_sprintf($4,44757,$vararg_buffer1)|0);
+ $80 = (_strlen($4)|0);
+ $81 = (($$0129) + ($36))|0;
+ $82 = (($81) + ($80))|0;
+ if ($8) {
+ $$10 = $$0136;$$5 = $82;
+ } else {
+ $83 = ($82>>>0)<($3>>>0);
+ if (!($83)) {
+ $$4 = 0;
+ label = 64;
+ break L1;
+ }
+ $84 = (___stpcpy($$0136,$4)|0);
+ _memcpy(($84|0),($35|0),($36|0))|0;
+ $85 = (($84) + ($36)|0);
+ $$10 = $85;$$5 = $82;
+ }
+ }
+ $86 = (($35) + ($36)|0);
+ $$0125$be = $$0125;$$0129$be = $$5;$$0134$be = $86;$$0136$be = $$10;
+ break;
+ }
+ default: {
+ label = 55;
+ break L1;
+ }
+ }
+ } while(0);
+ $$0125 = $$0125$be;$$0129 = $$0129$be;$$0134 = $$0134$be;$$0136 = $$0136$be;
+ }
+ if ((label|0) == 55) {
+ __gcry_bug(44662,2008,44761);
+ // unreachable;
+ }
+ else if ((label|0) == 56) {
+ do {
+ if ($11) {
+ if ($8) {
+ $$7149 = $$0129;
+ label = 63;
+ } else {
+ $$12151 = $$0136;$$7152 = $$0129;
+ }
+ } else {
+ $87 = (($$0129) + 1)|0;
+ if ($8) {
+ $$7149 = $87;
+ label = 63;
+ } else {
+ $88 = ($87>>>0)<($3>>>0);
+ if ($88) {
+ $89 = ((($$0136)) + 1|0);
+ HEAP8[$$0136>>0] = 10;
+ $$12151 = $89;$$7152 = $87;
+ break;
+ } else {
+ $$4 = 0;
+ STACKTOP = sp;return ($$4|0);
+ }
+ }
+ }
+ } while(0);
+ if ((label|0) == 63) {
+ $91 = (($$7149) + 1)|0;
+ $$4 = $91;
+ STACKTOP = sp;return ($$4|0);
+ }
+ $90 = ($$7152>>>0)<($3>>>0);
+ if (!($90)) {
+ $$4 = 0;
+ STACKTOP = sp;return ($$4|0);
+ }
+ HEAP8[$$12151>>0] = 0;
+ $$4 = $$7152;
+ STACKTOP = sp;return ($$4|0);
+ }
+ else if ((label|0) == 64) {
+ STACKTOP = sp;return ($$4|0);
+ }
+ return (0)|0;
+}
+function _convert_to_string($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$ = 0, $$050$lcssa = 0, $$05067 = 0, $$052 = 0, $$05366 = 0, $$05565 = 0, $$064 = 0, $$151 = 0, $$15463 = 0, $$15662 = 0, $$off = 0, $$off58 = 0, $$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0;
+ var $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0;
+ var $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond61 = 0, $vararg_buffer = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $vararg_buffer = sp;
+ $3 = ($2|0)==(0|0);
+ if ($3) {
+ $37 = ($1|0)==(0);
+ if ($37) {
+ $$052 = 2;
+ STACKTOP = sp;return ($$052|0);
+ }
+ $$064 = 2;$$15463 = $1;$$15662 = $0;
+ while(1) {
+ $38 = HEAP8[$$15662>>0]|0;
+ switch ($38<<24>>24) {
+ case 92: case 39: case 34: case 13: case 12: case 10: case 11: case 9: case 8: {
+ $$sink = 2;
+ break;
+ }
+ default: {
+ $39 = ($38&255)<(32);
+ $$off58 = (($38) + -127)<<24>>24;
+ $40 = ($$off58&255)<(34);
+ $or$cond61 = $39 | $40;
+ $$ = $or$cond61 ? 4 : 1;
+ $$sink = $$;
+ }
+ }
+ $41 = (($$064) + ($$sink))|0;
+ $42 = (($$15463) + -1)|0;
+ $43 = ((($$15662)) + 1|0);
+ $44 = ($42|0)==(0);
+ if ($44) {
+ $$052 = $41;
+ break;
+ } else {
+ $$064 = $41;$$15463 = $42;$$15662 = $43;
+ }
+ }
+ STACKTOP = sp;return ($$052|0);
+ }
+ $4 = ((($2)) + 1|0);
+ HEAP8[$2>>0] = 34;
+ $5 = ($1|0)==(0);
+ L13: do {
+ if ($5) {
+ $$050$lcssa = $4;
+ } else {
+ $$05067 = $4;$$05366 = $1;$$05565 = $0;
+ while(1) {
+ $6 = HEAP8[$$05565>>0]|0;
+ L17: do {
+ switch ($6<<24>>24) {
+ case 8: {
+ $7 = ((($$05067)) + 1|0);
+ HEAP8[$$05067>>0] = 92;
+ $8 = ((($$05067)) + 2|0);
+ HEAP8[$7>>0] = 98;
+ $$151 = $8;
+ break;
+ }
+ case 9: {
+ $9 = ((($$05067)) + 1|0);
+ HEAP8[$$05067>>0] = 92;
+ $10 = ((($$05067)) + 2|0);
+ HEAP8[$9>>0] = 116;
+ $$151 = $10;
+ break;
+ }
+ case 11: {
+ $11 = ((($$05067)) + 1|0);
+ HEAP8[$$05067>>0] = 92;
+ $12 = ((($$05067)) + 2|0);
+ HEAP8[$11>>0] = 118;
+ $$151 = $12;
+ break;
+ }
+ case 10: {
+ $13 = ((($$05067)) + 1|0);
+ HEAP8[$$05067>>0] = 92;
+ $14 = ((($$05067)) + 2|0);
+ HEAP8[$13>>0] = 110;
+ $$151 = $14;
+ break;
+ }
+ case 12: {
+ $15 = ((($$05067)) + 1|0);
+ HEAP8[$$05067>>0] = 92;
+ $16 = ((($$05067)) + 2|0);
+ HEAP8[$15>>0] = 102;
+ $$151 = $16;
+ break;
+ }
+ case 13: {
+ $17 = ((($$05067)) + 1|0);
+ HEAP8[$$05067>>0] = 92;
+ $18 = ((($$05067)) + 2|0);
+ HEAP8[$17>>0] = 114;
+ $$151 = $18;
+ break;
+ }
+ case 34: {
+ $19 = ((($$05067)) + 1|0);
+ HEAP8[$$05067>>0] = 92;
+ $20 = ((($$05067)) + 2|0);
+ HEAP8[$19>>0] = 34;
+ $$151 = $20;
+ break;
+ }
+ case 39: {
+ $21 = ((($$05067)) + 1|0);
+ HEAP8[$$05067>>0] = 92;
+ $22 = ((($$05067)) + 2|0);
+ HEAP8[$21>>0] = 39;
+ $$151 = $22;
+ break;
+ }
+ case 92: {
+ $23 = ((($$05067)) + 1|0);
+ HEAP8[$$05067>>0] = 92;
+ $24 = ((($$05067)) + 2|0);
+ HEAP8[$23>>0] = 92;
+ $$151 = $24;
+ break;
+ }
+ default: {
+ $25 = ($6&255)<(32);
+ $$off = (($6) + -127)<<24>>24;
+ $26 = ($$off&255)<(34);
+ $or$cond = $25 | $26;
+ if ($or$cond) {
+ $27 = $6&255;
+ HEAP32[$vararg_buffer>>2] = $27;
+ (_sprintf($$05067,44655,$vararg_buffer)|0);
+ $28 = ((($$05067)) + 4|0);
+ $$151 = $28;
+ break L17;
+ } else {
+ $29 = ((($$05067)) + 1|0);
+ HEAP8[$$05067>>0] = $6;
+ $$151 = $29;
+ break L17;
+ }
+ }
+ }
+ } while(0);
+ $30 = (($$05366) + -1)|0;
+ $31 = ((($$05565)) + 1|0);
+ $32 = ($30|0)==(0);
+ if ($32) {
+ $$050$lcssa = $$151;
+ break L13;
+ } else {
+ $$05067 = $$151;$$05366 = $30;$$05565 = $31;
+ }
+ }
+ }
+ } while(0);
+ $33 = ((($$050$lcssa)) + 1|0);
+ HEAP8[$$050$lcssa>>0] = 34;
+ $34 = $33;
+ $35 = $2;
+ $36 = (($34) - ($35))|0;
+ $$052 = $36;
+ STACKTOP = sp;return ($$052|0);
+}
+function __gcry_sexp_vextract_param($0,$1,$2,$3) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ var $$0 = 0, $$0$copyload$i = 0, $$0$copyload$i$i = 0, $$0$copyload$i$i219 = 0, $$0$copyload$i$i234 = 0, $$0$copyload$i$i249 = 0, $$0$copyload$i190 = 0, $$0$copyload$i266 = 0, $$0$copyload$i292 = 0, $$0$copyload$i318 = 0, $$0$copyload9$i$i = 0, $$0$copyload9$i$i227 = 0, $$0$copyload9$i$i242 = 0, $$0$copyload9$i$i257 = 0, $$0$lcssa$i = 0, $$0$lcssa$i192 = 0, $$0$lcssa$i268 = 0, $$0$lcssa$i294 = 0, $$0$lcssa$i320 = 0, $$0150$lcssa = 0;
+ var $$0150386 = 0, $$0151385 = 0, $$0156393 = 0, $$0162$lcssa427 = 0, $$0162392 = 0, $$0178$lcssa = 0, $$0178380 = 0, $$0178384 = 0, $$0181 = 0, $$03742$i$i = 0, $$03742$i$i217 = 0, $$03742$i$i232 = 0, $$03742$i$i247 = 0, $$044$i$i = 0, $$044$i$i215 = 0, $$044$i$i230 = 0, $$044$i$i245 = 0, $$048$lcssa$i = 0, $$048$lcssa$i198 = 0, $$048$lcssa$i274 = 0;
+ var $$048$lcssa$i300 = 0, $$048$lcssa$i326 = 0, $$04859$i = 0, $$04859$i195 = 0, $$04859$i271 = 0, $$04859$i297 = 0, $$04859$i323 = 0, $$050$lcssa$i = 0, $$050$lcssa$i197 = 0, $$050$lcssa$i273 = 0, $$050$lcssa$i299 = 0, $$050$lcssa$i325 = 0, $$05058$i = 0, $$05058$i196 = 0, $$05058$i272 = 0, $$05058$i298 = 0, $$05058$i324 = 0, $$062$i = 0, $$062$i187 = 0, $$062$i263 = 0;
+ var $$062$i289 = 0, $$062$i315 = 0, $$1$i = 0, $$1$i$i = 0, $$1$i$i224 = 0, $$1$i$i239 = 0, $$1$i$i254 = 0, $$1$i191 = 0, $$1$i267 = 0, $$1$i293 = 0, $$1$i319 = 0, $$1157 = 0, $$1163 = 0, $$1182 = 0, $$13543$i$i = 0, $$13543$i$i216 = 0, $$13543$i$i231 = 0, $$13543$i$i246 = 0, $$138$i$i = 0, $$138$i$i222 = 0;
+ var $$138$i$i237 = 0, $$138$i$i252 = 0, $$149$i = 0, $$149$i201 = 0, $$149$i277 = 0, $$149$i303 = 0, $$149$i329 = 0, $$151$i = 0, $$151$i200 = 0, $$151$i276 = 0, $$151$i302 = 0, $$151$i328 = 0, $$2$i = 0, $$2$i$i = 0, $$2$i$i223 = 0, $$2$i$i238 = 0, $$2$i$i253 = 0, $$2$i205 = 0, $$2$i243 = 0, $$2$i260 = 0;
+ var $$2$i281 = 0, $$2$i307 = 0, $$2$i333 = 0, $$2158 = 0, $$2164 = 0, $$252$i = 0, $$252$i204 = 0, $$252$i280 = 0, $$252$i306 = 0, $$252$i332 = 0, $$3159 = 0, $$3165 = 0, $$3171 = 0, $$35356$i = 0, $$35356$i209 = 0, $$35356$i285 = 0, $$35356$i311 = 0, $$35356$i337 = 0, $$357$i = 0, $$357$i208 = 0;
+ var $$357$i284 = 0, $$357$i310 = 0, $$357$i336 = 0, $$4160 = 0, $$4166 = 0, $$5161 = 0, $$6174 = 0, $$9 = 0, $$in = 0, $$pre$i = 0, $$pre$i$i = 0, $$pre$i$i214 = 0, $$pre$i$i229 = 0, $$pre$i$i244 = 0, $$pre$i258 = 0, $$pre$phiZ2D = 0, $$sink = 0, $10 = 0, $100 = 0, $101 = 0;
+ var $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0;
+ var $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0;
+ var $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0;
+ var $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0;
+ var $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0;
+ var $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0;
+ var $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0;
+ var $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, $247 = 0;
+ var $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, $265 = 0;
+ var $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, $283 = 0;
+ var $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0;
+ var $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0;
+ var $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0;
+ var $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0;
+ var $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0;
+ var $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0;
+ var $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, $409 = 0, $41 = 0;
+ var $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0;
+ var $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0;
+ var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0;
+ var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0;
+ var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $arglist_current = 0, $arglist_current2 = 0, $arglist_next = 0, $arglist_next3 = 0, $cond$i = 0, $cond$i188 = 0, $cond$i264 = 0, $cond$i290 = 0, $cond$i316 = 0, $expanded = 0, $expanded10 = 0;
+ var $expanded11 = 0, $expanded13 = 0, $expanded14 = 0, $expanded15 = 0, $expanded4 = 0, $expanded6 = 0, $expanded7 = 0, $expanded8 = 0, $or$cond183 = 0, $or$cond184 = 0, $scevgep$i = 0, $scevgep$i202 = 0, $scevgep$i278 = 0, $scevgep$i304 = 0, $scevgep$i330 = 0, $spec$select = 0, $spec$select$i = 0, $spec$select$i$i = 0, $spec$select$i$i220 = 0, $spec$select$i$i235 = 0;
+ var $spec$select$i$i250 = 0, $spec$select$i259 = 0, $spec$select39$i$i = 0, $spec$select39$i$i221 = 0, $spec$select39$i$i236 = 0, $spec$select39$i$i251 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0);
+ $4 = sp + 116|0;
+ $5 = sp + 112|0;
+ $6 = sp + 32|0;
+ $7 = sp;
+ ;HEAP32[$7>>2]=0|0;HEAP32[$7+4>>2]=0|0;HEAP32[$7+8>>2]=0|0;HEAP32[$7+12>>2]=0|0;HEAP32[$7+16>>2]=0|0;
+ $8 = HEAP8[$2>>0]|0;
+ $9 = ($8<<24>>24)==(0);
+ do {
+ if ($9) {
+ $$0162$lcssa427 = 0;
+ } else {
+ $$0156393 = $2;$$0162392 = 0;$10 = $8;
+ L3: while(1) {
+ L5: do {
+ switch ($10<<24>>24) {
+ case 63: case 47: case 45: case 43: case 38: {
+ $$1163 = $$0162392;$$2158 = $$0156393;
+ break;
+ }
+ default: {
+ $11 = $10 << 24 >> 24;
+ switch ($11|0) {
+ case 10: case 13: case 12: case 11: case 9: case 32: {
+ $$1163 = $$0162392;$$2158 = $$0156393;
+ break L5;
+ break;
+ }
+ default: {
+ }
+ }
+ $12 = ($10<<24>>24)==(39);
+ if ($12) {
+ $13 = ((($$0156393)) + 1|0);
+ $14 = (_strchr($13,39)|0);
+ $15 = ($14|0)==(0|0);
+ $16 = ($14|0)==($13|0);
+ $or$cond183 = $15 | $16;
+ if ($or$cond183) {
+ $$0 = 29;
+ label = 180;
+ break L3;
+ } else {
+ $$1157 = $14;
+ }
+ } else {
+ $$1157 = $$0156393;
+ }
+ $arglist_current = HEAP32[$3>>2]|0;
+ $17 = $arglist_current;
+ $18 = ((0) + 4|0);
+ $expanded4 = $18;
+ $expanded = (($expanded4) - 1)|0;
+ $19 = (($17) + ($expanded))|0;
+ $20 = ((0) + 4|0);
+ $expanded8 = $20;
+ $expanded7 = (($expanded8) - 1)|0;
+ $expanded6 = $expanded7 ^ -1;
+ $21 = $19 & $expanded6;
+ $22 = $21;
+ $23 = HEAP32[$22>>2]|0;
+ $arglist_next = ((($22)) + 4|0);
+ HEAP32[$3>>2] = $arglist_next;
+ $24 = (($6) + ($$0162392<<2)|0);
+ HEAP32[$24>>2] = $23;
+ $25 = ($23|0)==(0|0);
+ if ($25) {
+ $$0 = 128;
+ label = 180;
+ break L3;
+ }
+ $26 = (($$0162392) + 1)|0;
+ $$1163 = $26;$$2158 = $$1157;
+ }
+ }
+ } while(0);
+ $27 = ((($$2158)) + 1|0);
+ $28 = HEAP8[$27>>0]|0;
+ $29 = ($28<<24>>24)!=(0);
+ $30 = ($$1163>>>0)<(20);
+ $31 = $30 & $29;
+ if ($31) {
+ $$0156393 = $27;$$0162392 = $$1163;$10 = $28;
+ } else {
+ label = 10;
+ break;
+ }
+ }
+ if ((label|0) == 10) {
+ $32 = ($28<<24>>24)==(0);
+ if ($32) {
+ $$0162$lcssa427 = $$1163;
+ break;
+ } else {
+ $$0 = 183;
+ }
+ STACKTOP = sp;return ($$0|0);
+ }
+ else if ((label|0) == 180) {
+ STACKTOP = sp;return ($$0|0);
+ }
+ }
+ } while(0);
+ $arglist_current2 = HEAP32[$3>>2]|0;
+ $33 = $arglist_current2;
+ $34 = ((0) + 4|0);
+ $expanded11 = $34;
+ $expanded10 = (($expanded11) - 1)|0;
+ $35 = (($33) + ($expanded10))|0;
+ $36 = ((0) + 4|0);
+ $expanded15 = $36;
+ $expanded14 = (($expanded15) - 1)|0;
+ $expanded13 = $expanded14 ^ -1;
+ $37 = $35 & $expanded13;
+ $38 = $37;
+ $39 = HEAP32[$38>>2]|0;
+ $arglist_next3 = ((($38)) + 4|0);
+ HEAP32[$3>>2] = $arglist_next3;
+ $40 = ($39|0)==(0|0);
+ if (!($40)) {
+ $$0 = 45;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $41 = ($1|0)==(0|0);
+ L22: do {
+ if ($41) {
+ $$0150$lcssa = $0;$$0178$lcssa = 0;
+ label = 36;
+ } else {
+ $$0150386 = $0;$$0151385 = $1;$$0178384 = 0;
+ while(1) {
+ $42 = HEAP8[$$0151385>>0]|0;
+ $43 = ($42<<24>>24)==(0);
+ if ($43) {
+ $$0150$lcssa = $$0150386;$$0178$lcssa = $$0178384;
+ label = 36;
+ break L22;
+ }
+ $44 = (_strchr($$0151385,33)|0);
+ $45 = ($44|0)==($$0151385|0);
+ if ($45) {
+ $$0178380 = $$0178384;$$4166 = $$0162$lcssa427;$$6174 = 0;$$9 = 27;
+ break L22;
+ }
+ $46 = ($44|0)==(0|0);
+ $47 = $44;
+ $48 = $$0151385;
+ $49 = (($47) - ($48))|0;
+ $$sink = $46 ? 0 : $49;
+ $50 = $46 ? 0 : $49;
+ $51 = (__gcry_sexp_find_token($$0150386,$$0151385,$$sink)|0);
+ $52 = ($51|0)==(0|0);
+ if ($52) {
+ $$0178380 = $$0178384;$$4166 = $$0162$lcssa427;$$6174 = 0;$$9 = 27;
+ break L22;
+ }
+ $53 = ($$0178384|0)==(0|0);
+ if (!($53)) {
+ $54 = (__gcry_is_secure($$0178384)|0);
+ $55 = ($54|0)==(0);
+ if (!($55)) {
+ $56 = HEAP8[$$0178384>>0]|0;
+ $57 = ($56<<24>>24)==(0);
+ if ($57) {
+ $$0$lcssa$i192 = $$0178384;
+ } else {
+ $$062$i187 = $$0178384;$59 = $56;
+ while(1) {
+ $58 = ((($$062$i187)) + 1|0);
+ $cond$i188 = ($59<<24>>24)==(1);
+ if ($cond$i188) {
+ $$0$copyload$i190 = HEAPU8[$58>>0]|(HEAPU8[$58+1>>0]<<8);
+ $60 = ((($$062$i187)) + 3|0);
+ $61 = $$0$copyload$i190&65535;
+ $62 = (($60) + ($61)|0);
+ $$1$i191 = $62;
+ } else {
+ $$1$i191 = $58;
+ }
+ $63 = HEAP8[$$1$i191>>0]|0;
+ $64 = ($63<<24>>24)==(0);
+ if ($64) {
+ $$0$lcssa$i192 = $$1$i191;
+ break;
+ } else {
+ $$062$i187 = $$1$i191;$59 = $63;
+ }
+ }
+ }
+ $65 = $$0$lcssa$i192;
+ $66 = $$0178384;
+ $67 = (($65) - ($66))|0;
+ $68 = $66 & 7;
+ $69 = ($68|0)!=(0);
+ $70 = ($67|0)!=(0);
+ $71 = $69 & $70;
+ if ($71) {
+ $$04859$i195 = $$0178384;$$05058$i196 = $67;
+ while(1) {
+ HEAP8[$$04859$i195>>0] = 0;
+ $72 = ((($$04859$i195)) + 1|0);
+ $73 = (($$05058$i196) + -1)|0;
+ $74 = $72;
+ $75 = $74 & 7;
+ $76 = ($75|0)!=(0);
+ $77 = ($73|0)!=(0);
+ $78 = $77 & $76;
+ if ($78) {
+ $$04859$i195 = $72;$$05058$i196 = $73;
+ } else {
+ $$048$lcssa$i198 = $72;$$050$lcssa$i197 = $73;
+ break;
+ }
+ }
+ } else {
+ $$048$lcssa$i198 = $$0178384;$$050$lcssa$i197 = $67;
+ }
+ $79 = ($$050$lcssa$i197>>>0)<(8);
+ if ($79) {
+ $$2$i205 = $$048$lcssa$i198;$$252$i204 = $$050$lcssa$i197;
+ } else {
+ $80 = (($$050$lcssa$i197) + -8)|0;
+ $81 = $80 & -8;
+ $$149$i201 = $$048$lcssa$i198;$$151$i200 = $$050$lcssa$i197;
+ while(1) {
+ $82 = $$149$i201;
+ $83 = $82;
+ HEAP32[$83>>2] = 0;
+ $84 = (($82) + 4)|0;
+ $85 = $84;
+ HEAP32[$85>>2] = 0;
+ $86 = (($$151$i200) + -8)|0;
+ $87 = ((($$149$i201)) + 8|0);
+ $88 = ($86>>>0)>(7);
+ if ($88) {
+ $$149$i201 = $87;$$151$i200 = $86;
+ } else {
+ break;
+ }
+ }
+ $89 = (($81) + 8)|0;
+ $90 = (($80) - ($81))|0;
+ $scevgep$i202 = (($$048$lcssa$i198) + ($89)|0);
+ $$2$i205 = $scevgep$i202;$$252$i204 = $90;
+ }
+ $91 = ($$252$i204|0)==(0);
+ if (!($91)) {
+ $$35356$i209 = $$252$i204;$$357$i208 = $$2$i205;
+ while(1) {
+ HEAP8[$$357$i208>>0] = 0;
+ $92 = ((($$357$i208)) + 1|0);
+ $93 = (($$35356$i209) + -1)|0;
+ $94 = ($93|0)==(0);
+ if ($94) {
+ break;
+ } else {
+ $$35356$i209 = $93;$$357$i208 = $92;
+ }
+ }
+ }
+ }
+ __gcry_free($$0178384);
+ }
+ $95 = ($50|0)==(0);
+ $96 = (($50) + 1)|0;
+ $97 = (($$0151385) + ($96)|0);
+ $spec$select = $95 ? 0 : $97;
+ $98 = ($spec$select|0)==(0|0);
+ if ($98) {
+ $$0150$lcssa = $51;$$0178$lcssa = $51;
+ label = 36;
+ break;
+ } else {
+ $$0150386 = $51;$$0151385 = $spec$select;$$0178384 = $51;
+ }
+ }
+ }
+ } while(0);
+ L57: do {
+ if ((label|0) == 36) {
+ $$0181 = 43;$$2164 = 0;$$3159 = $2;
+ L59: while(1) {
+ $99 = HEAP8[$$3159>>0]|0;
+ L61: do {
+ switch ($99<<24>>24) {
+ case 0: {
+ break L59;
+ break;
+ }
+ case 47: case 45: case 43: case 38: {
+ $100 = $99 << 24 >> 24;
+ $$1182 = $100;$$3165 = $$2164;$$5161 = $$3159;
+ break;
+ }
+ default: {
+ $101 = $99 << 24 >> 24;
+ switch ($101|0) {
+ case 10: case 13: case 12: case 11: case 9: case 32: {
+ $$1182 = $$0181;$$3165 = $$2164;$$5161 = $$3159;
+ break L61;
+ break;
+ }
+ default: {
+ }
+ }
+ switch ($99<<24>>24) {
+ case 63: {
+ $$1182 = $$0181;$$3165 = $$2164;$$5161 = $$3159;
+ break L61;
+ break;
+ }
+ case 39: {
+ $102 = ((($$3159)) + 1|0);
+ $103 = (_strchr($102,39)|0);
+ $104 = ($103|0)==(0|0);
+ $105 = ($103|0)==($102|0);
+ $or$cond184 = $104 | $105;
+ if ($or$cond184) {
+ $$0178380 = $$0178$lcssa;$$4166 = $$2164;$$6174 = 0;$$9 = 29;
+ break L57;
+ }
+ $106 = $103;
+ $107 = $102;
+ $108 = (($106) - ($107))|0;
+ $109 = (__gcry_sexp_find_token($$0150$lcssa,$102,$108)|0);
+ $$3171 = $109;$$4160 = $103;
+ break;
+ }
+ default: {
+ $110 = (__gcry_sexp_find_token($$0150$lcssa,$$3159,1)|0);
+ $$3171 = $110;$$4160 = $$3159;
+ }
+ }
+ $111 = ($$3171|0)==(0|0);
+ do {
+ if ($111) {
+ $112 = ((($$4160)) + 1|0);
+ $113 = HEAP8[$112>>0]|0;
+ $114 = ($113<<24>>24)==(63);
+ if (!($114)) {
+ $$0178380 = $$0178$lcssa;$$4166 = $$2164;$$6174 = 0;$$9 = 68;
+ break L57;
+ }
+ $115 = ($$0181|0)==(38);
+ $116 = (($6) + ($$2164<<2)|0);
+ if (!($115)) {
+ $123 = HEAP32[$116>>2]|0;
+ HEAP32[$123>>2] = 0;
+ break;
+ }
+ $117 = HEAP32[$116>>2]|0;
+ $118 = ((($117)) + 12|0);
+ $119 = HEAP32[$118>>2]|0;
+ $120 = ($119|0)==(0|0);
+ if ($120) {
+ HEAP32[$117>>2] = 0;
+ $121 = ((($117)) + 4|0);
+ HEAP32[$121>>2] = 0;
+ }
+ $122 = ((($117)) + 8|0);
+ HEAP32[$122>>2] = 0;
+ } else {
+ L79: do {
+ switch ($$0181|0) {
+ case 38: {
+ $124 = (($6) + ($$2164<<2)|0);
+ $125 = HEAP32[$124>>2]|0;
+ $126 = ((($125)) + 12|0);
+ $127 = HEAP32[$126>>2]|0;
+ $128 = ($127|0)==(0|0);
+ if ($128) {
+ HEAP32[$125>>2] = 0;
+ $161 = HEAP8[$$3171>>0]|0;
+ $162 = ($161<<24>>24)==(3);
+ if (!($162)) {
+ label = 76;
+ break L59;
+ }
+ $163 = ((($$3171)) + 1|0);
+ $$pre$i$i214 = HEAP8[$163>>0]|0;
+ $164 = ($$pre$i$i214<<24>>24)==(1);
+ $$03742$i$i217 = 1;$$044$i$i215 = 0;$$13543$i$i216 = $163;$172 = $$pre$i$i214;$433 = $164;
+ while(1) {
+ L101: do {
+ if ($433) {
+ $165 = ((($$13543$i$i216)) + 1|0);
+ $$0$copyload$i$i219 = HEAPU8[$165>>0]|(HEAPU8[$165+1>>0]<<8);
+ $166 = $$0$copyload$i$i219&65535;
+ $167 = (($166) + 2)|0;
+ $168 = (($165) + ($167)|0);
+ $169 = ((($168)) + -1|0);
+ $170 = ($$044$i$i215|0)==(0);
+ $171 = $170 << 31 >> 31;
+ $spec$select$i$i220 = (($$03742$i$i217) + ($171))|0;
+ $$1$i$i224 = $$044$i$i215;$$138$i$i222 = $spec$select$i$i220;$$2$i$i223 = $169;
+ } else {
+ switch ($172<<24>>24) {
+ case 0: {
+ label = 76;
+ break L59;
+ break;
+ }
+ case 3: {
+ $173 = (($$044$i$i215) + 1)|0;
+ $$1$i$i224 = $173;$$138$i$i222 = $$03742$i$i217;$$2$i$i223 = $$13543$i$i216;
+ break L101;
+ break;
+ }
+ case 4: {
+ $174 = (($$044$i$i215) + -1)|0;
+ $175 = ($174|0)==(0);
+ $176 = $175 << 31 >> 31;
+ $spec$select39$i$i221 = (($$03742$i$i217) + ($176))|0;
+ $$1$i$i224 = $174;$$138$i$i222 = $spec$select39$i$i221;$$2$i$i223 = $$13543$i$i216;
+ break L101;
+ break;
+ }
+ default: {
+ $$1$i$i224 = $$044$i$i215;$$138$i$i222 = $$03742$i$i217;$$2$i$i223 = $$13543$i$i216;
+ break L101;
+ }
+ }
+ }
+ } while(0);
+ $177 = ((($$2$i$i223)) + 1|0);
+ $178 = ($$138$i$i222|0)>(0);
+ $179 = HEAP8[$177>>0]|0;
+ $180 = ($179<<24>>24)==(1);
+ if ($178) {
+ $$03742$i$i217 = $$138$i$i222;$$044$i$i215 = $$1$i$i224;$$13543$i$i216 = $177;$172 = $179;$433 = $180;
+ } else {
+ break;
+ }
+ }
+ if (!($180)) {
+ label = 76;
+ break L59;
+ }
+ $181 = ((($$2$i$i223)) + 2|0);
+ $$0$copyload9$i$i227 = HEAPU8[$181>>0]|(HEAPU8[$181+1>>0]<<8);
+ $182 = $$0$copyload9$i$i227&65535;
+ $183 = ((($$2$i$i223)) + 4|0);
+ $184 = ($$0$copyload9$i$i227<<16>>16)==(0);
+ if ($184) {
+ label = 76;
+ break L59;
+ }
+ $185 = (__gcry_malloc($182)|0);
+ $186 = ($185|0)==(0|0);
+ if ($186) {
+ label = 76;
+ break L59;
+ }
+ _memcpy(($185|0),($183|0),($182|0))|0;
+ HEAP32[$125>>2] = $182;
+ HEAP32[$126>>2] = $185;
+ $187 = ((($125)) + 8|0);
+ HEAP32[$187>>2] = $182;
+ $188 = ((($125)) + 4|0);
+ HEAP32[$188>>2] = 0;
+ $189 = (($7) + ($$2164)|0);
+ HEAP8[$189>>0] = 2;
+ $$pre$phiZ2D = $$3171;
+ break L79;
+ } else {
+ $129 = HEAP8[$$3171>>0]|0;
+ $130 = ($129<<24>>24)==(3);
+ if (!($130)) {
+ $$0178380 = $$0178$lcssa;$$4166 = $$2164;$$6174 = $$3171;$$9 = 65;
+ break L57;
+ }
+ $131 = ((($$3171)) + 1|0);
+ $$pre$i$i = HEAP8[$131>>0]|0;
+ $132 = ($$pre$i$i<<24>>24)==(1);
+ $$03742$i$i = 1;$$044$i$i = 0;$$13543$i$i = $131;$140 = $$pre$i$i;$432 = $132;
+ while(1) {
+ L116: do {
+ if ($432) {
+ $133 = ((($$13543$i$i)) + 1|0);
+ $$0$copyload$i$i = HEAPU8[$133>>0]|(HEAPU8[$133+1>>0]<<8);
+ $134 = $$0$copyload$i$i&65535;
+ $135 = (($134) + 2)|0;
+ $136 = (($133) + ($135)|0);
+ $137 = ((($136)) + -1|0);
+ $138 = ($$044$i$i|0)==(0);
+ $139 = $138 << 31 >> 31;
+ $spec$select$i$i = (($$03742$i$i) + ($139))|0;
+ $$1$i$i = $$044$i$i;$$138$i$i = $spec$select$i$i;$$2$i$i = $137;
+ } else {
+ switch ($140<<24>>24) {
+ case 0: {
+ $$0178380 = $$0178$lcssa;$$4166 = $$2164;$$6174 = $$3171;$$9 = 65;
+ break L57;
+ break;
+ }
+ case 3: {
+ $141 = (($$044$i$i) + 1)|0;
+ $$1$i$i = $141;$$138$i$i = $$03742$i$i;$$2$i$i = $$13543$i$i;
+ break L116;
+ break;
+ }
+ case 4: {
+ $142 = (($$044$i$i) + -1)|0;
+ $143 = ($142|0)==(0);
+ $144 = $143 << 31 >> 31;
+ $spec$select39$i$i = (($$03742$i$i) + ($144))|0;
+ $$1$i$i = $142;$$138$i$i = $spec$select39$i$i;$$2$i$i = $$13543$i$i;
+ break L116;
+ break;
+ }
+ default: {
+ $$1$i$i = $$044$i$i;$$138$i$i = $$03742$i$i;$$2$i$i = $$13543$i$i;
+ break L116;
+ }
+ }
+ }
+ } while(0);
+ $145 = ((($$2$i$i)) + 1|0);
+ $146 = ($$138$i$i|0)>(0);
+ $147 = HEAP8[$145>>0]|0;
+ $148 = ($147<<24>>24)==(1);
+ if ($146) {
+ $$03742$i$i = $$138$i$i;$$044$i$i = $$1$i$i;$$13543$i$i = $145;$140 = $147;$432 = $148;
+ } else {
+ break;
+ }
+ }
+ if (!($148)) {
+ $$0178380 = $$0178$lcssa;$$4166 = $$2164;$$6174 = $$3171;$$9 = 65;
+ break L57;
+ }
+ $149 = ((($$2$i$i)) + 2|0);
+ $$0$copyload9$i$i = HEAPU8[$149>>0]|(HEAPU8[$149+1>>0]<<8);
+ $150 = $$0$copyload9$i$i&65535;
+ $151 = ((($$2$i$i)) + 4|0);
+ $152 = ($$0$copyload9$i$i<<16>>16)==(0);
+ if ($152) {
+ $$0178380 = $$0178$lcssa;$$4166 = $$2164;$$6174 = $$3171;$$9 = 65;
+ break L57;
+ }
+ $153 = ((($125)) + 4|0);
+ $154 = HEAP32[$153>>2]|0;
+ $155 = (($154) + ($150))|0;
+ $156 = HEAP32[$125>>2]|0;
+ $157 = ($155>>>0)>($156>>>0);
+ if ($157) {
+ $$0178380 = $$0178$lcssa;$$4166 = $$2164;$$6174 = $$3171;$$9 = 200;
+ break L57;
+ }
+ $158 = (($127) + ($154)|0);
+ _memcpy(($158|0),($151|0),($150|0))|0;
+ $159 = ((($125)) + 8|0);
+ HEAP32[$159>>2] = $150;
+ $160 = (($7) + ($$2164)|0);
+ HEAP8[$160>>0] = 1;
+ $$pre$phiZ2D = $$3171;
+ break L79;
+ }
+ break;
+ }
+ case 47: {
+ $190 = (__gcry_sexp_nth_mpi($$3171,1,8)|0);
+ $191 = (($6) + ($$2164<<2)|0);
+ $192 = HEAP32[$191>>2]|0;
+ HEAP32[$192>>2] = $190;
+ $$pre$phiZ2D = $$3171;
+ break;
+ }
+ case 45: {
+ $193 = HEAP8[$$3171>>0]|0;
+ $194 = ($193<<24>>24)==(3);
+ L129: do {
+ if ($194) {
+ $195 = ((($$3171)) + 1|0);
+ $$pre$i$i229 = HEAP8[$195>>0]|0;
+ $196 = ($$pre$i$i229<<24>>24)==(1);
+ $$03742$i$i232 = 1;$$044$i$i230 = 0;$$13543$i$i231 = $195;$204 = $$pre$i$i229;$434 = $196;
+ while(1) {
+ L133: do {
+ if ($434) {
+ $197 = ((($$13543$i$i231)) + 1|0);
+ $$0$copyload$i$i234 = HEAPU8[$197>>0]|(HEAPU8[$197+1>>0]<<8);
+ $198 = $$0$copyload$i$i234&65535;
+ $199 = (($198) + 2)|0;
+ $200 = (($197) + ($199)|0);
+ $201 = ((($200)) + -1|0);
+ $202 = ($$044$i$i230|0)==(0);
+ $203 = $202 << 31 >> 31;
+ $spec$select$i$i235 = (($$03742$i$i232) + ($203))|0;
+ $$1$i$i239 = $$044$i$i230;$$138$i$i237 = $spec$select$i$i235;$$2$i$i238 = $201;
+ } else {
+ switch ($204<<24>>24) {
+ case 0: {
+ $$2$i243 = 0;
+ break L129;
+ break;
+ }
+ case 3: {
+ $205 = (($$044$i$i230) + 1)|0;
+ $$1$i$i239 = $205;$$138$i$i237 = $$03742$i$i232;$$2$i$i238 = $$13543$i$i231;
+ break L133;
+ break;
+ }
+ case 4: {
+ $206 = (($$044$i$i230) + -1)|0;
+ $207 = ($206|0)==(0);
+ $208 = $207 << 31 >> 31;
+ $spec$select39$i$i236 = (($$03742$i$i232) + ($208))|0;
+ $$1$i$i239 = $206;$$138$i$i237 = $spec$select39$i$i236;$$2$i$i238 = $$13543$i$i231;
+ break L133;
+ break;
+ }
+ default: {
+ $$1$i$i239 = $$044$i$i230;$$138$i$i237 = $$03742$i$i232;$$2$i$i238 = $$13543$i$i231;
+ break L133;
+ }
+ }
+ }
+ } while(0);
+ $209 = ((($$2$i$i238)) + 1|0);
+ $210 = ($$138$i$i237|0)>(0);
+ $211 = HEAP8[$209>>0]|0;
+ $212 = ($211<<24>>24)==(1);
+ if ($210) {
+ $$03742$i$i232 = $$138$i$i237;$$044$i$i230 = $$1$i$i239;$$13543$i$i231 = $209;$204 = $211;$434 = $212;
+ } else {
+ break;
+ }
+ }
+ if ($212) {
+ $213 = ((($$2$i$i238)) + 2|0);
+ $$0$copyload9$i$i242 = HEAPU8[$213>>0]|(HEAPU8[$213+1>>0]<<8);
+ $214 = $$0$copyload9$i$i242&65535;
+ $215 = ((($$2$i$i238)) + 4|0);
+ $216 = (__gcry_mpi_scan($5,1,$215,$214,0)|0);
+ $217 = ($216|0)==(0);
+ $$pre$i = HEAP32[$5>>2]|0;
+ $spec$select$i = $217 ? $$pre$i : 0;
+ $$2$i243 = $spec$select$i;
+ } else {
+ $$2$i243 = 0;
+ }
+ } else {
+ $$2$i243 = 0;
+ }
+ } while(0);
+ $218 = (($6) + ($$2164<<2)|0);
+ $219 = HEAP32[$218>>2]|0;
+ HEAP32[$219>>2] = $$2$i243;
+ $$pre$phiZ2D = $$3171;
+ break;
+ }
+ default: {
+ $220 = HEAP8[$$3171>>0]|0;
+ $221 = ($220<<24>>24)==(3);
+ L81: do {
+ if ($221) {
+ $222 = ((($$3171)) + 1|0);
+ $$pre$i$i244 = HEAP8[$222>>0]|0;
+ $223 = ($$pre$i$i244<<24>>24)==(1);
+ $$03742$i$i247 = 1;$$044$i$i245 = 0;$$13543$i$i246 = $222;$231 = $$pre$i$i244;$435 = $223;
+ while(1) {
+ L85: do {
+ if ($435) {
+ $224 = ((($$13543$i$i246)) + 1|0);
+ $$0$copyload$i$i249 = HEAPU8[$224>>0]|(HEAPU8[$224+1>>0]<<8);
+ $225 = $$0$copyload$i$i249&65535;
+ $226 = (($225) + 2)|0;
+ $227 = (($224) + ($226)|0);
+ $228 = ((($227)) + -1|0);
+ $229 = ($$044$i$i245|0)==(0);
+ $230 = $229 << 31 >> 31;
+ $spec$select$i$i250 = (($$03742$i$i247) + ($230))|0;
+ $$1$i$i254 = $$044$i$i245;$$138$i$i252 = $spec$select$i$i250;$$2$i$i253 = $228;
+ } else {
+ switch ($231<<24>>24) {
+ case 0: {
+ $$2$i260 = 0;
+ break L81;
+ break;
+ }
+ case 3: {
+ $232 = (($$044$i$i245) + 1)|0;
+ $$1$i$i254 = $232;$$138$i$i252 = $$03742$i$i247;$$2$i$i253 = $$13543$i$i246;
+ break L85;
+ break;
+ }
+ case 4: {
+ $233 = (($$044$i$i245) + -1)|0;
+ $234 = ($233|0)==(0);
+ $235 = $234 << 31 >> 31;
+ $spec$select39$i$i251 = (($$03742$i$i247) + ($235))|0;
+ $$1$i$i254 = $233;$$138$i$i252 = $spec$select39$i$i251;$$2$i$i253 = $$13543$i$i246;
+ break L85;
+ break;
+ }
+ default: {
+ $$1$i$i254 = $$044$i$i245;$$138$i$i252 = $$03742$i$i247;$$2$i$i253 = $$13543$i$i246;
+ break L85;
+ }
+ }
+ }
+ } while(0);
+ $236 = ((($$2$i$i253)) + 1|0);
+ $237 = ($$138$i$i252|0)>(0);
+ $238 = HEAP8[$236>>0]|0;
+ $239 = ($238<<24>>24)==(1);
+ if ($237) {
+ $$03742$i$i247 = $$138$i$i252;$$044$i$i245 = $$1$i$i254;$$13543$i$i246 = $236;$231 = $238;$435 = $239;
+ } else {
+ break;
+ }
+ }
+ if ($239) {
+ $240 = ((($$2$i$i253)) + 2|0);
+ $$0$copyload9$i$i257 = HEAPU8[$240>>0]|(HEAPU8[$240+1>>0]<<8);
+ $241 = $$0$copyload9$i$i257&65535;
+ $242 = ((($$2$i$i253)) + 4|0);
+ $243 = (__gcry_mpi_scan($4,5,$242,$241,0)|0);
+ $244 = ($243|0)==(0);
+ $$pre$i258 = HEAP32[$4>>2]|0;
+ $spec$select$i259 = $244 ? $$pre$i258 : 0;
+ $$2$i260 = $spec$select$i259;
+ } else {
+ $$2$i260 = 0;
+ }
+ } else {
+ $$2$i260 = 0;
+ }
+ } while(0);
+ $245 = (($6) + ($$2164<<2)|0);
+ $246 = HEAP32[$245>>2]|0;
+ HEAP32[$246>>2] = $$2$i260;
+ $$pre$phiZ2D = $$3171;
+ }
+ }
+ } while(0);
+ $247 = (__gcry_is_secure($$pre$phiZ2D)|0);
+ $248 = ($247|0)==(0);
+ if (!($248)) {
+ $249 = HEAP8[$$pre$phiZ2D>>0]|0;
+ $250 = ($249<<24>>24)==(0);
+ if ($250) {
+ $$0$lcssa$i268 = $$pre$phiZ2D;
+ } else {
+ $$062$i263 = $$pre$phiZ2D;$252 = $249;
+ while(1) {
+ $251 = ((($$062$i263)) + 1|0);
+ $cond$i264 = ($252<<24>>24)==(1);
+ if ($cond$i264) {
+ $$0$copyload$i266 = HEAPU8[$251>>0]|(HEAPU8[$251+1>>0]<<8);
+ $253 = ((($$062$i263)) + 3|0);
+ $254 = $$0$copyload$i266&65535;
+ $255 = (($253) + ($254)|0);
+ $$1$i267 = $255;
+ } else {
+ $$1$i267 = $251;
+ }
+ $256 = HEAP8[$$1$i267>>0]|0;
+ $257 = ($256<<24>>24)==(0);
+ if ($257) {
+ $$0$lcssa$i268 = $$1$i267;
+ break;
+ } else {
+ $$062$i263 = $$1$i267;$252 = $256;
+ }
+ }
+ }
+ $258 = $$0$lcssa$i268;
+ $259 = $$3171;
+ $260 = (($258) - ($259))|0;
+ $261 = $259 & 7;
+ $262 = ($261|0)!=(0);
+ $263 = ($260|0)!=(0);
+ $264 = $262 & $263;
+ if ($264) {
+ $$04859$i271 = $$pre$phiZ2D;$$05058$i272 = $260;
+ while(1) {
+ HEAP8[$$04859$i271>>0] = 0;
+ $265 = ((($$04859$i271)) + 1|0);
+ $266 = (($$05058$i272) + -1)|0;
+ $267 = $265;
+ $268 = $267 & 7;
+ $269 = ($268|0)!=(0);
+ $270 = ($266|0)!=(0);
+ $271 = $270 & $269;
+ if ($271) {
+ $$04859$i271 = $265;$$05058$i272 = $266;
+ } else {
+ $$048$lcssa$i274 = $265;$$050$lcssa$i273 = $266;
+ break;
+ }
+ }
+ } else {
+ $$048$lcssa$i274 = $$pre$phiZ2D;$$050$lcssa$i273 = $260;
+ }
+ $272 = ($$050$lcssa$i273>>>0)<(8);
+ if ($272) {
+ $$2$i281 = $$048$lcssa$i274;$$252$i280 = $$050$lcssa$i273;
+ } else {
+ $273 = (($$050$lcssa$i273) + -8)|0;
+ $274 = $273 & -8;
+ $$149$i277 = $$048$lcssa$i274;$$151$i276 = $$050$lcssa$i273;
+ while(1) {
+ $275 = $$149$i277;
+ $276 = $275;
+ HEAP32[$276>>2] = 0;
+ $277 = (($275) + 4)|0;
+ $278 = $277;
+ HEAP32[$278>>2] = 0;
+ $279 = (($$151$i276) + -8)|0;
+ $280 = ((($$149$i277)) + 8|0);
+ $281 = ($279>>>0)>(7);
+ if ($281) {
+ $$149$i277 = $280;$$151$i276 = $279;
+ } else {
+ break;
+ }
+ }
+ $282 = (($274) + 8)|0;
+ $283 = (($273) - ($274))|0;
+ $scevgep$i278 = (($$048$lcssa$i274) + ($282)|0);
+ $$2$i281 = $scevgep$i278;$$252$i280 = $283;
+ }
+ $284 = ($$252$i280|0)==(0);
+ if (!($284)) {
+ $$35356$i285 = $$252$i280;$$357$i284 = $$2$i281;
+ while(1) {
+ HEAP8[$$357$i284>>0] = 0;
+ $285 = ((($$357$i284)) + 1|0);
+ $286 = (($$35356$i285) + -1)|0;
+ $287 = ($286|0)==(0);
+ if ($287) {
+ break;
+ } else {
+ $$35356$i285 = $286;$$357$i284 = $285;
+ }
+ }
+ }
+ }
+ __gcry_free($$pre$phiZ2D);
+ $288 = (($6) + ($$2164<<2)|0);
+ $289 = HEAP32[$288>>2]|0;
+ $290 = HEAP32[$289>>2]|0;
+ $291 = ($290|0)==(0|0);
+ if ($291) {
+ $$0178380 = $$0178$lcssa;$$4166 = $$2164;$$6174 = 0;$$9 = 65;
+ break L57;
+ }
+ }
+ } while(0);
+ $292 = (($$2164) + 1)|0;
+ $$1182 = $$0181;$$3165 = $292;$$5161 = $$4160;
+ }
+ }
+ } while(0);
+ $293 = ((($$5161)) + 1|0);
+ $$0181 = $$1182;$$2164 = $$3165;$$3159 = $293;
+ }
+ if ((label|0) == 76) {
+ HEAP32[$126>>2] = 0;
+ $$0178380 = $$0178$lcssa;$$4166 = $$2164;$$6174 = $$3171;$$9 = 65;
+ break;
+ }
+ $294 = ($$0178$lcssa|0)==(0|0);
+ if ($294) {
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $295 = (__gcry_is_secure($$0178$lcssa)|0);
+ $296 = ($295|0)==(0);
+ if (!($296)) {
+ $297 = HEAP8[$$0178$lcssa>>0]|0;
+ $298 = ($297<<24>>24)==(0);
+ if ($298) {
+ $$0$lcssa$i294 = $$0178$lcssa;
+ } else {
+ $$062$i289 = $$0178$lcssa;$300 = $297;
+ while(1) {
+ $299 = ((($$062$i289)) + 1|0);
+ $cond$i290 = ($300<<24>>24)==(1);
+ if ($cond$i290) {
+ $$0$copyload$i292 = HEAPU8[$299>>0]|(HEAPU8[$299+1>>0]<<8);
+ $301 = ((($$062$i289)) + 3|0);
+ $302 = $$0$copyload$i292&65535;
+ $303 = (($301) + ($302)|0);
+ $$1$i293 = $303;
+ } else {
+ $$1$i293 = $299;
+ }
+ $304 = HEAP8[$$1$i293>>0]|0;
+ $305 = ($304<<24>>24)==(0);
+ if ($305) {
+ $$0$lcssa$i294 = $$1$i293;
+ break;
+ } else {
+ $$062$i289 = $$1$i293;$300 = $304;
+ }
+ }
+ }
+ $306 = $$0$lcssa$i294;
+ $307 = $$0178$lcssa;
+ $308 = (($306) - ($307))|0;
+ $309 = $307 & 7;
+ $310 = ($309|0)!=(0);
+ $311 = ($308|0)!=(0);
+ $312 = $310 & $311;
+ if ($312) {
+ $$04859$i297 = $$0178$lcssa;$$05058$i298 = $308;
+ while(1) {
+ HEAP8[$$04859$i297>>0] = 0;
+ $313 = ((($$04859$i297)) + 1|0);
+ $314 = (($$05058$i298) + -1)|0;
+ $315 = $313;
+ $316 = $315 & 7;
+ $317 = ($316|0)!=(0);
+ $318 = ($314|0)!=(0);
+ $319 = $318 & $317;
+ if ($319) {
+ $$04859$i297 = $313;$$05058$i298 = $314;
+ } else {
+ $$048$lcssa$i300 = $313;$$050$lcssa$i299 = $314;
+ break;
+ }
+ }
+ } else {
+ $$048$lcssa$i300 = $$0178$lcssa;$$050$lcssa$i299 = $308;
+ }
+ $320 = ($$050$lcssa$i299>>>0)<(8);
+ if ($320) {
+ $$2$i307 = $$048$lcssa$i300;$$252$i306 = $$050$lcssa$i299;
+ } else {
+ $321 = (($$050$lcssa$i299) + -8)|0;
+ $322 = $321 & -8;
+ $$149$i303 = $$048$lcssa$i300;$$151$i302 = $$050$lcssa$i299;
+ while(1) {
+ $323 = $$149$i303;
+ $324 = $323;
+ HEAP32[$324>>2] = 0;
+ $325 = (($323) + 4)|0;
+ $326 = $325;
+ HEAP32[$326>>2] = 0;
+ $327 = (($$151$i302) + -8)|0;
+ $328 = ((($$149$i303)) + 8|0);
+ $329 = ($327>>>0)>(7);
+ if ($329) {
+ $$149$i303 = $328;$$151$i302 = $327;
+ } else {
+ break;
+ }
+ }
+ $330 = (($322) + 8)|0;
+ $331 = (($321) - ($322))|0;
+ $scevgep$i304 = (($$048$lcssa$i300) + ($330)|0);
+ $$2$i307 = $scevgep$i304;$$252$i306 = $331;
+ }
+ $332 = ($$252$i306|0)==(0);
+ if (!($332)) {
+ $$35356$i311 = $$252$i306;$$357$i310 = $$2$i307;
+ while(1) {
+ HEAP8[$$357$i310>>0] = 0;
+ $333 = ((($$357$i310)) + 1|0);
+ $334 = (($$35356$i311) + -1)|0;
+ $335 = ($334|0)==(0);
+ if ($335) {
+ break;
+ } else {
+ $$35356$i311 = $334;$$357$i310 = $333;
+ }
+ }
+ }
+ }
+ __gcry_free($$0178$lcssa);
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+ }
+ } while(0);
+ $336 = ($$0178380|0)==(0|0);
+ if (!($336)) {
+ $337 = (__gcry_is_secure($$0178380)|0);
+ $338 = ($337|0)==(0);
+ if (!($338)) {
+ $339 = HEAP8[$$0178380>>0]|0;
+ $340 = ($339<<24>>24)==(0);
+ if ($340) {
+ $$0$lcssa$i320 = $$0178380;
+ } else {
+ $$062$i315 = $$0178380;$342 = $339;
+ while(1) {
+ $341 = ((($$062$i315)) + 1|0);
+ $cond$i316 = ($342<<24>>24)==(1);
+ if ($cond$i316) {
+ $$0$copyload$i318 = HEAPU8[$341>>0]|(HEAPU8[$341+1>>0]<<8);
+ $343 = ((($$062$i315)) + 3|0);
+ $344 = $$0$copyload$i318&65535;
+ $345 = (($343) + ($344)|0);
+ $$1$i319 = $345;
+ } else {
+ $$1$i319 = $341;
+ }
+ $346 = HEAP8[$$1$i319>>0]|0;
+ $347 = ($346<<24>>24)==(0);
+ if ($347) {
+ $$0$lcssa$i320 = $$1$i319;
+ break;
+ } else {
+ $$062$i315 = $$1$i319;$342 = $346;
+ }
+ }
+ }
+ $348 = $$0$lcssa$i320;
+ $349 = $$0178380;
+ $350 = (($348) - ($349))|0;
+ $351 = $349 & 7;
+ $352 = ($351|0)!=(0);
+ $353 = ($350|0)!=(0);
+ $354 = $352 & $353;
+ if ($354) {
+ $$04859$i323 = $$0178380;$$05058$i324 = $350;
+ while(1) {
+ HEAP8[$$04859$i323>>0] = 0;
+ $355 = ((($$04859$i323)) + 1|0);
+ $356 = (($$05058$i324) + -1)|0;
+ $357 = $355;
+ $358 = $357 & 7;
+ $359 = ($358|0)!=(0);
+ $360 = ($356|0)!=(0);
+ $361 = $360 & $359;
+ if ($361) {
+ $$04859$i323 = $355;$$05058$i324 = $356;
+ } else {
+ $$048$lcssa$i326 = $355;$$050$lcssa$i325 = $356;
+ break;
+ }
+ }
+ } else {
+ $$048$lcssa$i326 = $$0178380;$$050$lcssa$i325 = $350;
+ }
+ $362 = ($$050$lcssa$i325>>>0)<(8);
+ if ($362) {
+ $$2$i333 = $$048$lcssa$i326;$$252$i332 = $$050$lcssa$i325;
+ } else {
+ $363 = (($$050$lcssa$i325) + -8)|0;
+ $364 = $363 & -8;
+ $$149$i329 = $$048$lcssa$i326;$$151$i328 = $$050$lcssa$i325;
+ while(1) {
+ $365 = $$149$i329;
+ $366 = $365;
+ HEAP32[$366>>2] = 0;
+ $367 = (($365) + 4)|0;
+ $368 = $367;
+ HEAP32[$368>>2] = 0;
+ $369 = (($$151$i328) + -8)|0;
+ $370 = ((($$149$i329)) + 8|0);
+ $371 = ($369>>>0)>(7);
+ if ($371) {
+ $$149$i329 = $370;$$151$i328 = $369;
+ } else {
+ break;
+ }
+ }
+ $372 = (($364) + 8)|0;
+ $373 = (($363) - ($364))|0;
+ $scevgep$i330 = (($$048$lcssa$i326) + ($372)|0);
+ $$2$i333 = $scevgep$i330;$$252$i332 = $373;
+ }
+ $374 = ($$252$i332|0)==(0);
+ if (!($374)) {
+ $$35356$i337 = $$252$i332;$$357$i336 = $$2$i333;
+ while(1) {
+ HEAP8[$$357$i336>>0] = 0;
+ $375 = ((($$357$i336)) + 1|0);
+ $376 = (($$35356$i337) + -1)|0;
+ $377 = ($376|0)==(0);
+ if ($377) {
+ break;
+ } else {
+ $$35356$i337 = $376;$$357$i336 = $375;
+ }
+ }
+ }
+ }
+ __gcry_free($$0178380);
+ }
+ $378 = ($$6174|0)==(0|0);
+ if (!($378)) {
+ $379 = (__gcry_is_secure($$6174)|0);
+ $380 = ($379|0)==(0);
+ if (!($380)) {
+ $381 = HEAP8[$$6174>>0]|0;
+ $382 = ($381<<24>>24)==(0);
+ if ($382) {
+ $$0$lcssa$i = $$6174;
+ } else {
+ $$062$i = $$6174;$384 = $381;
+ while(1) {
+ $383 = ((($$062$i)) + 1|0);
+ $cond$i = ($384<<24>>24)==(1);
+ if ($cond$i) {
+ $$0$copyload$i = HEAPU8[$383>>0]|(HEAPU8[$383+1>>0]<<8);
+ $385 = ((($$062$i)) + 3|0);
+ $386 = $$0$copyload$i&65535;
+ $387 = (($385) + ($386)|0);
+ $$1$i = $387;
+ } else {
+ $$1$i = $383;
+ }
+ $388 = HEAP8[$$1$i>>0]|0;
+ $389 = ($388<<24>>24)==(0);
+ if ($389) {
+ $$0$lcssa$i = $$1$i;
+ break;
+ } else {
+ $$062$i = $$1$i;$384 = $388;
+ }
+ }
+ }
+ $390 = $$0$lcssa$i;
+ $391 = $$6174;
+ $392 = (($390) - ($391))|0;
+ $393 = $391 & 7;
+ $394 = ($393|0)!=(0);
+ $395 = ($392|0)!=(0);
+ $396 = $394 & $395;
+ if ($396) {
+ $$04859$i = $$6174;$$05058$i = $392;
+ while(1) {
+ HEAP8[$$04859$i>>0] = 0;
+ $397 = ((($$04859$i)) + 1|0);
+ $398 = (($$05058$i) + -1)|0;
+ $399 = $397;
+ $400 = $399 & 7;
+ $401 = ($400|0)!=(0);
+ $402 = ($398|0)!=(0);
+ $403 = $402 & $401;
+ if ($403) {
+ $$04859$i = $397;$$05058$i = $398;
+ } else {
+ $$048$lcssa$i = $397;$$050$lcssa$i = $398;
+ break;
+ }
+ }
+ } else {
+ $$048$lcssa$i = $$6174;$$050$lcssa$i = $392;
+ }
+ $404 = ($$050$lcssa$i>>>0)<(8);
+ if ($404) {
+ $$2$i = $$048$lcssa$i;$$252$i = $$050$lcssa$i;
+ } else {
+ $405 = (($$050$lcssa$i) + -8)|0;
+ $406 = $405 & -8;
+ $$149$i = $$048$lcssa$i;$$151$i = $$050$lcssa$i;
+ while(1) {
+ $407 = $$149$i;
+ $408 = $407;
+ HEAP32[$408>>2] = 0;
+ $409 = (($407) + 4)|0;
+ $410 = $409;
+ HEAP32[$410>>2] = 0;
+ $411 = (($$151$i) + -8)|0;
+ $412 = ((($$149$i)) + 8|0);
+ $413 = ($411>>>0)>(7);
+ if ($413) {
+ $$149$i = $412;$$151$i = $411;
+ } else {
+ break;
+ }
+ }
+ $414 = (($406) + 8)|0;
+ $415 = (($405) - ($406))|0;
+ $scevgep$i = (($$048$lcssa$i) + ($414)|0);
+ $$2$i = $scevgep$i;$$252$i = $415;
+ }
+ $416 = ($$252$i|0)==(0);
+ if (!($416)) {
+ $$35356$i = $$252$i;$$357$i = $$2$i;
+ while(1) {
+ HEAP8[$$357$i>>0] = 0;
+ $417 = ((($$357$i)) + 1|0);
+ $418 = (($$35356$i) + -1)|0;
+ $419 = ($418|0)==(0);
+ if ($419) {
+ break;
+ } else {
+ $$35356$i = $418;$$357$i = $417;
+ }
+ }
+ }
+ }
+ __gcry_free($$6174);
+ }
+ $420 = ($$4166|0)==(0);
+ if ($420) {
+ $$0 = $$9;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $$in = $$4166;
+ while(1) {
+ $421 = (($$in) + -1)|0;
+ $422 = (($7) + ($421)|0);
+ $423 = HEAP8[$422>>0]|0;
+ $424 = ($423<<24>>24)==(0);
+ $425 = (($6) + ($421<<2)|0);
+ if ($424) {
+ $426 = HEAP32[$425>>2]|0;
+ $427 = HEAP32[$426>>2]|0;
+ __gcry_mpi_release($427);
+ HEAP32[$426>>2] = 0;
+ } else {
+ $428 = HEAP32[$425>>2]|0;
+ $429 = ((($428)) + 12|0);
+ $430 = HEAP32[$429>>2]|0;
+ __gcry_free($430);
+ ;HEAP32[$428>>2]=0|0;HEAP32[$428+4>>2]=0|0;HEAP32[$428+8>>2]=0|0;HEAP32[$428+12>>2]=0|0;
+ }
+ $431 = ($421|0)==(0);
+ if ($431) {
+ $$0 = $$9;
+ break;
+ } else {
+ $$in = $421;
+ }
+ }
+ STACKTOP = sp;return ($$0|0);
+}
+function __gcry_sexp_extract_param($0,$1,$2,$varargs) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $varargs = $varargs|0;
+ var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $3 = sp;
+ HEAP32[$3>>2] = $varargs;
+ $4 = (__gcry_sexp_vextract_param($0,$1,$2,$3)|0);
+ $5 = ($4|0)==(0);
+ $6 = $4 & 65535;
+ $7 = $6 | 16777216;
+ $8 = $5 ? 0 : $7;
+ STACKTOP = sp;return ($8|0);
+}
+function __gcry_disable_hw_feature($0) {
+ $0 = $0|0;
+ var $$05 = 0, $$07$lcssa = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
+ var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = (_strcmp(44779,$0)|0);
+ $2 = ($1|0)==(0);
+ if ($2) {
+ $$07$lcssa = 0;
+ } else {
+ $7 = (_strcmp(44791,$0)|0);
+ $8 = ($7|0)==(0);
+ if ($8) {
+ $$07$lcssa = 1;
+ } else {
+ $9 = (_strcmp(44803,$0)|0);
+ $10 = ($9|0)==(0);
+ if ($10) {
+ $$07$lcssa = 2;
+ } else {
+ $11 = (_strcmp(44815,$0)|0);
+ $12 = ($11|0)==(0);
+ if ($12) {
+ $$07$lcssa = 3;
+ } else {
+ $13 = (_strcmp(44828,$0)|0);
+ $14 = ($13|0)==(0);
+ if ($14) {
+ $$07$lcssa = 4;
+ } else {
+ $15 = (_strcmp(44838,$0)|0);
+ $16 = ($15|0)==(0);
+ if ($16) {
+ $$07$lcssa = 5;
+ } else {
+ $17 = (_strcmp(44849,$0)|0);
+ $18 = ($17|0)==(0);
+ if ($18) {
+ $$07$lcssa = 6;
+ } else {
+ $19 = (_strcmp(44861,$0)|0);
+ $20 = ($19|0)==(0);
+ if ($20) {
+ $$07$lcssa = 7;
+ } else {
+ $21 = (_strcmp(44874,$0)|0);
+ $22 = ($21|0)==(0);
+ if ($22) {
+ $$07$lcssa = 8;
+ } else {
+ $23 = (_strcmp(44886,$0)|0);
+ $24 = ($23|0)==(0);
+ if ($24) {
+ $$07$lcssa = 9;
+ } else {
+ $25 = (_strcmp(44899,$0)|0);
+ $26 = ($25|0)==(0);
+ if ($26) {
+ $$07$lcssa = 10;
+ } else {
+ $27 = (_strcmp(44909,$0)|0);
+ $28 = ($27|0)==(0);
+ if ($28) {
+ $$07$lcssa = 11;
+ } else {
+ $29 = (_strcmp(44920,$0)|0);
+ $30 = ($29|0)==(0);
+ if ($30) {
+ $$07$lcssa = 12;
+ } else {
+ $$05 = 88;
+ return ($$05|0);
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ $3 = (96 + ($$07$lcssa<<3)|0);
+ $4 = HEAP32[$3>>2]|0;
+ $5 = HEAP32[18093]|0;
+ $6 = $5 | $4;
+ HEAP32[18093] = $6;
+ $$05 = 0;
+ return ($$05|0);
+}
+function __gcry_get_hw_features() {
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ return 0;
+}
+function __gcry_enum_hw_features($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $2 = ($0>>>0)>(12);
+ if ($2) {
+ $$0 = 0;
+ return ($$0|0);
+ }
+ $3 = ($1|0)==(0|0);
+ if (!($3)) {
+ $4 = (96 + ($0<<3)|0);
+ $5 = HEAP32[$4>>2]|0;
+ HEAP32[$1>>2] = $5;
+ }
+ $6 = (((96 + ($0<<3)|0)) + 4|0);
+ $7 = HEAP32[$6>>2]|0;
+ $$0 = $7;
+ return ($$0|0);
+}
+function __gcry_detect_hw_features() {
+ var $$03847$lcssa$i = 0, $$03945$i = 0, $$040$lcssa$i = 0, $$04042$i = 0, $$pre$i = 0, $$pre54$i = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0;
+ var $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, $38 = 0, $39 = 0;
+ var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0;
+ var $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, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0);
+ $0 = sp;
+ $1 = (__gcry_fips_mode()|0);
+ $2 = ($1|0)==(0);
+ if (!($2)) {
+ STACKTOP = sp;return;
+ }
+ $3 = (_fopen(44929,45466)|0);
+ $4 = ($3|0)==(0|0);
+ if (!($4)) {
+ $5 = (_fgets($0,256,$3)|0);
+ $6 = ($5|0)==(0|0);
+ if (!($6)) {
+ while(1) {
+ $7 = HEAP8[$0>>0]|0;
+ $8 = $7 << 24 >> 24;
+ $9 = $8 & 128;
+ $10 = ($9|0)==(0);
+ L10: do {
+ if ($10) {
+ $$04042$i = $0;$11 = $8;$69 = $7;
+ while(1) {
+ $12 = (_isspace($11)|0);
+ $13 = ($12|0)==(0);
+ if ($13) {
+ $$040$lcssa$i = $$04042$i;$68 = $69;
+ break L10;
+ }
+ $14 = ((($$04042$i)) + 1|0);
+ $15 = HEAP8[$14>>0]|0;
+ $16 = $15 << 24 >> 24;
+ $17 = $16 & 128;
+ $18 = ($17|0)==(0);
+ if ($18) {
+ $$04042$i = $14;$11 = $16;$69 = $15;
+ } else {
+ $$040$lcssa$i = $14;$68 = $15;
+ break;
+ }
+ }
+ } else {
+ $$040$lcssa$i = $0;$68 = $7;
+ }
+ } while(0);
+ $19 = (_strchr($$040$lcssa$i,10)|0);
+ $20 = ($19|0)==(0|0);
+ if ($20) {
+ $22 = $68;
+ } else {
+ HEAP8[$19>>0] = 0;
+ $$pre$i = HEAP8[$$040$lcssa$i>>0]|0;
+ $22 = $$pre$i;
+ }
+ $21 = ($22<<24>>24)==(0);
+ L19: do {
+ if (!($21)) {
+ $23 = (_strlen($$040$lcssa$i)|0);
+ $24 = (($23) + -1)|0;
+ $25 = ($24|0)>(0);
+ if ($25) {
+ $26 = (($$040$lcssa$i) + ($24)|0);
+ $$03945$i = $26;
+ while(1) {
+ $27 = HEAP8[$$03945$i>>0]|0;
+ $28 = $27 << 24 >> 24;
+ $29 = $28 & 128;
+ $30 = ($29|0)==(0);
+ if ($30) {
+ $31 = (_isspace($28)|0);
+ $32 = ($31|0)==(0);
+ if (!($32)) {
+ HEAP8[$$03945$i>>0] = 0;
+ }
+ }
+ $33 = ((($$03945$i)) + -1|0);
+ $34 = ($33>>>0)>($$040$lcssa$i>>>0);
+ if ($34) {
+ $$03945$i = $33;
+ } else {
+ break;
+ }
+ }
+ $$pre54$i = HEAP8[$$040$lcssa$i>>0]|0;
+ $35 = $$pre54$i;
+ } else {
+ $35 = $22;
+ }
+ switch ($35<<24>>24) {
+ case 35: case 0: {
+ break L19;
+ break;
+ }
+ default: {
+ }
+ }
+ $38 = (_strcmp(44779,$$040$lcssa$i)|0);
+ $39 = ($38|0)==(0);
+ do {
+ if ($39) {
+ $$03847$lcssa$i = 0;
+ } else {
+ $44 = (_strcmp(44791,$$040$lcssa$i)|0);
+ $45 = ($44|0)==(0);
+ if ($45) {
+ $$03847$lcssa$i = 1;
+ } else {
+ $46 = (_strcmp(44803,$$040$lcssa$i)|0);
+ $47 = ($46|0)==(0);
+ if ($47) {
+ $$03847$lcssa$i = 2;
+ } else {
+ $48 = (_strcmp(44815,$$040$lcssa$i)|0);
+ $49 = ($48|0)==(0);
+ if ($49) {
+ $$03847$lcssa$i = 3;
+ } else {
+ $50 = (_strcmp(44828,$$040$lcssa$i)|0);
+ $51 = ($50|0)==(0);
+ if ($51) {
+ $$03847$lcssa$i = 4;
+ } else {
+ $52 = (_strcmp(44838,$$040$lcssa$i)|0);
+ $53 = ($52|0)==(0);
+ if ($53) {
+ $$03847$lcssa$i = 5;
+ } else {
+ $54 = (_strcmp(44849,$$040$lcssa$i)|0);
+ $55 = ($54|0)==(0);
+ if ($55) {
+ $$03847$lcssa$i = 6;
+ } else {
+ $56 = (_strcmp(44861,$$040$lcssa$i)|0);
+ $57 = ($56|0)==(0);
+ if ($57) {
+ $$03847$lcssa$i = 7;
+ } else {
+ $58 = (_strcmp(44874,$$040$lcssa$i)|0);
+ $59 = ($58|0)==(0);
+ if ($59) {
+ $$03847$lcssa$i = 8;
+ break;
+ }
+ $60 = (_strcmp(44886,$$040$lcssa$i)|0);
+ $61 = ($60|0)==(0);
+ if ($61) {
+ $$03847$lcssa$i = 9;
+ break;
+ }
+ $62 = (_strcmp(44899,$$040$lcssa$i)|0);
+ $63 = ($62|0)==(0);
+ if ($63) {
+ $$03847$lcssa$i = 10;
+ break;
+ }
+ $64 = (_strcmp(44909,$$040$lcssa$i)|0);
+ $65 = ($64|0)==(0);
+ if ($65) {
+ $$03847$lcssa$i = 11;
+ break;
+ }
+ $66 = (_strcmp(44920,$$040$lcssa$i)|0);
+ $67 = ($66|0)==(0);
+ if ($67) {
+ $$03847$lcssa$i = 12;
+ } else {
+ break L19;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ } while(0);
+ $40 = (96 + ($$03847$lcssa$i<<3)|0);
+ $41 = HEAP32[$40>>2]|0;
+ $42 = HEAP32[18093]|0;
+ $43 = $42 | $41;
+ HEAP32[18093] = $43;
+ }
+ } while(0);
+ $36 = (_fgets($0,256,$3)|0);
+ $37 = ($36|0)==(0|0);
+ if ($37) {
+ break;
+ }
+ }
+ }
+ (_feof($3)|0);
+ (_fclose($3)|0);
+ }
+ STACKTOP = sp;return;
+}
+function __gcry_private_enable_m_guard() {
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ HEAP32[18094] = 1;
+ return;
+}
+function __gcry_private_malloc($0) {
+ $0 = $0|0;
+ var $$1 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0;
+ var sp = 0;
+ sp = STACKTOP;
+ $1 = ($0|0)==(0);
+ if ($1) {
+ _gpg_err_set_errno(22);
+ $$1 = 0;
+ return ($$1|0);
+ }
+ $2 = HEAP32[18094]|0;
+ $3 = ($2|0)==(0);
+ if ($3) {
+ $18 = (_malloc($0)|0);
+ $$1 = $18;
+ return ($$1|0);
+ }
+ $4 = (($0) + 5)|0;
+ $5 = (_malloc($4)|0);
+ $6 = ($5|0)==(0|0);
+ if ($6) {
+ $$1 = 0;
+ return ($$1|0);
+ }
+ $7 = $0&255;
+ HEAP8[$5>>0] = $7;
+ $8 = $0 >>> 8;
+ $9 = $8&255;
+ $10 = ((($5)) + 1|0);
+ HEAP8[$10>>0] = $9;
+ $11 = $0 >>> 16;
+ $12 = $11&255;
+ $13 = ((($5)) + 2|0);
+ HEAP8[$13>>0] = $12;
+ $14 = ((($5)) + 3|0);
+ HEAP8[$14>>0] = 85;
+ $15 = (($0) + 4)|0;
+ $16 = (($5) + ($15)|0);
+ HEAP8[$16>>0] = -86;
+ $17 = ((($5)) + 4|0);
+ $$1 = $17;
+ return ($$1|0);
+}
+function __gcry_private_malloc_secure($0) {
+ $0 = $0|0;
+ var $$1 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0;
+ var sp = 0;
+ sp = STACKTOP;
+ $1 = ($0|0)==(0);
+ if ($1) {
+ _gpg_err_set_errno(22);
+ $$1 = 0;
+ return ($$1|0);
+ }
+ $2 = HEAP32[18094]|0;
+ $3 = ($2|0)==(0);
+ if ($3) {
+ $18 = (__gcry_secmem_malloc($0)|0);
+ $$1 = $18;
+ return ($$1|0);
+ }
+ $4 = (($0) + 5)|0;
+ $5 = (__gcry_secmem_malloc($4)|0);
+ $6 = ($5|0)==(0|0);
+ if ($6) {
+ $$1 = 0;
+ return ($$1|0);
+ }
+ $7 = $0&255;
+ HEAP8[$5>>0] = $7;
+ $8 = $0 >>> 8;
+ $9 = $8&255;
+ $10 = ((($5)) + 1|0);
+ HEAP8[$10>>0] = $9;
+ $11 = $0 >>> 16;
+ $12 = $11&255;
+ $13 = ((($5)) + 2|0);
+ HEAP8[$13>>0] = $12;
+ $14 = ((($5)) + 3|0);
+ HEAP8[$14>>0] = -52;
+ $15 = (($0) + 4)|0;
+ $16 = (($5) + ($15)|0);
+ HEAP8[$16>>0] = -86;
+ $17 = ((($5)) + 4|0);
+ $$1 = $17;
+ return ($$1|0);
+}
+function __gcry_private_realloc($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $$0 = 0, $$1 = 0, $$sink = 0, $$sink49 = 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;
+ 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, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_ptr1 = 0, $vararg_ptr5 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $vararg_buffer2 = sp + 8|0;
+ $vararg_buffer = sp;
+ $2 = HEAP32[18094]|0;
+ $3 = ($2|0)==(0);
+ if ($3) {
+ $58 = (__gcry_private_is_secure($0)|0);
+ $59 = ($58|0)==(0);
+ if ($59) {
+ $61 = (_realloc($0,$1)|0);
+ $$1 = $61;
+ STACKTOP = sp;return ($$1|0);
+ } else {
+ $60 = (__gcry_secmem_realloc($0,$1)|0);
+ $$1 = $60;
+ STACKTOP = sp;return ($$1|0);
+ }
+ }
+ $4 = ($0|0)==(0|0);
+ if ($4) {
+ $5 = ($1|0)==(0);
+ if ($5) {
+ _gpg_err_set_errno(22);
+ $$1 = 0;
+ STACKTOP = sp;return ($$1|0);
+ }
+ $6 = (($1) + 5)|0;
+ $7 = (_malloc($6)|0);
+ $8 = ($7|0)==(0|0);
+ if ($8) {
+ $$1 = 0;
+ STACKTOP = sp;return ($$1|0);
+ }
+ $9 = $1&255;
+ HEAP8[$7>>0] = $9;
+ $10 = $1 >>> 8;
+ $11 = $10&255;
+ $12 = ((($7)) + 1|0);
+ HEAP8[$12>>0] = $11;
+ $13 = $1 >>> 16;
+ $14 = $13&255;
+ $15 = ((($7)) + 2|0);
+ HEAP8[$15>>0] = $14;
+ $16 = ((($7)) + 3|0);
+ HEAP8[$16>>0] = 85;
+ $17 = (($1) + 4)|0;
+ $18 = (($7) + ($17)|0);
+ HEAP8[$18>>0] = -86;
+ $19 = ((($7)) + 4|0);
+ $$1 = $19;
+ STACKTOP = sp;return ($$1|0);
+ }
+ $20 = ((($0)) + -1|0);
+ $21 = HEAP8[$20>>0]|0;
+ $22 = $21&255;
+ switch ($21<<24>>24) {
+ case -52: case 85: {
+ break;
+ }
+ default: {
+ HEAP32[$vararg_buffer>>2] = $0;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = $22;
+ __gcry_log_fatal(44950,$vararg_buffer);
+ // unreachable;
+ }
+ }
+ $23 = ((($0)) + -4|0);
+ $24 = HEAP8[$23>>0]|0;
+ $25 = $24&255;
+ $26 = ((($0)) + -3|0);
+ $27 = HEAP8[$26>>0]|0;
+ $28 = $27&255;
+ $29 = $28 << 8;
+ $30 = $29 | $25;
+ $31 = ((($0)) + -2|0);
+ $32 = HEAP8[$31>>0]|0;
+ $33 = $32&255;
+ $34 = $33 << 16;
+ $35 = $30 | $34;
+ $36 = (($0) + ($35)|0);
+ $37 = HEAP8[$36>>0]|0;
+ $38 = ($37<<24>>24)==(-86);
+ if (!($38)) {
+ HEAP32[$vararg_buffer2>>2] = $0;
+ $vararg_ptr5 = ((($vararg_buffer2)) + 4|0);
+ HEAP32[$vararg_ptr5>>2] = $22;
+ __gcry_log_fatal(44991,$vararg_buffer2);
+ // unreachable;
+ }
+ $39 = ($35>>>0)<($1>>>0);
+ if (!($39)) {
+ $$1 = $0;
+ STACKTOP = sp;return ($$1|0);
+ }
+ $40 = ($21<<24>>24)==(-52);
+ $41 = (($1) + 5)|0;
+ if ($40) {
+ $42 = (__gcry_secmem_malloc($41)|0);
+ $43 = ($42|0)==(0|0);
+ if ($43) {
+ $$1 = 0;
+ STACKTOP = sp;return ($$1|0);
+ } else {
+ $$sink = -52;$$sink49 = $42;
+ }
+ } else {
+ $44 = (_malloc($41)|0);
+ $45 = ($44|0)==(0|0);
+ if ($45) {
+ $$1 = 0;
+ STACKTOP = sp;return ($$1|0);
+ } else {
+ $$sink = 85;$$sink49 = $44;
+ }
+ }
+ $46 = $1&255;
+ HEAP8[$$sink49>>0] = $46;
+ $47 = $1 >>> 8;
+ $48 = $47&255;
+ $49 = ((($$sink49)) + 1|0);
+ HEAP8[$49>>0] = $48;
+ $50 = $1 >>> 16;
+ $51 = $50&255;
+ $52 = ((($$sink49)) + 2|0);
+ HEAP8[$52>>0] = $51;
+ $53 = ((($$sink49)) + 3|0);
+ HEAP8[$53>>0] = $$sink;
+ $54 = (($1) + 4)|0;
+ $55 = (($$sink49) + ($54)|0);
+ HEAP8[$55>>0] = -86;
+ $$0 = ((($$sink49)) + 4|0);
+ $56 = (($$0) + ($35)|0);
+ $57 = (($1) - ($35))|0;
+ _memcpy(($$0|0),($0|0),($35|0))|0;
+ _memset(($56|0),0,($57|0))|0;
+ __gcry_private_free($0);
+ $$1 = $$0;
+ STACKTOP = sp;return ($$1|0);
+}
+function __gcry_private_free($0) {
+ $0 = $0|0;
+ var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $3 = 0;
+ var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_ptr1 = 0, $vararg_ptr5 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $vararg_buffer2 = sp + 8|0;
+ $vararg_buffer = sp;
+ $1 = ($0|0)==(0|0);
+ if ($1) {
+ STACKTOP = sp;return;
+ }
+ $2 = HEAP32[18094]|0;
+ $3 = ($2|0)==(0);
+ if ($3) {
+ $25 = (__gcry_private_is_secure($0)|0);
+ $26 = ($25|0)==(0);
+ if ($26) {
+ _free($0);
+ STACKTOP = sp;return;
+ } else {
+ __gcry_secmem_free($0);
+ STACKTOP = sp;return;
+ }
+ }
+ $4 = ((($0)) + -1|0);
+ $5 = HEAP8[$4>>0]|0;
+ $6 = $5&255;
+ switch ($5<<24>>24) {
+ case -52: case 85: {
+ break;
+ }
+ default: {
+ HEAP32[$vararg_buffer>>2] = $0;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = $6;
+ __gcry_log_fatal(44950,$vararg_buffer);
+ // unreachable;
+ }
+ }
+ $7 = ((($0)) + -4|0);
+ $8 = HEAP8[$7>>0]|0;
+ $9 = $8&255;
+ $10 = ((($0)) + -3|0);
+ $11 = HEAP8[$10>>0]|0;
+ $12 = $11&255;
+ $13 = $12 << 8;
+ $14 = $13 | $9;
+ $15 = ((($0)) + -2|0);
+ $16 = HEAP8[$15>>0]|0;
+ $17 = $16&255;
+ $18 = $17 << 16;
+ $19 = $14 | $18;
+ $20 = (($0) + ($19)|0);
+ $21 = HEAP8[$20>>0]|0;
+ $22 = ($21<<24>>24)==(-86);
+ if (!($22)) {
+ HEAP32[$vararg_buffer2>>2] = $0;
+ $vararg_ptr5 = ((($vararg_buffer2)) + 4|0);
+ HEAP32[$vararg_ptr5>>2] = $6;
+ __gcry_log_fatal(44991,$vararg_buffer2);
+ // unreachable;
+ }
+ $23 = (__gcry_private_is_secure($0)|0);
+ $24 = ($23|0)==(0);
+ if ($24) {
+ _free($7);
+ STACKTOP = sp;return;
+ } else {
+ __gcry_secmem_free($7);
+ STACKTOP = sp;return;
+ }
+}
+function __gcry_secmem_set_flags($0) {
+ $0 = $0|0;
+ var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ (_gpgrt_lock_lock(37900)|0);
+ $1 = $0 & 1;
+ HEAP32[18095] = $1;
+ $2 = $0 & 2;
+ HEAP32[18096] = $2;
+ $3 = $0 & 8;
+ HEAP32[18097] = $3;
+ $4 = $0 & 16;
+ HEAP32[18098] = $4;
+ (_gpgrt_lock_unlock(37900)|0);
+ return;
+}
+function __gcry_secmem_get_flags() {
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ (_gpgrt_lock_lock(37900)|0);
+ $0 = HEAP32[18095]|0;
+ $1 = ($0|0)!=(0);
+ $2 = $1&1;
+ $3 = HEAP32[18096]|0;
+ $4 = ($3|0)==(0);
+ $5 = $4 ? 0 : 2;
+ $6 = $5 | $2;
+ $7 = HEAP32[18097]|0;
+ $8 = ($7|0)==(0);
+ $9 = $8 ? 0 : 8;
+ $10 = $6 | $9;
+ $11 = HEAP32[18098]|0;
+ $12 = ($11|0)==(0);
+ $13 = $12 ? 0 : 16;
+ $14 = $10 | $13;
+ (_gpgrt_lock_unlock(37900)|0);
+ return ($14|0);
+}
+function __gcry_secmem_init($0) {
+ $0 = $0|0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ (_gpgrt_lock_lock(37900)|0);
+ _secmem_init($0);
+ (_gpgrt_lock_unlock(37900)|0);
+ return;
+}
+function _secmem_init($0) {
+ $0 = $0|0;
+ var $$pre$i = 0, $$pre13$i = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
+ var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0;
+ var $8 = 0, $9 = 0, $spec$select = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer11 = 0, $vararg_buffer3 = 0, $vararg_buffer6 = 0, $vararg_buffer9 = 0, $vararg_ptr5 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
+ $vararg_buffer11 = sp + 40|0;
+ $vararg_buffer9 = sp + 32|0;
+ $vararg_buffer6 = sp + 24|0;
+ $vararg_buffer3 = sp + 16|0;
+ $vararg_buffer1 = sp + 8|0;
+ $vararg_buffer = sp;
+ $1 = ($0|0)==(0);
+ if ($1) {
+ HEAP32[18099] = 1;
+ $2 = (_getuid()|0);
+ $3 = (_geteuid()|0);
+ $4 = ($2|0)==($3|0);
+ if ($4) {
+ STACKTOP = sp;return;
+ }
+ $5 = (_setuid($2)|0);
+ $6 = ($5|0)==(0);
+ if (!($6)) {
+ __gcry_log_fatal(45031,$vararg_buffer);
+ // unreachable;
+ }
+ $7 = (_getuid()|0);
+ $8 = (_geteuid()|0);
+ $9 = ($7|0)==($8|0);
+ if (!($9)) {
+ __gcry_log_fatal(45031,$vararg_buffer);
+ // unreachable;
+ }
+ $10 = (_setuid(0)|0);
+ $11 = ($10|0)==(0);
+ if ($11) {
+ __gcry_log_fatal(45031,$vararg_buffer);
+ // unreachable;
+ } else {
+ STACKTOP = sp;return;
+ }
+ }
+ $12 = HEAP32[18100]|0;
+ $13 = ($12|0)==(0);
+ if (!($13)) {
+ __gcry_log_error(45230,$vararg_buffer11);
+ STACKTOP = sp;return;
+ }
+ $14 = ($0>>>0)>(16384);
+ $spec$select = $14 ? $0 : 16384;
+ HEAP32[18101] = $spec$select;
+ $15 = HEAP32[18099]|0;
+ $16 = ($15|0)==(0);
+ if (!($16)) {
+ __gcry_log_bug(45054,$vararg_buffer1);
+ // unreachable;
+ }
+ $17 = (_sysconf(30)|0);
+ $18 = ($17|0)>(0);
+ $19 = $18 ? $17 : 4096;
+ $20 = HEAP32[18101]|0;
+ $21 = (($20) + -1)|0;
+ $22 = (($21) + ($19))|0;
+ $23 = (0 - ($19))|0;
+ $24 = $22 & $23;
+ HEAP32[18101] = $24;
+ $25 = (___mmap(0,$24,3,34,-1,0)|0);
+ HEAP32[18102] = $25;
+ $26 = ($25|0)==((-1)|0);
+ if ($26) {
+ $27 = HEAP32[18101]|0;
+ $28 = (___errno_location()|0);
+ $29 = HEAP32[$28>>2]|0;
+ $30 = (_strerror($29)|0);
+ HEAP32[$vararg_buffer3>>2] = $27;
+ $vararg_ptr5 = ((($vararg_buffer3)) + 4|0);
+ HEAP32[$vararg_ptr5>>2] = $30;
+ __gcry_log_info(45080,$vararg_buffer3);
+ } else {
+ HEAP32[18103] = 1;
+ HEAP32[18100] = 1;
+ }
+ $31 = HEAP32[18100]|0;
+ $32 = ($31|0)==(0);
+ do {
+ if ($32) {
+ $33 = HEAP32[18101]|0;
+ $34 = (_malloc($33)|0);
+ HEAP32[18102] = $34;
+ $35 = ($34|0)==(0|0);
+ if ($35) {
+ HEAP32[$vararg_buffer6>>2] = $33;
+ __gcry_log_fatal(45128,$vararg_buffer6);
+ // unreachable;
+ } else {
+ HEAP32[18100] = 1;
+ $36 = $33;$37 = $34;
+ break;
+ }
+ } else {
+ $$pre$i = HEAP32[18102]|0;
+ $$pre13$i = HEAP32[18101]|0;
+ $36 = $$pre13$i;$37 = $$pre$i;
+ }
+ } while(0);
+ HEAP32[$37>>2] = $36;
+ $38 = ((($37)) + 4|0);
+ HEAP32[$38>>2] = 0;
+ $39 = HEAP32[18097]|0;
+ $40 = ($39|0)==(0);
+ if (!($40)) {
+ STACKTOP = sp;return;
+ }
+ __gcry_log_info(45168,$vararg_buffer9);
+ STACKTOP = sp;return;
+}
+function __gcry_secmem_module_init() {
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ return 0;
+}
+function __gcry_secmem_malloc($0) {
+ $0 = $0|0;
+ var $1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ (_gpgrt_lock_lock(37900)|0);
+ $1 = (__gcry_secmem_malloc_internal($0)|0);
+ (_gpgrt_lock_unlock(37900)|0);
+ return ($1|0);
+}
+function __gcry_secmem_malloc_internal($0) {
+ $0 = $0|0;
+ var $$0 = 0, $$0$i$i = 0, $$0$i$i$i = 0, $$1$i$i$i = 0, $$cast = 0, $$in = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0;
+ var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0;
+ var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0;
+ var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0;
+ var $8 = 0, $9 = 0, $or$cond = 0, $or$cond$i = 0, $or$cond$i$i = 0, $or$cond29 = 0, $vararg_buffer = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $vararg_buffer = sp;
+ $1 = HEAP32[18100]|0;
+ $2 = ($1|0)==(0);
+ if ($2) {
+ _secmem_init(32768);
+ $3 = HEAP32[18100]|0;
+ $4 = ($3|0)==(0);
+ if ($4) {
+ $5 = (__gcry_gettext(45276)|0);
+ __gcry_log_info($5,$vararg_buffer);
+ _gpg_err_set_errno(12);
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+ }
+ }
+ $6 = (($0) + 31)|0;
+ $7 = $6 & -32;
+ $8 = HEAP32[18102]|0;
+ $$cast = $8;
+ $9 = HEAP32[18101]|0;
+ $10 = (($9) + ($$cast))|0;
+ $$in = $8;
+ while(1) {
+ $11 = $$in;
+ $12 = ($10>>>0)>($11>>>0);
+ if (!($12)) {
+ label = 18;
+ break;
+ }
+ $13 = ((($$in)) + 4|0);
+ $14 = HEAP32[$13>>2]|0;
+ $15 = $14 & 1;
+ $16 = ($15|0)!=(0);
+ $17 = HEAP32[$$in>>2]|0;
+ $18 = ($17>>>0)<($7>>>0);
+ $or$cond$i = $16 | $18;
+ if (!($or$cond$i)) {
+ label = 7;
+ break;
+ }
+ $62 = ((($$in)) + 8|0);
+ $63 = (($62) + ($17)|0);
+ $64 = ($8>>>0)<=($63>>>0);
+ $65 = $63;
+ $66 = ($10>>>0)>($65>>>0);
+ $or$cond29 = $64 & $66;
+ $67 = $or$cond29 ? $63 : 0;
+ $68 = ($8>>>0)>($67>>>0);
+ if ($68) {
+ label = 18;
+ break;
+ } else {
+ $$in = $67;
+ }
+ }
+ do {
+ if ((label|0) == 7) {
+ $19 = ((($$in)) + 4|0);
+ $20 = $14 | 1;
+ HEAP32[$19>>2] = $20;
+ $21 = (($17) - ($7))|0;
+ $22 = ($21>>>0)>(8);
+ if ($22) {
+ $23 = ((($$in)) + 8|0);
+ $24 = (($23) + ($7)|0);
+ $25 = (($21) + -8)|0;
+ HEAP32[$24>>2] = $25;
+ $26 = ((($24)) + 4|0);
+ HEAP32[$26>>2] = 0;
+ HEAP32[$$in>>2] = $7;
+ $27 = ($8|0)==($24|0);
+ if ($27) {
+ $$1$i$i$i = 0;
+ } else {
+ $28 = HEAP32[18101]|0;
+ $29 = (($28) + ($$cast))|0;
+ $$0$i$i$i = $8;
+ while(1) {
+ $30 = ((($$0$i$i$i)) + 8|0);
+ $31 = HEAP32[$$0$i$i$i>>2]|0;
+ $32 = (($30) + ($31)|0);
+ $33 = ($8>>>0)<=($32>>>0);
+ $34 = $32;
+ $35 = ($29>>>0)>($34>>>0);
+ $or$cond$i$i = $33 & $35;
+ $36 = $or$cond$i$i ? $32 : 0;
+ $37 = ($36|0)==($24|0);
+ if ($37) {
+ $$1$i$i$i = $$0$i$i$i;
+ break;
+ } else {
+ $$0$i$i$i = $36;
+ }
+ }
+ }
+ $38 = ((($24)) + 8|0);
+ $39 = HEAP32[$24>>2]|0;
+ $40 = (($38) + ($39)|0);
+ $41 = ($8>>>0)<=($40>>>0);
+ $42 = $40;
+ $43 = ($10>>>0)>($42>>>0);
+ $or$cond = $41 & $43;
+ $44 = $or$cond ? $40 : 0;
+ $45 = ($$1$i$i$i|0)==(0|0);
+ if ($45) {
+ $$0$i$i = $24;$59 = $39;
+ } else {
+ $46 = ((($$1$i$i$i)) + 4|0);
+ $47 = HEAP32[$46>>2]|0;
+ $48 = $47 & 1;
+ $49 = ($48|0)==(0);
+ if ($49) {
+ $50 = (($39) + 8)|0;
+ $51 = HEAP32[$$1$i$i$i>>2]|0;
+ $52 = (($50) + ($51))|0;
+ HEAP32[$$1$i$i$i>>2] = $52;
+ $$0$i$i = $$1$i$i$i;$59 = $52;
+ } else {
+ $$0$i$i = $24;$59 = $39;
+ }
+ }
+ $53 = ($44|0)==(0|0);
+ if (!($53)) {
+ $54 = ((($44)) + 4|0);
+ $55 = HEAP32[$54>>2]|0;
+ $56 = $55 & 1;
+ $57 = ($56|0)==(0);
+ if ($57) {
+ $58 = (($59) + 8)|0;
+ $60 = HEAP32[$44>>2]|0;
+ $61 = (($58) + ($60))|0;
+ HEAP32[$$0$i$i>>2] = $61;
+ }
+ }
+ }
+ $69 = ($7|0)==(0);
+ if ($69) {
+ $75 = ((($$in)) + 8|0);
+ $76 = $75;
+ break;
+ } else {
+ $70 = HEAP32[18104]|0;
+ $71 = (($70) + ($7))|0;
+ HEAP32[18104] = $71;
+ $72 = HEAP32[18105]|0;
+ $73 = (($72) + 1)|0;
+ HEAP32[18105] = $73;
+ $74 = ((($$in)) + 8|0);
+ $76 = $74;
+ break;
+ }
+ }
+ else if ((label|0) == 18) {
+ _gpg_err_set_errno(12);
+ $76 = 0;
+ }
+ } while(0);
+ $$0 = $76;
+ STACKTOP = sp;return ($$0|0);
+}
+function __gcry_secmem_free($0) {
+ $0 = $0|0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ (_gpgrt_lock_lock(37900)|0);
+ __gcry_secmem_free_internal($0);
+ (_gpgrt_lock_unlock(37900)|0);
+ return;
+}
+function __gcry_secmem_free_internal($0) {
+ $0 = $0|0;
+ var $$0$i = 0, $$0$i$i = 0, $$0135$lcssa = 0, $$0135215 = 0, $$0139$lcssa = 0, $$0139180 = 0, $$0143$lcssa = 0, $$0143179 = 0, $$0147$lcssa = 0, $$0147214 = 0, $$0151$lcssa = 0, $$0151191 = 0, $$0155$lcssa = 0, $$0155190 = 0, $$0159$lcssa = 0, $$0159203 = 0, $$0163$lcssa = 0, $$0163202 = 0, $$1$i$i = 0, $$1136 = 0;
+ var $$1140 = 0, $$1144 = 0, $$1148 = 0, $$1152 = 0, $$1156 = 0, $$1160 = 0, $$1164 = 0, $$2137 = 0, $$2141 = 0, $$2145 = 0, $$2149 = 0, $$2153 = 0, $$2157 = 0, $$2161 = 0, $$2165 = 0, $$3138210 = 0, $$3142178 = 0, $$3146177 = 0, $$3150209 = 0, $$3154186 = 0;
+ var $$3158185 = 0, $$3162198 = 0, $$3166197 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0;
+ var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0;
+ var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0;
+ var $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0;
+ var $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0;
+ var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0;
+ var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0;
+ var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond$i = 0, $scevgep = 0, $scevgep236 = 0, $scevgep237 = 0, $scevgep238 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = ($0|0)==(0|0);
+ if ($1) {
+ return;
+ }
+ $2 = ((($0)) + -8|0);
+ $3 = HEAP32[$2>>2]|0;
+ $4 = $0;
+ $5 = $4 & 7;
+ $6 = ($5|0)!=(0);
+ $7 = ($3|0)!=(0);
+ $8 = $7 & $6;
+ if ($8) {
+ $$0135215 = $0;$$0147214 = $3;
+ while(1) {
+ HEAP8[$$0135215>>0] = -1;
+ $9 = ((($$0135215)) + 1|0);
+ $10 = (($$0147214) + -1)|0;
+ $11 = $9;
+ $12 = $11 & 7;
+ $13 = ($12|0)!=(0);
+ $14 = ($10|0)!=(0);
+ $15 = $14 & $13;
+ if ($15) {
+ $$0135215 = $9;$$0147214 = $10;
+ } else {
+ $$0135$lcssa = $9;$$0147$lcssa = $10;
+ break;
+ }
+ }
+ } else {
+ $$0135$lcssa = $0;$$0147$lcssa = $3;
+ }
+ $16 = ($$0147$lcssa>>>0)<(8);
+ if ($16) {
+ $$2137 = $$0135$lcssa;$$2149 = $$0147$lcssa;
+ } else {
+ $17 = (($$0147$lcssa) + -8)|0;
+ $18 = $17 & -8;
+ $19 = (($18) + 8)|0;
+ $$1136 = $$0135$lcssa;$$1148 = $$0147$lcssa;
+ while(1) {
+ $20 = $$1136;
+ $21 = $20;
+ HEAP32[$21>>2] = -1;
+ $22 = (($20) + 4)|0;
+ $23 = $22;
+ HEAP32[$23>>2] = -1;
+ $24 = (($$1148) + -8)|0;
+ $25 = ((($$1136)) + 8|0);
+ $26 = ($24>>>0)>(7);
+ if ($26) {
+ $$1136 = $25;$$1148 = $24;
+ } else {
+ break;
+ }
+ }
+ $27 = (($17) - ($18))|0;
+ $scevgep238 = (($$0135$lcssa) + ($19)|0);
+ $$2137 = $scevgep238;$$2149 = $27;
+ }
+ $28 = ($$2149|0)==(0);
+ if (!($28)) {
+ $$3138210 = $$2137;$$3150209 = $$2149;
+ while(1) {
+ HEAP8[$$3138210>>0] = -1;
+ $29 = ((($$3138210)) + 1|0);
+ $30 = (($$3150209) + -1)|0;
+ $31 = ($30|0)==(0);
+ if ($31) {
+ break;
+ } else {
+ $$3138210 = $29;$$3150209 = $30;
+ }
+ }
+ }
+ if ($8) {
+ $$0159203 = $0;$$0163202 = $3;
+ while(1) {
+ HEAP8[$$0159203>>0] = -86;
+ $32 = ((($$0159203)) + 1|0);
+ $33 = (($$0163202) + -1)|0;
+ $34 = $32;
+ $35 = $34 & 7;
+ $36 = ($35|0)!=(0);
+ $37 = ($33|0)!=(0);
+ $38 = $37 & $36;
+ if ($38) {
+ $$0159203 = $32;$$0163202 = $33;
+ } else {
+ $$0159$lcssa = $32;$$0163$lcssa = $33;
+ break;
+ }
+ }
+ } else {
+ $$0159$lcssa = $0;$$0163$lcssa = $3;
+ }
+ $39 = ($$0163$lcssa>>>0)<(8);
+ if ($39) {
+ $$2161 = $$0159$lcssa;$$2165 = $$0163$lcssa;
+ } else {
+ $40 = (($$0163$lcssa) + -8)|0;
+ $41 = $40 & -8;
+ $42 = (($41) + 8)|0;
+ $$1160 = $$0159$lcssa;$$1164 = $$0163$lcssa;
+ while(1) {
+ $43 = $$1160;
+ $44 = $43;
+ HEAP32[$44>>2] = -1431655766;
+ $45 = (($43) + 4)|0;
+ $46 = $45;
+ HEAP32[$46>>2] = -1431655766;
+ $47 = (($$1164) + -8)|0;
+ $48 = ((($$1160)) + 8|0);
+ $49 = ($47>>>0)>(7);
+ if ($49) {
+ $$1160 = $48;$$1164 = $47;
+ } else {
+ break;
+ }
+ }
+ $50 = (($40) - ($41))|0;
+ $scevgep237 = (($$0159$lcssa) + ($42)|0);
+ $$2161 = $scevgep237;$$2165 = $50;
+ }
+ $51 = ($$2165|0)==(0);
+ if (!($51)) {
+ $$3162198 = $$2161;$$3166197 = $$2165;
+ while(1) {
+ HEAP8[$$3162198>>0] = -86;
+ $52 = ((($$3162198)) + 1|0);
+ $53 = (($$3166197) + -1)|0;
+ $54 = ($53|0)==(0);
+ if ($54) {
+ break;
+ } else {
+ $$3162198 = $52;$$3166197 = $53;
+ }
+ }
+ }
+ if ($8) {
+ $$0151191 = $3;$$0155190 = $0;
+ while(1) {
+ HEAP8[$$0155190>>0] = 85;
+ $55 = ((($$0155190)) + 1|0);
+ $56 = (($$0151191) + -1)|0;
+ $57 = $55;
+ $58 = $57 & 7;
+ $59 = ($58|0)!=(0);
+ $60 = ($56|0)!=(0);
+ $61 = $60 & $59;
+ if ($61) {
+ $$0151191 = $56;$$0155190 = $55;
+ } else {
+ $$0151$lcssa = $56;$$0155$lcssa = $55;
+ break;
+ }
+ }
+ } else {
+ $$0151$lcssa = $3;$$0155$lcssa = $0;
+ }
+ $62 = ($$0151$lcssa>>>0)<(8);
+ if ($62) {
+ $$2153 = $$0151$lcssa;$$2157 = $$0155$lcssa;
+ } else {
+ $63 = (($$0151$lcssa) + -8)|0;
+ $64 = $63 & -8;
+ $65 = (($64) + 8)|0;
+ $$1152 = $$0151$lcssa;$$1156 = $$0155$lcssa;
+ while(1) {
+ $66 = $$1156;
+ $67 = $66;
+ HEAP32[$67>>2] = 1431655765;
+ $68 = (($66) + 4)|0;
+ $69 = $68;
+ HEAP32[$69>>2] = 1431655765;
+ $70 = (($$1152) + -8)|0;
+ $71 = ((($$1156)) + 8|0);
+ $72 = ($70>>>0)>(7);
+ if ($72) {
+ $$1152 = $70;$$1156 = $71;
+ } else {
+ break;
+ }
+ }
+ $73 = (($63) - ($64))|0;
+ $scevgep236 = (($$0155$lcssa) + ($65)|0);
+ $$2153 = $73;$$2157 = $scevgep236;
+ }
+ $74 = ($$2153|0)==(0);
+ if (!($74)) {
+ $$3154186 = $$2153;$$3158185 = $$2157;
+ while(1) {
+ HEAP8[$$3158185>>0] = 85;
+ $75 = ((($$3158185)) + 1|0);
+ $76 = (($$3154186) + -1)|0;
+ $77 = ($76|0)==(0);
+ if ($77) {
+ break;
+ } else {
+ $$3154186 = $76;$$3158185 = $75;
+ }
+ }
+ }
+ if ($8) {
+ $$0139180 = $3;$$0143179 = $0;
+ while(1) {
+ HEAP8[$$0143179>>0] = 0;
+ $78 = ((($$0143179)) + 1|0);
+ $79 = (($$0139180) + -1)|0;
+ $80 = $78;
+ $81 = $80 & 7;
+ $82 = ($81|0)!=(0);
+ $83 = ($79|0)!=(0);
+ $84 = $83 & $82;
+ if ($84) {
+ $$0139180 = $79;$$0143179 = $78;
+ } else {
+ $$0139$lcssa = $79;$$0143$lcssa = $78;
+ break;
+ }
+ }
+ } else {
+ $$0139$lcssa = $3;$$0143$lcssa = $0;
+ }
+ $85 = ($$0139$lcssa>>>0)<(8);
+ if ($85) {
+ $$2141 = $$0139$lcssa;$$2145 = $$0143$lcssa;
+ } else {
+ $86 = (($$0139$lcssa) + -8)|0;
+ $87 = $86 & -8;
+ $88 = (($87) + 8)|0;
+ $$1140 = $$0139$lcssa;$$1144 = $$0143$lcssa;
+ while(1) {
+ $89 = $$1144;
+ $90 = $89;
+ HEAP32[$90>>2] = 0;
+ $91 = (($89) + 4)|0;
+ $92 = $91;
+ HEAP32[$92>>2] = 0;
+ $93 = (($$1140) + -8)|0;
+ $94 = ((($$1144)) + 8|0);
+ $95 = ($93>>>0)>(7);
+ if ($95) {
+ $$1140 = $93;$$1144 = $94;
+ } else {
+ break;
+ }
+ }
+ $96 = (($86) - ($87))|0;
+ $scevgep = (($$0143$lcssa) + ($88)|0);
+ $$2141 = $96;$$2145 = $scevgep;
+ }
+ $97 = ($$2141|0)==(0);
+ if (!($97)) {
+ $$3142178 = $$2141;$$3146177 = $$2145;
+ while(1) {
+ HEAP8[$$3146177>>0] = 0;
+ $98 = ((($$3146177)) + 1|0);
+ $99 = (($$3142178) + -1)|0;
+ $100 = ($99|0)==(0);
+ if ($100) {
+ break;
+ } else {
+ $$3142178 = $99;$$3146177 = $98;
+ }
+ }
+ }
+ $101 = ($3|0)==(0);
+ if (!($101)) {
+ $102 = HEAP32[18104]|0;
+ $103 = (($102) - ($3))|0;
+ HEAP32[18104] = $103;
+ $104 = HEAP32[18105]|0;
+ $105 = (($104) + -1)|0;
+ HEAP32[18105] = $105;
+ }
+ $106 = ((($0)) + -4|0);
+ $107 = HEAP32[$106>>2]|0;
+ $108 = $107 & -2;
+ HEAP32[$106>>2] = $108;
+ $109 = HEAP32[18102]|0;
+ $110 = ($109|0)==($2|0);
+ $111 = $109;
+ if ($110) {
+ $$1$i$i = 0;
+ } else {
+ $112 = HEAP32[18101]|0;
+ $113 = (($112) + ($111))|0;
+ $$0$i$i = $109;
+ while(1) {
+ $114 = ((($$0$i$i)) + 8|0);
+ $115 = HEAP32[$$0$i$i>>2]|0;
+ $116 = (($114) + ($115)|0);
+ $117 = ($109>>>0)<=($116>>>0);
+ $118 = $116;
+ $119 = ($113>>>0)>($118>>>0);
+ $or$cond$i = $117 & $119;
+ $120 = $or$cond$i ? $116 : 0;
+ $121 = ($120|0)==($2|0);
+ if ($121) {
+ $$1$i$i = $$0$i$i;
+ break;
+ } else {
+ $$0$i$i = $120;
+ }
+ }
+ }
+ $122 = HEAP32[$2>>2]|0;
+ $123 = (($0) + ($122)|0);
+ $124 = ($109>>>0)>($123>>>0);
+ if ($124) {
+ label = 49;
+ } else {
+ $125 = $123;
+ $126 = HEAP32[18101]|0;
+ $127 = (($126) + ($111))|0;
+ $128 = ($127>>>0)>($125>>>0);
+ if ($128) {
+ $138 = $123;
+ } else {
+ label = 49;
+ }
+ }
+ if ((label|0) == 49) {
+ $138 = 0;
+ }
+ $129 = ($$1$i$i|0)==(0|0);
+ if ($129) {
+ $$0$i = $2;$145 = $122;
+ } else {
+ $130 = ((($$1$i$i)) + 4|0);
+ $131 = HEAP32[$130>>2]|0;
+ $132 = $131 & 1;
+ $133 = ($132|0)==(0);
+ if ($133) {
+ $134 = (($122) + 8)|0;
+ $135 = HEAP32[$$1$i$i>>2]|0;
+ $136 = (($134) + ($135))|0;
+ HEAP32[$$1$i$i>>2] = $136;
+ $$0$i = $$1$i$i;$145 = $136;
+ } else {
+ $$0$i = $2;$145 = $122;
+ }
+ }
+ $137 = ($138|0)==(0|0);
+ if ($137) {
+ return;
+ }
+ $139 = ((($138)) + 4|0);
+ $140 = HEAP32[$139>>2]|0;
+ $141 = $140 & 1;
+ $142 = ($141|0)==(0);
+ if (!($142)) {
+ return;
+ }
+ $143 = HEAP32[$138>>2]|0;
+ $144 = (($145) + 8)|0;
+ $146 = (($144) + ($143))|0;
+ HEAP32[$$0$i>>2] = $146;
+ return;
+}
+function __gcry_secmem_realloc($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ (_gpgrt_lock_lock(37900)|0);
+ $2 = ((($0)) + -8|0);
+ $3 = HEAP32[$2>>2]|0;
+ $4 = ($3>>>0)>($1>>>0);
+ if ($4) {
+ $$0 = $0;
+ } else {
+ $5 = (__gcry_secmem_malloc_internal($1)|0);
+ $6 = ($5|0)==(0|0);
+ if ($6) {
+ $$0 = 0;
+ } else {
+ $7 = (($1) - ($3))|0;
+ $8 = (($5) + ($3)|0);
+ _memcpy(($5|0),($0|0),($3|0))|0;
+ _memset(($8|0),0,($7|0))|0;
+ __gcry_secmem_free_internal($0);
+ $$0 = $5;
+ }
+ }
+ (_gpgrt_lock_unlock(37900)|0);
+ return ($$0|0);
+}
+function __gcry_private_is_secure($0) {
+ $0 = $0|0;
+ var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = HEAP32[18100]|0;
+ $2 = ($1|0)==(0);
+ if ($2) {
+ $9 = 0;
+ return ($9|0);
+ }
+ $3 = $0;
+ $4 = HEAP32[18102]|0;
+ $5 = ($4>>>0)>($3>>>0);
+ if ($5) {
+ $9 = 0;
+ return ($9|0);
+ }
+ $6 = HEAP32[18101]|0;
+ $7 = (($6) + ($4))|0;
+ $8 = ($7>>>0)>($3>>>0);
+ $phitmp2 = $8&1;
+ $9 = $phitmp2;
+ return ($9|0);
+}
+function __gcry_secmem_term() {
+ var $$0$lcssa = 0, $$0117$lcssa = 0, $$0117196 = 0, $$0121$lcssa = 0, $$0121162 = 0, $$0125$lcssa = 0, $$0125161 = 0, $$0133$lcssa = 0, $$0133173 = 0, $$0137$lcssa = 0, $$0137172 = 0, $$0141$lcssa = 0, $$0141185 = 0, $$0145$lcssa = 0, $$0145184 = 0, $$0197 = 0, $$1 = 0, $$1118 = 0, $$1122 = 0, $$1126 = 0;
+ var $$1134 = 0, $$1138 = 0, $$1142 = 0, $$1146 = 0, $$2 = 0, $$2119 = 0, $$2123 = 0, $$2127 = 0, $$2135 = 0, $$2139 = 0, $$2143 = 0, $$2147 = 0, $$3120191 = 0, $$3124160 = 0, $$3128159 = 0, $$3136168 = 0, $$3140167 = 0, $$3144180 = 0, $$3148179 = 0, $$3192 = 0;
+ var $$pre = 0, $$pre$phi226Z2D = 0, $$pre$phi230Z2D = 0, $$pre221 = 0, $$pre222 = 0, $$pre223 = 0, $$pre224 = 0, $$pre225 = 0, $$pre227 = 0, $$pre229 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0;
+ var $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $13 = 0, $14 = 0, $15 = 0;
+ var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0;
+ var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0;
+ var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0;
+ var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0;
+ var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $scevgep = 0, $scevgep218 = 0, $scevgep219 = 0, $scevgep220 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = HEAP32[18100]|0;
+ $1 = ($0|0)==(0);
+ if ($1) {
+ return;
+ }
+ $2 = HEAP32[18102]|0;
+ $3 = HEAP32[18101]|0;
+ $4 = $2;
+ $5 = $4 & 7;
+ $6 = ($5|0)!=(0);
+ $7 = ($3|0)!=(0);
+ $8 = $7 & $6;
+ if ($8) {
+ $$0117196 = $3;$$0197 = $2;
+ while(1) {
+ HEAP8[$$0197>>0] = -1;
+ $9 = ((($$0197)) + 1|0);
+ $10 = (($$0117196) + -1)|0;
+ $11 = $9;
+ $12 = $11 & 7;
+ $13 = ($12|0)!=(0);
+ $14 = ($10|0)!=(0);
+ $15 = $14 & $13;
+ if ($15) {
+ $$0117196 = $10;$$0197 = $9;
+ } else {
+ $$0$lcssa = $9;$$0117$lcssa = $10;
+ break;
+ }
+ }
+ } else {
+ $$0$lcssa = $2;$$0117$lcssa = $3;
+ }
+ $16 = ($$0117$lcssa>>>0)<(8);
+ if ($16) {
+ $$2 = $$0$lcssa;$$2119 = $$0117$lcssa;
+ } else {
+ $17 = (($$0117$lcssa) + -8)|0;
+ $18 = $17 & -8;
+ $19 = (($18) + 8)|0;
+ $$1 = $$0$lcssa;$$1118 = $$0117$lcssa;
+ while(1) {
+ $20 = $$1;
+ $21 = $20;
+ HEAP32[$21>>2] = -1;
+ $22 = (($20) + 4)|0;
+ $23 = $22;
+ HEAP32[$23>>2] = -1;
+ $24 = (($$1118) + -8)|0;
+ $25 = ((($$1)) + 8|0);
+ $26 = ($24>>>0)>(7);
+ if ($26) {
+ $$1 = $25;$$1118 = $24;
+ } else {
+ break;
+ }
+ }
+ $27 = (($17) - ($18))|0;
+ $scevgep220 = (($$0$lcssa) + ($19)|0);
+ $$2 = $scevgep220;$$2119 = $27;
+ }
+ $28 = ($$2119|0)==(0);
+ if ($28) {
+ $$pre$phi226Z2D = $5;$120 = $2;$34 = $3;
+ } else {
+ $$3120191 = $$2119;$$3192 = $$2;
+ while(1) {
+ HEAP8[$$3192>>0] = -1;
+ $29 = ((($$3192)) + 1|0);
+ $30 = (($$3120191) + -1)|0;
+ $31 = ($30|0)==(0);
+ if ($31) {
+ break;
+ } else {
+ $$3120191 = $30;$$3192 = $29;
+ }
+ }
+ $$pre = HEAP32[18102]|0;
+ $$pre221 = HEAP32[18101]|0;
+ $$pre224 = $$pre;
+ $$pre225 = $$pre224 & 7;
+ $$pre$phi226Z2D = $$pre225;$120 = $$pre;$34 = $$pre221;
+ }
+ $32 = ($$pre$phi226Z2D|0)!=(0);
+ $33 = ($34|0)!=(0);
+ $35 = $33 & $32;
+ if ($35) {
+ $$0141185 = $120;$$0145184 = $34;
+ while(1) {
+ HEAP8[$$0141185>>0] = -86;
+ $36 = ((($$0141185)) + 1|0);
+ $37 = (($$0145184) + -1)|0;
+ $38 = $36;
+ $39 = $38 & 7;
+ $40 = ($39|0)!=(0);
+ $41 = ($37|0)!=(0);
+ $42 = $41 & $40;
+ if ($42) {
+ $$0141185 = $36;$$0145184 = $37;
+ } else {
+ $$0141$lcssa = $36;$$0145$lcssa = $37;
+ break;
+ }
+ }
+ } else {
+ $$0141$lcssa = $120;$$0145$lcssa = $34;
+ }
+ $43 = ($$0145$lcssa>>>0)<(8);
+ if ($43) {
+ $$2143 = $$0141$lcssa;$$2147 = $$0145$lcssa;
+ } else {
+ $44 = (($$0145$lcssa) + -8)|0;
+ $45 = $44 & -8;
+ $46 = (($45) + 8)|0;
+ $$1142 = $$0141$lcssa;$$1146 = $$0145$lcssa;
+ while(1) {
+ $47 = $$1142;
+ $48 = $47;
+ HEAP32[$48>>2] = -1431655766;
+ $49 = (($47) + 4)|0;
+ $50 = $49;
+ HEAP32[$50>>2] = -1431655766;
+ $51 = (($$1146) + -8)|0;
+ $52 = ((($$1142)) + 8|0);
+ $53 = ($51>>>0)>(7);
+ if ($53) {
+ $$1142 = $52;$$1146 = $51;
+ } else {
+ break;
+ }
+ }
+ $54 = (($44) - ($45))|0;
+ $scevgep219 = (($$0141$lcssa) + ($46)|0);
+ $$2143 = $scevgep219;$$2147 = $54;
+ }
+ $55 = ($$2147|0)==(0);
+ if ($55) {
+ $$pre$phi230Z2D = $$pre$phi226Z2D;$121 = $120;$61 = $34;
+ } else {
+ $$3144180 = $$2143;$$3148179 = $$2147;
+ while(1) {
+ HEAP8[$$3144180>>0] = -86;
+ $56 = ((($$3144180)) + 1|0);
+ $57 = (($$3148179) + -1)|0;
+ $58 = ($57|0)==(0);
+ if ($58) {
+ break;
+ } else {
+ $$3144180 = $56;$$3148179 = $57;
+ }
+ }
+ $$pre222 = HEAP32[18102]|0;
+ $$pre223 = HEAP32[18101]|0;
+ $$pre227 = $$pre222;
+ $$pre229 = $$pre227 & 7;
+ $$pre$phi230Z2D = $$pre229;$121 = $$pre222;$61 = $$pre223;
+ }
+ $59 = ($$pre$phi230Z2D|0)!=(0);
+ $60 = ($61|0)!=(0);
+ $62 = $60 & $59;
+ if ($62) {
+ $$0133173 = $61;$$0137172 = $121;
+ while(1) {
+ HEAP8[$$0137172>>0] = 85;
+ $63 = ((($$0137172)) + 1|0);
+ $64 = (($$0133173) + -1)|0;
+ $65 = $63;
+ $66 = $65 & 7;
+ $67 = ($66|0)!=(0);
+ $68 = ($64|0)!=(0);
+ $69 = $68 & $67;
+ if ($69) {
+ $$0133173 = $64;$$0137172 = $63;
+ } else {
+ $$0133$lcssa = $64;$$0137$lcssa = $63;
+ break;
+ }
+ }
+ } else {
+ $$0133$lcssa = $61;$$0137$lcssa = $121;
+ }
+ $70 = ($$0133$lcssa>>>0)<(8);
+ if ($70) {
+ $$2135 = $$0133$lcssa;$$2139 = $$0137$lcssa;
+ } else {
+ $71 = (($$0133$lcssa) + -8)|0;
+ $72 = $71 & -8;
+ $73 = (($72) + 8)|0;
+ $$1134 = $$0133$lcssa;$$1138 = $$0137$lcssa;
+ while(1) {
+ $74 = $$1138;
+ $75 = $74;
+ HEAP32[$75>>2] = 1431655765;
+ $76 = (($74) + 4)|0;
+ $77 = $76;
+ HEAP32[$77>>2] = 1431655765;
+ $78 = (($$1134) + -8)|0;
+ $79 = ((($$1138)) + 8|0);
+ $80 = ($78>>>0)>(7);
+ if ($80) {
+ $$1134 = $78;$$1138 = $79;
+ } else {
+ break;
+ }
+ }
+ $81 = (($71) - ($72))|0;
+ $scevgep218 = (($$0137$lcssa) + ($73)|0);
+ $$2135 = $81;$$2139 = $scevgep218;
+ }
+ $82 = ($$2135|0)==(0);
+ if (!($82)) {
+ $$3136168 = $$2135;$$3140167 = $$2139;
+ while(1) {
+ HEAP8[$$3140167>>0] = 85;
+ $83 = ((($$3140167)) + 1|0);
+ $84 = (($$3136168) + -1)|0;
+ $85 = ($84|0)==(0);
+ if ($85) {
+ break;
+ } else {
+ $$3136168 = $84;$$3140167 = $83;
+ }
+ }
+ }
+ $86 = HEAP32[18102]|0;
+ $87 = HEAP32[18101]|0;
+ $88 = $86;
+ $89 = $88 & 7;
+ $90 = ($89|0)!=(0);
+ $91 = ($87|0)!=(0);
+ $92 = $91 & $90;
+ if ($92) {
+ $$0121162 = $87;$$0125161 = $86;
+ while(1) {
+ HEAP8[$$0125161>>0] = 0;
+ $93 = ((($$0125161)) + 1|0);
+ $94 = (($$0121162) + -1)|0;
+ $95 = $93;
+ $96 = $95 & 7;
+ $97 = ($96|0)!=(0);
+ $98 = ($94|0)!=(0);
+ $99 = $98 & $97;
+ if ($99) {
+ $$0121162 = $94;$$0125161 = $93;
+ } else {
+ $$0121$lcssa = $94;$$0125$lcssa = $93;
+ break;
+ }
+ }
+ } else {
+ $$0121$lcssa = $87;$$0125$lcssa = $86;
+ }
+ $100 = ($$0121$lcssa>>>0)<(8);
+ if ($100) {
+ $$2123 = $$0121$lcssa;$$2127 = $$0125$lcssa;
+ } else {
+ $101 = (($$0121$lcssa) + -8)|0;
+ $102 = $101 & -8;
+ $103 = (($102) + 8)|0;
+ $$1122 = $$0121$lcssa;$$1126 = $$0125$lcssa;
+ while(1) {
+ $104 = $$1126;
+ $105 = $104;
+ HEAP32[$105>>2] = 0;
+ $106 = (($104) + 4)|0;
+ $107 = $106;
+ HEAP32[$107>>2] = 0;
+ $108 = (($$1122) + -8)|0;
+ $109 = ((($$1126)) + 8|0);
+ $110 = ($108>>>0)>(7);
+ if ($110) {
+ $$1122 = $108;$$1126 = $109;
+ } else {
+ break;
+ }
+ }
+ $111 = (($101) - ($102))|0;
+ $scevgep = (($$0125$lcssa) + ($103)|0);
+ $$2123 = $111;$$2127 = $scevgep;
+ }
+ $112 = ($$2123|0)==(0);
+ if (!($112)) {
+ $$3124160 = $$2123;$$3128159 = $$2127;
+ while(1) {
+ HEAP8[$$3128159>>0] = 0;
+ $113 = ((($$3128159)) + 1|0);
+ $114 = (($$3124160) + -1)|0;
+ $115 = ($114|0)==(0);
+ if ($115) {
+ break;
+ } else {
+ $$3124160 = $114;$$3128159 = $113;
+ }
+ }
+ }
+ $116 = HEAP32[18103]|0;
+ $117 = ($116|0)==(0);
+ if (!($117)) {
+ $118 = HEAP32[18102]|0;
+ $119 = HEAP32[18101]|0;
+ (___munmap($118,$119)|0);
+ }
+ HEAP32[18102] = 0;
+ HEAP32[18100] = 0;
+ HEAP32[18101] = 0;
+ return;
+}
+function __gcry_secmem_dump_stats() {
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $vararg_buffer = sp;
+ (_gpgrt_lock_lock(37900)|0);
+ $0 = HEAP32[18100]|0;
+ $1 = ($0|0)==(0);
+ if ($1) {
+ (_gpgrt_lock_unlock(37900)|0);
+ STACKTOP = sp;return;
+ }
+ $2 = HEAP32[18104]|0;
+ $3 = HEAP32[18101]|0;
+ $4 = HEAP32[18105]|0;
+ HEAP32[$vararg_buffer>>2] = $2;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = $3;
+ $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
+ HEAP32[$vararg_ptr2>>2] = $4;
+ __gcry_log_info(45337,$vararg_buffer);
+ (_gpgrt_lock_unlock(37900)|0);
+ STACKTOP = sp;return;
+}
+function __gcry_initialize_fips_mode($0) {
+ $0 = $0|0;
+ var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
+ var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 528|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(528|0);
+ $vararg_buffer2 = sp + 520|0;
+ $vararg_buffer = sp + 512|0;
+ $1 = sp + 256|0;
+ $2 = sp;
+ $3 = HEAP32[18106]|0;
+ $4 = ($3|0)==(0);
+ if (!($4)) {
+ $5 = HEAP32[18107]|0;
+ $6 = ($5|0)==(1);
+ if ($6) {
+ __gcry_assert_failed(45378,45384,114,45391);
+ // unreachable;
+ } else {
+ _fips_new_state(5);
+ __gcry_fips_noreturn();
+ // unreachable;
+ }
+ }
+ HEAP32[18106] = 1;
+ $7 = ($0|0)==(0);
+ L7: do {
+ if ($7) {
+ $10 = (_access(45441,0)|0);
+ $11 = ($10|0)==(0);
+ if ($11) {
+ $12 = HEAP32[18107]|0;
+ $13 = ($12|0)==(0);
+ if ($13) {
+ break;
+ }
+ __gcry_assert_failed(45418,45384,132,45391);
+ // unreachable;
+ }
+ $14 = (_fopen(208,45466)|0);
+ $15 = ($14|0)==(0|0);
+ L13: do {
+ if ($15) {
+ $22 = (___errno_location()|0);
+ $23 = HEAP32[$22>>2]|0;
+ switch ($23|0) {
+ case 2: case 13: {
+ break L13;
+ break;
+ }
+ default: {
+ }
+ }
+ $24 = (_access(45468,0)|0);
+ $25 = ($24|0)==(0);
+ if ($25) {
+ $26 = (_strerror($23)|0);
+ HEAP32[$vararg_buffer>>2] = 208;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = $26;
+ __gcry_log_info(45482,$vararg_buffer);
+ _abort();
+ // unreachable;
+ }
+ } else {
+ $16 = (_fgets($1,256,$14)|0);
+ $17 = ($16|0)==(0|0);
+ if (!($17)) {
+ $18 = (_atoi($1)|0);
+ $19 = ($18|0)==(0);
+ if (!($19)) {
+ (_fclose($14)|0);
+ $20 = HEAP32[18107]|0;
+ $21 = ($20|0)==(0);
+ if ($21) {
+ break L7;
+ } else {
+ __gcry_assert_failed(45418,45384,151,45391);
+ // unreachable;
+ }
+ }
+ }
+ (_fclose($14)|0);
+ }
+ } while(0);
+ HEAP32[18107] = 1;
+ STACKTOP = sp;return;
+ } else {
+ $8 = HEAP32[18107]|0;
+ $9 = ($8|0)==(0);
+ if (!($9)) {
+ __gcry_assert_failed(45418,45384,121,45391);
+ // unreachable;
+ }
+ }
+ } while(0);
+ $27 = (_gpgrt_lock_init(37944)|0);
+ $28 = ($27|0)==(0);
+ if (!($28)) {
+ $29 = (_gpg_strerror($27)|0);
+ HEAP32[$vararg_buffer2>>2] = $29;
+ __gcry_log_info(45526,$vararg_buffer2);
+ _abort();
+ // unreachable;
+ }
+ $30 = (_fopen(45441,45466)|0);
+ $31 = ($30|0)==(0|0);
+ if (!($31)) {
+ $32 = (_fgets($2,256,$30)|0);
+ $33 = ($32|0)==(0|0);
+ if (!($33)) {
+ $34 = (_atoi($2)|0);
+ $35 = ($34|0)==(0);
+ if (!($35)) {
+ HEAP32[18108] = 1;
+ }
+ }
+ (_fclose($30)|0);
+ }
+ _fips_new_state(1);
+ STACKTOP = sp;return;
+}
+function _fips_new_state($0) {
+ $0 = $0|0;
+ var $$0$i = 0, $$0$i57 = 0, $$060 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0;
+ var $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, $vararg_ptr10 = 0, $vararg_ptr11 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
+ $vararg_buffer7 = sp + 24|0;
+ $vararg_buffer4 = sp + 16|0;
+ $vararg_buffer1 = sp + 8|0;
+ $vararg_buffer = sp;
+ $1 = (_gpgrt_lock_lock(37944)|0);
+ $2 = ($1|0)==(0);
+ if (!($2)) {
+ $3 = (_gpg_strerror($1)|0);
+ HEAP32[$vararg_buffer>>2] = $3;
+ __gcry_log_info(45581,$vararg_buffer);
+ _abort();
+ // unreachable;
+ }
+ $4 = HEAP32[18109]|0;
+ switch ($4|0) {
+ case 0: {
+ switch ($0|0) {
+ case 1: case 4: case 5: {
+ label = 10;
+ break;
+ }
+ default: {
+ label = 13;
+ }
+ }
+ break;
+ }
+ case 1: {
+ switch ($0|0) {
+ case 2: case 4: case 5: {
+ label = 10;
+ break;
+ }
+ default: {
+ label = 13;
+ }
+ }
+ break;
+ }
+ case 2: {
+ $5 = (($0) + -3)|0;
+ $6 = ($5>>>0)<(3);
+ if ($6) {
+ label = 10;
+ } else {
+ label = 13;
+ }
+ break;
+ }
+ case 3: {
+ switch ($0|0) {
+ case 2: case 4: case 5: case 6: {
+ label = 10;
+ break;
+ }
+ default: {
+ label = 13;
+ }
+ }
+ break;
+ }
+ case 4: {
+ switch ($0|0) {
+ case 2: case 4: case 5: case 6: {
+ label = 10;
+ break;
+ }
+ default: {
+ label = 13;
+ }
+ }
+ break;
+ }
+ case 5: {
+ $7 = ($0|0)==(6);
+ if ($7) {
+ label = 10;
+ } else {
+ label = 13;
+ }
+ break;
+ }
+ default: {
+ label = 13;
+ }
+ }
+ if ((label|0) == 10) {
+ HEAP32[18109] = $0;
+ $8 = (_gpgrt_lock_unlock(37944)|0);
+ $9 = ($8|0)==(0);
+ if (!($9)) {
+ $10 = (_gpg_strerror($8)|0);
+ HEAP32[$vararg_buffer1>>2] = $10;
+ __gcry_log_info(45636,$vararg_buffer1);
+ _abort();
+ // unreachable;
+ }
+ $11 = (__gcry_log_verbosity(2)|0);
+ $12 = ($11|0)==(0);
+ if ($12) {
+ STACKTOP = sp;return;
+ } else {
+ $$060 = 1;
+ }
+ }
+ else if ((label|0) == 13) {
+ $13 = (_gpgrt_lock_unlock(37944)|0);
+ $14 = ($13|0)==(0);
+ if ($14) {
+ $$060 = 0;
+ } else {
+ $15 = (_gpg_strerror($13)|0);
+ HEAP32[$vararg_buffer4>>2] = $15;
+ __gcry_log_info(45636,$vararg_buffer4);
+ _abort();
+ // unreachable;
+ }
+ }
+ switch ($4|0) {
+ case 0: {
+ $$0$i = 45745;
+ break;
+ }
+ case 1: {
+ $$0$i = 45740;
+ break;
+ }
+ case 2: {
+ $$0$i = 45730;
+ break;
+ }
+ case 3: {
+ $$0$i = 45718;
+ break;
+ }
+ case 4: {
+ $$0$i = 45712;
+ break;
+ }
+ case 5: {
+ $$0$i = 45700;
+ break;
+ }
+ case 6: {
+ $$0$i = 45691;
+ break;
+ }
+ default: {
+ $$0$i = 59741;
+ }
+ }
+ switch ($0|0) {
+ case 0: {
+ $$0$i57 = 45745;
+ break;
+ }
+ case 1: {
+ $$0$i57 = 45740;
+ break;
+ }
+ case 2: {
+ $$0$i57 = 45730;
+ break;
+ }
+ case 3: {
+ $$0$i57 = 45718;
+ break;
+ }
+ case 4: {
+ $$0$i57 = 45712;
+ break;
+ }
+ case 5: {
+ $$0$i57 = 45700;
+ break;
+ }
+ case 6: {
+ $$0$i57 = 45691;
+ break;
+ }
+ default: {
+ $$0$i57 = 59741;
+ }
+ }
+ $16 = $$060 ? 45754 : 45762;
+ HEAP32[$vararg_buffer7>>2] = $$0$i;
+ $vararg_ptr10 = ((($vararg_buffer7)) + 4|0);
+ HEAP32[$vararg_ptr10>>2] = $$0$i57;
+ $vararg_ptr11 = ((($vararg_buffer7)) + 8|0);
+ HEAP32[$vararg_ptr11>>2] = $16;
+ __gcry_log_info(45769,$vararg_buffer7);
+ if ($$060) {
+ STACKTOP = sp;return;
+ } else {
+ __gcry_fips_noreturn();
+ // unreachable;
+ }
+}
+function __gcry_fips_noreturn() {
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ (_fflush(0)|0);
+ _abort();
+ // unreachable;
+}
+function __gcry_fips_mode() {
+ var $0 = 0, $1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = HEAP32[18107]|0;
+ $1 = $0 ^ 1;
+ return ($1|0);
+}
+function __gcry_enforced_fips_mode() {
+ var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = HEAP32[18107]|0;
+ $1 = ($0|0)==(1);
+ $2 = HEAP32[18108]|0;
+ $$0 = $1 ? 0 : $2;
+ return ($$0|0);
+}
+function __gcry_set_enforced_fips_mode() {
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ HEAP32[18108] = 1;
+ return;
+}
+function __gcry_inactivate_fips_mode($0) {
+ $0 = $0|0;
+ var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer12 = 0, $vararg_buffer6 = 0;
+ var $vararg_buffer9 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
+ $vararg_buffer12 = sp + 40|0;
+ $vararg_buffer9 = sp + 32|0;
+ $vararg_buffer6 = sp + 24|0;
+ $vararg_buffer = sp;
+ $1 = HEAP32[18107]|0;
+ $2 = ($1|0)==(1);
+ if ($2) {
+ __gcry_assert_failed(45809,45384,295,45828);
+ // unreachable;
+ }
+ $3 = HEAP32[18108]|0;
+ $4 = ($3|0)==(0);
+ if (!($4)) {
+ $5 = ($0|0)==(0|0);
+ $6 = $5 ? 45855 : $0;
+ _fips_new_state(4);
+ HEAP32[$vararg_buffer>>2] = 73338;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 45384;
+ $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
+ HEAP32[$vararg_ptr2>>2] = 300;
+ $vararg_ptr3 = ((($vararg_buffer)) + 12|0);
+ HEAP32[$vararg_ptr3>>2] = 45928;
+ $vararg_ptr4 = ((($vararg_buffer)) + 16|0);
+ HEAP32[$vararg_ptr4>>2] = 45828;
+ $vararg_ptr5 = ((($vararg_buffer)) + 20|0);
+ HEAP32[$vararg_ptr5>>2] = $6;
+ __gcry_log_info(45880,$vararg_buffer);
+ STACKTOP = sp;return;
+ }
+ $7 = (_gpgrt_lock_lock(37944)|0);
+ $8 = ($7|0)==(0);
+ if (!($8)) {
+ $9 = (_gpg_strerror($7)|0);
+ HEAP32[$vararg_buffer6>>2] = $9;
+ __gcry_log_info(45581,$vararg_buffer6);
+ _abort();
+ // unreachable;
+ }
+ $10 = HEAP32[18110]|0;
+ $11 = ($10|0)==(0);
+ if ($11) {
+ HEAP32[18110] = 1;
+ $12 = (_gpgrt_lock_unlock(37944)|0);
+ $13 = ($12|0)==(0);
+ if ($13) {
+ STACKTOP = sp;return;
+ } else {
+ $14 = (_gpg_strerror($12)|0);
+ HEAP32[$vararg_buffer9>>2] = $14;
+ __gcry_log_info(45636,$vararg_buffer9);
+ _abort();
+ // unreachable;
+ }
+ } else {
+ $15 = (_gpgrt_lock_unlock(37944)|0);
+ $16 = ($15|0)==(0);
+ if ($16) {
+ STACKTOP = sp;return;
+ } else {
+ $17 = (_gpg_strerror($15)|0);
+ HEAP32[$vararg_buffer12>>2] = $17;
+ __gcry_log_info(45636,$vararg_buffer12);
+ _abort();
+ // unreachable;
+ }
+ }
+}
+function __gcry_fips_signal_error($0,$1,$2,$3,$4) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
+ $vararg_buffer = sp;
+ $5 = HEAP32[18107]|0;
+ $6 = ($5|0)==(1);
+ if ($6) {
+ STACKTOP = sp;return;
+ }
+ $7 = ($3|0)!=(0);
+ $8 = $7 ? 5 : 4;
+ _fips_new_state($8);
+ $9 = $7 ? 45940 : 73338;
+ $10 = ($2|0)!=(0|0);
+ $11 = $10 ? 45928 : 73338;
+ $12 = $10 ? $2 : 73338;
+ $13 = ($4|0)==(0|0);
+ $14 = $13 ? 45855 : $4;
+ HEAP32[$vararg_buffer>>2] = $9;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = $0;
+ $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
+ HEAP32[$vararg_ptr2>>2] = $1;
+ $vararg_ptr3 = ((($vararg_buffer)) + 12|0);
+ HEAP32[$vararg_ptr3>>2] = $11;
+ $vararg_ptr4 = ((($vararg_buffer)) + 16|0);
+ HEAP32[$vararg_ptr4>>2] = $12;
+ $vararg_ptr5 = ((($vararg_buffer)) + 20|0);
+ HEAP32[$vararg_ptr5>>2] = $14;
+ __gcry_log_info(45880,$vararg_buffer);
+ STACKTOP = sp;return;
+}
+function __gcry_is_fips_mode_inactive() {
+ var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $vararg_buffer1 = sp + 8|0;
+ $vararg_buffer = sp;
+ $0 = HEAP32[18107]|0;
+ $1 = ($0|0)==(1);
+ if ($1) {
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $2 = (_gpgrt_lock_lock(37944)|0);
+ $3 = ($2|0)==(0);
+ if (!($3)) {
+ $4 = (_gpg_strerror($2)|0);
+ HEAP32[$vararg_buffer>>2] = $4;
+ __gcry_log_info(45581,$vararg_buffer);
+ _abort();
+ // unreachable;
+ }
+ $5 = HEAP32[18110]|0;
+ $6 = (_gpgrt_lock_unlock(37944)|0);
+ $7 = ($6|0)==(0);
+ if ($7) {
+ $$0 = $5;
+ STACKTOP = sp;return ($$0|0);
+ } else {
+ $8 = (_gpg_strerror($6)|0);
+ HEAP32[$vararg_buffer1>>2] = $8;
+ __gcry_log_info(45636,$vararg_buffer1);
+ _abort();
+ // unreachable;
+ }
+ return (0)|0;
+}
+function __gcry_fips_is_operational() {
+ var $$0 = 0, $$pre = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
+ var $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
+ $vararg_buffer7 = sp + 24|0;
+ $vararg_buffer4 = sp + 16|0;
+ $vararg_buffer1 = sp + 8|0;
+ $vararg_buffer = sp;
+ $0 = HEAP32[18107]|0;
+ $1 = ($0|0)==(1);
+ if ($1) {
+ $$0 = 1;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $2 = (_gpgrt_lock_lock(37944)|0);
+ $3 = ($2|0)==(0);
+ if (!($3)) {
+ $4 = (_gpg_strerror($2)|0);
+ HEAP32[$vararg_buffer>>2] = $4;
+ __gcry_log_info(45581,$vararg_buffer);
+ _abort();
+ // unreachable;
+ }
+ $5 = HEAP32[18109]|0;
+ $6 = ($5|0)==(1);
+ do {
+ if ($6) {
+ $7 = (_gpgrt_lock_unlock(37944)|0);
+ $8 = ($7|0)==(0);
+ if (!($8)) {
+ $9 = (_gpg_strerror($7)|0);
+ HEAP32[$vararg_buffer1>>2] = $9;
+ __gcry_log_info(45636,$vararg_buffer1);
+ _abort();
+ // unreachable;
+ }
+ (__gcry_fips_run_selftests(0)|0);
+ $10 = (_gpgrt_lock_lock(37944)|0);
+ $11 = ($10|0)==(0);
+ if ($11) {
+ $$pre = HEAP32[18109]|0;
+ $14 = $$pre;
+ break;
+ } else {
+ $12 = (_gpg_strerror($10)|0);
+ HEAP32[$vararg_buffer4>>2] = $12;
+ __gcry_log_info(45581,$vararg_buffer4);
+ _abort();
+ // unreachable;
+ }
+ } else {
+ $14 = $5;
+ }
+ } while(0);
+ $13 = ($14|0)==(3);
+ $15 = $13&1;
+ $16 = (_gpgrt_lock_unlock(37944)|0);
+ $17 = ($16|0)==(0);
+ if ($17) {
+ $$0 = $15;
+ STACKTOP = sp;return ($$0|0);
+ } else {
+ $18 = (_gpg_strerror($16)|0);
+ HEAP32[$vararg_buffer7>>2] = $18;
+ __gcry_log_info(45636,$vararg_buffer7);
+ _abort();
+ // unreachable;
+ }
+ return (0)|0;
+}
+function __gcry_fips_run_selftests($0) {
+ $0 = $0|0;
+ var $$0 = 0, $$09 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
+ var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0;
+ var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0;
+ var $62 = 0, $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;
+ var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $9 = 0, $spec$select = 0, $spec$select11 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = HEAP32[18107]|0;
+ $2 = ($1|0)==(1);
+ if (!($2)) {
+ _fips_new_state(2);
+ }
+ $3 = (__gcry_cipher_selftest(2,$0,60)|0);
+ $4 = ($3|0)==(0);
+ if ($4) {
+ $6 = 0;
+ } else {
+ $5 = (_gpg_strerror($3)|0);
+ $6 = $5;
+ }
+ _reporter(59927,2,0,$6);
+ $7 = (__gcry_cipher_selftest(7,$0,60)|0);
+ $8 = ($7|0)==(0);
+ if ($8) {
+ $10 = 0;
+ } else {
+ $9 = (_gpg_strerror($7)|0);
+ $10 = $9;
+ }
+ _reporter(59927,7,0,$10);
+ $11 = $7 | $3;
+ $12 = (__gcry_cipher_selftest(8,$0,60)|0);
+ $13 = ($12|0)==(0);
+ if ($13) {
+ $15 = 0;
+ } else {
+ $14 = (_gpg_strerror($12)|0);
+ $15 = $14;
+ }
+ _reporter(59927,8,0,$15);
+ $16 = $11 | $12;
+ $17 = (__gcry_cipher_selftest(9,$0,60)|0);
+ $18 = ($17|0)==(0);
+ if ($18) {
+ $20 = 0;
+ } else {
+ $19 = (_gpg_strerror($17)|0);
+ $20 = $19;
+ }
+ _reporter(59927,9,0,$20);
+ $21 = $16 | $17;
+ $22 = ($21|0)==(0);
+ do {
+ if ($22) {
+ $23 = (__gcry_md_selftest(2,$0,60)|0);
+ $24 = ($23|0)==(0);
+ if ($24) {
+ $26 = 0;
+ } else {
+ $25 = (_gpg_strerror($23)|0);
+ $26 = $25;
+ }
+ _reporter(63225,2,0,$26);
+ $27 = (__gcry_md_selftest(11,$0,60)|0);
+ $28 = ($27|0)==(0);
+ if ($28) {
+ $30 = 0;
+ } else {
+ $29 = (_gpg_strerror($27)|0);
+ $30 = $29;
+ }
+ _reporter(63225,11,0,$30);
+ $31 = $27 | $23;
+ $32 = (__gcry_md_selftest(8,$0,60)|0);
+ $33 = ($32|0)==(0);
+ if ($33) {
+ $35 = 0;
+ } else {
+ $34 = (_gpg_strerror($32)|0);
+ $35 = $34;
+ }
+ _reporter(63225,8,0,$35);
+ $36 = $31 | $32;
+ $37 = (__gcry_md_selftest(9,$0,60)|0);
+ $38 = ($37|0)==(0);
+ if ($38) {
+ $40 = 0;
+ } else {
+ $39 = (_gpg_strerror($37)|0);
+ $40 = $39;
+ }
+ _reporter(63225,9,0,$40);
+ $41 = $36 | $37;
+ $42 = (__gcry_md_selftest(10,$0,60)|0);
+ $43 = ($42|0)==(0);
+ if ($43) {
+ $45 = 0;
+ } else {
+ $44 = (_gpg_strerror($42)|0);
+ $45 = $44;
+ }
+ _reporter(63225,10,0,$45);
+ $46 = $41 | $42;
+ $47 = ($46|0)==(0);
+ if ($47) {
+ $48 = (__gcry_hmac_selftest(2,$0,60)|0);
+ $49 = ($48|0)==(0);
+ if ($49) {
+ $51 = 0;
+ } else {
+ $50 = (_gpg_strerror($48)|0);
+ $51 = $50;
+ }
+ _reporter(58127,2,0,$51);
+ $52 = (__gcry_hmac_selftest(11,$0,60)|0);
+ $53 = ($52|0)==(0);
+ if ($53) {
+ $55 = 0;
+ } else {
+ $54 = (_gpg_strerror($52)|0);
+ $55 = $54;
+ }
+ _reporter(58127,11,0,$55);
+ $56 = $52 | $48;
+ $57 = (__gcry_hmac_selftest(8,$0,60)|0);
+ $58 = ($57|0)==(0);
+ if ($58) {
+ $60 = 0;
+ } else {
+ $59 = (_gpg_strerror($57)|0);
+ $60 = $59;
+ }
+ _reporter(58127,8,0,$60);
+ $61 = $56 | $57;
+ $62 = (__gcry_hmac_selftest(9,$0,60)|0);
+ $63 = ($62|0)==(0);
+ if ($63) {
+ $65 = 0;
+ } else {
+ $64 = (_gpg_strerror($62)|0);
+ $65 = $64;
+ }
+ _reporter(58127,9,0,$65);
+ $66 = $61 | $62;
+ $67 = (__gcry_hmac_selftest(10,$0,60)|0);
+ $68 = ($67|0)==(0);
+ if ($68) {
+ $70 = 0;
+ } else {
+ $69 = (_gpg_strerror($67)|0);
+ $70 = $69;
+ }
+ _reporter(58127,10,0,$70);
+ $71 = $66 | $67;
+ $72 = ($71|0)==(0);
+ if ($72) {
+ $73 = (__gcry_random_selftest(60)|0);
+ $74 = ($73|0)==(0);
+ if (!($74)) {
+ $75 = (_gpg_strerror($73)|0);
+ _reporter(69464,0,0,$75);
+ $$0 = 50;$$09 = 4;
+ break;
+ }
+ _reporter(69464,0,0,0);
+ $76 = (__gcry_pk_selftest(1,$0,60)|0);
+ $77 = ($76|0)==(0);
+ if ($77) {
+ $79 = 0;
+ } else {
+ $78 = (_gpg_strerror($76)|0);
+ $79 = $78;
+ }
+ _reporter(61280,1,0,$79);
+ $80 = (__gcry_pk_selftest(17,$0,60)|0);
+ $81 = ($80|0)==(0);
+ if ($81) {
+ $83 = 0;
+ } else {
+ $82 = (_gpg_strerror($80)|0);
+ $83 = $82;
+ }
+ _reporter(61280,17,0,$83);
+ $84 = $80 | $76;
+ $85 = ($84|0)==(0);
+ $spec$select = $85 ? 3 : 4;
+ $spec$select11 = $85 ? 0 : 50;
+ $$0 = $spec$select11;$$09 = $spec$select;
+ } else {
+ $$0 = 50;$$09 = 4;
+ }
+ } else {
+ $$0 = 50;$$09 = 4;
+ }
+ } else {
+ $$0 = 50;$$09 = 4;
+ }
+ } while(0);
+ $86 = HEAP32[18107]|0;
+ $87 = ($86|0)==(1);
+ if ($87) {
+ return ($$0|0);
+ }
+ _fips_new_state($$09);
+ return ($$0|0);
+}
+function _reporter($0,$1,$2,$3) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $4 = 0, $5 = 0, $6 = 0;
+ var $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
+ $vararg_buffer = sp;
+ $4 = ($3|0)!=(0|0);
+ if (!($4)) {
+ $5 = (__gcry_log_verbosity(2)|0);
+ $6 = ($5|0)==(0);
+ if ($6) {
+ STACKTOP = sp;return;
+ }
+ }
+ $7 = (_strcmp($0,58127)|0);
+ $8 = ($7|0)==(0);
+ $9 = $8 ? 63225 : $0;
+ $10 = $8 ? 45947 : 73338;
+ $11 = (_strcmp($0,59927)|0);
+ $12 = ($11|0)==(0);
+ do {
+ if ($12) {
+ $13 = (__gcry_cipher_algo_name($1)|0);
+ $26 = $13;
+ } else {
+ $14 = (_strcmp($0,63225)|0);
+ $15 = ($14|0)==(0);
+ if ($15) {
+ $16 = (__gcry_md_algo_name($1)|0);
+ $26 = $16;
+ break;
+ }
+ if ($8) {
+ $17 = (__gcry_md_algo_name($1)|0);
+ $26 = $17;
+ break;
+ }
+ $18 = (_strcmp($0,61280)|0);
+ $19 = ($18|0)==(0);
+ if ($19) {
+ $20 = (__gcry_pk_algo_name($1)|0);
+ $26 = $20;
+ } else {
+ $26 = 73338;
+ }
+ }
+ } while(0);
+ $21 = $4 ? $3 : 45953;
+ $22 = ($2|0)!=(0|0);
+ $23 = $22 ? 45958 : 73338;
+ $24 = $22 ? $2 : 73338;
+ $25 = $22 ? 64767 : 73338;
+ HEAP32[$vararg_buffer>>2] = $9;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = $10;
+ $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
+ HEAP32[$vararg_ptr2>>2] = $26;
+ $vararg_ptr3 = ((($vararg_buffer)) + 12|0);
+ HEAP32[$vararg_ptr3>>2] = $1;
+ $vararg_ptr4 = ((($vararg_buffer)) + 16|0);
+ HEAP32[$vararg_ptr4>>2] = $21;
+ $vararg_ptr5 = ((($vararg_buffer)) + 20|0);
+ HEAP32[$vararg_ptr5>>2] = $23;
+ $vararg_ptr6 = ((($vararg_buffer)) + 24|0);
+ HEAP32[$vararg_ptr6>>2] = $24;
+ $vararg_ptr7 = ((($vararg_buffer)) + 28|0);
+ HEAP32[$vararg_ptr7>>2] = $25;
+ __gcry_log_info(45961,$vararg_buffer);
+ STACKTOP = sp;return;
+}
+function __gcry_fips_test_operational() {
+ var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $vararg_buffer1 = sp + 8|0;
+ $vararg_buffer = sp;
+ $0 = HEAP32[18107]|0;
+ $1 = ($0|0)==(1);
+ if ($1) {
+ $$0 = 1;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $2 = (_gpgrt_lock_lock(37944)|0);
+ $3 = ($2|0)==(0);
+ if (!($3)) {
+ $4 = (_gpg_strerror($2)|0);
+ HEAP32[$vararg_buffer>>2] = $4;
+ __gcry_log_info(45581,$vararg_buffer);
+ _abort();
+ // unreachable;
+ }
+ $5 = HEAP32[18109]|0;
+ $6 = ($5|0)==(3);
+ $7 = $6&1;
+ $8 = (_gpgrt_lock_unlock(37944)|0);
+ $9 = ($8|0)==(0);
+ if ($9) {
+ $$0 = $7;
+ STACKTOP = sp;return ($$0|0);
+ } else {
+ $10 = (_gpg_strerror($8)|0);
+ HEAP32[$vararg_buffer1>>2] = $10;
+ __gcry_log_info(45636,$vararg_buffer1);
+ _abort();
+ // unreachable;
+ }
+ return (0)|0;
+}
+function __gcry_fips_test_error_or_operational() {
+ var $$0 = 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, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $vararg_buffer1 = sp + 8|0;
+ $vararg_buffer = sp;
+ $0 = HEAP32[18107]|0;
+ $1 = ($0|0)==(1);
+ if ($1) {
+ $$0 = 1;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $2 = (_gpgrt_lock_lock(37944)|0);
+ $3 = ($2|0)==(0);
+ if (!($3)) {
+ $4 = (_gpg_strerror($2)|0);
+ HEAP32[$vararg_buffer>>2] = $4;
+ __gcry_log_info(45581,$vararg_buffer);
+ _abort();
+ // unreachable;
+ }
+ $5 = HEAP32[18109]|0;
+ $6 = (($5) + -3)|0;
+ $7 = ($6>>>0)<(2);
+ $8 = $7&1;
+ $9 = (_gpgrt_lock_unlock(37944)|0);
+ $10 = ($9|0)==(0);
+ if ($10) {
+ $$0 = $8;
+ STACKTOP = sp;return ($$0|0);
+ } else {
+ $11 = (_gpg_strerror($9)|0);
+ HEAP32[$vararg_buffer1>>2] = $11;
+ __gcry_log_info(45636,$vararg_buffer1);
+ _abort();
+ // unreachable;
+ }
+ return (0)|0;
+}
+function __gcry_ctx_alloc($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$0 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $cond = 0, $spec$select = 0, $vararg_buffer = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $vararg_buffer = sp;
+ $cond = ($0|0)==(1);
+ if (!($cond)) {
+ HEAP32[$vararg_buffer>>2] = $0;
+ __gcry_log_bug(46005,$vararg_buffer);
+ // unreachable;
+ }
+ $3 = ($1>>>0)>(8);
+ $spec$select = $3 ? $1 : 8;
+ $4 = (($spec$select) + 8)|0;
+ $5 = (__gcry_calloc(1,$4)|0);
+ $6 = ($5|0)==(0|0);
+ if ($6) {
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+ }
+ ;HEAP8[$5>>0]=HEAP8[46051>>0]|0;HEAP8[$5+1>>0]=HEAP8[46051+1>>0]|0;HEAP8[$5+2>>0]=HEAP8[46051+2>>0]|0;
+ $7 = ((($5)) + 3|0);
+ HEAP8[$7>>0] = 1;
+ $8 = ((($5)) + 4|0);
+ HEAP32[$8>>2] = $2;
+ $$0 = $5;
+ STACKTOP = sp;return ($$0|0);
+}
+function __gcry_ctx_get_pointer($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
+ $vararg_buffer1 = sp + 8|0;
+ $vararg_buffer = sp;
+ $2 = ($0|0)==(0|0);
+ if ($2) {
+ HEAP32[$vararg_buffer>>2] = $0;
+ __gcry_log_fatal(46055,$vararg_buffer);
+ // unreachable;
+ }
+ $3 = (_memcmp($0,46051,3)|0);
+ $4 = ($3|0)==(0);
+ if (!($4)) {
+ HEAP32[$vararg_buffer>>2] = $0;
+ __gcry_log_fatal(46055,$vararg_buffer);
+ // unreachable;
+ }
+ $5 = ((($0)) + 3|0);
+ $6 = HEAP8[$5>>0]|0;
+ $7 = $6 << 24 >> 24;
+ $8 = ($7|0)==($1|0);
+ if ($8) {
+ $9 = ((($0)) + 8|0);
+ STACKTOP = sp;return ($9|0);
+ } else {
+ HEAP32[$vararg_buffer1>>2] = $1;
+ $vararg_ptr4 = ((($vararg_buffer1)) + 4|0);
+ HEAP32[$vararg_ptr4>>2] = $0;
+ $vararg_ptr5 = ((($vararg_buffer1)) + 8|0);
+ HEAP32[$vararg_ptr5>>2] = $7;
+ __gcry_log_fatal(46103,$vararg_buffer1);
+ // unreachable;
+ }
+ return (0)|0;
+}
+function __gcry_ctx_release($0) {
+ $0 = $0|0;
+ var $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cond = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $vararg_buffer1 = sp + 8|0;
+ $vararg_buffer = sp;
+ $1 = ($0|0)==(0|0);
+ if ($1) {
+ STACKTOP = sp;return;
+ }
+ $2 = (_memcmp($0,46051,3)|0);
+ $3 = ($2|0)==(0);
+ if (!($3)) {
+ HEAP32[$vararg_buffer>>2] = $0;
+ __gcry_log_fatal(46160,$vararg_buffer);
+ // unreachable;
+ }
+ $4 = ((($0)) + 3|0);
+ $5 = HEAP8[$4>>0]|0;
+ $cond = ($5<<24>>24)==(1);
+ if (!($cond)) {
+ $6 = $5 << 24 >> 24;
+ HEAP32[$vararg_buffer1>>2] = $6;
+ __gcry_log_fatal(46202,$vararg_buffer1);
+ // unreachable;
+ }
+ $7 = ((($0)) + 4|0);
+ $8 = HEAP32[$7>>2]|0;
+ $9 = ($8|0)==(0|0);
+ if (!($9)) {
+ $10 = ((($0)) + 8|0);
+ FUNCTION_TABLE_vi[$8 & 127]($10);
+ }
+ __gcry_free($0);
+ STACKTOP = sp;return;
+}
+function __gcry_cipher_algo_name($0) {
+ $0 = $0|0;
+ var $$ph = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = HEAP32[9497]|0;
+ $2 = ($1|0)==($0|0);
+ if ($2) {
+ $$ph = 37988;
+ } else {
+ $3 = HEAP32[9833]|0;
+ $4 = ($3|0)==($0|0);
+ if ($4) {
+ $$ph = 39332;
+ } else {
+ $5 = HEAP32[9852]|0;
+ $6 = ($5|0)==($0|0);
+ if ($6) {
+ $$ph = 39408;
+ } else {
+ $7 = HEAP32[9984]|0;
+ $8 = ($7|0)==($0|0);
+ if ($8) {
+ $$ph = 39936;
+ } else {
+ $9 = HEAP32[10000]|0;
+ $10 = ($9|0)==($0|0);
+ if ($10) {
+ $$ph = 40000;
+ } else {
+ $13 = 59741;
+ return ($13|0);
+ }
+ }
+ }
+ }
+ }
+ $11 = ((($$ph)) + 8|0);
+ $12 = HEAP32[$11>>2]|0;
+ $13 = $12;
+ return ($13|0);
+}
+function __gcry_cipher_open($0,$1,$2,$3) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ var $$07 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $spec$select8 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $4 = sp;
+ HEAP32[$4>>2] = 0;
+ $5 = ($2|0)>(65535);
+ if ($5) {
+ $$07 = 71;$9 = 0;
+ } else {
+ $6 = (__gcry_cipher_open_internal($4,$1,$2,$3)|0);
+ $7 = ($6|0)==(0);
+ $8 = HEAP32[$4>>2]|0;
+ $spec$select8 = $7 ? $8 : 0;
+ $$07 = $6;$9 = $spec$select8;
+ }
+ HEAP32[$0>>2] = $9;
+ STACKTOP = sp;return ($$07|0);
+}
+function __gcry_cipher_open_internal($0,$1,$2,$3) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ var $$0 = 0, $$074$in = 0, $$1 = 0, $$3 = 0, $$5 = 0, $$mux = 0, $$not = 0, $$ph = 0, $10 = 0, $100 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0;
+ var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0;
+ var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0;
+ var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0;
+ var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $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;
+ var $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $brmerge = 0, $cond = 0, $or$cond = 0, $or$cond94 = 0, $spec$select = 0, $spec$select$i$i$i = 0, $switch$split12D = 0, $switch$split2D = 0, $switch$split42D = 0, $switch$split72D = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $4 = $3 & 1;
+ __gcry_fast_random_poll();
+ $5 = HEAP32[9497]|0;
+ $6 = ($5|0)==($1|0);
+ if ($6) {
+ $$ph = 37988;
+ label = 6;
+ } else {
+ $7 = HEAP32[9833]|0;
+ $8 = ($7|0)==($1|0);
+ if ($8) {
+ $$ph = 39332;
+ label = 6;
+ } else {
+ $9 = HEAP32[9852]|0;
+ $10 = ($9|0)==($1|0);
+ if ($10) {
+ $$ph = 39408;
+ label = 6;
+ } else {
+ $11 = HEAP32[9984]|0;
+ $12 = ($11|0)==($1|0);
+ if ($12) {
+ $$ph = 39936;
+ label = 6;
+ } else {
+ $13 = HEAP32[10000]|0;
+ $14 = ($13|0)==($1|0);
+ if ($14) {
+ $$ph = 40000;
+ label = 6;
+ } else {
+ $$3 = 0;$$5 = 12;
+ }
+ }
+ }
+ }
+ }
+ L6: do {
+ if ((label|0) == 6) {
+ $15 = ((($$ph)) + 4|0);
+ $16 = HEAP8[$15>>0]|0;
+ $17 = $16 & 1;
+ $18 = ($17<<24>>24)!=(0);
+ $19 = ($3>>>0)>(15);
+ $or$cond = $19 | $18;
+ if ($or$cond) {
+ $$3 = 0;$$5 = 12;
+ } else {
+ $switch$split2D = ($2|0)<(6);
+ L9: do {
+ if ($switch$split2D) {
+ switch ($2|0) {
+ case 5: case 2: case 3: case 1: {
+ label = 10;
+ break L9;
+ break;
+ }
+ case 4: {
+ $54 = ((($$ph)) + 44|0);
+ $55 = HEAP32[$54>>2]|0;
+ $56 = ($55|0)==(0|0);
+ if ($56) {
+ $$3 = 0;$$5 = 71;
+ break L6;
+ }
+ $57 = ((($$ph)) + 48|0);
+ $58 = HEAP32[$57>>2]|0;
+ $59 = ($58|0)==(0|0);
+ if ($59) {
+ $$3 = 0;$$5 = 71;
+ break L6;
+ } else {
+ break L9;
+ }
+ break;
+ }
+ case 0: {
+ $60 = (__gcry_fips_mode()|0);
+ $61 = ($60|0)==(0);
+ if (!($61)) {
+ $$3 = 0;$$5 = 71;
+ break L6;
+ }
+ $62 = (__gcry_get_debug_flag(0)|0);
+ $63 = ($62|0)==(0);
+ if ($63) {
+ $$3 = 0;$$5 = 71;
+ break L6;
+ } else {
+ break L9;
+ }
+ break;
+ }
+ default: {
+ $$3 = 0;$$5 = 71;
+ break L6;
+ }
+ }
+ } else {
+ $switch$split12D = ($2|0)<(9);
+ if ($switch$split12D) {
+ switch ($2|0) {
+ case 7: case 6: {
+ label = 10;
+ break L9;
+ break;
+ }
+ case 8: {
+ break;
+ }
+ default: {
+ $$3 = 0;$$5 = 71;
+ break L6;
+ }
+ }
+ $20 = ((($$ph)) + 20|0);
+ $21 = HEAP32[$20>>2]|0;
+ $22 = ($21|0)==(16);
+ $23 = ((($$ph)) + 36|0);
+ $24 = HEAP32[$23>>2]|0;
+ $25 = ($24|0)==(0|0);
+ if ($25) {
+ $$3 = 0;$$5 = 71;
+ break L6;
+ }
+ $spec$select = $22 ? 0 : 71;
+ $26 = ((($$ph)) + 40|0);
+ $27 = HEAP32[$26>>2]|0;
+ $28 = ($27|0)==(0|0);
+ $$not = $22 ^ 1;
+ $brmerge = $28 | $$not;
+ $$mux = $28 ? 71 : $spec$select;
+ if ($brmerge) {
+ $$3 = 0;$$5 = $$mux;
+ break L6;
+ } else {
+ break;
+ }
+ }
+ $switch$split42D = ($2|0)<(11);
+ if ($switch$split42D) {
+ switch ($2|0) {
+ case 9: {
+ label = 10;
+ break L9;
+ break;
+ }
+ case 10: {
+ break;
+ }
+ default: {
+ $$3 = 0;$$5 = 71;
+ break L6;
+ }
+ }
+ $35 = ((($$ph)) + 44|0);
+ $36 = HEAP32[$35>>2]|0;
+ $37 = ($36|0)==(0|0);
+ if ($37) {
+ $$3 = 0;$$5 = 71;
+ break L6;
+ }
+ $38 = ((($$ph)) + 48|0);
+ $39 = HEAP32[$38>>2]|0;
+ $40 = ($39|0)==(0|0);
+ if ($40) {
+ $$3 = 0;$$5 = 71;
+ break L6;
+ }
+ $41 = ((($$ph)) + 60|0);
+ $42 = HEAP32[$41>>2]|0;
+ $43 = ($42|0)!=(0|0);
+ $44 = ($1|0)==(316);
+ $or$cond94 = $43 & $44;
+ if ($or$cond94) {
+ break;
+ } else {
+ $$3 = 0;$$5 = 71;
+ break L6;
+ }
+ }
+ $switch$split72D = ($2|0)<(65537);
+ if (!($switch$split72D)) {
+ switch ($2|0) {
+ case 65537: {
+ label = 10;
+ break L9;
+ break;
+ }
+ default: {
+ $$3 = 0;$$5 = 71;
+ break L6;
+ }
+ }
+ }
+ switch ($2|0) {
+ case 11: {
+ break;
+ }
+ default: {
+ $$3 = 0;$$5 = 71;
+ break L6;
+ }
+ }
+ $45 = ((($$ph)) + 36|0);
+ $46 = HEAP32[$45>>2]|0;
+ $47 = ($46|0)==(0|0);
+ if ($47) {
+ $$3 = 0;$$5 = 71;
+ break L6;
+ }
+ $48 = ((($$ph)) + 40|0);
+ $49 = HEAP32[$48>>2]|0;
+ $50 = ($49|0)==(0|0);
+ if ($50) {
+ $$3 = 0;$$5 = 71;
+ break L6;
+ }
+ $51 = ((($$ph)) + 20|0);
+ $52 = HEAP32[$51>>2]|0;
+ $53 = ($52|0)==(16);
+ if (!($53)) {
+ $$3 = 0;$$5 = 71;
+ break L6;
+ }
+ }
+ } while(0);
+ if ((label|0) == 10) {
+ $29 = ((($$ph)) + 36|0);
+ $30 = HEAP32[$29>>2]|0;
+ $31 = ($30|0)==(0|0);
+ if ($31) {
+ $$3 = 0;$$5 = 71;
+ break;
+ }
+ $32 = ((($$ph)) + 40|0);
+ $33 = HEAP32[$32>>2]|0;
+ $34 = ($33|0)==(0|0);
+ if ($34) {
+ $$3 = 0;$$5 = 71;
+ break;
+ }
+ }
+ $64 = ((($$ph)) + 28|0);
+ $65 = HEAP32[$64>>2]|0;
+ $66 = $65 << 1;
+ $67 = (($66) + 511)|0;
+ $68 = ($4|0)!=(0);
+ if ($68) {
+ $69 = (__gcry_calloc_secure(1,$67)|0);
+ $$074$in = $69;
+ } else {
+ $70 = (__gcry_calloc(1,$67)|0);
+ $$074$in = $70;
+ }
+ $71 = ($$074$in|0)==(0|0);
+ if ($71) {
+ $72 = (_gpg_err_code_from_syserror()|0);
+ $$3 = $$074$in;$$5 = $72;
+ break;
+ }
+ $73 = $$074$in;
+ $74 = $73 & 15;
+ $75 = ($74|0)==(0);
+ $76 = (16 - ($74))|0;
+ $77 = (($$074$in) + ($76)|0);
+ $$1 = $75 ? $$074$in : $77;
+ $$0 = $75 ? 0 : $76;
+ $78 = $68 ? 1183944770 : 604576100;
+ HEAP32[$$1>>2] = $78;
+ $79 = (($67) - ($$0))|0;
+ $80 = ((($$1)) + 4|0);
+ HEAP32[$80>>2] = $79;
+ $81 = ((($$1)) + 8|0);
+ HEAP32[$81>>2] = $$0;
+ $82 = ((($$1)) + 12|0);
+ HEAP32[$82>>2] = $$ph;
+ $83 = ((($$1)) + 16|0);
+ HEAP32[$83>>2] = $1;
+ $84 = ((($$1)) + 48|0);
+ HEAP32[$84>>2] = $2;
+ $85 = ((($$1)) + 52|0);
+ HEAP32[$85>>2] = $3;
+ switch ($1|0) {
+ case 9: case 8: case 7: {
+ $86 = ((($$1)) + 20|0);
+ HEAP32[$86>>2] = 61;
+ $87 = ((($$1)) + 24|0);
+ HEAP32[$87>>2] = 62;
+ $88 = ((($$1)) + 28|0);
+ HEAP32[$88>>2] = 63;
+ $89 = ((($$1)) + 32|0);
+ HEAP32[$89>>2] = 64;
+ $90 = ((($$1)) + 36|0);
+ HEAP32[$90>>2] = 65;
+ $91 = ((($$1)) + 40|0);
+ HEAP32[$91>>2] = 66;
+ $92 = ((($$1)) + 44|0);
+ HEAP32[$92>>2] = 67;
+ break;
+ }
+ case 303: case 10: {
+ $93 = ((($$1)) + 32|0);
+ HEAP32[$93>>2] = 68;
+ $94 = ((($$1)) + 24|0);
+ HEAP32[$94>>2] = 69;
+ $95 = ((($$1)) + 36|0);
+ HEAP32[$95>>2] = 70;
+ break;
+ }
+ default: {
+ }
+ }
+ $cond = ($2|0)==(11);
+ if ($cond) {
+ $96 = ((($$1)) + 480|0);
+ HEAP8[$96>>0] = 16;
+ $$3 = $$1;$$5 = 0;
+ } else {
+ $$3 = $$1;$$5 = 0;
+ }
+ }
+ }
+ } while(0);
+ $97 = ($$5|0)==(0);
+ $98 = $97 ? $$3 : 0;
+ HEAP32[$0>>2] = $98;
+ $99 = $$5 & 65535;
+ $100 = $99 | 536870912;
+ $spec$select$i$i$i = $97 ? 0 : $100;
+ return ($spec$select$i$i$i|0);
+}
+function __gcry_cipher_close($0) {
+ $0 = $0|0;
+ var $$038$lcssa = 0, $$03847 = 0, $$039$lcssa = 0, $$03946 = 0, $$1 = 0, $$140 = 0, $$2 = 0, $$241 = 0, $$34244 = 0, $$345 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0;
+ var $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0;
+ var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $scevgep = 0, $switch$split2D = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = ($0|0)==(0|0);
+ if ($1) {
+ return;
+ }
+ $2 = HEAP32[$0>>2]|0;
+ $switch$split2D = ($2|0)<(1183944770);
+ L4: do {
+ if ($switch$split2D) {
+ switch ($2|0) {
+ case 604576100: {
+ break L4;
+ break;
+ }
+ default: {
+ }
+ }
+ __gcry_fatal_error(63,46251);
+ // unreachable;
+ } else {
+ switch ($2|0) {
+ case 1183944770: {
+ break L4;
+ break;
+ }
+ default: {
+ }
+ }
+ __gcry_fatal_error(63,46251);
+ // unreachable;
+ }
+ } while(0);
+ HEAP32[$0>>2] = 0;
+ $3 = ((($0)) + 8|0);
+ $4 = HEAP32[$3>>2]|0;
+ $5 = ((($0)) + 4|0);
+ $6 = HEAP32[$5>>2]|0;
+ $7 = $0;
+ $8 = $7 & 7;
+ $9 = ($8|0)!=(0);
+ $10 = ($6|0)!=(0);
+ $11 = $10 & $9;
+ if ($11) {
+ $$03847 = $0;$$03946 = $6;
+ while(1) {
+ HEAP8[$$03847>>0] = 0;
+ $12 = ((($$03847)) + 1|0);
+ $13 = (($$03946) + -1)|0;
+ $14 = $12;
+ $15 = $14 & 7;
+ $16 = ($15|0)!=(0);
+ $17 = ($13|0)!=(0);
+ $18 = $17 & $16;
+ if ($18) {
+ $$03847 = $12;$$03946 = $13;
+ } else {
+ $$038$lcssa = $12;$$039$lcssa = $13;
+ break;
+ }
+ }
+ } else {
+ $$038$lcssa = $0;$$039$lcssa = $6;
+ }
+ $19 = ($$039$lcssa>>>0)<(8);
+ if ($19) {
+ $$2 = $$038$lcssa;$$241 = $$039$lcssa;
+ } else {
+ $20 = (($$039$lcssa) + -8)|0;
+ $21 = $20 & -8;
+ $22 = (($21) + 8)|0;
+ $$1 = $$038$lcssa;$$140 = $$039$lcssa;
+ while(1) {
+ $23 = $$1;
+ $24 = $23;
+ HEAP32[$24>>2] = 0;
+ $25 = (($23) + 4)|0;
+ $26 = $25;
+ HEAP32[$26>>2] = 0;
+ $27 = (($$140) + -8)|0;
+ $28 = ((($$1)) + 8|0);
+ $29 = ($27>>>0)>(7);
+ if ($29) {
+ $$1 = $28;$$140 = $27;
+ } else {
+ break;
+ }
+ }
+ $30 = (($20) - ($21))|0;
+ $scevgep = (($$038$lcssa) + ($22)|0);
+ $$2 = $scevgep;$$241 = $30;
+ }
+ $31 = ($$241|0)==(0);
+ if (!($31)) {
+ $$34244 = $$241;$$345 = $$2;
+ while(1) {
+ HEAP8[$$345>>0] = 0;
+ $32 = ((($$345)) + 1|0);
+ $33 = (($$34244) + -1)|0;
+ $34 = ($33|0)==(0);
+ if ($34) {
+ break;
+ } else {
+ $$34244 = $33;$$345 = $32;
+ }
+ }
+ }
+ $35 = (0 - ($4))|0;
+ $36 = (($0) + ($35)|0);
+ __gcry_free($36);
+ return;
+}
+function __gcry_cipher_encrypt($0,$1,$2,$3,$4) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ var $$0$i = 0, $$0$i17 = 0, $$03340$i$i$i = 0, $$03439$i$i$i = 0, $$03538$i$i$i = 0, $$03637$i$i$i = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0;
+ var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0;
+ var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $spec$select = 0, $spec$select15 = 0, $switch$split12D = 0, $switch$split2D = 0, $switch$split42D = 0, $switch$split72D = 0, $vararg_buffer = 0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $vararg_buffer = sp;
+ $5 = ($3|0)==(0|0);
+ $spec$select = $5 ? $2 : $4;
+ $spec$select15 = $5 ? $1 : $3;
+ $6 = ((($0)) + 48|0);
+ $7 = HEAP32[$6>>2]|0;
+ $switch$split2D = ($7|0)<(6);
+ L1: do {
+ if ($switch$split2D) {
+ switch ($7|0) {
+ case 1: {
+ $8 = ((($0)) + 12|0);
+ $9 = HEAP32[$8>>2]|0;
+ $10 = ((($9)) + 36|0);
+ $11 = HEAP32[$10>>2]|0;
+ $12 = ((($9)) + 20|0);
+ $13 = HEAP32[$12>>2]|0;
+ $14 = ($spec$select>>>0)>($2>>>0);
+ if ($14) {
+ $$0$i = 200;
+ break L1;
+ }
+ $15 = (($spec$select>>>0) / ($13>>>0))&-1;
+ $16 = Math_imul($15, $13)|0;
+ $17 = (($spec$select) - ($16))|0;
+ $18 = ($17|0)==(0);
+ if (!($18)) {
+ $$0$i = 139;
+ break L1;
+ }
+ $19 = ($13>>>0)>($spec$select>>>0);
+ if ($19) {
+ $$0$i17 = 0;
+ STACKTOP = sp;return ($$0$i17|0);
+ }
+ $20 = ((($0)) + 496|0);
+ $$03340$i$i$i = 0;$$03439$i$i$i = $1;$$03538$i$i$i = 0;$$03637$i$i$i = $spec$select15;
+ while(1) {
+ $21 = (FUNCTION_TABLE_iiii[$11 & 127]($20,$$03439$i$i$i,$$03637$i$i$i)|0);
+ $22 = ($21>>>0)>($$03340$i$i$i>>>0);
+ $23 = $22 ? $21 : $$03340$i$i$i;
+ $24 = (($$03637$i$i$i) + ($13)|0);
+ $25 = (($$03439$i$i$i) + ($13)|0);
+ $26 = (($$03538$i$i$i) + 1)|0;
+ $27 = ($26>>>0)<($15>>>0);
+ if ($27) {
+ $$03340$i$i$i = $23;$$03439$i$i$i = $25;$$03538$i$i$i = $26;$$03637$i$i$i = $24;
+ } else {
+ break;
+ }
+ }
+ $28 = ($23|0)==(0);
+ if ($28) {
+ $$0$i17 = 0;
+ STACKTOP = sp;return ($$0$i17|0);
+ }
+ $29 = (($23) + 16)|0;
+ ___gcry_burn_stack($29);
+ $$0$i17 = 0;
+ STACKTOP = sp;return ($$0$i17|0);
+ break;
+ }
+ case 3: {
+ $30 = (__gcry_cipher_cbc_encrypt($0,$1,$2,$spec$select15,$spec$select)|0);
+ $$0$i = $30;
+ break L1;
+ break;
+ }
+ case 2: {
+ $31 = (__gcry_cipher_cfb_encrypt($0,$1,$2,$spec$select15,$spec$select)|0);
+ $$0$i = $31;
+ break L1;
+ break;
+ }
+ case 5: {
+ $32 = (__gcry_cipher_ofb_encrypt($0,$1,$2,$spec$select15,$spec$select)|0);
+ $$0$i = $32;
+ break L1;
+ break;
+ }
+ case 4: {
+ $39 = ((($0)) + 12|0);
+ $40 = HEAP32[$39>>2]|0;
+ $41 = ((($40)) + 44|0);
+ $42 = HEAP32[$41>>2]|0;
+ $43 = ((($0)) + 496|0);
+ FUNCTION_TABLE_viiii[$42 & 63]($43,$1,$spec$select15,$spec$select);
+ $$0$i17 = 0;
+ STACKTOP = sp;return ($$0$i17|0);
+ break;
+ }
+ case 0: {
+ $44 = (__gcry_fips_mode()|0);
+ $45 = ($44|0)==(0);
+ if ($45) {
+ $46 = (__gcry_get_debug_flag(0)|0);
+ $47 = ($46|0)==(0);
+ if (!($47)) {
+ $48 = ($spec$select15|0)==($1|0);
+ if ($48) {
+ $$0$i17 = 0;
+ STACKTOP = sp;return ($$0$i17|0);
+ }
+ _memmove(($1|0),($spec$select15|0),($spec$select|0))|0;
+ $$0$i17 = 0;
+ STACKTOP = sp;return ($$0$i17|0);
+ }
+ }
+ __gcry_fips_signal_error(46300,875,46309,0,46324);
+ $$0$i = 71;
+ break L1;
+ break;
+ }
+ default: {
+ HEAP32[$vararg_buffer>>2] = $7;
+ __gcry_log_fatal(46346,$vararg_buffer);
+ // unreachable;
+ }
+ }
+ } else {
+ $switch$split12D = ($7|0)<(9);
+ if ($switch$split12D) {
+ switch ($7|0) {
+ case 6: {
+ $33 = (__gcry_cipher_ctr_encrypt($0,$1,$2,$spec$select15,$spec$select)|0);
+ $$0$i = $33;
+ break L1;
+ break;
+ }
+ case 7: {
+ $34 = (__gcry_cipher_aeswrap_encrypt($0,$1,$2,$spec$select15,$spec$select)|0);
+ $$0$i = $34;
+ break L1;
+ break;
+ }
+ case 8: {
+ $35 = (__gcry_cipher_ccm_encrypt($0,$1,$2,$spec$select15,$spec$select)|0);
+ $$0$i = $35;
+ break L1;
+ break;
+ }
+ default: {
+ HEAP32[$vararg_buffer>>2] = $7;
+ __gcry_log_fatal(46346,$vararg_buffer);
+ // unreachable;
+ }
+ }
+ }
+ $switch$split42D = ($7|0)<(11);
+ if ($switch$split42D) {
+ switch ($7|0) {
+ case 9: {
+ $36 = (__gcry_cipher_gcm_encrypt($0,$1,$2,$spec$select15,$spec$select)|0);
+ $$0$i = $36;
+ break L1;
+ break;
+ }
+ case 10: {
+ $37 = (__gcry_cipher_poly1305_encrypt($0,$1,$2,$spec$select15,$spec$select)|0);
+ $$0$i = $37;
+ break L1;
+ break;
+ }
+ default: {
+ HEAP32[$vararg_buffer>>2] = $7;
+ __gcry_log_fatal(46346,$vararg_buffer);
+ // unreachable;
+ }
+ }
+ }
+ $switch$split72D = ($7|0)<(65537);
+ if (!($switch$split72D)) {
+ switch ($7|0) {
+ case 65537: {
+ $$0$i = 71;
+ break L1;
+ break;
+ }
+ default: {
+ }
+ }
+ HEAP32[$vararg_buffer>>2] = $7;
+ __gcry_log_fatal(46346,$vararg_buffer);
+ // unreachable;
+ }
+ switch ($7|0) {
+ case 11: {
+ $38 = (__gcry_cipher_ocb_encrypt($0,$1,$2,$spec$select15,$spec$select)|0);
+ $$0$i = $38;
+ break L1;
+ break;
+ }
+ default: {
+ HEAP32[$vararg_buffer>>2] = $7;
+ __gcry_log_fatal(46346,$vararg_buffer);
+ // unreachable;
+ }
+ }
+ }
+ } while(0);
+ $49 = ($$0$i|0)!=(0);
+ $50 = ($1|0)!=(0|0);
+ $or$cond = $50 & $49;
+ if (!($or$cond)) {
+ $$0$i17 = $$0$i;
+ STACKTOP = sp;return ($$0$i17|0);
+ }
+ _memset(($1|0),66,($2|0))|0;
+ $$0$i17 = $$0$i;
+ STACKTOP = sp;return ($$0$i17|0);
+}
+function __gcry_cipher_decrypt($0,$1,$2,$3,$4) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ var $$0$i = 0, $$03340$i$i$i = 0, $$03439$i$i$i = 0, $$03538$i$i$i = 0, $$03637$i$i$i = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0;
+ var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $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, $spec$select = 0, $spec$select8 = 0, $switch$split12D = 0, $switch$split2D = 0, $switch$split42D = 0, $switch$split72D = 0, $vararg_buffer = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $vararg_buffer = sp;
+ $5 = ($3|0)==(0|0);
+ $spec$select = $5 ? $1 : $3;
+ $spec$select8 = $5 ? $2 : $4;
+ $6 = ((($0)) + 48|0);
+ $7 = HEAP32[$6>>2]|0;
+ $switch$split2D = ($7|0)<(6);
+ L1: do {
+ if ($switch$split2D) {
+ switch ($7|0) {
+ case 1: {
+ $8 = ((($0)) + 12|0);
+ $9 = HEAP32[$8>>2]|0;
+ $10 = ((($9)) + 40|0);
+ $11 = HEAP32[$10>>2]|0;
+ $12 = ((($9)) + 20|0);
+ $13 = HEAP32[$12>>2]|0;
+ $14 = ($spec$select8>>>0)>($2>>>0);
+ if ($14) {
+ $$0$i = 200;
+ break L1;
+ }
+ $15 = (($spec$select8>>>0) / ($13>>>0))&-1;
+ $16 = Math_imul($15, $13)|0;
+ $17 = (($spec$select8) - ($16))|0;
+ $18 = ($17|0)==(0);
+ if (!($18)) {
+ $$0$i = 139;
+ break L1;
+ }
+ $19 = ($13>>>0)>($spec$select8>>>0);
+ if ($19) {
+ $$0$i = 0;
+ break L1;
+ }
+ $20 = ((($0)) + 496|0);
+ $$03340$i$i$i = 0;$$03439$i$i$i = $1;$$03538$i$i$i = 0;$$03637$i$i$i = $spec$select;
+ while(1) {
+ $21 = (FUNCTION_TABLE_iiii[$11 & 127]($20,$$03439$i$i$i,$$03637$i$i$i)|0);
+ $22 = ($21>>>0)>($$03340$i$i$i>>>0);
+ $23 = $22 ? $21 : $$03340$i$i$i;
+ $24 = (($$03637$i$i$i) + ($13)|0);
+ $25 = (($$03439$i$i$i) + ($13)|0);
+ $26 = (($$03538$i$i$i) + 1)|0;
+ $27 = ($26>>>0)<($15>>>0);
+ if ($27) {
+ $$03340$i$i$i = $23;$$03439$i$i$i = $25;$$03538$i$i$i = $26;$$03637$i$i$i = $24;
+ } else {
+ break;
+ }
+ }
+ $28 = ($23|0)==(0);
+ if ($28) {
+ $$0$i = 0;
+ break L1;
+ }
+ $29 = (($23) + 16)|0;
+ ___gcry_burn_stack($29);
+ $$0$i = 0;
+ break L1;
+ break;
+ }
+ case 3: {
+ $30 = (__gcry_cipher_cbc_decrypt($0,$1,$2,$spec$select,$spec$select8)|0);
+ $$0$i = $30;
+ break L1;
+ break;
+ }
+ case 2: {
+ $31 = (__gcry_cipher_cfb_decrypt($0,$1,$2,$spec$select,$spec$select8)|0);
+ $$0$i = $31;
+ break L1;
+ break;
+ }
+ case 5: {
+ $32 = (__gcry_cipher_ofb_encrypt($0,$1,$2,$spec$select,$spec$select8)|0);
+ $$0$i = $32;
+ break L1;
+ break;
+ }
+ case 4: {
+ $39 = ((($0)) + 12|0);
+ $40 = HEAP32[$39>>2]|0;
+ $41 = ((($40)) + 48|0);
+ $42 = HEAP32[$41>>2]|0;
+ $43 = ((($0)) + 496|0);
+ FUNCTION_TABLE_viiii[$42 & 63]($43,$1,$spec$select,$spec$select8);
+ $$0$i = 0;
+ break L1;
+ break;
+ }
+ case 0: {
+ $44 = (__gcry_fips_mode()|0);
+ $45 = ($44|0)==(0);
+ if ($45) {
+ $46 = (__gcry_get_debug_flag(0)|0);
+ $47 = ($46|0)==(0);
+ if (!($47)) {
+ $48 = ($spec$select|0)==($1|0);
+ if ($48) {
+ $$0$i = 0;
+ break L1;
+ }
+ _memmove(($1|0),($spec$select|0),($spec$select8|0))|0;
+ $$0$i = 0;
+ break L1;
+ }
+ }
+ __gcry_fips_signal_error(46300,992,46379,0,46324);
+ $$0$i = 71;
+ break L1;
+ break;
+ }
+ default: {
+ HEAP32[$vararg_buffer>>2] = $7;
+ __gcry_log_fatal(46394,$vararg_buffer);
+ // unreachable;
+ }
+ }
+ } else {
+ $switch$split12D = ($7|0)<(9);
+ if ($switch$split12D) {
+ switch ($7|0) {
+ case 6: {
+ $33 = (__gcry_cipher_ctr_encrypt($0,$1,$2,$spec$select,$spec$select8)|0);
+ $$0$i = $33;
+ break L1;
+ break;
+ }
+ case 7: {
+ $34 = (__gcry_cipher_aeswrap_decrypt($0,$1,$2,$spec$select,$spec$select8)|0);
+ $$0$i = $34;
+ break L1;
+ break;
+ }
+ case 8: {
+ $35 = (__gcry_cipher_ccm_decrypt($0,$1,$2,$spec$select,$spec$select8)|0);
+ $$0$i = $35;
+ break L1;
+ break;
+ }
+ default: {
+ HEAP32[$vararg_buffer>>2] = $7;
+ __gcry_log_fatal(46394,$vararg_buffer);
+ // unreachable;
+ }
+ }
+ }
+ $switch$split42D = ($7|0)<(11);
+ if ($switch$split42D) {
+ switch ($7|0) {
+ case 9: {
+ $36 = (__gcry_cipher_gcm_decrypt($0,$1,$2,$spec$select,$spec$select8)|0);
+ $$0$i = $36;
+ break L1;
+ break;
+ }
+ case 10: {
+ $37 = (__gcry_cipher_poly1305_decrypt($0,$1,$2,$spec$select,$spec$select8)|0);
+ $$0$i = $37;
+ break L1;
+ break;
+ }
+ default: {
+ HEAP32[$vararg_buffer>>2] = $7;
+ __gcry_log_fatal(46394,$vararg_buffer);
+ // unreachable;
+ }
+ }
+ }
+ $switch$split72D = ($7|0)<(65537);
+ if (!($switch$split72D)) {
+ switch ($7|0) {
+ case 65537: {
+ $$0$i = 71;
+ break L1;
+ break;
+ }
+ default: {
+ }
+ }
+ HEAP32[$vararg_buffer>>2] = $7;
+ __gcry_log_fatal(46394,$vararg_buffer);
+ // unreachable;
+ }
+ switch ($7|0) {
+ case 11: {
+ $38 = (__gcry_cipher_ocb_decrypt($0,$1,$2,$spec$select,$spec$select8)|0);
+ $$0$i = $38;
+ break L1;
+ break;
+ }
+ default: {
+ HEAP32[$vararg_buffer>>2] = $7;
+ __gcry_log_fatal(46394,$vararg_buffer);
+ // unreachable;
+ }
+ }
+ }
+ } while(0);
+ STACKTOP = sp;return ($$0$i|0);
+}
+function __gcry_cipher_setkey($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $switch$split12D = 0;
+ var $switch$split2D = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $3 = ((($0)) + 12|0);
+ $4 = HEAP32[$3>>2]|0;
+ $5 = ((($4)) + 32|0);
+ $6 = HEAP32[$5>>2]|0;
+ $7 = ((($0)) + 496|0);
+ $8 = (FUNCTION_TABLE_iiii[$6 & 127]($7,$1,$2)|0);
+ $9 = ($8|0)==(0);
+ if (!($9)) {
+ $19 = ((($0)) + 56|0);
+ $20 = HEAP8[$19>>0]|0;
+ $21 = $20 & -2;
+ HEAP8[$19>>0] = $21;
+ return ($8|0);
+ }
+ $10 = HEAP32[$3>>2]|0;
+ $11 = ((($10)) + 28|0);
+ $12 = HEAP32[$11>>2]|0;
+ $13 = (($7) + ($12)|0);
+ _memcpy(($13|0),($7|0),($12|0))|0;
+ $14 = ((($0)) + 56|0);
+ $15 = HEAP8[$14>>0]|0;
+ $16 = $15 | 1;
+ HEAP8[$14>>0] = $16;
+ $17 = ((($0)) + 48|0);
+ $18 = HEAP32[$17>>2]|0;
+ $switch$split2D = ($18|0)<(10);
+ if ($switch$split2D) {
+ switch ($18|0) {
+ case 9: {
+ break;
+ }
+ default: {
+ return ($8|0);
+ }
+ }
+ __gcry_cipher_gcm_setkey($0);
+ return ($8|0);
+ }
+ $switch$split12D = ($18|0)<(65537);
+ if ($switch$split12D) {
+ switch ($18|0) {
+ case 10: {
+ break;
+ }
+ default: {
+ return ($8|0);
+ }
+ }
+ __gcry_cipher_poly1305_setkey($0);
+ return ($8|0);
+ } else {
+ switch ($18|0) {
+ case 65537: {
+ break;
+ }
+ default: {
+ return ($8|0);
+ }
+ }
+ (__gcry_cipher_cmac_set_subkeys($0)|0);
+ return ($8|0);
+ }
+ return (0)|0;
+}
+function __gcry_cipher_setiv($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$0 = 0, $$phi$trans$insert$i = 0, $$pre$i = 0, $$pre1$i = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
+ var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $spec$select$i = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $vararg_buffer = sp;
+ $3 = ((($0)) + 48|0);
+ $4 = HEAP32[$3>>2]|0;
+ switch ($4|0) {
+ case 8: {
+ $5 = (__gcry_cipher_ccm_set_nonce($0,$1,$2)|0);
+ $$0 = $5;
+ STACKTOP = sp;return ($$0|0);
+ break;
+ }
+ case 9: {
+ $6 = (__gcry_cipher_gcm_setiv($0,$1,$2)|0);
+ $$0 = $6;
+ STACKTOP = sp;return ($$0|0);
+ break;
+ }
+ case 10: {
+ $7 = (__gcry_cipher_poly1305_setiv($0,$1,$2)|0);
+ $$0 = $7;
+ STACKTOP = sp;return ($$0|0);
+ break;
+ }
+ case 11: {
+ $8 = (__gcry_cipher_ocb_set_nonce($0,$1,$2)|0);
+ $$0 = $8;
+ STACKTOP = sp;return ($$0|0);
+ break;
+ }
+ default: {
+ $9 = ((($0)) + 12|0);
+ $10 = HEAP32[$9>>2]|0;
+ $11 = ((($10)) + 60|0);
+ $12 = HEAP32[$11>>2]|0;
+ $13 = ($12|0)==(0|0);
+ if (!($13)) {
+ $14 = ((($0)) + 496|0);
+ FUNCTION_TABLE_viii[$12 & 127]($14,$1,$2);
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $15 = ((($0)) + 64|0);
+ $16 = ((($10)) + 20|0);
+ $17 = HEAP32[$16>>2]|0;
+ _memset(($15|0),0,($17|0))|0;
+ $18 = ($1|0)==(0|0);
+ if ($18) {
+ $26 = ((($0)) + 56|0);
+ $27 = HEAP8[$26>>0]|0;
+ $28 = $27 & -3;
+ HEAP8[$26>>0] = $28;
+ } else {
+ $19 = HEAP32[$16>>2]|0;
+ $20 = ($19|0)==($2|0);
+ if ($20) {
+ $22 = $2;
+ } else {
+ HEAP32[$vararg_buffer>>2] = $2;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = $19;
+ __gcry_log_info(46427,$vararg_buffer);
+ __gcry_fips_signal_error(46300,682,46470,0,46483);
+ $$pre$i = HEAP32[$9>>2]|0;
+ $$phi$trans$insert$i = ((($$pre$i)) + 20|0);
+ $$pre1$i = HEAP32[$$phi$trans$insert$i>>2]|0;
+ $22 = $$pre1$i;
+ }
+ $21 = ($22>>>0)<($2>>>0);
+ $spec$select$i = $21 ? $22 : $2;
+ _memcpy(($15|0),($1|0),($spec$select$i|0))|0;
+ $23 = ((($0)) + 56|0);
+ $24 = HEAP8[$23>>0]|0;
+ $25 = $24 | 2;
+ HEAP8[$23>>0] = $25;
+ }
+ $29 = ((($0)) + 112|0);
+ HEAP32[$29>>2] = 0;
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+ }
+ }
+ return (0)|0;
+}
+function __gcry_cipher_init() {
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ return 0;
+}
+function __gcry_cipher_selftest($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$ph = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
+ var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $spec$select = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $3 = HEAP32[9497]|0;
+ $4 = ($3|0)==($0|0);
+ if ($4) {
+ $$ph = 37988;
+ label = 6;
+ } else {
+ $5 = HEAP32[9833]|0;
+ $6 = ($5|0)==($0|0);
+ if ($6) {
+ $$ph = 39332;
+ label = 6;
+ } else {
+ $7 = HEAP32[9852]|0;
+ $8 = ($7|0)==($0|0);
+ if ($8) {
+ $$ph = 39408;
+ label = 6;
+ } else {
+ $9 = HEAP32[9984]|0;
+ $10 = ($9|0)==($0|0);
+ if ($10) {
+ $$ph = 39936;
+ label = 6;
+ } else {
+ $11 = HEAP32[10000]|0;
+ $12 = ($11|0)==($0|0);
+ if ($12) {
+ $$ph = 40000;
+ label = 6;
+ } else {
+ $22 = 0;$27 = 0;
+ }
+ }
+ }
+ }
+ }
+ if ((label|0) == 6) {
+ $13 = ((($$ph)) + 4|0);
+ $14 = HEAP8[$13>>0]|0;
+ $15 = $14 & 1;
+ $16 = ($15<<24>>24)==(0);
+ if ($16) {
+ $17 = ((($$ph)) + 52|0);
+ $18 = HEAP32[$17>>2]|0;
+ $19 = ($18|0)==(0|0);
+ if ($19) {
+ $22 = $$ph;$27 = 1;
+ } else {
+ $29 = (FUNCTION_TABLE_iiii[$18 & 127]($0,$1,$2)|0);
+ $30 = ($29|0)==(0);
+ $31 = $29 & 65535;
+ $32 = $31 | 16777216;
+ $spec$select = $30 ? 0 : $32;
+ return ($spec$select|0);
+ }
+ } else {
+ $22 = $$ph;$27 = 1;
+ }
+ }
+ $20 = ($2|0)==(0|0);
+ if ($20) {
+ return 16777228;
+ }
+ if ($27) {
+ $21 = ((($22)) + 4|0);
+ $23 = HEAP8[$21>>0]|0;
+ $24 = $23 & 1;
+ $25 = ($24<<24>>24)==(0);
+ if ($25) {
+ $28 = 59812;
+ } else {
+ label = 11;
+ }
+ } else {
+ label = 11;
+ }
+ if ((label|0) == 11) {
+ $26 = $27 ? 59773 : 59792;
+ $28 = $26;
+ }
+ FUNCTION_TABLE_viiii[$2 & 63](59927,$0,59834,$28);
+ return 16777228;
+}
+function __gcry_ecc_fill_in_curve($0,$1,$2,$3) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ var $$049 = 0, $$159 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
+ var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
+ var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
+ var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0;
+ var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $or$cond51 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0;
+ var $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer16 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0);
+ $vararg_buffer16 = sp + 48|0;
+ $vararg_buffer13 = sp + 40|0;
+ $vararg_buffer10 = sp + 32|0;
+ $vararg_buffer7 = sp + 24|0;
+ $vararg_buffer4 = sp + 16|0;
+ $vararg_buffer1 = sp + 8|0;
+ $vararg_buffer = sp;
+ $4 = sp + 76|0;
+ $5 = sp + 72|0;
+ $6 = sp + 68|0;
+ $7 = sp + 64|0;
+ $8 = sp + 60|0;
+ $9 = sp + 56|0;
+ $10 = sp + 52|0;
+ $11 = ($1|0)==(0|0);
+ L1: do {
+ if ($11) {
+ switch ($0|0) {
+ case 192: {
+ $$159 = 1;
+ break L1;
+ break;
+ }
+ case 224: {
+ $$159 = 2;
+ break L1;
+ break;
+ }
+ case 256: {
+ $$159 = 3;
+ break L1;
+ break;
+ }
+ case 384: {
+ $$159 = 4;
+ break L1;
+ break;
+ }
+ case 521: {
+ $$159 = 5;
+ break L1;
+ break;
+ }
+ case 160: {
+ $$159 = 6;
+ break L1;
+ break;
+ }
+ case 320: {
+ $$159 = 10;
+ break L1;
+ break;
+ }
+ case 512: {
+ $$159 = 12;
+ break L1;
+ break;
+ }
+ case 511: {
+ $$159 = 17;
+ break L1;
+ break;
+ }
+ default: {
+ $$049 = 188;
+ STACKTOP = sp;return ($$049|0);
+ }
+ }
+ } else {
+ $12 = (_find_domain_parms_idx($1)|0);
+ $13 = ($12|0)<(0);
+ if ($13) {
+ $$049 = 188;
+ STACKTOP = sp;return ($$049|0);
+ } else {
+ $$159 = $12;
+ }
+ }
+ } while(0);
+ $14 = (240 + (($$159*48)|0)|0);
+ $15 = HEAP32[$14>>2]|0;
+ $16 = (__gcry_fips_mode()|0);
+ $17 = ($16|0)==(0);
+ $18 = (($$159) + -1)|0;
+ $19 = ($18>>>0)<(5);
+ $or$cond51 = $19 | $17;
+ if (!($or$cond51)) {
+ $$049 = 60;
+ STACKTOP = sp;return ($$049|0);
+ }
+ $20 = (((240 + (($$159*48)|0)|0)) + 12|0);
+ $21 = ($3|0)==(0|0);
+ if (!($21)) {
+ $22 = (((240 + (($$159*48)|0)|0)) + 4|0);
+ $23 = HEAP32[$22>>2]|0;
+ HEAP32[$3>>2] = $23;
+ }
+ $24 = ($2|0)==(0|0);
+ if ($24) {
+ $$049 = 0;
+ STACKTOP = sp;return ($$049|0);
+ }
+ $25 = HEAP32[$20>>2]|0;
+ HEAP32[$2>>2] = $25;
+ $26 = (((240 + (($$159*48)|0)|0)) + 16|0);
+ $27 = HEAP32[$26>>2]|0;
+ $28 = ((($2)) + 4|0);
+ HEAP32[$28>>2] = $27;
+ $29 = ((($2)) + 8|0);
+ $30 = HEAP32[$29>>2]|0;
+ $31 = ($30|0)==(0|0);
+ do {
+ if ($31) {
+ $32 = (((240 + (($$159*48)|0)|0)) + 20|0);
+ $33 = HEAP32[$32>>2]|0;
+ $34 = (__gcry_mpi_scan($10,4,$33,0,0)|0);
+ $35 = ($34|0)==(0);
+ if ($35) {
+ $37 = HEAP32[$10>>2]|0;
+ HEAP32[$29>>2] = $37;
+ break;
+ } else {
+ $36 = (_gpg_strerror($34)|0);
+ HEAP32[$vararg_buffer>>2] = $36;
+ __gcry_log_fatal(57702,$vararg_buffer);
+ // unreachable;
+ }
+ }
+ } while(0);
+ $38 = ((($2)) + 12|0);
+ $39 = HEAP32[$38>>2]|0;
+ $40 = ($39|0)==(0|0);
+ do {
+ if ($40) {
+ $41 = (((240 + (($$159*48)|0)|0)) + 24|0);
+ $42 = HEAP32[$41>>2]|0;
+ $43 = (__gcry_mpi_scan($9,4,$42,0,0)|0);
+ $44 = ($43|0)==(0);
+ if ($44) {
+ $46 = HEAP32[$9>>2]|0;
+ HEAP32[$38>>2] = $46;
+ break;
+ } else {
+ $45 = (_gpg_strerror($43)|0);
+ HEAP32[$vararg_buffer1>>2] = $45;
+ __gcry_log_fatal(57702,$vararg_buffer1);
+ // unreachable;
+ }
+ }
+ } while(0);
+ $47 = ((($2)) + 16|0);
+ $48 = HEAP32[$47>>2]|0;
+ $49 = ($48|0)==(0|0);
+ do {
+ if ($49) {
+ $50 = (((240 + (($$159*48)|0)|0)) + 28|0);
+ $51 = HEAP32[$50>>2]|0;
+ $52 = (__gcry_mpi_scan($8,4,$51,0,0)|0);
+ $53 = ($52|0)==(0);
+ if ($53) {
+ $55 = HEAP32[$8>>2]|0;
+ HEAP32[$47>>2] = $55;
+ break;
+ } else {
+ $54 = (_gpg_strerror($52)|0);
+ HEAP32[$vararg_buffer4>>2] = $54;
+ __gcry_log_fatal(57702,$vararg_buffer4);
+ // unreachable;
+ }
+ }
+ } while(0);
+ $56 = ((($2)) + 32|0);
+ $57 = HEAP32[$56>>2]|0;
+ $58 = ($57|0)==(0|0);
+ do {
+ if ($58) {
+ $59 = (((240 + (($$159*48)|0)|0)) + 32|0);
+ $60 = HEAP32[$59>>2]|0;
+ $61 = (__gcry_mpi_scan($7,4,$60,0,0)|0);
+ $62 = ($61|0)==(0);
+ if ($62) {
+ $64 = HEAP32[$7>>2]|0;
+ HEAP32[$56>>2] = $64;
+ break;
+ } else {
+ $63 = (_gpg_strerror($61)|0);
+ HEAP32[$vararg_buffer7>>2] = $63;
+ __gcry_log_fatal(57702,$vararg_buffer7);
+ // unreachable;
+ }
+ }
+ } while(0);
+ $65 = ((($2)) + 36|0);
+ $66 = HEAP32[$65>>2]|0;
+ $67 = ($66|0)==(0|0);
+ do {
+ if ($67) {
+ $68 = (((240 + (($$159*48)|0)|0)) + 44|0);
+ $69 = HEAP32[$68>>2]|0;
+ $70 = (__gcry_mpi_scan($6,4,$69,0,0)|0);
+ $71 = ($70|0)==(0);
+ if ($71) {
+ $73 = HEAP32[$6>>2]|0;
+ HEAP32[$65>>2] = $73;
+ break;
+ } else {
+ $72 = (_gpg_strerror($70)|0);
+ HEAP32[$vararg_buffer10>>2] = $72;
+ __gcry_log_fatal(57702,$vararg_buffer10);
+ // unreachable;
+ }
+ }
+ } while(0);
+ $74 = ((($2)) + 20|0);
+ $75 = HEAP32[$74>>2]|0;
+ $76 = ($75|0)==(0|0);
+ do {
+ if ($76) {
+ $77 = (((240 + (($$159*48)|0)|0)) + 36|0);
+ $78 = HEAP32[$77>>2]|0;
+ $79 = (__gcry_mpi_scan($5,4,$78,0,0)|0);
+ $80 = ($79|0)==(0);
+ if ($80) {
+ $82 = HEAP32[$5>>2]|0;
+ HEAP32[$74>>2] = $82;
+ break;
+ } else {
+ $81 = (_gpg_strerror($79)|0);
+ HEAP32[$vararg_buffer13>>2] = $81;
+ __gcry_log_fatal(57702,$vararg_buffer13);
+ // unreachable;
+ }
+ }
+ } while(0);
+ $83 = ((($2)) + 24|0);
+ $84 = HEAP32[$83>>2]|0;
+ $85 = ($84|0)==(0|0);
+ do {
+ if ($85) {
+ $86 = (((240 + (($$159*48)|0)|0)) + 40|0);
+ $87 = HEAP32[$86>>2]|0;
+ $88 = (__gcry_mpi_scan($4,4,$87,0,0)|0);
+ $89 = ($88|0)==(0);
+ if ($89) {
+ $91 = HEAP32[$4>>2]|0;
+ HEAP32[$83>>2] = $91;
+ break;
+ } else {
+ $90 = (_gpg_strerror($88)|0);
+ HEAP32[$vararg_buffer16>>2] = $90;
+ __gcry_log_fatal(57702,$vararg_buffer16);
+ // unreachable;
+ }
+ }
+ } while(0);
+ $92 = ((($2)) + 28|0);
+ $93 = HEAP32[$92>>2]|0;
+ $94 = ($93|0)==(0|0);
+ if ($94) {
+ $95 = (__gcry_mpi_alloc_set_ui(1)|0);
+ HEAP32[$92>>2] = $95;
+ }
+ $96 = ((($2)) + 40|0);
+ $97 = HEAP32[$96>>2]|0;
+ $98 = ($97|0)==(0|0);
+ if (!($98)) {
+ $$049 = 0;
+ STACKTOP = sp;return ($$049|0);
+ }
+ HEAP32[$96>>2] = $15;
+ $$049 = 0;
+ STACKTOP = sp;return ($$049|0);
+}
+function _find_domain_parms_idx($0) {
+ $0 = $0|0;
+ var $$018 = 0, $$024 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
+ var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0;
+ var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0;
+ var $62 = 0, $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;
+ 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, $cond = 0, $spec$select = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = (_strcmp($0,57883)|0);
+ $2 = ($1|0)==(0);
+ L1: do {
+ if ($2) {
+ $$018 = 0;
+ } else {
+ $3 = (_strcmp($0,46867)|0);
+ $4 = ($3|0)==(0);
+ if ($4) {
+ $$018 = 1;
+ } else {
+ $55 = (_strcmp($0,47189)|0);
+ $56 = ($55|0)==(0);
+ if ($56) {
+ $$018 = 2;
+ } else {
+ $57 = (_strcmp($0,47554)|0);
+ $58 = ($57|0)==(0);
+ if ($58) {
+ $$018 = 3;
+ } else {
+ $59 = (_strcmp($0,47967)|0);
+ $60 = ($59|0)==(0);
+ if ($60) {
+ $$018 = 4;
+ } else {
+ $61 = (_strcmp($0,48572)|0);
+ $62 = ($61|0)==(0);
+ if ($62) {
+ $$018 = 5;
+ } else {
+ $63 = (_strcmp($0,49391)|0);
+ $64 = ($63|0)==(0);
+ if ($64) {
+ $$018 = 6;
+ } else {
+ $65 = (_strcmp($0,49665)|0);
+ $66 = ($65|0)==(0);
+ if ($66) {
+ $$018 = 7;
+ } else {
+ $67 = (_strcmp($0,49987)|0);
+ $68 = ($67|0)==(0);
+ if ($68) {
+ $$018 = 8;
+ } else {
+ $69 = (_strcmp($0,50357)|0);
+ $70 = ($69|0)==(0);
+ if ($70) {
+ $$018 = 9;
+ } else {
+ $71 = (_strcmp($0,50775)|0);
+ $72 = ($71|0)==(0);
+ if ($72) {
+ $$018 = 10;
+ } else {
+ $73 = (_strcmp($0,51289)|0);
+ $74 = ($73|0)==(0);
+ if ($74) {
+ $$018 = 11;
+ } else {
+ $75 = (_strcmp($0,51899)|0);
+ $76 = ($75|0)==(0);
+ if ($76) {
+ $$018 = 12;
+ } else {
+ $77 = (_strcmp($0,52701)|0);
+ $78 = ($77|0)==(0);
+ if ($78) {
+ $$018 = 13;
+ } else {
+ $79 = (_strcmp($0,53117)|0);
+ $80 = ($79|0)==(0);
+ if ($80) {
+ $$018 = 14;
+ } else {
+ $81 = (_strcmp($0,53540)|0);
+ $82 = ($81|0)==(0);
+ if ($82) {
+ $$018 = 15;
+ } else {
+ $83 = (_strcmp($0,53896)|0);
+ $84 = ($83|0)==(0);
+ if ($84) {
+ $$018 = 16;
+ } else {
+ $85 = (_strcmp($0,54319)|0);
+ $86 = ($85|0)==(0);
+ if ($86) {
+ $$018 = 17;
+ } else {
+ $87 = (_strcmp($0,54988)|0);
+ $88 = ($87|0)==(0);
+ if ($88) {
+ $$018 = 18;
+ } else {
+ $89 = (_strcmp($0,55790)|0);
+ $90 = ($89|0)==(0);
+ if ($90) {
+ $$018 = 19;
+ break;
+ }
+ $91 = (_strcmp($0,56592)|0);
+ $92 = ($91|0)==(0);
+ if ($92) {
+ $$018 = 20;
+ break;
+ }
+ $$024 = 0;$12 = 1296;
+ while(1) {
+ $7 = (((1296 + ($$024<<3)|0)) + 4|0);
+ $8 = HEAP32[$7>>2]|0;
+ $9 = (_strcmp($0,$8)|0);
+ $10 = ($9|0)==(0);
+ $6 = (($$024) + 1)|0;
+ if ($10) {
+ break;
+ }
+ $5 = (1296 + ($6<<3)|0);
+ $cond = ($6|0)==(36);
+ if ($cond) {
+ $$018 = -1;
+ break L1;
+ } else {
+ $$024 = $6;$12 = $5;
+ }
+ }
+ $11 = HEAP32[$12>>2]|0;
+ $13 = (_strcmp($11,57883)|0);
+ $14 = ($13|0)==(0);
+ if ($14) {
+ $$018 = 0;
+ break;
+ }
+ $15 = (_strcmp($11,46867)|0);
+ $16 = ($15|0)==(0);
+ if ($16) {
+ $$018 = 1;
+ break;
+ }
+ $17 = (_strcmp($11,47189)|0);
+ $18 = ($17|0)==(0);
+ if ($18) {
+ $$018 = 2;
+ break;
+ }
+ $19 = (_strcmp($11,47554)|0);
+ $20 = ($19|0)==(0);
+ if ($20) {
+ $$018 = 3;
+ break;
+ }
+ $21 = (_strcmp($11,47967)|0);
+ $22 = ($21|0)==(0);
+ if ($22) {
+ $$018 = 4;
+ break;
+ }
+ $23 = (_strcmp($11,48572)|0);
+ $24 = ($23|0)==(0);
+ if ($24) {
+ $$018 = 5;
+ break;
+ }
+ $25 = (_strcmp($11,49391)|0);
+ $26 = ($25|0)==(0);
+ if ($26) {
+ $$018 = 6;
+ break;
+ }
+ $27 = (_strcmp($11,49665)|0);
+ $28 = ($27|0)==(0);
+ if ($28) {
+ $$018 = 7;
+ break;
+ }
+ $29 = (_strcmp($11,49987)|0);
+ $30 = ($29|0)==(0);
+ if ($30) {
+ $$018 = 8;
+ break;
+ }
+ $31 = (_strcmp($11,50357)|0);
+ $32 = ($31|0)==(0);
+ if ($32) {
+ $$018 = 9;
+ break;
+ }
+ $33 = (_strcmp($11,50775)|0);
+ $34 = ($33|0)==(0);
+ if ($34) {
+ $$018 = 10;
+ break;
+ }
+ $35 = (_strcmp($11,51289)|0);
+ $36 = ($35|0)==(0);
+ if ($36) {
+ $$018 = 11;
+ break;
+ }
+ $37 = (_strcmp($11,51899)|0);
+ $38 = ($37|0)==(0);
+ if ($38) {
+ $$018 = 12;
+ break;
+ }
+ $39 = (_strcmp($11,52701)|0);
+ $40 = ($39|0)==(0);
+ if ($40) {
+ $$018 = 13;
+ break;
+ }
+ $41 = (_strcmp($11,53117)|0);
+ $42 = ($41|0)==(0);
+ if ($42) {
+ $$018 = 14;
+ break;
+ }
+ $43 = (_strcmp($11,53540)|0);
+ $44 = ($43|0)==(0);
+ if ($44) {
+ $$018 = 15;
+ break;
+ }
+ $45 = (_strcmp($11,53896)|0);
+ $46 = ($45|0)==(0);
+ if ($46) {
+ $$018 = 16;
+ break;
+ }
+ $47 = (_strcmp($11,54319)|0);
+ $48 = ($47|0)==(0);
+ if ($48) {
+ $$018 = 17;
+ break;
+ }
+ $49 = (_strcmp($11,54988)|0);
+ $50 = ($49|0)==(0);
+ if ($50) {
+ $$018 = 18;
+ break;
+ }
+ $51 = (_strcmp($11,55790)|0);
+ $52 = ($51|0)==(0);
+ if ($52) {
+ $$018 = 19;
+ break;
+ }
+ $53 = (_strcmp($11,56592)|0);
+ $54 = ($53|0)==(0);
+ $spec$select = $54 ? 20 : -1;
+ return ($spec$select|0);
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ } while(0);
+ return ($$018|0);
+}
+function __gcry_ecc_update_curve_param($0,$1,$2,$3,$4,$5,$6,$7,$8) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ $5 = $5|0;
+ $6 = $6|0;
+ $7 = $7|0;
+ $8 = $8|0;
+ var $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
+ var $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0;
+ var $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0;
+ var $69 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0;
+ var $vararg_buffer4 = 0, $vararg_buffer7 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0);
+ $vararg_buffer13 = sp + 40|0;
+ $vararg_buffer10 = sp + 32|0;
+ $vararg_buffer7 = sp + 24|0;
+ $vararg_buffer4 = sp + 16|0;
+ $vararg_buffer1 = sp + 8|0;
+ $vararg_buffer = sp;
+ $9 = sp + 64|0;
+ $10 = sp + 60|0;
+ $11 = sp + 56|0;
+ $12 = sp + 52|0;
+ $13 = sp + 48|0;
+ $14 = sp + 44|0;
+ $15 = (_find_domain_parms_idx($0)|0);
+ $16 = ($15|0)<(0);
+ if ($16) {
+ $$1 = 188;
+ STACKTOP = sp;return ($$1|0);
+ }
+ $17 = ($6|0)==(0|0);
+ do {
+ if (!($17)) {
+ $18 = (((240 + (($15*48)|0)|0)) + 36|0);
+ $19 = HEAP32[$18>>2]|0;
+ $20 = ((($19)) + 2|0);
+ $21 = (_strlen($20)|0);
+ $22 = (((240 + (($15*48)|0)|0)) + 40|0);
+ $23 = HEAP32[$22>>2]|0;
+ $24 = ((($23)) + 2|0);
+ $25 = (_strlen($24)|0);
+ $26 = (($21) + 5)|0;
+ $27 = (($26) + ($25))|0;
+ $28 = (__gcry_malloc($27)|0);
+ $29 = ($28|0)==(0|0);
+ if ($29) {
+ $37 = (_gpg_err_code_from_syserror()|0);
+ $$1 = $37;
+ STACKTOP = sp;return ($$1|0);
+ }
+ $30 = ((($28)) + 4|0);
+ ;HEAP8[$28>>0]=HEAP8[57441>>0]|0;HEAP8[$28+1>>0]=HEAP8[57441+1>>0]|0;HEAP8[$28+2>>0]=HEAP8[57441+2>>0]|0;HEAP8[$28+3>>0]=HEAP8[57441+3>>0]|0;HEAP8[$28+4>>0]=HEAP8[57441+4>>0]|0;
+ $31 = (___stpcpy($30,$20)|0);
+ (_strcpy($31,$24)|0);
+ $32 = HEAP32[$6>>2]|0;
+ __gcry_mpi_release($32);
+ $33 = (__gcry_mpi_scan($14,4,$28,0,0)|0);
+ $34 = ($33|0)==(0);
+ if ($34) {
+ $36 = HEAP32[$14>>2]|0;
+ HEAP32[$6>>2] = $36;
+ __gcry_free($28);
+ break;
+ } else {
+ $35 = (_gpg_strerror($33)|0);
+ HEAP32[$vararg_buffer>>2] = $35;
+ __gcry_log_fatal(57702,$vararg_buffer);
+ // unreachable;
+ }
+ }
+ } while(0);
+ $38 = ($1|0)==(0|0);
+ if (!($38)) {
+ $39 = (((240 + (($15*48)|0)|0)) + 12|0);
+ $40 = HEAP32[$39>>2]|0;
+ HEAP32[$1>>2] = $40;
+ }
+ $41 = ($2|0)==(0|0);
+ if (!($41)) {
+ $42 = (((240 + (($15*48)|0)|0)) + 16|0);
+ $43 = HEAP32[$42>>2]|0;
+ HEAP32[$2>>2] = $43;
+ }
+ $44 = ($3|0)==(0|0);
+ do {
+ if (!($44)) {
+ $45 = HEAP32[$3>>2]|0;
+ __gcry_mpi_release($45);
+ $46 = (((240 + (($15*48)|0)|0)) + 20|0);
+ $47 = HEAP32[$46>>2]|0;
+ $48 = (__gcry_mpi_scan($13,4,$47,0,0)|0);
+ $49 = ($48|0)==(0);
+ if ($49) {
+ $51 = HEAP32[$13>>2]|0;
+ HEAP32[$3>>2] = $51;
+ break;
+ } else {
+ $50 = (_gpg_strerror($48)|0);
+ HEAP32[$vararg_buffer1>>2] = $50;
+ __gcry_log_fatal(57702,$vararg_buffer1);
+ // unreachable;
+ }
+ }
+ } while(0);
+ $52 = ($4|0)==(0|0);
+ do {
+ if (!($52)) {
+ $53 = HEAP32[$4>>2]|0;
+ __gcry_mpi_release($53);
+ $54 = (((240 + (($15*48)|0)|0)) + 24|0);
+ $55 = HEAP32[$54>>2]|0;
+ $56 = (__gcry_mpi_scan($12,4,$55,0,0)|0);
+ $57 = ($56|0)==(0);
+ if ($57) {
+ $59 = HEAP32[$12>>2]|0;
+ HEAP32[$4>>2] = $59;
+ break;
+ } else {
+ $58 = (_gpg_strerror($56)|0);
+ HEAP32[$vararg_buffer4>>2] = $58;
+ __gcry_log_fatal(57702,$vararg_buffer4);
+ // unreachable;
+ }
+ }
+ } while(0);
+ $60 = ($5|0)==(0|0);
+ do {
+ if (!($60)) {
+ $61 = HEAP32[$5>>2]|0;
+ __gcry_mpi_release($61);
+ $62 = (((240 + (($15*48)|0)|0)) + 28|0);
+ $63 = HEAP32[$62>>2]|0;
+ $64 = (__gcry_mpi_scan($11,4,$63,0,0)|0);
+ $65 = ($64|0)==(0);
+ if ($65) {
+ $67 = HEAP32[$11>>2]|0;
+ HEAP32[$5>>2] = $67;
+ break;
+ } else {
+ $66 = (_gpg_strerror($64)|0);
+ HEAP32[$vararg_buffer7>>2] = $66;
+ __gcry_log_fatal(57702,$vararg_buffer7);
+ // unreachable;
+ }
+ }
+ } while(0);
+ $68 = ($7|0)==(0|0);
+ do {
+ if (!($68)) {
+ $69 = HEAP32[$7>>2]|0;
+ __gcry_mpi_release($69);
+ $70 = (((240 + (($15*48)|0)|0)) + 32|0);
+ $71 = HEAP32[$70>>2]|0;
+ $72 = (__gcry_mpi_scan($10,4,$71,0,0)|0);
+ $73 = ($72|0)==(0);
+ if ($73) {
+ $75 = HEAP32[$10>>2]|0;
+ HEAP32[$7>>2] = $75;
+ break;
+ } else {
+ $74 = (_gpg_strerror($72)|0);
+ HEAP32[$vararg_buffer10>>2] = $74;
+ __gcry_log_fatal(57702,$vararg_buffer10);
+ // unreachable;
+ }
+ }
+ } while(0);
+ $76 = ($8|0)==(0|0);
+ if ($76) {
+ $$1 = 0;
+ STACKTOP = sp;return ($$1|0);
+ }
+ $77 = HEAP32[$8>>2]|0;
+ __gcry_mpi_release($77);
+ $78 = (((240 + (($15*48)|0)|0)) + 44|0);
+ $79 = HEAP32[$78>>2]|0;
+ $80 = (__gcry_mpi_scan($9,4,$79,0,0)|0);
+ $81 = ($80|0)==(0);
+ if (!($81)) {
+ $82 = (_gpg_strerror($80)|0);
+ HEAP32[$vararg_buffer13>>2] = $82;
+ __gcry_log_fatal(57702,$vararg_buffer13);
+ // unreachable;
+ }
+ $83 = HEAP32[$9>>2]|0;
+ HEAP32[$8>>2] = $83;
+ $$1 = 0;
+ STACKTOP = sp;return ($$1|0);
+}
+function __gcry_ecc_get_curve($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$072143 = 0, $$073142 = 0, $$1 = 0, $$174 = 0, $$275 = 0, $$3 = 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;
+ var $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0;
+ var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0;
+ var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $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, $trunc = 0, $vararg_buffer = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer16 = 0, $vararg_buffer19 = 0, $vararg_buffer22 = 0, $vararg_buffer25 = 0, $vararg_buffer7 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, dest = 0, label = 0;
+ var sp = 0, stop = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 160|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(160|0);
+ $vararg_buffer25 = sp + 80|0;
+ $vararg_buffer22 = sp + 72|0;
+ $vararg_buffer19 = sp + 64|0;
+ $vararg_buffer16 = sp + 56|0;
+ $vararg_buffer13 = sp + 48|0;
+ $vararg_buffer10 = sp + 40|0;
+ $vararg_buffer7 = sp + 32|0;
+ $vararg_buffer = sp;
+ $3 = sp + 156|0;
+ $4 = sp + 152|0;
+ $5 = sp + 148|0;
+ $6 = sp + 144|0;
+ $7 = sp + 140|0;
+ $8 = sp + 136|0;
+ $9 = sp + 132|0;
+ $10 = sp + 88|0;
+ $11 = sp + 84|0;
+ HEAP32[$11>>2] = 0;
+ dest=$10; stop=dest+44|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
+ $12 = ($2|0)!=(0|0);
+ if ($12) {
+ HEAP32[$2>>2] = 0;
+ }
+ $13 = ($0|0)==(0|0);
+ if ($13) {
+ $14 = ($1>>>0)<(22);
+ if (!($14)) {
+ $$1 = 0;
+ STACKTOP = sp;return ($$1|0);
+ }
+ $15 = (240 + (($1*48)|0)|0);
+ $16 = HEAP32[$15>>2]|0;
+ if (!($12)) {
+ $$1 = $16;
+ STACKTOP = sp;return ($$1|0);
+ }
+ $17 = (((240 + (($1*48)|0)|0)) + 4|0);
+ $18 = HEAP32[$17>>2]|0;
+ HEAP32[$2>>2] = $18;
+ $$1 = $16;
+ STACKTOP = sp;return ($$1|0);
+ }
+ $19 = ((($10)) + 8|0);
+ $20 = ((($10)) + 12|0);
+ $21 = ((($10)) + 16|0);
+ $22 = ((($10)) + 32|0);
+ $23 = ((($10)) + 36|0);
+ HEAP32[$vararg_buffer>>2] = $19;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = $20;
+ $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
+ HEAP32[$vararg_ptr2>>2] = $21;
+ $vararg_ptr3 = ((($vararg_buffer)) + 12|0);
+ HEAP32[$vararg_ptr3>>2] = $11;
+ $vararg_ptr4 = ((($vararg_buffer)) + 16|0);
+ HEAP32[$vararg_ptr4>>2] = $22;
+ $vararg_ptr5 = ((($vararg_buffer)) + 20|0);
+ HEAP32[$vararg_ptr5>>2] = $23;
+ $vararg_ptr6 = ((($vararg_buffer)) + 24|0);
+ HEAP32[$vararg_ptr6>>2] = 0;
+ $24 = (__gcry_sexp_extract_param($0,0,57446,$vararg_buffer)|0);
+ $trunc = $24&65535;
+ L14: do {
+ switch ($trunc<<16>>16) {
+ case 68: {
+ $25 = (__gcry_sexp_find_token($0,64745,5)|0);
+ $26 = ($25|0)==(0|0);
+ if ($26) {
+ $$275 = 0;$$3 = 0;
+ } else {
+ $27 = (__gcry_sexp_nth_string($25,1)|0);
+ __gcry_sexp_release($25);
+ $28 = ($27|0)==(0|0);
+ if ($28) {
+ $$275 = 0;$$3 = 0;
+ } else {
+ $29 = (_find_domain_parms_idx($27)|0);
+ __gcry_free($27);
+ $30 = ($29|0)>(-1);
+ if (!($30)) {
+ $$1 = 0;
+ STACKTOP = sp;return ($$1|0);
+ }
+ $31 = (240 + (($29*48)|0)|0);
+ $32 = HEAP32[$31>>2]|0;
+ if (!($12)) {
+ $$1 = $32;
+ STACKTOP = sp;return ($$1|0);
+ }
+ $33 = (((240 + (($29*48)|0)|0)) + 4|0);
+ $34 = HEAP32[$33>>2]|0;
+ HEAP32[$2>>2] = $34;
+ $$1 = $32;
+ STACKTOP = sp;return ($$1|0);
+ }
+ }
+ break;
+ }
+ case 0: {
+ $35 = HEAP32[$11>>2]|0;
+ $36 = ($35|0)==(0|0);
+ if (!($36)) {
+ $37 = ((($10)) + 20|0);
+ __gcry_mpi_point_init($37);
+ $38 = HEAP32[$11>>2]|0;
+ $39 = (__gcry_ecc_os2ec($37,$38)|0);
+ $40 = ($39|0)==(0);
+ if (!($40)) {
+ $$275 = 0;$$3 = 0;
+ break L14;
+ }
+ }
+ $41 = ((($10)) + 20|0);
+ $42 = ((($10)) + 24|0);
+ $$072143 = 0;$$073142 = 0;$107 = 240;
+ while(1) {
+ __gcry_mpi_free($$073142);
+ $43 = (((240 + (($$072143*48)|0)|0)) + 20|0);
+ $44 = HEAP32[$43>>2]|0;
+ $45 = (__gcry_mpi_scan($8,4,$44,0,0)|0);
+ $46 = ($45|0)==(0);
+ if (!($46)) {
+ label = 17;
+ break;
+ }
+ $48 = HEAP32[$8>>2]|0;
+ $49 = HEAP32[$19>>2]|0;
+ $50 = (__gcry_mpi_cmp($48,$49)|0);
+ $51 = ($50|0)==(0);
+ if ($51) {
+ __gcry_mpi_free($48);
+ $52 = (((240 + (($$072143*48)|0)|0)) + 24|0);
+ $53 = HEAP32[$52>>2]|0;
+ $54 = (__gcry_mpi_scan($7,4,$53,0,0)|0);
+ $55 = ($54|0)==(0);
+ if (!($55)) {
+ label = 20;
+ break;
+ }
+ $57 = HEAP32[$7>>2]|0;
+ $58 = HEAP32[$20>>2]|0;
+ $59 = (__gcry_mpi_cmp($57,$58)|0);
+ $60 = ($59|0)==(0);
+ if ($60) {
+ __gcry_mpi_free($57);
+ $61 = (((240 + (($$072143*48)|0)|0)) + 28|0);
+ $62 = HEAP32[$61>>2]|0;
+ $63 = (__gcry_mpi_scan($6,4,$62,0,0)|0);
+ $64 = ($63|0)==(0);
+ if (!($64)) {
+ label = 23;
+ break;
+ }
+ $66 = HEAP32[$6>>2]|0;
+ $67 = HEAP32[$21>>2]|0;
+ $68 = (__gcry_mpi_cmp($66,$67)|0);
+ $69 = ($68|0)==(0);
+ if ($69) {
+ __gcry_mpi_free($66);
+ $70 = (((240 + (($$072143*48)|0)|0)) + 32|0);
+ $71 = HEAP32[$70>>2]|0;
+ $72 = (__gcry_mpi_scan($5,4,$71,0,0)|0);
+ $73 = ($72|0)==(0);
+ if (!($73)) {
+ label = 26;
+ break;
+ }
+ $75 = HEAP32[$5>>2]|0;
+ $76 = HEAP32[$22>>2]|0;
+ $77 = (__gcry_mpi_cmp($75,$76)|0);
+ $78 = ($77|0)==(0);
+ if ($78) {
+ __gcry_mpi_free($75);
+ $79 = (((240 + (($$072143*48)|0)|0)) + 44|0);
+ $80 = HEAP32[$79>>2]|0;
+ $81 = (__gcry_mpi_scan($4,4,$80,0,0)|0);
+ $82 = ($81|0)==(0);
+ if (!($82)) {
+ label = 29;
+ break;
+ }
+ $84 = HEAP32[$4>>2]|0;
+ $85 = HEAP32[$23>>2]|0;
+ $86 = (__gcry_mpi_cmp($84,$85)|0);
+ $87 = ($86|0)==(0);
+ if ($87) {
+ __gcry_mpi_free($84);
+ $88 = (((240 + (($$072143*48)|0)|0)) + 36|0);
+ $89 = HEAP32[$88>>2]|0;
+ $90 = (__gcry_mpi_scan($3,4,$89,0,0)|0);
+ $91 = ($90|0)==(0);
+ if (!($91)) {
+ label = 32;
+ break;
+ }
+ $93 = HEAP32[$3>>2]|0;
+ $94 = HEAP32[$41>>2]|0;
+ $95 = (__gcry_mpi_cmp($93,$94)|0);
+ $96 = ($95|0)==(0);
+ if ($96) {
+ __gcry_mpi_free($93);
+ $97 = (((240 + (($$072143*48)|0)|0)) + 40|0);
+ $98 = HEAP32[$97>>2]|0;
+ $99 = (__gcry_mpi_scan($9,4,$98,0,0)|0);
+ $100 = ($99|0)==(0);
+ if (!($100)) {
+ label = 35;
+ break;
+ }
+ $102 = HEAP32[$9>>2]|0;
+ $103 = HEAP32[$42>>2]|0;
+ $104 = (__gcry_mpi_cmp($102,$103)|0);
+ $105 = ($104|0)==(0);
+ if ($105) {
+ label = 37;
+ break;
+ } else {
+ $$174 = $102;
+ }
+ } else {
+ $$174 = $93;
+ }
+ } else {
+ $$174 = $84;
+ }
+ } else {
+ $$174 = $75;
+ }
+ } else {
+ $$174 = $66;
+ }
+ } else {
+ $$174 = $57;
+ }
+ } else {
+ $$174 = $48;
+ }
+ $110 = (($$072143) + 1)|0;
+ $111 = (240 + (($110*48)|0)|0);
+ $112 = ($110|0)==(21);
+ if ($112) {
+ $$275 = $$174;$$3 = 0;
+ break L14;
+ } else {
+ $$072143 = $110;$$073142 = $$174;$107 = $111;
+ }
+ }
+ if ((label|0) == 17) {
+ $47 = (_gpg_strerror($45)|0);
+ HEAP32[$vararg_buffer7>>2] = $47;
+ __gcry_log_fatal(57702,$vararg_buffer7);
+ // unreachable;
+ }
+ else if ((label|0) == 20) {
+ $56 = (_gpg_strerror($54)|0);
+ HEAP32[$vararg_buffer10>>2] = $56;
+ __gcry_log_fatal(57702,$vararg_buffer10);
+ // unreachable;
+ }
+ else if ((label|0) == 23) {
+ $65 = (_gpg_strerror($63)|0);
+ HEAP32[$vararg_buffer13>>2] = $65;
+ __gcry_log_fatal(57702,$vararg_buffer13);
+ // unreachable;
+ }
+ else if ((label|0) == 26) {
+ $74 = (_gpg_strerror($72)|0);
+ HEAP32[$vararg_buffer16>>2] = $74;
+ __gcry_log_fatal(57702,$vararg_buffer16);
+ // unreachable;
+ }
+ else if ((label|0) == 29) {
+ $83 = (_gpg_strerror($81)|0);
+ HEAP32[$vararg_buffer19>>2] = $83;
+ __gcry_log_fatal(57702,$vararg_buffer19);
+ // unreachable;
+ }
+ else if ((label|0) == 32) {
+ $92 = (_gpg_strerror($90)|0);
+ HEAP32[$vararg_buffer22>>2] = $92;
+ __gcry_log_fatal(57702,$vararg_buffer22);
+ // unreachable;
+ }
+ else if ((label|0) == 35) {
+ $101 = (_gpg_strerror($99)|0);
+ HEAP32[$vararg_buffer25>>2] = $101;
+ __gcry_log_fatal(57702,$vararg_buffer25);
+ // unreachable;
+ }
+ else if ((label|0) == 37) {
+ $106 = HEAP32[$107>>2]|0;
+ if (!($12)) {
+ $$275 = $102;$$3 = $106;
+ break L14;
+ }
+ $108 = (((240 + (($$072143*48)|0)|0)) + 4|0);
+ $109 = HEAP32[$108>>2]|0;
+ HEAP32[$2>>2] = $109;
+ $$275 = $102;$$3 = $106;
+ break L14;
+ }
+ break;
+ }
+ default: {
+ $$275 = 0;$$3 = 0;
+ }
+ }
+ } while(0);
+ __gcry_mpi_release($$275);
+ $113 = HEAP32[$19>>2]|0;
+ __gcry_mpi_release($113);
+ $114 = HEAP32[$20>>2]|0;
+ __gcry_mpi_release($114);
+ $115 = HEAP32[$21>>2]|0;
+ __gcry_mpi_release($115);
+ $116 = HEAP32[$11>>2]|0;
+ __gcry_mpi_release($116);
+ $117 = ((($10)) + 20|0);
+ __gcry_mpi_point_free_parts($117);
+ $118 = HEAP32[$22>>2]|0;
+ __gcry_mpi_release($118);
+ $119 = HEAP32[$23>>2]|0;
+ __gcry_mpi_release($119);
+ $$1 = $$3;
+ STACKTOP = sp;return ($$1|0);
+}
+function __gcry_mpi_ec_new($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$092 = 0, $$093 = 0, $$093148149 = 0, $$1 = 0, $$195 = 0, $$197 = 0, $$3 = 0, $$sroa$0$1 = 0, $$sroa$0$1147150 = 0, $$sroa$0$1147151 = 0, $$sroa$0$2 = 0, $$sroa$0$4 = 0, $$sroa$0$6 = 0, $$sroa$0116$0$ph = 0, $$sroa$0116$1 = 0, $$sroa$0116$1146152 = 0, $$sroa$0116$1146153 = 0, $$sroa$0116$2 = 0, $$sroa$0116$4 = 0, $$sroa$0116$6 = 0;
+ var $$sroa$0121$0$ph = 0, $$sroa$0121$1 = 0, $$sroa$0121$1145154 = 0, $$sroa$0121$1145155 = 0, $$sroa$0121$2 = 0, $$sroa$0121$4 = 0, $$sroa$0121$6 = 0, $$sroa$0127$0$ph = 0, $$sroa$0127$1 = 0, $$sroa$0127$1144156 = 0, $$sroa$0127$1144157 = 0, $$sroa$0127$2 = 0, $$sroa$0127$4 = 0, $$sroa$0127$5 = 0, $$sroa$0132$0$ph = 0, $$sroa$0132$1 = 0, $$sroa$0132$1143158 = 0, $$sroa$0132$1143159 = 0, $$sroa$0132$2 = 0, $$sroa$0132$4 = 0;
+ var $$sroa$0132$5 = 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, $116 = 0;
+ var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $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, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0;
+ var $or$cond = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $3 = sp + 12|0;
+ $4 = sp + 8|0;
+ $5 = sp + 4|0;
+ $6 = sp;
+ HEAP32[$3>>2] = 0;
+ HEAP32[$4>>2] = 0;
+ HEAP32[$5>>2] = 0;
+ HEAP32[$6>>2] = 0;
+ HEAP32[$0>>2] = 0;
+ $7 = ($1|0)!=(0|0);
+ do {
+ if ($7) {
+ $8 = (__gcry_sexp_find_token($1,64705,0)|0);
+ $9 = ($8|0)==(0|0);
+ if (!($9)) {
+ $10 = (__gcry_pk_util_parse_flaglist($8,$6,0)|0);
+ __gcry_sexp_release($8);
+ $11 = ($10|0)==(0);
+ if (!($11)) {
+ $$3 = $10;$$sroa$0$6 = 0;$$sroa$0116$6 = 0;$$sroa$0121$6 = 0;$$sroa$0127$5 = 0;$$sroa$0132$5 = 0;
+ break;
+ }
+ }
+ $12 = (__gcry_sexp_find_token($1,64745,5)|0);
+ $13 = ($12|0)==(0|0);
+ if (!($13)) {
+ $14 = HEAP32[$6>>2]|0;
+ $15 = $14 & 512;
+ $16 = ($15|0)==(0);
+ if ($16) {
+ $$093148149 = $12;$$sroa$0$1147150 = 0;$$sroa$0116$1146152 = 0;$$sroa$0121$1145154 = 0;$$sroa$0127$1144156 = 0;$$sroa$0132$1143158 = 0;
+ label = 19;
+ break;
+ }
+ }
+ $17 = (__gcry_sexp_find_token($1,64769,0)|0);
+ $18 = ($17|0)==(0|0);
+ if ($18) {
+ $$sroa$0132$0$ph = 0;
+ } else {
+ $19 = (__gcry_sexp_nth_mpi($17,1,5)|0);
+ $20 = $19;
+ __gcry_sexp_release($17);
+ $21 = ($19|0)==(0|0);
+ if ($21) {
+ $$3 = 65;$$sroa$0$6 = 0;$$sroa$0116$6 = 0;$$sroa$0121$6 = 0;$$sroa$0127$5 = 0;$$sroa$0132$5 = $20;
+ break;
+ } else {
+ $$sroa$0132$0$ph = $20;
+ }
+ }
+ $22 = (__gcry_sexp_find_token($1,60979,0)|0);
+ $23 = ($22|0)==(0|0);
+ if ($23) {
+ $$sroa$0127$0$ph = 0;
+ } else {
+ $24 = (__gcry_sexp_nth_mpi($22,1,5)|0);
+ $25 = $24;
+ __gcry_sexp_release($22);
+ $26 = ($24|0)==(0|0);
+ if ($26) {
+ $$3 = 65;$$sroa$0$6 = 0;$$sroa$0116$6 = 0;$$sroa$0121$6 = 0;$$sroa$0127$5 = $25;$$sroa$0132$5 = $$sroa$0132$0$ph;
+ break;
+ } else {
+ $$sroa$0127$0$ph = $25;
+ }
+ }
+ $27 = (__gcry_sexp_find_token($1,57454,0)|0);
+ $28 = ($27|0)==(0|0);
+ if ($28) {
+ $$sroa$0121$0$ph = 0;
+ } else {
+ $29 = (__gcry_sexp_nth_mpi($27,1,5)|0);
+ $30 = $29;
+ __gcry_sexp_release($27);
+ $31 = ($29|0)==(0|0);
+ if ($31) {
+ $$3 = 65;$$sroa$0$6 = 0;$$sroa$0116$6 = 0;$$sroa$0121$6 = $30;$$sroa$0127$5 = $$sroa$0127$0$ph;$$sroa$0132$5 = $$sroa$0132$0$ph;
+ break;
+ } else {
+ $$sroa$0121$0$ph = $30;
+ }
+ }
+ $32 = (_point_from_keyparam($4,$1,57456,0)|0);
+ $33 = ($32|0)==(0);
+ if ($33) {
+ $34 = (__gcry_sexp_find_token($1,60983,0)|0);
+ $35 = ($34|0)==(0|0);
+ if ($35) {
+ $$sroa$0116$0$ph = 0;
+ } else {
+ $36 = (__gcry_sexp_nth_mpi($34,1,5)|0);
+ $37 = $36;
+ __gcry_sexp_release($34);
+ $38 = ($36|0)==(0|0);
+ if ($38) {
+ $$3 = 65;$$sroa$0$6 = 0;$$sroa$0116$6 = $37;$$sroa$0121$6 = $$sroa$0121$0$ph;$$sroa$0127$5 = $$sroa$0127$0$ph;$$sroa$0132$5 = $$sroa$0132$0$ph;
+ break;
+ } else {
+ $$sroa$0116$0$ph = $37;
+ }
+ }
+ $39 = (__gcry_sexp_find_token($1,57458,0)|0);
+ $40 = ($39|0)==(0|0);
+ if ($40) {
+ $$093 = $12;$$sroa$0$1 = 0;$$sroa$0116$1 = $$sroa$0116$0$ph;$$sroa$0121$1 = $$sroa$0121$0$ph;$$sroa$0127$1 = $$sroa$0127$0$ph;$$sroa$0132$1 = $$sroa$0132$0$ph;
+ label = 17;
+ } else {
+ $41 = (__gcry_sexp_nth_mpi($39,1,5)|0);
+ $42 = $41;
+ __gcry_sexp_release($39);
+ $43 = ($41|0)==(0|0);
+ if ($43) {
+ $$3 = 65;$$sroa$0$6 = $42;$$sroa$0116$6 = $$sroa$0116$0$ph;$$sroa$0121$6 = $$sroa$0121$0$ph;$$sroa$0127$5 = $$sroa$0127$0$ph;$$sroa$0132$5 = $$sroa$0132$0$ph;
+ } else {
+ $$093 = $12;$$sroa$0$1 = $42;$$sroa$0116$1 = $$sroa$0116$0$ph;$$sroa$0121$1 = $$sroa$0121$0$ph;$$sroa$0127$1 = $$sroa$0127$0$ph;$$sroa$0132$1 = $$sroa$0132$0$ph;
+ label = 17;
+ }
+ }
+ } else {
+ $$3 = $32;$$sroa$0$6 = 0;$$sroa$0116$6 = 0;$$sroa$0121$6 = $$sroa$0121$0$ph;$$sroa$0127$5 = $$sroa$0127$0$ph;$$sroa$0132$5 = $$sroa$0132$0$ph;
+ }
+ } else {
+ $$093 = 0;$$sroa$0$1 = 0;$$sroa$0116$1 = 0;$$sroa$0121$1 = 0;$$sroa$0127$1 = 0;$$sroa$0132$1 = 0;
+ label = 17;
+ }
+ } while(0);
+ if ((label|0) == 17) {
+ $44 = ($$093|0)!=(0|0);
+ $45 = ($2|0)!=(0|0);
+ $or$cond = $45 | $44;
+ if ($or$cond) {
+ if ($44) {
+ $$093148149 = $$093;$$sroa$0$1147150 = $$sroa$0$1;$$sroa$0116$1146152 = $$sroa$0116$1;$$sroa$0121$1145154 = $$sroa$0121$1;$$sroa$0127$1144156 = $$sroa$0127$1;$$sroa$0132$1143158 = $$sroa$0132$1;
+ label = 19;
+ } else {
+ $$092 = 0;$$sroa$0$1147151 = $$sroa$0$1;$$sroa$0116$1146153 = $$sroa$0116$1;$$sroa$0121$1145155 = $$sroa$0121$1;$$sroa$0127$1144157 = $$sroa$0127$1;$$sroa$0132$1143159 = $$sroa$0132$1;
+ label = 20;
+ }
+ } else {
+ $$195 = 0;$$197 = 0;$$sroa$0$4 = $$sroa$0$1;$$sroa$0116$4 = $$sroa$0116$1;$$sroa$0121$4 = $$sroa$0121$1;$$sroa$0127$4 = $$sroa$0127$1;$$sroa$0132$4 = $$sroa$0132$1;
+ label = 37;
+ }
+ }
+ if ((label|0) == 19) {
+ $46 = (__gcry_sexp_nth_string($$093148149,1)|0);
+ __gcry_sexp_release($$093148149);
+ $47 = ($46|0)==(0|0);
+ if ($47) {
+ $$3 = 65;$$sroa$0$6 = $$sroa$0$1147150;$$sroa$0116$6 = $$sroa$0116$1146152;$$sroa$0121$6 = $$sroa$0121$1145154;$$sroa$0127$5 = $$sroa$0127$1144156;$$sroa$0132$5 = $$sroa$0132$1143158;
+ } else {
+ $$092 = $46;$$sroa$0$1147151 = $$sroa$0$1147150;$$sroa$0116$1146153 = $$sroa$0116$1146152;$$sroa$0121$1145155 = $$sroa$0121$1145154;$$sroa$0127$1144157 = $$sroa$0127$1144156;$$sroa$0132$1143159 = $$sroa$0132$1143158;
+ label = 20;
+ }
+ }
+ do {
+ if ((label|0) == 20) {
+ $48 = (__gcry_calloc(1,44)|0);
+ $49 = ($48|0)==(0|0);
+ if ($49) {
+ $50 = (_gpg_err_code_from_syserror()|0);
+ __gcry_free($$092);
+ $$3 = $50;$$sroa$0$6 = $$sroa$0$1147151;$$sroa$0116$6 = $$sroa$0116$1146153;$$sroa$0121$6 = $$sroa$0121$1145155;$$sroa$0127$5 = $$sroa$0127$1144157;$$sroa$0132$5 = $$sroa$0132$1143159;
+ break;
+ }
+ $51 = ($$092|0)==(0|0);
+ $52 = $51 ? $2 : $$092;
+ $53 = (__gcry_ecc_fill_in_curve(0,$52,$48,0)|0);
+ __gcry_free($$092);
+ $54 = ($53|0)==(0);
+ if (!($54)) {
+ __gcry_free($48);
+ $$3 = $53;$$sroa$0$6 = $$sroa$0$1147151;$$sroa$0116$6 = $$sroa$0116$1146153;$$sroa$0121$6 = $$sroa$0121$1145155;$$sroa$0127$5 = $$sroa$0127$1144157;$$sroa$0132$5 = $$sroa$0132$1143159;
+ break;
+ }
+ $55 = HEAP32[$48>>2]|0;
+ $56 = ((($48)) + 4|0);
+ $57 = HEAP32[$56>>2]|0;
+ $58 = ($$sroa$0132$1143159|0)==(0);
+ if ($58) {
+ $59 = ((($48)) + 8|0);
+ $60 = HEAP32[$59>>2]|0;
+ HEAP32[$59>>2] = 0;
+ $$sroa$0132$2 = $60;
+ } else {
+ $$sroa$0132$2 = $$sroa$0132$1143159;
+ }
+ $61 = ($$sroa$0127$1144157|0)==(0);
+ if ($61) {
+ $62 = ((($48)) + 12|0);
+ $63 = HEAP32[$62>>2]|0;
+ HEAP32[$62>>2] = 0;
+ $$sroa$0127$2 = $63;
+ } else {
+ $$sroa$0127$2 = $$sroa$0127$1144157;
+ }
+ $64 = ($$sroa$0121$1145155|0)==(0);
+ if ($64) {
+ $65 = ((($48)) + 16|0);
+ $66 = HEAP32[$65>>2]|0;
+ HEAP32[$65>>2] = 0;
+ $$sroa$0121$2 = $66;
+ } else {
+ $$sroa$0121$2 = $$sroa$0121$1145155;
+ }
+ $67 = HEAP32[$4>>2]|0;
+ $68 = ($67|0)==(0|0);
+ if ($68) {
+ $69 = ((($48)) + 20|0);
+ $70 = HEAP32[$69>>2]|0;
+ $71 = ((($48)) + 24|0);
+ $72 = HEAP32[$71>>2]|0;
+ $73 = ((($48)) + 28|0);
+ $74 = HEAP32[$73>>2]|0;
+ $75 = (__gcry_mpi_point_snatch_set(0,$70,$72,$74)|0);
+ HEAP32[$4>>2] = $75;
+ HEAP32[$69>>2] = 0;
+ HEAP32[$71>>2] = 0;
+ HEAP32[$73>>2] = 0;
+ }
+ $76 = ($$sroa$0116$1146153|0)==(0);
+ if ($76) {
+ $77 = ((($48)) + 32|0);
+ $78 = HEAP32[$77>>2]|0;
+ HEAP32[$77>>2] = 0;
+ $$sroa$0116$2 = $78;
+ } else {
+ $$sroa$0116$2 = $$sroa$0116$1146153;
+ }
+ $79 = ($$sroa$0$1147151|0)==(0);
+ if ($79) {
+ $80 = ((($48)) + 36|0);
+ $81 = HEAP32[$80>>2]|0;
+ HEAP32[$80>>2] = 0;
+ $$sroa$0$2 = $81;
+ } else {
+ $$sroa$0$2 = $$sroa$0$1147151;
+ }
+ __gcry_ecc_curve_free($48);
+ __gcry_free($48);
+ $$195 = $57;$$197 = $55;$$sroa$0$4 = $$sroa$0$2;$$sroa$0116$4 = $$sroa$0116$2;$$sroa$0121$4 = $$sroa$0121$2;$$sroa$0127$4 = $$sroa$0127$2;$$sroa$0132$4 = $$sroa$0132$2;
+ label = 37;
+ }
+ } while(0);
+ do {
+ if ((label|0) == 37) {
+ $82 = HEAP32[$6>>2]|0;
+ $83 = $$sroa$0132$4;
+ $84 = $$sroa$0127$4;
+ $85 = $$sroa$0121$4;
+ $86 = (__gcry_mpi_ec_p_new($3,$$197,$$195,$82,$83,$84,$85)|0);
+ $87 = ($86|0)==(0);
+ if ($87) {
+ $88 = HEAP32[$3>>2]|0;
+ $89 = (__gcry_ctx_get_pointer($88,1)|0);
+ $90 = ($$sroa$0121$4|0)==(0);
+ if (!($90)) {
+ $91 = ((($89)) + 24|0);
+ $92 = HEAP32[$91>>2]|0;
+ __gcry_mpi_free($92);
+ HEAP32[$91>>2] = $$sroa$0121$4;
+ }
+ $93 = HEAP32[$4>>2]|0;
+ $94 = ($93|0)==(0|0);
+ if (!($94)) {
+ $95 = ((($89)) + 28|0);
+ HEAP32[$95>>2] = $93;
+ HEAP32[$4>>2] = 0;
+ }
+ $96 = ($$sroa$0116$4|0)==(0);
+ if (!($96)) {
+ $97 = $$sroa$0116$4;
+ $98 = ((($89)) + 32|0);
+ HEAP32[$98>>2] = $97;
+ }
+ $99 = ($$sroa$0$4|0)==(0);
+ if (!($99)) {
+ $100 = $$sroa$0$4;
+ $101 = ((($89)) + 36|0);
+ HEAP32[$101>>2] = $100;
+ }
+ if ($7) {
+ $102 = (_point_from_keyparam($5,$1,64743,$89)|0);
+ $103 = ($102|0)==(0);
+ if (!($103)) {
+ $$3 = $102;$$sroa$0$6 = 0;$$sroa$0116$6 = 0;$$sroa$0121$6 = 0;$$sroa$0127$5 = $$sroa$0127$4;$$sroa$0132$5 = $$sroa$0132$4;
+ break;
+ }
+ $104 = (__gcry_sexp_find_token($1,57460,0)|0);
+ $105 = ($104|0)==(0|0);
+ if ($105) {
+ $$1 = 0;
+ } else {
+ $106 = (__gcry_sexp_nth_mpi($104,1,5)|0);
+ __gcry_sexp_release($104);
+ $107 = ($106|0)==(0|0);
+ if ($107) {
+ $$3 = 65;$$sroa$0$6 = 0;$$sroa$0116$6 = 0;$$sroa$0121$6 = 0;$$sroa$0127$5 = $$sroa$0127$4;$$sroa$0132$5 = $$sroa$0132$4;
+ break;
+ } else {
+ $$1 = $106;
+ }
+ }
+ } else {
+ $$1 = 0;
+ }
+ $108 = HEAP32[$5>>2]|0;
+ $109 = ($108|0)==(0|0);
+ if (!($109)) {
+ $110 = ((($89)) + 40|0);
+ HEAP32[$110>>2] = $108;
+ HEAP32[$5>>2] = 0;
+ }
+ $111 = ($$1|0)==(0|0);
+ if (!($111)) {
+ $112 = ((($89)) + 44|0);
+ HEAP32[$112>>2] = $$1;
+ }
+ $113 = HEAP32[$3>>2]|0;
+ HEAP32[$0>>2] = $113;
+ HEAP32[$3>>2] = 0;
+ $$3 = 0;$$sroa$0$6 = 0;$$sroa$0116$6 = 0;$$sroa$0121$6 = 0;$$sroa$0127$5 = $$sroa$0127$4;$$sroa$0132$5 = $$sroa$0132$4;
+ } else {
+ $$3 = $86;$$sroa$0$6 = $$sroa$0$4;$$sroa$0116$6 = $$sroa$0116$4;$$sroa$0121$6 = $$sroa$0121$4;$$sroa$0127$5 = $$sroa$0127$4;$$sroa$0132$5 = $$sroa$0132$4;
+ }
+ }
+ } while(0);
+ $114 = HEAP32[$3>>2]|0;
+ __gcry_ctx_release($114);
+ $115 = $$sroa$0132$5;
+ __gcry_mpi_free($115);
+ $116 = $$sroa$0127$5;
+ __gcry_mpi_free($116);
+ $117 = $$sroa$0121$6;
+ __gcry_mpi_free($117);
+ $118 = HEAP32[$4>>2]|0;
+ __gcry_mpi_point_release($118);
+ $119 = $$sroa$0116$6;
+ __gcry_mpi_free($119);
+ $120 = $$sroa$0$6;
+ __gcry_mpi_free($120);
+ $121 = HEAP32[$5>>2]|0;
+ __gcry_mpi_point_release($121);
+ __gcry_mpi_free(0);
+ STACKTOP = sp;return ($$3|0);
+}
+function _point_from_keyparam($0,$1,$2,$3) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ var $$058 = 0, $$084$ph = 0, $$085$ph = 0, $$160 = 0, $$183 = 0, $$2 = 0, $$3 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0;
+ var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0;
+ var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $4 = (__gcry_sexp_find_token($1,$2,0)|0);
+ $5 = ($4|0)==(0|0);
+ if ($5) {
+ $16 = (_strlen($2)|0);
+ $17 = (($16) + 3)|0;
+ $18 = (__gcry_malloc($17)|0);
+ $19 = ($18|0)==(0|0);
+ if ($19) {
+ $20 = (_gpg_err_code_from_syserror()|0);
+ $$2 = $20;
+ return ($$2|0);
+ }
+ $21 = (___stpcpy($18,$2)|0);
+ ;HEAP8[$21>>0]=HEAP8[57462>>0]|0;HEAP8[$21+1>>0]=HEAP8[57462+1>>0]|0;HEAP8[$21+2>>0]=HEAP8[57462+2>>0]|0;
+ $22 = (__gcry_sexp_find_token($1,$18,0)|0);
+ $23 = ($22|0)==(0|0);
+ if ($23) {
+ $$085$ph = 0;
+ } else {
+ $24 = (__gcry_sexp_nth_mpi($22,1,5)|0);
+ __gcry_sexp_release($22);
+ $25 = ($24|0)==(0|0);
+ if ($25) {
+ __gcry_free($18);
+ $$2 = 65;
+ return ($$2|0);
+ } else {
+ $$085$ph = $24;
+ }
+ }
+ $26 = (___stpcpy($18,$2)|0);
+ ;HEAP8[$26>>0]=HEAP8[57465>>0]|0;HEAP8[$26+1>>0]=HEAP8[57465+1>>0]|0;HEAP8[$26+2>>0]=HEAP8[57465+2>>0]|0;
+ $27 = (__gcry_sexp_find_token($1,$18,0)|0);
+ $28 = ($27|0)==(0|0);
+ if ($28) {
+ $$084$ph = 0;
+ } else {
+ $29 = (__gcry_sexp_nth_mpi($27,1,5)|0);
+ __gcry_sexp_release($27);
+ $30 = ($29|0)==(0|0);
+ if ($30) {
+ __gcry_mpi_free($$085$ph);
+ __gcry_free($18);
+ $$2 = 65;
+ return ($$2|0);
+ } else {
+ $$084$ph = $29;
+ }
+ }
+ $31 = (___stpcpy($18,$2)|0);
+ ;HEAP8[$31>>0]=HEAP8[57468>>0]|0;HEAP8[$31+1>>0]=HEAP8[57468+1>>0]|0;HEAP8[$31+2>>0]=HEAP8[57468+2>>0]|0;
+ $32 = (__gcry_sexp_find_token($1,$18,0)|0);
+ $33 = ($32|0)==(0|0);
+ if ($33) {
+ $36 = (__gcry_mpi_set_ui(0,1)|0);
+ $$183 = $36;
+ } else {
+ $34 = (__gcry_sexp_nth_mpi($32,1,5)|0);
+ __gcry_sexp_release($32);
+ $35 = ($34|0)==(0|0);
+ if ($35) {
+ __gcry_mpi_free($$084$ph);
+ __gcry_mpi_free($$085$ph);
+ __gcry_free($18);
+ $$2 = 65;
+ return ($$2|0);
+ } else {
+ $$183 = $34;
+ }
+ }
+ $37 = ($$085$ph|0)!=(0|0);
+ $38 = ($$084$ph|0)!=(0|0);
+ $or$cond = $37 & $38;
+ if ($or$cond) {
+ $39 = (__gcry_mpi_point_snatch_set(0,$$085$ph,$$084$ph,$$183)|0);
+ $$160 = $39;
+ } else {
+ __gcry_mpi_free($$085$ph);
+ __gcry_mpi_free($$084$ph);
+ __gcry_mpi_free($$183);
+ $$160 = 0;
+ }
+ __gcry_free($18);
+ $$3 = $$160;
+ } else {
+ $6 = (__gcry_sexp_nth_mpi($4,1,8)|0);
+ __gcry_sexp_release($4);
+ $7 = ($6|0)==(0|0);
+ if ($7) {
+ $$2 = 65;
+ return ($$2|0);
+ }
+ $8 = (__gcry_mpi_point_new(0)|0);
+ $9 = ($3|0)==(0|0);
+ if ($9) {
+ label = 6;
+ } else {
+ $10 = ((($3)) + 4|0);
+ $11 = HEAP32[$10>>2]|0;
+ $12 = ($11|0)==(1);
+ if ($12) {
+ $13 = (__gcry_ecc_eddsa_decodepoint($6,$3,$8,0,0)|0);
+ $$058 = $13;
+ } else {
+ label = 6;
+ }
+ }
+ if ((label|0) == 6) {
+ $14 = (__gcry_ecc_os2ec($8,$6)|0);
+ $$058 = $14;
+ }
+ __gcry_mpi_free($6);
+ $15 = ($$058|0)==(0);
+ if ($15) {
+ $$3 = $8;
+ } else {
+ __gcry_mpi_point_release($8);
+ $$2 = $$058;
+ return ($$2|0);
+ }
+ }
+ $40 = ($$3|0)==(0|0);
+ if ($40) {
+ $$2 = 0;
+ return ($$2|0);
+ }
+ HEAP32[$0>>2] = $$3;
+ $$2 = 0;
+ return ($$2|0);
+}
+function __gcry_ecc_get_param_sexp($0) {
+ $0 = $0|0;
+ var $$019 = 0, $$020 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
+ var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0;
+ var $44 = 0, $45 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, dest = 0, label = 0, sp = 0, stop = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0);
+ $vararg_buffer1 = sp + 40|0;
+ $vararg_buffer = sp + 32|0;
+ $1 = sp + 112|0;
+ $2 = sp + 68|0;
+ $3 = sp;
+ $4 = sp + 64|0;
+ dest=$2; stop=dest+44|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
+ $5 = (__gcry_ecc_fill_in_curve(0,$0,$2,$1)|0);
+ $6 = ($5|0)==(0);
+ if (!($6)) {
+ $$019 = 0;
+ STACKTOP = sp;return ($$019|0);
+ }
+ $7 = (__gcry_mpi_new(0)|0);
+ $8 = (__gcry_mpi_new(0)|0);
+ $9 = ((($2)) + 8|0);
+ $10 = HEAP32[$9>>2]|0;
+ $11 = ((($2)) + 12|0);
+ $12 = HEAP32[$11>>2]|0;
+ $13 = (__gcry_mpi_ec_p_internal_new(0,0,0,$10,$12,0)|0);
+ $14 = ((($2)) + 20|0);
+ $15 = (__gcry_mpi_ec_get_affine($7,$8,$14,$13)|0);
+ $16 = ($15|0)==(0);
+ if (!($16)) {
+ __gcry_log_fatal(57471,$vararg_buffer);
+ // unreachable;
+ }
+ __gcry_mpi_ec_free($13);
+ __gcry_mpi_point_free_parts($14);
+ $17 = HEAP32[$9>>2]|0;
+ HEAP32[$3>>2] = $17;
+ $18 = HEAP32[$11>>2]|0;
+ $19 = ((($3)) + 4|0);
+ HEAP32[$19>>2] = $18;
+ $20 = ((($2)) + 16|0);
+ $21 = HEAP32[$20>>2]|0;
+ $22 = ((($3)) + 8|0);
+ HEAP32[$22>>2] = $21;
+ $23 = $17;
+ $24 = (__gcry_ecc_ec2os($7,$8,$23)|0);
+ $25 = ((($3)) + 12|0);
+ HEAP32[$25>>2] = $24;
+ $26 = ((($2)) + 32|0);
+ $27 = HEAP32[$26>>2]|0;
+ $28 = ((($3)) + 16|0);
+ HEAP32[$28>>2] = $27;
+ $29 = ((($2)) + 36|0);
+ $30 = HEAP32[$29>>2]|0;
+ $31 = ((($3)) + 20|0);
+ HEAP32[$31>>2] = $30;
+ $32 = ((($3)) + 24|0);
+ HEAP32[$32>>2] = 0;
+ __gcry_mpi_free($7);
+ __gcry_mpi_free($8);
+ $33 = $18;
+ $34 = $21;
+ $35 = $27;
+ $36 = $30;
+ HEAP32[$vararg_buffer1>>2] = $23;
+ $vararg_ptr3 = ((($vararg_buffer1)) + 4|0);
+ HEAP32[$vararg_ptr3>>2] = $33;
+ $vararg_ptr4 = ((($vararg_buffer1)) + 8|0);
+ HEAP32[$vararg_ptr4>>2] = $34;
+ $vararg_ptr5 = ((($vararg_buffer1)) + 12|0);
+ HEAP32[$vararg_ptr5>>2] = $24;
+ $vararg_ptr6 = ((($vararg_buffer1)) + 16|0);
+ HEAP32[$vararg_ptr6>>2] = $35;
+ $vararg_ptr7 = ((($vararg_buffer1)) + 20|0);
+ HEAP32[$vararg_ptr7>>2] = $36;
+ $37 = (__gcry_sexp_build($4,0,57520,$vararg_buffer1)|0);
+ $38 = ($37|0)==(0);
+ if (!($38)) {
+ HEAP32[$4>>2] = 0;
+ }
+ $39 = ($17|0)==(0);
+ if (!($39)) {
+ $$020 = 0;$40 = $23;
+ while(1) {
+ __gcry_mpi_release($40);
+ $41 = (($$020) + 1)|0;
+ $42 = (($3) + ($41<<2)|0);
+ $43 = HEAP32[$42>>2]|0;
+ $44 = ($43|0)==(0|0);
+ if ($44) {
+ break;
+ } else {
+ $$020 = $41;$40 = $43;
+ }
+ }
+ }
+ $45 = HEAP32[$4>>2]|0;
+ $$019 = $45;
+ STACKTOP = sp;return ($$019|0);
+}
+function __gcry_ecc_get_mpi($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$1 = 0, $$pre = 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, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $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, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0;
+ var $or$cond = 0, $or$cond11 = 0, $or$cond13 = 0, $or$cond15 = 0, $or$cond17 = 0, $or$cond19 = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $3 = sp + 4|0;
+ $4 = sp;
+ $5 = HEAP8[$0>>0]|0;
+ $6 = ($5<<24>>24)==(0);
+ L1: do {
+ if ($6) {
+ $$1 = 0;
+ } else {
+ $7 = (_strcmp($0,64769)|0);
+ $8 = ($7|0)==(0);
+ if ($8) {
+ $9 = ((($1)) + 16|0);
+ $10 = HEAP32[$9>>2]|0;
+ $11 = ($10|0)==(0|0);
+ if (!($11)) {
+ $12 = ((($10)) + 12|0);
+ $13 = HEAP32[$12>>2]|0;
+ $14 = $13 & 32;
+ $15 = ($14|0)==(0);
+ $16 = ($2|0)!=(0);
+ $or$cond = $16 | $15;
+ if (!($or$cond)) {
+ $$1 = $10;
+ break;
+ }
+ $17 = (__gcry_mpi_copy($10)|0);
+ $$1 = $17;
+ break;
+ }
+ }
+ $18 = (_strcmp($0,60979)|0);
+ $19 = ($18|0)==(0);
+ if ($19) {
+ $20 = ((($1)) + 20|0);
+ $21 = HEAP32[$20>>2]|0;
+ $22 = ($21|0)==(0|0);
+ if (!($22)) {
+ $23 = ((($21)) + 12|0);
+ $24 = HEAP32[$23>>2]|0;
+ $25 = $24 & 32;
+ $26 = ($25|0)==(0);
+ $27 = ($2|0)!=(0);
+ $or$cond3 = $27 | $26;
+ if (!($or$cond3)) {
+ $$1 = $21;
+ break;
+ }
+ $28 = (__gcry_mpi_copy($21)|0);
+ $$1 = $28;
+ break;
+ }
+ }
+ $29 = (_strcmp($0,57454)|0);
+ $30 = ($29|0)==(0);
+ if ($30) {
+ $31 = ((($1)) + 24|0);
+ $32 = HEAP32[$31>>2]|0;
+ $33 = ($32|0)==(0|0);
+ if (!($33)) {
+ $34 = ((($32)) + 12|0);
+ $35 = HEAP32[$34>>2]|0;
+ $36 = $35 & 32;
+ $37 = ($36|0)==(0);
+ $38 = ($2|0)!=(0);
+ $or$cond5 = $38 | $37;
+ if (!($or$cond5)) {
+ $$1 = $32;
+ break;
+ }
+ $39 = (__gcry_mpi_copy($32)|0);
+ $$1 = $39;
+ break;
+ }
+ }
+ $40 = (_strcmp($0,60983)|0);
+ $41 = ($40|0)==(0);
+ if ($41) {
+ $42 = ((($1)) + 32|0);
+ $43 = HEAP32[$42>>2]|0;
+ $44 = ($43|0)==(0|0);
+ if (!($44)) {
+ $45 = ((($43)) + 12|0);
+ $46 = HEAP32[$45>>2]|0;
+ $47 = $46 & 32;
+ $48 = ($47|0)==(0);
+ $49 = ($2|0)!=(0);
+ $or$cond7 = $49 | $48;
+ if (!($or$cond7)) {
+ $$1 = $43;
+ break;
+ }
+ $50 = (__gcry_mpi_copy($43)|0);
+ $$1 = $50;
+ break;
+ }
+ }
+ $51 = (_strcmp($0,57458)|0);
+ $52 = ($51|0)==(0);
+ if ($52) {
+ $53 = ((($1)) + 36|0);
+ $54 = HEAP32[$53>>2]|0;
+ $55 = ($54|0)==(0|0);
+ if (!($55)) {
+ $56 = ((($54)) + 12|0);
+ $57 = HEAP32[$56>>2]|0;
+ $58 = $57 & 32;
+ $59 = ($58|0)==(0);
+ $60 = ($2|0)!=(0);
+ $or$cond9 = $60 | $59;
+ if (!($or$cond9)) {
+ $$1 = $54;
+ break;
+ }
+ $61 = (__gcry_mpi_copy($54)|0);
+ $$1 = $61;
+ break;
+ }
+ }
+ $62 = (_strcmp($0,57460)|0);
+ $63 = ($62|0)==(0);
+ if ($63) {
+ $64 = ((($1)) + 44|0);
+ $65 = HEAP32[$64>>2]|0;
+ $66 = ($65|0)==(0|0);
+ if (!($66)) {
+ $67 = ((($65)) + 12|0);
+ $68 = HEAP32[$67>>2]|0;
+ $69 = $68 & 32;
+ $70 = ($69|0)==(0);
+ $71 = ($2|0)!=(0);
+ $or$cond11 = $71 | $70;
+ if (!($or$cond11)) {
+ $$1 = $65;
+ break;
+ }
+ $72 = (__gcry_mpi_copy($65)|0);
+ $$1 = $72;
+ break;
+ }
+ }
+ $73 = (_strcmp($0,57568)|0);
+ $74 = ($73|0)==(0);
+ if ($74) {
+ $75 = ((($1)) + 28|0);
+ $76 = HEAP32[$75>>2]|0;
+ $77 = ($76|0)==(0|0);
+ if (!($77)) {
+ $78 = HEAP32[$76>>2]|0;
+ $79 = ($78|0)==(0|0);
+ if (!($79)) {
+ $80 = ((($78)) + 12|0);
+ $81 = HEAP32[$80>>2]|0;
+ $82 = $81 & 32;
+ $83 = ($82|0)==(0);
+ $84 = ($2|0)!=(0);
+ $or$cond13 = $84 | $83;
+ if (!($or$cond13)) {
+ $$1 = $78;
+ break;
+ }
+ $85 = (__gcry_mpi_copy($78)|0);
+ $$1 = $85;
+ break;
+ }
+ }
+ }
+ $86 = (_strcmp($0,57572)|0);
+ $87 = ($86|0)==(0);
+ if ($87) {
+ $88 = ((($1)) + 28|0);
+ $89 = HEAP32[$88>>2]|0;
+ $90 = ($89|0)==(0|0);
+ if (!($90)) {
+ $91 = ((($89)) + 4|0);
+ $92 = HEAP32[$91>>2]|0;
+ $93 = ($92|0)==(0|0);
+ if (!($93)) {
+ $94 = ((($92)) + 12|0);
+ $95 = HEAP32[$94>>2]|0;
+ $96 = $95 & 32;
+ $97 = ($96|0)==(0);
+ $98 = ($2|0)!=(0);
+ $or$cond15 = $98 | $97;
+ if (!($or$cond15)) {
+ $$1 = $92;
+ break;
+ }
+ $99 = (__gcry_mpi_copy($92)|0);
+ $$1 = $99;
+ break;
+ }
+ }
+ }
+ $100 = (_strcmp($0,57576)|0);
+ $101 = ($100|0)==(0);
+ if ($101) {
+ $102 = ((($1)) + 40|0);
+ $103 = HEAP32[$102>>2]|0;
+ $104 = ($103|0)==(0|0);
+ if (!($104)) {
+ $105 = HEAP32[$103>>2]|0;
+ $106 = ($105|0)==(0|0);
+ if (!($106)) {
+ $107 = ((($105)) + 12|0);
+ $108 = HEAP32[$107>>2]|0;
+ $109 = $108 & 32;
+ $110 = ($109|0)==(0);
+ $111 = ($2|0)!=(0);
+ $or$cond17 = $111 | $110;
+ if (!($or$cond17)) {
+ $$1 = $105;
+ break;
+ }
+ $112 = (__gcry_mpi_copy($105)|0);
+ $$1 = $112;
+ break;
+ }
+ }
+ }
+ $113 = (_strcmp($0,57580)|0);
+ $114 = ($113|0)==(0);
+ if ($114) {
+ $115 = ((($1)) + 40|0);
+ $116 = HEAP32[$115>>2]|0;
+ $117 = ($116|0)==(0|0);
+ if (!($117)) {
+ $118 = ((($116)) + 4|0);
+ $119 = HEAP32[$118>>2]|0;
+ $120 = ($119|0)==(0|0);
+ if (!($120)) {
+ $121 = ((($1)) + 28|0);
+ $122 = HEAP32[$121>>2]|0;
+ $123 = ((($122)) + 4|0);
+ $124 = HEAP32[$123>>2]|0;
+ $125 = ($124|0)==(0|0);
+ if (!($125)) {
+ $126 = ((($124)) + 12|0);
+ $127 = HEAP32[$126>>2]|0;
+ $128 = $127 & 32;
+ $129 = ($128|0)==(0);
+ $130 = ($2|0)!=(0);
+ $or$cond19 = $130 | $129;
+ if (!($or$cond19)) {
+ $$1 = $119;
+ break;
+ }
+ }
+ $131 = (__gcry_mpi_copy($119)|0);
+ $$1 = $131;
+ break;
+ }
+ }
+ }
+ $132 = (_strcmp($0,57456)|0);
+ $133 = ($132|0)==(0);
+ if ($133) {
+ $134 = ((($1)) + 28|0);
+ $135 = HEAP32[$134>>2]|0;
+ $136 = ($135|0)==(0|0);
+ if (!($136)) {
+ $137 = (__gcry_mpi_ec_ec2os($135,$1)|0);
+ $$1 = $137;
+ break;
+ }
+ }
+ $138 = ($5<<24>>24)==(113);
+ if ($138) {
+ $139 = ((($0)) + 1|0);
+ $140 = HEAP8[$139>>0]|0;
+ switch ($140<<24>>24) {
+ case 64: case 0: {
+ break;
+ }
+ default: {
+ $$1 = 0;
+ break L1;
+ }
+ }
+ $141 = ((($1)) + 40|0);
+ $142 = HEAP32[$141>>2]|0;
+ $143 = ($142|0)==(0|0);
+ if ($143) {
+ $144 = (__gcry_ecc_compute_public(0,$1,0,0)|0);
+ HEAP32[$141>>2] = $144;
+ $145 = ($144|0)==(0|0);
+ if ($145) {
+ $$1 = 0;
+ break;
+ }
+ $$pre = HEAP8[$139>>0]|0;
+ $147 = $$pre;$148 = $144;
+ } else {
+ $147 = $140;$148 = $142;
+ }
+ $146 = ($147<<24>>24)==(64);
+ if (!($146)) {
+ $149 = (__gcry_mpi_ec_ec2os($148,$1)|0);
+ $$1 = $149;
+ break;
+ }
+ $150 = ((($0)) + 2|0);
+ $151 = (_strcmp($150,67434)|0);
+ $152 = ($151|0)==(0);
+ if ($152) {
+ $153 = HEAP32[$1>>2]|0;
+ $154 = ($153|0)==(2);
+ if ($154) {
+ $155 = (__gcry_ecc_eddsa_encodepoint($148,$1,0,0,0,$3,$4)|0);
+ $156 = ($155|0)==(0);
+ if ($156) {
+ $157 = HEAP32[$3>>2]|0;
+ $158 = HEAP32[$4>>2]|0;
+ $159 = $158 << 3;
+ $160 = (__gcry_mpi_set_opaque(0,$157,$159)|0);
+ $$1 = $160;
+ break;
+ } else {
+ $$1 = 0;
+ break;
+ }
+ } else {
+ $$1 = 0;
+ }
+ } else {
+ $$1 = 0;
+ }
+ } else {
+ $$1 = 0;
+ }
+ }
+ } while(0);
+ STACKTOP = sp;return ($$1|0);
+}
+function __gcry_ecc_get_point($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
+ var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $2 = (_strcmp($0,57456)|0);
+ $3 = ($2|0)==(0);
+ if ($3) {
+ $4 = ((($1)) + 28|0);
+ $5 = HEAP32[$4>>2]|0;
+ $6 = ($5|0)==(0|0);
+ if (!($6)) {
+ $7 = (__gcry_mpi_point_new(0)|0);
+ $8 = HEAP32[$7>>2]|0;
+ $9 = HEAP32[$5>>2]|0;
+ (__gcry_mpi_set($8,$9)|0);
+ $10 = ((($7)) + 4|0);
+ $11 = HEAP32[$10>>2]|0;
+ $12 = ((($5)) + 4|0);
+ $13 = HEAP32[$12>>2]|0;
+ (__gcry_mpi_set($11,$13)|0);
+ $14 = ((($7)) + 8|0);
+ $15 = HEAP32[$14>>2]|0;
+ $16 = ((($5)) + 8|0);
+ $17 = HEAP32[$16>>2]|0;
+ (__gcry_mpi_set($15,$17)|0);
+ $$0 = $7;
+ return ($$0|0);
+ }
+ }
+ $18 = (_strcmp($0,64743)|0);
+ $19 = ($18|0)==(0);
+ if (!($19)) {
+ $$0 = 0;
+ return ($$0|0);
+ }
+ $20 = ((($1)) + 40|0);
+ $21 = HEAP32[$20>>2]|0;
+ $22 = ($21|0)==(0|0);
+ if ($22) {
+ $23 = (__gcry_ecc_compute_public(0,$1,0,0)|0);
+ HEAP32[$20>>2] = $23;
+ $24 = ($23|0)==(0|0);
+ if ($24) {
+ $$0 = 0;
+ return ($$0|0);
+ } else {
+ $28 = $23;
+ }
+ } else {
+ $28 = $21;
+ }
+ $25 = (__gcry_mpi_point_new(0)|0);
+ $26 = HEAP32[$25>>2]|0;
+ $27 = HEAP32[$28>>2]|0;
+ (__gcry_mpi_set($26,$27)|0);
+ $29 = ((($25)) + 4|0);
+ $30 = HEAP32[$29>>2]|0;
+ $31 = ((($28)) + 4|0);
+ $32 = HEAP32[$31>>2]|0;
+ (__gcry_mpi_set($30,$32)|0);
+ $33 = ((($25)) + 8|0);
+ $34 = HEAP32[$33>>2]|0;
+ $35 = ((($28)) + 8|0);
+ $36 = HEAP32[$35>>2]|0;
+ (__gcry_mpi_set($34,$36)|0);
+ $$0 = $25;
+ return ($$0|0);
+}
+function __gcry_ecc_eddsa_encodepoint($0,$1,$2,$3,$4,$5,$6) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ $5 = $5|0;
+ $6 = $6|0;
+ var $$0 = 0, $$0$i = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
+ var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $7 = 0, $8 = 0, $9 = 0, $not$$i = 0, $or$cond$i = 0, $vararg_buffer = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $vararg_buffer = sp;
+ $7 = sp + 4|0;
+ $8 = ($2|0)!=(0|0);
+ if ($8) {
+ $12 = $2;
+ } else {
+ $9 = (__gcry_mpi_new(0)|0);
+ $12 = $9;
+ }
+ $10 = ($3|0)!=(0|0);
+ if ($10) {
+ $13 = $3;
+ } else {
+ $11 = (__gcry_mpi_new(0)|0);
+ $13 = $11;
+ }
+ $14 = (__gcry_mpi_ec_get_affine($12,$13,$0,$1)|0);
+ $15 = ($14|0)==(0);
+ if ($15) {
+ $16 = ((($1)) + 12|0);
+ $17 = HEAP32[$16>>2]|0;
+ $18 = $17 >>> 3;
+ $19 = ($4|0)!=(0);
+ $20 = $19&1;
+ $21 = $19 << 31 >> 31;
+ $22 = (__gcry_mpi_get_buffer_extra($13,$18,$21,$7,0)|0);
+ $23 = ($22|0)==(0|0);
+ if ($23) {
+ $24 = (_gpg_err_code_from_syserror()|0);
+ $$0$i = $24;
+ } else {
+ $25 = (__gcry_mpi_test_bit($12,0)|0);
+ $26 = ($25|0)!=(0);
+ $27 = HEAP32[$7>>2]|0;
+ $28 = ($27|0)!=(0);
+ $or$cond$i = $26 & $28;
+ $not$$i = $19 ^ 1;
+ $29 = $not$$i << 31 >> 31;
+ $30 = (($27) + ($29))|0;
+ $31 = (($22) + ($30)|0);
+ if ($or$cond$i) {
+ $32 = HEAP8[$31>>0]|0;
+ $33 = $32 | -128;
+ HEAP8[$31>>0] = $33;
+ }
+ if ($19) {
+ HEAP8[$22>>0] = 64;
+ }
+ HEAP32[$5>>2] = $22;
+ $34 = HEAP32[$7>>2]|0;
+ $35 = (($34) + ($20))|0;
+ HEAP32[$6>>2] = $35;
+ $$0$i = 0;
+ }
+ $$0 = $$0$i;
+ } else {
+ __gcry_log_error(57584,$vararg_buffer);
+ $$0 = 63;
+ }
+ if (!($8)) {
+ __gcry_mpi_free($12);
+ }
+ if ($10) {
+ STACKTOP = sp;return ($$0|0);
+ }
+ __gcry_mpi_free($13);
+ STACKTOP = sp;return ($$0|0);
+}
+function __gcry_ecc_eddsa_ensure_compact($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $$0 = 0, $$0$i = 0, $$024 = 0, $$pre = 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;
+ 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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond$i = 0, $phitmp = 0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $2 = sp + 12|0;
+ $3 = sp + 8|0;
+ $4 = sp + 4|0;
+ $5 = sp;
+ $6 = ($0|0)==(0|0);
+ if ($6) {
+ $$0 = 65;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $7 = ((($0)) + 12|0);
+ $8 = HEAP32[$7>>2]|0;
+ $9 = $8 & 4;
+ $10 = ($9|0)==(0);
+ if ($10) {
+ $$0 = 65;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $11 = (__gcry_mpi_get_opaque($0,$3)|0);
+ $12 = ($11|0)==(0|0);
+ if ($12) {
+ $$0 = 65;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $13 = HEAP32[$3>>2]|0;
+ $14 = (($13) + 7)|0;
+ $15 = $14 >>> 3;
+ HEAP32[$3>>2] = $15;
+ $16 = ($14>>>0)<(16);
+ $17 = $14 & 8;
+ $18 = ($17|0)==(0);
+ $or$cond = $16 | $18;
+ if ($or$cond) {
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $19 = HEAP8[$11>>0]|0;
+ switch ($19<<24>>24) {
+ case 4: {
+ $20 = ((($11)) + 1|0);
+ $21 = (($15) + -1)|0;
+ $22 = $21 >>> 1;
+ $23 = (__gcry_mpi_scan($4,1,$20,$22,0)|0);
+ $24 = ($23|0)==(0);
+ if (!($24)) {
+ $$0 = $23;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $25 = HEAP32[$3>>2]|0;
+ $26 = (($25) + -1)|0;
+ $27 = $26 >>> 1;
+ $28 = (($20) + ($27)|0);
+ $29 = (__gcry_mpi_scan($5,1,$28,$27,0)|0);
+ $30 = ($29|0)==(0);
+ $31 = HEAP32[$4>>2]|0;
+ if (!($30)) {
+ __gcry_mpi_free($31);
+ $$0 = $29;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $32 = HEAP32[$5>>2]|0;
+ $33 = $1 >>> 3;
+ $34 = (__gcry_mpi_get_buffer_extra($32,$33,0,$2,0)|0);
+ $35 = ($34|0)==(0|0);
+ if ($35) {
+ $36 = (_gpg_err_code_from_syserror()|0);
+ $$0$i = $36;$$024 = 0;
+ } else {
+ $37 = (__gcry_mpi_test_bit($31,0)|0);
+ $38 = ($37|0)!=(0);
+ $39 = HEAP32[$2>>2]|0;
+ $40 = ($39|0)!=(0);
+ $or$cond$i = $38 & $40;
+ $41 = (($39) + -1)|0;
+ $42 = (($34) + ($41)|0);
+ if ($or$cond$i) {
+ $43 = HEAP8[$42>>0]|0;
+ $44 = $43 | -128;
+ HEAP8[$42>>0] = $44;
+ $$pre = HEAP32[$2>>2]|0;
+ $45 = $$pre;
+ } else {
+ $45 = $39;
+ }
+ $phitmp = $45 << 3;
+ $$0$i = 0;$$024 = $phitmp;
+ }
+ $46 = HEAP32[$4>>2]|0;
+ __gcry_mpi_free($46);
+ $47 = HEAP32[$5>>2]|0;
+ __gcry_mpi_free($47);
+ $48 = ($$0$i|0)==(0);
+ if (!($48)) {
+ $$0 = $$0$i;
+ STACKTOP = sp;return ($$0|0);
+ }
+ (__gcry_mpi_set_opaque($0,$34,$$024)|0);
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+ break;
+ }
+ case 64: {
+ $49 = ((($11)) + 1|0);
+ $50 = (($13) + -1)|0;
+ $51 = $50 & -8;
+ $52 = (__gcry_mpi_set_opaque_copy($0,$49,$51)|0);
+ $53 = ($52|0)==(0|0);
+ if (!($53)) {
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $54 = (_gpg_err_code_from_syserror()|0);
+ $$0 = $54;
+ STACKTOP = sp;return ($$0|0);
+ break;
+ }
+ default: {
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+ }
+ }
+ return (0)|0;
+}
+function __gcry_ecc_eddsa_recover_x($0,$1,$2,$3) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ var $$0 = 0, $$080 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
+ var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
+ var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $spec$select = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0;
+ var sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
+ $vararg_buffer1 = sp + 8|0;
+ $vararg_buffer = sp;
+ $4 = sp + 16|0;
+ $5 = sp + 12|0;
+ $6 = ((($3)) + 4|0);
+ $7 = HEAP32[$6>>2]|0;
+ $8 = ($7|0)==(1);
+ if (!($8)) {
+ $$0 = 69;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $9 = HEAP32[18111]|0;
+ $10 = ($9|0)==(0|0);
+ do {
+ if ($10) {
+ $11 = (__gcry_mpi_scan($5,4,57637,0,0)|0);
+ $12 = ($11|0)==(0);
+ if ($12) {
+ $14 = HEAP32[$5>>2]|0;
+ HEAP32[18111] = $14;
+ break;
+ } else {
+ $13 = (_gpg_strerror($11)|0);
+ HEAP32[$vararg_buffer>>2] = $13;
+ __gcry_log_fatal(57702,$vararg_buffer);
+ // unreachable;
+ }
+ }
+ } while(0);
+ $15 = HEAP32[18112]|0;
+ $16 = ($15|0)==(0|0);
+ if ($16) {
+ $17 = (__gcry_mpi_set_ui(0,7)|0);
+ HEAP32[18112] = $17;
+ }
+ $18 = (__gcry_mpi_new(0)|0);
+ $19 = (__gcry_mpi_new(0)|0);
+ $20 = (__gcry_mpi_new(0)|0);
+ $21 = (__gcry_mpi_new(0)|0);
+ $22 = ((($3)) + 16|0);
+ $23 = HEAP32[$22>>2]|0;
+ __gcry_mpi_mulm($18,$1,$1,$23);
+ $24 = ((($3)) + 24|0);
+ $25 = HEAP32[$24>>2]|0;
+ $26 = HEAP32[$22>>2]|0;
+ __gcry_mpi_mulm($19,$25,$18,$26);
+ __gcry_mpi_sub_ui($18,$18,1);
+ __gcry_mpi_add_ui($19,$19,1);
+ $27 = (__gcry_mpi_const(3)|0);
+ $28 = HEAP32[$22>>2]|0;
+ __gcry_mpi_powm($20,$19,$27,$28);
+ $29 = HEAP32[18112]|0;
+ $30 = HEAP32[$22>>2]|0;
+ __gcry_mpi_powm($21,$19,$29,$30);
+ $31 = HEAP32[$22>>2]|0;
+ __gcry_mpi_mulm($21,$21,$18,$31);
+ $32 = HEAP32[18111]|0;
+ $33 = HEAP32[$22>>2]|0;
+ __gcry_mpi_powm($21,$21,$32,$33);
+ $34 = HEAP32[$22>>2]|0;
+ __gcry_mpi_mulm($21,$21,$18,$34);
+ $35 = HEAP32[$22>>2]|0;
+ __gcry_mpi_mulm($0,$21,$20,$35);
+ $36 = HEAP32[$22>>2]|0;
+ __gcry_mpi_mulm($21,$0,$0,$36);
+ $37 = HEAP32[$22>>2]|0;
+ __gcry_mpi_mulm($21,$21,$19,$37);
+ __gcry_mpi_neg($21,$21);
+ $38 = (__gcry_mpi_cmp($21,$18)|0);
+ $39 = ($38|0)==(0);
+ if ($39) {
+ $40 = HEAP32[18113]|0;
+ $41 = ($40|0)==(0|0);
+ do {
+ if ($41) {
+ $42 = (__gcry_mpi_scan($4,4,57737,0,0)|0);
+ $43 = ($42|0)==(0);
+ if ($43) {
+ $45 = HEAP32[$4>>2]|0;
+ HEAP32[18113] = $45;
+ $46 = $45;
+ $48 = $46;
+ break;
+ } else {
+ $44 = (_gpg_strerror($42)|0);
+ HEAP32[$vararg_buffer1>>2] = $44;
+ __gcry_log_fatal(57702,$vararg_buffer1);
+ // unreachable;
+ }
+ } else {
+ $48 = $40;
+ }
+ } while(0);
+ $47 = HEAP32[$22>>2]|0;
+ __gcry_mpi_mulm($0,$0,$48,$47);
+ $49 = HEAP32[$22>>2]|0;
+ __gcry_mpi_mulm($21,$0,$0,$49);
+ $50 = HEAP32[$22>>2]|0;
+ __gcry_mpi_mulm($21,$21,$19,$50);
+ __gcry_mpi_neg($21,$21);
+ $51 = (__gcry_mpi_cmp($21,$18)|0);
+ $52 = ($51|0)==(0);
+ $spec$select = $52 ? 65 : 0;
+ $$080 = $spec$select;
+ } else {
+ $$080 = 0;
+ }
+ $53 = (__gcry_mpi_test_bit($0,0)|0);
+ $54 = ($2|0)!=(0);
+ $55 = $54&1;
+ $56 = ($53|0)==($55|0);
+ if (!($56)) {
+ $57 = HEAP32[$22>>2]|0;
+ __gcry_mpi_sub($0,$57,$0);
+ }
+ __gcry_mpi_free($21);
+ __gcry_mpi_free($20);
+ __gcry_mpi_free($19);
+ __gcry_mpi_free($18);
+ $$0 = $$080;
+ STACKTOP = sp;return ($$0|0);
+}
+function __gcry_ecc_eddsa_decodepoint($0,$1,$2,$3,$4) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ var $$016$i = 0, $$016$i66 = 0, $$057 = 0, $$058 = 0, $$061 = 0, $$160 = 0, $$2 = 0, $$lobit = 0, $$pr$pre = 0, $$pre = 0, $$pre70 = 0, $$pre71 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0;
+ var $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0;
+ var $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0;
+ var $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0;
+ var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0;
+ var $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0;
+ var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond$i = 0, $exitcond$i67 = 0, $or$cond = 0, $or$cond$i = 0, $or$cond64 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $5 = sp + 12|0;
+ $6 = sp + 8|0;
+ $7 = sp + 4|0;
+ $8 = sp;
+ $9 = ($0|0)==(0|0);
+ if ($9) {
+ label = 24;
+ } else {
+ $10 = ((($0)) + 12|0);
+ $11 = HEAP32[$10>>2]|0;
+ $12 = $11 & 4;
+ $13 = ($12|0)==(0);
+ if ($13) {
+ label = 24;
+ } else {
+ $14 = (__gcry_mpi_get_opaque($0,$6)|0);
+ $15 = ($14|0)==(0|0);
+ if ($15) {
+ $$2 = 65;
+ STACKTOP = sp;return ($$2|0);
+ }
+ $16 = HEAP32[$6>>2]|0;
+ $17 = (($16) + 7)|0;
+ $18 = $17 >>> 3;
+ HEAP32[$6>>2] = $18;
+ $19 = ($17>>>0)<(16);
+ $20 = $17 & 8;
+ $21 = ($20|0)==(0);
+ $or$cond64 = $19 | $21;
+ L7: do {
+ if ($or$cond64) {
+ $$057 = $14;$66 = $18;
+ } else {
+ $22 = HEAP8[$14>>0]|0;
+ switch ($22<<24>>24) {
+ case 4: {
+ break;
+ }
+ case 64: {
+ $63 = (($18) + -1)|0;
+ HEAP32[$6>>2] = $63;
+ $64 = ((($14)) + 1|0);
+ $$057 = $64;$66 = $63;
+ break L7;
+ break;
+ }
+ default: {
+ $$057 = $14;$66 = $18;
+ break L7;
+ }
+ }
+ $23 = ((($14)) + 1|0);
+ $24 = (($18) + -1)|0;
+ $25 = $24 >>> 1;
+ $26 = (__gcry_mpi_scan($7,1,$23,$25,0)|0);
+ $27 = ($26|0)==(0);
+ L12: do {
+ if ($27) {
+ $28 = HEAP32[$6>>2]|0;
+ $29 = (($28) + -1)|0;
+ $30 = $29 >>> 1;
+ $31 = (($23) + ($30)|0);
+ $32 = (__gcry_mpi_scan($8,1,$31,$30,0)|0);
+ $33 = ($32|0)==(0);
+ if (!($33)) {
+ $34 = HEAP32[$7>>2]|0;
+ __gcry_mpi_free($34);
+ $$061 = $32;
+ break;
+ }
+ $35 = ($3|0)==(0|0);
+ do {
+ if (!($35)) {
+ $36 = HEAP32[$7>>2]|0;
+ $37 = HEAP32[$8>>2]|0;
+ $38 = ((($1)) + 12|0);
+ $39 = HEAP32[$38>>2]|0;
+ $40 = $39 >>> 3;
+ $41 = (__gcry_mpi_get_buffer_extra($37,$40,0,$5,0)|0);
+ $42 = ($41|0)==(0|0);
+ if ($42) {
+ $52 = (_gpg_err_code_from_syserror()|0);
+ $53 = ($52|0)==(0);
+ if ($53) {
+ break;
+ }
+ $54 = HEAP32[$7>>2]|0;
+ __gcry_mpi_free($54);
+ $55 = HEAP32[$8>>2]|0;
+ __gcry_mpi_free($55);
+ $$061 = $52;
+ break L12;
+ }
+ $43 = (__gcry_mpi_test_bit($36,0)|0);
+ $44 = ($43|0)!=(0);
+ $45 = HEAP32[$5>>2]|0;
+ $46 = ($45|0)!=(0);
+ $or$cond$i = $44 & $46;
+ $47 = (($45) + -1)|0;
+ $48 = (($41) + ($47)|0);
+ if ($or$cond$i) {
+ $49 = HEAP8[$48>>0]|0;
+ $50 = $49 | -128;
+ HEAP8[$48>>0] = $50;
+ $$pre = HEAP32[$5>>2]|0;
+ $51 = $$pre;
+ } else {
+ $51 = $45;
+ }
+ HEAP32[$3>>2] = $41;
+ HEAP32[$4>>2] = $51;
+ }
+ } while(0);
+ $56 = HEAP32[$2>>2]|0;
+ $57 = HEAP32[$7>>2]|0;
+ __gcry_mpi_snatch($56,$57);
+ $58 = ((($2)) + 4|0);
+ $59 = HEAP32[$58>>2]|0;
+ $60 = HEAP32[$8>>2]|0;
+ __gcry_mpi_snatch($59,$60);
+ $61 = ((($2)) + 8|0);
+ $62 = HEAP32[$61>>2]|0;
+ (__gcry_mpi_set_ui($62,1)|0);
+ $$061 = 0;
+ } else {
+ $$061 = $26;
+ }
+ } while(0);
+ $$2 = $$061;
+ STACKTOP = sp;return ($$2|0);
+ }
+ } while(0);
+ $65 = ($66|0)==(0);
+ $67 = $65 ? 1 : $66;
+ $68 = (__gcry_malloc($67)|0);
+ $69 = ($68|0)==(0|0);
+ if ($69) {
+ $70 = (_gpg_err_code_from_syserror()|0);
+ $$2 = $70;
+ STACKTOP = sp;return ($$2|0);
+ }
+ $71 = HEAP32[$6>>2]|0;
+ _memcpy(($68|0),($$057|0),($71|0))|0;
+ $72 = $71 >>> 1;
+ $73 = ($72|0)==(0);
+ if ($73) {
+ $$160 = $68;$88 = $71;
+ } else {
+ $74 = (($71) + -1)|0;
+ $$016$i = 0;
+ while(1) {
+ $75 = (($68) + ($$016$i)|0);
+ $76 = HEAP8[$75>>0]|0;
+ $77 = (($74) - ($$016$i))|0;
+ $78 = (($68) + ($77)|0);
+ $79 = HEAP8[$78>>0]|0;
+ HEAP8[$75>>0] = $79;
+ HEAP8[$78>>0] = $76;
+ $80 = (($$016$i) + 1)|0;
+ $exitcond$i = ($80|0)==($72|0);
+ if ($exitcond$i) {
+ $$160 = $68;$88 = $71;
+ break;
+ } else {
+ $$016$i = $80;
+ }
+ }
+ }
+ }
+ }
+ do {
+ if ((label|0) == 24) {
+ $81 = ((($1)) + 12|0);
+ $82 = HEAP32[$81>>2]|0;
+ $83 = $82 >>> 3;
+ $84 = (__gcry_mpi_get_buffer($0,$83,$6,0)|0);
+ $85 = ($84|0)==(0|0);
+ if (!($85)) {
+ $$pr$pre = HEAP32[$6>>2]|0;
+ $$160 = $84;$88 = $$pr$pre;
+ break;
+ }
+ $86 = (_gpg_err_code_from_syserror()|0);
+ $$2 = $86;
+ STACKTOP = sp;return ($$2|0);
+ }
+ } while(0);
+ $87 = ($88|0)==(0);
+ if ($87) {
+ $$058 = 0;$95 = 0;
+ } else {
+ $89 = HEAP8[$$160>>0]|0;
+ $90 = $89&255;
+ $$lobit = $90 >>> 7;
+ $91 = $90 & 127;
+ $92 = $91&255;
+ HEAP8[$$160>>0] = $92;
+ $$pre70 = HEAP32[$6>>2]|0;
+ $$058 = $$lobit;$95 = $$pre70;
+ }
+ $93 = ((($2)) + 4|0);
+ $94 = HEAP32[$93>>2]|0;
+ __gcry_mpi_set_buffer($94,$$160,$95,0);
+ $96 = ($3|0)==(0|0);
+ if ($96) {
+ __gcry_free($$160);
+ } else {
+ $97 = ($$058|0)!=(0);
+ $98 = HEAP32[$6>>2]|0;
+ $99 = ($98|0)!=(0);
+ $or$cond = $97 & $99;
+ if ($or$cond) {
+ $100 = HEAP8[$$160>>0]|0;
+ $101 = $100 | -128;
+ HEAP8[$$160>>0] = $101;
+ $$pre71 = HEAP32[$6>>2]|0;
+ $103 = $$pre71;
+ } else {
+ $103 = $98;
+ }
+ $102 = $103 >>> 1;
+ $104 = ($102|0)==(0);
+ if (!($104)) {
+ $105 = (($103) + -1)|0;
+ $$016$i66 = 0;
+ while(1) {
+ $106 = (($$160) + ($$016$i66)|0);
+ $107 = HEAP8[$106>>0]|0;
+ $108 = (($105) - ($$016$i66))|0;
+ $109 = (($$160) + ($108)|0);
+ $110 = HEAP8[$109>>0]|0;
+ HEAP8[$106>>0] = $110;
+ HEAP8[$109>>0] = $107;
+ $111 = (($$016$i66) + 1)|0;
+ $exitcond$i67 = ($111|0)==($102|0);
+ if ($exitcond$i67) {
+ break;
+ } else {
+ $$016$i66 = $111;
+ }
+ }
+ }
+ HEAP32[$3>>2] = $$160;
+ $112 = ($4|0)==(0|0);
+ if (!($112)) {
+ $113 = HEAP32[$6>>2]|0;
+ HEAP32[$4>>2] = $113;
+ }
+ }
+ $114 = HEAP32[$2>>2]|0;
+ $115 = HEAP32[$93>>2]|0;
+ $116 = (__gcry_ecc_eddsa_recover_x($114,$115,$$058,$1)|0);
+ $117 = ((($2)) + 8|0);
+ $118 = HEAP32[$117>>2]|0;
+ (__gcry_mpi_set_ui($118,1)|0);
+ $$2 = $116;
+ STACKTOP = sp;return ($$2|0);
+}
+function __gcry_ecc_eddsa_compute_h_d($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$0 = 0, $$mask = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
+ var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
+ var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0;
+ var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0;
+ var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $spec$select = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
+ $3 = sp + 32|0;
+ $4 = sp;
+ HEAP32[$0>>2] = 0;
+ $5 = ((($2)) + 12|0);
+ $6 = HEAP32[$5>>2]|0;
+ $7 = (($6) + 7)|0;
+ $$mask = $7 & -8;
+ $8 = ($$mask|0)==(256);
+ if (!($8)) {
+ $$0 = 63;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $9 = (__gcry_calloc_secure(2,32)|0);
+ $10 = ($9|0)==(0|0);
+ if ($10) {
+ $11 = (_gpg_err_code_from_syserror()|0);
+ $$0 = $11;
+ STACKTOP = sp;return ($$0|0);
+ }
+ ;HEAP32[$4>>2]=0|0;HEAP32[$4+4>>2]=0|0;HEAP32[$4+8>>2]=0|0;HEAP32[$4+12>>2]=0|0;HEAP32[$4+16>>2]=0|0;HEAP32[$4+20>>2]=0|0;HEAP32[$4+24>>2]=0|0;HEAP32[$4+28>>2]=0|0;
+ $12 = (__gcry_mpi_get_buffer($1,0,$3,0)|0);
+ $13 = ($12|0)==(0|0);
+ if ($13) {
+ __gcry_free($9);
+ $14 = (_gpg_err_code_from_syserror()|0);
+ $$0 = $14;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $15 = ((($4)) + 12|0);
+ HEAP32[$15>>2] = $9;
+ $16 = ((($4)) + 4|0);
+ HEAP32[$16>>2] = 0;
+ $17 = HEAP32[$3>>2]|0;
+ $18 = ($17>>>0)<(32);
+ $19 = (32 - ($17))|0;
+ $spec$select = $18 ? $19 : 0;
+ $20 = ((($4)) + 8|0);
+ HEAP32[$20>>2] = $spec$select;
+ $21 = ((($4)) + 28|0);
+ HEAP32[$21>>2] = $12;
+ $22 = ((($4)) + 20|0);
+ HEAP32[$22>>2] = 0;
+ $23 = ((($4)) + 24|0);
+ HEAP32[$23>>2] = $17;
+ $24 = (__gcry_md_hash_buffers(10,0,$9,$4,2)|0);
+ __gcry_free($12);
+ $25 = ($24|0)==(0);
+ if ($25) {
+ $26 = HEAP8[$9>>0]|0;
+ $27 = ((($9)) + 31|0);
+ $28 = HEAP8[$27>>0]|0;
+ $29 = ((($9)) + 1|0);
+ $30 = HEAP8[$29>>0]|0;
+ $31 = ((($9)) + 30|0);
+ $32 = HEAP8[$31>>0]|0;
+ HEAP8[$29>>0] = $32;
+ HEAP8[$31>>0] = $30;
+ $33 = ((($9)) + 2|0);
+ $34 = HEAP8[$33>>0]|0;
+ $35 = ((($9)) + 29|0);
+ $36 = HEAP8[$35>>0]|0;
+ HEAP8[$33>>0] = $36;
+ HEAP8[$35>>0] = $34;
+ $37 = ((($9)) + 3|0);
+ $38 = HEAP8[$37>>0]|0;
+ $39 = ((($9)) + 28|0);
+ $40 = HEAP8[$39>>0]|0;
+ HEAP8[$37>>0] = $40;
+ HEAP8[$39>>0] = $38;
+ $41 = ((($9)) + 4|0);
+ $42 = HEAP8[$41>>0]|0;
+ $43 = ((($9)) + 27|0);
+ $44 = HEAP8[$43>>0]|0;
+ HEAP8[$41>>0] = $44;
+ HEAP8[$43>>0] = $42;
+ $45 = ((($9)) + 5|0);
+ $46 = HEAP8[$45>>0]|0;
+ $47 = ((($9)) + 26|0);
+ $48 = HEAP8[$47>>0]|0;
+ HEAP8[$45>>0] = $48;
+ HEAP8[$47>>0] = $46;
+ $49 = ((($9)) + 6|0);
+ $50 = HEAP8[$49>>0]|0;
+ $51 = ((($9)) + 25|0);
+ $52 = HEAP8[$51>>0]|0;
+ HEAP8[$49>>0] = $52;
+ HEAP8[$51>>0] = $50;
+ $53 = ((($9)) + 7|0);
+ $54 = HEAP8[$53>>0]|0;
+ $55 = ((($9)) + 24|0);
+ $56 = HEAP8[$55>>0]|0;
+ HEAP8[$53>>0] = $56;
+ HEAP8[$55>>0] = $54;
+ $57 = ((($9)) + 8|0);
+ $58 = HEAP8[$57>>0]|0;
+ $59 = ((($9)) + 23|0);
+ $60 = HEAP8[$59>>0]|0;
+ HEAP8[$57>>0] = $60;
+ HEAP8[$59>>0] = $58;
+ $61 = ((($9)) + 9|0);
+ $62 = HEAP8[$61>>0]|0;
+ $63 = ((($9)) + 22|0);
+ $64 = HEAP8[$63>>0]|0;
+ HEAP8[$61>>0] = $64;
+ HEAP8[$63>>0] = $62;
+ $65 = ((($9)) + 10|0);
+ $66 = HEAP8[$65>>0]|0;
+ $67 = ((($9)) + 21|0);
+ $68 = HEAP8[$67>>0]|0;
+ HEAP8[$65>>0] = $68;
+ HEAP8[$67>>0] = $66;
+ $69 = ((($9)) + 11|0);
+ $70 = HEAP8[$69>>0]|0;
+ $71 = ((($9)) + 20|0);
+ $72 = HEAP8[$71>>0]|0;
+ HEAP8[$69>>0] = $72;
+ HEAP8[$71>>0] = $70;
+ $73 = ((($9)) + 12|0);
+ $74 = HEAP8[$73>>0]|0;
+ $75 = ((($9)) + 19|0);
+ $76 = HEAP8[$75>>0]|0;
+ HEAP8[$73>>0] = $76;
+ HEAP8[$75>>0] = $74;
+ $77 = ((($9)) + 13|0);
+ $78 = HEAP8[$77>>0]|0;
+ $79 = ((($9)) + 18|0);
+ $80 = HEAP8[$79>>0]|0;
+ HEAP8[$77>>0] = $80;
+ HEAP8[$79>>0] = $78;
+ $81 = ((($9)) + 14|0);
+ $82 = HEAP8[$81>>0]|0;
+ $83 = ((($9)) + 17|0);
+ $84 = HEAP8[$83>>0]|0;
+ HEAP8[$81>>0] = $84;
+ HEAP8[$83>>0] = $82;
+ $85 = ((($9)) + 15|0);
+ $86 = HEAP8[$85>>0]|0;
+ $87 = ((($9)) + 16|0);
+ $88 = HEAP8[$87>>0]|0;
+ HEAP8[$85>>0] = $88;
+ HEAP8[$87>>0] = $86;
+ $89 = $28 & 63;
+ $90 = $89 | 64;
+ HEAP8[$9>>0] = $90;
+ $91 = $26 & -8;
+ HEAP8[$27>>0] = $91;
+ HEAP32[$0>>2] = $9;
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+ } else {
+ __gcry_free($9);
+ $$0 = $24;
+ STACKTOP = sp;return ($$0|0);
+ }
+ return (0)|0;
+}
+function __gcry_ecc_eddsa_genkey($0,$1,$2,$3) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ var $$0 = 0, $$064 = 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, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
+ var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0;
+ var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0;
+ var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0;
+ var sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
+ $4 = sp + 16|0;
+ $5 = sp;
+ __gcry_mpi_point_init($4);
+ ;HEAP32[$5>>2]=0|0;HEAP32[$5+4>>2]=0|0;HEAP32[$5+8>>2]=0|0;HEAP32[$5+12>>2]=0|0;
+ $6 = (__gcry_mpi_snew(0)|0);
+ $7 = (__gcry_mpi_new(0)|0);
+ $8 = (__gcry_mpi_new(0)|0);
+ $9 = (__gcry_malloc_secure(64)|0);
+ $10 = ($9|0)==(0|0);
+ if ($10) {
+ $11 = (_gpg_err_code_from_syserror()|0);
+ $12 = ($11|0)==(0);
+ $13 = $11 & 65535;
+ $14 = $13 | 16777216;
+ $15 = $12 ? 0 : $14;
+ $$0 = 0;$$064 = $15;
+ __gcry_mpi_point_free_parts($4);
+ __gcry_mpi_release($6);
+ __gcry_mpi_release($7);
+ __gcry_mpi_release($8);
+ __gcry_free($$0);
+ STACKTOP = sp;return ($$064|0);
+ }
+ $16 = $3 >>> 5;
+ $17 = $16 & 1;
+ $18 = (2 - ($17))|0;
+ $19 = (__gcry_random_bytes_secure(32,$18)|0);
+ $20 = ((($5)) + 12|0);
+ HEAP32[$20>>2] = $19;
+ $21 = ((($5)) + 8|0);
+ HEAP32[$21>>2] = 32;
+ $22 = (__gcry_md_hash_buffers(10,0,$9,$5,1)|0);
+ $23 = ($22|0)==(0);
+ if (!($23)) {
+ $$0 = $9;$$064 = $22;
+ __gcry_mpi_point_free_parts($4);
+ __gcry_mpi_release($6);
+ __gcry_mpi_release($7);
+ __gcry_mpi_release($8);
+ __gcry_free($$0);
+ STACKTOP = sp;return ($$064|0);
+ }
+ $24 = (__gcry_mpi_set_opaque(0,$19,256)|0);
+ $25 = ((($0)) + 56|0);
+ HEAP32[$25>>2] = $24;
+ $26 = HEAP8[$9>>0]|0;
+ $27 = ((($9)) + 31|0);
+ $28 = HEAP8[$27>>0]|0;
+ $29 = ((($9)) + 1|0);
+ $30 = HEAP8[$29>>0]|0;
+ $31 = ((($9)) + 30|0);
+ $32 = HEAP8[$31>>0]|0;
+ HEAP8[$29>>0] = $32;
+ HEAP8[$31>>0] = $30;
+ $33 = ((($9)) + 2|0);
+ $34 = HEAP8[$33>>0]|0;
+ $35 = ((($9)) + 29|0);
+ $36 = HEAP8[$35>>0]|0;
+ HEAP8[$33>>0] = $36;
+ HEAP8[$35>>0] = $34;
+ $37 = ((($9)) + 3|0);
+ $38 = HEAP8[$37>>0]|0;
+ $39 = ((($9)) + 28|0);
+ $40 = HEAP8[$39>>0]|0;
+ HEAP8[$37>>0] = $40;
+ HEAP8[$39>>0] = $38;
+ $41 = ((($9)) + 4|0);
+ $42 = HEAP8[$41>>0]|0;
+ $43 = ((($9)) + 27|0);
+ $44 = HEAP8[$43>>0]|0;
+ HEAP8[$41>>0] = $44;
+ HEAP8[$43>>0] = $42;
+ $45 = ((($9)) + 5|0);
+ $46 = HEAP8[$45>>0]|0;
+ $47 = ((($9)) + 26|0);
+ $48 = HEAP8[$47>>0]|0;
+ HEAP8[$45>>0] = $48;
+ HEAP8[$47>>0] = $46;
+ $49 = ((($9)) + 6|0);
+ $50 = HEAP8[$49>>0]|0;
+ $51 = ((($9)) + 25|0);
+ $52 = HEAP8[$51>>0]|0;
+ HEAP8[$49>>0] = $52;
+ HEAP8[$51>>0] = $50;
+ $53 = ((($9)) + 7|0);
+ $54 = HEAP8[$53>>0]|0;
+ $55 = ((($9)) + 24|0);
+ $56 = HEAP8[$55>>0]|0;
+ HEAP8[$53>>0] = $56;
+ HEAP8[$55>>0] = $54;
+ $57 = ((($9)) + 8|0);
+ $58 = HEAP8[$57>>0]|0;
+ $59 = ((($9)) + 23|0);
+ $60 = HEAP8[$59>>0]|0;
+ HEAP8[$57>>0] = $60;
+ HEAP8[$59>>0] = $58;
+ $61 = ((($9)) + 9|0);
+ $62 = HEAP8[$61>>0]|0;
+ $63 = ((($9)) + 22|0);
+ $64 = HEAP8[$63>>0]|0;
+ HEAP8[$61>>0] = $64;
+ HEAP8[$63>>0] = $62;
+ $65 = ((($9)) + 10|0);
+ $66 = HEAP8[$65>>0]|0;
+ $67 = ((($9)) + 21|0);
+ $68 = HEAP8[$67>>0]|0;
+ HEAP8[$65>>0] = $68;
+ HEAP8[$67>>0] = $66;
+ $69 = ((($9)) + 11|0);
+ $70 = HEAP8[$69>>0]|0;
+ $71 = ((($9)) + 20|0);
+ $72 = HEAP8[$71>>0]|0;
+ HEAP8[$69>>0] = $72;
+ HEAP8[$71>>0] = $70;
+ $73 = ((($9)) + 12|0);
+ $74 = HEAP8[$73>>0]|0;
+ $75 = ((($9)) + 19|0);
+ $76 = HEAP8[$75>>0]|0;
+ HEAP8[$73>>0] = $76;
+ HEAP8[$75>>0] = $74;
+ $77 = ((($9)) + 13|0);
+ $78 = HEAP8[$77>>0]|0;
+ $79 = ((($9)) + 18|0);
+ $80 = HEAP8[$79>>0]|0;
+ HEAP8[$77>>0] = $80;
+ HEAP8[$79>>0] = $78;
+ $81 = ((($9)) + 14|0);
+ $82 = HEAP8[$81>>0]|0;
+ $83 = ((($9)) + 17|0);
+ $84 = HEAP8[$83>>0]|0;
+ HEAP8[$81>>0] = $84;
+ HEAP8[$83>>0] = $82;
+ $85 = ((($9)) + 15|0);
+ $86 = HEAP8[$85>>0]|0;
+ $87 = ((($9)) + 16|0);
+ $88 = HEAP8[$87>>0]|0;
+ HEAP8[$85>>0] = $88;
+ HEAP8[$87>>0] = $86;
+ $89 = $28 & 63;
+ $90 = $89 | 64;
+ HEAP8[$9>>0] = $90;
+ $91 = $26 & -8;
+ HEAP8[$27>>0] = $91;
+ __gcry_mpi_set_buffer($6,$9,32,0);
+ __gcry_free($9);
+ $92 = ((($1)) + 20|0);
+ __gcry_mpi_ec_mul_point($4,$6,$92,$2);
+ $93 = (__gcry_get_debug_flag(1)|0);
+ $94 = ($93|0)==(0);
+ if (!($94)) {
+ __gcry_mpi_point_log(57802,$4,$2);
+ }
+ $95 = HEAP32[$1>>2]|0;
+ HEAP32[$0>>2] = $95;
+ $96 = ((($1)) + 4|0);
+ $97 = HEAP32[$96>>2]|0;
+ $98 = ((($0)) + 4|0);
+ HEAP32[$98>>2] = $97;
+ $99 = ((($1)) + 8|0);
+ $100 = HEAP32[$99>>2]|0;
+ $101 = (__gcry_mpi_copy($100)|0);
+ $102 = ((($0)) + 8|0);
+ HEAP32[$102>>2] = $101;
+ $103 = ((($1)) + 12|0);
+ $104 = HEAP32[$103>>2]|0;
+ $105 = (__gcry_mpi_copy($104)|0);
+ $106 = ((($0)) + 12|0);
+ HEAP32[$106>>2] = $105;
+ $107 = ((($1)) + 16|0);
+ $108 = HEAP32[$107>>2]|0;
+ $109 = (__gcry_mpi_copy($108)|0);
+ $110 = ((($0)) + 16|0);
+ HEAP32[$110>>2] = $109;
+ $111 = ((($0)) + 20|0);
+ __gcry_mpi_point_init($111);
+ $112 = HEAP32[$111>>2]|0;
+ $113 = HEAP32[$92>>2]|0;
+ (__gcry_mpi_set($112,$113)|0);
+ $114 = ((($0)) + 24|0);
+ $115 = HEAP32[$114>>2]|0;
+ $116 = ((($1)) + 24|0);
+ $117 = HEAP32[$116>>2]|0;
+ (__gcry_mpi_set($115,$117)|0);
+ $118 = ((($0)) + 28|0);
+ $119 = HEAP32[$118>>2]|0;
+ $120 = ((($1)) + 28|0);
+ $121 = HEAP32[$120>>2]|0;
+ (__gcry_mpi_set($119,$121)|0);
+ $122 = ((($1)) + 32|0);
+ $123 = HEAP32[$122>>2]|0;
+ $124 = (__gcry_mpi_copy($123)|0);
+ $125 = ((($0)) + 32|0);
+ HEAP32[$125>>2] = $124;
+ $126 = ((($1)) + 36|0);
+ $127 = HEAP32[$126>>2]|0;
+ $128 = (__gcry_mpi_copy($127)|0);
+ $129 = ((($0)) + 36|0);
+ HEAP32[$129>>2] = $128;
+ $130 = ((($0)) + 44|0);
+ __gcry_mpi_point_init($130);
+ $131 = HEAP32[$130>>2]|0;
+ $132 = HEAP32[$4>>2]|0;
+ (__gcry_mpi_set($131,$132)|0);
+ $133 = ((($0)) + 48|0);
+ $134 = HEAP32[$133>>2]|0;
+ $135 = ((($4)) + 4|0);
+ $136 = HEAP32[$135>>2]|0;
+ (__gcry_mpi_set($134,$136)|0);
+ $137 = ((($0)) + 52|0);
+ $138 = HEAP32[$137>>2]|0;
+ $139 = ((($4)) + 8|0);
+ $140 = HEAP32[$139>>2]|0;
+ (__gcry_mpi_set($138,$140)|0);
+ $$0 = 0;$$064 = 0;
+ __gcry_mpi_point_free_parts($4);
+ __gcry_mpi_release($6);
+ __gcry_mpi_release($7);
+ __gcry_mpi_release($8);
+ __gcry_free($$0);
+ STACKTOP = sp;return ($$064|0);
+}
+function __gcry_ecc_eddsa_sign($0,$1,$2,$3,$4,$5) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ $5 = $5|0;
+ var $$0 = 0, $$082 = 0, $$mask = 0, $$pre = 0, $$pre88 = 0, $$pre90 = 0, $$pre91 = 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;
+ var $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0;
+ var $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0;
+ var $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0;
+ var $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0;
+ var $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0;
+ var $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0;
+ var $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0;
+ var $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0;
+ var $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0;
+ var $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0;
+ var $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0;
+ var $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0;
+ var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0;
+ var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0;
+ var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, dest = 0, label = 0, sp = 0, stop = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0);
+ $6 = sp + 96|0;
+ $7 = sp + 92|0;
+ $8 = sp + 88|0;
+ $9 = sp;
+ $10 = sp + 84|0;
+ $11 = sp + 80|0;
+ $12 = sp + 76|0;
+ $13 = sp + 72|0;
+ $14 = sp + 60|0;
+ $15 = sp + 48|0;
+ HEAP32[$10>>2] = 0;
+ HEAP32[$12>>2] = 0;
+ dest=$9; stop=dest+48|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
+ $16 = ($0|0)==(0|0);
+ if ($16) {
+ $$0 = 79;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $17 = ((($0)) + 12|0);
+ $18 = HEAP32[$17>>2]|0;
+ $19 = $18 & 4;
+ $20 = ($19|0)==(0);
+ if ($20) {
+ $$0 = 79;
+ STACKTOP = sp;return ($$0|0);
+ }
+ __gcry_mpi_point_init($14);
+ __gcry_mpi_point_init($15);
+ $21 = (__gcry_mpi_snew(0)|0);
+ $22 = (__gcry_mpi_new(0)|0);
+ $23 = (__gcry_mpi_new(0)|0);
+ $24 = (__gcry_mpi_new(0)|0);
+ $25 = HEAP32[$1>>2]|0;
+ $26 = ((($1)) + 4|0);
+ $27 = HEAP32[$26>>2]|0;
+ $28 = ((($1)) + 8|0);
+ $29 = HEAP32[$28>>2]|0;
+ $30 = ((($1)) + 12|0);
+ $31 = HEAP32[$30>>2]|0;
+ $32 = ((($1)) + 16|0);
+ $33 = HEAP32[$32>>2]|0;
+ $34 = (__gcry_mpi_ec_p_internal_new($25,$27,0,$29,$31,$33)|0);
+ $35 = ((($34)) + 12|0);
+ $36 = HEAP32[$35>>2]|0;
+ $37 = (($36) + 7)|0;
+ $$mask = $37 & -8;
+ $38 = ($$mask|0)==(256);
+ if (!($38)) {
+ $$0 = 63;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $39 = ((($1)) + 56|0);
+ $40 = HEAP32[$39>>2]|0;
+ $41 = (__gcry_ecc_eddsa_compute_h_d($8,$40,$34)|0);
+ $42 = ($41|0)==(0);
+ do {
+ if ($42) {
+ $43 = HEAP32[$8>>2]|0;
+ __gcry_mpi_set_buffer($21,$43,32,0);
+ $44 = ($5|0)==(0|0);
+ $45 = $43;
+ if ($44) {
+ $54 = ((($1)) + 20|0);
+ __gcry_mpi_ec_mul_point($15,$21,$54,$34);
+ $55 = (__gcry_ecc_eddsa_encodepoint($15,$34,$22,$23,0,$12,$13)|0);
+ $56 = ($55|0)==(0);
+ if (!($56)) {
+ $$082 = $55;
+ break;
+ }
+ $57 = (__gcry_get_debug_flag(1)|0);
+ $58 = ($57|0)==(0);
+ if (!($58)) {
+ $59 = HEAP32[$12>>2]|0;
+ $60 = HEAP32[$13>>2]|0;
+ __gcry_log_printhex(57823,$59,$60);
+ }
+ } else {
+ $46 = (__gcry_ecc_eddsa_decodepoint($5,$34,$15,$12,$13)|0);
+ $47 = ($46|0)==(0);
+ if (!($47)) {
+ $$082 = $46;
+ break;
+ }
+ $48 = (__gcry_get_debug_flag(1)|0);
+ $49 = ($48|0)==(0);
+ if (!($49)) {
+ $50 = HEAP32[$12>>2]|0;
+ $51 = HEAP32[$13>>2]|0;
+ __gcry_log_printhex(57816,$50,$51);
+ }
+ $52 = (__gcry_mpi_ec_curve_point($15,$34)|0);
+ $53 = ($52|0)==(0);
+ if ($53) {
+ $$082 = 195;
+ break;
+ }
+ }
+ $61 = (__gcry_mpi_get_opaque($0,$7)|0);
+ $62 = HEAP32[$7>>2]|0;
+ $63 = (($62) + 7)|0;
+ $64 = $63 >>> 3;
+ $65 = (__gcry_get_debug_flag(1)|0);
+ $66 = ($65|0)==(0);
+ if (!($66)) {
+ __gcry_log_printhex(57830,$61,$64);
+ }
+ $67 = ((($9)) + 12|0);
+ HEAP32[$67>>2] = $45;
+ $68 = ((($9)) + 4|0);
+ HEAP32[$68>>2] = 32;
+ $69 = ((($9)) + 8|0);
+ HEAP32[$69>>2] = 32;
+ $70 = ((($9)) + 28|0);
+ HEAP32[$70>>2] = $61;
+ $71 = ((($9)) + 24|0);
+ HEAP32[$71>>2] = $64;
+ $72 = (__gcry_md_hash_buffers($4,0,$43,$9,2)|0);
+ $73 = ($72|0)==(0);
+ if ($73) {
+ $74 = HEAP8[$43>>0]|0;
+ $75 = ((($43)) + 63|0);
+ $76 = HEAP8[$75>>0]|0;
+ HEAP8[$43>>0] = $76;
+ HEAP8[$75>>0] = $74;
+ $77 = ((($43)) + 1|0);
+ $78 = HEAP8[$77>>0]|0;
+ $79 = ((($43)) + 62|0);
+ $80 = HEAP8[$79>>0]|0;
+ HEAP8[$77>>0] = $80;
+ HEAP8[$79>>0] = $78;
+ $81 = ((($43)) + 2|0);
+ $82 = HEAP8[$81>>0]|0;
+ $83 = ((($43)) + 61|0);
+ $84 = HEAP8[$83>>0]|0;
+ HEAP8[$81>>0] = $84;
+ HEAP8[$83>>0] = $82;
+ $85 = ((($43)) + 3|0);
+ $86 = HEAP8[$85>>0]|0;
+ $87 = ((($43)) + 60|0);
+ $88 = HEAP8[$87>>0]|0;
+ HEAP8[$85>>0] = $88;
+ HEAP8[$87>>0] = $86;
+ $89 = ((($43)) + 4|0);
+ $90 = HEAP8[$89>>0]|0;
+ $91 = ((($43)) + 59|0);
+ $92 = HEAP8[$91>>0]|0;
+ HEAP8[$89>>0] = $92;
+ HEAP8[$91>>0] = $90;
+ $93 = ((($43)) + 5|0);
+ $94 = HEAP8[$93>>0]|0;
+ $95 = ((($43)) + 58|0);
+ $96 = HEAP8[$95>>0]|0;
+ HEAP8[$93>>0] = $96;
+ HEAP8[$95>>0] = $94;
+ $97 = ((($43)) + 6|0);
+ $98 = HEAP8[$97>>0]|0;
+ $99 = ((($43)) + 57|0);
+ $100 = HEAP8[$99>>0]|0;
+ HEAP8[$97>>0] = $100;
+ HEAP8[$99>>0] = $98;
+ $101 = ((($43)) + 7|0);
+ $102 = HEAP8[$101>>0]|0;
+ $103 = ((($43)) + 56|0);
+ $104 = HEAP8[$103>>0]|0;
+ HEAP8[$101>>0] = $104;
+ HEAP8[$103>>0] = $102;
+ $105 = ((($43)) + 8|0);
+ $106 = HEAP8[$105>>0]|0;
+ $107 = ((($43)) + 55|0);
+ $108 = HEAP8[$107>>0]|0;
+ HEAP8[$105>>0] = $108;
+ HEAP8[$107>>0] = $106;
+ $109 = ((($43)) + 9|0);
+ $110 = HEAP8[$109>>0]|0;
+ $111 = ((($43)) + 54|0);
+ $112 = HEAP8[$111>>0]|0;
+ HEAP8[$109>>0] = $112;
+ HEAP8[$111>>0] = $110;
+ $113 = ((($43)) + 10|0);
+ $114 = HEAP8[$113>>0]|0;
+ $115 = ((($43)) + 53|0);
+ $116 = HEAP8[$115>>0]|0;
+ HEAP8[$113>>0] = $116;
+ HEAP8[$115>>0] = $114;
+ $117 = ((($43)) + 11|0);
+ $118 = HEAP8[$117>>0]|0;
+ $119 = ((($43)) + 52|0);
+ $120 = HEAP8[$119>>0]|0;
+ HEAP8[$117>>0] = $120;
+ HEAP8[$119>>0] = $118;
+ $121 = ((($43)) + 12|0);
+ $122 = HEAP8[$121>>0]|0;
+ $123 = ((($43)) + 51|0);
+ $124 = HEAP8[$123>>0]|0;
+ HEAP8[$121>>0] = $124;
+ HEAP8[$123>>0] = $122;
+ $125 = ((($43)) + 13|0);
+ $126 = HEAP8[$125>>0]|0;
+ $127 = ((($43)) + 50|0);
+ $128 = HEAP8[$127>>0]|0;
+ HEAP8[$125>>0] = $128;
+ HEAP8[$127>>0] = $126;
+ $129 = ((($43)) + 14|0);
+ $130 = HEAP8[$129>>0]|0;
+ $131 = ((($43)) + 49|0);
+ $132 = HEAP8[$131>>0]|0;
+ HEAP8[$129>>0] = $132;
+ HEAP8[$131>>0] = $130;
+ $133 = ((($43)) + 15|0);
+ $134 = HEAP8[$133>>0]|0;
+ $135 = ((($43)) + 48|0);
+ $136 = HEAP8[$135>>0]|0;
+ HEAP8[$133>>0] = $136;
+ HEAP8[$135>>0] = $134;
+ $137 = ((($43)) + 16|0);
+ $138 = HEAP8[$137>>0]|0;
+ $139 = ((($43)) + 47|0);
+ $140 = HEAP8[$139>>0]|0;
+ HEAP8[$137>>0] = $140;
+ HEAP8[$139>>0] = $138;
+ $141 = ((($43)) + 17|0);
+ $142 = HEAP8[$141>>0]|0;
+ $143 = ((($43)) + 46|0);
+ $144 = HEAP8[$143>>0]|0;
+ HEAP8[$141>>0] = $144;
+ HEAP8[$143>>0] = $142;
+ $145 = ((($43)) + 18|0);
+ $146 = HEAP8[$145>>0]|0;
+ $147 = ((($43)) + 45|0);
+ $148 = HEAP8[$147>>0]|0;
+ HEAP8[$145>>0] = $148;
+ HEAP8[$147>>0] = $146;
+ $149 = ((($43)) + 19|0);
+ $150 = HEAP8[$149>>0]|0;
+ $151 = ((($43)) + 44|0);
+ $152 = HEAP8[$151>>0]|0;
+ HEAP8[$149>>0] = $152;
+ HEAP8[$151>>0] = $150;
+ $153 = ((($43)) + 20|0);
+ $154 = HEAP8[$153>>0]|0;
+ $155 = ((($43)) + 43|0);
+ $156 = HEAP8[$155>>0]|0;
+ HEAP8[$153>>0] = $156;
+ HEAP8[$155>>0] = $154;
+ $157 = ((($43)) + 21|0);
+ $158 = HEAP8[$157>>0]|0;
+ $159 = ((($43)) + 42|0);
+ $160 = HEAP8[$159>>0]|0;
+ HEAP8[$157>>0] = $160;
+ HEAP8[$159>>0] = $158;
+ $161 = ((($43)) + 22|0);
+ $162 = HEAP8[$161>>0]|0;
+ $163 = ((($43)) + 41|0);
+ $164 = HEAP8[$163>>0]|0;
+ HEAP8[$161>>0] = $164;
+ HEAP8[$163>>0] = $162;
+ $165 = ((($43)) + 23|0);
+ $166 = HEAP8[$165>>0]|0;
+ $167 = ((($43)) + 40|0);
+ $168 = HEAP8[$167>>0]|0;
+ HEAP8[$165>>0] = $168;
+ HEAP8[$167>>0] = $166;
+ $169 = ((($43)) + 24|0);
+ $170 = HEAP8[$169>>0]|0;
+ $171 = ((($43)) + 39|0);
+ $172 = HEAP8[$171>>0]|0;
+ HEAP8[$169>>0] = $172;
+ HEAP8[$171>>0] = $170;
+ $173 = ((($43)) + 25|0);
+ $174 = HEAP8[$173>>0]|0;
+ $175 = ((($43)) + 38|0);
+ $176 = HEAP8[$175>>0]|0;
+ HEAP8[$173>>0] = $176;
+ HEAP8[$175>>0] = $174;
+ $177 = ((($43)) + 26|0);
+ $178 = HEAP8[$177>>0]|0;
+ $179 = ((($43)) + 37|0);
+ $180 = HEAP8[$179>>0]|0;
+ HEAP8[$177>>0] = $180;
+ HEAP8[$179>>0] = $178;
+ $181 = ((($43)) + 27|0);
+ $182 = HEAP8[$181>>0]|0;
+ $183 = ((($43)) + 36|0);
+ $184 = HEAP8[$183>>0]|0;
+ HEAP8[$181>>0] = $184;
+ HEAP8[$183>>0] = $182;
+ $185 = ((($43)) + 28|0);
+ $186 = HEAP8[$185>>0]|0;
+ $187 = ((($43)) + 35|0);
+ $188 = HEAP8[$187>>0]|0;
+ HEAP8[$185>>0] = $188;
+ HEAP8[$187>>0] = $186;
+ $189 = ((($43)) + 29|0);
+ $190 = HEAP8[$189>>0]|0;
+ $191 = ((($43)) + 34|0);
+ $192 = HEAP8[$191>>0]|0;
+ HEAP8[$189>>0] = $192;
+ HEAP8[$191>>0] = $190;
+ $193 = ((($43)) + 30|0);
+ $194 = HEAP8[$193>>0]|0;
+ $195 = ((($43)) + 33|0);
+ $196 = HEAP8[$195>>0]|0;
+ HEAP8[$193>>0] = $196;
+ HEAP8[$195>>0] = $194;
+ $197 = ((($43)) + 31|0);
+ $198 = HEAP8[$197>>0]|0;
+ $199 = ((($43)) + 32|0);
+ $200 = HEAP8[$199>>0]|0;
+ HEAP8[$197>>0] = $200;
+ HEAP8[$199>>0] = $198;
+ $201 = (__gcry_get_debug_flag(1)|0);
+ $202 = ($201|0)==(0);
+ if (!($202)) {
+ __gcry_log_printhex(70231,$43,64);
+ }
+ __gcry_mpi_set_buffer($24,$43,64,0);
+ $203 = ((($1)) + 20|0);
+ __gcry_mpi_ec_mul_point($14,$24,$203,$34);
+ $204 = (__gcry_get_debug_flag(1)|0);
+ $205 = ($204|0)==(0);
+ if (!($205)) {
+ __gcry_mpi_point_log(57837,$14,$34);
+ }
+ $206 = (__gcry_ecc_eddsa_encodepoint($14,$34,$22,$23,0,$10,$11)|0);
+ $207 = ($206|0)==(0);
+ if ($207) {
+ $208 = (__gcry_get_debug_flag(1)|0);
+ $209 = ($208|0)==(0);
+ if ($209) {
+ $$pre = HEAP32[$10>>2]|0;
+ $$pre88 = HEAP32[$11>>2]|0;
+ $210 = $$pre;
+ $214 = $$pre;$215 = $$pre88;$225 = $210;
+ } else {
+ $211 = HEAP32[$10>>2]|0;
+ $212 = HEAP32[$11>>2]|0;
+ __gcry_log_printhex(57842,$211,$212);
+ $213 = $211;
+ $214 = $213;$215 = $212;$225 = $211;
+ }
+ HEAP32[$67>>2] = $214;
+ HEAP32[$68>>2] = 0;
+ HEAP32[$69>>2] = $215;
+ $216 = HEAP32[$12>>2]|0;
+ HEAP32[$70>>2] = $216;
+ $217 = ((($9)) + 20|0);
+ HEAP32[$217>>2] = 0;
+ $218 = HEAP32[$13>>2]|0;
+ HEAP32[$71>>2] = $218;
+ $219 = ((($9)) + 44|0);
+ HEAP32[$219>>2] = $61;
+ $220 = ((($9)) + 36|0);
+ HEAP32[$220>>2] = 0;
+ $221 = ((($9)) + 40|0);
+ HEAP32[$221>>2] = $64;
+ $222 = (__gcry_md_hash_buffers($4,0,$43,$9,3)|0);
+ $223 = ($222|0)==(0);
+ if ($223) {
+ $224 = $215 << 3;
+ (__gcry_mpi_set_opaque($2,$225,$224)|0);
+ HEAP32[$10>>2] = 0;
+ $226 = HEAP8[$43>>0]|0;
+ $227 = HEAP8[$75>>0]|0;
+ HEAP8[$43>>0] = $227;
+ HEAP8[$75>>0] = $226;
+ $228 = HEAP8[$77>>0]|0;
+ $229 = HEAP8[$79>>0]|0;
+ HEAP8[$77>>0] = $229;
+ HEAP8[$79>>0] = $228;
+ $230 = HEAP8[$81>>0]|0;
+ $231 = HEAP8[$83>>0]|0;
+ HEAP8[$81>>0] = $231;
+ HEAP8[$83>>0] = $230;
+ $232 = HEAP8[$85>>0]|0;
+ $233 = HEAP8[$87>>0]|0;
+ HEAP8[$85>>0] = $233;
+ HEAP8[$87>>0] = $232;
+ $234 = HEAP8[$89>>0]|0;
+ $235 = HEAP8[$91>>0]|0;
+ HEAP8[$89>>0] = $235;
+ HEAP8[$91>>0] = $234;
+ $236 = HEAP8[$93>>0]|0;
+ $237 = HEAP8[$95>>0]|0;
+ HEAP8[$93>>0] = $237;
+ HEAP8[$95>>0] = $236;
+ $238 = HEAP8[$97>>0]|0;
+ $239 = HEAP8[$99>>0]|0;
+ HEAP8[$97>>0] = $239;
+ HEAP8[$99>>0] = $238;
+ $240 = HEAP8[$101>>0]|0;
+ $241 = HEAP8[$103>>0]|0;
+ HEAP8[$101>>0] = $241;
+ HEAP8[$103>>0] = $240;
+ $242 = HEAP8[$105>>0]|0;
+ $243 = HEAP8[$107>>0]|0;
+ HEAP8[$105>>0] = $243;
+ HEAP8[$107>>0] = $242;
+ $244 = HEAP8[$109>>0]|0;
+ $245 = HEAP8[$111>>0]|0;
+ HEAP8[$109>>0] = $245;
+ HEAP8[$111>>0] = $244;
+ $246 = HEAP8[$113>>0]|0;
+ $247 = HEAP8[$115>>0]|0;
+ HEAP8[$113>>0] = $247;
+ HEAP8[$115>>0] = $246;
+ $248 = HEAP8[$117>>0]|0;
+ $249 = HEAP8[$119>>0]|0;
+ HEAP8[$117>>0] = $249;
+ HEAP8[$119>>0] = $248;
+ $250 = HEAP8[$121>>0]|0;
+ $251 = HEAP8[$123>>0]|0;
+ HEAP8[$121>>0] = $251;
+ HEAP8[$123>>0] = $250;
+ $252 = HEAP8[$125>>0]|0;
+ $253 = HEAP8[$127>>0]|0;
+ HEAP8[$125>>0] = $253;
+ HEAP8[$127>>0] = $252;
+ $254 = HEAP8[$129>>0]|0;
+ $255 = HEAP8[$131>>0]|0;
+ HEAP8[$129>>0] = $255;
+ HEAP8[$131>>0] = $254;
+ $256 = HEAP8[$133>>0]|0;
+ $257 = HEAP8[$135>>0]|0;
+ HEAP8[$133>>0] = $257;
+ HEAP8[$135>>0] = $256;
+ $258 = HEAP8[$137>>0]|0;
+ $259 = HEAP8[$139>>0]|0;
+ HEAP8[$137>>0] = $259;
+ HEAP8[$139>>0] = $258;
+ $260 = HEAP8[$141>>0]|0;
+ $261 = HEAP8[$143>>0]|0;
+ HEAP8[$141>>0] = $261;
+ HEAP8[$143>>0] = $260;
+ $262 = HEAP8[$145>>0]|0;
+ $263 = HEAP8[$147>>0]|0;
+ HEAP8[$145>>0] = $263;
+ HEAP8[$147>>0] = $262;
+ $264 = HEAP8[$149>>0]|0;
+ $265 = HEAP8[$151>>0]|0;
+ HEAP8[$149>>0] = $265;
+ HEAP8[$151>>0] = $264;
+ $266 = HEAP8[$153>>0]|0;
+ $267 = HEAP8[$155>>0]|0;
+ HEAP8[$153>>0] = $267;
+ HEAP8[$155>>0] = $266;
+ $268 = HEAP8[$157>>0]|0;
+ $269 = HEAP8[$159>>0]|0;
+ HEAP8[$157>>0] = $269;
+ HEAP8[$159>>0] = $268;
+ $270 = HEAP8[$161>>0]|0;
+ $271 = HEAP8[$163>>0]|0;
+ HEAP8[$161>>0] = $271;
+ HEAP8[$163>>0] = $270;
+ $272 = HEAP8[$165>>0]|0;
+ $273 = HEAP8[$167>>0]|0;
+ HEAP8[$165>>0] = $273;
+ HEAP8[$167>>0] = $272;
+ $274 = HEAP8[$169>>0]|0;
+ $275 = HEAP8[$171>>0]|0;
+ HEAP8[$169>>0] = $275;
+ HEAP8[$171>>0] = $274;
+ $276 = HEAP8[$173>>0]|0;
+ $277 = HEAP8[$175>>0]|0;
+ HEAP8[$173>>0] = $277;
+ HEAP8[$175>>0] = $276;
+ $278 = HEAP8[$177>>0]|0;
+ $279 = HEAP8[$179>>0]|0;
+ HEAP8[$177>>0] = $279;
+ HEAP8[$179>>0] = $278;
+ $280 = HEAP8[$181>>0]|0;
+ $281 = HEAP8[$183>>0]|0;
+ HEAP8[$181>>0] = $281;
+ HEAP8[$183>>0] = $280;
+ $282 = HEAP8[$185>>0]|0;
+ $283 = HEAP8[$187>>0]|0;
+ HEAP8[$185>>0] = $283;
+ HEAP8[$187>>0] = $282;
+ $284 = HEAP8[$189>>0]|0;
+ $285 = HEAP8[$191>>0]|0;
+ HEAP8[$189>>0] = $285;
+ HEAP8[$191>>0] = $284;
+ $286 = HEAP8[$193>>0]|0;
+ $287 = HEAP8[$195>>0]|0;
+ HEAP8[$193>>0] = $287;
+ HEAP8[$195>>0] = $286;
+ $288 = HEAP8[$197>>0]|0;
+ $289 = HEAP8[$199>>0]|0;
+ HEAP8[$197>>0] = $289;
+ HEAP8[$199>>0] = $288;
+ $290 = (__gcry_get_debug_flag(1)|0);
+ $291 = ($290|0)==(0);
+ if (!($291)) {
+ __gcry_log_printhex(57849,$43,64);
+ }
+ __gcry_mpi_set_buffer($3,$43,64,0);
+ $292 = ((($1)) + 32|0);
+ $293 = HEAP32[$292>>2]|0;
+ __gcry_mpi_mulm($3,$3,$21,$293);
+ $294 = HEAP32[$292>>2]|0;
+ __gcry_mpi_addm($3,$3,$24,$294);
+ $295 = (__gcry_mpi_get_buffer($3,32,$6,0)|0);
+ $296 = ($295|0)==(0|0);
+ if ($296) {
+ $298 = (_gpg_err_code_from_syserror()|0);
+ $299 = ($298|0)==(0);
+ if (!($299)) {
+ $$082 = $298;
+ break;
+ }
+ } else {
+ HEAP32[$10>>2] = $295;
+ $297 = HEAP32[$6>>2]|0;
+ HEAP32[$11>>2] = $297;
+ }
+ $300 = (__gcry_get_debug_flag(1)|0);
+ $301 = ($300|0)==(0);
+ $$pre90 = HEAP32[$10>>2]|0;
+ $$pre91 = HEAP32[$11>>2]|0;
+ if (!($301)) {
+ __gcry_log_printhex(57856,$$pre90,$$pre91);
+ }
+ $302 = $$pre91 << 3;
+ (__gcry_mpi_set_opaque($3,$$pre90,$302)|0);
+ HEAP32[$10>>2] = 0;
+ $$082 = 0;
+ } else {
+ $$082 = $222;
+ }
+ } else {
+ $$082 = $206;
+ }
+ } else {
+ $$082 = $72;
+ }
+ } else {
+ $$082 = $41;
+ }
+ } while(0);
+ __gcry_mpi_release($21);
+ __gcry_mpi_release($22);
+ __gcry_mpi_release($23);
+ __gcry_mpi_release($24);
+ $303 = HEAP32[$8>>2]|0;
+ __gcry_free($303);
+ __gcry_mpi_ec_free($34);
+ __gcry_mpi_point_free_parts($14);
+ __gcry_mpi_point_free_parts($15);
+ $304 = HEAP32[$12>>2]|0;
+ __gcry_free($304);
+ $305 = HEAP32[$10>>2]|0;
+ __gcry_free($305);
+ $$0 = $$082;
+ STACKTOP = sp;return ($$0|0);
+}
+function __gcry_ecc_eddsa_verify($0,$1,$2,$3,$4,$5) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ $5 = $5|0;
+ var $$0 = 0, $$016$i89 = 0, $$1 = 0, $$mask = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0;
+ var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0;
+ var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0;
+ var $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0;
+ var $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0;
+ var $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0;
+ var $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0;
+ var $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
+ var $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0;
+ var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0;
+ var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond$i90 = 0, $or$cond = 0, $or$cond3 = 0;
+ var $spec$select = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 176|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(176|0);
+ $6 = sp + 164|0;
+ $7 = sp + 152|0;
+ $8 = sp + 148|0;
+ $9 = sp + 144|0;
+ $10 = sp + 140|0;
+ $11 = sp + 136|0;
+ $12 = sp + 48|0;
+ $13 = sp;
+ $14 = sp + 124|0;
+ $15 = sp + 112|0;
+ HEAP32[$8>>2] = 0;
+ HEAP32[$10>>2] = 0;
+ $16 = ($0|0)==(0|0);
+ if ($16) {
+ $$0 = 79;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $17 = ((($0)) + 12|0);
+ $18 = HEAP32[$17>>2]|0;
+ $19 = $18 & 4;
+ $20 = ($19|0)!=(0);
+ $21 = ($2|0)!=(0|0);
+ $or$cond = $21 & $20;
+ if (!($or$cond)) {
+ $$0 = 79;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $22 = ((($2)) + 12|0);
+ $23 = HEAP32[$22>>2]|0;
+ $24 = $23 & 4;
+ $25 = ($24|0)!=(0);
+ $26 = ($3|0)!=(0|0);
+ $or$cond3 = $26 & $25;
+ if (!($or$cond3)) {
+ $$0 = 79;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $27 = ((($3)) + 12|0);
+ $28 = HEAP32[$27>>2]|0;
+ $29 = $28 & 4;
+ $30 = ($29|0)==(0);
+ if ($30) {
+ $$0 = 79;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $31 = ($4|0)==(10);
+ if (!($31)) {
+ $$0 = 5;
+ STACKTOP = sp;return ($$0|0);
+ }
+ __gcry_mpi_point_init($7);
+ __gcry_mpi_point_init($14);
+ __gcry_mpi_point_init($15);
+ $32 = (__gcry_mpi_new(0)|0);
+ $33 = (__gcry_mpi_new(0)|0);
+ $34 = HEAP32[$1>>2]|0;
+ $35 = ((($1)) + 4|0);
+ $36 = HEAP32[$35>>2]|0;
+ $37 = ((($1)) + 8|0);
+ $38 = HEAP32[$37>>2]|0;
+ $39 = ((($1)) + 12|0);
+ $40 = HEAP32[$39>>2]|0;
+ $41 = ((($1)) + 16|0);
+ $42 = HEAP32[$41>>2]|0;
+ $43 = (__gcry_mpi_ec_p_internal_new($34,$36,0,$38,$40,$42)|0);
+ $44 = ((($43)) + 12|0);
+ $45 = HEAP32[$44>>2]|0;
+ $$mask = $45 & -8;
+ $46 = ($$mask|0)==(256);
+ if (!($46)) {
+ $$0 = 63;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $47 = (__gcry_ecc_eddsa_decodepoint($5,$43,$7,$8,$9)|0);
+ $48 = ($47|0)==(0);
+ do {
+ if ($48) {
+ $49 = (__gcry_mpi_ec_curve_point($7,$43)|0);
+ $50 = ($49|0)==(0);
+ if ($50) {
+ $$1 = 195;
+ } else {
+ $51 = (__gcry_get_debug_flag(1)|0);
+ $52 = ($51|0)==(0);
+ if (!($52)) {
+ $53 = HEAP32[$8>>2]|0;
+ $54 = HEAP32[$9>>2]|0;
+ __gcry_log_printhex(57823,$53,$54);
+ }
+ $55 = HEAP32[$9>>2]|0;
+ $56 = ($55|0)==(32);
+ if ($56) {
+ $57 = (__gcry_mpi_get_opaque($0,$6)|0);
+ $58 = HEAP32[$6>>2]|0;
+ $59 = (($58) + 7)|0;
+ $60 = $59 >>> 3;
+ $61 = (__gcry_get_debug_flag(1)|0);
+ $62 = ($61|0)==(0);
+ if (!($62)) {
+ __gcry_log_printhex(57830,$57,$60);
+ }
+ $63 = (__gcry_mpi_get_opaque($2,$6)|0);
+ $64 = HEAP32[$6>>2]|0;
+ $65 = (($64) + 7)|0;
+ $66 = $65 >>> 3;
+ $67 = (__gcry_get_debug_flag(1)|0);
+ $68 = ($67|0)==(0);
+ if (!($68)) {
+ __gcry_log_printhex(70231,$63,$66);
+ }
+ $69 = ($66|0)==(32);
+ if ($69) {
+ $70 = ((($13)) + 12|0);
+ HEAP32[$70>>2] = $63;
+ $71 = ((($13)) + 4|0);
+ HEAP32[$71>>2] = 0;
+ $72 = ((($13)) + 8|0);
+ HEAP32[$72>>2] = 32;
+ $73 = HEAP32[$8>>2]|0;
+ $74 = ((($13)) + 28|0);
+ HEAP32[$74>>2] = $73;
+ $75 = ((($13)) + 20|0);
+ HEAP32[$75>>2] = 0;
+ $76 = HEAP32[$9>>2]|0;
+ $77 = ((($13)) + 24|0);
+ HEAP32[$77>>2] = $76;
+ $78 = ((($13)) + 44|0);
+ HEAP32[$78>>2] = $57;
+ $79 = ((($13)) + 36|0);
+ HEAP32[$79>>2] = 0;
+ $80 = ((($13)) + 40|0);
+ HEAP32[$80>>2] = $60;
+ $81 = (__gcry_md_hash_buffers(10,0,$12,$13,3)|0);
+ $82 = ($81|0)==(0);
+ if ($82) {
+ $83 = HEAP8[$12>>0]|0;
+ $84 = ((($12)) + 63|0);
+ $85 = HEAP8[$84>>0]|0;
+ HEAP8[$12>>0] = $85;
+ HEAP8[$84>>0] = $83;
+ $86 = ((($12)) + 1|0);
+ $87 = HEAP8[$86>>0]|0;
+ $88 = ((($12)) + 62|0);
+ $89 = HEAP8[$88>>0]|0;
+ HEAP8[$86>>0] = $89;
+ HEAP8[$88>>0] = $87;
+ $90 = ((($12)) + 2|0);
+ $91 = HEAP8[$90>>0]|0;
+ $92 = ((($12)) + 61|0);
+ $93 = HEAP8[$92>>0]|0;
+ HEAP8[$90>>0] = $93;
+ HEAP8[$92>>0] = $91;
+ $94 = ((($12)) + 3|0);
+ $95 = HEAP8[$94>>0]|0;
+ $96 = ((($12)) + 60|0);
+ $97 = HEAP8[$96>>0]|0;
+ HEAP8[$94>>0] = $97;
+ HEAP8[$96>>0] = $95;
+ $98 = ((($12)) + 4|0);
+ $99 = HEAP8[$98>>0]|0;
+ $100 = ((($12)) + 59|0);
+ $101 = HEAP8[$100>>0]|0;
+ HEAP8[$98>>0] = $101;
+ HEAP8[$100>>0] = $99;
+ $102 = ((($12)) + 5|0);
+ $103 = HEAP8[$102>>0]|0;
+ $104 = ((($12)) + 58|0);
+ $105 = HEAP8[$104>>0]|0;
+ HEAP8[$102>>0] = $105;
+ HEAP8[$104>>0] = $103;
+ $106 = ((($12)) + 6|0);
+ $107 = HEAP8[$106>>0]|0;
+ $108 = ((($12)) + 57|0);
+ $109 = HEAP8[$108>>0]|0;
+ HEAP8[$106>>0] = $109;
+ HEAP8[$108>>0] = $107;
+ $110 = ((($12)) + 7|0);
+ $111 = HEAP8[$110>>0]|0;
+ $112 = ((($12)) + 56|0);
+ $113 = HEAP8[$112>>0]|0;
+ HEAP8[$110>>0] = $113;
+ HEAP8[$112>>0] = $111;
+ $114 = ((($12)) + 8|0);
+ $115 = HEAP8[$114>>0]|0;
+ $116 = ((($12)) + 55|0);
+ $117 = HEAP8[$116>>0]|0;
+ HEAP8[$114>>0] = $117;
+ HEAP8[$116>>0] = $115;
+ $118 = ((($12)) + 9|0);
+ $119 = HEAP8[$118>>0]|0;
+ $120 = ((($12)) + 54|0);
+ $121 = HEAP8[$120>>0]|0;
+ HEAP8[$118>>0] = $121;
+ HEAP8[$120>>0] = $119;
+ $122 = ((($12)) + 10|0);
+ $123 = HEAP8[$122>>0]|0;
+ $124 = ((($12)) + 53|0);
+ $125 = HEAP8[$124>>0]|0;
+ HEAP8[$122>>0] = $125;
+ HEAP8[$124>>0] = $123;
+ $126 = ((($12)) + 11|0);
+ $127 = HEAP8[$126>>0]|0;
+ $128 = ((($12)) + 52|0);
+ $129 = HEAP8[$128>>0]|0;
+ HEAP8[$126>>0] = $129;
+ HEAP8[$128>>0] = $127;
+ $130 = ((($12)) + 12|0);
+ $131 = HEAP8[$130>>0]|0;
+ $132 = ((($12)) + 51|0);
+ $133 = HEAP8[$132>>0]|0;
+ HEAP8[$130>>0] = $133;
+ HEAP8[$132>>0] = $131;
+ $134 = ((($12)) + 13|0);
+ $135 = HEAP8[$134>>0]|0;
+ $136 = ((($12)) + 50|0);
+ $137 = HEAP8[$136>>0]|0;
+ HEAP8[$134>>0] = $137;
+ HEAP8[$136>>0] = $135;
+ $138 = ((($12)) + 14|0);
+ $139 = HEAP8[$138>>0]|0;
+ $140 = ((($12)) + 49|0);
+ $141 = HEAP8[$140>>0]|0;
+ HEAP8[$138>>0] = $141;
+ HEAP8[$140>>0] = $139;
+ $142 = ((($12)) + 15|0);
+ $143 = HEAP8[$142>>0]|0;
+ $144 = ((($12)) + 48|0);
+ $145 = HEAP8[$144>>0]|0;
+ HEAP8[$142>>0] = $145;
+ HEAP8[$144>>0] = $143;
+ $146 = ((($12)) + 16|0);
+ $147 = HEAP8[$146>>0]|0;
+ $148 = ((($12)) + 47|0);
+ $149 = HEAP8[$148>>0]|0;
+ HEAP8[$146>>0] = $149;
+ HEAP8[$148>>0] = $147;
+ $150 = ((($12)) + 17|0);
+ $151 = HEAP8[$150>>0]|0;
+ $152 = ((($12)) + 46|0);
+ $153 = HEAP8[$152>>0]|0;
+ HEAP8[$150>>0] = $153;
+ HEAP8[$152>>0] = $151;
+ $154 = ((($12)) + 18|0);
+ $155 = HEAP8[$154>>0]|0;
+ $156 = ((($12)) + 45|0);
+ $157 = HEAP8[$156>>0]|0;
+ HEAP8[$154>>0] = $157;
+ HEAP8[$156>>0] = $155;
+ $158 = ((($12)) + 19|0);
+ $159 = HEAP8[$158>>0]|0;
+ $160 = ((($12)) + 44|0);
+ $161 = HEAP8[$160>>0]|0;
+ HEAP8[$158>>0] = $161;
+ HEAP8[$160>>0] = $159;
+ $162 = ((($12)) + 20|0);
+ $163 = HEAP8[$162>>0]|0;
+ $164 = ((($12)) + 43|0);
+ $165 = HEAP8[$164>>0]|0;
+ HEAP8[$162>>0] = $165;
+ HEAP8[$164>>0] = $163;
+ $166 = ((($12)) + 21|0);
+ $167 = HEAP8[$166>>0]|0;
+ $168 = ((($12)) + 42|0);
+ $169 = HEAP8[$168>>0]|0;
+ HEAP8[$166>>0] = $169;
+ HEAP8[$168>>0] = $167;
+ $170 = ((($12)) + 22|0);
+ $171 = HEAP8[$170>>0]|0;
+ $172 = ((($12)) + 41|0);
+ $173 = HEAP8[$172>>0]|0;
+ HEAP8[$170>>0] = $173;
+ HEAP8[$172>>0] = $171;
+ $174 = ((($12)) + 23|0);
+ $175 = HEAP8[$174>>0]|0;
+ $176 = ((($12)) + 40|0);
+ $177 = HEAP8[$176>>0]|0;
+ HEAP8[$174>>0] = $177;
+ HEAP8[$176>>0] = $175;
+ $178 = ((($12)) + 24|0);
+ $179 = HEAP8[$178>>0]|0;
+ $180 = ((($12)) + 39|0);
+ $181 = HEAP8[$180>>0]|0;
+ HEAP8[$178>>0] = $181;
+ HEAP8[$180>>0] = $179;
+ $182 = ((($12)) + 25|0);
+ $183 = HEAP8[$182>>0]|0;
+ $184 = ((($12)) + 38|0);
+ $185 = HEAP8[$184>>0]|0;
+ HEAP8[$182>>0] = $185;
+ HEAP8[$184>>0] = $183;
+ $186 = ((($12)) + 26|0);
+ $187 = HEAP8[$186>>0]|0;
+ $188 = ((($12)) + 37|0);
+ $189 = HEAP8[$188>>0]|0;
+ HEAP8[$186>>0] = $189;
+ HEAP8[$188>>0] = $187;
+ $190 = ((($12)) + 27|0);
+ $191 = HEAP8[$190>>0]|0;
+ $192 = ((($12)) + 36|0);
+ $193 = HEAP8[$192>>0]|0;
+ HEAP8[$190>>0] = $193;
+ HEAP8[$192>>0] = $191;
+ $194 = ((($12)) + 28|0);
+ $195 = HEAP8[$194>>0]|0;
+ $196 = ((($12)) + 35|0);
+ $197 = HEAP8[$196>>0]|0;
+ HEAP8[$194>>0] = $197;
+ HEAP8[$196>>0] = $195;
+ $198 = ((($12)) + 29|0);
+ $199 = HEAP8[$198>>0]|0;
+ $200 = ((($12)) + 34|0);
+ $201 = HEAP8[$200>>0]|0;
+ HEAP8[$198>>0] = $201;
+ HEAP8[$200>>0] = $199;
+ $202 = ((($12)) + 30|0);
+ $203 = HEAP8[$202>>0]|0;
+ $204 = ((($12)) + 33|0);
+ $205 = HEAP8[$204>>0]|0;
+ HEAP8[$202>>0] = $205;
+ HEAP8[$204>>0] = $203;
+ $206 = ((($12)) + 31|0);
+ $207 = HEAP8[$206>>0]|0;
+ $208 = ((($12)) + 32|0);
+ $209 = HEAP8[$208>>0]|0;
+ HEAP8[$206>>0] = $209;
+ HEAP8[$208>>0] = $207;
+ $210 = (__gcry_get_debug_flag(1)|0);
+ $211 = ($210|0)==(0);
+ if (!($211)) {
+ __gcry_log_printhex(57849,$12,64);
+ }
+ __gcry_mpi_set_buffer($32,$12,64,0);
+ $212 = (__gcry_mpi_get_opaque_copy($3,$6)|0);
+ $213 = HEAP32[$6>>2]|0;
+ $214 = (($213) + 7)|0;
+ $215 = $214 >>> 3;
+ $216 = $214 >>> 4;
+ $217 = ($216|0)==(0);
+ if (!($217)) {
+ $218 = (($215) + -1)|0;
+ $$016$i89 = 0;
+ while(1) {
+ $219 = (($212) + ($$016$i89)|0);
+ $220 = HEAP8[$219>>0]|0;
+ $221 = (($218) - ($$016$i89))|0;
+ $222 = (($212) + ($221)|0);
+ $223 = HEAP8[$222>>0]|0;
+ HEAP8[$219>>0] = $223;
+ HEAP8[$222>>0] = $220;
+ $224 = (($$016$i89) + 1)|0;
+ $exitcond$i90 = ($224|0)==($216|0);
+ if ($exitcond$i90) {
+ break;
+ } else {
+ $$016$i89 = $224;
+ }
+ }
+ }
+ $225 = (__gcry_get_debug_flag(1)|0);
+ $226 = ($225|0)==(0);
+ if (!($226)) {
+ __gcry_log_printhex(70238,$212,$215);
+ }
+ __gcry_mpi_set_buffer($33,$212,$215,0);
+ __gcry_free($212);
+ $227 = ($215|0)==(32);
+ if ($227) {
+ $228 = ((($1)) + 20|0);
+ __gcry_mpi_ec_mul_point($14,$33,$228,$43);
+ __gcry_mpi_ec_mul_point($15,$32,$7,$43);
+ $229 = HEAP32[$15>>2]|0;
+ __gcry_mpi_neg($229,$229);
+ __gcry_mpi_ec_add_points($14,$14,$15,$43);
+ $230 = (__gcry_ecc_eddsa_encodepoint($14,$43,$33,$32,0,$10,$11)|0);
+ $231 = ($230|0)==(0);
+ if ($231) {
+ $232 = HEAP32[$11>>2]|0;
+ $233 = ($232|0)==(32);
+ if (!($233)) {
+ $$1 = 8;
+ break;
+ }
+ $234 = HEAP32[$10>>2]|0;
+ $235 = (_memcmp($234,$63,32)|0);
+ $236 = ($235|0)==(0);
+ $spec$select = $236 ? 0 : 8;
+ $$1 = $spec$select;
+ } else {
+ $$1 = $230;
+ }
+ } else {
+ $$1 = 139;
+ }
+ } else {
+ $$1 = $81;
+ }
+ } else {
+ $$1 = 139;
+ }
+ } else {
+ $$1 = 139;
+ }
+ }
+ } else {
+ $$1 = $47;
+ }
+ } while(0);
+ $237 = HEAP32[$8>>2]|0;
+ __gcry_free($237);
+ $238 = HEAP32[$10>>2]|0;
+ __gcry_free($238);
+ __gcry_mpi_ec_free($43);
+ __gcry_mpi_release($33);
+ __gcry_mpi_release($32);
+ __gcry_mpi_point_free_parts($14);
+ __gcry_mpi_point_free_parts($15);
+ __gcry_mpi_point_free_parts($7);
+ $$0 = $$1;
+ STACKTOP = sp;return ($$0|0);
+}
+function __gcry_ecc_curve_free($0) {
+ $0 = $0|0;
+ var $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = ((($0)) + 8|0);
+ $2 = HEAP32[$1>>2]|0;
+ __gcry_mpi_free($2);
+ HEAP32[$1>>2] = 0;
+ $3 = ((($0)) + 12|0);
+ $4 = HEAP32[$3>>2]|0;
+ __gcry_mpi_free($4);
+ HEAP32[$3>>2] = 0;
+ $5 = ((($0)) + 16|0);
+ $6 = HEAP32[$5>>2]|0;
+ __gcry_mpi_free($6);
+ HEAP32[$5>>2] = 0;
+ $7 = ((($0)) + 20|0);
+ __gcry_mpi_point_free_parts($7);
+ $8 = ((($0)) + 32|0);
+ $9 = HEAP32[$8>>2]|0;
+ __gcry_mpi_free($9);
+ HEAP32[$8>>2] = 0;
+ $10 = ((($0)) + 36|0);
+ $11 = HEAP32[$10>>2]|0;
+ __gcry_mpi_free($11);
+ HEAP32[$10>>2] = 0;
+ return;
+}
+function __gcry_ecc_curve_copy($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
+ var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
+ var dest = 0, label = 0, sp = 0, src = 0, stop = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
+ $2 = sp;
+ $3 = HEAP32[$1>>2]|0;
+ HEAP32[$2>>2] = $3;
+ $4 = ((($1)) + 4|0);
+ $5 = HEAP32[$4>>2]|0;
+ $6 = ((($2)) + 4|0);
+ HEAP32[$6>>2] = $5;
+ $7 = ((($1)) + 40|0);
+ $8 = HEAP32[$7>>2]|0;
+ $9 = ((($2)) + 40|0);
+ HEAP32[$9>>2] = $8;
+ $10 = ((($1)) + 8|0);
+ $11 = HEAP32[$10>>2]|0;
+ $12 = (__gcry_mpi_copy($11)|0);
+ $13 = ((($2)) + 8|0);
+ HEAP32[$13>>2] = $12;
+ $14 = ((($1)) + 12|0);
+ $15 = HEAP32[$14>>2]|0;
+ $16 = (__gcry_mpi_copy($15)|0);
+ $17 = ((($2)) + 12|0);
+ HEAP32[$17>>2] = $16;
+ $18 = ((($1)) + 16|0);
+ $19 = HEAP32[$18>>2]|0;
+ $20 = (__gcry_mpi_copy($19)|0);
+ $21 = ((($2)) + 16|0);
+ HEAP32[$21>>2] = $20;
+ $22 = ((($2)) + 20|0);
+ __gcry_mpi_point_init($22);
+ $23 = HEAP32[$22>>2]|0;
+ $24 = ((($1)) + 20|0);
+ $25 = HEAP32[$24>>2]|0;
+ (__gcry_mpi_set($23,$25)|0);
+ $26 = ((($2)) + 24|0);
+ $27 = HEAP32[$26>>2]|0;
+ $28 = ((($1)) + 24|0);
+ $29 = HEAP32[$28>>2]|0;
+ (__gcry_mpi_set($27,$29)|0);
+ $30 = ((($2)) + 28|0);
+ $31 = HEAP32[$30>>2]|0;
+ $32 = ((($1)) + 28|0);
+ $33 = HEAP32[$32>>2]|0;
+ (__gcry_mpi_set($31,$33)|0);
+ $34 = ((($1)) + 32|0);
+ $35 = HEAP32[$34>>2]|0;
+ $36 = (__gcry_mpi_copy($35)|0);
+ $37 = ((($2)) + 32|0);
+ HEAP32[$37>>2] = $36;
+ $38 = ((($1)) + 36|0);
+ $39 = HEAP32[$38>>2]|0;
+ $40 = (__gcry_mpi_copy($39)|0);
+ $41 = ((($2)) + 36|0);
+ HEAP32[$41>>2] = $40;
+ dest=$0; src=$2; stop=dest+44|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0));
+ STACKTOP = sp;return;
+}
+function __gcry_ecc_model2str($0) {
+ $0 = $0|0;
+ var $$0 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ switch ($0|0) {
+ case 0: {
+ $$0 = 57871;
+ break;
+ }
+ case 1: {
+ $$0 = 63906;
+ break;
+ }
+ case 2: {
+ $$0 = 57863;
+ break;
+ }
+ default: {
+ $$0 = 59741;
+ }
+ }
+ return ($$0|0);
+}
+function __gcry_ecc_dialect2str($0) {
+ $0 = $0|0;
+ var $switch$select = 0, $switch$select3 = 0, $switch$selectcmp = 0, $switch$selectcmp2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $switch$selectcmp = ($0|0)==(1);
+ $switch$select = $switch$selectcmp ? 57883 : 59741;
+ $switch$selectcmp2 = ($0|0)==(0);
+ $switch$select3 = $switch$selectcmp2 ? 57891 : $switch$select;
+ return ($switch$select3|0);
+}
+function __gcry_ecc_ec2os($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
+ var $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
+ $vararg_buffer4 = sp + 16|0;
+ $vararg_buffer1 = sp + 8|0;
+ $vararg_buffer = sp;
+ $3 = sp + 24|0;
+ $4 = sp + 20|0;
+ $5 = (__gcry_mpi_get_nbits($2)|0);
+ $6 = (($5) + 7)|0;
+ $7 = $6 >>> 3;
+ $8 = $7 << 1;
+ $9 = $8 | 1;
+ $10 = (__gcry_xmalloc($9)|0);
+ HEAP8[$10>>0] = 4;
+ $11 = ((($10)) + 1|0);
+ $12 = (__gcry_mpi_print(5,$11,$7,$3,$0)|0);
+ $13 = ($12|0)==(0);
+ if (!($13)) {
+ $14 = (_gpg_strerror($12)|0);
+ HEAP32[$vararg_buffer>>2] = $14;
+ __gcry_log_fatal(57900,$vararg_buffer);
+ // unreachable;
+ }
+ $15 = HEAP32[$3>>2]|0;
+ $16 = ($7>>>0)>($15>>>0);
+ $17 = (($7) - ($15))|0;
+ if ($16) {
+ $18 = (($11) + ($17)|0);
+ _memmove(($18|0),($11|0),($15|0))|0;
+ _memset(($11|0),0,($17|0))|0;
+ }
+ $19 = (($11) + ($7)|0);
+ $20 = (__gcry_mpi_print(5,$19,$7,$3,$1)|0);
+ $21 = ($20|0)==(0);
+ if (!($21)) {
+ $22 = (_gpg_strerror($20)|0);
+ HEAP32[$vararg_buffer1>>2] = $22;
+ __gcry_log_fatal(57900,$vararg_buffer1);
+ // unreachable;
+ }
+ $23 = HEAP32[$3>>2]|0;
+ $24 = ($7>>>0)>($23>>>0);
+ $25 = (($7) - ($23))|0;
+ if ($24) {
+ $26 = (($19) + ($25)|0);
+ _memmove(($26|0),($19|0),($23|0))|0;
+ _memset(($19|0),0,($25|0))|0;
+ }
+ $27 = (__gcry_mpi_scan($4,5,$10,$9,0)|0);
+ $28 = ($27|0)==(0);
+ if ($28) {
+ __gcry_free($10);
+ $30 = HEAP32[$4>>2]|0;
+ STACKTOP = sp;return ($30|0);
+ } else {
+ $29 = (_gpg_strerror($27)|0);
+ HEAP32[$vararg_buffer4>>2] = $29;
+ __gcry_log_fatal(57922,$vararg_buffer4);
+ // unreachable;
+ }
+ return (0)|0;
+}
+function __gcry_mpi_ec_ec2os($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $2 = (__gcry_mpi_new(0)|0);
+ $3 = (__gcry_mpi_new(0)|0);
+ $4 = (__gcry_mpi_ec_get_affine($2,$3,$0,$1)|0);
+ $5 = ($4|0)==(0);
+ if ($5) {
+ $6 = ((($1)) + 16|0);
+ $7 = HEAP32[$6>>2]|0;
+ $8 = (__gcry_ecc_ec2os($2,$3,$7)|0);
+ $$0 = $8;
+ } else {
+ $$0 = 0;
+ }
+ __gcry_mpi_free($2);
+ __gcry_mpi_free($3);
+ return ($$0|0);
+}
+function __gcry_ecc_os2ec($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $$032 = 0, $$1 = 0, $$134 = 0, $$pr = 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;
+ 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $2 = sp + 12|0;
+ $3 = sp + 8|0;
+ $4 = sp + 4|0;
+ $5 = sp;
+ $6 = ($1|0)==(0|0);
+ do {
+ if ($6) {
+ label = 6;
+ } else {
+ $7 = ((($1)) + 12|0);
+ $8 = HEAP32[$7>>2]|0;
+ $9 = $8 & 4;
+ $10 = ($9|0)==(0);
+ if ($10) {
+ label = 6;
+ } else {
+ $11 = (__gcry_mpi_get_opaque($1,$5)|0);
+ $12 = ($11|0)==(0|0);
+ if (!($12)) {
+ $13 = HEAP32[$5>>2]|0;
+ $14 = (($13) + 7)|0;
+ $15 = $14 >>> 3;
+ HEAP32[$2>>2] = $15;
+ $$032 = $11;$$1 = 0;$23 = $15;
+ break;
+ }
+ $$134 = 65;
+ STACKTOP = sp;return ($$134|0);
+ }
+ }
+ } while(0);
+ do {
+ if ((label|0) == 6) {
+ $16 = (__gcry_mpi_get_nbits($1)|0);
+ $17 = (($16) + 7)|0;
+ $18 = $17 >>> 3;
+ HEAP32[$2>>2] = $18;
+ $19 = (__gcry_xmalloc($18)|0);
+ $20 = (__gcry_mpi_print(5,$19,$18,$2,$1)|0);
+ $21 = ($20|0)==(0);
+ if ($21) {
+ $$pr = HEAP32[$2>>2]|0;
+ $$032 = $19;$$1 = $19;$23 = $$pr;
+ break;
+ }
+ __gcry_free($19);
+ $$134 = $20;
+ STACKTOP = sp;return ($$134|0);
+ }
+ } while(0);
+ $22 = ($23|0)==(0);
+ if ($22) {
+ __gcry_free($$1);
+ $$134 = 65;
+ STACKTOP = sp;return ($$134|0);
+ }
+ $24 = HEAP8[$$032>>0]|0;
+ $25 = ($24<<24>>24)==(4);
+ if (!($25)) {
+ __gcry_free($$1);
+ $$134 = 69;
+ STACKTOP = sp;return ($$134|0);
+ }
+ $26 = (($23) + -1)|0;
+ $27 = $26 & 1;
+ $28 = ($27|0)==(0);
+ if (!($28)) {
+ __gcry_free($$1);
+ $$134 = 65;
+ STACKTOP = sp;return ($$134|0);
+ }
+ $29 = $26 >>> 1;
+ HEAP32[$2>>2] = $29;
+ $30 = ((($$032)) + 1|0);
+ $31 = (__gcry_mpi_scan($3,5,$30,$29,0)|0);
+ $32 = ($31|0)==(0);
+ if (!($32)) {
+ __gcry_free($$1);
+ $$134 = $31;
+ STACKTOP = sp;return ($$134|0);
+ }
+ $33 = HEAP32[$2>>2]|0;
+ $34 = (($30) + ($33)|0);
+ $35 = (__gcry_mpi_scan($4,5,$34,$33,0)|0);
+ __gcry_free($$1);
+ $36 = ($35|0)==(0);
+ if ($36) {
+ $38 = HEAP32[$0>>2]|0;
+ $39 = HEAP32[$3>>2]|0;
+ (__gcry_mpi_set($38,$39)|0);
+ $40 = ((($0)) + 4|0);
+ $41 = HEAP32[$40>>2]|0;
+ $42 = HEAP32[$4>>2]|0;
+ (__gcry_mpi_set($41,$42)|0);
+ $43 = ((($0)) + 8|0);
+ $44 = HEAP32[$43>>2]|0;
+ (__gcry_mpi_set_ui($44,1)|0);
+ $45 = HEAP32[$3>>2]|0;
+ __gcry_mpi_free($45);
+ $46 = HEAP32[$4>>2]|0;
+ __gcry_mpi_free($46);
+ $$134 = 0;
+ STACKTOP = sp;return ($$134|0);
+ } else {
+ $37 = HEAP32[$3>>2]|0;
+ __gcry_mpi_free($37);
+ $$134 = $35;
+ STACKTOP = sp;return ($$134|0);
+ }
+ return (0)|0;
+}
+function __gcry_ecc_compute_public($0,$1,$2,$3) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ var $$033 = 0, $$034 = 0, $$03537 = 0, $$03538 = 0, $$1 = 0, $$241 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0;
+ var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $5 = 0;
+ var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $4 = sp;
+ $5 = ($2|0)==(0|0);
+ if ($5) {
+ $6 = ((($1)) + 28|0);
+ $7 = HEAP32[$6>>2]|0;
+ $$034 = $7;
+ } else {
+ $$034 = $2;
+ }
+ $8 = ($3|0)==(0|0);
+ if ($8) {
+ $9 = ((($1)) + 44|0);
+ $10 = HEAP32[$9>>2]|0;
+ $$033 = $10;
+ } else {
+ $$033 = $3;
+ }
+ $11 = ($$033|0)!=(0|0);
+ $12 = ($$034|0)!=(0|0);
+ $or$cond = $12 & $11;
+ if (!($or$cond)) {
+ $$1 = 0;
+ STACKTOP = sp;return ($$1|0);
+ }
+ $13 = ((($1)) + 16|0);
+ $14 = HEAP32[$13>>2]|0;
+ $15 = ($14|0)==(0|0);
+ if ($15) {
+ $$1 = 0;
+ STACKTOP = sp;return ($$1|0);
+ }
+ $16 = ((($1)) + 20|0);
+ $17 = HEAP32[$16>>2]|0;
+ $18 = ($17|0)==(0|0);
+ if ($18) {
+ $$1 = 0;
+ STACKTOP = sp;return ($$1|0);
+ }
+ $19 = HEAP32[$1>>2]|0;
+ $20 = ($19|0)==(2);
+ if ($20) {
+ $21 = ((($1)) + 24|0);
+ $22 = HEAP32[$21>>2]|0;
+ $23 = ($22|0)==(0|0);
+ if ($23) {
+ $$1 = 0;
+ STACKTOP = sp;return ($$1|0);
+ }
+ }
+ $24 = ((($1)) + 4|0);
+ $25 = HEAP32[$24>>2]|0;
+ $26 = ($25|0)==(1);
+ if ($26) {
+ $27 = ((($1)) + 8|0);
+ $28 = HEAP32[$27>>2]|0;
+ $29 = $28 & 4096;
+ $30 = ($29|0)==(0);
+ if (!($30)) {
+ $31 = (__gcry_ecc_eddsa_compute_h_d($4,$$033,$1)|0);
+ $32 = ($31|0)==(0);
+ if (!($32)) {
+ $$1 = 0;
+ STACKTOP = sp;return ($$1|0);
+ }
+ $33 = (__gcry_mpi_snew(0)|0);
+ $34 = HEAP32[$4>>2]|0;
+ __gcry_mpi_set_buffer($33,$34,32,0);
+ $35 = HEAP32[$4>>2]|0;
+ __gcry_free($35);
+ $36 = ($0|0)==(0|0);
+ if ($36) {
+ $37 = (__gcry_mpi_point_new(0)|0);
+ $38 = ($37|0)==(0|0);
+ if ($38) {
+ $$03538 = 0;
+ } else {
+ $$03537 = $37;
+ label = 15;
+ }
+ } else {
+ $$03537 = $0;
+ label = 15;
+ }
+ if ((label|0) == 15) {
+ __gcry_mpi_ec_mul_point($$03537,$33,$$034,$1);
+ $$03538 = $$03537;
+ }
+ __gcry_mpi_free($33);
+ $$1 = $$03538;
+ STACKTOP = sp;return ($$1|0);
+ }
+ }
+ $39 = ($0|0)==(0|0);
+ if ($39) {
+ $40 = (__gcry_mpi_point_new(0)|0);
+ $41 = ($40|0)==(0|0);
+ if ($41) {
+ $$1 = 0;
+ STACKTOP = sp;return ($$1|0);
+ } else {
+ $$241 = $40;
+ }
+ } else {
+ $$241 = $0;
+ }
+ __gcry_mpi_ec_mul_point($$241,$$033,$$034,$1);
+ $$1 = $$241;
+ STACKTOP = sp;return ($$1|0);
+}
+function __gcry_hmac_selftest($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$022$i$i = 0, $$022$i20$i = 0, $$022$i28$i = 0, $$035$i$i = 0, $$036$i$i = 0, $$038$ph$i$i = 0, $$03949$i$i = 0, $$141$i$i = 0, $$23440$i$i = 0, $$lcssa$i$i = 0, $$lcssa$i22$i = 0, $$lcssa$i30$i = 0, $$lcssa21$i$i = 0, $$lcssa21$i21$i = 0, $$lcssa21$i29$i = 0, $$lcssa43$i$i = 0, $$lcssa44$i$i = 0, $$lcssa47$i$i = 0, $$lcssa48$i$i = 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, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $21 = 0, $22 = 0, $23 = 0;
+ var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0;
+ var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $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, $exitcond$i$i = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0);
+ $3 = sp + 128|0;
+ $4 = sp;
+ $5 = (__gcry_md_algo_info($0,8,0,0)|0);
+ $6 = ($5|0)==(0);
+ if (!($6)) {
+ $201 = ($2|0)==(0|0);
+ if ($201) {
+ $202 = 16777221;
+ STACKTOP = sp;return ($202|0);
+ }
+ FUNCTION_TABLE_viiii[$2 & 63](58127,$0,59834,58227);
+ $202 = 16777221;
+ STACKTOP = sp;return ($202|0);
+ }
+ switch ($0|0) {
+ case 2: {
+ HEAP8[$4>>0] = 0;
+ $7 = ((($4)) + 1|0);
+ HEAP8[$7>>0] = 1;
+ $8 = ((($4)) + 2|0);
+ HEAP8[$8>>0] = 2;
+ $9 = ((($4)) + 3|0);
+ HEAP8[$9>>0] = 3;
+ $10 = ((($4)) + 4|0);
+ HEAP8[$10>>0] = 4;
+ $11 = ((($4)) + 5|0);
+ HEAP8[$11>>0] = 5;
+ $12 = ((($4)) + 6|0);
+ HEAP8[$12>>0] = 6;
+ $13 = ((($4)) + 7|0);
+ HEAP8[$13>>0] = 7;
+ $14 = ((($4)) + 8|0);
+ HEAP8[$14>>0] = 8;
+ $15 = ((($4)) + 9|0);
+ HEAP8[$15>>0] = 9;
+ $16 = ((($4)) + 10|0);
+ HEAP8[$16>>0] = 10;
+ $17 = ((($4)) + 11|0);
+ HEAP8[$17>>0] = 11;
+ $18 = ((($4)) + 12|0);
+ HEAP8[$18>>0] = 12;
+ $19 = ((($4)) + 13|0);
+ HEAP8[$19>>0] = 13;
+ $20 = ((($4)) + 14|0);
+ HEAP8[$20>>0] = 14;
+ $21 = ((($4)) + 15|0);
+ HEAP8[$21>>0] = 15;
+ $22 = ((($4)) + 16|0);
+ HEAP8[$22>>0] = 16;
+ $23 = ((($4)) + 17|0);
+ HEAP8[$23>>0] = 17;
+ $24 = ((($4)) + 18|0);
+ HEAP8[$24>>0] = 18;
+ $25 = ((($4)) + 19|0);
+ HEAP8[$25>>0] = 19;
+ $26 = ((($4)) + 20|0);
+ HEAP8[$26>>0] = 20;
+ $27 = ((($4)) + 21|0);
+ HEAP8[$27>>0] = 21;
+ $28 = ((($4)) + 22|0);
+ HEAP8[$28>>0] = 22;
+ $29 = ((($4)) + 23|0);
+ HEAP8[$29>>0] = 23;
+ $30 = ((($4)) + 24|0);
+ HEAP8[$30>>0] = 24;
+ $31 = ((($4)) + 25|0);
+ HEAP8[$31>>0] = 25;
+ $32 = ((($4)) + 26|0);
+ HEAP8[$32>>0] = 26;
+ $33 = ((($4)) + 27|0);
+ HEAP8[$33>>0] = 27;
+ $34 = ((($4)) + 28|0);
+ HEAP8[$34>>0] = 28;
+ $35 = ((($4)) + 29|0);
+ HEAP8[$35>>0] = 29;
+ $36 = ((($4)) + 30|0);
+ HEAP8[$36>>0] = 30;
+ $37 = ((($4)) + 31|0);
+ HEAP8[$37>>0] = 31;
+ $38 = ((($4)) + 32|0);
+ HEAP8[$38>>0] = 32;
+ $39 = ((($4)) + 33|0);
+ HEAP8[$39>>0] = 33;
+ $40 = ((($4)) + 34|0);
+ HEAP8[$40>>0] = 34;
+ $41 = ((($4)) + 35|0);
+ HEAP8[$41>>0] = 35;
+ $42 = ((($4)) + 36|0);
+ HEAP8[$42>>0] = 36;
+ $43 = ((($4)) + 37|0);
+ HEAP8[$43>>0] = 37;
+ $44 = ((($4)) + 38|0);
+ HEAP8[$44>>0] = 38;
+ $45 = ((($4)) + 39|0);
+ HEAP8[$45>>0] = 39;
+ $46 = ((($4)) + 40|0);
+ HEAP8[$46>>0] = 40;
+ $47 = ((($4)) + 41|0);
+ HEAP8[$47>>0] = 41;
+ $48 = ((($4)) + 42|0);
+ HEAP8[$48>>0] = 42;
+ $49 = ((($4)) + 43|0);
+ HEAP8[$49>>0] = 43;
+ $50 = ((($4)) + 44|0);
+ HEAP8[$50>>0] = 44;
+ $51 = ((($4)) + 45|0);
+ HEAP8[$51>>0] = 45;
+ $52 = ((($4)) + 46|0);
+ HEAP8[$52>>0] = 46;
+ $53 = ((($4)) + 47|0);
+ HEAP8[$53>>0] = 47;
+ $54 = ((($4)) + 48|0);
+ HEAP8[$54>>0] = 48;
+ $55 = ((($4)) + 49|0);
+ HEAP8[$55>>0] = 49;
+ $56 = ((($4)) + 50|0);
+ HEAP8[$56>>0] = 50;
+ $57 = ((($4)) + 51|0);
+ HEAP8[$57>>0] = 51;
+ $58 = ((($4)) + 52|0);
+ HEAP8[$58>>0] = 52;
+ $59 = ((($4)) + 53|0);
+ HEAP8[$59>>0] = 53;
+ $60 = ((($4)) + 54|0);
+ HEAP8[$60>>0] = 54;
+ $61 = ((($4)) + 55|0);
+ HEAP8[$61>>0] = 55;
+ $62 = ((($4)) + 56|0);
+ HEAP8[$62>>0] = 56;
+ $63 = ((($4)) + 57|0);
+ HEAP8[$63>>0] = 57;
+ $64 = ((($4)) + 58|0);
+ HEAP8[$64>>0] = 58;
+ $65 = ((($4)) + 59|0);
+ HEAP8[$65>>0] = 59;
+ $66 = ((($4)) + 60|0);
+ HEAP8[$66>>0] = 60;
+ $67 = ((($4)) + 61|0);
+ HEAP8[$67>>0] = 61;
+ $68 = ((($4)) + 62|0);
+ HEAP8[$68>>0] = 62;
+ $69 = ((($4)) + 63|0);
+ HEAP8[$69>>0] = 63;
+ $70 = (_check_one(2,57943,9,$4,64,57953,20)|0);
+ $71 = ($70|0)==(0|0);
+ do {
+ if ($71) {
+ $72 = ($1|0)==(0);
+ if (!($72)) {
+ HEAP8[$4>>0] = 48;
+ HEAP8[$7>>0] = 49;
+ HEAP8[$8>>0] = 50;
+ HEAP8[$9>>0] = 51;
+ HEAP8[$10>>0] = 52;
+ HEAP8[$11>>0] = 53;
+ HEAP8[$12>>0] = 54;
+ HEAP8[$13>>0] = 55;
+ HEAP8[$14>>0] = 56;
+ HEAP8[$15>>0] = 57;
+ HEAP8[$16>>0] = 58;
+ HEAP8[$17>>0] = 59;
+ HEAP8[$18>>0] = 60;
+ HEAP8[$19>>0] = 61;
+ HEAP8[$20>>0] = 62;
+ HEAP8[$21>>0] = 63;
+ HEAP8[$22>>0] = 64;
+ HEAP8[$23>>0] = 65;
+ HEAP8[$24>>0] = 66;
+ HEAP8[$25>>0] = 67;
+ $73 = (_check_one(2,57974,9,$4,20,57984,20)|0);
+ $74 = ($73|0)==(0|0);
+ if (!($74)) {
+ $$035$i$i = $73;$$036$i$i = 58082;
+ break;
+ }
+ $$141$i$i = 80;$$23440$i$i = 0;
+ while(1) {
+ $75 = (($$141$i$i) + 1)|0;
+ $76 = $$141$i$i&255;
+ $77 = (($4) + ($$23440$i$i)|0);
+ HEAP8[$77>>0] = $76;
+ $78 = (($$23440$i$i) + 1)|0;
+ $exitcond$i$i = ($78|0)==(100);
+ if ($exitcond$i$i) {
+ break;
+ } else {
+ $$141$i$i = $75;$$23440$i$i = $78;
+ }
+ }
+ $79 = (_check_one(2,58005,9,$4,100,58015,20)|0);
+ $80 = ($79|0)==(0|0);
+ if (!($80)) {
+ $$035$i$i = $79;$$036$i$i = 58097;
+ break;
+ }
+ HEAP8[$4>>0] = 112;
+ HEAP8[$7>>0] = 113;
+ HEAP8[$8>>0] = 114;
+ HEAP8[$9>>0] = 115;
+ HEAP8[$10>>0] = 116;
+ HEAP8[$11>>0] = 117;
+ HEAP8[$12>>0] = 118;
+ HEAP8[$13>>0] = 119;
+ HEAP8[$14>>0] = 120;
+ HEAP8[$15>>0] = 121;
+ HEAP8[$16>>0] = 122;
+ HEAP8[$17>>0] = 123;
+ HEAP8[$18>>0] = 124;
+ HEAP8[$19>>0] = 125;
+ HEAP8[$20>>0] = 126;
+ HEAP8[$21>>0] = 127;
+ HEAP8[$22>>0] = -128;
+ HEAP8[$23>>0] = -127;
+ HEAP8[$24>>0] = -126;
+ HEAP8[$25>>0] = -125;
+ HEAP8[$26>>0] = -124;
+ HEAP8[$27>>0] = -123;
+ HEAP8[$28>>0] = -122;
+ HEAP8[$29>>0] = -121;
+ HEAP8[$30>>0] = -120;
+ HEAP8[$31>>0] = -119;
+ HEAP8[$32>>0] = -118;
+ HEAP8[$33>>0] = -117;
+ HEAP8[$34>>0] = -116;
+ HEAP8[$35>>0] = -115;
+ HEAP8[$36>>0] = -114;
+ HEAP8[$37>>0] = -113;
+ HEAP8[$38>>0] = -112;
+ HEAP8[$39>>0] = -111;
+ HEAP8[$40>>0] = -110;
+ HEAP8[$41>>0] = -109;
+ HEAP8[$42>>0] = -108;
+ HEAP8[$43>>0] = -107;
+ HEAP8[$44>>0] = -106;
+ HEAP8[$45>>0] = -105;
+ HEAP8[$46>>0] = -104;
+ HEAP8[$47>>0] = -103;
+ HEAP8[$48>>0] = -102;
+ HEAP8[$49>>0] = -101;
+ HEAP8[$50>>0] = -100;
+ HEAP8[$51>>0] = -99;
+ HEAP8[$52>>0] = -98;
+ HEAP8[$53>>0] = -97;
+ HEAP8[$54>>0] = -96;
+ $81 = (_check_one(2,58036,9,$4,49,58046,20)|0);
+ $82 = ($81|0)==(0|0);
+ if (!($82)) {
+ $$035$i$i = $81;$$036$i$i = 58112;
+ break;
+ }
+ }
+ $202 = 0;
+ STACKTOP = sp;return ($202|0);
+ } else {
+ $$035$i$i = $70;$$036$i$i = 58067;
+ }
+ } while(0);
+ $83 = ($2|0)==(0|0);
+ if (!($83)) {
+ FUNCTION_TABLE_viiii[$2 & 63](58127,2,$$036$i$i,$$035$i$i);
+ }
+ $202 = 16777266;
+ STACKTOP = sp;return ($202|0);
+ break;
+ }
+ case 11: {
+ $84 = HEAP32[400]|0;
+ $85 = ($84|0)==(0|0);
+ if ($85) {
+ $202 = 0;
+ STACKTOP = sp;return ($202|0);
+ }
+ $86 = ($1|0)==(0);
+ L30: do {
+ if ($86) {
+ $87 = HEAP32[(1604)>>2]|0;
+ $88 = (_strlen($87)|0);
+ $89 = HEAP32[(1608)>>2]|0;
+ $90 = (_strlen($89)|0);
+ $91 = (_check_one(11,$87,$88,$89,$90,(1612),28)|0);
+ $92 = ($91|0)==(0|0);
+ if ($92) {
+ $202 = 0;
+ STACKTOP = sp;return ($202|0);
+ } else {
+ $$lcssa$i$i = $91;$$lcssa21$i$i = $84;
+ }
+ } else {
+ $$022$i$i = 0;$203 = $84;
+ while(1) {
+ $93 = (((1600 + (($$022$i$i*40)|0)|0)) + 4|0);
+ $94 = HEAP32[$93>>2]|0;
+ $95 = (_strlen($94)|0);
+ $96 = (((1600 + (($$022$i$i*40)|0)|0)) + 8|0);
+ $97 = HEAP32[$96>>2]|0;
+ $98 = (_strlen($97)|0);
+ $99 = (((1600 + (($$022$i$i*40)|0)|0)) + 12|0);
+ $100 = (_check_one(11,$94,$95,$97,$98,$99,28)|0);
+ $101 = ($100|0)==(0|0);
+ if (!($101)) {
+ $$lcssa$i$i = $100;$$lcssa21$i$i = $203;
+ break L30;
+ }
+ $102 = (($$022$i$i) + 1)|0;
+ $103 = (1600 + (($102*40)|0)|0);
+ $104 = HEAP32[$103>>2]|0;
+ $105 = ($104|0)==(0|0);
+ if ($105) {
+ $202 = 0;
+ break;
+ } else {
+ $$022$i$i = $102;$203 = $104;
+ }
+ }
+ STACKTOP = sp;return ($202|0);
+ }
+ } while(0);
+ $106 = ($2|0)==(0|0);
+ if ($106) {
+ $202 = 16777266;
+ STACKTOP = sp;return ($202|0);
+ }
+ FUNCTION_TABLE_viiii[$2 & 63](58127,11,$$lcssa21$i$i,$$lcssa$i$i);
+ $202 = 16777266;
+ STACKTOP = sp;return ($202|0);
+ break;
+ }
+ case 8: {
+ $107 = HEAP32[472]|0;
+ $108 = ($107|0)==(0|0);
+ if ($108) {
+ $202 = 0;
+ STACKTOP = sp;return ($202|0);
+ }
+ $109 = ($1|0)==(0);
+ L47: do {
+ if ($109) {
+ $110 = HEAP32[(1892)>>2]|0;
+ $111 = (_strlen($110)|0);
+ $112 = HEAP32[(1896)>>2]|0;
+ $113 = (_strlen($112)|0);
+ $114 = (_check_one(8,$110,$111,$112,$113,(1900),32)|0);
+ $115 = ($114|0)==(0|0);
+ if ($115) {
+ $116 = HEAP32[(1896)>>2]|0;
+ $117 = (_strlen($116)|0);
+ $118 = (__gcry_hmac256_new($116,$117)|0);
+ $119 = ($118|0)==(0|0);
+ if ($119) {
+ $$038$ph$i$i = 58202;$154 = $107;
+ } else {
+ $120 = HEAP32[(1892)>>2]|0;
+ $121 = (_strlen($120)|0);
+ __gcry_hmac256_update($118,$120,$121);
+ $122 = (__gcry_hmac256_finalize($118,$3)|0);
+ $123 = ($122|0)==(0|0);
+ if ($123) {
+ $$lcssa43$i$i = $118;$$lcssa47$i$i = $107;
+ label = 32;
+ } else {
+ $124 = HEAP32[$3>>2]|0;
+ $125 = ($124|0)==(32);
+ if ($125) {
+ $126 = (_memcmp($122,(1900),32)|0);
+ $127 = ($126|0)==(0);
+ if ($127) {
+ __gcry_hmac256_release($118);
+ $202 = 0;
+ STACKTOP = sp;return ($202|0);
+ } else {
+ $$lcssa44$i$i = $118;$$lcssa48$i$i = $107;
+ label = 35;
+ }
+ } else {
+ $$lcssa44$i$i = $118;$$lcssa48$i$i = $107;
+ label = 35;
+ }
+ }
+ }
+ } else {
+ $$038$ph$i$i = $114;$154 = $107;
+ }
+ } else {
+ $$03949$i$i = 0;$204 = $107;
+ while(1) {
+ $128 = (((1888 + (($$03949$i$i*44)|0)|0)) + 4|0);
+ $129 = HEAP32[$128>>2]|0;
+ $130 = (_strlen($129)|0);
+ $131 = (((1888 + (($$03949$i$i*44)|0)|0)) + 8|0);
+ $132 = HEAP32[$131>>2]|0;
+ $133 = (_strlen($132)|0);
+ $134 = (((1888 + (($$03949$i$i*44)|0)|0)) + 12|0);
+ $135 = (_check_one(8,$129,$130,$132,$133,$134,32)|0);
+ $136 = ($135|0)==(0|0);
+ if (!($136)) {
+ $$038$ph$i$i = $135;$154 = $204;
+ break L47;
+ }
+ $137 = HEAP32[$131>>2]|0;
+ $138 = (_strlen($137)|0);
+ $139 = (__gcry_hmac256_new($137,$138)|0);
+ $140 = ($139|0)==(0|0);
+ if ($140) {
+ $$038$ph$i$i = 58202;$154 = $204;
+ break L47;
+ }
+ $141 = HEAP32[$128>>2]|0;
+ $142 = (_strlen($141)|0);
+ __gcry_hmac256_update($139,$141,$142);
+ $143 = (__gcry_hmac256_finalize($139,$3)|0);
+ $144 = ($143|0)==(0|0);
+ if ($144) {
+ $$lcssa43$i$i = $139;$$lcssa47$i$i = $204;
+ label = 32;
+ break L47;
+ }
+ $145 = HEAP32[$3>>2]|0;
+ $146 = ($145|0)==(32);
+ if (!($146)) {
+ $$lcssa44$i$i = $139;$$lcssa48$i$i = $204;
+ label = 35;
+ break L47;
+ }
+ $147 = (_memcmp($143,$134,32)|0);
+ $148 = ($147|0)==(0);
+ if (!($148)) {
+ $$lcssa44$i$i = $139;$$lcssa48$i$i = $204;
+ label = 35;
+ break L47;
+ }
+ __gcry_hmac256_release($139);
+ $150 = (($$03949$i$i) + 1)|0;
+ $151 = (1888 + (($150*44)|0)|0);
+ $152 = HEAP32[$151>>2]|0;
+ $153 = ($152|0)==(0|0);
+ if ($153) {
+ $202 = 0;
+ break;
+ } else {
+ $$03949$i$i = $150;$204 = $152;
+ }
+ }
+ STACKTOP = sp;return ($202|0);
+ }
+ } while(0);
+ if ((label|0) == 32) {
+ __gcry_hmac256_release($$lcssa43$i$i);
+ $$038$ph$i$i = 58132;$154 = $$lcssa47$i$i;
+ }
+ else if ((label|0) == 35) {
+ __gcry_hmac256_release($$lcssa44$i$i);
+ $$038$ph$i$i = 58162;$154 = $$lcssa48$i$i;
+ }
+ $149 = ($2|0)==(0|0);
+ if ($149) {
+ $202 = 16777266;
+ STACKTOP = sp;return ($202|0);
+ }
+ FUNCTION_TABLE_viiii[$2 & 63](58127,8,$154,$$038$ph$i$i);
+ $202 = 16777266;
+ STACKTOP = sp;return ($202|0);
+ break;
+ }
+ case 9: {
+ $155 = HEAP32[552]|0;
+ $156 = ($155|0)==(0|0);
+ if ($156) {
+ $202 = 0;
+ STACKTOP = sp;return ($202|0);
+ }
+ $157 = ($1|0)==(0);
+ L76: do {
+ if ($157) {
+ $158 = HEAP32[(2212)>>2]|0;
+ $159 = (_strlen($158)|0);
+ $160 = HEAP32[(2216)>>2]|0;
+ $161 = (_strlen($160)|0);
+ $162 = (_check_one(9,$158,$159,$160,$161,(2220),48)|0);
+ $163 = ($162|0)==(0|0);
+ if ($163) {
+ $202 = 0;
+ STACKTOP = sp;return ($202|0);
+ } else {
+ $$lcssa$i22$i = $162;$$lcssa21$i21$i = $155;
+ }
+ } else {
+ $$022$i20$i = 0;$205 = $155;
+ while(1) {
+ $164 = (((2208 + (($$022$i20$i*60)|0)|0)) + 4|0);
+ $165 = HEAP32[$164>>2]|0;
+ $166 = (_strlen($165)|0);
+ $167 = (((2208 + (($$022$i20$i*60)|0)|0)) + 8|0);
+ $168 = HEAP32[$167>>2]|0;
+ $169 = (_strlen($168)|0);
+ $170 = (((2208 + (($$022$i20$i*60)|0)|0)) + 12|0);
+ $171 = (_check_one(9,$165,$166,$168,$169,$170,48)|0);
+ $172 = ($171|0)==(0|0);
+ if (!($172)) {
+ $$lcssa$i22$i = $171;$$lcssa21$i21$i = $205;
+ break L76;
+ }
+ $173 = (($$022$i20$i) + 1)|0;
+ $174 = (2208 + (($173*60)|0)|0);
+ $175 = HEAP32[$174>>2]|0;
+ $176 = ($175|0)==(0|0);
+ if ($176) {
+ $202 = 0;
+ break;
+ } else {
+ $$022$i20$i = $173;$205 = $175;
+ }
+ }
+ STACKTOP = sp;return ($202|0);
+ }
+ } while(0);
+ $177 = ($2|0)==(0|0);
+ if ($177) {
+ $202 = 16777266;
+ STACKTOP = sp;return ($202|0);
+ }
+ FUNCTION_TABLE_viiii[$2 & 63](58127,9,$$lcssa21$i21$i,$$lcssa$i22$i);
+ $202 = 16777266;
+ STACKTOP = sp;return ($202|0);
+ break;
+ }
+ case 10: {
+ $178 = HEAP32[660]|0;
+ $179 = ($178|0)==(0|0);
+ if ($179) {
+ $202 = 0;
+ STACKTOP = sp;return ($202|0);
+ }
+ $180 = ($1|0)==(0);
+ L93: do {
+ if ($180) {
+ $181 = HEAP32[(2644)>>2]|0;
+ $182 = (_strlen($181)|0);
+ $183 = HEAP32[(2648)>>2]|0;
+ $184 = (_strlen($183)|0);
+ $185 = (_check_one(10,$181,$182,$183,$184,(2652),64)|0);
+ $186 = ($185|0)==(0|0);
+ if ($186) {
+ $202 = 0;
+ STACKTOP = sp;return ($202|0);
+ } else {
+ $$lcssa$i30$i = $185;$$lcssa21$i29$i = $178;
+ }
+ } else {
+ $$022$i28$i = 0;$206 = $178;
+ while(1) {
+ $187 = (((2640 + (($$022$i28$i*76)|0)|0)) + 4|0);
+ $188 = HEAP32[$187>>2]|0;
+ $189 = (_strlen($188)|0);
+ $190 = (((2640 + (($$022$i28$i*76)|0)|0)) + 8|0);
+ $191 = HEAP32[$190>>2]|0;
+ $192 = (_strlen($191)|0);
+ $193 = (((2640 + (($$022$i28$i*76)|0)|0)) + 12|0);
+ $194 = (_check_one(10,$188,$189,$191,$192,$193,64)|0);
+ $195 = ($194|0)==(0|0);
+ if (!($195)) {
+ $$lcssa$i30$i = $194;$$lcssa21$i29$i = $206;
+ break L93;
+ }
+ $196 = (($$022$i28$i) + 1)|0;
+ $197 = (2640 + (($196*76)|0)|0);
+ $198 = HEAP32[$197>>2]|0;
+ $199 = ($198|0)==(0|0);
+ if ($199) {
+ $202 = 0;
+ break;
+ } else {
+ $$022$i28$i = $196;$206 = $198;
+ }
+ }
+ STACKTOP = sp;return ($202|0);
+ }
+ } while(0);
+ $200 = ($2|0)==(0|0);
+ if ($200) {
+ $202 = 16777266;
+ STACKTOP = sp;return ($202|0);
+ }
+ FUNCTION_TABLE_viiii[$2 & 63](58127,10,$$lcssa21$i29$i,$$lcssa$i30$i);
+ $202 = 16777266;
+ STACKTOP = sp;return ($202|0);
+ break;
+ }
+ default: {
+ $202 = 16777221;
+ STACKTOP = sp;return ($202|0);
+ }
+ }
+ return (0)|0;
+}
+function _check_one($0,$1,$2,$3,$4,$5,$6) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ $5 = $5|0;
+ $6 = $6|0;
+ var $$ = 0, $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $7 = sp;
+ $8 = (__gcry_md_get_algo_dlen($0)|0);
+ $9 = ($8|0)==($6|0);
+ do {
+ if ($9) {
+ $10 = (__gcry_md_open($7,$0,2)|0);
+ $11 = ($10|0)==(0);
+ if ($11) {
+ $12 = HEAP32[$7>>2]|0;
+ $13 = (__gcry_md_setkey($12,$3,$4)|0);
+ $14 = ($13|0)==(0);
+ $15 = HEAP32[$7>>2]|0;
+ if (!($14)) {
+ __gcry_md_close($15);
+ $$0 = 58910;
+ break;
+ }
+ __gcry_md_write($15,$1,$2);
+ $16 = HEAP32[$7>>2]|0;
+ $17 = (__gcry_md_read($16,$0)|0);
+ $18 = ($17|0)==(0|0);
+ if ($18) {
+ $19 = HEAP32[$7>>2]|0;
+ __gcry_md_close($19);
+ $$0 = 58932;
+ break;
+ } else {
+ $20 = (_memcmp($17,$5,$6)|0);
+ $21 = ($20|0)==(0);
+ $22 = HEAP32[$7>>2]|0;
+ __gcry_md_close($22);
+ $$ = $21 ? 0 : 58895;
+ $$0 = $$;
+ break;
+ }
+ } else {
+ $$0 = 67519;
+ }
+ } else {
+ $$0 = 58952;
+ }
+ } while(0);
+ STACKTOP = sp;return ($$0|0);
+}
+function __gcry_md_map_name($0) {
+ $0 = $0|0;
+ var $$0 = 0, $$019$i$ph$i = 0, $$022$i = 0, $$023$1$i$i = 0, $$023$2$i$i = 0, $$023$3$i$i = 0, $$023$4$i$i = 0, $$023$5$i$i = 0, $$023$i$i = 0, $$08$i = 0, $$ph = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0;
+ var $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0;
+ var $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0;
+ var $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0;
+ var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0;
+ var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = ($0|0)==(0|0);
+ if ($1) {
+ $$0 = 0;
+ return ($$0|0);
+ }
+ $2 = (_strncmp($0,58971,4)|0);
+ $3 = ($2|0)==(0);
+ if ($3) {
+ label = 4;
+ } else {
+ $4 = (_strncmp($0,58976,4)|0);
+ $5 = ($4|0)==(0);
+ if ($5) {
+ label = 4;
+ } else {
+ $$022$i = $0;
+ }
+ }
+ if ((label|0) == 4) {
+ $6 = ((($0)) + 4|0);
+ $$022$i = $6;
+ }
+ $7 = HEAP32[(39652)>>2]|0;
+ $8 = ($7|0)==(0|0);
+ L9: do {
+ if ($8) {
+ label = 10;
+ } else {
+ $9 = HEAP32[$7>>2]|0;
+ $10 = ($9|0)==(0|0);
+ if ($10) {
+ label = 10;
+ } else {
+ $$023$i$i = 0;$15 = $9;
+ while(1) {
+ $16 = (_strcasecmp($$022$i,$15)|0);
+ $17 = ($16|0)==(0);
+ $12 = (($$023$i$i) + 1)|0;
+ if ($17) {
+ $$019$i$ph$i = 39632;$74 = $9;$76 = $7;
+ label = 35;
+ break L9;
+ }
+ $11 = (($7) + ($12<<2)|0);
+ $13 = HEAP32[$11>>2]|0;
+ $14 = ($13|0)==(0|0);
+ if ($14) {
+ label = 10;
+ break;
+ } else {
+ $$023$i$i = $12;$15 = $13;
+ }
+ }
+ }
+ }
+ } while(0);
+ L15: do {
+ if ((label|0) == 10) {
+ $18 = HEAP32[(39764)>>2]|0;
+ $19 = ($18|0)==(0|0);
+ if (!($19)) {
+ $20 = HEAP32[$18>>2]|0;
+ $21 = ($20|0)==(0|0);
+ if (!($21)) {
+ $$023$1$i$i = 0;$22 = $20;
+ while(1) {
+ $23 = (_strcasecmp($$022$i,$22)|0);
+ $24 = ($23|0)==(0);
+ $25 = (($$023$1$i$i) + 1)|0;
+ if ($24) {
+ $$019$i$ph$i = 39744;$74 = $20;$76 = $18;
+ label = 35;
+ break L15;
+ }
+ $26 = (($18) + ($25<<2)|0);
+ $27 = HEAP32[$26>>2]|0;
+ $28 = ($27|0)==(0|0);
+ if ($28) {
+ break;
+ } else {
+ $$023$1$i$i = $25;$22 = $27;
+ }
+ }
+ }
+ }
+ $29 = HEAP32[(39704)>>2]|0;
+ $30 = ($29|0)==(0|0);
+ if (!($30)) {
+ $31 = HEAP32[$29>>2]|0;
+ $32 = ($31|0)==(0|0);
+ if (!($32)) {
+ $$023$2$i$i = 0;$33 = $31;
+ while(1) {
+ $34 = (_strcasecmp($$022$i,$33)|0);
+ $35 = ($34|0)==(0);
+ $36 = (($$023$2$i$i) + 1)|0;
+ if ($35) {
+ $$019$i$ph$i = 39684;$74 = $31;$76 = $29;
+ label = 35;
+ break L15;
+ }
+ $37 = (($29) + ($36<<2)|0);
+ $38 = HEAP32[$37>>2]|0;
+ $39 = ($38|0)==(0|0);
+ if ($39) {
+ break;
+ } else {
+ $$023$2$i$i = $36;$33 = $38;
+ }
+ }
+ }
+ }
+ $40 = HEAP32[(39828)>>2]|0;
+ $41 = ($40|0)==(0|0);
+ if (!($41)) {
+ $42 = HEAP32[$40>>2]|0;
+ $43 = ($42|0)==(0|0);
+ if (!($43)) {
+ $$023$3$i$i = 0;$44 = $42;
+ while(1) {
+ $45 = (_strcasecmp($$022$i,$44)|0);
+ $46 = ($45|0)==(0);
+ $47 = (($$023$3$i$i) + 1)|0;
+ if ($46) {
+ $$019$i$ph$i = 39808;$74 = $42;$76 = $40;
+ label = 35;
+ break L15;
+ }
+ $48 = (($40) + ($47<<2)|0);
+ $49 = HEAP32[$48>>2]|0;
+ $50 = ($49|0)==(0|0);
+ if ($50) {
+ break;
+ } else {
+ $$023$3$i$i = $47;$44 = $49;
+ }
+ }
+ }
+ }
+ $51 = HEAP32[(39892)>>2]|0;
+ $52 = ($51|0)==(0|0);
+ if (!($52)) {
+ $53 = HEAP32[$51>>2]|0;
+ $54 = ($53|0)==(0|0);
+ if (!($54)) {
+ $$023$4$i$i = 0;$55 = $53;
+ while(1) {
+ $56 = (_strcasecmp($$022$i,$55)|0);
+ $57 = ($56|0)==(0);
+ $58 = (($$023$4$i$i) + 1)|0;
+ if ($57) {
+ $$019$i$ph$i = 39872;$74 = $53;$76 = $51;
+ label = 35;
+ break L15;
+ }
+ $59 = (($51) + ($58<<2)|0);
+ $60 = HEAP32[$59>>2]|0;
+ $61 = ($60|0)==(0|0);
+ if ($61) {
+ break;
+ } else {
+ $$023$4$i$i = $58;$55 = $60;
+ }
+ }
+ }
+ }
+ $62 = HEAP32[(39504)>>2]|0;
+ $63 = ($62|0)==(0|0);
+ if (!($63)) {
+ $64 = HEAP32[$62>>2]|0;
+ $65 = ($64|0)==(0|0);
+ if (!($65)) {
+ $$023$5$i$i = 0;$66 = $64;
+ while(1) {
+ $67 = (_strcasecmp($$022$i,$66)|0);
+ $68 = ($67|0)==(0);
+ $69 = (($$023$5$i$i) + 1)|0;
+ if ($68) {
+ $$019$i$ph$i = 39484;$74 = $64;$76 = $62;
+ label = 35;
+ break L15;
+ }
+ $70 = (($62) + ($69<<2)|0);
+ $71 = HEAP32[$70>>2]|0;
+ $72 = ($71|0)==(0|0);
+ if ($72) {
+ break;
+ } else {
+ $$023$5$i$i = $69;$66 = $71;
+ }
+ }
+ }
+ }
+ }
+ } while(0);
+ L50: do {
+ if ((label|0) == 35) {
+ $73 = ($74|0)==(0|0);
+ if (!($73)) {
+ $$08$i = 0;$80 = $74;
+ while(1) {
+ $81 = (_strcasecmp($$022$i,$80)|0);
+ $82 = ($81|0)==(0);
+ $77 = (($$08$i) + 1)|0;
+ if ($82) {
+ break;
+ }
+ $75 = (($76) + ($77<<2)|0);
+ $78 = HEAP32[$75>>2]|0;
+ $79 = ($78|0)==(0|0);
+ if ($79) {
+ break L50;
+ } else {
+ $$08$i = $77;$80 = $78;
+ }
+ }
+ $83 = HEAP32[$$019$i$ph$i>>2]|0;
+ $$0 = $83;
+ return ($$0|0);
+ }
+ }
+ } while(0);
+ $84 = HEAP32[(39640)>>2]|0;
+ $85 = (_strcasecmp($0,$84)|0);
+ $86 = ($85|0)==(0);
+ if ($86) {
+ $$ph = 39632;
+ } else {
+ $87 = HEAP32[(39752)>>2]|0;
+ $88 = (_strcasecmp($0,$87)|0);
+ $89 = ($88|0)==(0);
+ if ($89) {
+ $$ph = 39744;
+ } else {
+ $90 = HEAP32[(39692)>>2]|0;
+ $91 = (_strcasecmp($0,$90)|0);
+ $92 = ($91|0)==(0);
+ if ($92) {
+ $$ph = 39684;
+ } else {
+ $93 = HEAP32[(39816)>>2]|0;
+ $94 = (_strcasecmp($0,$93)|0);
+ $95 = ($94|0)==(0);
+ if ($95) {
+ $$ph = 39808;
+ } else {
+ $96 = HEAP32[(39880)>>2]|0;
+ $97 = (_strcasecmp($0,$96)|0);
+ $98 = ($97|0)==(0);
+ if ($98) {
+ $$ph = 39872;
+ } else {
+ $99 = HEAP32[(39492)>>2]|0;
+ $100 = (_strcasecmp($0,$99)|0);
+ $101 = ($100|0)==(0);
+ if ($101) {
+ $$ph = 39484;
+ } else {
+ $$0 = 0;
+ return ($$0|0);
+ }
+ }
+ }
+ }
+ }
+ }
+ $102 = HEAP32[$$ph>>2]|0;
+ $$0 = $102;
+ return ($$0|0);
+}
+function __gcry_md_algo_name($0) {
+ $0 = $0|0;
+ var $$ph = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = HEAP32[9908]|0;
+ $2 = ($1|0)==($0|0);
+ if ($2) {
+ $$ph = 39632;
+ } else {
+ $3 = HEAP32[9936]|0;
+ $4 = ($3|0)==($0|0);
+ if ($4) {
+ $$ph = 39744;
+ } else {
+ $5 = HEAP32[9921]|0;
+ $6 = ($5|0)==($0|0);
+ if ($6) {
+ $$ph = 39684;
+ } else {
+ $7 = HEAP32[9952]|0;
+ $8 = ($7|0)==($0|0);
+ if ($8) {
+ $$ph = 39808;
+ } else {
+ $9 = HEAP32[9968]|0;
+ $10 = ($9|0)==($0|0);
+ if ($10) {
+ $$ph = 39872;
+ } else {
+ $11 = HEAP32[9871]|0;
+ $12 = ($11|0)==($0|0);
+ if ($12) {
+ $$ph = 39484;
+ } else {
+ $15 = 59741;
+ return ($15|0);
+ }
+ }
+ }
+ }
+ }
+ }
+ $13 = ((($$ph)) + 8|0);
+ $14 = HEAP32[$13>>2]|0;
+ $15 = $14;
+ return ($15|0);
+}
+function __gcry_md_open($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$06 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $spec$select7 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $3 = sp;
+ $4 = $2 & -260;
+ $5 = ($4|0)==(0);
+ if ($5) {
+ $6 = (_md_open($3,$1,$2)|0);
+ $7 = ($6|0)==(0);
+ $8 = HEAP32[$3>>2]|0;
+ $spec$select7 = $7 ? $8 : 0;
+ $$06 = $6;$9 = $spec$select7;
+ } else {
+ $$06 = 45;$9 = 0;
+ }
+ HEAP32[$0>>2] = $9;
+ STACKTOP = sp;return ($$06|0);
+}
+function _md_open($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$0$idx$val = 0, $$0$in = 0, $$262 = 0, $$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
+ var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0;
+ var $44 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $3 = $2 & 1;
+ $4 = ($3|0)!=(0);
+ $5 = $2 & 2;
+ $6 = ($5|0)==(0);
+ $7 = $3 << 9;
+ $8 = $7 ^ 512;
+ $9 = (($8) + 535)|0;
+ $10 = $9 & 1552;
+ $11 = (($10) + 28)|0;
+ if ($4) {
+ $12 = (__gcry_malloc_secure($11)|0);
+ $$0$in = $12;
+ } else {
+ $13 = (__gcry_malloc($11)|0);
+ $$0$in = $13;
+ }
+ $14 = ($$0$in|0)==(0|0);
+ if ($14) {
+ $15 = (___errno_location()|0);
+ $16 = HEAP32[$15>>2]|0;
+ $17 = (_gpg_err_code_from_errno($16)|0);
+ $18 = ($17|0)==(0);
+ if (!($18)) {
+ $$262 = $17;
+ return ($$262|0);
+ }
+ }
+ $19 = (($$0$in) + ($10)|0);
+ HEAP32[$$0$in>>2] = $19;
+ $20 = (($10) + -15)|0;
+ $21 = ((($$0$in)) + 8|0);
+ HEAP32[$21>>2] = $20;
+ $22 = ((($$0$in)) + 4|0);
+ HEAP32[$22>>2] = 0;
+ $23 = ((($19)) + 8|0);
+ ;HEAP32[$23>>2]=0|0;HEAP32[$23+4>>2]=0|0;HEAP32[$23+8>>2]=0|0;HEAP32[$23+12>>2]=0|0;HEAP32[$23+16>>2]=0|0;
+ $24 = $4 ? 378630161 : 285677921;
+ HEAP32[$19>>2] = $24;
+ $25 = ((($19)) + 4|0);
+ HEAP32[$25>>2] = $11;
+ $26 = ((($19)) + 12|0);
+ $27 = $2&255;
+ $28 = $27 & 1;
+ $29 = $2 >>> 6;
+ $30 = $29&255;
+ $31 = $30 & 4;
+ $32 = $31 | $28;
+ HEAP8[$26>>0] = $32;
+ if (!($6)) {
+ switch ($1|0) {
+ case 10: case 9: {
+ $$sink = 128;$34 = 256;
+ break;
+ }
+ case 311: case 308: {
+ $$sink = 32;$34 = 64;
+ break;
+ }
+ default: {
+ $$sink = 64;$34 = 128;
+ }
+ }
+ $33 = ((($19)) + 24|0);
+ HEAP32[$33>>2] = $$sink;
+ $35 = (__gcry_malloc_secure($34)|0);
+ $36 = ((($19)) + 20|0);
+ HEAP32[$36>>2] = $35;
+ $37 = ($35|0)==(0|0);
+ if ($37) {
+ $38 = (___errno_location()|0);
+ $39 = HEAP32[$38>>2]|0;
+ $40 = (_gpg_err_code_from_errno($39)|0);
+ _md_close($$0$in);
+ $41 = ($40|0)==(0);
+ if (!($41)) {
+ $$262 = $40;
+ return ($$262|0);
+ }
+ }
+ }
+ __gcry_fast_random_poll();
+ $42 = ($1|0)==(0);
+ if (!($42)) {
+ $$0$idx$val = HEAP32[$$0$in>>2]|0;
+ $43 = (_md_enable($$0$idx$val,$1)|0);
+ $44 = ($43|0)==(0);
+ if (!($44)) {
+ _md_close($$0$in);
+ $$262 = $43;
+ return ($$262|0);
+ }
+ }
+ HEAP32[$0>>2] = $$0$in;
+ $$262 = 0;
+ return ($$262|0);
+}
+function _md_close($0) {
+ $0 = $0|0;
+ var $$0$$0$$0$5$i = 0, $$0$i = 0, $$0109$lcssa = 0, $$0109149 = 0, $$0112$lcssa = 0, $$0112148 = 0, $$0116$lcssa = 0, $$0116167 = 0, $$0120$lcssa = 0, $$0120166 = 0, $$0124$lcssa = 0, $$0124160 = 0, $$0128$lcssa = 0, $$0128159 = 0, $$021$i = 0, $$022$i = 0, $$1110 = 0, $$1113 = 0, $$1117 = 0, $$1121 = 0;
+ var $$1125 = 0, $$1129 = 0, $$2111 = 0, $$2114 = 0, $$2118 = 0, $$2122 = 0, $$2126 = 0, $$2130 = 0, $$3115146 = 0, $$3119174 = 0, $$3123173 = 0, $$3127155 = 0, $$3131154 = 0, $$3147 = 0, $$in = 0, $$phi$trans$insert$i = 0, $$pre = 0, $$pre$i = 0, $$pre$i$pre = 0, $$pre$phi30$iZ2D = 0;
+ var $$pre19$i = 0, $$pre197 = 0, $$pre27$i = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0;
+ var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0;
+ var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0;
+ var $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0;
+ var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0;
+ var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0;
+ var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0;
+ var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $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, $scevgep = 0, $scevgep193 = 0, $scevgep194 = 0, $scevgep195 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
+ $1 = sp + 16|0;
+ $2 = sp + 8|0;
+ $3 = sp;
+ $4 = ($0|0)==(0|0);
+ if ($4) {
+ STACKTOP = sp;return;
+ }
+ $5 = HEAP32[$0>>2]|0;
+ $6 = ((($5)) + 8|0);
+ $7 = HEAP32[$6>>2]|0;
+ $8 = ($7|0)==(0|0);
+ if ($8) {
+ $56 = $5;
+ } else {
+ $9 = ((($0)) + 4|0);
+ $10 = HEAP32[$9>>2]|0;
+ $11 = ($10|0)==(0);
+ if ($11) {
+ $29 = $7;
+ } else {
+ $12 = ((($0)) + 12|0);
+ $13 = (_fwrite($12,$10,1,$7)|0);
+ $14 = ($13|0)==(1);
+ if (!($14)) {
+ __gcry_bug(59029,630,59034);
+ // unreachable;
+ }
+ $15 = HEAP32[$0>>2]|0;
+ $16 = ((($15)) + 16|0);
+ $$021$i = HEAP32[$16>>2]|0;
+ $17 = ($$021$i|0)==(0|0);
+ if ($17) {
+ $$pre$i = $15;
+ } else {
+ $$022$i = $$021$i;
+ while(1) {
+ $18 = HEAP32[$9>>2]|0;
+ $19 = ($18|0)==(0);
+ if ($19) {
+ $$pre27$i = ((($$022$i)) + 16|0);
+ $$pre$phi30$iZ2D = $$pre27$i;
+ } else {
+ $20 = HEAP32[$$022$i>>2]|0;
+ $21 = ((($20)) + 32|0);
+ $22 = HEAP32[$21>>2]|0;
+ $23 = ((($$022$i)) + 16|0);
+ FUNCTION_TABLE_viii[$22 & 127]($23,$12,$18);
+ $$pre$phi30$iZ2D = $23;
+ }
+ $24 = HEAP32[$$022$i>>2]|0;
+ $25 = ((($24)) + 32|0);
+ $26 = HEAP32[$25>>2]|0;
+ FUNCTION_TABLE_viii[$26 & 127]($$pre$phi30$iZ2D,0,0);
+ $27 = ((($$022$i)) + 4|0);
+ $$0$i = HEAP32[$27>>2]|0;
+ $28 = ($$0$i|0)==(0|0);
+ if ($28) {
+ break;
+ } else {
+ $$022$i = $$0$i;
+ }
+ }
+ $$pre$i$pre = HEAP32[$0>>2]|0;
+ $$pre$i = $$pre$i$pre;
+ }
+ HEAP32[$9>>2] = 0;
+ $$phi$trans$insert$i = ((($$pre$i)) + 8|0);
+ $$pre19$i = HEAP32[$$phi$trans$insert$i>>2]|0;
+ $29 = $$pre19$i;
+ }
+ (_fclose($29)|0);
+ $30 = HEAP32[$0>>2]|0;
+ $31 = ((($30)) + 8|0);
+ HEAP32[$31>>2] = 0;
+ $32 = $0;
+ HEAP32[$1>>2] = $32;
+ $33 = $2;
+ $34 = $33;
+ HEAP32[$34>>2] = 42;
+ $35 = (($33) + 4)|0;
+ $36 = $35;
+ HEAP32[$36>>2] = 0;
+ $$0$$0$$0$5$i = HEAP32[$1>>2]|0;
+ $37 = $2;
+ $38 = $37;
+ $39 = HEAP32[$38>>2]|0;
+ $40 = (($37) + 4)|0;
+ $41 = $40;
+ $42 = HEAP32[$41>>2]|0;
+ $43 = (___muldi3(($39|0),($42|0),($$0$$0$$0$5$i|0),0)|0);
+ $44 = tempRet0;
+ $45 = $3;
+ $46 = $45;
+ HEAP32[$46>>2] = $43;
+ $47 = (($45) + 4)|0;
+ $48 = $47;
+ HEAP32[$48>>2] = $44;
+ $49 = $3;
+ $50 = $49;
+ $51 = HEAP32[$50>>2]|0;
+ $52 = (($49) + 4)|0;
+ $53 = $52;
+ $54 = HEAP32[$53>>2]|0;
+ $56 = $30;
+ }
+ $55 = ((($56)) + 16|0);
+ $57 = HEAP32[$55>>2]|0;
+ $58 = ($57|0)==(0|0);
+ if ($58) {
+ $92 = $56;
+ } else {
+ $$in = $57;
+ while(1) {
+ $59 = ((($$in)) + 4|0);
+ $60 = HEAP32[$59>>2]|0;
+ $61 = ((($$in)) + 8|0);
+ $62 = HEAP32[$61>>2]|0;
+ $63 = $$in;
+ $64 = $63 & 7;
+ $65 = ($64|0)!=(0);
+ $66 = ($62|0)!=(0);
+ $67 = $66 & $65;
+ if ($67) {
+ $$0116167 = $$in;$$0120166 = $62;
+ while(1) {
+ HEAP8[$$0116167>>0] = 0;
+ $68 = ((($$0116167)) + 1|0);
+ $69 = (($$0120166) + -1)|0;
+ $70 = $68;
+ $71 = $70 & 7;
+ $72 = ($71|0)!=(0);
+ $73 = ($69|0)!=(0);
+ $74 = $73 & $72;
+ if ($74) {
+ $$0116167 = $68;$$0120166 = $69;
+ } else {
+ $$0116$lcssa = $68;$$0120$lcssa = $69;
+ break;
+ }
+ }
+ } else {
+ $$0116$lcssa = $$in;$$0120$lcssa = $62;
+ }
+ $75 = ($$0120$lcssa>>>0)<(8);
+ if ($75) {
+ $$2118 = $$0116$lcssa;$$2122 = $$0120$lcssa;
+ } else {
+ $76 = (($$0120$lcssa) + -8)|0;
+ $77 = $76 & -8;
+ $scevgep194 = ((($$0116$lcssa)) + 8|0);
+ $$1117 = $$0116$lcssa;$$1121 = $$0120$lcssa;
+ while(1) {
+ $78 = $$1117;
+ $79 = $78;
+ HEAP32[$79>>2] = 0;
+ $80 = (($78) + 4)|0;
+ $81 = $80;
+ HEAP32[$81>>2] = 0;
+ $82 = (($$1121) + -8)|0;
+ $83 = ((($$1117)) + 8|0);
+ $84 = ($82>>>0)>(7);
+ if ($84) {
+ $$1117 = $83;$$1121 = $82;
+ } else {
+ break;
+ }
+ }
+ $85 = (($76) - ($77))|0;
+ $scevgep195 = (($scevgep194) + ($77)|0);
+ $$2118 = $scevgep195;$$2122 = $85;
+ }
+ $86 = ($$2122|0)==(0);
+ if (!($86)) {
+ $$3119174 = $$2118;$$3123173 = $$2122;
+ while(1) {
+ HEAP8[$$3119174>>0] = 0;
+ $87 = ((($$3119174)) + 1|0);
+ $88 = (($$3123173) + -1)|0;
+ $89 = ($88|0)==(0);
+ if ($89) {
+ break;
+ } else {
+ $$3119174 = $87;$$3123173 = $88;
+ }
+ }
+ }
+ __gcry_free($$in);
+ $90 = ($60|0)==(0|0);
+ if ($90) {
+ break;
+ } else {
+ $$in = $60;
+ }
+ }
+ $$pre = HEAP32[$0>>2]|0;
+ $92 = $$pre;
+ }
+ $91 = ((($92)) + 20|0);
+ $93 = HEAP32[$91>>2]|0;
+ $94 = ($93|0)==(0|0);
+ if ($94) {
+ $130 = $92;
+ } else {
+ $95 = ((($92)) + 24|0);
+ $96 = HEAP32[$95>>2]|0;
+ $97 = $96 << 1;
+ $98 = $93;
+ $99 = $98 & 7;
+ $100 = ($99|0)!=(0);
+ $101 = ($96|0)!=(0);
+ $102 = $101 & $100;
+ if ($102) {
+ $$0124160 = $97;$$0128159 = $93;
+ while(1) {
+ HEAP8[$$0128159>>0] = 0;
+ $103 = ((($$0128159)) + 1|0);
+ $104 = (($$0124160) + -1)|0;
+ $105 = $103;
+ $106 = $105 & 7;
+ $107 = ($106|0)!=(0);
+ $108 = ($104|0)!=(0);
+ $109 = $108 & $107;
+ if ($109) {
+ $$0124160 = $104;$$0128159 = $103;
+ } else {
+ $$0124$lcssa = $104;$$0128$lcssa = $103;
+ break;
+ }
+ }
+ } else {
+ $$0124$lcssa = $97;$$0128$lcssa = $93;
+ }
+ $110 = ($$0124$lcssa>>>0)<(8);
+ if ($110) {
+ $$2126 = $$0124$lcssa;$$2130 = $$0128$lcssa;
+ } else {
+ $111 = (($$0124$lcssa) + -8)|0;
+ $112 = $111 & -8;
+ $113 = (($112) + 8)|0;
+ $$1125 = $$0124$lcssa;$$1129 = $$0128$lcssa;
+ while(1) {
+ $114 = $$1129;
+ $115 = $114;
+ HEAP32[$115>>2] = 0;
+ $116 = (($114) + 4)|0;
+ $117 = $116;
+ HEAP32[$117>>2] = 0;
+ $118 = (($$1125) + -8)|0;
+ $119 = ((($$1129)) + 8|0);
+ $120 = ($118>>>0)>(7);
+ if ($120) {
+ $$1125 = $118;$$1129 = $119;
+ } else {
+ break;
+ }
+ }
+ $121 = (($111) - ($112))|0;
+ $scevgep193 = (($$0128$lcssa) + ($113)|0);
+ $$2126 = $121;$$2130 = $scevgep193;
+ }
+ $122 = ($$2126|0)==(0);
+ if (!($122)) {
+ $$3127155 = $$2126;$$3131154 = $$2130;
+ while(1) {
+ HEAP8[$$3131154>>0] = 0;
+ $123 = ((($$3131154)) + 1|0);
+ $124 = (($$3127155) + -1)|0;
+ $125 = ($124|0)==(0);
+ if ($125) {
+ break;
+ } else {
+ $$3127155 = $124;$$3131154 = $123;
+ }
+ }
+ }
+ $126 = HEAP32[$0>>2]|0;
+ $127 = ((($126)) + 20|0);
+ $128 = HEAP32[$127>>2]|0;
+ __gcry_free($128);
+ $$pre197 = HEAP32[$0>>2]|0;
+ $130 = $$pre197;
+ }
+ $129 = ((($130)) + 4|0);
+ $131 = HEAP32[$129>>2]|0;
+ $132 = $0;
+ $133 = $132 & 7;
+ $134 = ($133|0)!=(0);
+ $135 = ($131|0)!=(0);
+ $136 = $135 & $134;
+ if ($136) {
+ $$0109149 = $131;$$0112148 = $0;
+ while(1) {
+ HEAP8[$$0112148>>0] = 0;
+ $137 = ((($$0112148)) + 1|0);
+ $138 = (($$0109149) + -1)|0;
+ $139 = $137;
+ $140 = $139 & 7;
+ $141 = ($140|0)!=(0);
+ $142 = ($138|0)!=(0);
+ $143 = $142 & $141;
+ if ($143) {
+ $$0109149 = $138;$$0112148 = $137;
+ } else {
+ $$0109$lcssa = $138;$$0112$lcssa = $137;
+ break;
+ }
+ }
+ } else {
+ $$0109$lcssa = $131;$$0112$lcssa = $0;
+ }
+ $144 = ($$0109$lcssa>>>0)<(8);
+ if ($144) {
+ $$2111 = $$0109$lcssa;$$2114 = $$0112$lcssa;
+ } else {
+ $145 = (($$0109$lcssa) + -8)|0;
+ $146 = $145 & -8;
+ $147 = (($146) + 8)|0;
+ $$1110 = $$0109$lcssa;$$1113 = $$0112$lcssa;
+ while(1) {
+ $148 = $$1113;
+ $149 = $148;
+ HEAP32[$149>>2] = 0;
+ $150 = (($148) + 4)|0;
+ $151 = $150;
+ HEAP32[$151>>2] = 0;
+ $152 = (($$1110) + -8)|0;
+ $153 = ((($$1113)) + 8|0);
+ $154 = ($152>>>0)>(7);
+ if ($154) {
+ $$1110 = $152;$$1113 = $153;
+ } else {
+ break;
+ }
+ }
+ $155 = (($145) - ($146))|0;
+ $scevgep = (($$0112$lcssa) + ($147)|0);
+ $$2111 = $155;$$2114 = $scevgep;
+ }
+ $156 = ($$2111|0)==(0);
+ if (!($156)) {
+ $$3115146 = $$2114;$$3147 = $$2111;
+ while(1) {
+ HEAP8[$$3115146>>0] = 0;
+ $157 = ((($$3115146)) + 1|0);
+ $158 = (($$3147) + -1)|0;
+ $159 = ($158|0)==(0);
+ if ($159) {
+ break;
+ } else {
+ $$3115146 = $157;$$3147 = $158;
+ }
+ }
+ }
+ __gcry_free($0);
+ STACKTOP = sp;return;
+}
+function _md_enable($$0$0$val,$0) {
+ $$0$0$val = $$0$0$val|0;
+ $0 = $0|0;
+ var $$0 = 0, $$039 = 0, $$0395 = 0, $$0396 = 0, $$140$in = 0, $$ph = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0;
+ var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0;
+ var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $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)) abortStackOverflow(16|0);
+ $vararg_buffer = sp;
+ $1 = ((($$0$0$val)) + 16|0);
+ $$0395 = HEAP32[$1>>2]|0;
+ $2 = ($$0395|0)==(0|0);
+ L1: do {
+ if (!($2)) {
+ $$0396 = $$0395;
+ while(1) {
+ $5 = HEAP32[$$0396>>2]|0;
+ $6 = HEAP32[$5>>2]|0;
+ $7 = ($6|0)==($0|0);
+ if ($7) {
+ $$0 = 0;
+ break;
+ }
+ $3 = ((($$0396)) + 4|0);
+ $$039 = HEAP32[$3>>2]|0;
+ $4 = ($$039|0)==(0|0);
+ if ($4) {
+ break L1;
+ } else {
+ $$0396 = $$039;
+ }
+ }
+ STACKTOP = sp;return ($$0|0);
+ }
+ } while(0);
+ $8 = HEAP32[9908]|0;
+ $9 = ($8|0)==($0|0);
+ if ($9) {
+ $$ph = 39632;
+ } else {
+ $10 = HEAP32[9936]|0;
+ $11 = ($10|0)==($0|0);
+ if ($11) {
+ $$ph = 39744;
+ } else {
+ $12 = HEAP32[9921]|0;
+ $13 = ($12|0)==($0|0);
+ if ($13) {
+ $$ph = 39684;
+ } else {
+ $14 = HEAP32[9952]|0;
+ $15 = ($14|0)==($0|0);
+ if ($15) {
+ $$ph = 39808;
+ } else {
+ $16 = HEAP32[9968]|0;
+ $17 = ($16|0)==($0|0);
+ if ($17) {
+ $$ph = 39872;
+ } else {
+ $18 = HEAP32[9871]|0;
+ $19 = ($18|0)==($0|0);
+ if ($19) {
+ $$ph = 39484;
+ } else {
+ HEAP32[$vararg_buffer>>2] = $0;
+ __gcry_log_debug(58981,$vararg_buffer);
+ $$0 = 5;
+ STACKTOP = sp;return ($$0|0);
+ }
+ }
+ }
+ }
+ }
+ }
+ $20 = ($0|0)==(1);
+ if ($20) {
+ $21 = (__gcry_fips_mode()|0);
+ $22 = ($21|0)==(0);
+ if (!($22)) {
+ __gcry_inactivate_fips_mode(59020);
+ $23 = (__gcry_enforced_fips_mode()|0);
+ $24 = ($23|0)==(0);
+ if (!($24)) {
+ $$0 = 5;
+ STACKTOP = sp;return ($$0|0);
+ }
+ }
+ }
+ $25 = ((($$ph)) + 44|0);
+ $26 = HEAP32[$25>>2]|0;
+ $27 = (($26) + 16)|0;
+ $28 = ((($$0$0$val)) + 12|0);
+ $29 = HEAP8[$28>>0]|0;
+ $30 = $29 & 1;
+ $31 = ($30<<24>>24)==(0);
+ if ($31) {
+ $33 = (__gcry_malloc($27)|0);
+ $$140$in = $33;
+ } else {
+ $32 = (__gcry_malloc_secure($27)|0);
+ $$140$in = $32;
+ }
+ $34 = ($$140$in|0)==(0|0);
+ if ($34) {
+ $35 = (___errno_location()|0);
+ $36 = HEAP32[$35>>2]|0;
+ $37 = (_gpg_err_code_from_errno($36)|0);
+ $$0 = $37;
+ STACKTOP = sp;return ($$0|0);
+ } else {
+ HEAP32[$$140$in>>2] = $$ph;
+ $38 = HEAP32[$1>>2]|0;
+ $39 = ((($$140$in)) + 4|0);
+ HEAP32[$39>>2] = $38;
+ $40 = ((($$140$in)) + 8|0);
+ HEAP32[$40>>2] = $27;
+ HEAP32[$1>>2] = $$140$in;
+ $41 = ((($$ph)) + 28|0);
+ $42 = HEAP32[$41>>2]|0;
+ $43 = ((($$140$in)) + 16|0);
+ $44 = HEAP8[$28>>0]|0;
+ $45 = $44 & 4;
+ $46 = $45&255;
+ $47 = $46 << 6;
+ FUNCTION_TABLE_vii[$42 & 63]($43,$47);
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+ }
+ return (0)|0;
+}
+function __gcry_md_reset($0) {
+ $0 = $0|0;
+ var $$0 = 0, $$015 = 0, $$016 = 0, $$pre = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0;
+ var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = HEAP32[$0>>2]|0;
+ $2 = ((($1)) + 12|0);
+ $3 = HEAP8[$2>>0]|0;
+ $4 = $3 & -3;
+ HEAP8[$2>>0] = $4;
+ $5 = ((($0)) + 4|0);
+ HEAP32[$5>>2] = 0;
+ $6 = HEAP32[$0>>2]|0;
+ $7 = ((($6)) + 16|0);
+ $$015 = HEAP32[$7>>2]|0;
+ $8 = ($$015|0)==(0|0);
+ if ($8) {
+ $24 = $6;
+ } else {
+ $$016 = $$015;
+ while(1) {
+ $9 = ((($$016)) + 16|0);
+ $10 = HEAP32[$$016>>2]|0;
+ $11 = ((($10)) + 44|0);
+ $12 = HEAP32[$11>>2]|0;
+ _memset(($9|0),0,($12|0))|0;
+ $13 = ((($10)) + 28|0);
+ $14 = HEAP32[$13>>2]|0;
+ $15 = HEAP32[$0>>2]|0;
+ $16 = ((($15)) + 12|0);
+ $17 = HEAP8[$16>>0]|0;
+ $18 = $17 & 4;
+ $19 = $18&255;
+ $20 = $19 << 6;
+ FUNCTION_TABLE_vii[$14 & 63]($9,$20);
+ $21 = ((($$016)) + 4|0);
+ $$0 = HEAP32[$21>>2]|0;
+ $22 = ($$0|0)==(0|0);
+ if ($22) {
+ break;
+ } else {
+ $$016 = $$0;
+ }
+ }
+ $$pre = HEAP32[$0>>2]|0;
+ $24 = $$pre;
+ }
+ $23 = ((($24)) + 20|0);
+ $25 = HEAP32[$23>>2]|0;
+ $26 = ($25|0)==(0|0);
+ if ($26) {
+ return;
+ }
+ $27 = ((($24)) + 24|0);
+ $28 = HEAP32[$27>>2]|0;
+ _md_write($0,$25,$28);
+ return;
+}
+function _md_write($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$0 = 0, $$021 = 0, $$022 = 0, $$pre = 0, $$pre$phi30Z2D = 0, $$pre27 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0;
+ var $24 = 0, $25 = 0, $26 = 0, $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, label = 0, sp = 0;
+ sp = STACKTOP;
+ $3 = HEAP32[$0>>2]|0;
+ $4 = ((($3)) + 8|0);
+ $5 = HEAP32[$4>>2]|0;
+ $6 = ($5|0)==(0|0);
+ $$pre = ((($0)) + 4|0);
+ if (!($6)) {
+ $7 = HEAP32[$$pre>>2]|0;
+ $8 = ($7|0)==(0);
+ if (!($8)) {
+ $9 = ((($0)) + 12|0);
+ $10 = (_fwrite($9,$7,1,$5)|0);
+ $11 = ($10|0)==(1);
+ if (!($11)) {
+ __gcry_bug(59029,630,59034);
+ // unreachable;
+ }
+ }
+ $12 = ($2|0)==(0);
+ if (!($12)) {
+ $13 = HEAP32[$0>>2]|0;
+ $14 = ((($13)) + 8|0);
+ $15 = HEAP32[$14>>2]|0;
+ $16 = (_fwrite($1,$2,1,$15)|0);
+ $17 = ($16|0)==(1);
+ if (!($17)) {
+ __gcry_bug(59029,632,59034);
+ // unreachable;
+ }
+ }
+ }
+ $18 = HEAP32[$0>>2]|0;
+ $19 = ((($18)) + 16|0);
+ $$021 = HEAP32[$19>>2]|0;
+ $20 = ($$021|0)==(0|0);
+ if ($20) {
+ HEAP32[$$pre>>2] = 0;
+ return;
+ }
+ $21 = ((($0)) + 12|0);
+ $$022 = $$021;
+ while(1) {
+ $22 = HEAP32[$$pre>>2]|0;
+ $23 = ($22|0)==(0);
+ if ($23) {
+ $$pre27 = ((($$022)) + 16|0);
+ $$pre$phi30Z2D = $$pre27;
+ } else {
+ $24 = HEAP32[$$022>>2]|0;
+ $25 = ((($24)) + 32|0);
+ $26 = HEAP32[$25>>2]|0;
+ $27 = ((($$022)) + 16|0);
+ FUNCTION_TABLE_viii[$26 & 127]($27,$21,$22);
+ $$pre$phi30Z2D = $27;
+ }
+ $28 = HEAP32[$$022>>2]|0;
+ $29 = ((($28)) + 32|0);
+ $30 = HEAP32[$29>>2]|0;
+ FUNCTION_TABLE_viii[$30 & 127]($$pre$phi30Z2D,$1,$2);
+ $31 = ((($$022)) + 4|0);
+ $$0 = HEAP32[$31>>2]|0;
+ $32 = ($$0|0)==(0|0);
+ if ($32) {
+ break;
+ } else {
+ $$022 = $$0;
+ }
+ }
+ HEAP32[$$pre>>2] = 0;
+ return;
+}
+function __gcry_md_close($0) {
+ $0 = $0|0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ _md_close($0);
+ return;
+}
+function __gcry_md_write($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ _md_write($0,$1,$2);
+ return;
+}
+function _md_final($0) {
+ $0 = $0|0;
+ var $$0 = 0, $$0$i = 0, $$013$i = 0, $$013$i41 = 0, $$02$i = 0, $$02$i39 = 0, $$021$i = 0, $$022$i = 0, $$053 = 0, $$054 = 0, $$idx$val$idx = 0, $$idx$val$idx$val = 0, $$idx35$val = 0, $$idx35$val$idx = 0, $$idx35$val$idx$val = 0, $$idx36$val$idx$phi$trans$insert = 0, $$idx36$val$idx$val = 0, $$idx36$val$idx$val$pre = 0, $$idx36$val$pre = 0, $$ph$i = 0;
+ var $$pre = 0, $$pre$phi30$iZ2D = 0, $$pre27$i = 0, $$pre60 = 0, $$pre60$pre = 0, $$pre61 = 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;
+ var $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $13 = 0, $14 = 0;
+ var $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0;
+ var $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0;
+ var $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0;
+ var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0;
+ var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer3 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
+ $vararg_buffer3 = sp + 16|0;
+ $vararg_buffer1 = sp + 8|0;
+ $vararg_buffer = sp;
+ $1 = sp + 20|0;
+ $2 = HEAP32[$0>>2]|0;
+ $3 = ((($2)) + 12|0);
+ $4 = HEAP8[$3>>0]|0;
+ $5 = $4 & 2;
+ $6 = ($5<<24>>24)==(0);
+ if (!($6)) {
+ STACKTOP = sp;return;
+ }
+ $7 = ((($0)) + 4|0);
+ $8 = HEAP32[$7>>2]|0;
+ $9 = ($8|0)==(0);
+ if ($9) {
+ $32 = $2;
+ } else {
+ $10 = ((($2)) + 8|0);
+ $11 = HEAP32[$10>>2]|0;
+ $12 = ($11|0)==(0|0);
+ do {
+ if ($12) {
+ $17 = $2;
+ } else {
+ $13 = ((($0)) + 12|0);
+ $14 = (_fwrite($13,$8,1,$11)|0);
+ $15 = ($14|0)==(1);
+ if ($15) {
+ $$pre = HEAP32[$0>>2]|0;
+ $17 = $$pre;
+ break;
+ } else {
+ __gcry_bug(59029,630,59034);
+ // unreachable;
+ }
+ }
+ } while(0);
+ $16 = ((($17)) + 16|0);
+ $$021$i = HEAP32[$16>>2]|0;
+ $18 = ($$021$i|0)==(0|0);
+ if ($18) {
+ $$pre60 = $17;
+ } else {
+ $19 = ((($0)) + 12|0);
+ $$022$i = $$021$i;
+ while(1) {
+ $20 = HEAP32[$7>>2]|0;
+ $21 = ($20|0)==(0);
+ if ($21) {
+ $$pre27$i = ((($$022$i)) + 16|0);
+ $$pre$phi30$iZ2D = $$pre27$i;
+ } else {
+ $22 = HEAP32[$$022$i>>2]|0;
+ $23 = ((($22)) + 32|0);
+ $24 = HEAP32[$23>>2]|0;
+ $25 = ((($$022$i)) + 16|0);
+ FUNCTION_TABLE_viii[$24 & 127]($25,$19,$20);
+ $$pre$phi30$iZ2D = $25;
+ }
+ $26 = HEAP32[$$022$i>>2]|0;
+ $27 = ((($26)) + 32|0);
+ $28 = HEAP32[$27>>2]|0;
+ FUNCTION_TABLE_viii[$28 & 127]($$pre$phi30$iZ2D,0,0);
+ $29 = ((($$022$i)) + 4|0);
+ $$0$i = HEAP32[$29>>2]|0;
+ $30 = ($$0$i|0)==(0|0);
+ if ($30) {
+ break;
+ } else {
+ $$022$i = $$0$i;
+ }
+ }
+ $$pre60$pre = HEAP32[$0>>2]|0;
+ $$pre60 = $$pre60$pre;
+ }
+ HEAP32[$7>>2] = 0;
+ $32 = $$pre60;
+ }
+ $31 = ((($32)) + 16|0);
+ $$053 = HEAP32[$31>>2]|0;
+ $33 = ($$053|0)==(0|0);
+ if ($33) {
+ $41 = $32;
+ } else {
+ $$054 = $$053;
+ while(1) {
+ $34 = HEAP32[$$054>>2]|0;
+ $35 = ((($34)) + 36|0);
+ $36 = HEAP32[$35>>2]|0;
+ $37 = ((($$054)) + 16|0);
+ FUNCTION_TABLE_vi[$36 & 127]($37);
+ $38 = ((($$054)) + 4|0);
+ $$0 = HEAP32[$38>>2]|0;
+ $39 = ($$0|0)==(0|0);
+ if ($39) {
+ break;
+ } else {
+ $$054 = $$0;
+ }
+ }
+ $$pre61 = HEAP32[$0>>2]|0;
+ $41 = $$pre61;
+ }
+ $40 = ((($41)) + 12|0);
+ $42 = HEAP8[$40>>0]|0;
+ $43 = $42 | 2;
+ HEAP8[$40>>0] = $43;
+ $44 = HEAP32[$0>>2]|0;
+ $45 = ((($44)) + 20|0);
+ $46 = HEAP32[$45>>2]|0;
+ $47 = ($46|0)==(0|0);
+ if ($47) {
+ STACKTOP = sp;return;
+ }
+ $$idx$val$idx = ((($44)) + 16|0);
+ $$idx$val$idx$val = HEAP32[$$idx$val$idx>>2]|0;
+ $48 = ($$idx$val$idx$val|0)==(0|0);
+ if ($48) {
+ __gcry_bug(59029,816,59166);
+ // unreachable;
+ }
+ $49 = ((($$idx$val$idx$val)) + 4|0);
+ $50 = HEAP32[$49>>2]|0;
+ $51 = ($50|0)==(0|0);
+ if ($51) {
+ $$idx36$val$idx$val = $$idx$val$idx$val;
+ } else {
+ __gcry_fips_signal_error(59029,980,59043,0,59055);
+ __gcry_log_error(59076,$vararg_buffer);
+ $$idx36$val$pre = HEAP32[$0>>2]|0;
+ $$idx36$val$idx$phi$trans$insert = ((($$idx36$val$pre)) + 16|0);
+ $$idx36$val$idx$val$pre = HEAP32[$$idx36$val$idx$phi$trans$insert>>2]|0;
+ $$idx36$val$idx$val = $$idx36$val$idx$val$pre;
+ }
+ $52 = HEAP32[$$idx$val$idx$val>>2]|0;
+ $53 = HEAP32[$52>>2]|0;
+ $54 = ($53|0)==(0);
+ $55 = ($$idx36$val$idx$val|0)==(0|0);
+ do {
+ if ($54) {
+ if ($55) {
+ __gcry_bug(59029,816,59166);
+ // unreachable;
+ }
+ $56 = ((($$idx36$val$idx$val)) + 4|0);
+ $57 = HEAP32[$56>>2]|0;
+ $58 = ($57|0)==(0|0);
+ if (!($58)) {
+ __gcry_log_debug(59127,$vararg_buffer1);
+ }
+ $59 = HEAP32[$$idx36$val$idx$val>>2]|0;
+ $60 = ((($59)) + 40|0);
+ $61 = HEAP32[$60>>2]|0;
+ $62 = ((($$idx36$val$idx$val)) + 16|0);
+ $63 = (FUNCTION_TABLE_ii[$61 & 63]($62)|0);
+ $$013$i = $63;$127 = 1;$76 = 0;
+ } else {
+ if ($55) {
+ __gcry_bug(59029,816,59166);
+ // unreachable;
+ }
+ $$02$i = $$idx36$val$idx$val;
+ while(1) {
+ $64 = HEAP32[$$02$i>>2]|0;
+ $65 = HEAP32[$64>>2]|0;
+ $66 = ($65|0)==($53|0);
+ if ($66) {
+ label = 31;
+ break;
+ }
+ $71 = ((($$02$i)) + 4|0);
+ $72 = HEAP32[$71>>2]|0;
+ $73 = ($72|0)==(0|0);
+ if ($73) {
+ label = 33;
+ break;
+ } else {
+ $$02$i = $72;
+ }
+ }
+ if ((label|0) == 31) {
+ $67 = ((($64)) + 40|0);
+ $68 = HEAP32[$67>>2]|0;
+ $69 = ((($$02$i)) + 16|0);
+ $70 = (FUNCTION_TABLE_ii[$68 & 63]($69)|0);
+ $$013$i = $70;$127 = 0;$76 = $53;
+ break;
+ }
+ else if ((label|0) == 33) {
+ __gcry_bug(59029,816,59166);
+ // unreachable;
+ }
+ }
+ } while(0);
+ $74 = HEAP32[9908]|0;
+ $75 = ($74|0)==($76|0);
+ if ($75) {
+ $$ph$i = 39632;
+ label = 40;
+ } else {
+ $77 = HEAP32[9936]|0;
+ $78 = ($77|0)==($76|0);
+ if ($78) {
+ $$ph$i = 39744;
+ label = 40;
+ } else {
+ $79 = HEAP32[9921]|0;
+ $80 = ($79|0)==($76|0);
+ if ($80) {
+ $$ph$i = 39684;
+ label = 40;
+ } else {
+ $81 = HEAP32[9952]|0;
+ $82 = ($81|0)==($76|0);
+ if ($82) {
+ $$ph$i = 39808;
+ label = 40;
+ } else {
+ $83 = HEAP32[9968]|0;
+ $84 = ($83|0)==($76|0);
+ if ($84) {
+ $$ph$i = 39872;
+ label = 40;
+ } else {
+ $85 = HEAP32[9871]|0;
+ $86 = ($85|0)==($76|0);
+ if ($86) {
+ $$ph$i = 39484;
+ label = 40;
+ } else {
+ $107 = 0;
+ }
+ }
+ }
+ }
+ }
+ }
+ if ((label|0) == 40) {
+ $87 = ((($$ph$i)) + 24|0);
+ $88 = HEAP32[$87>>2]|0;
+ $107 = $88;
+ }
+ $89 = HEAP32[$0>>2]|0;
+ $90 = ((($89)) + 12|0);
+ $91 = HEAP8[$90>>0]|0;
+ $92 = $91 & 1;
+ $93 = $92&255;
+ $94 = $91 & 4;
+ $95 = $94&255;
+ $96 = $95 << 6;
+ $97 = $96 | $93;
+ $98 = (_md_open($1,$76,$97)|0);
+ $99 = ($98|0)==(0);
+ if (!($99)) {
+ __gcry_fatal_error($98,0);
+ // unreachable;
+ }
+ $100 = HEAP32[$1>>2]|0;
+ $101 = HEAP32[$0>>2]|0;
+ $102 = ((($101)) + 20|0);
+ $103 = HEAP32[$102>>2]|0;
+ $104 = ((($101)) + 24|0);
+ $105 = HEAP32[$104>>2]|0;
+ $106 = (($103) + ($105)|0);
+ _md_write($100,$106,$105);
+ _md_write($100,$$013$i,$107);
+ _md_final($100);
+ $$idx35$val = HEAP32[$100>>2]|0;
+ $$idx35$val$idx = ((($$idx35$val)) + 16|0);
+ $$idx35$val$idx$val = HEAP32[$$idx35$val$idx>>2]|0;
+ $108 = ($$idx35$val$idx$val|0)==(0|0);
+ do {
+ if ($127) {
+ if ($108) {
+ __gcry_bug(59029,816,59166);
+ // unreachable;
+ }
+ $109 = ((($$idx35$val$idx$val)) + 4|0);
+ $110 = HEAP32[$109>>2]|0;
+ $111 = ($110|0)==(0|0);
+ if (!($111)) {
+ __gcry_log_debug(59127,$vararg_buffer3);
+ }
+ $112 = HEAP32[$$idx35$val$idx$val>>2]|0;
+ $113 = ((($112)) + 40|0);
+ $114 = HEAP32[$113>>2]|0;
+ $115 = ((($$idx35$val$idx$val)) + 16|0);
+ $116 = (FUNCTION_TABLE_ii[$114 & 63]($115)|0);
+ $$013$i41 = $116;
+ } else {
+ if ($108) {
+ __gcry_bug(59029,816,59166);
+ // unreachable;
+ }
+ $$02$i39 = $$idx35$val$idx$val;
+ while(1) {
+ $117 = HEAP32[$$02$i39>>2]|0;
+ $118 = HEAP32[$117>>2]|0;
+ $119 = ($118|0)==($76|0);
+ if ($119) {
+ label = 51;
+ break;
+ }
+ $124 = ((($$02$i39)) + 4|0);
+ $125 = HEAP32[$124>>2]|0;
+ $126 = ($125|0)==(0|0);
+ if ($126) {
+ label = 53;
+ break;
+ } else {
+ $$02$i39 = $125;
+ }
+ }
+ if ((label|0) == 51) {
+ $120 = ((($117)) + 40|0);
+ $121 = HEAP32[$120>>2]|0;
+ $122 = ((($$02$i39)) + 16|0);
+ $123 = (FUNCTION_TABLE_ii[$121 & 63]($122)|0);
+ $$013$i41 = $123;
+ break;
+ }
+ else if ((label|0) == 53) {
+ __gcry_bug(59029,816,59166);
+ // unreachable;
+ }
+ }
+ } while(0);
+ _memcpy(($$013$i|0),($$013$i41|0),($107|0))|0;
+ _md_close($100);
+ STACKTOP = sp;return;
+}
+function __gcry_md_setkey($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$0 = 0, $$0$i8 = 0, $$015$i = 0, $$016$i = 0, $$042$i = 0, $$043$i = 0, $$044$i = 0, $$04549$i = 0, $$idx$val$idx$i = 0, $$idx$val$idx$val$i = 0, $$ph$i$i = 0, $$ph$i46$i = 0, $$phi$trans$insert$i = 0, $$pre$i = 0, $$pre$i9 = 0, $$pre50$i = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0;
+ var $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0;
+ var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0;
+ var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0;
+ var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0;
+ var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0;
+ var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $vararg_buffer = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $vararg_buffer = sp;
+ $3 = HEAP32[$0>>2]|0;
+ $4 = ((($3)) + 20|0);
+ $5 = HEAP32[$4>>2]|0;
+ $6 = ($5|0)==(0|0);
+ if ($6) {
+ $$0 = 70;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $$idx$val$idx$i = ((($3)) + 16|0);
+ $$idx$val$idx$val$i = HEAP32[$$idx$val$idx$i>>2]|0;
+ $7 = ($$idx$val$idx$val$i|0)==(0|0);
+ if ($7) {
+ $$0 = 5;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $8 = ((($$idx$val$idx$val$i)) + 4|0);
+ $9 = HEAP32[$8>>2]|0;
+ $10 = ($9|0)==(0|0);
+ if (!($10)) {
+ __gcry_fips_signal_error(59029,980,59043,0,59055);
+ __gcry_log_error(59076,$vararg_buffer);
+ }
+ $11 = HEAP32[$$idx$val$idx$val$i>>2]|0;
+ $12 = HEAP32[$11>>2]|0;
+ $13 = ($12|0)==(0);
+ if ($13) {
+ $$0 = 5;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $14 = HEAP32[$0>>2]|0;
+ $15 = ((($14)) + 24|0);
+ $16 = HEAP32[$15>>2]|0;
+ $17 = ($16>>>0)<($2>>>0);
+ do {
+ if ($17) {
+ $18 = HEAP32[9908]|0;
+ $19 = ($18|0)==($12|0);
+ if ($19) {
+ $$ph$i$i = 39632;
+ label = 13;
+ } else {
+ $20 = HEAP32[9936]|0;
+ $21 = ($20|0)==($12|0);
+ if ($21) {
+ $$ph$i$i = 39744;
+ label = 13;
+ } else {
+ $22 = HEAP32[9921]|0;
+ $23 = ($22|0)==($12|0);
+ if ($23) {
+ $$ph$i$i = 39684;
+ label = 13;
+ } else {
+ $24 = HEAP32[9952]|0;
+ $25 = ($24|0)==($12|0);
+ if ($25) {
+ $$ph$i$i = 39808;
+ label = 13;
+ } else {
+ $26 = HEAP32[9968]|0;
+ $27 = ($26|0)==($12|0);
+ if ($27) {
+ $$ph$i$i = 39872;
+ label = 13;
+ } else {
+ $28 = HEAP32[9871]|0;
+ $29 = ($28|0)==($12|0);
+ if ($29) {
+ $$ph$i$i = 39484;
+ label = 13;
+ } else {
+ $32 = 0;
+ }
+ }
+ }
+ }
+ }
+ }
+ if ((label|0) == 13) {
+ $30 = ((($$ph$i$i)) + 24|0);
+ $31 = HEAP32[$30>>2]|0;
+ $32 = $31;
+ }
+ $33 = (__gcry_malloc_secure($32)|0);
+ $34 = ($33|0)==(0|0);
+ if ($34) {
+ $79 = (___errno_location()|0);
+ $80 = HEAP32[$79>>2]|0;
+ $81 = (_gpg_err_code_from_errno($80)|0);
+ $82 = ($81|0)==(0);
+ if ($82) {
+ break;
+ } else {
+ $$0 = $81;
+ }
+ STACKTOP = sp;return ($$0|0);
+ }
+ __gcry_md_hash_buffer($12,$33,$1,$2);
+ $35 = HEAP32[9908]|0;
+ $36 = ($35|0)==($12|0);
+ if ($36) {
+ $$ph$i46$i = 39632;
+ } else {
+ $37 = HEAP32[9936]|0;
+ $38 = ($37|0)==($12|0);
+ if ($38) {
+ $$ph$i46$i = 39744;
+ } else {
+ $39 = HEAP32[9921]|0;
+ $40 = ($39|0)==($12|0);
+ if ($40) {
+ $$ph$i46$i = 39684;
+ } else {
+ $41 = HEAP32[9952]|0;
+ $42 = ($41|0)==($12|0);
+ if ($42) {
+ $$ph$i46$i = 39808;
+ } else {
+ $43 = HEAP32[9968]|0;
+ $44 = ($43|0)==($12|0);
+ if ($44) {
+ $$ph$i46$i = 39872;
+ } else {
+ $45 = HEAP32[9871]|0;
+ $46 = ($45|0)==($12|0);
+ if ($46) {
+ $$ph$i46$i = 39484;
+ } else {
+ $$pre$i = HEAP32[$0>>2]|0;
+ $$phi$trans$insert$i = ((($$pre$i)) + 24|0);
+ $$pre50$i = HEAP32[$$phi$trans$insert$i>>2]|0;
+ $$042$i = $33;$$043$i = $33;$$044$i = 0;$54 = $$pre$i;$57 = $$pre50$i;
+ label = 24;
+ break;
+ }
+ }
+ }
+ }
+ }
+ }
+ $47 = ((($$ph$i46$i)) + 24|0);
+ $48 = HEAP32[$47>>2]|0;
+ $49 = HEAP32[$0>>2]|0;
+ $50 = ((($49)) + 24|0);
+ $51 = HEAP32[$50>>2]|0;
+ $52 = ($48>>>0)>($51>>>0);
+ if ($52) {
+ __gcry_assert_failed(59174,59029,716,59207);
+ // unreachable;
+ } else {
+ $$042$i = $33;$$043$i = $33;$$044$i = $48;$54 = $49;$57 = $51;
+ label = 24;
+ }
+ } else {
+ $$042$i = $1;$$043$i = 0;$$044$i = $2;$54 = $14;$57 = $16;
+ label = 24;
+ }
+ } while(0);
+ if ((label|0) == 24) {
+ $53 = ((($54)) + 20|0);
+ $55 = HEAP32[$53>>2]|0;
+ $56 = $57 << 1;
+ _memset(($55|0),0,($56|0))|0;
+ $58 = HEAP32[$0>>2]|0;
+ $59 = ((($58)) + 20|0);
+ $60 = HEAP32[$59>>2]|0;
+ $61 = ((($58)) + 24|0);
+ $62 = HEAP32[$61>>2]|0;
+ $63 = (($60) + ($62)|0);
+ _memcpy(($60|0),($$042$i|0),($$044$i|0))|0;
+ _memcpy(($63|0),($$042$i|0),($$044$i|0))|0;
+ $64 = HEAP32[$0>>2]|0;
+ $65 = ((($64)) + 24|0);
+ $66 = HEAP32[$65>>2]|0;
+ $67 = ($66|0)>(0);
+ if ($67) {
+ $$04549$i = 0;
+ while(1) {
+ $68 = (($60) + ($$04549$i)|0);
+ $69 = HEAP8[$68>>0]|0;
+ $70 = $69 ^ 54;
+ HEAP8[$68>>0] = $70;
+ $71 = (($63) + ($$04549$i)|0);
+ $72 = HEAP8[$71>>0]|0;
+ $73 = $72 ^ 92;
+ HEAP8[$71>>0] = $73;
+ $74 = (($$04549$i) + 1)|0;
+ $75 = HEAP32[$0>>2]|0;
+ $76 = ((($75)) + 24|0);
+ $77 = HEAP32[$76>>2]|0;
+ $78 = ($74|0)<($77|0);
+ if ($78) {
+ $$04549$i = $74;
+ } else {
+ break;
+ }
+ }
+ }
+ __gcry_free($$043$i);
+ }
+ $83 = HEAP32[$0>>2]|0;
+ $84 = ((($83)) + 12|0);
+ $85 = HEAP8[$84>>0]|0;
+ $86 = $85 & -3;
+ HEAP8[$84>>0] = $86;
+ $87 = ((($0)) + 4|0);
+ HEAP32[$87>>2] = 0;
+ $88 = HEAP32[$0>>2]|0;
+ $89 = ((($88)) + 16|0);
+ $$015$i = HEAP32[$89>>2]|0;
+ $90 = ($$015$i|0)==(0|0);
+ if ($90) {
+ $106 = $88;
+ } else {
+ $$016$i = $$015$i;
+ while(1) {
+ $91 = ((($$016$i)) + 16|0);
+ $92 = HEAP32[$$016$i>>2]|0;
+ $93 = ((($92)) + 44|0);
+ $94 = HEAP32[$93>>2]|0;
+ _memset(($91|0),0,($94|0))|0;
+ $95 = ((($92)) + 28|0);
+ $96 = HEAP32[$95>>2]|0;
+ $97 = HEAP32[$0>>2]|0;
+ $98 = ((($97)) + 12|0);
+ $99 = HEAP8[$98>>0]|0;
+ $100 = $99 & 4;
+ $101 = $100&255;
+ $102 = $101 << 6;
+ FUNCTION_TABLE_vii[$96 & 63]($91,$102);
+ $103 = ((($$016$i)) + 4|0);
+ $$0$i8 = HEAP32[$103>>2]|0;
+ $104 = ($$0$i8|0)==(0|0);
+ if ($104) {
+ break;
+ } else {
+ $$016$i = $$0$i8;
+ }
+ }
+ $$pre$i9 = HEAP32[$0>>2]|0;
+ $106 = $$pre$i9;
+ }
+ $105 = ((($106)) + 20|0);
+ $107 = HEAP32[$105>>2]|0;
+ $108 = ($107|0)==(0|0);
+ if ($108) {
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $109 = ((($106)) + 24|0);
+ $110 = HEAP32[$109>>2]|0;
+ _md_write($0,$107,$110);
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+}
+function __gcry_md_hash_buffer($0,$1,$2,$3) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ var $$0$idx$val$i = 0, $$013$i = 0, $$02$i = 0, $$262$i = 0, $$idx$val = 0, $$idx$val$idx = 0, $$idx$val$idx$val = 0, $$ph$i = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0;
+ var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0;
+ var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0;
+ var $6 = 0, $60 = 0, $61 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $vararg_buffer2 = sp + 8|0;
+ $vararg_buffer = sp;
+ switch ($0|0) {
+ case 2: {
+ __gcry_sha1_hash_buffer($1,$2,$3);
+ STACKTOP = sp;return;
+ break;
+ }
+ case 3: {
+ $4 = (__gcry_fips_mode()|0);
+ $5 = ($4|0)==(0);
+ if ($5) {
+ __gcry_rmd160_hash_buffer($1,$2,$3);
+ STACKTOP = sp;return;
+ }
+ break;
+ }
+ case 1: {
+ $6 = (__gcry_fips_mode()|0);
+ $7 = ($6|0)==(0);
+ if (!($7)) {
+ __gcry_inactivate_fips_mode(59020);
+ $8 = (__gcry_enforced_fips_mode()|0);
+ $9 = ($8|0)==(0);
+ if (!($9)) {
+ __gcry_fips_noreturn();
+ // unreachable;
+ }
+ }
+ break;
+ }
+ default: {
+ }
+ }
+ $10 = (__gcry_malloc(1068)|0);
+ $11 = ($10|0)==(0|0);
+ if ($11) {
+ $12 = (___errno_location()|0);
+ $13 = HEAP32[$12>>2]|0;
+ $14 = (_gpg_err_code_from_errno($13)|0);
+ $15 = ($14|0)==(0);
+ if (!($15)) {
+ $$262$i = $14;
+ $25 = $$262$i & 65535;
+ $26 = $25 | 536870912;
+ $27 = (_gpg_strerror($26)|0);
+ HEAP32[$vararg_buffer>>2] = $0;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = $27;
+ __gcry_log_bug(59223,$vararg_buffer);
+ // unreachable;
+ }
+ }
+ $16 = ((($10)) + 1040|0);
+ HEAP32[$10>>2] = $16;
+ $17 = ((($10)) + 8|0);
+ HEAP32[$17>>2] = 1025;
+ $18 = ((($10)) + 4|0);
+ HEAP32[$18>>2] = 0;
+ $19 = ((($10)) + 1048|0);
+ ;HEAP32[$19>>2]=0|0;HEAP32[$19+4>>2]=0|0;HEAP32[$19+8>>2]=0|0;HEAP32[$19+12>>2]=0|0;HEAP32[$19+16>>2]=0|0;
+ HEAP32[$16>>2] = 285677921;
+ $20 = ((($10)) + 1044|0);
+ HEAP32[$20>>2] = 1068;
+ $21 = ((($10)) + 1052|0);
+ HEAP8[$21>>0] = 0;
+ __gcry_fast_random_poll();
+ $22 = ($0|0)==(0);
+ if (!($22)) {
+ $$0$idx$val$i = HEAP32[$10>>2]|0;
+ $23 = (_md_enable($$0$idx$val$i,$0)|0);
+ $24 = ($23|0)==(0);
+ if (!($24)) {
+ _md_close($10);
+ $$262$i = $23;
+ $25 = $$262$i & 65535;
+ $26 = $25 | 536870912;
+ $27 = (_gpg_strerror($26)|0);
+ HEAP32[$vararg_buffer>>2] = $0;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = $27;
+ __gcry_log_bug(59223,$vararg_buffer);
+ // unreachable;
+ }
+ }
+ _md_write($10,$2,$3);
+ _md_final($10);
+ $$idx$val = HEAP32[$10>>2]|0;
+ $$idx$val$idx = ((($$idx$val)) + 16|0);
+ $$idx$val$idx$val = HEAP32[$$idx$val$idx>>2]|0;
+ $28 = ($$idx$val$idx$val|0)==(0|0);
+ do {
+ if ($22) {
+ if ($28) {
+ __gcry_bug(59029,816,59166);
+ // unreachable;
+ }
+ $29 = ((($$idx$val$idx$val)) + 4|0);
+ $30 = HEAP32[$29>>2]|0;
+ $31 = ($30|0)==(0|0);
+ if (!($31)) {
+ __gcry_log_debug(59127,$vararg_buffer2);
+ }
+ $32 = HEAP32[$$idx$val$idx$val>>2]|0;
+ $33 = ((($32)) + 40|0);
+ $34 = HEAP32[$33>>2]|0;
+ $35 = ((($$idx$val$idx$val)) + 16|0);
+ $36 = (FUNCTION_TABLE_ii[$34 & 63]($35)|0);
+ $$013$i = $36;
+ } else {
+ if ($28) {
+ __gcry_bug(59029,816,59166);
+ // unreachable;
+ }
+ $$02$i = $$idx$val$idx$val;
+ while(1) {
+ $37 = HEAP32[$$02$i>>2]|0;
+ $38 = HEAP32[$37>>2]|0;
+ $39 = ($38|0)==($0|0);
+ if ($39) {
+ label = 22;
+ break;
+ }
+ $44 = ((($$02$i)) + 4|0);
+ $45 = HEAP32[$44>>2]|0;
+ $46 = ($45|0)==(0|0);
+ if ($46) {
+ label = 24;
+ break;
+ } else {
+ $$02$i = $45;
+ }
+ }
+ if ((label|0) == 22) {
+ $40 = ((($37)) + 40|0);
+ $41 = HEAP32[$40>>2]|0;
+ $42 = ((($$02$i)) + 16|0);
+ $43 = (FUNCTION_TABLE_ii[$41 & 63]($42)|0);
+ $$013$i = $43;
+ break;
+ }
+ else if ((label|0) == 24) {
+ __gcry_bug(59029,816,59166);
+ // unreachable;
+ }
+ }
+ } while(0);
+ $47 = HEAP32[9908]|0;
+ $48 = ($47|0)==($0|0);
+ if ($48) {
+ $$ph$i = 39632;
+ label = 31;
+ } else {
+ $49 = HEAP32[9936]|0;
+ $50 = ($49|0)==($0|0);
+ if ($50) {
+ $$ph$i = 39744;
+ label = 31;
+ } else {
+ $51 = HEAP32[9921]|0;
+ $52 = ($51|0)==($0|0);
+ if ($52) {
+ $$ph$i = 39684;
+ label = 31;
+ } else {
+ $53 = HEAP32[9952]|0;
+ $54 = ($53|0)==($0|0);
+ if ($54) {
+ $$ph$i = 39808;
+ label = 31;
+ } else {
+ $55 = HEAP32[9968]|0;
+ $56 = ($55|0)==($0|0);
+ if ($56) {
+ $$ph$i = 39872;
+ label = 31;
+ } else {
+ $57 = HEAP32[9871]|0;
+ $58 = ($57|0)==($0|0);
+ if ($58) {
+ $$ph$i = 39484;
+ label = 31;
+ } else {
+ $61 = 0;
+ }
+ }
+ }
+ }
+ }
+ }
+ if ((label|0) == 31) {
+ $59 = ((($$ph$i)) + 24|0);
+ $60 = HEAP32[$59>>2]|0;
+ $61 = $60;
+ }
+ _memcpy(($1|0),($$013$i|0),($61|0))|0;
+ _md_close($10);
+ STACKTOP = sp;return;
+}
+function __gcry_md_read($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $$013$i = 0, $$02$i = 0, $$idx$val = 0, $$idx$val$idx = 0, $$idx$val$idx$val = 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, $3 = 0, $4 = 0;
+ var $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)) abortStackOverflow(16|0);
+ $vararg_buffer = sp;
+ _md_final($0);
+ $$idx$val = HEAP32[$0>>2]|0;
+ $$idx$val$idx = ((($$idx$val)) + 16|0);
+ $$idx$val$idx$val = HEAP32[$$idx$val$idx>>2]|0;
+ $2 = ($1|0)==(0);
+ $3 = ($$idx$val$idx$val|0)==(0|0);
+ if ($2) {
+ if ($3) {
+ __gcry_bug(59029,816,59166);
+ // unreachable;
+ }
+ $4 = ((($$idx$val$idx$val)) + 4|0);
+ $5 = HEAP32[$4>>2]|0;
+ $6 = ($5|0)==(0|0);
+ if (!($6)) {
+ __gcry_log_debug(59127,$vararg_buffer);
+ }
+ $7 = HEAP32[$$idx$val$idx$val>>2]|0;
+ $8 = ((($7)) + 40|0);
+ $9 = HEAP32[$8>>2]|0;
+ $10 = ((($$idx$val$idx$val)) + 16|0);
+ $11 = (FUNCTION_TABLE_ii[$9 & 63]($10)|0);
+ $$013$i = $11;
+ STACKTOP = sp;return ($$013$i|0);
+ }
+ if ($3) {
+ __gcry_bug(59029,816,59166);
+ // unreachable;
+ }
+ $$02$i = $$idx$val$idx$val;
+ while(1) {
+ $12 = HEAP32[$$02$i>>2]|0;
+ $13 = HEAP32[$12>>2]|0;
+ $14 = ($13|0)==($1|0);
+ if ($14) {
+ break;
+ }
+ $19 = ((($$02$i)) + 4|0);
+ $20 = HEAP32[$19>>2]|0;
+ $21 = ($20|0)==(0|0);
+ if ($21) {
+ label = 11;
+ break;
+ } else {
+ $$02$i = $20;
+ }
+ }
+ if ((label|0) == 11) {
+ __gcry_bug(59029,816,59166);
+ // unreachable;
+ }
+ $15 = ((($12)) + 40|0);
+ $16 = HEAP32[$15>>2]|0;
+ $17 = ((($$02$i)) + 16|0);
+ $18 = (FUNCTION_TABLE_ii[$16 & 63]($17)|0);
+ $$013$i = $18;
+ STACKTOP = sp;return ($$013$i|0);
+}
+function __gcry_md_hash_buffers($0,$1,$2,$3,$4) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ var $$013$i = 0, $$02$i = 0, $$042$ph = 0, $$043 = 0, $$045 = 0, $$045$pn = 0, $$1 = 0, $$14453 = 0, $$14652 = 0, $$idx$val = 0, $$idx$val$idx = 0, $$idx$val$idx$val = 0, $$ph$i = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0;
+ var $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0;
+ var $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $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, $9 = 0, $or$cond$not = 0, $or$cond3 = 0, $or$cond48 = 0, $or$cond5 = 0, $vararg_buffer = 0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $vararg_buffer = sp;
+ $5 = sp + 4|0;
+ $6 = ($3|0)!=(0|0);
+ $7 = ($4|0)>(-1);
+ $or$cond$not = $6 & $7;
+ $8 = $1 & -3;
+ $9 = ($8|0)==(0);
+ $or$cond48 = $9 & $or$cond$not;
+ if (!($or$cond48)) {
+ $$1 = 45;
+ STACKTOP = sp;return ($$1|0);
+ }
+ $10 = $1 & 2;
+ $11 = ($10|0)!=(0);
+ $12 = ($4|0)<(1);
+ $or$cond3 = $11 & $12;
+ if ($or$cond3) {
+ $$1 = 45;
+ STACKTOP = sp;return ($$1|0);
+ }
+ $13 = ($0|0)!=(2);
+ $or$cond5 = $13 | $11;
+ if (!($or$cond5)) {
+ __gcry_sha1_hash_buffers($2,$3,$4);
+ $$1 = 0;
+ STACKTOP = sp;return ($$1|0);
+ }
+ $14 = ($0|0)==(1);
+ if ($14) {
+ $15 = (__gcry_fips_mode()|0);
+ $16 = ($15|0)==(0);
+ if (!($16)) {
+ __gcry_inactivate_fips_mode(59020);
+ $17 = (__gcry_enforced_fips_mode()|0);
+ $18 = ($17|0)==(0);
+ if (!($18)) {
+ __gcry_fips_noreturn();
+ // unreachable;
+ }
+ }
+ }
+ $19 = (_md_open($5,$0,$10)|0);
+ $20 = ($19|0)==(0);
+ L16: do {
+ if ($20) {
+ $21 = HEAP32[$5>>2]|0;
+ do {
+ if ($11) {
+ $22 = ((($3)) + 12|0);
+ $23 = HEAP32[$22>>2]|0;
+ $24 = ((($3)) + 4|0);
+ $25 = HEAP32[$24>>2]|0;
+ $26 = (($23) + ($25)|0);
+ $27 = ((($3)) + 8|0);
+ $28 = HEAP32[$27>>2]|0;
+ $29 = (__gcry_md_setkey($21,$26,$28)|0);
+ $30 = ($29|0)==(0);
+ if ($30) {
+ $31 = ((($3)) + 16|0);
+ $32 = (($4) + -1)|0;
+ $$043 = $32;$$045 = $31;
+ break;
+ } else {
+ _md_close($21);
+ $$042$ph = $29;
+ break L16;
+ }
+ } else {
+ $$043 = $4;$$045 = $3;
+ }
+ } while(0);
+ $33 = ($$043|0)==(0);
+ if (!($33)) {
+ $34 = ((($$045)) + 12|0);
+ $35 = HEAP32[$34>>2]|0;
+ $36 = ((($$045)) + 4|0);
+ $37 = HEAP32[$36>>2]|0;
+ $38 = (($35) + ($37)|0);
+ $39 = ((($$045)) + 8|0);
+ $40 = HEAP32[$39>>2]|0;
+ _md_write($21,$38,$40);
+ $41 = (($$043) + -1)|0;
+ $42 = ($41|0)==(0);
+ if (!($42)) {
+ $$045$pn = $$045;$$14453 = $41;
+ while(1) {
+ $$14652 = ((($$045$pn)) + 16|0);
+ $43 = ((($$045$pn)) + 28|0);
+ $44 = HEAP32[$43>>2]|0;
+ $45 = ((($$045$pn)) + 20|0);
+ $46 = HEAP32[$45>>2]|0;
+ $47 = (($44) + ($46)|0);
+ $48 = ((($$045$pn)) + 24|0);
+ $49 = HEAP32[$48>>2]|0;
+ _md_write($21,$47,$49);
+ $50 = (($$14453) + -1)|0;
+ $51 = ($50|0)==(0);
+ if ($51) {
+ break;
+ } else {
+ $$045$pn = $$14652;$$14453 = $50;
+ }
+ }
+ }
+ }
+ _md_final($21);
+ $$idx$val = HEAP32[$21>>2]|0;
+ $$idx$val$idx = ((($$idx$val)) + 16|0);
+ $$idx$val$idx$val = HEAP32[$$idx$val$idx>>2]|0;
+ $52 = ($0|0)==(0);
+ $53 = ($$idx$val$idx$val|0)==(0|0);
+ do {
+ if ($52) {
+ if ($53) {
+ __gcry_bug(59029,816,59166);
+ // unreachable;
+ }
+ $54 = ((($$idx$val$idx$val)) + 4|0);
+ $55 = HEAP32[$54>>2]|0;
+ $56 = ($55|0)==(0|0);
+ if (!($56)) {
+ __gcry_log_debug(59127,$vararg_buffer);
+ }
+ $57 = HEAP32[$$idx$val$idx$val>>2]|0;
+ $58 = ((($57)) + 40|0);
+ $59 = HEAP32[$58>>2]|0;
+ $60 = ((($$idx$val$idx$val)) + 16|0);
+ $61 = (FUNCTION_TABLE_ii[$59 & 63]($60)|0);
+ $$013$i = $61;
+ } else {
+ if ($53) {
+ __gcry_bug(59029,816,59166);
+ // unreachable;
+ }
+ $$02$i = $$idx$val$idx$val;
+ while(1) {
+ $62 = HEAP32[$$02$i>>2]|0;
+ $63 = HEAP32[$62>>2]|0;
+ $64 = ($63|0)==($0|0);
+ if ($64) {
+ label = 26;
+ break;
+ }
+ $69 = ((($$02$i)) + 4|0);
+ $70 = HEAP32[$69>>2]|0;
+ $71 = ($70|0)==(0|0);
+ if ($71) {
+ label = 28;
+ break;
+ } else {
+ $$02$i = $70;
+ }
+ }
+ if ((label|0) == 26) {
+ $65 = ((($62)) + 40|0);
+ $66 = HEAP32[$65>>2]|0;
+ $67 = ((($$02$i)) + 16|0);
+ $68 = (FUNCTION_TABLE_ii[$66 & 63]($67)|0);
+ $$013$i = $68;
+ break;
+ }
+ else if ((label|0) == 28) {
+ __gcry_bug(59029,816,59166);
+ // unreachable;
+ }
+ }
+ } while(0);
+ $72 = HEAP32[9908]|0;
+ $73 = ($72|0)==($0|0);
+ if ($73) {
+ $$ph$i = 39632;
+ label = 35;
+ } else {
+ $74 = HEAP32[9936]|0;
+ $75 = ($74|0)==($0|0);
+ if ($75) {
+ $$ph$i = 39744;
+ label = 35;
+ } else {
+ $76 = HEAP32[9921]|0;
+ $77 = ($76|0)==($0|0);
+ if ($77) {
+ $$ph$i = 39684;
+ label = 35;
+ } else {
+ $78 = HEAP32[9952]|0;
+ $79 = ($78|0)==($0|0);
+ if ($79) {
+ $$ph$i = 39808;
+ label = 35;
+ } else {
+ $80 = HEAP32[9968]|0;
+ $81 = ($80|0)==($0|0);
+ if ($81) {
+ $$ph$i = 39872;
+ label = 35;
+ } else {
+ $82 = HEAP32[9871]|0;
+ $83 = ($82|0)==($0|0);
+ if ($83) {
+ $$ph$i = 39484;
+ label = 35;
+ } else {
+ $86 = 0;
+ }
+ }
+ }
+ }
+ }
+ }
+ if ((label|0) == 35) {
+ $84 = ((($$ph$i)) + 24|0);
+ $85 = HEAP32[$84>>2]|0;
+ $86 = $85;
+ }
+ _memcpy(($2|0),($$013$i|0),($86|0))|0;
+ _md_close($21);
+ $$1 = 0;
+ STACKTOP = sp;return ($$1|0);
+ } else {
+ $$042$ph = $19;
+ }
+ } while(0);
+ $$1 = $$042$ph;
+ STACKTOP = sp;return ($$1|0);
+}
+function __gcry_md_get_algo($0) {
+ $0 = $0|0;
+ var $$idx$val = 0, $$idx$val$idx = 0, $$idx$val$idx$val = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $vararg_buffer = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $vararg_buffer = sp;
+ $$idx$val = HEAP32[$0>>2]|0;
+ $$idx$val$idx = ((($$idx$val)) + 16|0);
+ $$idx$val$idx$val = HEAP32[$$idx$val$idx>>2]|0;
+ $1 = ($$idx$val$idx$val|0)==(0|0);
+ if ($1) {
+ $7 = 0;
+ STACKTOP = sp;return ($7|0);
+ }
+ $2 = ((($$idx$val$idx$val)) + 4|0);
+ $3 = HEAP32[$2>>2]|0;
+ $4 = ($3|0)==(0|0);
+ if (!($4)) {
+ __gcry_fips_signal_error(59029,980,59043,0,59055);
+ __gcry_log_error(59076,$vararg_buffer);
+ }
+ $5 = HEAP32[$$idx$val$idx$val>>2]|0;
+ $6 = HEAP32[$5>>2]|0;
+ $7 = $6;
+ STACKTOP = sp;return ($7|0);
+}
+function __gcry_md_get_algo_dlen($0) {
+ $0 = $0|0;
+ var $$ph$i = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = HEAP32[9908]|0;
+ $2 = ($1|0)==($0|0);
+ if ($2) {
+ $$ph$i = 39632;
+ } else {
+ $3 = HEAP32[9936]|0;
+ $4 = ($3|0)==($0|0);
+ if ($4) {
+ $$ph$i = 39744;
+ } else {
+ $5 = HEAP32[9921]|0;
+ $6 = ($5|0)==($0|0);
+ if ($6) {
+ $$ph$i = 39684;
+ } else {
+ $7 = HEAP32[9952]|0;
+ $8 = ($7|0)==($0|0);
+ if ($8) {
+ $$ph$i = 39808;
+ } else {
+ $9 = HEAP32[9968]|0;
+ $10 = ($9|0)==($0|0);
+ if ($10) {
+ $$ph$i = 39872;
+ } else {
+ $11 = HEAP32[9871]|0;
+ $12 = ($11|0)==($0|0);
+ if ($12) {
+ $$ph$i = 39484;
+ } else {
+ $15 = 0;
+ return ($15|0);
+ }
+ }
+ }
+ }
+ }
+ }
+ $13 = ((($$ph$i)) + 24|0);
+ $14 = HEAP32[$13>>2]|0;
+ $15 = $14;
+ return ($15|0);
+}
+function __gcry_md_algo_info($0,$1,$2,$3) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ var $$ = 0, $$1 = 0, $$ph$i = 0, $$ph$i25 = 0, $$ph$i28 = 0, $$ph$i33 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0;
+ var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0;
+ 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, $9 = 0, $or$cond = 0, $phitmp = 0, $spec$select = 0, $vararg_buffer = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $vararg_buffer = sp;
+ switch ($1|0) {
+ case 8: {
+ $4 = ($2|0)!=(0|0);
+ $5 = ($3|0)!=(0|0);
+ $or$cond = $4 | $5;
+ if ($or$cond) {
+ $$1 = 45;
+ STACKTOP = sp;return ($$1|0);
+ }
+ $6 = HEAP32[9908]|0;
+ $7 = ($6|0)==($0|0);
+ if ($7) {
+ $$ph$i = 39632;
+ label = 9;
+ } else {
+ $8 = HEAP32[9936]|0;
+ $9 = ($8|0)==($0|0);
+ if ($9) {
+ $$ph$i = 39744;
+ label = 9;
+ } else {
+ $10 = HEAP32[9921]|0;
+ $11 = ($10|0)==($0|0);
+ if ($11) {
+ $$ph$i = 39684;
+ label = 9;
+ } else {
+ $12 = HEAP32[9952]|0;
+ $13 = ($12|0)==($0|0);
+ if ($13) {
+ $$ph$i = 39808;
+ label = 9;
+ } else {
+ $14 = HEAP32[9968]|0;
+ $15 = ($14|0)==($0|0);
+ if ($15) {
+ $$ph$i = 39872;
+ label = 9;
+ } else {
+ $16 = HEAP32[9871]|0;
+ $17 = ($16|0)==($0|0);
+ if ($17) {
+ $$ph$i = 39484;
+ label = 9;
+ }
+ }
+ }
+ }
+ }
+ }
+ if ((label|0) == 9) {
+ $18 = ((($$ph$i)) + 4|0);
+ $19 = HEAP8[$18>>0]|0;
+ $20 = $19 & 1;
+ $21 = ($20<<24>>24)==(0);
+ if ($21) {
+ $$1 = 0;
+ STACKTOP = sp;return ($$1|0);
+ }
+ }
+ $$1 = 5;
+ STACKTOP = sp;return ($$1|0);
+ break;
+ }
+ case 10: {
+ $22 = HEAP32[9908]|0;
+ $23 = ($22|0)==($0|0);
+ if ($23) {
+ $$ph$i28 = 39632;
+ } else {
+ $24 = HEAP32[9936]|0;
+ $25 = ($24|0)==($0|0);
+ if ($25) {
+ $$ph$i28 = 39744;
+ } else {
+ $26 = HEAP32[9921]|0;
+ $27 = ($26|0)==($0|0);
+ if ($27) {
+ $$ph$i28 = 39684;
+ } else {
+ $28 = HEAP32[9952]|0;
+ $29 = ($28|0)==($0|0);
+ if ($29) {
+ $$ph$i28 = 39808;
+ } else {
+ $30 = HEAP32[9968]|0;
+ $31 = ($30|0)==($0|0);
+ if ($31) {
+ $$ph$i28 = 39872;
+ } else {
+ $32 = HEAP32[9871]|0;
+ $33 = ($32|0)==($0|0);
+ if ($33) {
+ $$ph$i28 = 39484;
+ } else {
+ $$1 = 5;
+ STACKTOP = sp;return ($$1|0);
+ }
+ }
+ }
+ }
+ }
+ }
+ $34 = ((($$ph$i28)) + 4|0);
+ $35 = HEAP8[$34>>0]|0;
+ $36 = $35 & 1;
+ $37 = ($36<<24>>24)==(0);
+ if (!($37)) {
+ $$1 = 5;
+ STACKTOP = sp;return ($$1|0);
+ }
+ if ($23) {
+ $$ph$i33 = 39632;
+ } else {
+ $38 = HEAP32[9936]|0;
+ $39 = ($38|0)==($0|0);
+ if ($39) {
+ $$ph$i33 = 39744;
+ } else {
+ $40 = HEAP32[9921]|0;
+ $41 = ($40|0)==($0|0);
+ if ($41) {
+ $$ph$i33 = 39684;
+ } else {
+ $42 = HEAP32[9952]|0;
+ $43 = ($42|0)==($0|0);
+ if ($43) {
+ $$ph$i33 = 39808;
+ } else {
+ $44 = HEAP32[9968]|0;
+ $45 = ($44|0)==($0|0);
+ if ($45) {
+ $$ph$i33 = 39872;
+ } else {
+ $46 = HEAP32[9871]|0;
+ $47 = ($46|0)==($0|0);
+ if ($47) {
+ $$ph$i33 = 39484;
+ } else {
+ HEAP32[$vararg_buffer>>2] = $0;
+ __gcry_log_bug(59259,$vararg_buffer);
+ // unreachable;
+ }
+ }
+ }
+ }
+ }
+ }
+ $48 = ((($$ph$i33)) + 16|0);
+ $49 = HEAP32[$48>>2]|0;
+ $50 = ((($$ph$i33)) + 12|0);
+ $51 = HEAP32[$50>>2]|0;
+ $52 = ($2|0)!=(0|0);
+ if ($52) {
+ $53 = HEAP32[$3>>2]|0;
+ $54 = ($53>>>0)<($49>>>0);
+ if (!($54)) {
+ _memcpy(($2|0),($51|0),($49|0))|0;
+ HEAP32[$3>>2] = $49;
+ $$1 = 0;
+ STACKTOP = sp;return ($$1|0);
+ }
+ } else {
+ $55 = ($3|0)==(0|0);
+ if (!($55)) {
+ HEAP32[$3>>2] = $49;
+ $$1 = 0;
+ STACKTOP = sp;return ($$1|0);
+ }
+ }
+ $$ = $52 ? 66 : 45;
+ $$1 = $$;
+ STACKTOP = sp;return ($$1|0);
+ break;
+ }
+ case 57: {
+ $56 = ($3|0)==(0|0);
+ if ($56) {
+ $77 = 0;
+ } else {
+ $57 = HEAP32[$3>>2]|0;
+ $77 = $57;
+ }
+ $58 = HEAP32[9908]|0;
+ $59 = ($58|0)==($0|0);
+ if ($59) {
+ $$ph$i25 = 39632;
+ label = 39;
+ } else {
+ $60 = HEAP32[9936]|0;
+ $61 = ($60|0)==($0|0);
+ if ($61) {
+ $$ph$i25 = 39744;
+ label = 39;
+ } else {
+ $62 = HEAP32[9921]|0;
+ $63 = ($62|0)==($0|0);
+ if ($63) {
+ $$ph$i25 = 39684;
+ label = 39;
+ } else {
+ $64 = HEAP32[9952]|0;
+ $65 = ($64|0)==($0|0);
+ if ($65) {
+ $$ph$i25 = 39808;
+ label = 39;
+ } else {
+ $66 = HEAP32[9968]|0;
+ $67 = ($66|0)==($0|0);
+ if ($67) {
+ $$ph$i25 = 39872;
+ label = 39;
+ } else {
+ $68 = HEAP32[9871]|0;
+ $69 = ($68|0)==($0|0);
+ if ($69) {
+ $$ph$i25 = 39484;
+ label = 39;
+ } else {
+ $83 = 16777285;
+ }
+ }
+ }
+ }
+ }
+ }
+ do {
+ if ((label|0) == 39) {
+ $70 = ((($$ph$i25)) + 4|0);
+ $71 = HEAP8[$70>>0]|0;
+ $72 = $71 & 1;
+ $73 = ($72<<24>>24)==(0);
+ $74 = ((($$ph$i25)) + 48|0);
+ $75 = HEAP32[$74>>2]|0;
+ $76 = ($75|0)==(0|0);
+ if (!($73)) {
+ $phitmp = $76 ? 16777285 : 16777221;
+ $83 = $phitmp;
+ break;
+ }
+ if ($76) {
+ $83 = 16777285;
+ } else {
+ $78 = (FUNCTION_TABLE_iiii[$75 & 127]($0,$77,0)|0);
+ $79 = ($78|0)==(0);
+ $80 = $78 & 65535;
+ $81 = $80 | 16777216;
+ $spec$select = $79 ? 0 : $81;
+ $83 = $spec$select;
+ }
+ }
+ } while(0);
+ $82 = $83 & 65535;
+ $$1 = $82;
+ STACKTOP = sp;return ($$1|0);
+ break;
+ }
+ default: {
+ $$1 = 61;
+ STACKTOP = sp;return ($$1|0);
+ }
+ }
+ return (0)|0;
+}
+function __gcry_md_selftest($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$0 = 0, $$ph = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
+ var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp20 = 0, $spec$select$i$i = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $3 = HEAP32[9908]|0;
+ $4 = ($3|0)==($0|0);
+ if ($4) {
+ $$ph = 39632;
+ label = 7;
+ } else {
+ $5 = HEAP32[9936]|0;
+ $6 = ($5|0)==($0|0);
+ if ($6) {
+ $$ph = 39744;
+ label = 7;
+ } else {
+ $7 = HEAP32[9921]|0;
+ $8 = ($7|0)==($0|0);
+ if ($8) {
+ $$ph = 39684;
+ label = 7;
+ } else {
+ $9 = HEAP32[9952]|0;
+ $10 = ($9|0)==($0|0);
+ if ($10) {
+ $$ph = 39808;
+ label = 7;
+ } else {
+ $11 = HEAP32[9968]|0;
+ $12 = ($11|0)==($0|0);
+ if ($12) {
+ $$ph = 39872;
+ label = 7;
+ } else {
+ $13 = HEAP32[9871]|0;
+ $14 = ($13|0)==($0|0);
+ if ($14) {
+ $$ph = 39484;
+ label = 7;
+ } else {
+ $25 = 0;$30 = 0;$35 = 69;
+ label = 11;
+ }
+ }
+ }
+ }
+ }
+ }
+ do {
+ if ((label|0) == 7) {
+ $15 = ((($$ph)) + 4|0);
+ $16 = HEAP8[$15>>0]|0;
+ $17 = $16 & 1;
+ $18 = ($17<<24>>24)==(0);
+ $19 = ((($$ph)) + 48|0);
+ $20 = HEAP32[$19>>2]|0;
+ $21 = ($20|0)==(0|0);
+ if (!($18)) {
+ $phitmp20 = $21 ? 69 : 5;
+ $25 = $$ph;$30 = 1;$35 = $phitmp20;
+ label = 11;
+ break;
+ }
+ if ($21) {
+ $25 = $$ph;$30 = 1;$35 = 69;
+ label = 11;
+ } else {
+ $22 = (FUNCTION_TABLE_iiii[$20 & 127]($0,$1,$2)|0);
+ $$0 = $22;
+ }
+ }
+ } while(0);
+ if ((label|0) == 11) {
+ $23 = ($2|0)==(0|0);
+ if ($23) {
+ $$0 = $35;
+ } else {
+ if ($30) {
+ $24 = ((($25)) + 4|0);
+ $26 = HEAP8[$24>>0]|0;
+ $27 = $26 & 1;
+ $28 = ($27<<24>>24)==(0);
+ if ($28) {
+ $31 = 59812;
+ } else {
+ label = 14;
+ }
+ } else {
+ label = 14;
+ }
+ if ((label|0) == 14) {
+ $29 = $30 ? 59773 : 59792;
+ $31 = $29;
+ }
+ FUNCTION_TABLE_viiii[$2 & 63](63225,$0,59834,$31);
+ $$0 = $35;
+ }
+ }
+ $32 = ($$0|0)==(0);
+ $33 = $$0 & 65535;
+ $34 = $33 | 16777216;
+ $spec$select$i$i = $32 ? 0 : $34;
+ return ($spec$select$i$i|0);
+}
+function __gcry_md_init() {
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ return 0;
+}
+function __gcry_primegen_init() {
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ return 0;
+}
+function __gcry_register_primegen_progress($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ HEAP32[18114] = $0;
+ HEAP32[18115] = $1;
+ return;
+}
+function __gcry_generate_secret_prime($0,$1,$2,$3) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ var $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $4 = (_gen_prime($0,1,$1,$2,$3)|0);
+ $5 = HEAP32[18114]|0;
+ $6 = ($5|0)==(0|0);
+ if ($6) {
+ return ($4|0);
+ }
+ $7 = HEAP32[18115]|0;
+ FUNCTION_TABLE_viiiii[$5 & 127]($7,59288,10,0,0);
+ return ($4|0);
+}
+function _gen_prime($0,$1,$2,$3,$4) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ var $$087109 = 0, $$087109$us = 0, $$092107 = 0, $$092107$us = 0, $$093104 = 0, $$1 = 0, $$1$us = 0, $$194106 = 0, $$194106$us = 0, $$lcssa = 0, $$lcssa$us = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0;
+ var $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0;
+ var $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0;
+ var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0;
+ var $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0;
+ var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $vararg_buffer1 = sp + 8|0;
+ $vararg_buffer = sp;
+ $5 = sp + 12|0;
+ $6 = ($0>>>0)<(16);
+ if ($6) {
+ HEAP32[$vararg_buffer>>2] = 16;
+ __gcry_log_fatal(59297,$vararg_buffer);
+ // unreachable;
+ }
+ $7 = (__gcry_xmalloc(2672)|0);
+ $8 = (__gcry_mpi_alloc_set_ui(2)|0);
+ $9 = (__gcry_mpi_alloc_set_ui(3)|0);
+ $10 = ($1|0)!=(0);
+ if ($10) {
+ $11 = (__gcry_mpi_snew($0)|0);
+ $13 = $11;
+ } else {
+ $12 = (__gcry_mpi_new($0)|0);
+ $13 = $12;
+ }
+ $14 = (__gcry_mpi_alloc_like($13)|0);
+ $15 = (__gcry_mpi_alloc_like($13)|0);
+ $16 = (__gcry_mpi_alloc_like($13)|0);
+ HEAP32[$5>>2] = 0;
+ $17 = (($0) + -1)|0;
+ $18 = (($0) + -2)|0;
+ $19 = (($17) - ($1))|0;
+ $20 = ($3|0)==(0|0);
+ L8: while(1) {
+ __gcry_mpi_randomize($13,$0,$2);
+ __gcry_mpi_set_highbit($13,$17);
+ if ($10) {
+ __gcry_mpi_set_bit($13,$18);
+ }
+ __gcry_mpi_set_bit($13,0);
+ $$093104 = 0;
+ while(1) {
+ $21 = (3184 + ($$093104<<1)|0);
+ $22 = HEAP16[$21>>1]|0;
+ $23 = $22&65535;
+ $24 = (__gcry_mpi_fdiv_r_ui(0,$13,$23)|0);
+ $25 = (($7) + ($$093104<<2)|0);
+ HEAP32[$25>>2] = $24;
+ $26 = (($$093104) + 1)|0;
+ $27 = ($26|0)==(668);
+ if ($27) {
+ break;
+ } else {
+ $$093104 = $26;
+ }
+ }
+ L16: do {
+ if ($20) {
+ $$087109$us = 0;$$092107$us = 0;
+ while(1) {
+ $$194106$us = 0;$37 = 3;
+ while(1) {
+ $33 = (($7) + ($$194106$us<<2)|0);
+ $34 = HEAP32[$33>>2]|0;
+ $35 = (($34) + ($$092107$us))|0;
+ $36 = ($35>>>0)<($37>>>0);
+ if ($36) {
+ $$lcssa$us = $35;
+ } else {
+ $39 = $34;
+ while(1) {
+ $38 = (($39) - ($37))|0;
+ $40 = (($38) + ($$092107$us))|0;
+ $41 = ($40>>>0)<($37>>>0);
+ if ($41) {
+ break;
+ } else {
+ $39 = $38;
+ }
+ }
+ HEAP32[$33>>2] = $38;
+ $$lcssa$us = $40;
+ }
+ $42 = ($$lcssa$us|0)==(0);
+ $29 = (($$194106$us) + 1)|0;
+ if ($42) {
+ $$1$us = $$087109$us;
+ break;
+ }
+ $28 = (3184 + ($29<<1)|0);
+ $30 = HEAP16[$28>>1]|0;
+ $31 = $30&65535;
+ $32 = ($29|0)==(668);
+ if ($32) {
+ label = 20;
+ break;
+ } else {
+ $$194106$us = $29;$37 = $31;
+ }
+ }
+ if ((label|0) == 20) {
+ label = 0;
+ __gcry_mpi_add_ui($16,$13,$$092107$us);
+ $43 = HEAP32[$5>>2]|0;
+ $44 = (($43) + 1)|0;
+ HEAP32[$5>>2] = $44;
+ __gcry_mpi_sub_ui($15,$16,1);
+ __gcry_mpi_powm($14,$8,$15,$16);
+ $45 = (__gcry_mpi_cmp_ui($14,1)|0);
+ $46 = ($45|0)==(0);
+ if ($46) {
+ $47 = (_is_prime($16,5,$5)|0);
+ $48 = ($47|0)==(0);
+ if (!($48)) {
+ break;
+ }
+ }
+ $51 = (($$087109$us) + 1)|0;
+ $52 = ($51|0)==(10);
+ if ($52) {
+ $53 = HEAP32[18114]|0;
+ $54 = ($53|0)==(0|0);
+ if ($54) {
+ $$1$us = 0;
+ } else {
+ $55 = HEAP32[18115]|0;
+ FUNCTION_TABLE_viiiii[$53 & 127]($55,59288,46,0,0);
+ $$1$us = 0;
+ }
+ } else {
+ $$1$us = $51;
+ }
+ }
+ $56 = (($$092107$us) + 2)|0;
+ $57 = ($56>>>0)<(20000);
+ if ($57) {
+ $$087109$us = $$1$us;$$092107$us = $56;
+ } else {
+ break L16;
+ }
+ }
+ $49 = (__gcry_mpi_test_bit($16,$19)|0);
+ $50 = ($49|0)==(0);
+ if ($50) {
+ label = 38;
+ } else {
+ label = 51;
+ break L8;
+ }
+ } else {
+ $$087109 = 0;$$092107 = 0;
+ while(1) {
+ $$194106 = 0;$67 = 3;
+ while(1) {
+ $63 = (($7) + ($$194106<<2)|0);
+ $64 = HEAP32[$63>>2]|0;
+ $65 = (($64) + ($$092107))|0;
+ $66 = ($65>>>0)<($67>>>0);
+ if ($66) {
+ $$lcssa = $65;
+ } else {
+ $69 = $64;
+ while(1) {
+ $68 = (($69) - ($67))|0;
+ $70 = (($68) + ($$092107))|0;
+ $71 = ($70>>>0)<($67>>>0);
+ if ($71) {
+ break;
+ } else {
+ $69 = $68;
+ }
+ }
+ HEAP32[$63>>2] = $68;
+ $$lcssa = $70;
+ }
+ $72 = ($$lcssa|0)==(0);
+ $59 = (($$194106) + 1)|0;
+ if ($72) {
+ $$1 = $$087109;
+ break;
+ }
+ $58 = (3184 + ($59<<1)|0);
+ $60 = HEAP16[$58>>1]|0;
+ $61 = $60&65535;
+ $62 = ($59|0)==(668);
+ if ($62) {
+ label = 35;
+ break;
+ } else {
+ $$194106 = $59;$67 = $61;
+ }
+ }
+ if ((label|0) == 35) {
+ label = 0;
+ __gcry_mpi_add_ui($16,$13,$$092107);
+ $73 = HEAP32[$5>>2]|0;
+ $74 = (($73) + 1)|0;
+ HEAP32[$5>>2] = $74;
+ __gcry_mpi_sub_ui($15,$16,1);
+ __gcry_mpi_powm($14,$8,$15,$16);
+ $75 = (__gcry_mpi_cmp_ui($14,1)|0);
+ $76 = ($75|0)==(0);
+ if ($76) {
+ $77 = (_is_prime($16,5,$5)|0);
+ $78 = ($77|0)==(0);
+ if (!($78)) {
+ $79 = (__gcry_mpi_test_bit($16,$19)|0);
+ $80 = ($79|0)==(0);
+ if ($80) {
+ label = 38;
+ break L16;
+ }
+ $84 = (FUNCTION_TABLE_iii[$3 & 127]($4,$16)|0);
+ $85 = ($84|0)==(0);
+ if ($85) {
+ label = 51;
+ break L8;
+ }
+ $86 = HEAP32[18114]|0;
+ $87 = ($86|0)==(0|0);
+ if (!($87)) {
+ $88 = HEAP32[18115]|0;
+ FUNCTION_TABLE_viiiii[$86 & 127]($88,59288,47,0,0);
+ }
+ }
+ }
+ $89 = (($$087109) + 1)|0;
+ $90 = ($89|0)==(10);
+ if ($90) {
+ $91 = HEAP32[18114]|0;
+ $92 = ($91|0)==(0|0);
+ if ($92) {
+ $$1 = 0;
+ } else {
+ $93 = HEAP32[18115]|0;
+ FUNCTION_TABLE_viiiii[$91 & 127]($93,59288,46,0,0);
+ $$1 = 0;
+ }
+ } else {
+ $$1 = $89;
+ }
+ }
+ $94 = (($$092107) + 2)|0;
+ $95 = ($94>>>0)<(20000);
+ if ($95) {
+ $$087109 = $$1;$$092107 = $94;
+ } else {
+ break;
+ }
+ }
+ }
+ } while(0);
+ if ((label|0) == 38) {
+ label = 0;
+ $81 = HEAP32[18114]|0;
+ $82 = ($81|0)==(0|0);
+ if (!($82)) {
+ $83 = HEAP32[18115]|0;
+ FUNCTION_TABLE_viiiii[$81 & 127]($83,59288,10,0,0);
+ }
+ __gcry_log_debug(59344,$vararg_buffer1);
+ }
+ $96 = HEAP32[18114]|0;
+ $97 = ($96|0)==(0|0);
+ if (!($97)) {
+ $98 = HEAP32[18115]|0;
+ FUNCTION_TABLE_viiiii[$96 & 127]($98,59288,58,0,0);
+ }
+ }
+ if ((label|0) == 51) {
+ __gcry_mpi_free($8);
+ __gcry_mpi_free($9);
+ __gcry_mpi_free($14);
+ __gcry_mpi_free($15);
+ __gcry_mpi_free($13);
+ __gcry_free($7);
+ STACKTOP = sp;return ($16|0);
+ }
+ return (0)|0;
+}
+function _is_prime($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$074 = 0, $$07580 = 0, $$07580$us = 0, $$07678$us = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
+ var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0;
+ var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0;
+ var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $7 = 0, $8 = 0, $9 = 0, $spec$select = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $3 = ((($0)) + 4|0);
+ $4 = HEAP32[$3>>2]|0;
+ $5 = (__gcry_mpi_alloc($4)|0);
+ $6 = HEAP32[$3>>2]|0;
+ $7 = (__gcry_mpi_alloc($6)|0);
+ $8 = HEAP32[$3>>2]|0;
+ $9 = (__gcry_mpi_alloc($8)|0);
+ $10 = HEAP32[$3>>2]|0;
+ $11 = (__gcry_mpi_alloc($10)|0);
+ $12 = (__gcry_mpi_alloc_set_ui(2)|0);
+ $13 = (__gcry_mpi_get_nbits($0)|0);
+ $14 = ($1|0)>(5);
+ $spec$select = $14 ? $1 : 5;
+ __gcry_mpi_sub_ui($11,$0,1);
+ $15 = (__gcry_mpi_copy($11)|0);
+ $16 = (__gcry_mpi_trailing_zeros($15)|0);
+ __gcry_mpi_tdiv_q_2exp($15,$15,$16);
+ $17 = ($spec$select|0)==(0);
+ L1: do {
+ if ($17) {
+ $$074 = 1;
+ } else {
+ $18 = (($13) + -2)|0;
+ $19 = ($16>>>0)>(1);
+ if (!($19)) {
+ $$07580 = 0;
+ while(1) {
+ $46 = HEAP32[$2>>2]|0;
+ $47 = (($46) + 1)|0;
+ HEAP32[$2>>2] = $47;
+ $48 = ($$07580|0)==(0);
+ if ($48) {
+ (__gcry_mpi_set_ui($5,2)|0);
+ } else {
+ __gcry_mpi_randomize($5,$13,0);
+ $49 = (__gcry_mpi_test_bit($5,$18)|0);
+ $50 = ($49|0)==(0);
+ __gcry_mpi_set_highbit($5,$18);
+ if ($50) {
+ __gcry_mpi_clear_bit($5,$18);
+ }
+ $51 = (__gcry_mpi_cmp($5,$11)|0);
+ $52 = ($51|0)<(0);
+ if (!($52)) {
+ label = 27;
+ break;
+ }
+ $53 = (__gcry_mpi_cmp_ui($5,1)|0);
+ $54 = ($53|0)>(0);
+ if (!($54)) {
+ label = 27;
+ break;
+ }
+ }
+ __gcry_mpi_powm($7,$5,$15,$0);
+ $55 = (__gcry_mpi_cmp_ui($7,1)|0);
+ $56 = ($55|0)==(0);
+ if (!($56)) {
+ $57 = (__gcry_mpi_cmp($7,$11)|0);
+ $58 = ($57|0)==(0);
+ if (!($58)) {
+ $59 = (__gcry_mpi_cmp($7,$11)|0);
+ $60 = ($59|0)==(0);
+ if (!($60)) {
+ $$074 = 0;
+ break L1;
+ }
+ }
+ }
+ $61 = HEAP32[18114]|0;
+ $62 = ($61|0)==(0|0);
+ if (!($62)) {
+ $63 = HEAP32[18115]|0;
+ FUNCTION_TABLE_viiiii[$61 & 127]($63,59288,43,0,0);
+ }
+ $64 = (($$07580) + 1)|0;
+ $65 = ($64>>>0)<($spec$select>>>0);
+ if ($65) {
+ $$07580 = $64;
+ } else {
+ $$074 = 1;
+ break L1;
+ }
+ }
+ if ((label|0) == 27) {
+ __gcry_assert_failed(59374,59446,951,59457);
+ // unreachable;
+ }
+ }
+ $$07580$us = 0;
+ while(1) {
+ $20 = HEAP32[$2>>2]|0;
+ $21 = (($20) + 1)|0;
+ HEAP32[$2>>2] = $21;
+ $22 = ($$07580$us|0)==(0);
+ if ($22) {
+ (__gcry_mpi_set_ui($5,2)|0);
+ } else {
+ __gcry_mpi_randomize($5,$13,0);
+ $23 = (__gcry_mpi_test_bit($5,$18)|0);
+ $24 = ($23|0)==(0);
+ __gcry_mpi_set_highbit($5,$18);
+ if ($24) {
+ __gcry_mpi_clear_bit($5,$18);
+ }
+ $25 = (__gcry_mpi_cmp($5,$11)|0);
+ $26 = ($25|0)<(0);
+ if (!($26)) {
+ label = 27;
+ break;
+ }
+ $27 = (__gcry_mpi_cmp_ui($5,1)|0);
+ $28 = ($27|0)>(0);
+ if (!($28)) {
+ label = 27;
+ break;
+ }
+ }
+ __gcry_mpi_powm($7,$5,$15,$0);
+ $29 = (__gcry_mpi_cmp_ui($7,1)|0);
+ $30 = ($29|0)==(0);
+ if (!($30)) {
+ $31 = (__gcry_mpi_cmp($7,$11)|0);
+ $32 = ($31|0)==(0);
+ if (!($32)) {
+ $$07678$us = 1;
+ while(1) {
+ $35 = (__gcry_mpi_cmp($7,$11)|0);
+ $36 = ($35|0)==(0);
+ if ($36) {
+ break;
+ }
+ __gcry_mpi_powm($7,$7,$12,$0);
+ $37 = (__gcry_mpi_cmp_ui($7,1)|0);
+ $38 = ($37|0)==(0);
+ $34 = (($$07678$us) + 1)|0;
+ if ($38) {
+ $$074 = 0;
+ break L1;
+ }
+ $33 = ($34>>>0)<($16>>>0);
+ if ($33) {
+ $$07678$us = $34;
+ } else {
+ break;
+ }
+ }
+ $39 = (__gcry_mpi_cmp($7,$11)|0);
+ $40 = ($39|0)==(0);
+ if (!($40)) {
+ $$074 = 0;
+ break L1;
+ }
+ }
+ }
+ $41 = HEAP32[18114]|0;
+ $42 = ($41|0)==(0|0);
+ if (!($42)) {
+ $43 = HEAP32[18115]|0;
+ FUNCTION_TABLE_viiiii[$41 & 127]($43,59288,43,0,0);
+ }
+ $44 = (($$07580$us) + 1)|0;
+ $45 = ($44>>>0)<($spec$select>>>0);
+ if ($45) {
+ $$07580$us = $44;
+ } else {
+ $$074 = 1;
+ break L1;
+ }
+ }
+ if ((label|0) == 27) {
+ __gcry_assert_failed(59374,59446,951,59457);
+ // unreachable;
+ }
+ }
+ } while(0);
+ __gcry_mpi_free($5);
+ __gcry_mpi_free($7);
+ __gcry_mpi_free($9);
+ __gcry_mpi_free($11);
+ __gcry_mpi_free($15);
+ __gcry_mpi_free($12);
+ return ($$074|0);
+}
+function _check_prime($0,$1,$2,$3,$4) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ var $$03539 = 0, $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
+ var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $5 = sp;
+ HEAP32[$5>>2] = 0;
+ $$03539 = 0;$11 = 3;
+ while(1) {
+ $12 = (__gcry_mpi_divisible_ui($0,$11)|0);
+ $13 = ($12|0)==(0);
+ $7 = (($$03539) + 1)|0;
+ if (!($13)) {
+ label = 4;
+ break;
+ }
+ $6 = (3184 + ($7<<1)|0);
+ $8 = HEAP16[$6>>1]|0;
+ $9 = $8&65535;
+ $10 = ($7|0)==(668);
+ if ($10) {
+ break;
+ } else {
+ $$03539 = $7;$11 = $9;
+ }
+ }
+ if ((label|0) == 4) {
+ $14 = (__gcry_mpi_cmp_ui($0,$11)|0);
+ $15 = ($14|0)==(0);
+ $16 = $15&1;
+ $$1 = $16;
+ STACKTOP = sp;return ($$1|0);
+ }
+ $17 = (__gcry_mpi_alloc_like($0)|0);
+ $18 = (__gcry_mpi_alloc_like($0)|0);
+ __gcry_mpi_sub_ui($18,$0,1);
+ __gcry_mpi_powm($17,$1,$18,$0);
+ __gcry_mpi_free($18);
+ $19 = (__gcry_mpi_cmp_ui($17,1)|0);
+ $20 = ($19|0)==(0);
+ __gcry_mpi_free($17);
+ if (!($20)) {
+ $21 = HEAP32[18114]|0;
+ $22 = ($21|0)==(0|0);
+ if ($22) {
+ $$1 = 0;
+ STACKTOP = sp;return ($$1|0);
+ }
+ $23 = HEAP32[18115]|0;
+ FUNCTION_TABLE_viiiii[$21 & 127]($23,59288,46,0,0);
+ $$1 = 0;
+ STACKTOP = sp;return ($$1|0);
+ }
+ $24 = ($3|0)!=(0|0);
+ if ($24) {
+ $25 = (FUNCTION_TABLE_iiii[$3 & 127]($4,2,$0)|0);
+ $26 = ($25|0)==(0);
+ if (!($26)) {
+ label = 10;
+ }
+ } else {
+ label = 10;
+ }
+ if ((label|0) == 10) {
+ $27 = (_is_prime($0,$2,$5)|0);
+ $28 = ($27|0)==(0);
+ if (!($28)) {
+ if (!($24)) {
+ $$1 = 1;
+ STACKTOP = sp;return ($$1|0);
+ }
+ $29 = (FUNCTION_TABLE_iiii[$3 & 127]($4,1,$0)|0);
+ $30 = ($29|0)==(0);
+ if (!($30)) {
+ $$1 = 1;
+ STACKTOP = sp;return ($$1|0);
+ }
+ }
+ }
+ $31 = HEAP32[18114]|0;
+ $32 = ($31|0)==(0|0);
+ if ($32) {
+ $$1 = 0;
+ STACKTOP = sp;return ($$1|0);
+ }
+ $33 = HEAP32[18115]|0;
+ FUNCTION_TABLE_viiiii[$31 & 127]($33,59288,46,0,0);
+ $$1 = 0;
+ STACKTOP = sp;return ($$1|0);
+}
+function __gcry_derive_x931_prime($0,$1,$2,$3,$4,$5) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ $5 = $5|0;
+ var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
+ var $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond3 = 0, $or$cond3$not = 0, $or$cond93 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $6 = ($0|0)!=(0|0);
+ $7 = ($1|0)!=(0|0);
+ $or$cond = $6 & $7;
+ $8 = ($2|0)!=(0|0);
+ $or$cond3 = $or$cond & $8;
+ $or$cond3$not = $or$cond3 ^ 1;
+ $9 = ($3|0)==(0|0);
+ $or$cond93 = $9 | $or$cond3$not;
+ if ($or$cond93) {
+ $$0 = 0;
+ return ($$0|0);
+ }
+ $10 = (__gcry_mpi_test_bit($3,0)|0);
+ $11 = ($10|0)==(0);
+ if ($11) {
+ $$0 = 0;
+ return ($$0|0);
+ }
+ $12 = (_find_x931_prime($1)|0);
+ $13 = (_find_x931_prime($2)|0);
+ $14 = (__gcry_mpi_alloc_like($0)|0);
+ __gcry_mpi_mul($14,$12,$13);
+ $15 = (__gcry_mpi_alloc_like($12)|0);
+ (__gcry_mpi_invm($15,$13,$12)|0);
+ __gcry_mpi_mul($15,$15,$13);
+ $16 = (__gcry_mpi_alloc_like($13)|0);
+ (__gcry_mpi_invm($16,$12,$13)|0);
+ __gcry_mpi_mul($16,$16,$12);
+ __gcry_mpi_sub($15,$15,$16);
+ $17 = ((($15)) + 8|0);
+ $18 = HEAP32[$17>>2]|0;
+ $19 = ($18|0)==(0);
+ if (!($19)) {
+ __gcry_mpi_add($15,$15,$14);
+ }
+ __gcry_mpi_subm($16,$15,$0,$14);
+ __gcry_mpi_add($16,$16,$0);
+ __gcry_mpi_free($15);
+ $20 = (__gcry_mpi_cmp($16,$0)|0);
+ $21 = ($20|0)<(0);
+ if ($21) {
+ __gcry_mpi_add($16,$16,$14);
+ }
+ $22 = (__gcry_mpi_alloc_set_ui(2)|0);
+ $23 = (__gcry_mpi_alloc_like($16)|0);
+ __gcry_mpi_sub_ui($14,$14,1);
+ __gcry_mpi_sub_ui($16,$16,1);
+ while(1) {
+ $24 = (__gcry_mpi_gcd($23,$3,$16)|0);
+ __gcry_mpi_add_ui($16,$16,1);
+ $25 = ($24|0)==(0);
+ if ($25) {
+ $26 = HEAP32[18114]|0;
+ $27 = ($26|0)==(0|0);
+ if (!($27)) {
+ $28 = HEAP32[18115]|0;
+ FUNCTION_TABLE_viiiii[$26 & 127]($28,59288,47,0,0);
+ }
+ } else {
+ $29 = (_check_prime($16,$22,64,0,0)|0);
+ $30 = ($29|0)==(0);
+ if (!($30)) {
+ break;
+ }
+ }
+ __gcry_mpi_add($16,$16,$14);
+ }
+ __gcry_mpi_free($23);
+ __gcry_mpi_free($22);
+ __gcry_mpi_free($14);
+ $31 = HEAP32[18114]|0;
+ $32 = ($31|0)==(0|0);
+ if (!($32)) {
+ $33 = HEAP32[18115]|0;
+ FUNCTION_TABLE_viiiii[$31 & 127]($33,59288,10,0,0);
+ }
+ $34 = ($4|0)==(0|0);
+ if ($34) {
+ __gcry_mpi_free($12);
+ } else {
+ HEAP32[$4>>2] = $12;
+ }
+ $35 = ($5|0)==(0|0);
+ if ($35) {
+ __gcry_mpi_free($13);
+ $$0 = $16;
+ return ($$0|0);
+ } else {
+ HEAP32[$5>>2] = $13;
+ $$0 = $16;
+ return ($$0|0);
+ }
+ return (0)|0;
+}
+function _find_x931_prime($0) {
+ $0 = $0|0;
+ var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = (__gcry_mpi_alloc_set_ui(2)|0);
+ $2 = (__gcry_mpi_copy($0)|0);
+ __gcry_mpi_set_bit($2,0);
+ $3 = (_check_prime($2,$1,64,0,0)|0);
+ $4 = ($3|0)==(0);
+ if (!($4)) {
+ __gcry_mpi_free($1);
+ return ($2|0);
+ }
+ while(1) {
+ __gcry_mpi_add_ui($2,$2,2);
+ $5 = (_check_prime($2,$1,64,0,0)|0);
+ $6 = ($5|0)==(0);
+ if (!($6)) {
+ break;
+ }
+ }
+ __gcry_mpi_free($1);
+ return ($2|0);
+}
+function __gcry_pk_util_parse_flaglist($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$0108 = 0, $$087$lcssa = 0, $$087107 = 0, $$089$lcssa = 0, $$089106 = 0, $$091105 = 0, $$091105$in = 0, $$092$lcssa = 0, $$092104 = 0, $$1 = 0, $$188 = 0, $$190 = 0, $$193 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0;
+ var $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0;
+ var $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0;
+ var $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0;
+ var $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $9 = 0, $or$cond = 0, $or$cond11 = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, $spec$select = 0;
+ var $spec$select100 = 0, $spec$select101 = 0, $spec$select102 = 0, $spec$select103 = 0, $spec$select94 = 0, $spec$select95 = 0, $spec$select96 = 0, $spec$select97 = 0, $spec$select98 = 0, $spec$select99 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $3 = sp;
+ $4 = ($0|0)==(0|0);
+ if ($4) {
+ $$087$lcssa = 0;$$089$lcssa = 5;$$092$lcssa = 0;
+ } else {
+ $5 = (__gcry_sexp_length($0)|0);
+ $6 = ($5|0)>(1);
+ if ($6) {
+ $$0108 = 0;$$087107 = 0;$$089106 = 5;$$091105$in = $5;$$092104 = 0;
+ while(1) {
+ $$091105 = (($$091105$in) + -1)|0;
+ $7 = (__gcry_sexp_nth_data($0,$$091105,$3)|0);
+ $8 = ($7|0)==(0|0);
+ L6: do {
+ if ($8) {
+ $$1 = $$0108;$$188 = $$087107;$$190 = $$089106;$$193 = $$092104;
+ } else {
+ $9 = HEAP32[$3>>2]|0;
+ do {
+ switch ($9|0) {
+ case 3: {
+ $10 = (_memcmp($7,59466,3)|0);
+ $11 = ($10|0)==(0);
+ $12 = ($$089106|0)==(5);
+ $or$cond = $12 & $11;
+ if ($or$cond) {
+ $13 = $$087107 | 4;
+ $$1 = $$0108;$$188 = $13;$$190 = 4;$$193 = $$092104;
+ break L6;
+ }
+ $14 = (_memcmp($7,59470,3)|0);
+ $15 = ($14|0)==(0);
+ $or$cond3 = $12 & $15;
+ if ($or$cond3) {
+ $16 = $$087107 | 16;
+ $$1 = $$0108;$$188 = $16;$$190 = 0;$$193 = $$092104;
+ break L6;
+ } else {
+ $17 = ($$0108|0)==(0);
+ $spec$select = $17 ? 72 : $$092104;
+ $$1 = $$0108;$$188 = $$087107;$$190 = $$089106;$$193 = $spec$select;
+ break L6;
+ }
+ break;
+ }
+ case 4: {
+ $18 = (_memcmp($7,59474,4)|0);
+ $19 = ($18|0)==(0);
+ if ($19) {
+ $20 = $$087107 | 1024;
+ $$1 = $$0108;$$188 = $20;$$190 = $$089106;$$193 = $$092104;
+ break L6;
+ }
+ $21 = (_memcmp($7,59479,4)|0);
+ $22 = ($21|0)==(0);
+ $23 = ($$089106|0)==(5);
+ $or$cond5 = $23 & $22;
+ if ($or$cond5) {
+ $24 = $$087107 | 4;
+ $$1 = $$0108;$$188 = $24;$$190 = 3;$$193 = $$092104;
+ break L6;
+ }
+ $25 = (_memcmp($7,67440,4)|0);
+ $26 = ($25|0)==(0);
+ if ($26) {
+ $27 = $$087107 | 8192;
+ $$1 = $$0108;$$188 = $27;$$190 = 0;$$193 = $$092104;
+ break L6;
+ } else {
+ $28 = ($$0108|0)==(0);
+ $spec$select94 = $28 ? 72 : $$092104;
+ $$1 = $$0108;$$188 = $$087107;$$190 = $$089106;$$193 = $spec$select94;
+ break L6;
+ }
+ break;
+ }
+ case 5: {
+ $29 = (_memcmp($7,67434,5)|0);
+ $30 = ($29|0)==(0);
+ if ($30) {
+ $31 = $$087107 | 4096;
+ $$1 = $$0108;$$188 = $31;$$190 = 0;$$193 = $$092104;
+ break L6;
+ }
+ $32 = (_memcmp($7,59484,5)|0);
+ $33 = ($32|0)==(0);
+ $34 = ($$089106|0)==(5);
+ $or$cond7 = $34 & $33;
+ if ($or$cond7) {
+ $35 = $$087107 | 4;
+ $$1 = $$0108;$$188 = $35;$$190 = 1;$$193 = $$092104;
+ break L6;
+ }
+ $36 = (_memcmp($7,59490,5)|0);
+ $37 = ($36|0)==(0);
+ if ($37) {
+ $38 = $$087107 | 512;
+ $$1 = $$0108;$$188 = $38;$$190 = $$089106;$$193 = $$092104;
+ break L6;
+ } else {
+ $39 = ($$0108|0)==(0);
+ $spec$select95 = $39 ? 72 : $$092104;
+ $$1 = $$0108;$$188 = $$087107;$$190 = $$089106;$$193 = $spec$select95;
+ break L6;
+ }
+ break;
+ }
+ case 6: {
+ $40 = (_memcmp($7,59496,6)|0);
+ $41 = ($40|0)==(0);
+ if ($41) {
+ $42 = $$087107 | 2048;
+ $$1 = $$0108;$$188 = $42;$$190 = $$089106;$$193 = $$092104;
+ break L6;
+ } else {
+ $43 = ($$0108|0)==(0);
+ $spec$select96 = $43 ? 72 : $$092104;
+ $$1 = $$0108;$$188 = $$087107;$$190 = $$089106;$$193 = $spec$select96;
+ break L6;
+ }
+ break;
+ }
+ case 7: {
+ $44 = (_memcmp($7,59503,7)|0);
+ $45 = ($44|0)==(0);
+ if ($45) {
+ $46 = $$087107 | 2;
+ $$1 = $$0108;$$188 = $46;$$190 = $$089106;$$193 = $$092104;
+ break L6;
+ } else {
+ $47 = (_memcmp($7,59511,7)|0);
+ $48 = ($47|0)==(0);
+ $49 = ($$0108|0)!=(0);
+ $or$cond11 = $49 | $48;
+ $spec$select97 = $or$cond11 ? $$092104 : 72;
+ $$1 = $$0108;$$188 = $$087107;$$190 = $$089106;$$193 = $spec$select97;
+ break L6;
+ }
+ break;
+ }
+ case 8: {
+ $50 = (_memcmp($7,61924,8)|0);
+ $51 = ($50|0)==(0);
+ if ($51) {
+ $52 = $$087107 | 64;
+ $$1 = $$0108;$$188 = $52;$$190 = $$089106;$$193 = $$092104;
+ break L6;
+ } else {
+ $53 = ($$0108|0)==(0);
+ $spec$select98 = $53 ? 72 : $$092104;
+ $$1 = $$0108;$$188 = $$087107;$$190 = $$089106;$$193 = $spec$select98;
+ break L6;
+ }
+ break;
+ }
+ case 9: {
+ $54 = (_memcmp($7,59519,9)|0);
+ $55 = ($54|0)==(0);
+ $56 = ($$089106|0)==(5);
+ $or$cond9 = $56 & $55;
+ if ($or$cond9) {
+ $57 = $$087107 | 4;
+ $$1 = $$0108;$$188 = $57;$$190 = 2;$$193 = $$092104;
+ break L6;
+ } else {
+ $58 = ($$0108|0)==(0);
+ $spec$select99 = $58 ? 72 : $$092104;
+ $$1 = $$0108;$$188 = $$087107;$$190 = $$089106;$$193 = $spec$select99;
+ break L6;
+ }
+ break;
+ }
+ case 10: {
+ $59 = (_memcmp($7,59529,10)|0);
+ $60 = ($59|0)==(0);
+ if ($60) {
+ $$1 = 1;$$188 = $$087107;$$190 = $$089106;$$193 = $$092104;
+ break L6;
+ }
+ $61 = (_memcmp($7,59540,10)|0);
+ $62 = ($61|0)==(0);
+ if ($62) {
+ $63 = $$087107 | 16384;
+ $$1 = $$0108;$$188 = $63;$$190 = $$089106;$$193 = $$092104;
+ break L6;
+ } else {
+ $64 = ($$0108|0)==(0);
+ $spec$select100 = $64 ? 72 : $$092104;
+ $$1 = $$0108;$$188 = $$087107;$$190 = $$089106;$$193 = $spec$select100;
+ break L6;
+ }
+ break;
+ }
+ case 11: {
+ $65 = (_memcmp($7,59551,11)|0);
+ $66 = ($65|0)==(0);
+ if ($66) {
+ $67 = $$087107 | 1;
+ $$1 = $$0108;$$188 = $67;$$190 = $$089106;$$193 = $$092104;
+ break L6;
+ }
+ $68 = (_memcmp($7,59563,11)|0);
+ $69 = ($68|0)==(0);
+ if ($69) {
+ $70 = $$087107 | 128;
+ $$1 = $$0108;$$188 = $70;$$190 = $$089106;$$193 = $$092104;
+ break L6;
+ } else {
+ $71 = ($$0108|0)==(0);
+ $spec$select101 = $71 ? 72 : $$092104;
+ $$1 = $$0108;$$188 = $$087107;$$190 = $$089106;$$193 = $spec$select101;
+ break L6;
+ }
+ break;
+ }
+ case 13: {
+ $72 = (_memcmp($7,59575,13)|0);
+ $73 = ($72|0)==(0);
+ if ($73) {
+ $74 = $$087107 | 256;
+ $$1 = $$0108;$$188 = $74;$$190 = $$089106;$$193 = $$092104;
+ break L6;
+ }
+ $75 = (_memcmp($7,66452,13)|0);
+ $76 = ($75|0)==(0);
+ if ($76) {
+ $77 = $$087107 | 32;
+ $$1 = $$0108;$$188 = $77;$$190 = $$089106;$$193 = $$092104;
+ break L6;
+ } else {
+ $78 = ($$0108|0)==(0);
+ $spec$select102 = $78 ? 72 : $$092104;
+ $$1 = $$0108;$$188 = $$087107;$$190 = $$089106;$$193 = $spec$select102;
+ break L6;
+ }
+ break;
+ }
+ default: {
+ $79 = ($$0108|0)==(0);
+ $spec$select103 = $79 ? 72 : $$092104;
+ $$1 = $$0108;$$188 = $$087107;$$190 = $$089106;$$193 = $spec$select103;
+ break L6;
+ }
+ }
+ } while(0);
+ }
+ } while(0);
+ $80 = ($$091105$in|0)>(2);
+ if ($80) {
+ $$0108 = $$1;$$087107 = $$188;$$089106 = $$190;$$091105$in = $$091105;$$092104 = $$193;
+ } else {
+ $$087$lcssa = $$188;$$089$lcssa = $$190;$$092$lcssa = $$193;
+ break;
+ }
+ }
+ } else {
+ $$087$lcssa = 0;$$089$lcssa = 5;$$092$lcssa = 0;
+ }
+ }
+ $81 = ($1|0)==(0|0);
+ if (!($81)) {
+ HEAP32[$1>>2] = $$087$lcssa;
+ }
+ $82 = ($2|0)==(0|0);
+ if ($82) {
+ STACKTOP = sp;return ($$092$lcssa|0);
+ }
+ HEAP32[$2>>2] = $$089$lcssa;
+ STACKTOP = sp;return ($$092$lcssa|0);
+}
+function __gcry_pk_util_get_nbits($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $$0 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
+ $2 = sp;
+ $3 = sp + 52|0;
+ HEAP32[$1>>2] = 0;
+ $4 = (__gcry_sexp_find_token($0,59589,0)|0);
+ $5 = ($4|0)==(0|0);
+ if ($5) {
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $6 = (__gcry_sexp_nth_data($4,1,$3)|0);
+ $7 = ($6|0)==(0|0);
+ $8 = HEAP32[$3>>2]|0;
+ $9 = ($8>>>0)>(48);
+ $or$cond = $7 | $9;
+ if ($or$cond) {
+ __gcry_sexp_release($4);
+ $$0 = 65;
+ STACKTOP = sp;return ($$0|0);
+ } else {
+ _memcpy(($2|0),($6|0),($8|0))|0;
+ $10 = (($2) + ($8)|0);
+ HEAP8[$10>>0] = 0;
+ $11 = (_strtoul($2,0,0)|0);
+ HEAP32[$1>>2] = $11;
+ __gcry_sexp_release($4);
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+ }
+ return (0)|0;
+}
+function __gcry_pk_util_get_rsa_use_e($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $$0 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
+ $2 = sp;
+ $3 = sp + 52|0;
+ HEAP32[$1>>2] = 0;
+ $4 = (__gcry_sexp_find_token($0,59595,0)|0);
+ $5 = ($4|0)==(0|0);
+ if ($5) {
+ HEAP32[$1>>2] = 65537;
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $6 = (__gcry_sexp_nth_data($4,1,$3)|0);
+ $7 = ($6|0)==(0|0);
+ $8 = HEAP32[$3>>2]|0;
+ $9 = ($8>>>0)>(48);
+ $or$cond = $7 | $9;
+ if ($or$cond) {
+ __gcry_sexp_release($4);
+ $$0 = 65;
+ STACKTOP = sp;return ($$0|0);
+ } else {
+ _memcpy(($2|0),($6|0),($8|0))|0;
+ $10 = (($2) + ($8)|0);
+ HEAP8[$10>>0] = 0;
+ $11 = (_strtoul($2,0,0)|0);
+ HEAP32[$1>>2] = $11;
+ __gcry_sexp_release($4);
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+ }
+ return (0)|0;
+}
+function __gcry_pk_util_preparse_sigval($0,$1,$2,$3) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ var $$043 = 0, $$044 = 0, $$046 = 0, $$047 = 0, $$1 = 0, $$145 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0;
+ var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ HEAP32[$2>>2] = 0;
+ $4 = ($3|0)!=(0|0);
+ if ($4) {
+ HEAP32[$3>>2] = 0;
+ }
+ $5 = (__gcry_sexp_find_token($0,59605,0)|0);
+ $6 = ($5|0)==(0|0);
+ L4: do {
+ if ($6) {
+ $$046 = 65;$$1 = 0;$$145 = 0;
+ } else {
+ $7 = (__gcry_sexp_nth($5,1)|0);
+ $8 = ($7|0)==(0|0);
+ if ($8) {
+ $$046 = 68;$$1 = 0;$$145 = 0;
+ } else {
+ $9 = (__gcry_sexp_nth_string($7,0)|0);
+ $10 = ($9|0)==(0|0);
+ if ($10) {
+ $$046 = 65;$$1 = 0;$$145 = $7;
+ } else {
+ $11 = (_strcmp($9,64705)|0);
+ $12 = ($11|0)==(0);
+ if ($12) {
+ __gcry_sexp_release($7);
+ $13 = (__gcry_sexp_nth($5,2)|0);
+ $14 = ($13|0)==(0|0);
+ if ($14) {
+ $$046 = 65;$$1 = $9;$$145 = 0;
+ break;
+ }
+ __gcry_free($9);
+ $15 = (__gcry_sexp_nth_string($13,0)|0);
+ $16 = ($15|0)==(0|0);
+ if ($16) {
+ $$046 = 65;$$1 = 0;$$145 = $13;
+ break;
+ } else {
+ $$043 = $15;$$044 = $13;
+ }
+ } else {
+ $$043 = $9;$$044 = $7;
+ }
+ $17 = HEAP32[$1>>2]|0;
+ $18 = ($17|0)==(0|0);
+ if ($18) {
+ $$046 = 70;$$1 = $$043;$$145 = $$044;
+ } else {
+ $$047 = 0;$23 = $17;
+ while(1) {
+ $24 = (_strcasecmp($$043,$23)|0);
+ $25 = ($24|0)==(0);
+ $20 = (($$047) + 1)|0;
+ if ($25) {
+ break;
+ }
+ $19 = (($1) + ($20<<2)|0);
+ $21 = HEAP32[$19>>2]|0;
+ $22 = ($21|0)==(0|0);
+ if ($22) {
+ $$046 = 70;$$1 = $$043;$$145 = $$044;
+ break L4;
+ } else {
+ $$047 = $20;$23 = $21;
+ }
+ }
+ if ($4) {
+ $26 = (_strcmp($$043,67434)|0);
+ $27 = ($26|0)==(0);
+ if ($27) {
+ HEAP32[$3>>2] = 4096;
+ }
+ $28 = (_strcmp($$043,67440)|0);
+ $29 = ($28|0)==(0);
+ if ($29) {
+ HEAP32[$3>>2] = 8192;
+ }
+ }
+ HEAP32[$2>>2] = $$044;
+ $$046 = 0;$$1 = $$043;$$145 = 0;
+ }
+ }
+ }
+ }
+ } while(0);
+ __gcry_free($$1);
+ __gcry_sexp_release($$145);
+ __gcry_sexp_release($5);
+ return ($$046|0);
+}
+function __gcry_pk_util_preparse_encval($0,$1,$2,$3) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ var $$07296 = 0, $$075 = 0, $$174 = 0, $$195 = 0, $$2 = 0, $$3 = 0, $$4 = 0, $$5 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0;
+ var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0;
+ var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0;
+ var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $4 = sp + 4|0;
+ $5 = sp;
+ HEAP32[$5>>2] = 0;
+ HEAP32[$2>>2] = 0;
+ $6 = (__gcry_sexp_find_token($0,61094,0)|0);
+ $7 = ($6|0)==(0|0);
+ L1: do {
+ if ($7) {
+ $$2 = 0;$$4 = 0;$$5 = 65;
+ } else {
+ $8 = (__gcry_sexp_nth($6,1)|0);
+ $9 = ($8|0)==(0|0);
+ if ($9) {
+ $$2 = 0;$$4 = 0;$$5 = 68;
+ } else {
+ $10 = (__gcry_sexp_nth_string($8,0)|0);
+ $11 = ($10|0)==(0|0);
+ if ($11) {
+ $$2 = 0;$$4 = $8;$$5 = 65;
+ } else {
+ $12 = (_strcmp($10,64705)|0);
+ $13 = ($12|0)==(0);
+ if ($13) {
+ $14 = ((($3)) + 8|0);
+ $15 = (__gcry_pk_util_parse_flaglist($8,$5,$14)|0);
+ $16 = ($15|0)==(0);
+ if (!($16)) {
+ $$2 = $10;$$4 = $8;$$5 = $15;
+ break;
+ }
+ $17 = HEAP32[$14>>2]|0;
+ L8: do {
+ switch ($17|0) {
+ case 4: {
+ $$2 = $10;$$4 = $8;$$5 = 70;
+ break L1;
+ break;
+ }
+ case 3: {
+ __gcry_sexp_release($8);
+ $18 = (__gcry_sexp_find_token($6,59613,0)|0);
+ $19 = ($18|0)==(0|0);
+ if (!($19)) {
+ $20 = (__gcry_sexp_nth_data($18,1,$4)|0);
+ $21 = ($20|0)==(0|0);
+ if ($21) {
+ $$2 = $10;$$4 = $18;$$5 = 68;
+ break L1;
+ }
+ $22 = HEAP32[$4>>2]|0;
+ $23 = (_get_hash_algo($20,$22)|0);
+ $24 = ((($3)) + 16|0);
+ HEAP32[$24>>2] = $23;
+ $25 = ($23|0)==(0);
+ if ($25) {
+ $$2 = $10;$$4 = $18;$$5 = 5;
+ break L1;
+ }
+ }
+ __gcry_sexp_release($18);
+ $26 = (__gcry_sexp_find_token($6,59623,0)|0);
+ $27 = ($26|0)==(0|0);
+ if ($27) {
+ $$075 = 0;
+ } else {
+ $28 = (__gcry_sexp_nth_data($26,1,$4)|0);
+ $29 = ($28|0)==(0|0);
+ if ($29) {
+ $$2 = $10;$$4 = $26;$$5 = 68;
+ break L1;
+ }
+ $30 = HEAP32[$4>>2]|0;
+ $31 = ($30|0)==(0);
+ if ($31) {
+ $$075 = $26;
+ } else {
+ $32 = (__gcry_malloc($30)|0);
+ $33 = ((($3)) + 20|0);
+ HEAP32[$33>>2] = $32;
+ $34 = ($32|0)==(0|0);
+ if ($34) {
+ $37 = (_gpg_err_code_from_syserror()|0);
+ $38 = ($37|0)==(0);
+ if ($38) {
+ $$075 = $26;
+ break L8;
+ } else {
+ $$2 = $10;$$4 = $26;$$5 = $37;
+ break L1;
+ }
+ } else {
+ $35 = HEAP32[$4>>2]|0;
+ _memcpy(($32|0),($28|0),($35|0))|0;
+ $36 = ((($3)) + 24|0);
+ HEAP32[$36>>2] = $35;
+ $$075 = $26;
+ break L8;
+ }
+ }
+ }
+ break;
+ }
+ default: {
+ $$075 = $8;
+ }
+ }
+ } while(0);
+ __gcry_sexp_release($$075);
+ $39 = (__gcry_sexp_nth($6,2)|0);
+ $40 = ($39|0)==(0|0);
+ if ($40) {
+ $$2 = $10;$$4 = 0;$$5 = 68;
+ break;
+ }
+ $$07296 = 2;$41 = $39;
+ L22: while(1) {
+ $42 = (__gcry_sexp_nth_data($41,0,$4)|0);
+ $43 = HEAP32[$4>>2]|0;
+ switch ($43|0) {
+ case 9: {
+ $44 = (_memcmp($42,59613,9)|0);
+ $45 = ($44|0)==(0);
+ if (!($45)) {
+ break L22;
+ }
+ break;
+ }
+ case 5: {
+ $46 = (_memcmp($42,59623,5)|0);
+ $47 = ($46|0)==(0);
+ if (!($47)) {
+ break L22;
+ }
+ break;
+ }
+ case 15: {
+ $48 = (_memcmp($42,59629,15)|0);
+ $49 = ($48|0)==(0);
+ if (!($49)) {
+ break L22;
+ }
+ break;
+ }
+ default: {
+ break L22;
+ }
+ }
+ $50 = (($$07296) + 1)|0;
+ __gcry_sexp_release($41);
+ $51 = (__gcry_sexp_nth($6,$50)|0);
+ $52 = ($51|0)==(0|0);
+ if ($52) {
+ $$2 = $10;$$4 = 0;$$5 = 68;
+ break L1;
+ } else {
+ $$07296 = $50;$41 = $51;
+ }
+ }
+ __gcry_free($10);
+ $53 = (__gcry_sexp_nth_string($41,0)|0);
+ $54 = ($53|0)==(0|0);
+ if ($54) {
+ $$2 = 0;$$4 = $41;$$5 = 65;
+ break;
+ } else {
+ $$174 = $53;$$3 = $41;
+ }
+ } else {
+ HEAP32[$5>>2] = 8;
+ $$174 = $10;$$3 = $8;
+ }
+ $55 = HEAP32[$1>>2]|0;
+ $56 = ($55|0)==(0|0);
+ if ($56) {
+ $$2 = $$174;$$4 = $$3;$$5 = 70;
+ } else {
+ $$195 = 0;$61 = $55;
+ while(1) {
+ $62 = (_strcasecmp($$174,$61)|0);
+ $63 = ($62|0)==(0);
+ $58 = (($$195) + 1)|0;
+ if ($63) {
+ break;
+ }
+ $57 = (($1) + ($58<<2)|0);
+ $59 = HEAP32[$57>>2]|0;
+ $60 = ($59|0)==(0|0);
+ if ($60) {
+ $$2 = $$174;$$4 = $$3;$$5 = 70;
+ break L1;
+ } else {
+ $$195 = $58;$61 = $59;
+ }
+ }
+ HEAP32[$2>>2] = $$3;
+ $64 = HEAP32[$5>>2]|0;
+ $65 = ((($3)) + 12|0);
+ $66 = HEAP32[$65>>2]|0;
+ $67 = $66 | $64;
+ HEAP32[$65>>2] = $67;
+ $$2 = $$174;$$4 = 0;$$5 = 0;
+ }
+ }
+ }
+ }
+ } while(0);
+ __gcry_free($$2);
+ __gcry_sexp_release($$4);
+ __gcry_sexp_release($6);
+ STACKTOP = sp;return ($$5|0);
+}
+function _get_hash_algo($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $$02325$lcssa = 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, label = 0, sp = 0;
+ sp = STACKTOP;
+ switch ($1|0) {
+ case 4: {
+ $2 = (_memcmp(59645,$0,$1)|0);
+ $3 = ($2|0)==(0);
+ if ($3) {
+ $$02325$lcssa = 0;
+ label = 3;
+ }
+ break;
+ }
+ case 3: {
+ $9 = (_memcmp(59650,$0,$1)|0);
+ $10 = ($9|0)==(0);
+ if ($10) {
+ $$02325$lcssa = 1;
+ label = 3;
+ } else {
+ $23 = (_memcmp(59699,$0,$1)|0);
+ $24 = ($23|0)==(0);
+ if ($24) {
+ $$02325$lcssa = 8;
+ label = 3;
+ } else {
+ $25 = (_memcmp(59703,$0,$1)|0);
+ $26 = ($25|0)==(0);
+ if ($26) {
+ $$02325$lcssa = 9;
+ label = 3;
+ }
+ }
+ }
+ break;
+ }
+ case 6: {
+ $11 = (_memcmp(59654,$0,$1)|0);
+ $12 = ($11|0)==(0);
+ if ($12) {
+ $$02325$lcssa = 2;
+ label = 3;
+ } else {
+ $15 = (_memcmp(59671,$0,$1)|0);
+ $16 = ($15|0)==(0);
+ if ($16) {
+ $$02325$lcssa = 4;
+ label = 3;
+ } else {
+ $17 = (_memcmp(59678,$0,$1)|0);
+ $18 = ($17|0)==(0);
+ if ($18) {
+ $$02325$lcssa = 5;
+ label = 3;
+ } else {
+ $19 = (_memcmp(59685,$0,$1)|0);
+ $20 = ($19|0)==(0);
+ if ($20) {
+ $$02325$lcssa = 6;
+ label = 3;
+ } else {
+ $21 = (_memcmp(59692,$0,$1)|0);
+ $22 = ($21|0)==(0);
+ if ($22) {
+ $$02325$lcssa = 7;
+ label = 3;
+ }
+ }
+ }
+ }
+ }
+ break;
+ }
+ case 9: {
+ $13 = (_memcmp(59661,$0,$1)|0);
+ $14 = ($13|0)==(0);
+ if ($14) {
+ $$02325$lcssa = 3;
+ label = 3;
+ }
+ break;
+ }
+ case 5: {
+ $27 = (_memcmp(59707,$0,$1)|0);
+ $28 = ($27|0)==(0);
+ if ($28) {
+ $$02325$lcssa = 10;
+ label = 3;
+ } else {
+ $29 = (_memcmp(59713,$0,$1)|0);
+ $30 = ($29|0)==(0);
+ if ($30) {
+ $$02325$lcssa = 11;
+ label = 3;
+ }
+ }
+ break;
+ }
+ default: {
+ }
+ }
+ if ((label|0) == 3) {
+ $4 = (((4528 + ($$02325$lcssa<<3)|0)) + 4|0);
+ $5 = HEAP32[$4>>2]|0;
+ $$1 = $5;
+ return ($$1|0);
+ }
+ $31 = (($1) + 1)|0;
+ $6 = (__gcry_malloc($31)|0);
+ $32 = ($6|0)==(0|0);
+ if ($32) {
+ $$1 = 0;
+ return ($$1|0);
+ }
+ _memcpy(($6|0),($0|0),($1|0))|0;
+ $7 = (($6) + ($1)|0);
+ HEAP8[$7>>0] = 0;
+ $8 = (__gcry_md_map_name($6)|0);
+ __gcry_free($6);
+ $$1 = $8;
+ return ($$1|0);
+}
+function __gcry_pk_util_init_encoding_ctx($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ HEAP32[$0>>2] = $1;
+ $3 = ((($0)) + 4|0);
+ HEAP32[$3>>2] = $2;
+ $4 = ((($0)) + 8|0);
+ HEAP32[$4>>2] = 5;
+ $5 = ((($0)) + 12|0);
+ HEAP32[$5>>2] = 0;
+ $6 = ((($0)) + 16|0);
+ HEAP32[$6>>2] = 2;
+ $7 = ((($0)) + 20|0);
+ HEAP32[$7>>2] = 0;
+ $8 = ((($0)) + 24|0);
+ HEAP32[$8>>2] = 0;
+ $9 = ((($0)) + 28|0);
+ HEAP32[$9>>2] = 20;
+ $10 = ((($0)) + 32|0);
+ HEAP32[$10>>2] = 0;
+ $11 = ((($0)) + 36|0);
+ HEAP32[$11>>2] = 0;
+ return;
+}
+function __gcry_pk_util_free_encoding_ctx($0) {
+ $0 = $0|0;
+ var $1 = 0, $2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = ((($0)) + 20|0);
+ $2 = HEAP32[$1>>2]|0;
+ __gcry_free($2);
+ return;
+}
+function __gcry_pk_util_data_to_mpi($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$0$ph = 0, $$0278$ph = 0, $$0280 = 0, $$0281$ph = 0, $$0283$ph = 0, $$0285$ph = 0, $$0289$ph = 0, $$0291$ph = 0, $$0299312 = 0, $$1 = 0, $$10$ph = 0, $$1279 = 0, $$1282 = 0, $$1284 = 0, $$1288 = 0, $$1290 = 0, $$1292 = 0, $$17 = 0, $$21 = 0, $$23 = 0;
+ var $$3 = 0, $$4 = 0, $$7 = 0, $$8 = 0, $$9 = 0, $$not = 0, $$pre = 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;
+ var $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0;
+ var $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0;
+ var $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0;
+ var $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0;
+ var $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0;
+ var $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0;
+ var $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0;
+ var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0;
+ var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $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, $or$cond = 0, $or$cond10 = 0, $or$cond12 = 0, $or$cond14 = 0, $or$cond16 = 0, $or$cond18 = 0, $or$cond20 = 0, $or$cond22 = 0, $or$cond24 = 0, $or$cond26 = 0, $or$cond28 = 0, $or$cond30 = 0, $or$cond34 = 0, $or$cond364 = 0, $or$cond4 = 0, $or$cond8 = 0, $spec$select = 0;
+ var $spec$select365 = 0, $spec$select366 = 0, $switch = 0, $switch308 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
+ $3 = sp + 32|0;
+ $4 = sp + 28|0;
+ $5 = sp + 24|0;
+ $6 = sp + 20|0;
+ $7 = sp + 16|0;
+ $8 = sp + 12|0;
+ $9 = sp + 8|0;
+ $10 = sp + 4|0;
+ $11 = sp;
+ HEAP32[$4>>2] = 0;
+ HEAP32[$1>>2] = 0;
+ $12 = (__gcry_sexp_find_token($0,59719,0)|0);
+ $13 = ($12|0)==(0|0);
+ if ($13) {
+ $14 = (__gcry_sexp_nth_mpi($0,0,0)|0);
+ HEAP32[$1>>2] = $14;
+ $15 = ($14|0)==(0|0);
+ $16 = $15 ? 65 : 0;
+ $$0280 = $16;
+ STACKTOP = sp;return ($$0280|0);
+ }
+ $17 = (__gcry_sexp_find_token($12,64705,0)|0);
+ $18 = ($17|0)==(0|0);
+ $$pre = ((($2)) + 8|0);
+ if ($18) {
+ $$1288 = 0;
+ } else {
+ $19 = (__gcry_pk_util_parse_flaglist($17,$4,$$pre)|0);
+ $20 = ($19|0)!=(0);
+ $spec$select = $20&1;
+ __gcry_sexp_release($17);
+ $$1288 = $spec$select;
+ }
+ $21 = HEAP32[$$pre>>2]|0;
+ $22 = ($21|0)==(5);
+ if ($22) {
+ HEAP32[$$pre>>2] = 0;
+ }
+ $23 = (__gcry_sexp_find_token($12,59724,0)|0);
+ $24 = ($23|0)!=(0|0);
+ if ($24) {
+ $41 = 0;$73 = 0;
+ label = 9;
+ } else {
+ $25 = (__gcry_sexp_find_token($12,61106,0)|0);
+ $26 = ($25|0)==(0|0);
+ if ($26) {
+ $$23 = 65;$233 = 0;
+ } else {
+ $41 = $25;$73 = 1;
+ label = 9;
+ }
+ }
+ L13: do {
+ if ((label|0) == 9) {
+ $27 = ($$1288|0)==(0);
+ if ($27) {
+ $28 = HEAP32[$$pre>>2]|0;
+ $29 = ($28|0)==(0);
+ if ($29) {
+ $30 = HEAP32[$4>>2]|0;
+ $31 = $30 & 4096;
+ $32 = ($31|0)==(0);
+ if ($32) {
+ $$not = $24 ^ 1;
+ $54 = $30 & 18;
+ $55 = ($54|0)==(0);
+ $or$cond = $55 | $$not;
+ if ($or$cond) {
+ $71 = $30 & 2;
+ $72 = ($71|0)==(0);
+ $or$cond364 = $73 & $72;
+ if (!($or$cond364)) {
+ $$23 = 70;$233 = $41;
+ break;
+ }
+ $74 = (__gcry_sexp_nth_mpi($41,1,5)|0);
+ HEAP32[$1>>2] = $74;
+ $75 = ($74|0)==(0|0);
+ $spec$select365 = $75 ? 65 : 0;
+ $$23 = $spec$select365;$233 = $41;
+ break;
+ }
+ $56 = (__gcry_sexp_length($23)|0);
+ $57 = ($56|0)==(3);
+ if (!($57)) {
+ $$23 = 65;$233 = $41;
+ break;
+ }
+ $58 = (__gcry_sexp_nth_data($23,1,$3)|0);
+ $59 = ($58|0)!=(0|0);
+ $60 = HEAP32[$3>>2]|0;
+ $61 = ($60|0)!=(0);
+ $or$cond4 = $59 & $61;
+ if (!($or$cond4)) {
+ $$23 = 65;$233 = $41;
+ break;
+ }
+ $62 = (_get_hash_algo($58,$60)|0);
+ $63 = ((($2)) + 16|0);
+ HEAP32[$63>>2] = $62;
+ $64 = ($62|0)==(0);
+ do {
+ if ($64) {
+ $$4 = 5;
+ } else {
+ $65 = (__gcry_sexp_nth_buffer($23,2,$6)|0);
+ $66 = ($65|0)==(0|0);
+ if ($66) {
+ $$4 = 65;
+ } else {
+ $67 = HEAP32[$6>>2]|0;
+ $68 = $67 << 3;
+ $69 = ($68>>>0)<($67>>>0);
+ if ($69) {
+ __gcry_free($65);
+ $$4 = 67;
+ break;
+ } else {
+ $70 = (__gcry_mpi_set_opaque(0,$65,$68)|0);
+ HEAP32[$1>>2] = $70;
+ $$4 = 0;
+ break;
+ }
+ }
+ }
+ } while(0);
+ $$23 = $$4;$233 = $41;
+ break;
+ }
+ do {
+ if ($73) {
+ $33 = (__gcry_sexp_find_token($12,59613,0)|0);
+ $34 = ($33|0)==(0|0);
+ if ($34) {
+ $$3 = 65;
+ } else {
+ $35 = (__gcry_sexp_nth_data($33,1,$3)|0);
+ $36 = ($35|0)==(0|0);
+ if ($36) {
+ $$0285$ph = 68;
+ } else {
+ $37 = HEAP32[$3>>2]|0;
+ $38 = (_get_hash_algo($35,$37)|0);
+ $39 = ((($2)) + 16|0);
+ HEAP32[$39>>2] = $38;
+ $40 = ($38|0)==(0);
+ if ($40) {
+ $$0285$ph = 5;
+ } else {
+ __gcry_sexp_release($33);
+ $42 = (__gcry_sexp_nth_buffer($41,1,$5)|0);
+ $43 = ($42|0)==(0|0);
+ if ($43) {
+ HEAP32[$5>>2] = 0;
+ $44 = (__gcry_malloc(1)|0);
+ $45 = ($44|0)==(0|0);
+ if ($45) {
+ $49 = (_gpg_err_code_from_syserror()|0);
+ $50 = ($49|0)==(0);
+ if ($50) {
+ $$0299312 = 0;
+ } else {
+ $$3 = $49;
+ break;
+ }
+ } else {
+ $$0299312 = $44;
+ }
+ } else {
+ $46 = HEAP32[$5>>2]|0;
+ $47 = $46 << 3;
+ $48 = ($47>>>0)<($46>>>0);
+ if ($48) {
+ __gcry_free($42);
+ $$3 = 67;
+ break;
+ } else {
+ $$0299312 = $42;
+ }
+ }
+ $51 = HEAP32[$5>>2]|0;
+ $52 = $51 << 3;
+ $53 = (__gcry_mpi_set_opaque(0,$$0299312,$52)|0);
+ HEAP32[$1>>2] = $53;
+ $$3 = 0;
+ break;
+ }
+ }
+ __gcry_sexp_release($33);
+ $$3 = $$0285$ph;
+ }
+ } else {
+ $$3 = 65;
+ }
+ } while(0);
+ $$23 = $$3;$233 = $41;
+ break;
+ }
+ $76 = ($28|0)==(1);
+ $or$cond8 = $73 & $76;
+ if ($or$cond8) {
+ $77 = HEAP32[$2>>2]|0;
+ $78 = ($77|0)==(0);
+ if ($78) {
+ $79 = (__gcry_sexp_nth_data($41,1,$7)|0);
+ $80 = ($79|0)!=(0|0);
+ $81 = HEAP32[$7>>2]|0;
+ $82 = ($81|0)!=(0);
+ $or$cond10 = $80 & $82;
+ L52: do {
+ if ($or$cond10) {
+ $83 = (__gcry_sexp_find_token($12,59629,0)|0);
+ $84 = ($83|0)==(0|0);
+ L54: do {
+ if ($84) {
+ $$1290 = 0;$$1292 = 0;
+ } else {
+ $85 = (__gcry_sexp_nth_data($83,1,$3)|0);
+ $86 = ($85|0)==(0|0);
+ if ($86) {
+ __gcry_sexp_release($83);
+ $$7 = 68;
+ break L52;
+ }
+ $87 = HEAP32[$3>>2]|0;
+ $88 = ($87|0)==(0);
+ do {
+ if ($88) {
+ $$0289$ph = 0;$$0291$ph = 0;
+ } else {
+ $89 = (__gcry_malloc($87)|0);
+ $90 = ($89|0)==(0|0);
+ if ($90) {
+ $92 = (_gpg_err_code_from_syserror()|0);
+ __gcry_sexp_release($83);
+ $93 = ($92|0)==(0);
+ if ($93) {
+ $$1290 = 0;$$1292 = 0;
+ break L54;
+ } else {
+ $$7 = $92;
+ break L52;
+ }
+ } else {
+ $91 = HEAP32[$3>>2]|0;
+ _memcpy(($89|0),($85|0),($91|0))|0;
+ $$0289$ph = $91;$$0291$ph = $89;
+ break;
+ }
+ }
+ } while(0);
+ __gcry_sexp_release($83);
+ $$1290 = $$0289$ph;$$1292 = $$0291$ph;
+ }
+ } while(0);
+ $94 = ((($2)) + 4|0);
+ $95 = HEAP32[$94>>2]|0;
+ $96 = HEAP32[$7>>2]|0;
+ $97 = (__gcry_rsa_pkcs1_encode_for_enc($1,$95,$79,$96,$$1292,$$1290)|0);
+ __gcry_free($$1292);
+ $$7 = $97;
+ } else {
+ $$7 = 65;
+ }
+ } while(0);
+ $$23 = $$7;$233 = $41;
+ break;
+ } else {
+ $98 = 1;
+ }
+ } else {
+ $98 = $76;
+ }
+ $or$cond12 = $24 & $98;
+ if ($or$cond12) {
+ $99 = HEAP32[$2>>2]|0;
+ $100 = $99 & -2;
+ $switch = ($100|0)==(2);
+ if ($switch) {
+ $101 = (__gcry_sexp_length($23)|0);
+ $102 = ($101|0)==(3);
+ if (!($102)) {
+ $$23 = 65;$233 = $41;
+ break;
+ }
+ $103 = (__gcry_sexp_nth_data($23,1,$3)|0);
+ $104 = ($103|0)!=(0|0);
+ $105 = HEAP32[$3>>2]|0;
+ $106 = ($105|0)!=(0);
+ $or$cond14 = $104 & $106;
+ if (!($or$cond14)) {
+ $$23 = 65;$233 = $41;
+ break;
+ }
+ $107 = (_get_hash_algo($103,$105)|0);
+ $108 = ((($2)) + 16|0);
+ HEAP32[$108>>2] = $107;
+ $109 = ($107|0)==(0);
+ if ($109) {
+ $$8 = 5;
+ } else {
+ $110 = (__gcry_sexp_nth_data($23,2,$8)|0);
+ $111 = ($110|0)!=(0|0);
+ $112 = HEAP32[$8>>2]|0;
+ $113 = ($112|0)!=(0);
+ $or$cond16 = $111 & $113;
+ if ($or$cond16) {
+ $114 = ((($2)) + 4|0);
+ $115 = HEAP32[$114>>2]|0;
+ $116 = HEAP32[$108>>2]|0;
+ $117 = (__gcry_rsa_pkcs1_encode_for_sig($1,$115,$110,$112,$116)|0);
+ $$8 = $117;
+ } else {
+ $$8 = 65;
+ }
+ }
+ $$23 = $$8;$233 = $41;
+ break;
+ }
+ }
+ $118 = ($28|0)==(2);
+ $or$cond18 = $73 & $118;
+ if ($or$cond18) {
+ $119 = HEAP32[$2>>2]|0;
+ $120 = $119 & -2;
+ $switch308 = ($120|0)==(2);
+ if (!($switch308)) {
+ $$23 = 70;$233 = $41;
+ break;
+ }
+ $121 = (__gcry_sexp_length($41)|0);
+ $122 = ($121|0)==(2);
+ if ($122) {
+ $123 = (__gcry_sexp_nth_data($41,1,$9)|0);
+ $124 = ($123|0)!=(0|0);
+ $125 = HEAP32[$9>>2]|0;
+ $126 = ($125|0)!=(0);
+ $or$cond20 = $124 & $126;
+ if ($or$cond20) {
+ $127 = ((($2)) + 4|0);
+ $128 = HEAP32[$127>>2]|0;
+ $129 = (__gcry_rsa_pkcs1_encode_raw_for_sig($1,$128,$123,$125)|0);
+ $$9 = $129;
+ } else {
+ $$9 = 65;
+ }
+ } else {
+ $$9 = 65;
+ }
+ $$23 = $$9;$233 = $41;
+ break;
+ }
+ $130 = ($28|0)==(3);
+ $or$cond22 = $73 & $130;
+ if (!($or$cond22)) {
+ $179 = ($28|0)==(4);
+ $or$cond26 = $24 & $179;
+ if (!($or$cond26)) {
+ $$23 = 70;$233 = $41;
+ break;
+ }
+ $180 = HEAP32[$2>>2]|0;
+ switch ($180|0) {
+ case 2: {
+ break;
+ }
+ case 3: {
+ $219 = (__gcry_sexp_length($23)|0);
+ $220 = ($219|0)==(3);
+ if (!($220)) {
+ $$23 = 65;$233 = $41;
+ break L13;
+ }
+ $221 = (__gcry_sexp_nth_data($23,1,$3)|0);
+ $222 = ($221|0)!=(0|0);
+ $223 = HEAP32[$3>>2]|0;
+ $224 = ($223|0)!=(0);
+ $or$cond34 = $222 & $224;
+ if (!($or$cond34)) {
+ $$23 = 65;$233 = $41;
+ break L13;
+ }
+ $225 = (_get_hash_algo($221,$223)|0);
+ $226 = ((($2)) + 16|0);
+ HEAP32[$226>>2] = $225;
+ $227 = ($225|0)==(0);
+ if ($227) {
+ $$23 = 5;$233 = $41;
+ break L13;
+ }
+ $228 = (__gcry_sexp_nth_mpi($23,2,5)|0);
+ HEAP32[$1>>2] = $228;
+ $229 = ($228|0)==(0|0);
+ $230 = ((($2)) + 32|0);
+ HEAP32[$230>>2] = 71;
+ $231 = HEAP32[$1>>2]|0;
+ $232 = ((($2)) + 36|0);
+ HEAP32[$232>>2] = $231;
+ $spec$select366 = $229 ? 65 : 0;
+ $$23 = $spec$select366;$233 = $41;
+ break L13;
+ break;
+ }
+ default: {
+ $$23 = 70;$233 = $41;
+ break L13;
+ }
+ }
+ $181 = (__gcry_sexp_length($23)|0);
+ $182 = ($181|0)==(3);
+ if (!($182)) {
+ $$23 = 65;$233 = $41;
+ break;
+ }
+ $183 = (__gcry_sexp_nth_data($23,1,$3)|0);
+ $184 = ($183|0)!=(0|0);
+ $185 = HEAP32[$3>>2]|0;
+ $186 = ($185|0)!=(0);
+ $or$cond28 = $184 & $186;
+ if (!($or$cond28)) {
+ $$23 = 65;$233 = $41;
+ break;
+ }
+ $187 = (_get_hash_algo($183,$185)|0);
+ $188 = ((($2)) + 16|0);
+ HEAP32[$188>>2] = $187;
+ $189 = ($187|0)==(0);
+ L97: do {
+ if ($189) {
+ $$21 = 5;
+ } else {
+ $190 = (__gcry_sexp_nth_data($23,2,$11)|0);
+ $191 = ($190|0)!=(0|0);
+ $192 = HEAP32[$11>>2]|0;
+ $193 = ($192|0)!=(0);
+ $or$cond30 = $191 & $193;
+ if ($or$cond30) {
+ $194 = (__gcry_sexp_find_token($12,59729,0)|0);
+ $195 = ($194|0)==(0|0);
+ if (!($195)) {
+ $196 = (__gcry_sexp_nth_data($194,1,$3)|0);
+ $197 = ($196|0)==(0|0);
+ if ($197) {
+ $$21 = 68;
+ break;
+ }
+ $198 = (_strtoul($196,0,10)|0);
+ $199 = ((($2)) + 28|0);
+ HEAP32[$199>>2] = $198;
+ __gcry_sexp_release($194);
+ }
+ $200 = (__gcry_sexp_find_token($12,59629,0)|0);
+ $201 = ($200|0)==(0|0);
+ L104: do {
+ if ($201) {
+ $$1 = 0;$$1279 = 0;
+ } else {
+ $202 = (__gcry_sexp_nth_data($200,1,$3)|0);
+ $203 = ($202|0)==(0|0);
+ if ($203) {
+ __gcry_sexp_release($200);
+ $$21 = 68;
+ break L97;
+ }
+ $204 = HEAP32[$3>>2]|0;
+ $205 = ($204|0)==(0);
+ do {
+ if ($205) {
+ $$0$ph = 0;$$0278$ph = 0;
+ } else {
+ $206 = (__gcry_malloc($204)|0);
+ $207 = ($206|0)==(0|0);
+ if ($207) {
+ $209 = (_gpg_err_code_from_syserror()|0);
+ __gcry_sexp_release($200);
+ $210 = ($209|0)==(0);
+ if ($210) {
+ $$1 = 0;$$1279 = 0;
+ break L104;
+ } else {
+ $$21 = $209;
+ break L97;
+ }
+ } else {
+ $208 = HEAP32[$3>>2]|0;
+ _memcpy(($206|0),($202|0),($208|0))|0;
+ $$0$ph = $208;$$0278$ph = $206;
+ break;
+ }
+ }
+ } while(0);
+ __gcry_sexp_release($200);
+ $$1 = $$0$ph;$$1279 = $$0278$ph;
+ }
+ } while(0);
+ $211 = ((($2)) + 4|0);
+ $212 = HEAP32[$211>>2]|0;
+ $213 = (($212) + -1)|0;
+ $214 = HEAP32[$188>>2]|0;
+ $215 = HEAP32[$11>>2]|0;
+ $216 = ((($2)) + 28|0);
+ $217 = HEAP32[$216>>2]|0;
+ $218 = (__gcry_rsa_pss_encode($1,$213,$214,$190,$215,$217,$$1279,$$1)|0);
+ __gcry_free($$1279);
+ $$21 = $218;
+ } else {
+ $$21 = 65;
+ }
+ }
+ } while(0);
+ $$23 = $$21;$233 = $41;
+ break;
+ }
+ $131 = HEAP32[$2>>2]|0;
+ $132 = ($131|0)==(0);
+ if ($132) {
+ $133 = (__gcry_sexp_nth_data($41,1,$10)|0);
+ $134 = ($133|0)!=(0|0);
+ $135 = HEAP32[$10>>2]|0;
+ $136 = ($135|0)!=(0);
+ $or$cond24 = $134 & $136;
+ L119: do {
+ if ($or$cond24) {
+ $137 = (__gcry_sexp_find_token($12,59613,0)|0);
+ $138 = ($137|0)==(0|0);
+ do {
+ if (!($138)) {
+ $139 = (__gcry_sexp_nth_data($137,1,$3)|0);
+ $140 = ($139|0)==(0|0);
+ if ($140) {
+ $$10$ph = 68;
+ } else {
+ $141 = HEAP32[$3>>2]|0;
+ $142 = (_get_hash_algo($139,$141)|0);
+ $143 = ((($2)) + 16|0);
+ HEAP32[$143>>2] = $142;
+ $144 = ($142|0)==(0);
+ if ($144) {
+ $$10$ph = 5;
+ } else {
+ __gcry_sexp_release($137);
+ break;
+ }
+ }
+ __gcry_sexp_release($137);
+ $$17 = $$10$ph;
+ break L119;
+ }
+ } while(0);
+ $145 = (__gcry_sexp_find_token($12,59623,0)|0);
+ $146 = ($145|0)==(0|0);
+ L128: do {
+ if (!($146)) {
+ $147 = (__gcry_sexp_nth_data($145,1,$3)|0);
+ $148 = ($147|0)==(0|0);
+ if ($148) {
+ __gcry_sexp_release($145);
+ $$17 = 68;
+ break L119;
+ }
+ $149 = HEAP32[$3>>2]|0;
+ $150 = ($149|0)==(0);
+ do {
+ if (!($150)) {
+ $151 = (__gcry_malloc($149)|0);
+ $152 = ((($2)) + 20|0);
+ HEAP32[$152>>2] = $151;
+ $153 = ($151|0)==(0|0);
+ if ($153) {
+ $156 = (_gpg_err_code_from_syserror()|0);
+ __gcry_sexp_release($145);
+ $157 = ($156|0)==(0);
+ if ($157) {
+ break L128;
+ } else {
+ $$17 = $156;
+ break L119;
+ }
+ } else {
+ $154 = HEAP32[$3>>2]|0;
+ _memcpy(($151|0),($147|0),($154|0))|0;
+ $155 = ((($2)) + 24|0);
+ HEAP32[$155>>2] = $154;
+ break;
+ }
+ }
+ } while(0);
+ __gcry_sexp_release($145);
+ }
+ } while(0);
+ $158 = (__gcry_sexp_find_token($12,59629,0)|0);
+ $159 = ($158|0)==(0|0);
+ L140: do {
+ if ($159) {
+ $$1282 = 0;$$1284 = 0;
+ } else {
+ $160 = (__gcry_sexp_nth_data($158,1,$3)|0);
+ $161 = ($160|0)==(0|0);
+ if ($161) {
+ __gcry_sexp_release($158);
+ $$17 = 68;
+ break L119;
+ }
+ $162 = HEAP32[$3>>2]|0;
+ $163 = ($162|0)==(0);
+ do {
+ if ($163) {
+ $$0281$ph = 0;$$0283$ph = 0;
+ } else {
+ $164 = (__gcry_malloc($162)|0);
+ $165 = ($164|0)==(0|0);
+ if ($165) {
+ $167 = (_gpg_err_code_from_syserror()|0);
+ __gcry_sexp_release($158);
+ $168 = ($167|0)==(0);
+ if ($168) {
+ $$1282 = 0;$$1284 = 0;
+ break L140;
+ } else {
+ $$17 = $167;
+ break L119;
+ }
+ } else {
+ $166 = HEAP32[$3>>2]|0;
+ _memcpy(($164|0),($160|0),($166|0))|0;
+ $$0281$ph = $166;$$0283$ph = $164;
+ break;
+ }
+ }
+ } while(0);
+ __gcry_sexp_release($158);
+ $$1282 = $$0281$ph;$$1284 = $$0283$ph;
+ }
+ } while(0);
+ $169 = ((($2)) + 4|0);
+ $170 = HEAP32[$169>>2]|0;
+ $171 = ((($2)) + 16|0);
+ $172 = HEAP32[$171>>2]|0;
+ $173 = HEAP32[$10>>2]|0;
+ $174 = ((($2)) + 20|0);
+ $175 = HEAP32[$174>>2]|0;
+ $176 = ((($2)) + 24|0);
+ $177 = HEAP32[$176>>2]|0;
+ $178 = (__gcry_rsa_oaep_encode($1,$170,$172,$133,$173,$175,$177,$$1284,$$1282)|0);
+ __gcry_free($$1284);
+ $$17 = $178;
+ } else {
+ $$17 = 65;
+ }
+ } while(0);
+ $$23 = $$17;$233 = $41;
+ } else {
+ $$23 = 70;$233 = $41;
+ }
+ } else {
+ $$23 = 72;$233 = $41;
+ }
+ }
+ } while(0);
+ __gcry_sexp_release($12);
+ __gcry_sexp_release($23);
+ __gcry_sexp_release($233);
+ $234 = ($$23|0)==(0);
+ if ($234) {
+ $235 = HEAP32[$4>>2]|0;
+ $236 = ((($2)) + 12|0);
+ HEAP32[$236>>2] = $235;
+ $$0280 = 0;
+ STACKTOP = sp;return ($$0280|0);
+ } else {
+ $237 = ((($2)) + 20|0);
+ $238 = HEAP32[$237>>2]|0;
+ __gcry_free($238);
+ HEAP32[$237>>2] = 0;
+ $$0280 = $$23;
+ STACKTOP = sp;return ($$0280|0);
+ }
+ return (0)|0;
+}
+function _pss_verify_cmp($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $2 = ((($0)) + 36|0);
+ $3 = HEAP32[$2>>2]|0;
+ $4 = ((($0)) + 4|0);
+ $5 = HEAP32[$4>>2]|0;
+ $6 = (($5) + -1)|0;
+ $7 = ((($0)) + 16|0);
+ $8 = HEAP32[$7>>2]|0;
+ $9 = ((($0)) + 28|0);
+ $10 = HEAP32[$9>>2]|0;
+ $11 = (__gcry_rsa_pss_verify($3,$1,$6,$8,$10)|0);
+ return ($11|0);
+}
+function __gcry_pk_algo_name($0) {
+ $0 = $0|0;
+ var $$0 = 0, $$0$i$i = 0, $$0$i$ph = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ switch ($0|0) {
+ case 3: case 2: {
+ $$0$i$i = 1;
+ break;
+ }
+ case 16: {
+ $$0$i$i = 20;
+ break;
+ }
+ case 301: {
+ $$0$i$i = 18;
+ break;
+ }
+ case 302: {
+ $$0$i$i = 18;
+ break;
+ }
+ default: {
+ $$0$i$i = $0;
+ }
+ }
+ $1 = HEAP32[10027]|0;
+ $2 = ($$0$i$i|0)==($1|0);
+ if ($2) {
+ $$0$i$ph = 40108;
+ } else {
+ $3 = HEAP32[9887]|0;
+ $4 = ($$0$i$i|0)==($3|0);
+ if ($4) {
+ $$0$i$ph = 39548;
+ } else {
+ $$0 = 59741;
+ return ($$0|0);
+ }
+ }
+ $5 = ((($$0$i$ph)) + 12|0);
+ $6 = HEAP32[$5>>2]|0;
+ $$0 = $6;
+ return ($$0|0);
+}
+function __gcry_pk_encrypt($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $3 = sp + 4|0;
+ $4 = sp;
+ HEAP32[$0>>2] = 0;
+ $5 = (_spec_from_sexp($2,0,$3,$4)|0);
+ $6 = ($5|0)==(0);
+ if ($6) {
+ $7 = HEAP32[$3>>2]|0;
+ $8 = ((($7)) + 48|0);
+ $9 = HEAP32[$8>>2]|0;
+ $10 = ($9|0)==(0|0);
+ if ($10) {
+ $$0 = 69;
+ } else {
+ $11 = HEAP32[$4>>2]|0;
+ $12 = (FUNCTION_TABLE_iiii[$9 & 127]($0,$1,$11)|0);
+ $$0 = $12;
+ }
+ } else {
+ $$0 = $5;
+ }
+ $13 = HEAP32[$4>>2]|0;
+ __gcry_sexp_release($13);
+ STACKTOP = sp;return ($$0|0);
+}
+function _spec_from_sexp($0,$1,$2,$3) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ var $$0 = 0, $$016$i$ph = 0, $$019$1$i = 0, $$019$i = 0, $$032 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0;
+ var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $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, $or$cond = 0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ HEAP32[$2>>2] = 0;
+ $4 = ($3|0)!=(0|0);
+ if ($4) {
+ HEAP32[$3>>2] = 0;
+ }
+ $5 = ($1|0)!=(0);
+ $6 = $5 ? 59743 : 59755;
+ $7 = (__gcry_sexp_find_token($0,$6,0)|0);
+ $8 = ($7|0)!=(0|0);
+ $or$cond = $5 | $8;
+ if ($or$cond) {
+ $$032 = $7;
+ } else {
+ $9 = (__gcry_sexp_find_token($0,59743,0)|0);
+ $$032 = $9;
+ }
+ $10 = ($$032|0)==(0|0);
+ if ($10) {
+ $$0 = 65;
+ return ($$0|0);
+ }
+ $11 = (__gcry_sexp_cadr($$032)|0);
+ __gcry_sexp_release($$032);
+ $12 = (__gcry_sexp_nth_string($11,0)|0);
+ $13 = ($12|0)==(0|0);
+ if ($13) {
+ __gcry_sexp_release($11);
+ $$0 = 65;
+ return ($$0|0);
+ }
+ $14 = HEAP32[(40120)>>2]|0;
+ $15 = (_strcasecmp($12,$14)|0);
+ $16 = ($15|0)==(0);
+ L14: do {
+ if ($16) {
+ $$016$i$ph = 40108;
+ } else {
+ $17 = HEAP32[(40124)>>2]|0;
+ $18 = HEAP32[$17>>2]|0;
+ $19 = ($18|0)==(0|0);
+ if (!($19)) {
+ $$019$i = $17;$23 = $18;
+ while(1) {
+ $24 = (_strcasecmp($12,$23)|0);
+ $25 = ($24|0)==(0);
+ $21 = ((($$019$i)) + 4|0);
+ if ($25) {
+ $$016$i$ph = 40108;
+ break L14;
+ }
+ $20 = HEAP32[$21>>2]|0;
+ $22 = ($20|0)==(0|0);
+ if ($22) {
+ break;
+ } else {
+ $$019$i = $21;$23 = $20;
+ }
+ }
+ }
+ $26 = HEAP32[(39560)>>2]|0;
+ $27 = (_strcasecmp($12,$26)|0);
+ $28 = ($27|0)==(0);
+ if ($28) {
+ $$016$i$ph = 39548;
+ } else {
+ $29 = HEAP32[(39564)>>2]|0;
+ $30 = HEAP32[$29>>2]|0;
+ $31 = ($30|0)==(0|0);
+ if (!($31)) {
+ $$019$1$i = $29;$32 = $30;
+ while(1) {
+ $33 = (_strcasecmp($12,$32)|0);
+ $34 = ($33|0)==(0);
+ $35 = ((($$019$1$i)) + 4|0);
+ if ($34) {
+ $$016$i$ph = 39548;
+ break L14;
+ }
+ $36 = HEAP32[$35>>2]|0;
+ $37 = ($36|0)==(0|0);
+ if ($37) {
+ break;
+ } else {
+ $$019$1$i = $35;$32 = $36;
+ }
+ }
+ }
+ __gcry_free($12);
+ __gcry_sexp_release($11);
+ $$0 = 4;
+ return ($$0|0);
+ }
+ }
+ } while(0);
+ __gcry_free($12);
+ HEAP32[$2>>2] = $$016$i$ph;
+ if ($4) {
+ HEAP32[$3>>2] = $11;
+ $$0 = 0;
+ return ($$0|0);
+ } else {
+ __gcry_sexp_release($11);
+ $$0 = 0;
+ return ($$0|0);
+ }
+ return (0)|0;
+}
+function __gcry_pk_decrypt($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $3 = sp + 4|0;
+ $4 = sp;
+ HEAP32[$0>>2] = 0;
+ $5 = (_spec_from_sexp($2,1,$3,$4)|0);
+ $6 = ($5|0)==(0);
+ if ($6) {
+ $7 = HEAP32[$3>>2]|0;
+ $8 = ((($7)) + 52|0);
+ $9 = HEAP32[$8>>2]|0;
+ $10 = ($9|0)==(0|0);
+ if ($10) {
+ $$0 = 69;
+ } else {
+ $11 = HEAP32[$4>>2]|0;
+ $12 = (FUNCTION_TABLE_iiii[$9 & 127]($0,$1,$11)|0);
+ $$0 = $12;
+ }
+ } else {
+ $$0 = $5;
+ }
+ $13 = HEAP32[$4>>2]|0;
+ __gcry_sexp_release($13);
+ STACKTOP = sp;return ($$0|0);
+}
+function __gcry_pk_sign($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $3 = sp + 4|0;
+ $4 = sp;
+ HEAP32[$0>>2] = 0;
+ $5 = (_spec_from_sexp($2,1,$3,$4)|0);
+ $6 = ($5|0)==(0);
+ if ($6) {
+ $7 = HEAP32[$3>>2]|0;
+ $8 = ((($7)) + 56|0);
+ $9 = HEAP32[$8>>2]|0;
+ $10 = ($9|0)==(0|0);
+ if ($10) {
+ $$0 = 69;
+ } else {
+ $11 = HEAP32[$4>>2]|0;
+ $12 = (FUNCTION_TABLE_iiii[$9 & 127]($0,$1,$11)|0);
+ $$0 = $12;
+ }
+ } else {
+ $$0 = $5;
+ }
+ $13 = HEAP32[$4>>2]|0;
+ __gcry_sexp_release($13);
+ STACKTOP = sp;return ($$0|0);
+}
+function __gcry_pk_verify($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $3 = sp + 4|0;
+ $4 = sp;
+ $5 = (_spec_from_sexp($2,0,$3,$4)|0);
+ $6 = ($5|0)==(0);
+ if ($6) {
+ $7 = HEAP32[$3>>2]|0;
+ $8 = ((($7)) + 60|0);
+ $9 = HEAP32[$8>>2]|0;
+ $10 = ($9|0)==(0|0);
+ if ($10) {
+ $$0 = 69;
+ } else {
+ $11 = HEAP32[$4>>2]|0;
+ $12 = (FUNCTION_TABLE_iiii[$9 & 127]($0,$1,$11)|0);
+ $$0 = $12;
+ }
+ } else {
+ $$0 = $5;
+ }
+ $13 = HEAP32[$4>>2]|0;
+ __gcry_sexp_release($13);
+ STACKTOP = sp;return ($$0|0);
+}
+function __gcry_pk_testkey($0) {
+ $0 = $0|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, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $1 = sp + 4|0;
+ $2 = sp;
+ $3 = (_spec_from_sexp($0,1,$1,$2)|0);
+ $4 = ($3|0)==(0);
+ if ($4) {
+ $5 = HEAP32[$1>>2]|0;
+ $6 = ((($5)) + 44|0);
+ $7 = HEAP32[$6>>2]|0;
+ $8 = ($7|0)==(0|0);
+ if ($8) {
+ $$0 = 69;
+ } else {
+ $9 = HEAP32[$2>>2]|0;
+ $10 = (FUNCTION_TABLE_ii[$7 & 63]($9)|0);
+ $$0 = $10;
+ }
+ } else {
+ $$0 = $3;
+ }
+ $11 = HEAP32[$2>>2]|0;
+ __gcry_sexp_release($11);
+ STACKTOP = sp;return ($$0|0);
+}
+function __gcry_pk_genkey($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $$0 = 0, $$016$i$ph = 0, $$019$1$i = 0, $$019$i = 0, $$030 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0;
+ var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0;
+ var sp = 0;
+ sp = STACKTOP;
+ HEAP32[$0>>2] = 0;
+ $2 = (__gcry_sexp_find_token($1,59766,0)|0);
+ $3 = ($2|0)==(0|0);
+ L1: do {
+ if ($3) {
+ $$0 = 65;$$030 = 0;
+ } else {
+ $4 = (__gcry_sexp_cadr($2)|0);
+ __gcry_sexp_release($2);
+ $5 = ($4|0)==(0|0);
+ if ($5) {
+ $$0 = 68;$$030 = 0;
+ } else {
+ $6 = (__gcry_sexp_nth_string($4,0)|0);
+ $7 = ($6|0)==(0|0);
+ if ($7) {
+ $$0 = 65;$$030 = $4;
+ } else {
+ $8 = HEAP32[(40120)>>2]|0;
+ $9 = (_strcasecmp($6,$8)|0);
+ $10 = ($9|0)==(0);
+ L5: do {
+ if ($10) {
+ $$016$i$ph = 40108;
+ } else {
+ $11 = HEAP32[(40124)>>2]|0;
+ $12 = HEAP32[$11>>2]|0;
+ $13 = ($12|0)==(0|0);
+ if (!($13)) {
+ $$019$i = $11;$17 = $12;
+ while(1) {
+ $18 = (_strcasecmp($6,$17)|0);
+ $19 = ($18|0)==(0);
+ $15 = ((($$019$i)) + 4|0);
+ if ($19) {
+ $$016$i$ph = 40108;
+ break L5;
+ }
+ $14 = HEAP32[$15>>2]|0;
+ $16 = ($14|0)==(0|0);
+ if ($16) {
+ break;
+ } else {
+ $$019$i = $15;$17 = $14;
+ }
+ }
+ }
+ $20 = HEAP32[(39560)>>2]|0;
+ $21 = (_strcasecmp($6,$20)|0);
+ $22 = ($21|0)==(0);
+ if ($22) {
+ $$016$i$ph = 39548;
+ } else {
+ $23 = HEAP32[(39564)>>2]|0;
+ $24 = HEAP32[$23>>2]|0;
+ $25 = ($24|0)==(0|0);
+ if (!($25)) {
+ $$019$1$i = $23;$26 = $24;
+ while(1) {
+ $27 = (_strcasecmp($6,$26)|0);
+ $28 = ($27|0)==(0);
+ $29 = ((($$019$1$i)) + 4|0);
+ if ($28) {
+ $$016$i$ph = 39548;
+ break L5;
+ }
+ $30 = HEAP32[$29>>2]|0;
+ $31 = ($30|0)==(0|0);
+ if ($31) {
+ break;
+ } else {
+ $$019$1$i = $29;$26 = $30;
+ }
+ }
+ }
+ __gcry_free($6);
+ $$0 = 4;$$030 = $4;
+ break L1;
+ }
+ }
+ } while(0);
+ __gcry_free($6);
+ $32 = ((($$016$i$ph)) + 40|0);
+ $33 = HEAP32[$32>>2]|0;
+ $34 = ($33|0)==(0|0);
+ if ($34) {
+ $$0 = 69;$$030 = $4;
+ } else {
+ $35 = (FUNCTION_TABLE_iii[$33 & 127]($4,$0)|0);
+ $$0 = $35;$$030 = $4;
+ }
+ }
+ }
+ }
+ } while(0);
+ __gcry_sexp_release($$030);
+ __gcry_free(0);
+ __gcry_sexp_release(0);
+ return ($$0|0);
+}
+function __gcry_pk_init() {
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ return 0;
+}
+function __gcry_pk_selftest($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$0$i18$ph = 0, $$0$i1822 = 0, $$0$i20 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0;
+ var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $spec$select = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ switch ($0|0) {
+ case 3: case 2: {
+ $$0$i20 = 1;
+ break;
+ }
+ case 16: {
+ $$0$i20 = 20;
+ break;
+ }
+ case 301: {
+ $$0$i20 = 18;
+ break;
+ }
+ case 302: {
+ $$0$i20 = 18;
+ break;
+ }
+ default: {
+ $$0$i20 = $0;
+ }
+ }
+ $3 = HEAP32[10027]|0;
+ $4 = ($$0$i20|0)==($3|0);
+ if ($4) {
+ $$0$i18$ph = 40108;
+ label = 8;
+ } else {
+ $5 = HEAP32[9887]|0;
+ $6 = ($$0$i20|0)==($5|0);
+ if ($6) {
+ $$0$i18$ph = 39548;
+ label = 8;
+ } else {
+ $$0$i1822 = 0;$20 = 0;
+ }
+ }
+ if ((label|0) == 8) {
+ $7 = ((($$0$i18$ph)) + 4|0);
+ $8 = HEAP8[$7>>0]|0;
+ $9 = $8 & 1;
+ $10 = ($9<<24>>24)==(0);
+ if ($10) {
+ $11 = ((($$0$i18$ph)) + 68|0);
+ $12 = HEAP32[$11>>2]|0;
+ $13 = ($12|0)==(0|0);
+ if ($13) {
+ $$0$i1822 = $$0$i18$ph;$20 = 1;
+ } else {
+ $22 = (FUNCTION_TABLE_iiii[$12 & 127]($$0$i20,$1,$2)|0);
+ $23 = ($22|0)==(0);
+ $24 = $22 & 65535;
+ $25 = $24 | 16777216;
+ $spec$select = $23 ? 0 : $25;
+ return ($spec$select|0);
+ }
+ } else {
+ $$0$i1822 = $$0$i18$ph;$20 = 1;
+ }
+ }
+ $14 = ($2|0)==(0|0);
+ if ($14) {
+ return 16777220;
+ }
+ if ($20) {
+ $15 = ((($$0$i1822)) + 4|0);
+ $16 = HEAP8[$15>>0]|0;
+ $17 = $16 & 1;
+ $18 = ($17<<24>>24)==(0);
+ if ($18) {
+ $21 = 59812;
+ } else {
+ label = 13;
+ }
+ } else {
+ label = 13;
+ }
+ if ((label|0) == 13) {
+ $19 = $20 ? 59773 : 59792;
+ $21 = $19;
+ }
+ FUNCTION_TABLE_viiii[$2 & 63](61280,$$0$i20,59834,$21);
+ return 16777220;
+}
+function _rijndael_setkey($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $3 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $3 = (_do_setkey($0,$1,$2)|0);
+ return ($3|0);
+}
+function _rijndael_encrypt($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $3 = ((($0)) + 496|0);
+ $4 = HEAP32[$3>>2]|0;
+ $5 = ($4|0)==(0|0);
+ if (!($5)) {
+ FUNCTION_TABLE_v[$4 & 127]();
+ }
+ $6 = ((($0)) + 488|0);
+ $7 = HEAP32[$6>>2]|0;
+ $8 = (FUNCTION_TABLE_iiii[$7 & 127]($0,$1,$2)|0);
+ return ($8|0);
+}
+function _rijndael_decrypt($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ _check_decryption_preparation($0);
+ $3 = ((($0)) + 500|0);
+ $4 = HEAP32[$3>>2]|0;
+ $5 = ($4|0)==(0|0);
+ if (!($5)) {
+ FUNCTION_TABLE_v[$4 & 127]();
+ }
+ $6 = ((($0)) + 492|0);
+ $7 = HEAP32[$6>>2]|0;
+ $8 = (FUNCTION_TABLE_iiii[$7 & 127]($0,$1,$2)|0);
+ return ($8|0);
+}
+function _run_selftests($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$0 = 0, $$0$i = 0, $$0$i$ph$i = 0, $$0$i$ph$i10 = 0, $$0$i$ph$i14 = 0, $$011$i = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0;
+ var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0;
+ var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 1552|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1552|0);
+ $3 = sp + 1040|0;
+ $4 = sp + 528|0;
+ $5 = sp + 16|0;
+ $6 = sp;
+ switch ($0|0) {
+ case 7: {
+ (_do_setkey($5,4704,16)|0);
+ $7 = ((($5)) + 496|0);
+ $8 = HEAP32[$7>>2]|0;
+ $9 = ($8|0)==(0|0);
+ if (!($9)) {
+ FUNCTION_TABLE_v[$8 & 127]();
+ }
+ $10 = ((($5)) + 488|0);
+ $11 = HEAP32[$10>>2]|0;
+ (FUNCTION_TABLE_iiii[$11 & 127]($5,$6,4720)|0);
+ $12 = (_memcmp($6,4736,16)|0);
+ $13 = ($12|0)==(0);
+ if ($13) {
+ _check_decryption_preparation($5);
+ $14 = ((($5)) + 500|0);
+ $15 = HEAP32[$14>>2]|0;
+ $16 = ($15|0)==(0|0);
+ if (!($16)) {
+ FUNCTION_TABLE_v[$15 & 127]();
+ }
+ $17 = ((($5)) + 492|0);
+ $18 = HEAP32[$17>>2]|0;
+ (FUNCTION_TABLE_iiii[$18 & 127]($5,$6,$6)|0);
+ $19 = (_memcmp($6,4720,16)|0);
+ $20 = ($19|0)==(0);
+ if ($20) {
+ $21 = ($1|0)==(0);
+ if ($21) {
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $22 = (_selftest_fips_128_38a(2)|0);
+ $23 = ($22|0)==(0|0);
+ if ($23) {
+ $24 = (_selftest_fips_128_38a(5)|0);
+ $25 = ($24|0)==(0|0);
+ if ($25) {
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+ } else {
+ $$0$i = $24;$$011$i = 59913;
+ }
+ } else {
+ $$0$i = $22;$$011$i = 59909;
+ }
+ } else {
+ $$0$i$ph$i = 59845;
+ label = 8;
+ }
+ } else {
+ $$0$i$ph$i = 59877;
+ label = 8;
+ }
+ if ((label|0) == 8) {
+ $$0$i = $$0$i$ph$i;$$011$i = 59917;
+ }
+ $26 = ($2|0)==(0|0);
+ if ($26) {
+ $$0 = 50;
+ STACKTOP = sp;return ($$0|0);
+ }
+ FUNCTION_TABLE_viiii[$2 & 63](59927,7,$$011$i,$$0$i);
+ $$0 = 50;
+ STACKTOP = sp;return ($$0|0);
+ break;
+ }
+ case 8: {
+ (_do_setkey($4,4752,24)|0);
+ $27 = ((($4)) + 496|0);
+ $28 = HEAP32[$27>>2]|0;
+ $29 = ($28|0)==(0|0);
+ if (!($29)) {
+ FUNCTION_TABLE_v[$28 & 127]();
+ }
+ $30 = ((($4)) + 488|0);
+ $31 = HEAP32[$30>>2]|0;
+ (FUNCTION_TABLE_iiii[$31 & 127]($4,$6,4784)|0);
+ $32 = (_memcmp($6,4800,16)|0);
+ $33 = ($32|0)==(0);
+ if ($33) {
+ _check_decryption_preparation($4);
+ $34 = ((($4)) + 500|0);
+ $35 = HEAP32[$34>>2]|0;
+ $36 = ($35|0)==(0|0);
+ if (!($36)) {
+ FUNCTION_TABLE_v[$35 & 127]();
+ }
+ $37 = ((($4)) + 492|0);
+ $38 = HEAP32[$37>>2]|0;
+ (FUNCTION_TABLE_iiii[$38 & 127]($4,$6,$6)|0);
+ $39 = (_memcmp($6,4784,16)|0);
+ $40 = ($39|0)==(0);
+ if ($40) {
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+ } else {
+ $$0$i$ph$i10 = 59934;
+ }
+ } else {
+ $$0$i$ph$i10 = 59966;
+ }
+ $41 = ($2|0)==(0|0);
+ if ($41) {
+ $$0 = 50;
+ STACKTOP = sp;return ($$0|0);
+ }
+ FUNCTION_TABLE_viiii[$2 & 63](59927,8,59917,$$0$i$ph$i10);
+ $$0 = 50;
+ STACKTOP = sp;return ($$0|0);
+ break;
+ }
+ case 9: {
+ (_do_setkey($3,4816,32)|0);
+ $42 = ((($3)) + 496|0);
+ $43 = HEAP32[$42>>2]|0;
+ $44 = ($43|0)==(0|0);
+ if (!($44)) {
+ FUNCTION_TABLE_v[$43 & 127]();
+ }
+ $45 = ((($3)) + 488|0);
+ $46 = HEAP32[$45>>2]|0;
+ (FUNCTION_TABLE_iiii[$46 & 127]($3,$6,4848)|0);
+ $47 = (_memcmp($6,4864,16)|0);
+ $48 = ($47|0)==(0);
+ if ($48) {
+ _check_decryption_preparation($3);
+ $49 = ((($3)) + 500|0);
+ $50 = HEAP32[$49>>2]|0;
+ $51 = ($50|0)==(0|0);
+ if (!($51)) {
+ FUNCTION_TABLE_v[$50 & 127]();
+ }
+ $52 = ((($3)) + 492|0);
+ $53 = HEAP32[$52>>2]|0;
+ (FUNCTION_TABLE_iiii[$53 & 127]($3,$6,$6)|0);
+ $54 = (_memcmp($6,4848,16)|0);
+ $55 = ($54|0)==(0);
+ if ($55) {
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+ } else {
+ $$0$i$ph$i14 = 59998;
+ }
+ } else {
+ $$0$i$ph$i14 = 60030;
+ }
+ $56 = ($2|0)==(0|0);
+ if ($56) {
+ $$0 = 50;
+ STACKTOP = sp;return ($$0|0);
+ }
+ FUNCTION_TABLE_viiii[$2 & 63](59927,9,59917,$$0$i$ph$i14);
+ $$0 = 50;
+ STACKTOP = sp;return ($$0|0);
+ break;
+ }
+ default: {
+ $$0 = 12;
+ STACKTOP = sp;return ($$0|0);
+ }
+ }
+ return (0)|0;
+}
+function _do_setkey($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$0 = 0, $$0$i$i$ph = 0, $$0$i12$i$ph = 0, $$0$i9$i$ph = 0, $$0138 = 0, $$0144227 = 0, $$0146 = 0, $$0147213 = 0, $$0148225 = 0, $$0152224 = 0, $$0157226 = 0, $$06$i$ph = 0, $$06$i171 = 0, $$1149$lcssa = 0, $$1149217 = 0, $$1158223 = 0, $$2154211 = 0, $$2159$lcssa = 0, $$2159216 = 0, $$3151212 = 0;
+ var $$3155$lcssa = 0, $$3155205 = 0, $$3160185 = 0, $$4$lcssa = 0, $$4161186 = 0, $$4206 = 0, $$5$lcssa = 0, $$5162 = 0, $$5162191 = 0, $$5162193 = 0, $$5197 = 0, $$6163204 = 0, $$7$lcssa = 0, $$7196 = 0, $$phi$trans$insert255 = 0, $$pr = 0, $$pre = 0, $$pre254 = 0, $$pre256 = 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, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0;
+ var $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, $227 = 0;
+ var $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, $245 = 0;
+ var $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, $263 = 0;
+ var $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, $279 = 0, $28 = 0, $280 = 0, $281 = 0;
+ var $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, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0;
+ var $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0;
+ var $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0;
+ var $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0;
+ var $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond252 = 0, $or$cond = 0, $or$cond166 = 0, $spec$select = 0, $spec$select165 = 0, $spec$select167 = 0, $spec$select168 = 0, $uglygep = 0, $uglygep241 = 0;
+ var $uglygep244 = 0, $uglygep247 = 0, $umax = 0, $umax249 = 0, $vararg_buffer = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 1616|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1616|0);
+ $vararg_buffer = sp + 1608|0;
+ $3 = sp + 1104|0;
+ $4 = sp + 592|0;
+ $5 = sp + 80|0;
+ $6 = sp + 64|0;
+ $7 = sp;
+ $8 = (__gcry_fips_mode()|0);
+ $9 = HEAP32[18116]|0;
+ $10 = $9 | $8;
+ $11 = ($10|0)==(0);
+ L1: do {
+ if ($11) {
+ HEAP32[18116] = 1;
+ (_do_setkey($3,4704,16)|0);
+ $12 = ((($3)) + 496|0);
+ $13 = HEAP32[$12>>2]|0;
+ $14 = ($13|0)==(0|0);
+ if (!($14)) {
+ FUNCTION_TABLE_v[$13 & 127]();
+ }
+ $15 = ((($3)) + 488|0);
+ $16 = HEAP32[$15>>2]|0;
+ (FUNCTION_TABLE_iiii[$16 & 127]($3,$6,4720)|0);
+ $17 = (_memcmp($6,4736,16)|0);
+ $18 = ($17|0)==(0);
+ do {
+ if ($18) {
+ _check_decryption_preparation($3);
+ $19 = ((($3)) + 500|0);
+ $20 = HEAP32[$19>>2]|0;
+ $21 = ($20|0)==(0|0);
+ if (!($21)) {
+ FUNCTION_TABLE_v[$20 & 127]();
+ }
+ $22 = ((($3)) + 492|0);
+ $23 = HEAP32[$22>>2]|0;
+ (FUNCTION_TABLE_iiii[$23 & 127]($3,$6,$6)|0);
+ $24 = (_memcmp($6,4720,16)|0);
+ $25 = ($24|0)==(0);
+ if ($25) {
+ (_do_setkey($4,4752,24)|0);
+ $26 = ((($4)) + 496|0);
+ $27 = HEAP32[$26>>2]|0;
+ $28 = ($27|0)==(0|0);
+ if (!($28)) {
+ FUNCTION_TABLE_v[$27 & 127]();
+ }
+ $29 = ((($4)) + 488|0);
+ $30 = HEAP32[$29>>2]|0;
+ (FUNCTION_TABLE_iiii[$30 & 127]($4,$6,4784)|0);
+ $31 = (_memcmp($6,4800,16)|0);
+ $32 = ($31|0)==(0);
+ if ($32) {
+ _check_decryption_preparation($4);
+ $33 = ((($4)) + 500|0);
+ $34 = HEAP32[$33>>2]|0;
+ $35 = ($34|0)==(0|0);
+ if (!($35)) {
+ FUNCTION_TABLE_v[$34 & 127]();
+ }
+ $36 = ((($4)) + 492|0);
+ $37 = HEAP32[$36>>2]|0;
+ (FUNCTION_TABLE_iiii[$37 & 127]($4,$6,$6)|0);
+ $38 = (_memcmp($6,4784,16)|0);
+ $39 = ($38|0)==(0);
+ if ($39) {
+ (_do_setkey($5,4816,32)|0);
+ $40 = ((($5)) + 496|0);
+ $41 = HEAP32[$40>>2]|0;
+ $42 = ($41|0)==(0|0);
+ if (!($42)) {
+ FUNCTION_TABLE_v[$41 & 127]();
+ }
+ $43 = ((($5)) + 488|0);
+ $44 = HEAP32[$43>>2]|0;
+ (FUNCTION_TABLE_iiii[$44 & 127]($5,$6,4848)|0);
+ $45 = (_memcmp($6,4864,16)|0);
+ $46 = ($45|0)==(0);
+ if ($46) {
+ _check_decryption_preparation($5);
+ $47 = ((($5)) + 500|0);
+ $48 = HEAP32[$47>>2]|0;
+ $49 = ($48|0)==(0|0);
+ if (!($49)) {
+ FUNCTION_TABLE_v[$48 & 127]();
+ }
+ $50 = ((($5)) + 492|0);
+ $51 = HEAP32[$50>>2]|0;
+ (FUNCTION_TABLE_iiii[$51 & 127]($5,$6,$6)|0);
+ $52 = (_memcmp($6,4848,16)|0);
+ $53 = ($52|0)==(0);
+ if ($53) {
+ $54 = (__gcry_selftest_helper_ctr(59841,1,2,65,9,16,504)|0);
+ $55 = ($54|0)==(0|0);
+ if (!($55)) {
+ $$06$i$ph = $54;
+ label = 25;
+ break;
+ }
+ $56 = (__gcry_selftest_helper_cbc(59841,1,2,64,10,16,504)|0);
+ $57 = ($56|0)==(0|0);
+ if (!($57)) {
+ $$06$i$ph = $56;
+ label = 25;
+ break;
+ }
+ $58 = (__gcry_selftest_helper_cfb(59841,1,2,62,10,16,504)|0);
+ HEAP32[18117] = $58;
+ $59 = ($58|0)==(0|0);
+ if ($59) {
+ break L1;
+ } else {
+ $$06$i171 = $58;
+ break;
+ }
+ } else {
+ $$0$i$i$ph = 59998;
+ }
+ } else {
+ $$0$i$i$ph = 60030;
+ }
+ $$06$i$ph = $$0$i$i$ph;
+ label = 25;
+ break;
+ } else {
+ $$0$i9$i$ph = 59934;
+ }
+ } else {
+ $$0$i9$i$ph = 59966;
+ }
+ $$06$i$ph = $$0$i9$i$ph;
+ label = 25;
+ } else {
+ $$0$i12$i$ph = 59845;
+ label = 8;
+ }
+ } else {
+ $$0$i12$i$ph = 59877;
+ label = 8;
+ }
+ } while(0);
+ if ((label|0) == 8) {
+ $$06$i$ph = $$0$i12$i$ph;
+ label = 25;
+ }
+ if ((label|0) == 25) {
+ HEAP32[18117] = $$06$i$ph;
+ $$06$i171 = $$06$i$ph;
+ }
+ HEAP32[$vararg_buffer>>2] = $$06$i171;
+ __gcry_log_error(63676,$vararg_buffer);
+ label = 28;
+ } else {
+ label = 28;
+ }
+ } while(0);
+ if ((label|0) == 28) {
+ $$pr = HEAP32[18117]|0;
+ $60 = ($$pr|0)==(0|0);
+ if (!($60)) {
+ $$0 = 50;
+ STACKTOP = sp;return ($$0|0);
+ }
+ }
+ switch ($2|0) {
+ case 16: {
+ $$0138 = 10;$$0146 = 4;
+ break;
+ }
+ case 24: {
+ $$0138 = 12;$$0146 = 6;
+ break;
+ }
+ case 32: {
+ $$0138 = 14;$$0146 = 8;
+ break;
+ }
+ default: {
+ $$0 = 44;
+ STACKTOP = sp;return ($$0|0);
+ }
+ }
+ $61 = ((($0)) + 480|0);
+ HEAP32[$61>>2] = $$0138;
+ $62 = ((($0)) + 484|0);
+ $63 = HEAP8[$62>>0]|0;
+ $64 = $63 & -2;
+ HEAP8[$62>>0] = $64;
+ $65 = ((($0)) + 488|0);
+ HEAP32[$65>>2] = 72;
+ $66 = ((($0)) + 492|0);
+ HEAP32[$66>>2] = 73;
+ $67 = ((($0)) + 496|0);
+ HEAP32[$67>>2] = 74;
+ $68 = ((($0)) + 500|0);
+ HEAP32[$68>>2] = 75;
+ $69 = HEAP8[5216]|0;
+ $70 = HEAP8[(5248)>>0]|0;
+ $71 = HEAP8[(5280)>>0]|0;
+ $72 = HEAP8[(5312)>>0]|0;
+ $73 = HEAP8[(5344)>>0]|0;
+ $74 = HEAP8[(5376)>>0]|0;
+ $75 = HEAP8[(5408)>>0]|0;
+ $76 = HEAP8[(5440)>>0]|0;
+ $77 = HEAP8[(5472)>>0]|0;
+ $78 = HEAP8[(5504)>>0]|0;
+ $79 = HEAP8[(5536)>>0]|0;
+ $80 = HEAP8[(5568)>>0]|0;
+ $81 = HEAP8[(5600)>>0]|0;
+ $82 = HEAP8[(5632)>>0]|0;
+ $83 = HEAP8[(5664)>>0]|0;
+ $84 = HEAP8[(5696)>>0]|0;
+ $85 = HEAP8[(5728)>>0]|0;
+ $86 = HEAP8[(5760)>>0]|0;
+ $87 = HEAP8[(5792)>>0]|0;
+ $88 = HEAP8[(5824)>>0]|0;
+ $89 = HEAP8[(5856)>>0]|0;
+ $90 = HEAP8[(5888)>>0]|0;
+ $91 = HEAP8[(5920)>>0]|0;
+ $92 = HEAP8[(5952)>>0]|0;
+ $93 = HEAP8[(5984)>>0]|0;
+ $94 = HEAP8[(6016)>>0]|0;
+ $95 = HEAP8[(6048)>>0]|0;
+ $96 = HEAP8[(6080)>>0]|0;
+ $97 = HEAP8[(6112)>>0]|0;
+ $98 = HEAP8[(6144)>>0]|0;
+ $99 = HEAP8[(6176)>>0]|0;
+ $100 = HEAP8[(6208)>>0]|0;
+ $101 = HEAP8[(6239)>>0]|0;
+ $$0144227 = 0;
+ while(1) {
+ $102 = (($1) + ($$0144227)|0);
+ $103 = HEAP8[$102>>0]|0;
+ $104 = $$0144227 >>> 2;
+ $105 = $$0144227 & 3;
+ $106 = ((($7) + ($104<<2)|0) + ($105)|0);
+ HEAP8[$106>>0] = $103;
+ $107 = (($$0144227) + 1)|0;
+ $exitcond252 = ($107|0)==($2|0);
+ if ($exitcond252) {
+ break;
+ } else {
+ $$0144227 = $107;
+ }
+ }
+ $108 = (($$0146) + -1)|0;
+ $109 = ((($7)) + 32|0);
+ $$0157226 = $108;
+ while(1) {
+ $110 = (($7) + ($$0157226<<2)|0);
+ $111 = HEAP32[$110>>2]|0;
+ $112 = (($109) + ($$0157226<<2)|0);
+ HEAP32[$112>>2] = $111;
+ $113 = (($$0157226) + -1)|0;
+ $114 = ($$0157226|0)>(0);
+ if ($114) {
+ $$0157226 = $113;
+ } else {
+ break;
+ }
+ }
+ $115 = $$0138 | 1;
+ $$0148225 = 0;$$0152224 = 0;$$1158223 = 0;
+ while(1) {
+ $116 = ($$1158223|0)<($$0146|0);
+ $117 = ($$0148225|0)<(4);
+ $118 = $116 & $117;
+ if ($118) {
+ $119 = $$0152224 << 4;
+ $120 = $$0148225 << 2;
+ $121 = (($119) + ($120))|0;
+ $uglygep244 = (($0) + ($121)|0);
+ $122 = $$1158223 << 2;
+ $uglygep247 = (($109) + ($122)|0);
+ $123 = (($$0148225) + -4)|0;
+ $124 = (($$1158223) - ($$0146))|0;
+ $125 = ($123>>>0)>($124>>>0);
+ $umax249 = $125 ? $123 : $124;
+ $126 = Math_imul($umax249, -4)|0;
+ _memcpy(($uglygep244|0),($uglygep247|0),($126|0))|0;
+ $$1149217 = $$0148225;$$2159216 = $$1158223;
+ while(1) {
+ $127 = (($$2159216) + 1)|0;
+ $128 = (($$1149217) + 1)|0;
+ $129 = ($127|0)<($$0146|0);
+ $130 = ($$1149217|0)<(3);
+ $131 = $129 & $130;
+ if ($131) {
+ $$1149217 = $128;$$2159216 = $127;
+ } else {
+ $$1149$lcssa = $128;$$2159$lcssa = $127;
+ break;
+ }
+ }
+ } else {
+ $$1149$lcssa = $$0148225;$$2159$lcssa = $$1158223;
+ }
+ $132 = ($$1149$lcssa|0)==(4);
+ $133 = $132&1;
+ $spec$select = (($$0152224) + ($133))|0;
+ $spec$select165 = $132 ? 0 : $$1149$lcssa;
+ $134 = ($$2159$lcssa|0)<($$0146|0);
+ $135 = ($spec$select>>>0)<($115>>>0);
+ $or$cond = $134 & $135;
+ if ($or$cond) {
+ $$0148225 = $spec$select165;$$0152224 = $spec$select;$$1158223 = $$2159$lcssa;
+ } else {
+ break;
+ }
+ }
+ if ($135) {
+ $136 = (((($109) + ($108<<2)|0)) + 1|0);
+ $137 = (((($109) + ($108<<2)|0)) + 2|0);
+ $138 = ((($109)) + 1|0);
+ $139 = (((($109) + ($108<<2)|0)) + 3|0);
+ $140 = ((($109)) + 2|0);
+ $141 = (($109) + ($108<<2)|0);
+ $142 = ((($109)) + 3|0);
+ $143 = ($$0146|0)==(8);
+ $144 = $$0146 >>> 1;
+ $145 = (($144) + -1)|0;
+ $146 = (($109) + ($145<<2)|0);
+ $147 = (($109) + ($144<<2)|0);
+ $148 = (((($109) + ($145<<2)|0)) + 1|0);
+ $149 = (((($109) + ($144<<2)|0)) + 1|0);
+ $150 = (((($109) + ($145<<2)|0)) + 2|0);
+ $151 = (((($109) + ($144<<2)|0)) + 2|0);
+ $152 = (((($109) + ($145<<2)|0)) + 3|0);
+ $153 = (((($109) + ($144<<2)|0)) + 3|0);
+ $$5162191 = (($144) + 1)|0;
+ $154 = ($$5162191>>>0)<(8);
+ $$phi$trans$insert255 = (($109) + ($144<<2)|0);
+ $$0147213 = 0;$$2154211 = $spec$select;$$3151212 = $spec$select165;
+ while(1) {
+ $155 = HEAP8[$136>>0]|0;
+ $156 = $155&255;
+ $157 = $156 << 2;
+ $158 = ((5217) + ($157)|0);
+ $159 = HEAP8[$158>>0]|0;
+ $160 = HEAP8[$109>>0]|0;
+ $161 = $160 ^ $159;
+ HEAP8[$109>>0] = $161;
+ $162 = HEAP8[$137>>0]|0;
+ $163 = $162&255;
+ $164 = $163 << 2;
+ $165 = ((5217) + ($164)|0);
+ $166 = HEAP8[$165>>0]|0;
+ $167 = HEAP8[$138>>0]|0;
+ $168 = $167 ^ $166;
+ HEAP8[$138>>0] = $168;
+ $169 = HEAP8[$139>>0]|0;
+ $170 = $169&255;
+ $171 = $170 << 2;
+ $172 = ((5217) + ($171)|0);
+ $173 = HEAP8[$172>>0]|0;
+ $174 = HEAP8[$140>>0]|0;
+ $175 = $174 ^ $173;
+ HEAP8[$140>>0] = $175;
+ $176 = HEAP8[$141>>0]|0;
+ $177 = $176&255;
+ $178 = $177 << 2;
+ $179 = ((5217) + ($178)|0);
+ $180 = HEAP8[$179>>0]|0;
+ $181 = HEAP8[$142>>0]|0;
+ $182 = $181 ^ $180;
+ HEAP8[$142>>0] = $182;
+ $183 = (($$0147213) + 1)|0;
+ $184 = (6240 + ($$0147213<<2)|0);
+ $185 = HEAP32[$184>>2]|0;
+ $186 = $161&255;
+ $187 = $185 ^ $186;
+ $188 = $187&255;
+ HEAP8[$109>>0] = $188;
+ if ($143) {
+ $$pre254 = HEAP32[$109>>2]|0;
+ $$4161186 = 1;$198 = $$pre254;
+ while(1) {
+ $195 = (($109) + ($$4161186<<2)|0);
+ $196 = HEAP32[$195>>2]|0;
+ $197 = $196 ^ $198;
+ HEAP32[$195>>2] = $197;
+ $199 = (($$4161186) + 1)|0;
+ $200 = ($199>>>0)<($144>>>0);
+ if ($200) {
+ $$4161186 = $199;$198 = $197;
+ } else {
+ break;
+ }
+ }
+ $201 = HEAP8[$146>>0]|0;
+ $202 = $201&255;
+ $203 = $202 << 2;
+ $204 = ((5217) + ($203)|0);
+ $205 = HEAP8[$204>>0]|0;
+ $206 = HEAP8[$147>>0]|0;
+ $207 = $206 ^ $205;
+ HEAP8[$147>>0] = $207;
+ $208 = HEAP8[$148>>0]|0;
+ $209 = $208&255;
+ $210 = $209 << 2;
+ $211 = ((5217) + ($210)|0);
+ $212 = HEAP8[$211>>0]|0;
+ $213 = HEAP8[$149>>0]|0;
+ $214 = $213 ^ $212;
+ HEAP8[$149>>0] = $214;
+ $215 = HEAP8[$150>>0]|0;
+ $216 = $215&255;
+ $217 = $216 << 2;
+ $218 = ((5217) + ($217)|0);
+ $219 = HEAP8[$218>>0]|0;
+ $220 = HEAP8[$151>>0]|0;
+ $221 = $220 ^ $219;
+ HEAP8[$151>>0] = $221;
+ $222 = HEAP8[$152>>0]|0;
+ $223 = $222&255;
+ $224 = $223 << 2;
+ $225 = ((5217) + ($224)|0);
+ $226 = HEAP8[$225>>0]|0;
+ $227 = HEAP8[$153>>0]|0;
+ $228 = $227 ^ $226;
+ HEAP8[$153>>0] = $228;
+ if ($154) {
+ $$pre256 = HEAP32[$$phi$trans$insert255>>2]|0;
+ $$5162193 = $$5162191;$232 = $$pre256;
+ while(1) {
+ $229 = (($109) + ($$5162193<<2)|0);
+ $230 = HEAP32[$229>>2]|0;
+ $231 = $230 ^ $232;
+ HEAP32[$229>>2] = $231;
+ $$5162 = (($$5162193) + 1)|0;
+ $exitcond = ($$5162|0)==(8);
+ if ($exitcond) {
+ break;
+ } else {
+ $$5162193 = $$5162;$232 = $231;
+ }
+ }
+ }
+ } else {
+ $$pre = HEAP32[$109>>2]|0;
+ $$3160185 = 1;$192 = $$pre;
+ while(1) {
+ $189 = (($109) + ($$3160185<<2)|0);
+ $190 = HEAP32[$189>>2]|0;
+ $191 = $190 ^ $192;
+ HEAP32[$189>>2] = $191;
+ $193 = (($$3160185) + 1)|0;
+ $194 = ($193>>>0)<($$0146>>>0);
+ if ($194) {
+ $$3160185 = $193;$192 = $191;
+ } else {
+ break;
+ }
+ }
+ }
+ $233 = ($$2154211|0)<($115|0);
+ if ($233) {
+ $$3155205 = $$2154211;$$4206 = $$3151212;$$6163204 = 0;
+ while(1) {
+ $234 = ($$6163204|0)<($$0146|0);
+ $235 = ($$4206|0)<(4);
+ $236 = $234 & $235;
+ if ($236) {
+ $237 = $$3155205 << 4;
+ $238 = $$4206 << 2;
+ $239 = (($237) + ($238))|0;
+ $uglygep = (($0) + ($239)|0);
+ $240 = $$6163204 << 2;
+ $uglygep241 = (($109) + ($240)|0);
+ $241 = (($$4206) + -4)|0;
+ $242 = (($$6163204) - ($$0146))|0;
+ $243 = ($241>>>0)>($242>>>0);
+ $umax = $243 ? $241 : $242;
+ $244 = Math_imul($umax, -4)|0;
+ _memcpy(($uglygep|0),($uglygep241|0),($244|0))|0;
+ $$5197 = $$4206;$$7196 = $$6163204;
+ while(1) {
+ $245 = (($$7196) + 1)|0;
+ $246 = (($$5197) + 1)|0;
+ $247 = ($245|0)<($$0146|0);
+ $248 = ($$5197|0)<(3);
+ $249 = $247 & $248;
+ if ($249) {
+ $$5197 = $246;$$7196 = $245;
+ } else {
+ $$5$lcssa = $246;$$7$lcssa = $245;
+ break;
+ }
+ }
+ } else {
+ $$5$lcssa = $$4206;$$7$lcssa = $$6163204;
+ }
+ $250 = ($$5$lcssa|0)==(4);
+ $251 = $250&1;
+ $spec$select167 = (($$3155205) + ($251))|0;
+ $spec$select168 = $250 ? 0 : $$5$lcssa;
+ $252 = ($$7$lcssa|0)<($$0146|0);
+ $253 = ($spec$select167|0)<($115|0);
+ $or$cond166 = $252 & $253;
+ if ($or$cond166) {
+ $$3155205 = $spec$select167;$$4206 = $spec$select168;$$6163204 = $$7$lcssa;
+ } else {
+ $$3155$lcssa = $spec$select167;$$4$lcssa = $spec$select168;
+ break;
+ }
+ }
+ } else {
+ $$3155$lcssa = $$2154211;$$4$lcssa = $$3151212;
+ }
+ $254 = ($$3155$lcssa|0)<($115|0);
+ if ($254) {
+ $$0147213 = $183;$$2154211 = $$3155$lcssa;$$3151212 = $$4$lcssa;
+ } else {
+ break;
+ }
+ }
+ }
+ $255 = $7;
+ $256 = $255;
+ HEAP32[$256>>2] = 0;
+ $257 = (($255) + 4)|0;
+ $258 = $257;
+ HEAP32[$258>>2] = 0;
+ $259 = ((($7)) + 8|0);
+ $260 = $259;
+ $261 = $260;
+ HEAP32[$261>>2] = 0;
+ $262 = (($260) + 4)|0;
+ $263 = $262;
+ HEAP32[$263>>2] = 0;
+ $264 = ((($7)) + 16|0);
+ $265 = $264;
+ $266 = $265;
+ HEAP32[$266>>2] = 0;
+ $267 = (($265) + 4)|0;
+ $268 = $267;
+ HEAP32[$268>>2] = 0;
+ $269 = ((($7)) + 24|0);
+ $270 = $269;
+ $271 = $270;
+ HEAP32[$271>>2] = 0;
+ $272 = (($270) + 4)|0;
+ $273 = $272;
+ HEAP32[$273>>2] = 0;
+ $274 = ((($7)) + 32|0);
+ $275 = $274;
+ $276 = $275;
+ HEAP32[$276>>2] = 0;
+ $277 = (($275) + 4)|0;
+ $278 = $277;
+ HEAP32[$278>>2] = 0;
+ $279 = ((($7)) + 40|0);
+ $280 = $279;
+ $281 = $280;
+ HEAP32[$281>>2] = 0;
+ $282 = (($280) + 4)|0;
+ $283 = $282;
+ HEAP32[$283>>2] = 0;
+ $284 = ((($7)) + 48|0);
+ $285 = $284;
+ $286 = $285;
+ HEAP32[$286>>2] = 0;
+ $287 = (($285) + 4)|0;
+ $288 = $287;
+ HEAP32[$288>>2] = 0;
+ $289 = ((($7)) + 56|0);
+ $290 = $289;
+ $291 = $290;
+ HEAP32[$291>>2] = 0;
+ $292 = (($290) + 4)|0;
+ $293 = $292;
+ HEAP32[$293>>2] = 0;
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+}
+function _check_decryption_preparation($0) {
+ $0 = $0|0;
+ var $$0$lcssa$i = 0, $$079$i = 0, $$lcssa$i = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0;
+ var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0;
+ var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0;
+ var $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0;
+ var $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0;
+ var $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0;
+ var $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0;
+ var $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0;
+ var $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0;
+ var $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0;
+ var $277 = 0, $278 = 0, $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;
+ var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0;
+ var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0;
+ var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $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;
+ var $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = ((($0)) + 484|0);
+ $2 = HEAP8[$1>>0]|0;
+ $3 = $2 & 1;
+ $4 = ($3<<24>>24)==(0);
+ if (!($4)) {
+ return;
+ }
+ $5 = HEAP8[5216]|0;
+ $6 = HEAP8[(5248)>>0]|0;
+ $7 = HEAP8[(5280)>>0]|0;
+ $8 = HEAP8[(5312)>>0]|0;
+ $9 = HEAP8[(5344)>>0]|0;
+ $10 = HEAP8[(5376)>>0]|0;
+ $11 = HEAP8[(5408)>>0]|0;
+ $12 = HEAP8[(5440)>>0]|0;
+ $13 = HEAP8[(5472)>>0]|0;
+ $14 = HEAP8[(5504)>>0]|0;
+ $15 = HEAP8[(5536)>>0]|0;
+ $16 = HEAP8[(5568)>>0]|0;
+ $17 = HEAP8[(5600)>>0]|0;
+ $18 = HEAP8[(5632)>>0]|0;
+ $19 = HEAP8[(5664)>>0]|0;
+ $20 = HEAP8[(5696)>>0]|0;
+ $21 = HEAP8[(5728)>>0]|0;
+ $22 = HEAP8[(5760)>>0]|0;
+ $23 = HEAP8[(5792)>>0]|0;
+ $24 = HEAP8[(5824)>>0]|0;
+ $25 = HEAP8[(5856)>>0]|0;
+ $26 = HEAP8[(5888)>>0]|0;
+ $27 = HEAP8[(5920)>>0]|0;
+ $28 = HEAP8[(5952)>>0]|0;
+ $29 = HEAP8[(5984)>>0]|0;
+ $30 = HEAP8[(6016)>>0]|0;
+ $31 = HEAP8[(6048)>>0]|0;
+ $32 = HEAP8[(6080)>>0]|0;
+ $33 = HEAP8[(6112)>>0]|0;
+ $34 = HEAP8[(6144)>>0]|0;
+ $35 = HEAP8[(6176)>>0]|0;
+ $36 = HEAP8[(6208)>>0]|0;
+ $37 = HEAP8[(6239)>>0]|0;
+ $38 = HEAP8[38052]|0;
+ $39 = HEAP8[(38084)>>0]|0;
+ $40 = HEAP8[(38116)>>0]|0;
+ $41 = HEAP8[(38148)>>0]|0;
+ $42 = HEAP8[(38180)>>0]|0;
+ $43 = HEAP8[(38212)>>0]|0;
+ $44 = HEAP8[(38244)>>0]|0;
+ $45 = HEAP8[(38276)>>0]|0;
+ $46 = HEAP8[(38308)>>0]|0;
+ $47 = HEAP8[(38340)>>0]|0;
+ $48 = HEAP8[(38372)>>0]|0;
+ $49 = HEAP8[(38404)>>0]|0;
+ $50 = HEAP8[(38436)>>0]|0;
+ $51 = HEAP8[(38468)>>0]|0;
+ $52 = HEAP8[(38500)>>0]|0;
+ $53 = HEAP8[(38532)>>0]|0;
+ $54 = HEAP8[(38564)>>0]|0;
+ $55 = HEAP8[(38596)>>0]|0;
+ $56 = HEAP8[(38628)>>0]|0;
+ $57 = HEAP8[(38660)>>0]|0;
+ $58 = HEAP8[(38692)>>0]|0;
+ $59 = HEAP8[(38724)>>0]|0;
+ $60 = HEAP8[(38756)>>0]|0;
+ $61 = HEAP8[(38788)>>0]|0;
+ $62 = HEAP8[(38820)>>0]|0;
+ $63 = HEAP8[(38852)>>0]|0;
+ $64 = HEAP8[(38884)>>0]|0;
+ $65 = HEAP8[(38916)>>0]|0;
+ $66 = HEAP8[(38948)>>0]|0;
+ $67 = HEAP8[(38980)>>0]|0;
+ $68 = HEAP8[(39012)>>0]|0;
+ $69 = HEAP8[(39044)>>0]|0;
+ $70 = HEAP8[(39076)>>0]|0;
+ $71 = HEAP8[(39108)>>0]|0;
+ $72 = HEAP8[(39140)>>0]|0;
+ $73 = HEAP8[(39172)>>0]|0;
+ $74 = HEAP8[(39204)>>0]|0;
+ $75 = HEAP8[(39236)>>0]|0;
+ $76 = HEAP8[(39268)>>0]|0;
+ $77 = HEAP8[(39300)>>0]|0;
+ $78 = HEAP8[(39331)>>0]|0;
+ $79 = HEAP32[$0>>2]|0;
+ $80 = ((($0)) + 240|0);
+ HEAP32[$80>>2] = $79;
+ $81 = ((($0)) + 4|0);
+ $82 = HEAP32[$81>>2]|0;
+ $83 = ((($80)) + 4|0);
+ HEAP32[$83>>2] = $82;
+ $84 = ((($0)) + 8|0);
+ $85 = HEAP32[$84>>2]|0;
+ $86 = ((($0)) + 248|0);
+ HEAP32[$86>>2] = $85;
+ $87 = ((($0)) + 12|0);
+ $88 = HEAP32[$87>>2]|0;
+ $89 = ((($0)) + 252|0);
+ HEAP32[$89>>2] = $88;
+ $90 = ((($0)) + 480|0);
+ $91 = HEAP32[$90>>2]|0;
+ $92 = ($91|0)>(1);
+ $93 = ((($0)) + 16|0);
+ if ($92) {
+ $$079$i = 1;$96 = $93;
+ while(1) {
+ $94 = (($80) + ($$079$i<<4)|0);
+ $95 = HEAP32[$96>>2]|0;
+ $97 = $95 << 2;
+ $98 = $97 & 1020;
+ $99 = ((5217) + ($98)|0);
+ $100 = HEAP8[$99>>0]|0;
+ $101 = $100&255;
+ $102 = (38052 + ($101<<2)|0);
+ $103 = HEAP32[$102>>2]|0;
+ $104 = $95 >>> 6;
+ $105 = $104 & 1020;
+ $106 = ((5217) + ($105)|0);
+ $107 = HEAP8[$106>>0]|0;
+ $108 = $107&255;
+ $109 = (38052 + ($108<<2)|0);
+ $110 = HEAP32[$109>>2]|0;
+ $111 = $110 << 8;
+ $112 = $110 >>> 24;
+ $113 = $111 | $112;
+ $114 = $113 ^ $103;
+ $115 = $95 >>> 14;
+ $116 = $115 & 1020;
+ $117 = ((5217) + ($116)|0);
+ $118 = HEAP8[$117>>0]|0;
+ $119 = $118&255;
+ $120 = (38052 + ($119<<2)|0);
+ $121 = HEAP32[$120>>2]|0;
+ $122 = $121 << 16;
+ $123 = $121 >>> 16;
+ $124 = $122 | $123;
+ $125 = $114 ^ $124;
+ $126 = $95 >>> 24;
+ $127 = $126 << 2;
+ $128 = ((5217) + ($127)|0);
+ $129 = HEAP8[$128>>0]|0;
+ $130 = $129&255;
+ $131 = (38052 + ($130<<2)|0);
+ $132 = HEAP32[$131>>2]|0;
+ $133 = $132 << 24;
+ $134 = $132 >>> 8;
+ $135 = $133 | $134;
+ $136 = $125 ^ $135;
+ HEAP32[$94>>2] = $136;
+ $137 = (((($0) + ($$079$i<<4)|0)) + 4|0);
+ $138 = HEAP32[$137>>2]|0;
+ $139 = $138 << 2;
+ $140 = $139 & 1020;
+ $141 = ((5217) + ($140)|0);
+ $142 = HEAP8[$141>>0]|0;
+ $143 = $142&255;
+ $144 = (38052 + ($143<<2)|0);
+ $145 = HEAP32[$144>>2]|0;
+ $146 = $138 >>> 6;
+ $147 = $146 & 1020;
+ $148 = ((5217) + ($147)|0);
+ $149 = HEAP8[$148>>0]|0;
+ $150 = $149&255;
+ $151 = (38052 + ($150<<2)|0);
+ $152 = HEAP32[$151>>2]|0;
+ $153 = $152 << 8;
+ $154 = $152 >>> 24;
+ $155 = $153 | $154;
+ $156 = $155 ^ $145;
+ $157 = $138 >>> 14;
+ $158 = $157 & 1020;
+ $159 = ((5217) + ($158)|0);
+ $160 = HEAP8[$159>>0]|0;
+ $161 = $160&255;
+ $162 = (38052 + ($161<<2)|0);
+ $163 = HEAP32[$162>>2]|0;
+ $164 = $163 << 16;
+ $165 = $163 >>> 16;
+ $166 = $164 | $165;
+ $167 = $156 ^ $166;
+ $168 = $138 >>> 24;
+ $169 = $168 << 2;
+ $170 = ((5217) + ($169)|0);
+ $171 = HEAP8[$170>>0]|0;
+ $172 = $171&255;
+ $173 = (38052 + ($172<<2)|0);
+ $174 = HEAP32[$173>>2]|0;
+ $175 = $174 << 24;
+ $176 = $174 >>> 8;
+ $177 = $175 | $176;
+ $178 = $167 ^ $177;
+ $179 = (((($80) + ($$079$i<<4)|0)) + 4|0);
+ HEAP32[$179>>2] = $178;
+ $180 = (((($0) + ($$079$i<<4)|0)) + 8|0);
+ $181 = HEAP32[$180>>2]|0;
+ $182 = $181 << 2;
+ $183 = $182 & 1020;
+ $184 = ((5217) + ($183)|0);
+ $185 = HEAP8[$184>>0]|0;
+ $186 = $185&255;
+ $187 = (38052 + ($186<<2)|0);
+ $188 = HEAP32[$187>>2]|0;
+ $189 = $181 >>> 6;
+ $190 = $189 & 1020;
+ $191 = ((5217) + ($190)|0);
+ $192 = HEAP8[$191>>0]|0;
+ $193 = $192&255;
+ $194 = (38052 + ($193<<2)|0);
+ $195 = HEAP32[$194>>2]|0;
+ $196 = $195 << 8;
+ $197 = $195 >>> 24;
+ $198 = $196 | $197;
+ $199 = $198 ^ $188;
+ $200 = $181 >>> 14;
+ $201 = $200 & 1020;
+ $202 = ((5217) + ($201)|0);
+ $203 = HEAP8[$202>>0]|0;
+ $204 = $203&255;
+ $205 = (38052 + ($204<<2)|0);
+ $206 = HEAP32[$205>>2]|0;
+ $207 = $206 << 16;
+ $208 = $206 >>> 16;
+ $209 = $207 | $208;
+ $210 = $199 ^ $209;
+ $211 = $181 >>> 24;
+ $212 = $211 << 2;
+ $213 = ((5217) + ($212)|0);
+ $214 = HEAP8[$213>>0]|0;
+ $215 = $214&255;
+ $216 = (38052 + ($215<<2)|0);
+ $217 = HEAP32[$216>>2]|0;
+ $218 = $217 << 24;
+ $219 = $217 >>> 8;
+ $220 = $218 | $219;
+ $221 = $210 ^ $220;
+ $222 = (((($80) + ($$079$i<<4)|0)) + 8|0);
+ HEAP32[$222>>2] = $221;
+ $223 = (((($0) + ($$079$i<<4)|0)) + 12|0);
+ $224 = HEAP32[$223>>2]|0;
+ $225 = $224 << 2;
+ $226 = $225 & 1020;
+ $227 = ((5217) + ($226)|0);
+ $228 = HEAP8[$227>>0]|0;
+ $229 = $228&255;
+ $230 = (38052 + ($229<<2)|0);
+ $231 = HEAP32[$230>>2]|0;
+ $232 = $224 >>> 6;
+ $233 = $232 & 1020;
+ $234 = ((5217) + ($233)|0);
+ $235 = HEAP8[$234>>0]|0;
+ $236 = $235&255;
+ $237 = (38052 + ($236<<2)|0);
+ $238 = HEAP32[$237>>2]|0;
+ $239 = $238 << 8;
+ $240 = $238 >>> 24;
+ $241 = $239 | $240;
+ $242 = $241 ^ $231;
+ $243 = $224 >>> 14;
+ $244 = $243 & 1020;
+ $245 = ((5217) + ($244)|0);
+ $246 = HEAP8[$245>>0]|0;
+ $247 = $246&255;
+ $248 = (38052 + ($247<<2)|0);
+ $249 = HEAP32[$248>>2]|0;
+ $250 = $249 << 16;
+ $251 = $249 >>> 16;
+ $252 = $250 | $251;
+ $253 = $242 ^ $252;
+ $254 = $224 >>> 24;
+ $255 = $254 << 2;
+ $256 = ((5217) + ($255)|0);
+ $257 = HEAP8[$256>>0]|0;
+ $258 = $257&255;
+ $259 = (38052 + ($258<<2)|0);
+ $260 = HEAP32[$259>>2]|0;
+ $261 = $260 << 24;
+ $262 = $260 >>> 8;
+ $263 = $261 | $262;
+ $264 = $253 ^ $263;
+ $265 = (((($80) + ($$079$i<<4)|0)) + 12|0);
+ HEAP32[$265>>2] = $264;
+ $266 = (($$079$i) + 1)|0;
+ $267 = HEAP32[$90>>2]|0;
+ $268 = ($266|0)<($267|0);
+ $269 = (($0) + ($266<<4)|0);
+ if ($268) {
+ $$079$i = $266;$96 = $269;
+ } else {
+ $$0$lcssa$i = $266;$$lcssa$i = $269;
+ break;
+ }
+ }
+ } else {
+ $$0$lcssa$i = 1;$$lcssa$i = $93;
+ }
+ $270 = HEAP32[$$lcssa$i>>2]|0;
+ $271 = (($80) + ($$0$lcssa$i<<4)|0);
+ HEAP32[$271>>2] = $270;
+ $272 = (((($0) + ($$0$lcssa$i<<4)|0)) + 4|0);
+ $273 = HEAP32[$272>>2]|0;
+ $274 = (((($80) + ($$0$lcssa$i<<4)|0)) + 4|0);
+ HEAP32[$274>>2] = $273;
+ $275 = (((($0) + ($$0$lcssa$i<<4)|0)) + 8|0);
+ $276 = HEAP32[$275>>2]|0;
+ $277 = (((($80) + ($$0$lcssa$i<<4)|0)) + 8|0);
+ HEAP32[$277>>2] = $276;
+ $278 = (((($0) + ($$0$lcssa$i<<4)|0)) + 12|0);
+ $279 = HEAP32[$278>>2]|0;
+ $280 = (((($80) + ($$0$lcssa$i<<4)|0)) + 12|0);
+ HEAP32[$280>>2] = $279;
+ $281 = HEAP8[$1>>0]|0;
+ $282 = $281 | 1;
+ HEAP8[$1>>0] = $282;
+ return;
+}
+function _selftest_fips_128_38a($0) {
+ $0 = $0|0;
+ var $$03446$lcssa = 0, $$036 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
+ var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0;
+ var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0;
+ var $62 = 0, $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;
+ var $80 = 0, $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 + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
+ $1 = sp;
+ $2 = sp + 20|0;
+ $3 = sp + 16|0;
+ HEAP32[$2>>2] = 0;
+ HEAP32[$3>>2] = 0;
+ switch ($0|0) {
+ case 2: {
+ $$03446$lcssa = 0;
+ break;
+ }
+ case 5: {
+ $$03446$lcssa = 1;
+ break;
+ }
+ default: {
+ __gcry_cipher_close(0);
+ __gcry_cipher_close(0);
+ $$036 = 60062;
+ STACKTOP = sp;return ($$036|0);
+ }
+ }
+ $4 = (4880 + (($$03446$lcssa*164)|0)|0);
+ $5 = HEAP32[$4>>2]|0;
+ $6 = (__gcry_cipher_open($2,7,$5,0)|0);
+ $7 = ($6|0)==(0);
+ if (!($7)) {
+ $8 = HEAP32[$2>>2]|0;
+ __gcry_cipher_close($8);
+ $9 = HEAP32[$3>>2]|0;
+ __gcry_cipher_close($9);
+ $$036 = 60089;
+ STACKTOP = sp;return ($$036|0);
+ }
+ $10 = (__gcry_cipher_open($3,7,$5,0)|0);
+ $11 = ($10|0)==(0);
+ $12 = HEAP32[$2>>2]|0;
+ if (!($11)) {
+ __gcry_cipher_close($12);
+ $13 = HEAP32[$3>>2]|0;
+ __gcry_cipher_close($13);
+ $$036 = 60089;
+ STACKTOP = sp;return ($$036|0);
+ }
+ $14 = (((4880 + (($$03446$lcssa*164)|0)|0)) + 4|0);
+ $15 = (__gcry_cipher_setkey($12,$14,16)|0);
+ $16 = ($15|0)==(0);
+ if ($16) {
+ $18 = HEAP32[$3>>2]|0;
+ $19 = (__gcry_cipher_setkey($18,$14,16)|0);
+ $20 = ($19|0)==(0);
+ $21 = HEAP32[$2>>2]|0;
+ if ($20) {
+ $24 = (((4880 + (($$03446$lcssa*164)|0)|0)) + 20|0);
+ $25 = (__gcry_cipher_setiv($21,$24,16)|0);
+ $26 = ($25|0)==(0);
+ if ($26) {
+ $27 = HEAP32[$3>>2]|0;
+ $28 = (__gcry_cipher_setiv($27,$24,16)|0);
+ $29 = ($28|0)==(0);
+ if ($29) {
+ $32 = HEAP32[$2>>2]|0;
+ $33 = (((4880 + (($$03446$lcssa*164)|0)|0)) + 36|0);
+ $34 = (__gcry_cipher_encrypt($32,$1,16,$33,16)|0);
+ $35 = ($34|0)==(0);
+ L20: do {
+ if ($35) {
+ $42 = (((4880 + (($$03446$lcssa*164)|0)|0)) + 52|0);
+ $43 = (_memcmp($1,$42,16)|0);
+ $44 = ($43|0)==(0);
+ L22: do {
+ if ($44) {
+ $47 = HEAP32[$3>>2]|0;
+ $48 = (__gcry_cipher_decrypt($47,$1,16,$42,16)|0);
+ $49 = ($48|0)==(0);
+ L24: do {
+ if ($49) {
+ $52 = (_memcmp($1,$33,16)|0);
+ $53 = ($52|0)==(0);
+ do {
+ if ($53) {
+ $36 = HEAP32[$2>>2]|0;
+ $37 = (((4880 + (($$03446$lcssa*164)|0)|0)) + 68|0);
+ $38 = (__gcry_cipher_encrypt($36,$1,16,$37,16)|0);
+ $39 = ($38|0)==(0);
+ if (!($39)) {
+ break L20;
+ }
+ $56 = (((4880 + (($$03446$lcssa*164)|0)|0)) + 84|0);
+ $57 = (_memcmp($1,$56,16)|0);
+ $58 = ($57|0)==(0);
+ if (!($58)) {
+ break L22;
+ }
+ $59 = HEAP32[$3>>2]|0;
+ $60 = (__gcry_cipher_decrypt($59,$1,16,$56,16)|0);
+ $61 = ($60|0)==(0);
+ if (!($61)) {
+ break L24;
+ }
+ $62 = (_memcmp($1,$37,16)|0);
+ $63 = ($62|0)==(0);
+ if ($63) {
+ $64 = HEAP32[$2>>2]|0;
+ $65 = (((4880 + (($$03446$lcssa*164)|0)|0)) + 100|0);
+ $66 = (__gcry_cipher_encrypt($64,$1,16,$65,16)|0);
+ $67 = ($66|0)==(0);
+ if (!($67)) {
+ break L20;
+ }
+ $68 = (((4880 + (($$03446$lcssa*164)|0)|0)) + 116|0);
+ $69 = (_memcmp($1,$68,16)|0);
+ $70 = ($69|0)==(0);
+ if (!($70)) {
+ break L22;
+ }
+ $71 = HEAP32[$3>>2]|0;
+ $72 = (__gcry_cipher_decrypt($71,$1,16,$68,16)|0);
+ $73 = ($72|0)==(0);
+ if (!($73)) {
+ break L24;
+ }
+ $74 = (_memcmp($1,$65,16)|0);
+ $75 = ($74|0)==(0);
+ if (!($75)) {
+ break;
+ }
+ $76 = HEAP32[$2>>2]|0;
+ $77 = (((4880 + (($$03446$lcssa*164)|0)|0)) + 132|0);
+ $78 = (__gcry_cipher_encrypt($76,$1,16,$77,16)|0);
+ $79 = ($78|0)==(0);
+ if (!($79)) {
+ break L20;
+ }
+ $80 = (((4880 + (($$03446$lcssa*164)|0)|0)) + 148|0);
+ $81 = (_memcmp($1,$80,16)|0);
+ $82 = ($81|0)==(0);
+ if (!($82)) {
+ break L22;
+ }
+ $83 = HEAP32[$3>>2]|0;
+ $84 = (__gcry_cipher_decrypt($83,$1,16,$80,16)|0);
+ $85 = ($84|0)==(0);
+ if (!($85)) {
+ break L24;
+ }
+ $86 = (_memcmp($1,$77,16)|0);
+ $87 = ($86|0)==(0);
+ if (!($87)) {
+ break;
+ }
+ $88 = HEAP32[$2>>2]|0;
+ __gcry_cipher_close($88);
+ $89 = HEAP32[$3>>2]|0;
+ __gcry_cipher_close($89);
+ $$036 = 0;
+ STACKTOP = sp;return ($$036|0);
+ }
+ }
+ } while(0);
+ $54 = HEAP32[$2>>2]|0;
+ __gcry_cipher_close($54);
+ $55 = HEAP32[$3>>2]|0;
+ __gcry_cipher_close($55);
+ $$036 = 60158;
+ STACKTOP = sp;return ($$036|0);
+ }
+ } while(0);
+ $50 = HEAP32[$2>>2]|0;
+ __gcry_cipher_close($50);
+ $51 = HEAP32[$3>>2]|0;
+ __gcry_cipher_close($51);
+ $$036 = 60142;
+ STACKTOP = sp;return ($$036|0);
+ }
+ } while(0);
+ $45 = HEAP32[$2>>2]|0;
+ __gcry_cipher_close($45);
+ $46 = HEAP32[$3>>2]|0;
+ __gcry_cipher_close($46);
+ $$036 = 60125;
+ STACKTOP = sp;return ($$036|0);
+ }
+ } while(0);
+ $40 = HEAP32[$2>>2]|0;
+ __gcry_cipher_close($40);
+ $41 = HEAP32[$3>>2]|0;
+ __gcry_cipher_close($41);
+ $$036 = 60109;
+ STACKTOP = sp;return ($$036|0);
+ }
+ }
+ $30 = HEAP32[$2>>2]|0;
+ __gcry_cipher_close($30);
+ $31 = HEAP32[$3>>2]|0;
+ __gcry_cipher_close($31);
+ $$036 = 60102;
+ STACKTOP = sp;return ($$036|0);
+ } else {
+ $22 = $21;
+ }
+ } else {
+ $17 = HEAP32[$2>>2]|0;
+ $22 = $17;
+ }
+ __gcry_cipher_close($22);
+ $23 = HEAP32[$3>>2]|0;
+ __gcry_cipher_close($23);
+ $$036 = 60094;
+ STACKTOP = sp;return ($$036|0);
+}
+function __gcry_aes_ctr_enc($0,$1,$2,$3,$4) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ var $$06383 = 0, $$06982 = 0, $$07081 = 0, $$084 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0;
+ var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0;
+ var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0;
+ var $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0;
+ var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0;
+ var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0;
+ var $62 = 0, $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;
+ 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, $or$cond = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $5 = sp;
+ $6 = ((($0)) + 496|0);
+ $7 = HEAP32[$6>>2]|0;
+ $8 = ($7|0)==(0|0);
+ if (!($8)) {
+ FUNCTION_TABLE_v[$7 & 127]();
+ }
+ $9 = ((($0)) + 488|0);
+ $10 = HEAP32[$9>>2]|0;
+ $11 = ($4|0)==(0);
+ if ($11) {
+ $12 = $5;
+ $13 = $12;
+ HEAP32[$13>>2] = 0;
+ $14 = (($12) + 4)|0;
+ $15 = $14;
+ HEAP32[$15>>2] = 0;
+ $16 = ((($5)) + 8|0);
+ $17 = $16;
+ $18 = $17;
+ HEAP32[$18>>2] = 0;
+ $19 = (($17) + 4)|0;
+ $20 = $19;
+ HEAP32[$20>>2] = 0;
+ STACKTOP = sp;return;
+ }
+ $21 = ((($5)) + 4|0);
+ $22 = ((($5)) + 8|0);
+ $23 = ((($5)) + 12|0);
+ $24 = ((($5)) + 1|0);
+ $25 = ((($5)) + 2|0);
+ $26 = ((($5)) + 3|0);
+ $27 = ((($5)) + 4|0);
+ $28 = ((($27)) + 1|0);
+ $29 = ((($27)) + 2|0);
+ $30 = ((($27)) + 3|0);
+ $31 = ((($5)) + 8|0);
+ $32 = ((($31)) + 1|0);
+ $33 = ((($31)) + 2|0);
+ $34 = ((($31)) + 3|0);
+ $35 = ((($5)) + 12|0);
+ $36 = ((($35)) + 1|0);
+ $37 = ((($35)) + 2|0);
+ $38 = ((($35)) + 3|0);
+ $$06383 = $2;$$06982 = $3;$$084 = $4;
+ while(1) {
+ $39 = (FUNCTION_TABLE_iiii[$10 & 127]($0,$5,$1)|0);
+ $40 = $$06383;
+ $41 = $$06982;
+ $42 = $40 | $41;
+ $43 = $42 & 3;
+ $44 = ($43|0)==(0);
+ if ($44) {
+ $45 = HEAP32[$5>>2]|0;
+ $46 = ((($$06982)) + 4|0);
+ $47 = HEAP32[$$06982>>2]|0;
+ $48 = $47 ^ $45;
+ $49 = ((($$06383)) + 4|0);
+ HEAP32[$$06383>>2] = $48;
+ $50 = HEAP32[$21>>2]|0;
+ $51 = ((($$06982)) + 8|0);
+ $52 = HEAP32[$46>>2]|0;
+ $53 = $52 ^ $50;
+ $54 = ((($$06383)) + 8|0);
+ HEAP32[$49>>2] = $53;
+ $55 = HEAP32[$22>>2]|0;
+ $56 = ((($$06982)) + 12|0);
+ $57 = HEAP32[$51>>2]|0;
+ $58 = $57 ^ $55;
+ $59 = ((($$06383)) + 12|0);
+ HEAP32[$54>>2] = $58;
+ $60 = HEAP32[$23>>2]|0;
+ $61 = HEAP32[$56>>2]|0;
+ $62 = $61 ^ $60;
+ HEAP32[$59>>2] = $62;
+ } else {
+ $63 = HEAP8[$5>>0]|0;
+ $64 = ((($$06982)) + 1|0);
+ $65 = HEAP8[$$06982>>0]|0;
+ $66 = $65 ^ $63;
+ $67 = ((($$06383)) + 1|0);
+ HEAP8[$$06383>>0] = $66;
+ $68 = HEAP8[$24>>0]|0;
+ $69 = ((($$06982)) + 2|0);
+ $70 = HEAP8[$64>>0]|0;
+ $71 = $70 ^ $68;
+ $72 = ((($$06383)) + 2|0);
+ HEAP8[$67>>0] = $71;
+ $73 = HEAP8[$25>>0]|0;
+ $74 = ((($$06982)) + 3|0);
+ $75 = HEAP8[$69>>0]|0;
+ $76 = $75 ^ $73;
+ $77 = ((($$06383)) + 3|0);
+ HEAP8[$72>>0] = $76;
+ $78 = HEAP8[$26>>0]|0;
+ $79 = ((($$06982)) + 4|0);
+ $80 = HEAP8[$74>>0]|0;
+ $81 = $80 ^ $78;
+ $82 = ((($$06383)) + 4|0);
+ HEAP8[$77>>0] = $81;
+ $83 = HEAP8[$27>>0]|0;
+ $84 = ((($$06982)) + 5|0);
+ $85 = HEAP8[$79>>0]|0;
+ $86 = $85 ^ $83;
+ $87 = ((($$06383)) + 5|0);
+ HEAP8[$82>>0] = $86;
+ $88 = HEAP8[$28>>0]|0;
+ $89 = ((($$06982)) + 6|0);
+ $90 = HEAP8[$84>>0]|0;
+ $91 = $90 ^ $88;
+ $92 = ((($$06383)) + 6|0);
+ HEAP8[$87>>0] = $91;
+ $93 = HEAP8[$29>>0]|0;
+ $94 = ((($$06982)) + 7|0);
+ $95 = HEAP8[$89>>0]|0;
+ $96 = $95 ^ $93;
+ $97 = ((($$06383)) + 7|0);
+ HEAP8[$92>>0] = $96;
+ $98 = HEAP8[$30>>0]|0;
+ $99 = ((($$06982)) + 8|0);
+ $100 = HEAP8[$94>>0]|0;
+ $101 = $100 ^ $98;
+ $102 = ((($$06383)) + 8|0);
+ HEAP8[$97>>0] = $101;
+ $103 = HEAP8[$31>>0]|0;
+ $104 = ((($$06982)) + 9|0);
+ $105 = HEAP8[$99>>0]|0;
+ $106 = $105 ^ $103;
+ $107 = ((($$06383)) + 9|0);
+ HEAP8[$102>>0] = $106;
+ $108 = HEAP8[$32>>0]|0;
+ $109 = ((($$06982)) + 10|0);
+ $110 = HEAP8[$104>>0]|0;
+ $111 = $110 ^ $108;
+ $112 = ((($$06383)) + 10|0);
+ HEAP8[$107>>0] = $111;
+ $113 = HEAP8[$33>>0]|0;
+ $114 = ((($$06982)) + 11|0);
+ $115 = HEAP8[$109>>0]|0;
+ $116 = $115 ^ $113;
+ $117 = ((($$06383)) + 11|0);
+ HEAP8[$112>>0] = $116;
+ $118 = HEAP8[$34>>0]|0;
+ $119 = ((($$06982)) + 12|0);
+ $120 = HEAP8[$114>>0]|0;
+ $121 = $120 ^ $118;
+ $122 = ((($$06383)) + 12|0);
+ HEAP8[$117>>0] = $121;
+ $123 = HEAP8[$35>>0]|0;
+ $124 = ((($$06982)) + 13|0);
+ $125 = HEAP8[$119>>0]|0;
+ $126 = $125 ^ $123;
+ $127 = ((($$06383)) + 13|0);
+ HEAP8[$122>>0] = $126;
+ $128 = HEAP8[$36>>0]|0;
+ $129 = ((($$06982)) + 14|0);
+ $130 = HEAP8[$124>>0]|0;
+ $131 = $130 ^ $128;
+ $132 = ((($$06383)) + 14|0);
+ HEAP8[$127>>0] = $131;
+ $133 = HEAP8[$37>>0]|0;
+ $134 = ((($$06982)) + 15|0);
+ $135 = HEAP8[$129>>0]|0;
+ $136 = $135 ^ $133;
+ $137 = ((($$06383)) + 15|0);
+ HEAP8[$132>>0] = $136;
+ $138 = HEAP8[$38>>0]|0;
+ $139 = HEAP8[$134>>0]|0;
+ $140 = $139 ^ $138;
+ HEAP8[$137>>0] = $140;
+ }
+ $141 = ((($$06383)) + 16|0);
+ $$07081 = 16;
+ while(1) {
+ $142 = (($$07081) + -1)|0;
+ $143 = (($1) + ($142)|0);
+ $144 = HEAP8[$143>>0]|0;
+ $145 = (($144) + 1)<<24>>24;
+ HEAP8[$143>>0] = $145;
+ $146 = ($145<<24>>24)==(0);
+ $147 = ($$07081>>>0)>(1);
+ $or$cond = $146 & $147;
+ if ($or$cond) {
+ $$07081 = $142;
+ } else {
+ break;
+ }
+ }
+ $148 = ((($$06982)) + 16|0);
+ $149 = (($$084) + -1)|0;
+ $150 = ($149|0)==(0);
+ if ($150) {
+ break;
+ } else {
+ $$06383 = $141;$$06982 = $148;$$084 = $149;
+ }
+ }
+ $151 = $5;
+ $152 = $151;
+ HEAP32[$152>>2] = 0;
+ $153 = (($151) + 4)|0;
+ $154 = $153;
+ HEAP32[$154>>2] = 0;
+ $155 = ((($5)) + 8|0);
+ $156 = $155;
+ $157 = $156;
+ HEAP32[$157>>2] = 0;
+ $158 = (($156) + 4)|0;
+ $159 = $158;
+ HEAP32[$159>>2] = 0;
+ $160 = ($39|0)==(0);
+ if ($160) {
+ STACKTOP = sp;return;
+ }
+ $161 = (($39) + 16)|0;
+ ___gcry_burn_stack($161);
+ STACKTOP = sp;return;
+}
+function __gcry_aes_cbc_dec($0,$1,$2,$3,$4) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ var $$05775 = 0, $$06374 = 0, $$076 = 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;
+ var $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0;
+ var $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0;
+ var $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0;
+ var $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0;
+ var $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0;
+ var $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $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, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $5 = sp;
+ _check_decryption_preparation($0);
+ $6 = ((($0)) + 500|0);
+ $7 = HEAP32[$6>>2]|0;
+ $8 = ($7|0)==(0|0);
+ if (!($8)) {
+ FUNCTION_TABLE_v[$7 & 127]();
+ }
+ $9 = ((($0)) + 492|0);
+ $10 = HEAP32[$9>>2]|0;
+ $11 = ($4|0)==(0);
+ if ($11) {
+ $12 = $5;
+ $13 = $12;
+ HEAP32[$13>>2] = 0;
+ $14 = (($12) + 4)|0;
+ $15 = $14;
+ HEAP32[$15>>2] = 0;
+ $16 = ((($5)) + 8|0);
+ $17 = $16;
+ $18 = $17;
+ HEAP32[$18>>2] = 0;
+ $19 = (($17) + 4)|0;
+ $20 = $19;
+ HEAP32[$20>>2] = 0;
+ STACKTOP = sp;return;
+ }
+ $21 = $1;
+ $22 = ((($5)) + 4|0);
+ $23 = ((($1)) + 4|0);
+ $24 = ((($5)) + 8|0);
+ $25 = ((($1)) + 8|0);
+ $26 = ((($5)) + 12|0);
+ $27 = ((($1)) + 12|0);
+ $28 = ((($5)) + 1|0);
+ $29 = ((($1)) + 1|0);
+ $30 = ((($5)) + 2|0);
+ $31 = ((($1)) + 2|0);
+ $32 = ((($5)) + 3|0);
+ $33 = ((($1)) + 3|0);
+ $34 = ((($5)) + 4|0);
+ $35 = ((($1)) + 4|0);
+ $36 = ((($5)) + 5|0);
+ $37 = ((($1)) + 5|0);
+ $38 = ((($5)) + 6|0);
+ $39 = ((($1)) + 6|0);
+ $40 = ((($5)) + 7|0);
+ $41 = ((($1)) + 7|0);
+ $42 = ((($5)) + 8|0);
+ $43 = ((($1)) + 8|0);
+ $44 = ((($5)) + 9|0);
+ $45 = ((($1)) + 9|0);
+ $46 = ((($5)) + 10|0);
+ $47 = ((($1)) + 10|0);
+ $48 = ((($5)) + 11|0);
+ $49 = ((($1)) + 11|0);
+ $50 = ((($5)) + 12|0);
+ $51 = ((($1)) + 12|0);
+ $52 = ((($5)) + 13|0);
+ $53 = ((($1)) + 13|0);
+ $54 = ((($5)) + 14|0);
+ $55 = ((($1)) + 14|0);
+ $56 = ((($5)) + 15|0);
+ $57 = ((($1)) + 15|0);
+ $$05775 = $2;$$06374 = $3;$$076 = $4;
+ while(1) {
+ $58 = (FUNCTION_TABLE_iiii[$10 & 127]($0,$5,$$06374)|0);
+ $59 = $$06374;
+ $60 = $$05775;
+ $61 = $59 | $21;
+ $62 = $61 | $60;
+ $63 = $62 & 3;
+ $64 = ($63|0)==(0);
+ if ($64) {
+ $65 = ((($$06374)) + 4|0);
+ $66 = HEAP32[$$06374>>2]|0;
+ $67 = HEAP32[$1>>2]|0;
+ $68 = HEAP32[$5>>2]|0;
+ $69 = $68 ^ $67;
+ $70 = ((($$05775)) + 4|0);
+ HEAP32[$$05775>>2] = $69;
+ HEAP32[$1>>2] = $66;
+ $71 = ((($$06374)) + 8|0);
+ $72 = HEAP32[$65>>2]|0;
+ $73 = HEAP32[$23>>2]|0;
+ $74 = HEAP32[$22>>2]|0;
+ $75 = $74 ^ $73;
+ $76 = ((($$05775)) + 8|0);
+ HEAP32[$70>>2] = $75;
+ HEAP32[$23>>2] = $72;
+ $77 = ((($$06374)) + 12|0);
+ $78 = HEAP32[$71>>2]|0;
+ $79 = HEAP32[$25>>2]|0;
+ $80 = HEAP32[$24>>2]|0;
+ $81 = $80 ^ $79;
+ $82 = ((($$05775)) + 12|0);
+ HEAP32[$76>>2] = $81;
+ HEAP32[$25>>2] = $78;
+ $83 = HEAP32[$77>>2]|0;
+ $84 = HEAP32[$27>>2]|0;
+ $85 = HEAP32[$26>>2]|0;
+ $86 = $85 ^ $84;
+ HEAP32[$82>>2] = $86;
+ HEAP32[$27>>2] = $83;
+ } else {
+ $87 = ((($$06374)) + 1|0);
+ $88 = HEAP8[$$06374>>0]|0;
+ $89 = HEAP8[$1>>0]|0;
+ $90 = HEAP8[$5>>0]|0;
+ $91 = $90 ^ $89;
+ $92 = ((($$05775)) + 1|0);
+ HEAP8[$$05775>>0] = $91;
+ HEAP8[$1>>0] = $88;
+ $93 = ((($$06374)) + 2|0);
+ $94 = HEAP8[$87>>0]|0;
+ $95 = HEAP8[$29>>0]|0;
+ $96 = HEAP8[$28>>0]|0;
+ $97 = $96 ^ $95;
+ $98 = ((($$05775)) + 2|0);
+ HEAP8[$92>>0] = $97;
+ HEAP8[$29>>0] = $94;
+ $99 = ((($$06374)) + 3|0);
+ $100 = HEAP8[$93>>0]|0;
+ $101 = HEAP8[$31>>0]|0;
+ $102 = HEAP8[$30>>0]|0;
+ $103 = $102 ^ $101;
+ $104 = ((($$05775)) + 3|0);
+ HEAP8[$98>>0] = $103;
+ HEAP8[$31>>0] = $100;
+ $105 = ((($$06374)) + 4|0);
+ $106 = HEAP8[$99>>0]|0;
+ $107 = HEAP8[$33>>0]|0;
+ $108 = HEAP8[$32>>0]|0;
+ $109 = $108 ^ $107;
+ $110 = ((($$05775)) + 4|0);
+ HEAP8[$104>>0] = $109;
+ HEAP8[$33>>0] = $106;
+ $111 = ((($$06374)) + 5|0);
+ $112 = HEAP8[$105>>0]|0;
+ $113 = HEAP8[$35>>0]|0;
+ $114 = HEAP8[$34>>0]|0;
+ $115 = $114 ^ $113;
+ $116 = ((($$05775)) + 5|0);
+ HEAP8[$110>>0] = $115;
+ HEAP8[$35>>0] = $112;
+ $117 = ((($$06374)) + 6|0);
+ $118 = HEAP8[$111>>0]|0;
+ $119 = HEAP8[$37>>0]|0;
+ $120 = HEAP8[$36>>0]|0;
+ $121 = $120 ^ $119;
+ $122 = ((($$05775)) + 6|0);
+ HEAP8[$116>>0] = $121;
+ HEAP8[$37>>0] = $118;
+ $123 = ((($$06374)) + 7|0);
+ $124 = HEAP8[$117>>0]|0;
+ $125 = HEAP8[$39>>0]|0;
+ $126 = HEAP8[$38>>0]|0;
+ $127 = $126 ^ $125;
+ $128 = ((($$05775)) + 7|0);
+ HEAP8[$122>>0] = $127;
+ HEAP8[$39>>0] = $124;
+ $129 = ((($$06374)) + 8|0);
+ $130 = HEAP8[$123>>0]|0;
+ $131 = HEAP8[$41>>0]|0;
+ $132 = HEAP8[$40>>0]|0;
+ $133 = $132 ^ $131;
+ $134 = ((($$05775)) + 8|0);
+ HEAP8[$128>>0] = $133;
+ HEAP8[$41>>0] = $130;
+ $135 = ((($$06374)) + 9|0);
+ $136 = HEAP8[$129>>0]|0;
+ $137 = HEAP8[$43>>0]|0;
+ $138 = HEAP8[$42>>0]|0;
+ $139 = $138 ^ $137;
+ $140 = ((($$05775)) + 9|0);
+ HEAP8[$134>>0] = $139;
+ HEAP8[$43>>0] = $136;
+ $141 = ((($$06374)) + 10|0);
+ $142 = HEAP8[$135>>0]|0;
+ $143 = HEAP8[$45>>0]|0;
+ $144 = HEAP8[$44>>0]|0;
+ $145 = $144 ^ $143;
+ $146 = ((($$05775)) + 10|0);
+ HEAP8[$140>>0] = $145;
+ HEAP8[$45>>0] = $142;
+ $147 = ((($$06374)) + 11|0);
+ $148 = HEAP8[$141>>0]|0;
+ $149 = HEAP8[$47>>0]|0;
+ $150 = HEAP8[$46>>0]|0;
+ $151 = $150 ^ $149;
+ $152 = ((($$05775)) + 11|0);
+ HEAP8[$146>>0] = $151;
+ HEAP8[$47>>0] = $148;
+ $153 = ((($$06374)) + 12|0);
+ $154 = HEAP8[$147>>0]|0;
+ $155 = HEAP8[$49>>0]|0;
+ $156 = HEAP8[$48>>0]|0;
+ $157 = $156 ^ $155;
+ $158 = ((($$05775)) + 12|0);
+ HEAP8[$152>>0] = $157;
+ HEAP8[$49>>0] = $154;
+ $159 = ((($$06374)) + 13|0);
+ $160 = HEAP8[$153>>0]|0;
+ $161 = HEAP8[$51>>0]|0;
+ $162 = HEAP8[$50>>0]|0;
+ $163 = $162 ^ $161;
+ $164 = ((($$05775)) + 13|0);
+ HEAP8[$158>>0] = $163;
+ HEAP8[$51>>0] = $160;
+ $165 = ((($$06374)) + 14|0);
+ $166 = HEAP8[$159>>0]|0;
+ $167 = HEAP8[$53>>0]|0;
+ $168 = HEAP8[$52>>0]|0;
+ $169 = $168 ^ $167;
+ $170 = ((($$05775)) + 14|0);
+ HEAP8[$164>>0] = $169;
+ HEAP8[$53>>0] = $166;
+ $171 = ((($$06374)) + 15|0);
+ $172 = HEAP8[$165>>0]|0;
+ $173 = HEAP8[$55>>0]|0;
+ $174 = HEAP8[$54>>0]|0;
+ $175 = $174 ^ $173;
+ $176 = ((($$05775)) + 15|0);
+ HEAP8[$170>>0] = $175;
+ HEAP8[$55>>0] = $172;
+ $177 = HEAP8[$171>>0]|0;
+ $178 = HEAP8[$57>>0]|0;
+ $179 = HEAP8[$56>>0]|0;
+ $180 = $179 ^ $178;
+ HEAP8[$176>>0] = $180;
+ HEAP8[$57>>0] = $177;
+ }
+ $181 = ((($$06374)) + 16|0);
+ $182 = ((($$05775)) + 16|0);
+ $183 = (($$076) + -1)|0;
+ $184 = ($183|0)==(0);
+ if ($184) {
+ break;
+ } else {
+ $$05775 = $182;$$06374 = $181;$$076 = $183;
+ }
+ }
+ $185 = $5;
+ $186 = $185;
+ HEAP32[$186>>2] = 0;
+ $187 = (($185) + 4)|0;
+ $188 = $187;
+ HEAP32[$188>>2] = 0;
+ $189 = ((($5)) + 8|0);
+ $190 = $189;
+ $191 = $190;
+ HEAP32[$191>>2] = 0;
+ $192 = (($190) + 4)|0;
+ $193 = $192;
+ HEAP32[$193>>2] = 0;
+ $194 = ($58|0)==(0);
+ if ($194) {
+ STACKTOP = sp;return;
+ }
+ $195 = (($58) + 16)|0;
+ ___gcry_burn_stack($195);
+ STACKTOP = sp;return;
+}
+function __gcry_aes_cfb_dec($0,$1,$2,$3,$4) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ var $$02831 = 0, $$02930 = 0, $$032 = 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;
+ var $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0;
+ var $133 = 0, $134 = 0, $135 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0;
+ var $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $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, label = 0, sp = 0;
+ sp = STACKTOP;
+ $5 = ((($0)) + 496|0);
+ $6 = HEAP32[$5>>2]|0;
+ $7 = ($6|0)==(0|0);
+ if (!($7)) {
+ FUNCTION_TABLE_v[$6 & 127]();
+ }
+ $8 = ((($0)) + 488|0);
+ $9 = HEAP32[$8>>2]|0;
+ $10 = ($4|0)==(0);
+ if ($10) {
+ return;
+ }
+ $11 = $1;
+ $12 = ((($1)) + 4|0);
+ $13 = ((($1)) + 8|0);
+ $14 = ((($1)) + 12|0);
+ $15 = ((($1)) + 1|0);
+ $16 = ((($1)) + 2|0);
+ $17 = ((($1)) + 3|0);
+ $18 = ((($1)) + 5|0);
+ $19 = ((($1)) + 6|0);
+ $20 = ((($1)) + 7|0);
+ $21 = ((($1)) + 9|0);
+ $22 = ((($1)) + 10|0);
+ $23 = ((($1)) + 11|0);
+ $24 = ((($1)) + 13|0);
+ $25 = ((($1)) + 14|0);
+ $26 = ((($1)) + 15|0);
+ $$02831 = $3;$$02930 = $2;$$032 = $4;
+ while(1) {
+ $27 = (FUNCTION_TABLE_iiii[$9 & 127]($0,$1,$1)|0);
+ $28 = $$02831;
+ $29 = $$02930;
+ $30 = $29 | $11;
+ $31 = $30 | $28;
+ $32 = $31 & 3;
+ $33 = ($32|0)==(0);
+ if ($33) {
+ $34 = ((($$02831)) + 4|0);
+ $35 = HEAP32[$$02831>>2]|0;
+ $36 = HEAP32[$1>>2]|0;
+ $37 = $36 ^ $35;
+ $38 = ((($$02930)) + 4|0);
+ HEAP32[$$02930>>2] = $37;
+ HEAP32[$1>>2] = $35;
+ $39 = ((($$02831)) + 8|0);
+ $40 = HEAP32[$34>>2]|0;
+ $41 = HEAP32[$12>>2]|0;
+ $42 = $41 ^ $40;
+ $43 = ((($$02930)) + 8|0);
+ HEAP32[$38>>2] = $42;
+ HEAP32[$12>>2] = $40;
+ $44 = ((($$02831)) + 12|0);
+ $45 = HEAP32[$39>>2]|0;
+ $46 = HEAP32[$13>>2]|0;
+ $47 = $46 ^ $45;
+ $48 = ((($$02930)) + 12|0);
+ HEAP32[$43>>2] = $47;
+ HEAP32[$13>>2] = $45;
+ $49 = HEAP32[$44>>2]|0;
+ $50 = HEAP32[$14>>2]|0;
+ $51 = $50 ^ $49;
+ HEAP32[$48>>2] = $51;
+ HEAP32[$14>>2] = $49;
+ } else {
+ $52 = ((($$02831)) + 1|0);
+ $53 = HEAP8[$$02831>>0]|0;
+ $54 = HEAP8[$1>>0]|0;
+ $55 = $54 ^ $53;
+ $56 = ((($$02930)) + 1|0);
+ HEAP8[$$02930>>0] = $55;
+ HEAP8[$1>>0] = $53;
+ $57 = ((($$02831)) + 2|0);
+ $58 = HEAP8[$52>>0]|0;
+ $59 = HEAP8[$15>>0]|0;
+ $60 = $59 ^ $58;
+ $61 = ((($$02930)) + 2|0);
+ HEAP8[$56>>0] = $60;
+ HEAP8[$15>>0] = $58;
+ $62 = ((($$02831)) + 3|0);
+ $63 = HEAP8[$57>>0]|0;
+ $64 = HEAP8[$16>>0]|0;
+ $65 = $64 ^ $63;
+ $66 = ((($$02930)) + 3|0);
+ HEAP8[$61>>0] = $65;
+ HEAP8[$16>>0] = $63;
+ $67 = ((($$02831)) + 4|0);
+ $68 = HEAP8[$62>>0]|0;
+ $69 = HEAP8[$17>>0]|0;
+ $70 = $69 ^ $68;
+ $71 = ((($$02930)) + 4|0);
+ HEAP8[$66>>0] = $70;
+ HEAP8[$17>>0] = $68;
+ $72 = ((($$02831)) + 5|0);
+ $73 = HEAP8[$67>>0]|0;
+ $74 = HEAP8[$12>>0]|0;
+ $75 = $74 ^ $73;
+ $76 = ((($$02930)) + 5|0);
+ HEAP8[$71>>0] = $75;
+ HEAP8[$12>>0] = $73;
+ $77 = ((($$02831)) + 6|0);
+ $78 = HEAP8[$72>>0]|0;
+ $79 = HEAP8[$18>>0]|0;
+ $80 = $79 ^ $78;
+ $81 = ((($$02930)) + 6|0);
+ HEAP8[$76>>0] = $80;
+ HEAP8[$18>>0] = $78;
+ $82 = ((($$02831)) + 7|0);
+ $83 = HEAP8[$77>>0]|0;
+ $84 = HEAP8[$19>>0]|0;
+ $85 = $84 ^ $83;
+ $86 = ((($$02930)) + 7|0);
+ HEAP8[$81>>0] = $85;
+ HEAP8[$19>>0] = $83;
+ $87 = ((($$02831)) + 8|0);
+ $88 = HEAP8[$82>>0]|0;
+ $89 = HEAP8[$20>>0]|0;
+ $90 = $89 ^ $88;
+ $91 = ((($$02930)) + 8|0);
+ HEAP8[$86>>0] = $90;
+ HEAP8[$20>>0] = $88;
+ $92 = ((($$02831)) + 9|0);
+ $93 = HEAP8[$87>>0]|0;
+ $94 = HEAP8[$13>>0]|0;
+ $95 = $94 ^ $93;
+ $96 = ((($$02930)) + 9|0);
+ HEAP8[$91>>0] = $95;
+ HEAP8[$13>>0] = $93;
+ $97 = ((($$02831)) + 10|0);
+ $98 = HEAP8[$92>>0]|0;
+ $99 = HEAP8[$21>>0]|0;
+ $100 = $99 ^ $98;
+ $101 = ((($$02930)) + 10|0);
+ HEAP8[$96>>0] = $100;
+ HEAP8[$21>>0] = $98;
+ $102 = ((($$02831)) + 11|0);
+ $103 = HEAP8[$97>>0]|0;
+ $104 = HEAP8[$22>>0]|0;
+ $105 = $104 ^ $103;
+ $106 = ((($$02930)) + 11|0);
+ HEAP8[$101>>0] = $105;
+ HEAP8[$22>>0] = $103;
+ $107 = ((($$02831)) + 12|0);
+ $108 = HEAP8[$102>>0]|0;
+ $109 = HEAP8[$23>>0]|0;
+ $110 = $109 ^ $108;
+ $111 = ((($$02930)) + 12|0);
+ HEAP8[$106>>0] = $110;
+ HEAP8[$23>>0] = $108;
+ $112 = ((($$02831)) + 13|0);
+ $113 = HEAP8[$107>>0]|0;
+ $114 = HEAP8[$14>>0]|0;
+ $115 = $114 ^ $113;
+ $116 = ((($$02930)) + 13|0);
+ HEAP8[$111>>0] = $115;
+ HEAP8[$14>>0] = $113;
+ $117 = ((($$02831)) + 14|0);
+ $118 = HEAP8[$112>>0]|0;
+ $119 = HEAP8[$24>>0]|0;
+ $120 = $119 ^ $118;
+ $121 = ((($$02930)) + 14|0);
+ HEAP8[$116>>0] = $120;
+ HEAP8[$24>>0] = $118;
+ $122 = ((($$02831)) + 15|0);
+ $123 = HEAP8[$117>>0]|0;
+ $124 = HEAP8[$25>>0]|0;
+ $125 = $124 ^ $123;
+ $126 = ((($$02930)) + 15|0);
+ HEAP8[$121>>0] = $125;
+ HEAP8[$25>>0] = $123;
+ $127 = HEAP8[$122>>0]|0;
+ $128 = HEAP8[$26>>0]|0;
+ $129 = $128 ^ $127;
+ HEAP8[$126>>0] = $129;
+ HEAP8[$26>>0] = $127;
+ }
+ $130 = ((($$02930)) + 16|0);
+ $131 = ((($$02831)) + 16|0);
+ $132 = (($$032) + -1)|0;
+ $133 = ($132|0)==(0);
+ if ($133) {
+ break;
+ } else {
+ $$02831 = $131;$$02930 = $130;$$032 = $132;
+ }
+ }
+ $134 = ($27|0)==(0);
+ if ($134) {
+ return;
+ }
+ $135 = (($27) + 16)|0;
+ ___gcry_burn_stack($135);
+ return;
+}
+function _do_encrypt($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$0$lcssa$i = 0, $$01$i = 0, $$sroa$045$0$lcssa$i = 0, $$sroa$045$05$i = 0, $$sroa$116$0$lcssa$i = 0, $$sroa$116$02$i = 0, $$sroa$48$0$lcssa$i = 0, $$sroa$48$04$i = 0, $$sroa$86$0$lcssa$i = 0, $$sroa$86$03$i = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0;
+ var $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0;
+ var $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0;
+ var $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0;
+ var $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0;
+ var $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0;
+ var $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0;
+ var $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0;
+ var $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0;
+ var $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0;
+ var $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0;
+ var $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0;
+ var $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0;
+ var $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0;
+ var $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0;
+ var $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0;
+ var $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0;
+ var $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0;
+ var $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0;
+ var $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0;
+ var $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0;
+ var $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0;
+ var $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0;
+ var $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0;
+ var $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0;
+ var $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0;
+ var $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0;
+ var $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0;
+ var $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0;
+ var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0;
+ var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $3 = ((($0)) + 480|0);
+ $4 = HEAP32[$3>>2]|0;
+ $5 = ((($2)) + 3|0);
+ $6 = HEAP8[$5>>0]|0;
+ $7 = $6&255;
+ $8 = $7 << 24;
+ $9 = ((($2)) + 2|0);
+ $10 = HEAP8[$9>>0]|0;
+ $11 = $10&255;
+ $12 = $11 << 16;
+ $13 = $12 | $8;
+ $14 = ((($2)) + 1|0);
+ $15 = HEAP8[$14>>0]|0;
+ $16 = $15&255;
+ $17 = $16 << 8;
+ $18 = $13 | $17;
+ $19 = HEAP8[$2>>0]|0;
+ $20 = $19&255;
+ $21 = $18 | $20;
+ $22 = ((($2)) + 4|0);
+ $23 = ((($2)) + 7|0);
+ $24 = HEAP8[$23>>0]|0;
+ $25 = $24&255;
+ $26 = $25 << 24;
+ $27 = ((($2)) + 6|0);
+ $28 = HEAP8[$27>>0]|0;
+ $29 = $28&255;
+ $30 = $29 << 16;
+ $31 = $30 | $26;
+ $32 = ((($2)) + 5|0);
+ $33 = HEAP8[$32>>0]|0;
+ $34 = $33&255;
+ $35 = $34 << 8;
+ $36 = $31 | $35;
+ $37 = HEAP8[$22>>0]|0;
+ $38 = $37&255;
+ $39 = $36 | $38;
+ $40 = ((($2)) + 8|0);
+ $41 = ((($2)) + 11|0);
+ $42 = HEAP8[$41>>0]|0;
+ $43 = $42&255;
+ $44 = $43 << 24;
+ $45 = ((($2)) + 10|0);
+ $46 = HEAP8[$45>>0]|0;
+ $47 = $46&255;
+ $48 = $47 << 16;
+ $49 = $48 | $44;
+ $50 = ((($2)) + 9|0);
+ $51 = HEAP8[$50>>0]|0;
+ $52 = $51&255;
+ $53 = $52 << 8;
+ $54 = $49 | $53;
+ $55 = HEAP8[$40>>0]|0;
+ $56 = $55&255;
+ $57 = $54 | $56;
+ $58 = ((($2)) + 12|0);
+ $59 = ((($2)) + 15|0);
+ $60 = HEAP8[$59>>0]|0;
+ $61 = $60&255;
+ $62 = $61 << 24;
+ $63 = ((($2)) + 14|0);
+ $64 = HEAP8[$63>>0]|0;
+ $65 = $64&255;
+ $66 = $65 << 16;
+ $67 = $66 | $62;
+ $68 = ((($2)) + 13|0);
+ $69 = HEAP8[$68>>0]|0;
+ $70 = $69&255;
+ $71 = $70 << 8;
+ $72 = $67 | $71;
+ $73 = HEAP8[$58>>0]|0;
+ $74 = $73&255;
+ $75 = $72 | $74;
+ $76 = HEAP32[$0>>2]|0;
+ $77 = $76 ^ $21;
+ $78 = ((($0)) + 4|0);
+ $79 = HEAP32[$78>>2]|0;
+ $80 = $79 ^ $39;
+ $81 = ((($0)) + 8|0);
+ $82 = HEAP32[$81>>2]|0;
+ $83 = $82 ^ $57;
+ $84 = ((($0)) + 12|0);
+ $85 = HEAP32[$84>>2]|0;
+ $86 = $85 ^ $75;
+ $87 = $77 & 255;
+ $88 = (5216 + ($87<<2)|0);
+ $89 = HEAP32[$88>>2]|0;
+ $90 = $77 >>> 8;
+ $91 = $90 & 255;
+ $92 = (5216 + ($91<<2)|0);
+ $93 = HEAP32[$92>>2]|0;
+ $94 = $93 << 8;
+ $95 = $93 >>> 24;
+ $96 = $94 | $95;
+ $97 = $77 >>> 16;
+ $98 = $97 & 255;
+ $99 = (5216 + ($98<<2)|0);
+ $100 = HEAP32[$99>>2]|0;
+ $101 = $100 << 16;
+ $102 = $100 >>> 16;
+ $103 = $101 | $102;
+ $104 = $77 >>> 24;
+ $105 = (5216 + ($104<<2)|0);
+ $106 = HEAP32[$105>>2]|0;
+ $107 = $106 << 24;
+ $108 = $106 >>> 8;
+ $109 = $107 | $108;
+ $110 = ((($0)) + 16|0);
+ $111 = HEAP32[$110>>2]|0;
+ $112 = $111 ^ $89;
+ $113 = $80 & 255;
+ $114 = (5216 + ($113<<2)|0);
+ $115 = HEAP32[$114>>2]|0;
+ $116 = $109 ^ $115;
+ $117 = $80 >>> 8;
+ $118 = $117 & 255;
+ $119 = (5216 + ($118<<2)|0);
+ $120 = HEAP32[$119>>2]|0;
+ $121 = $120 << 8;
+ $122 = $120 >>> 24;
+ $123 = $121 | $122;
+ $124 = $112 ^ $123;
+ $125 = $80 >>> 16;
+ $126 = $125 & 255;
+ $127 = (5216 + ($126<<2)|0);
+ $128 = HEAP32[$127>>2]|0;
+ $129 = $128 << 16;
+ $130 = $128 >>> 16;
+ $131 = $129 | $130;
+ $132 = $131 ^ $96;
+ $133 = $80 >>> 24;
+ $134 = (5216 + ($133<<2)|0);
+ $135 = HEAP32[$134>>2]|0;
+ $136 = $135 << 24;
+ $137 = $135 >>> 8;
+ $138 = $136 | $137;
+ $139 = $138 ^ $103;
+ $140 = ((($0)) + 20|0);
+ $141 = HEAP32[$140>>2]|0;
+ $142 = $116 ^ $141;
+ $143 = $83 & 255;
+ $144 = (5216 + ($143<<2)|0);
+ $145 = HEAP32[$144>>2]|0;
+ $146 = $139 ^ $145;
+ $147 = $83 >>> 8;
+ $148 = $147 & 255;
+ $149 = (5216 + ($148<<2)|0);
+ $150 = HEAP32[$149>>2]|0;
+ $151 = $150 << 8;
+ $152 = $150 >>> 24;
+ $153 = $151 | $152;
+ $154 = $142 ^ $153;
+ $155 = $83 >>> 16;
+ $156 = $155 & 255;
+ $157 = (5216 + ($156<<2)|0);
+ $158 = HEAP32[$157>>2]|0;
+ $159 = $158 << 16;
+ $160 = $158 >>> 16;
+ $161 = $159 | $160;
+ $162 = $124 ^ $161;
+ $163 = $83 >>> 24;
+ $164 = (5216 + ($163<<2)|0);
+ $165 = HEAP32[$164>>2]|0;
+ $166 = $165 << 24;
+ $167 = $165 >>> 8;
+ $168 = $166 | $167;
+ $169 = $132 ^ $168;
+ $170 = ((($0)) + 24|0);
+ $171 = HEAP32[$170>>2]|0;
+ $172 = $146 ^ $171;
+ $173 = $86 & 255;
+ $174 = (5216 + ($173<<2)|0);
+ $175 = HEAP32[$174>>2]|0;
+ $176 = $169 ^ $175;
+ $177 = $86 >>> 8;
+ $178 = $177 & 255;
+ $179 = (5216 + ($178<<2)|0);
+ $180 = HEAP32[$179>>2]|0;
+ $181 = $180 << 8;
+ $182 = $180 >>> 24;
+ $183 = $181 | $182;
+ $184 = $172 ^ $183;
+ $185 = $86 >>> 16;
+ $186 = $185 & 255;
+ $187 = (5216 + ($186<<2)|0);
+ $188 = HEAP32[$187>>2]|0;
+ $189 = $188 << 16;
+ $190 = $188 >>> 16;
+ $191 = $189 | $190;
+ $192 = $154 ^ $191;
+ $193 = $86 >>> 24;
+ $194 = (5216 + ($193<<2)|0);
+ $195 = HEAP32[$194>>2]|0;
+ $196 = $195 << 24;
+ $197 = $195 >>> 8;
+ $198 = $196 | $197;
+ $199 = $162 ^ $198;
+ $200 = ((($0)) + 28|0);
+ $201 = HEAP32[$200>>2]|0;
+ $202 = $176 ^ $201;
+ $203 = ($4|0)>(2);
+ if ($203) {
+ $$01$i = 2;$$sroa$045$05$i = $199;$$sroa$116$02$i = $202;$$sroa$48$04$i = $192;$$sroa$86$03$i = $184;
+ while(1) {
+ $204 = $$sroa$045$05$i & 255;
+ $205 = (5216 + ($204<<2)|0);
+ $206 = HEAP32[$205>>2]|0;
+ $207 = $$sroa$045$05$i >>> 8;
+ $208 = $207 & 255;
+ $209 = (5216 + ($208<<2)|0);
+ $210 = HEAP32[$209>>2]|0;
+ $211 = $210 << 8;
+ $212 = $210 >>> 24;
+ $213 = $211 | $212;
+ $214 = $$sroa$045$05$i >>> 16;
+ $215 = $214 & 255;
+ $216 = (5216 + ($215<<2)|0);
+ $217 = HEAP32[$216>>2]|0;
+ $218 = $217 << 16;
+ $219 = $217 >>> 16;
+ $220 = $218 | $219;
+ $221 = $$sroa$045$05$i >>> 24;
+ $222 = (5216 + ($221<<2)|0);
+ $223 = HEAP32[$222>>2]|0;
+ $224 = $223 << 24;
+ $225 = $223 >>> 8;
+ $226 = $224 | $225;
+ $227 = (($0) + ($$01$i<<4)|0);
+ $228 = HEAP32[$227>>2]|0;
+ $229 = $228 ^ $206;
+ $230 = $$sroa$48$04$i & 255;
+ $231 = (5216 + ($230<<2)|0);
+ $232 = HEAP32[$231>>2]|0;
+ $233 = $226 ^ $232;
+ $234 = $$sroa$48$04$i >>> 8;
+ $235 = $234 & 255;
+ $236 = (5216 + ($235<<2)|0);
+ $237 = HEAP32[$236>>2]|0;
+ $238 = $237 << 8;
+ $239 = $237 >>> 24;
+ $240 = $238 | $239;
+ $241 = $229 ^ $240;
+ $242 = $$sroa$48$04$i >>> 16;
+ $243 = $242 & 255;
+ $244 = (5216 + ($243<<2)|0);
+ $245 = HEAP32[$244>>2]|0;
+ $246 = $245 << 16;
+ $247 = $245 >>> 16;
+ $248 = $246 | $247;
+ $249 = $248 ^ $213;
+ $250 = $$sroa$48$04$i >>> 24;
+ $251 = (5216 + ($250<<2)|0);
+ $252 = HEAP32[$251>>2]|0;
+ $253 = $252 << 24;
+ $254 = $252 >>> 8;
+ $255 = $253 | $254;
+ $256 = $255 ^ $220;
+ $257 = (((($0) + ($$01$i<<4)|0)) + 4|0);
+ $258 = HEAP32[$257>>2]|0;
+ $259 = $233 ^ $258;
+ $260 = $$sroa$86$03$i & 255;
+ $261 = (5216 + ($260<<2)|0);
+ $262 = HEAP32[$261>>2]|0;
+ $263 = $256 ^ $262;
+ $264 = $$sroa$86$03$i >>> 8;
+ $265 = $264 & 255;
+ $266 = (5216 + ($265<<2)|0);
+ $267 = HEAP32[$266>>2]|0;
+ $268 = $267 << 8;
+ $269 = $267 >>> 24;
+ $270 = $268 | $269;
+ $271 = $259 ^ $270;
+ $272 = $$sroa$86$03$i >>> 16;
+ $273 = $272 & 255;
+ $274 = (5216 + ($273<<2)|0);
+ $275 = HEAP32[$274>>2]|0;
+ $276 = $275 << 16;
+ $277 = $275 >>> 16;
+ $278 = $276 | $277;
+ $279 = $241 ^ $278;
+ $280 = $$sroa$86$03$i >>> 24;
+ $281 = (5216 + ($280<<2)|0);
+ $282 = HEAP32[$281>>2]|0;
+ $283 = $282 << 24;
+ $284 = $282 >>> 8;
+ $285 = $283 | $284;
+ $286 = $249 ^ $285;
+ $287 = (((($0) + ($$01$i<<4)|0)) + 8|0);
+ $288 = HEAP32[$287>>2]|0;
+ $289 = $263 ^ $288;
+ $290 = $$sroa$116$02$i & 255;
+ $291 = (5216 + ($290<<2)|0);
+ $292 = HEAP32[$291>>2]|0;
+ $293 = $286 ^ $292;
+ $294 = $$sroa$116$02$i >>> 8;
+ $295 = $294 & 255;
+ $296 = (5216 + ($295<<2)|0);
+ $297 = HEAP32[$296>>2]|0;
+ $298 = $297 << 8;
+ $299 = $297 >>> 24;
+ $300 = $298 | $299;
+ $301 = $289 ^ $300;
+ $302 = $$sroa$116$02$i >>> 16;
+ $303 = $302 & 255;
+ $304 = (5216 + ($303<<2)|0);
+ $305 = HEAP32[$304>>2]|0;
+ $306 = $305 << 16;
+ $307 = $305 >>> 16;
+ $308 = $306 | $307;
+ $309 = $271 ^ $308;
+ $310 = $$sroa$116$02$i >>> 24;
+ $311 = (5216 + ($310<<2)|0);
+ $312 = HEAP32[$311>>2]|0;
+ $313 = $312 << 24;
+ $314 = $312 >>> 8;
+ $315 = $313 | $314;
+ $316 = $279 ^ $315;
+ $317 = (((($0) + ($$01$i<<4)|0)) + 12|0);
+ $318 = HEAP32[$317>>2]|0;
+ $319 = $293 ^ $318;
+ $320 = $$01$i | 1;
+ $321 = $316 & 255;
+ $322 = (5216 + ($321<<2)|0);
+ $323 = HEAP32[$322>>2]|0;
+ $324 = $316 >>> 8;
+ $325 = $324 & 255;
+ $326 = (5216 + ($325<<2)|0);
+ $327 = HEAP32[$326>>2]|0;
+ $328 = $327 << 8;
+ $329 = $327 >>> 24;
+ $330 = $328 | $329;
+ $331 = $316 >>> 16;
+ $332 = $331 & 255;
+ $333 = (5216 + ($332<<2)|0);
+ $334 = HEAP32[$333>>2]|0;
+ $335 = $334 << 16;
+ $336 = $334 >>> 16;
+ $337 = $335 | $336;
+ $338 = $316 >>> 24;
+ $339 = (5216 + ($338<<2)|0);
+ $340 = HEAP32[$339>>2]|0;
+ $341 = $340 << 24;
+ $342 = $340 >>> 8;
+ $343 = $341 | $342;
+ $344 = (($0) + ($320<<4)|0);
+ $345 = HEAP32[$344>>2]|0;
+ $346 = $345 ^ $323;
+ $347 = $309 & 255;
+ $348 = (5216 + ($347<<2)|0);
+ $349 = HEAP32[$348>>2]|0;
+ $350 = $343 ^ $349;
+ $351 = $309 >>> 8;
+ $352 = $351 & 255;
+ $353 = (5216 + ($352<<2)|0);
+ $354 = HEAP32[$353>>2]|0;
+ $355 = $354 << 8;
+ $356 = $354 >>> 24;
+ $357 = $355 | $356;
+ $358 = $346 ^ $357;
+ $359 = $309 >>> 16;
+ $360 = $359 & 255;
+ $361 = (5216 + ($360<<2)|0);
+ $362 = HEAP32[$361>>2]|0;
+ $363 = $362 << 16;
+ $364 = $362 >>> 16;
+ $365 = $363 | $364;
+ $366 = $365 ^ $330;
+ $367 = $309 >>> 24;
+ $368 = (5216 + ($367<<2)|0);
+ $369 = HEAP32[$368>>2]|0;
+ $370 = $369 << 24;
+ $371 = $369 >>> 8;
+ $372 = $370 | $371;
+ $373 = $372 ^ $337;
+ $374 = (((($0) + ($320<<4)|0)) + 4|0);
+ $375 = HEAP32[$374>>2]|0;
+ $376 = $350 ^ $375;
+ $377 = $301 & 255;
+ $378 = (5216 + ($377<<2)|0);
+ $379 = HEAP32[$378>>2]|0;
+ $380 = $373 ^ $379;
+ $381 = $301 >>> 8;
+ $382 = $381 & 255;
+ $383 = (5216 + ($382<<2)|0);
+ $384 = HEAP32[$383>>2]|0;
+ $385 = $384 << 8;
+ $386 = $384 >>> 24;
+ $387 = $385 | $386;
+ $388 = $376 ^ $387;
+ $389 = $301 >>> 16;
+ $390 = $389 & 255;
+ $391 = (5216 + ($390<<2)|0);
+ $392 = HEAP32[$391>>2]|0;
+ $393 = $392 << 16;
+ $394 = $392 >>> 16;
+ $395 = $393 | $394;
+ $396 = $358 ^ $395;
+ $397 = $301 >>> 24;
+ $398 = (5216 + ($397<<2)|0);
+ $399 = HEAP32[$398>>2]|0;
+ $400 = $399 << 24;
+ $401 = $399 >>> 8;
+ $402 = $400 | $401;
+ $403 = $366 ^ $402;
+ $404 = (((($0) + ($320<<4)|0)) + 8|0);
+ $405 = HEAP32[$404>>2]|0;
+ $406 = $380 ^ $405;
+ $407 = $319 & 255;
+ $408 = (5216 + ($407<<2)|0);
+ $409 = HEAP32[$408>>2]|0;
+ $410 = $403 ^ $409;
+ $411 = $319 >>> 8;
+ $412 = $411 & 255;
+ $413 = (5216 + ($412<<2)|0);
+ $414 = HEAP32[$413>>2]|0;
+ $415 = $414 << 8;
+ $416 = $414 >>> 24;
+ $417 = $415 | $416;
+ $418 = $406 ^ $417;
+ $419 = $319 >>> 16;
+ $420 = $419 & 255;
+ $421 = (5216 + ($420<<2)|0);
+ $422 = HEAP32[$421>>2]|0;
+ $423 = $422 << 16;
+ $424 = $422 >>> 16;
+ $425 = $423 | $424;
+ $426 = $388 ^ $425;
+ $427 = $319 >>> 24;
+ $428 = (5216 + ($427<<2)|0);
+ $429 = HEAP32[$428>>2]|0;
+ $430 = $429 << 24;
+ $431 = $429 >>> 8;
+ $432 = $430 | $431;
+ $433 = $396 ^ $432;
+ $434 = (((($0) + ($320<<4)|0)) + 12|0);
+ $435 = HEAP32[$434>>2]|0;
+ $436 = $410 ^ $435;
+ $437 = (($$01$i) + 2)|0;
+ $438 = ($437|0)<($4|0);
+ if ($438) {
+ $$01$i = $437;$$sroa$045$05$i = $433;$$sroa$116$02$i = $436;$$sroa$48$04$i = $426;$$sroa$86$03$i = $418;
+ } else {
+ break;
+ }
+ }
+ $439 = (($4) + 1)|0;
+ $440 = $439 & -2;
+ $$0$lcssa$i = $440;$$sroa$045$0$lcssa$i = $433;$$sroa$116$0$lcssa$i = $436;$$sroa$48$0$lcssa$i = $426;$$sroa$86$0$lcssa$i = $418;
+ } else {
+ $$0$lcssa$i = 2;$$sroa$045$0$lcssa$i = $199;$$sroa$116$0$lcssa$i = $202;$$sroa$48$0$lcssa$i = $192;$$sroa$86$0$lcssa$i = $184;
+ }
+ $441 = $$sroa$045$0$lcssa$i << 2;
+ $442 = $441 & 1020;
+ $443 = ((5217) + ($442)|0);
+ $444 = HEAP8[$443>>0]|0;
+ $445 = $444&255;
+ $446 = $$sroa$045$0$lcssa$i >>> 6;
+ $447 = $446 & 1020;
+ $448 = ((5217) + ($447)|0);
+ $449 = HEAP8[$448>>0]|0;
+ $450 = $449&255;
+ $451 = $450 << 8;
+ $452 = $$sroa$045$0$lcssa$i >>> 14;
+ $453 = $452 & 1020;
+ $454 = ((5217) + ($453)|0);
+ $455 = HEAP8[$454>>0]|0;
+ $456 = $455&255;
+ $457 = $456 << 16;
+ $458 = $$sroa$045$0$lcssa$i >>> 24;
+ $459 = $458 << 2;
+ $460 = ((5217) + ($459)|0);
+ $461 = HEAP8[$460>>0]|0;
+ $462 = $461&255;
+ $463 = $462 << 24;
+ $464 = (($0) + ($$0$lcssa$i<<4)|0);
+ $465 = HEAP32[$464>>2]|0;
+ $466 = $465 ^ $445;
+ $467 = $$sroa$48$0$lcssa$i << 2;
+ $468 = $467 & 1020;
+ $469 = ((5217) + ($468)|0);
+ $470 = HEAP8[$469>>0]|0;
+ $471 = $470&255;
+ $472 = $463 | $471;
+ $473 = $$sroa$48$0$lcssa$i >>> 6;
+ $474 = $473 & 1020;
+ $475 = ((5217) + ($474)|0);
+ $476 = HEAP8[$475>>0]|0;
+ $477 = $476&255;
+ $478 = $477 << 8;
+ $479 = $478 ^ $465;
+ $480 = $$sroa$48$0$lcssa$i >>> 14;
+ $481 = $480 & 1020;
+ $482 = ((5217) + ($481)|0);
+ $483 = HEAP8[$482>>0]|0;
+ $484 = $483&255;
+ $485 = $484 << 16;
+ $486 = $485 | $451;
+ $487 = $$sroa$48$0$lcssa$i >>> 24;
+ $488 = $487 << 2;
+ $489 = ((5217) + ($488)|0);
+ $490 = HEAP8[$489>>0]|0;
+ $491 = $490&255;
+ $492 = $491 << 24;
+ $493 = $492 | $457;
+ $494 = (((($0) + ($$0$lcssa$i<<4)|0)) + 4|0);
+ $495 = HEAP32[$494>>2]|0;
+ $496 = $495 ^ $472;
+ $497 = $$sroa$86$0$lcssa$i << 2;
+ $498 = $497 & 1020;
+ $499 = ((5217) + ($498)|0);
+ $500 = HEAP8[$499>>0]|0;
+ $501 = $500&255;
+ $502 = $493 | $501;
+ $503 = $$sroa$86$0$lcssa$i >>> 6;
+ $504 = $503 & 1020;
+ $505 = ((5217) + ($504)|0);
+ $506 = HEAP8[$505>>0]|0;
+ $507 = $506&255;
+ $508 = $507 << 8;
+ $509 = $508 ^ $495;
+ $510 = $$sroa$86$0$lcssa$i >>> 14;
+ $511 = $510 & 1020;
+ $512 = ((5217) + ($511)|0);
+ $513 = HEAP8[$512>>0]|0;
+ $514 = $513&255;
+ $515 = $514 << 16;
+ $516 = $515 ^ $465;
+ $517 = $$sroa$86$0$lcssa$i >>> 24;
+ $518 = $517 << 2;
+ $519 = ((5217) + ($518)|0);
+ $520 = HEAP8[$519>>0]|0;
+ $521 = $520&255;
+ $522 = $521 << 24;
+ $523 = $486 | $522;
+ $524 = (((($0) + ($$0$lcssa$i<<4)|0)) + 8|0);
+ $525 = HEAP32[$524>>2]|0;
+ $526 = $525 ^ $502;
+ $527 = $$sroa$116$0$lcssa$i << 2;
+ $528 = $527 & 1020;
+ $529 = ((5217) + ($528)|0);
+ $530 = HEAP8[$529>>0]|0;
+ $531 = $530&255;
+ $532 = $523 | $531;
+ $533 = $$sroa$116$0$lcssa$i >>> 6;
+ $534 = $533 & 1020;
+ $535 = ((5217) + ($534)|0);
+ $536 = HEAP8[$535>>0]|0;
+ $537 = $536&255;
+ $538 = $537 << 8;
+ $539 = $538 ^ $526;
+ $540 = $$sroa$116$0$lcssa$i >>> 14;
+ $541 = $540 & 1020;
+ $542 = ((5217) + ($541)|0);
+ $543 = HEAP8[$542>>0]|0;
+ $544 = $543&255;
+ $545 = $544 << 16;
+ $546 = $545 ^ $495;
+ $547 = $$sroa$116$0$lcssa$i >>> 24;
+ $548 = $547 << 2;
+ $549 = ((5217) + ($548)|0);
+ $550 = HEAP8[$549>>0]|0;
+ $551 = $550&255;
+ $552 = $551 << 24;
+ $553 = $552 ^ $465;
+ $554 = (((($0) + ($$0$lcssa$i<<4)|0)) + 12|0);
+ $555 = HEAP32[$554>>2]|0;
+ $556 = $555 ^ $532;
+ $557 = $553 >>> 24;
+ $558 = $557&255;
+ $559 = ((($1)) + 3|0);
+ HEAP8[$559>>0] = $558;
+ $560 = $516 >>> 16;
+ $561 = $560&255;
+ $562 = ((($1)) + 2|0);
+ HEAP8[$562>>0] = $561;
+ $563 = $479 >>> 8;
+ $564 = $563&255;
+ $565 = ((($1)) + 1|0);
+ HEAP8[$565>>0] = $564;
+ $566 = $466&255;
+ HEAP8[$1>>0] = $566;
+ $567 = ((($1)) + 4|0);
+ $568 = $496 >>> 24;
+ $569 = $568&255;
+ $570 = ((($1)) + 7|0);
+ HEAP8[$570>>0] = $569;
+ $571 = $546 >>> 16;
+ $572 = $571&255;
+ $573 = ((($1)) + 6|0);
+ HEAP8[$573>>0] = $572;
+ $574 = $509 >>> 8;
+ $575 = $574&255;
+ $576 = ((($1)) + 5|0);
+ HEAP8[$576>>0] = $575;
+ $577 = $496&255;
+ HEAP8[$567>>0] = $577;
+ $578 = ((($1)) + 8|0);
+ $579 = $526 >>> 24;
+ $580 = $579&255;
+ $581 = ((($1)) + 11|0);
+ HEAP8[$581>>0] = $580;
+ $582 = $526 >>> 16;
+ $583 = $582&255;
+ $584 = ((($1)) + 10|0);
+ HEAP8[$584>>0] = $583;
+ $585 = $539 >>> 8;
+ $586 = $585&255;
+ $587 = ((($1)) + 9|0);
+ HEAP8[$587>>0] = $586;
+ $588 = $526&255;
+ HEAP8[$578>>0] = $588;
+ $589 = ((($1)) + 12|0);
+ $590 = $556 >>> 24;
+ $591 = $590&255;
+ $592 = ((($1)) + 15|0);
+ HEAP8[$592>>0] = $591;
+ $593 = $556 >>> 16;
+ $594 = $593&255;
+ $595 = ((($1)) + 14|0);
+ HEAP8[$595>>0] = $594;
+ $596 = $556 >>> 8;
+ $597 = $596&255;
+ $598 = ((($1)) + 13|0);
+ HEAP8[$598>>0] = $597;
+ $599 = $556&255;
+ HEAP8[$589>>0] = $599;
+ return 64;
+}
+function _do_decrypt($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$0$i = 0, $$0$in$i = 0, $$sink = 0, $$sink15 = 0, $$sroa$045$0$i = 0, $$sroa$44$0$i = 0, $$sroa$82$0$i = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0;
+ var $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0;
+ var $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0;
+ var $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0;
+ var $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0;
+ var $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0;
+ var $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0;
+ var $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0;
+ var $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0;
+ var $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0;
+ var $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0;
+ var $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0;
+ var $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0;
+ var $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0;
+ var $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0;
+ var $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0;
+ var $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0;
+ var $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0;
+ var $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0;
+ var $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0;
+ var $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0;
+ var $473 = 0, $474 = 0, $475 = 0, $476 = 0, $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;
+ var $491 = 0, $492 = 0, $493 = 0, $494 = 0, $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;
+ var $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0;
+ var $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $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;
+ var $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0;
+ var $563 = 0, $564 = 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;
+ var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0;
+ var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $3 = ((($0)) + 480|0);
+ $4 = HEAP32[$3>>2]|0;
+ $5 = ((($2)) + 3|0);
+ $6 = HEAP8[$5>>0]|0;
+ $7 = $6&255;
+ $8 = $7 << 24;
+ $9 = ((($2)) + 2|0);
+ $10 = HEAP8[$9>>0]|0;
+ $11 = $10&255;
+ $12 = $11 << 16;
+ $13 = $12 | $8;
+ $14 = ((($2)) + 1|0);
+ $15 = HEAP8[$14>>0]|0;
+ $16 = $15&255;
+ $17 = $16 << 8;
+ $18 = $13 | $17;
+ $19 = HEAP8[$2>>0]|0;
+ $20 = $19&255;
+ $21 = $18 | $20;
+ $22 = ((($2)) + 4|0);
+ $23 = ((($2)) + 7|0);
+ $24 = HEAP8[$23>>0]|0;
+ $25 = $24&255;
+ $26 = $25 << 24;
+ $27 = ((($2)) + 6|0);
+ $28 = HEAP8[$27>>0]|0;
+ $29 = $28&255;
+ $30 = $29 << 16;
+ $31 = $30 | $26;
+ $32 = ((($2)) + 5|0);
+ $33 = HEAP8[$32>>0]|0;
+ $34 = $33&255;
+ $35 = $34 << 8;
+ $36 = $31 | $35;
+ $37 = HEAP8[$22>>0]|0;
+ $38 = $37&255;
+ $39 = $36 | $38;
+ $40 = ((($2)) + 8|0);
+ $41 = ((($2)) + 11|0);
+ $42 = HEAP8[$41>>0]|0;
+ $43 = $42&255;
+ $44 = $43 << 24;
+ $45 = ((($2)) + 10|0);
+ $46 = HEAP8[$45>>0]|0;
+ $47 = $46&255;
+ $48 = $47 << 16;
+ $49 = $48 | $44;
+ $50 = ((($2)) + 9|0);
+ $51 = HEAP8[$50>>0]|0;
+ $52 = $51&255;
+ $53 = $52 << 8;
+ $54 = $49 | $53;
+ $55 = HEAP8[$40>>0]|0;
+ $56 = $55&255;
+ $57 = $54 | $56;
+ $58 = ((($2)) + 12|0);
+ $59 = ((($2)) + 15|0);
+ $60 = HEAP8[$59>>0]|0;
+ $61 = $60&255;
+ $62 = $61 << 24;
+ $63 = ((($2)) + 14|0);
+ $64 = HEAP8[$63>>0]|0;
+ $65 = $64&255;
+ $66 = $65 << 16;
+ $67 = $66 | $62;
+ $68 = ((($2)) + 13|0);
+ $69 = HEAP8[$68>>0]|0;
+ $70 = $69&255;
+ $71 = $70 << 8;
+ $72 = $67 | $71;
+ $73 = HEAP8[$58>>0]|0;
+ $74 = $73&255;
+ $75 = $72 | $74;
+ $76 = ((($0)) + 240|0);
+ $77 = (($76) + ($4<<4)|0);
+ $78 = HEAP32[$77>>2]|0;
+ $79 = $78 ^ $21;
+ $80 = (((($76) + ($4<<4)|0)) + 4|0);
+ $81 = HEAP32[$80>>2]|0;
+ $82 = $81 ^ $39;
+ $83 = (((($76) + ($4<<4)|0)) + 8|0);
+ $84 = HEAP32[$83>>2]|0;
+ $85 = $84 ^ $57;
+ $86 = (((($76) + ($4<<4)|0)) + 12|0);
+ $87 = HEAP32[$86>>2]|0;
+ $$0$in$i = $4;$$sink = $87;$$sink15 = $75;$$sroa$045$0$i = $79;$$sroa$44$0$i = $82;$$sroa$82$0$i = $85;
+ while(1) {
+ $88 = $$sink ^ $$sink15;
+ $$0$i = (($$0$in$i) + -1)|0;
+ $89 = ($$0$in$i|0)>(2);
+ $90 = $$sroa$045$0$i & 255;
+ $91 = (38052 + ($90<<2)|0);
+ $92 = HEAP32[$91>>2]|0;
+ $93 = $$sroa$045$0$i >>> 8;
+ $94 = $93 & 255;
+ $95 = (38052 + ($94<<2)|0);
+ $96 = HEAP32[$95>>2]|0;
+ $97 = $96 << 8;
+ $98 = $96 >>> 24;
+ $99 = $97 | $98;
+ $100 = $$sroa$045$0$i >>> 16;
+ $101 = $100 & 255;
+ $102 = (38052 + ($101<<2)|0);
+ $103 = HEAP32[$102>>2]|0;
+ $104 = $103 << 16;
+ $105 = $103 >>> 16;
+ $106 = $104 | $105;
+ $107 = $$sroa$045$0$i >>> 24;
+ $108 = (38052 + ($107<<2)|0);
+ $109 = HEAP32[$108>>2]|0;
+ $110 = $109 << 24;
+ $111 = $109 >>> 8;
+ $112 = $110 | $111;
+ if (!($89)) {
+ break;
+ }
+ $113 = (($76) + ($$0$i<<4)|0);
+ $114 = HEAP32[$113>>2]|0;
+ $115 = $114 ^ $92;
+ $116 = $$sroa$44$0$i & 255;
+ $117 = (38052 + ($116<<2)|0);
+ $118 = HEAP32[$117>>2]|0;
+ $119 = $118 ^ $99;
+ $120 = $$sroa$44$0$i >>> 8;
+ $121 = $120 & 255;
+ $122 = (38052 + ($121<<2)|0);
+ $123 = HEAP32[$122>>2]|0;
+ $124 = $123 << 8;
+ $125 = $123 >>> 24;
+ $126 = $124 | $125;
+ $127 = $126 ^ $106;
+ $128 = $$sroa$44$0$i >>> 16;
+ $129 = $128 & 255;
+ $130 = (38052 + ($129<<2)|0);
+ $131 = HEAP32[$130>>2]|0;
+ $132 = $131 << 16;
+ $133 = $131 >>> 16;
+ $134 = $132 | $133;
+ $135 = $134 ^ $112;
+ $136 = $$sroa$44$0$i >>> 24;
+ $137 = (38052 + ($136<<2)|0);
+ $138 = HEAP32[$137>>2]|0;
+ $139 = $138 << 24;
+ $140 = $138 >>> 8;
+ $141 = $139 | $140;
+ $142 = $115 ^ $141;
+ $143 = (((($76) + ($$0$i<<4)|0)) + 4|0);
+ $144 = HEAP32[$143>>2]|0;
+ $145 = $119 ^ $144;
+ $146 = $$sroa$82$0$i & 255;
+ $147 = (38052 + ($146<<2)|0);
+ $148 = HEAP32[$147>>2]|0;
+ $149 = $127 ^ $148;
+ $150 = $$sroa$82$0$i >>> 8;
+ $151 = $150 & 255;
+ $152 = (38052 + ($151<<2)|0);
+ $153 = HEAP32[$152>>2]|0;
+ $154 = $153 << 8;
+ $155 = $153 >>> 24;
+ $156 = $154 | $155;
+ $157 = $135 ^ $156;
+ $158 = $$sroa$82$0$i >>> 16;
+ $159 = $158 & 255;
+ $160 = (38052 + ($159<<2)|0);
+ $161 = HEAP32[$160>>2]|0;
+ $162 = $161 << 16;
+ $163 = $161 >>> 16;
+ $164 = $162 | $163;
+ $165 = $142 ^ $164;
+ $166 = $$sroa$82$0$i >>> 24;
+ $167 = (38052 + ($166<<2)|0);
+ $168 = HEAP32[$167>>2]|0;
+ $169 = $168 << 24;
+ $170 = $168 >>> 8;
+ $171 = $169 | $170;
+ $172 = $145 ^ $171;
+ $173 = (((($76) + ($$0$i<<4)|0)) + 8|0);
+ $174 = HEAP32[$173>>2]|0;
+ $175 = $149 ^ $174;
+ $176 = $88 & 255;
+ $177 = (38052 + ($176<<2)|0);
+ $178 = HEAP32[$177>>2]|0;
+ $179 = $157 ^ $178;
+ $180 = $88 >>> 8;
+ $181 = $180 & 255;
+ $182 = (38052 + ($181<<2)|0);
+ $183 = HEAP32[$182>>2]|0;
+ $184 = $183 << 8;
+ $185 = $183 >>> 24;
+ $186 = $184 | $185;
+ $187 = $165 ^ $186;
+ $188 = $88 >>> 16;
+ $189 = $188 & 255;
+ $190 = (38052 + ($189<<2)|0);
+ $191 = HEAP32[$190>>2]|0;
+ $192 = $191 << 16;
+ $193 = $191 >>> 16;
+ $194 = $192 | $193;
+ $195 = $172 ^ $194;
+ $196 = $88 >>> 24;
+ $197 = (38052 + ($196<<2)|0);
+ $198 = HEAP32[$197>>2]|0;
+ $199 = $198 << 24;
+ $200 = $198 >>> 8;
+ $201 = $199 | $200;
+ $202 = $175 ^ $201;
+ $203 = (((($76) + ($$0$i<<4)|0)) + 12|0);
+ $204 = HEAP32[$203>>2]|0;
+ $205 = $179 ^ $204;
+ $206 = (($$0$in$i) + -2)|0;
+ $207 = $187 & 255;
+ $208 = (38052 + ($207<<2)|0);
+ $209 = HEAP32[$208>>2]|0;
+ $210 = $187 >>> 8;
+ $211 = $210 & 255;
+ $212 = (38052 + ($211<<2)|0);
+ $213 = HEAP32[$212>>2]|0;
+ $214 = $213 << 8;
+ $215 = $213 >>> 24;
+ $216 = $214 | $215;
+ $217 = $187 >>> 16;
+ $218 = $217 & 255;
+ $219 = (38052 + ($218<<2)|0);
+ $220 = HEAP32[$219>>2]|0;
+ $221 = $220 << 16;
+ $222 = $220 >>> 16;
+ $223 = $221 | $222;
+ $224 = $187 >>> 24;
+ $225 = (38052 + ($224<<2)|0);
+ $226 = HEAP32[$225>>2]|0;
+ $227 = $226 << 24;
+ $228 = $226 >>> 8;
+ $229 = $227 | $228;
+ $230 = (($76) + ($206<<4)|0);
+ $231 = HEAP32[$230>>2]|0;
+ $232 = $231 ^ $209;
+ $233 = $195 & 255;
+ $234 = (38052 + ($233<<2)|0);
+ $235 = HEAP32[$234>>2]|0;
+ $236 = $235 ^ $216;
+ $237 = $195 >>> 8;
+ $238 = $237 & 255;
+ $239 = (38052 + ($238<<2)|0);
+ $240 = HEAP32[$239>>2]|0;
+ $241 = $240 << 8;
+ $242 = $240 >>> 24;
+ $243 = $241 | $242;
+ $244 = $243 ^ $223;
+ $245 = $195 >>> 16;
+ $246 = $245 & 255;
+ $247 = (38052 + ($246<<2)|0);
+ $248 = HEAP32[$247>>2]|0;
+ $249 = $248 << 16;
+ $250 = $248 >>> 16;
+ $251 = $249 | $250;
+ $252 = $251 ^ $229;
+ $253 = $195 >>> 24;
+ $254 = (38052 + ($253<<2)|0);
+ $255 = HEAP32[$254>>2]|0;
+ $256 = $255 << 24;
+ $257 = $255 >>> 8;
+ $258 = $256 | $257;
+ $259 = $232 ^ $258;
+ $260 = (((($76) + ($206<<4)|0)) + 4|0);
+ $261 = HEAP32[$260>>2]|0;
+ $262 = $236 ^ $261;
+ $263 = $202 & 255;
+ $264 = (38052 + ($263<<2)|0);
+ $265 = HEAP32[$264>>2]|0;
+ $266 = $244 ^ $265;
+ $267 = $202 >>> 8;
+ $268 = $267 & 255;
+ $269 = (38052 + ($268<<2)|0);
+ $270 = HEAP32[$269>>2]|0;
+ $271 = $270 << 8;
+ $272 = $270 >>> 24;
+ $273 = $271 | $272;
+ $274 = $252 ^ $273;
+ $275 = $202 >>> 16;
+ $276 = $275 & 255;
+ $277 = (38052 + ($276<<2)|0);
+ $278 = HEAP32[$277>>2]|0;
+ $279 = $278 << 16;
+ $280 = $278 >>> 16;
+ $281 = $279 | $280;
+ $282 = $259 ^ $281;
+ $283 = $202 >>> 24;
+ $284 = (38052 + ($283<<2)|0);
+ $285 = HEAP32[$284>>2]|0;
+ $286 = $285 << 24;
+ $287 = $285 >>> 8;
+ $288 = $286 | $287;
+ $289 = $262 ^ $288;
+ $290 = (((($76) + ($206<<4)|0)) + 8|0);
+ $291 = HEAP32[$290>>2]|0;
+ $292 = $266 ^ $291;
+ $293 = $205 & 255;
+ $294 = (38052 + ($293<<2)|0);
+ $295 = HEAP32[$294>>2]|0;
+ $296 = $274 ^ $295;
+ $297 = $205 >>> 8;
+ $298 = $297 & 255;
+ $299 = (38052 + ($298<<2)|0);
+ $300 = HEAP32[$299>>2]|0;
+ $301 = $300 << 8;
+ $302 = $300 >>> 24;
+ $303 = $301 | $302;
+ $304 = $282 ^ $303;
+ $305 = $205 >>> 16;
+ $306 = $305 & 255;
+ $307 = (38052 + ($306<<2)|0);
+ $308 = HEAP32[$307>>2]|0;
+ $309 = $308 << 16;
+ $310 = $308 >>> 16;
+ $311 = $309 | $310;
+ $312 = $289 ^ $311;
+ $313 = $205 >>> 24;
+ $314 = (38052 + ($313<<2)|0);
+ $315 = HEAP32[$314>>2]|0;
+ $316 = $315 << 24;
+ $317 = $315 >>> 8;
+ $318 = $316 | $317;
+ $319 = $292 ^ $318;
+ $320 = (((($76) + ($206<<4)|0)) + 12|0);
+ $321 = HEAP32[$320>>2]|0;
+ $$0$in$i = $206;$$sink = $296;$$sink15 = $321;$$sroa$045$0$i = $304;$$sroa$44$0$i = $312;$$sroa$82$0$i = $319;
+ }
+ $322 = ((($0)) + 256|0);
+ $323 = HEAP32[$322>>2]|0;
+ $324 = $323 ^ $92;
+ $325 = $$sroa$44$0$i & 255;
+ $326 = (38052 + ($325<<2)|0);
+ $327 = HEAP32[$326>>2]|0;
+ $328 = $327 ^ $99;
+ $329 = $$sroa$44$0$i >>> 8;
+ $330 = $329 & 255;
+ $331 = (38052 + ($330<<2)|0);
+ $332 = HEAP32[$331>>2]|0;
+ $333 = $332 << 8;
+ $334 = $332 >>> 24;
+ $335 = $333 | $334;
+ $336 = $335 ^ $106;
+ $337 = $$sroa$44$0$i >>> 16;
+ $338 = $337 & 255;
+ $339 = (38052 + ($338<<2)|0);
+ $340 = HEAP32[$339>>2]|0;
+ $341 = $340 << 16;
+ $342 = $340 >>> 16;
+ $343 = $341 | $342;
+ $344 = $343 ^ $112;
+ $345 = $$sroa$44$0$i >>> 24;
+ $346 = (38052 + ($345<<2)|0);
+ $347 = HEAP32[$346>>2]|0;
+ $348 = $347 << 24;
+ $349 = $347 >>> 8;
+ $350 = $348 | $349;
+ $351 = $324 ^ $350;
+ $352 = ((($0)) + 260|0);
+ $353 = HEAP32[$352>>2]|0;
+ $354 = $328 ^ $353;
+ $355 = $$sroa$82$0$i & 255;
+ $356 = (38052 + ($355<<2)|0);
+ $357 = HEAP32[$356>>2]|0;
+ $358 = $336 ^ $357;
+ $359 = $$sroa$82$0$i >>> 8;
+ $360 = $359 & 255;
+ $361 = (38052 + ($360<<2)|0);
+ $362 = HEAP32[$361>>2]|0;
+ $363 = $362 << 8;
+ $364 = $362 >>> 24;
+ $365 = $363 | $364;
+ $366 = $344 ^ $365;
+ $367 = $$sroa$82$0$i >>> 16;
+ $368 = $367 & 255;
+ $369 = (38052 + ($368<<2)|0);
+ $370 = HEAP32[$369>>2]|0;
+ $371 = $370 << 16;
+ $372 = $370 >>> 16;
+ $373 = $371 | $372;
+ $374 = $351 ^ $373;
+ $375 = $$sroa$82$0$i >>> 24;
+ $376 = (38052 + ($375<<2)|0);
+ $377 = HEAP32[$376>>2]|0;
+ $378 = $377 << 24;
+ $379 = $377 >>> 8;
+ $380 = $378 | $379;
+ $381 = $354 ^ $380;
+ $382 = ((($0)) + 264|0);
+ $383 = HEAP32[$382>>2]|0;
+ $384 = $358 ^ $383;
+ $385 = $88 & 255;
+ $386 = (38052 + ($385<<2)|0);
+ $387 = HEAP32[$386>>2]|0;
+ $388 = $366 ^ $387;
+ $389 = $88 >>> 8;
+ $390 = $389 & 255;
+ $391 = (38052 + ($390<<2)|0);
+ $392 = HEAP32[$391>>2]|0;
+ $393 = $392 << 8;
+ $394 = $392 >>> 24;
+ $395 = $393 | $394;
+ $396 = $374 ^ $395;
+ $397 = $88 >>> 16;
+ $398 = $397 & 255;
+ $399 = (38052 + ($398<<2)|0);
+ $400 = HEAP32[$399>>2]|0;
+ $401 = $400 << 16;
+ $402 = $400 >>> 16;
+ $403 = $401 | $402;
+ $404 = $381 ^ $403;
+ $405 = $88 >>> 24;
+ $406 = (38052 + ($405<<2)|0);
+ $407 = HEAP32[$406>>2]|0;
+ $408 = $407 << 24;
+ $409 = $407 >>> 8;
+ $410 = $408 | $409;
+ $411 = $384 ^ $410;
+ $412 = ((($0)) + 268|0);
+ $413 = HEAP32[$412>>2]|0;
+ $414 = $388 ^ $413;
+ $415 = $396 & 255;
+ $416 = (39076 + ($415)|0);
+ $417 = HEAP8[$416>>0]|0;
+ $418 = $417&255;
+ $419 = $396 >>> 8;
+ $420 = $419 & 255;
+ $421 = (39076 + ($420)|0);
+ $422 = HEAP8[$421>>0]|0;
+ $423 = $422&255;
+ $424 = $423 << 8;
+ $425 = $396 >>> 16;
+ $426 = $425 & 255;
+ $427 = (39076 + ($426)|0);
+ $428 = HEAP8[$427>>0]|0;
+ $429 = $428&255;
+ $430 = $429 << 16;
+ $431 = $396 >>> 24;
+ $432 = (39076 + ($431)|0);
+ $433 = HEAP8[$432>>0]|0;
+ $434 = $433&255;
+ $435 = $434 << 24;
+ $436 = HEAP32[$76>>2]|0;
+ $437 = $436 ^ $418;
+ $438 = $404 & 255;
+ $439 = (39076 + ($438)|0);
+ $440 = HEAP8[$439>>0]|0;
+ $441 = $440&255;
+ $442 = $424 | $441;
+ $443 = $404 >>> 8;
+ $444 = $443 & 255;
+ $445 = (39076 + ($444)|0);
+ $446 = HEAP8[$445>>0]|0;
+ $447 = $446&255;
+ $448 = $447 << 8;
+ $449 = $448 | $430;
+ $450 = $404 >>> 16;
+ $451 = $450 & 255;
+ $452 = (39076 + ($451)|0);
+ $453 = HEAP8[$452>>0]|0;
+ $454 = $453&255;
+ $455 = $454 << 16;
+ $456 = $455 | $435;
+ $457 = $404 >>> 24;
+ $458 = (39076 + ($457)|0);
+ $459 = HEAP8[$458>>0]|0;
+ $460 = $459&255;
+ $461 = $460 << 24;
+ $462 = $461 ^ $436;
+ $463 = ((($76)) + 4|0);
+ $464 = HEAP32[$463>>2]|0;
+ $465 = $464 ^ $442;
+ $466 = $411 & 255;
+ $467 = (39076 + ($466)|0);
+ $468 = HEAP8[$467>>0]|0;
+ $469 = $468&255;
+ $470 = $449 | $469;
+ $471 = $411 >>> 8;
+ $472 = $471 & 255;
+ $473 = (39076 + ($472)|0);
+ $474 = HEAP8[$473>>0]|0;
+ $475 = $474&255;
+ $476 = $475 << 8;
+ $477 = $456 | $476;
+ $478 = $411 >>> 16;
+ $479 = $478 & 255;
+ $480 = (39076 + ($479)|0);
+ $481 = HEAP8[$480>>0]|0;
+ $482 = $481&255;
+ $483 = $482 << 16;
+ $484 = $483 ^ $436;
+ $485 = $411 >>> 24;
+ $486 = (39076 + ($485)|0);
+ $487 = HEAP8[$486>>0]|0;
+ $488 = $487&255;
+ $489 = $488 << 24;
+ $490 = $489 ^ $464;
+ $491 = ((($0)) + 248|0);
+ $492 = HEAP32[$491>>2]|0;
+ $493 = $492 ^ $470;
+ $494 = $414 & 255;
+ $495 = (39076 + ($494)|0);
+ $496 = HEAP8[$495>>0]|0;
+ $497 = $496&255;
+ $498 = $477 | $497;
+ $499 = $414 >>> 8;
+ $500 = $499 & 255;
+ $501 = (39076 + ($500)|0);
+ $502 = HEAP8[$501>>0]|0;
+ $503 = $502&255;
+ $504 = $503 << 8;
+ $505 = $504 ^ $436;
+ $506 = $414 >>> 16;
+ $507 = $506 & 255;
+ $508 = (39076 + ($507)|0);
+ $509 = HEAP8[$508>>0]|0;
+ $510 = $509&255;
+ $511 = $510 << 16;
+ $512 = $511 ^ $464;
+ $513 = $414 >>> 24;
+ $514 = (39076 + ($513)|0);
+ $515 = HEAP8[$514>>0]|0;
+ $516 = $515&255;
+ $517 = $516 << 24;
+ $518 = $517 ^ $493;
+ $519 = ((($0)) + 252|0);
+ $520 = HEAP32[$519>>2]|0;
+ $521 = $520 ^ $498;
+ $522 = $462 >>> 24;
+ $523 = $522&255;
+ $524 = ((($1)) + 3|0);
+ HEAP8[$524>>0] = $523;
+ $525 = $484 >>> 16;
+ $526 = $525&255;
+ $527 = ((($1)) + 2|0);
+ HEAP8[$527>>0] = $526;
+ $528 = $505 >>> 8;
+ $529 = $528&255;
+ $530 = ((($1)) + 1|0);
+ HEAP8[$530>>0] = $529;
+ $531 = $437&255;
+ HEAP8[$1>>0] = $531;
+ $532 = ((($1)) + 4|0);
+ $533 = $490 >>> 24;
+ $534 = $533&255;
+ $535 = ((($1)) + 7|0);
+ HEAP8[$535>>0] = $534;
+ $536 = $512 >>> 16;
+ $537 = $536&255;
+ $538 = ((($1)) + 6|0);
+ HEAP8[$538>>0] = $537;
+ $539 = $465 >>> 8;
+ $540 = $539&255;
+ $541 = ((($1)) + 5|0);
+ HEAP8[$541>>0] = $540;
+ $542 = $465&255;
+ HEAP8[$532>>0] = $542;
+ $543 = ((($1)) + 8|0);
+ $544 = $518 >>> 24;
+ $545 = $544&255;
+ $546 = ((($1)) + 11|0);
+ HEAP8[$546>>0] = $545;
+ $547 = $493 >>> 16;
+ $548 = $547&255;
+ $549 = ((($1)) + 10|0);
+ HEAP8[$549>>0] = $548;
+ $550 = $493 >>> 8;
+ $551 = $550&255;
+ $552 = ((($1)) + 9|0);
+ HEAP8[$552>>0] = $551;
+ $553 = $493&255;
+ HEAP8[$543>>0] = $553;
+ $554 = ((($1)) + 12|0);
+ $555 = $521 >>> 24;
+ $556 = $555&255;
+ $557 = ((($1)) + 15|0);
+ HEAP8[$557>>0] = $556;
+ $558 = $521 >>> 16;
+ $559 = $558&255;
+ $560 = ((($1)) + 14|0);
+ HEAP8[$560>>0] = $559;
+ $561 = $521 >>> 8;
+ $562 = $561&255;
+ $563 = ((($1)) + 13|0);
+ HEAP8[$563>>0] = $562;
+ $564 = $521&255;
+ HEAP8[$554>>0] = $564;
+ return 64;
+}
+function _prefetch_enc() {
+ 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, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = HEAP8[5216]|0;
+ $1 = HEAP8[(5248)>>0]|0;
+ $2 = HEAP8[(5280)>>0]|0;
+ $3 = HEAP8[(5312)>>0]|0;
+ $4 = HEAP8[(5344)>>0]|0;
+ $5 = HEAP8[(5376)>>0]|0;
+ $6 = HEAP8[(5408)>>0]|0;
+ $7 = HEAP8[(5440)>>0]|0;
+ $8 = HEAP8[(5472)>>0]|0;
+ $9 = HEAP8[(5504)>>0]|0;
+ $10 = HEAP8[(5536)>>0]|0;
+ $11 = HEAP8[(5568)>>0]|0;
+ $12 = HEAP8[(5600)>>0]|0;
+ $13 = HEAP8[(5632)>>0]|0;
+ $14 = HEAP8[(5664)>>0]|0;
+ $15 = HEAP8[(5696)>>0]|0;
+ $16 = HEAP8[(5728)>>0]|0;
+ $17 = HEAP8[(5760)>>0]|0;
+ $18 = HEAP8[(5792)>>0]|0;
+ $19 = HEAP8[(5824)>>0]|0;
+ $20 = HEAP8[(5856)>>0]|0;
+ $21 = HEAP8[(5888)>>0]|0;
+ $22 = HEAP8[(5920)>>0]|0;
+ $23 = HEAP8[(5952)>>0]|0;
+ $24 = HEAP8[(5984)>>0]|0;
+ $25 = HEAP8[(6016)>>0]|0;
+ $26 = HEAP8[(6048)>>0]|0;
+ $27 = HEAP8[(6080)>>0]|0;
+ $28 = HEAP8[(6112)>>0]|0;
+ $29 = HEAP8[(6144)>>0]|0;
+ $30 = HEAP8[(6176)>>0]|0;
+ $31 = HEAP8[(6208)>>0]|0;
+ $32 = HEAP8[(6239)>>0]|0;
+ return;
+}
+function _prefetch_dec() {
+ 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
+ var $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = HEAP8[38052]|0;
+ $1 = HEAP8[(38084)>>0]|0;
+ $2 = HEAP8[(38116)>>0]|0;
+ $3 = HEAP8[(38148)>>0]|0;
+ $4 = HEAP8[(38180)>>0]|0;
+ $5 = HEAP8[(38212)>>0]|0;
+ $6 = HEAP8[(38244)>>0]|0;
+ $7 = HEAP8[(38276)>>0]|0;
+ $8 = HEAP8[(38308)>>0]|0;
+ $9 = HEAP8[(38340)>>0]|0;
+ $10 = HEAP8[(38372)>>0]|0;
+ $11 = HEAP8[(38404)>>0]|0;
+ $12 = HEAP8[(38436)>>0]|0;
+ $13 = HEAP8[(38468)>>0]|0;
+ $14 = HEAP8[(38500)>>0]|0;
+ $15 = HEAP8[(38532)>>0]|0;
+ $16 = HEAP8[(38564)>>0]|0;
+ $17 = HEAP8[(38596)>>0]|0;
+ $18 = HEAP8[(38628)>>0]|0;
+ $19 = HEAP8[(38660)>>0]|0;
+ $20 = HEAP8[(38692)>>0]|0;
+ $21 = HEAP8[(38724)>>0]|0;
+ $22 = HEAP8[(38756)>>0]|0;
+ $23 = HEAP8[(38788)>>0]|0;
+ $24 = HEAP8[(38820)>>0]|0;
+ $25 = HEAP8[(38852)>>0]|0;
+ $26 = HEAP8[(38884)>>0]|0;
+ $27 = HEAP8[(38916)>>0]|0;
+ $28 = HEAP8[(38948)>>0]|0;
+ $29 = HEAP8[(38980)>>0]|0;
+ $30 = HEAP8[(39012)>>0]|0;
+ $31 = HEAP8[(39044)>>0]|0;
+ $32 = HEAP8[(39076)>>0]|0;
+ $33 = HEAP8[(39108)>>0]|0;
+ $34 = HEAP8[(39140)>>0]|0;
+ $35 = HEAP8[(39172)>>0]|0;
+ $36 = HEAP8[(39204)>>0]|0;
+ $37 = HEAP8[(39236)>>0]|0;
+ $38 = HEAP8[(39268)>>0]|0;
+ $39 = HEAP8[(39300)>>0]|0;
+ $40 = HEAP8[(39331)>>0]|0;
+ return;
+}
+function __gcry_aes_cfb_enc($0,$1,$2,$3,$4) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ var $$02831 = 0, $$02930 = 0, $$032 = 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;
+ var $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0;
+ var $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
+ var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
+ var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0;
+ var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0;
+ var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $5 = ((($0)) + 496|0);
+ $6 = HEAP32[$5>>2]|0;
+ $7 = ($6|0)==(0|0);
+ if (!($7)) {
+ FUNCTION_TABLE_v[$6 & 127]();
+ }
+ $8 = ((($0)) + 488|0);
+ $9 = HEAP32[$8>>2]|0;
+ $10 = ($4|0)==(0);
+ if ($10) {
+ return;
+ }
+ $11 = $1;
+ $12 = ((($1)) + 4|0);
+ $13 = ((($1)) + 8|0);
+ $14 = ((($1)) + 12|0);
+ $15 = ((($1)) + 1|0);
+ $16 = ((($1)) + 2|0);
+ $17 = ((($1)) + 3|0);
+ $18 = ((($1)) + 4|0);
+ $19 = ((($1)) + 5|0);
+ $20 = ((($1)) + 6|0);
+ $21 = ((($1)) + 7|0);
+ $22 = ((($1)) + 8|0);
+ $23 = ((($1)) + 9|0);
+ $24 = ((($1)) + 10|0);
+ $25 = ((($1)) + 11|0);
+ $26 = ((($1)) + 12|0);
+ $27 = ((($1)) + 13|0);
+ $28 = ((($1)) + 14|0);
+ $29 = ((($1)) + 15|0);
+ $$02831 = $3;$$02930 = $2;$$032 = $4;
+ while(1) {
+ $30 = (FUNCTION_TABLE_iiii[$9 & 127]($0,$1,$1)|0);
+ $31 = $$02831;
+ $32 = $$02930;
+ $33 = $32 | $11;
+ $34 = $33 | $31;
+ $35 = $34 & 3;
+ $36 = ($35|0)==(0);
+ if ($36) {
+ $37 = ((($$02831)) + 4|0);
+ $38 = HEAP32[$$02831>>2]|0;
+ $39 = HEAP32[$1>>2]|0;
+ $40 = $39 ^ $38;
+ HEAP32[$1>>2] = $40;
+ $41 = ((($$02930)) + 4|0);
+ HEAP32[$$02930>>2] = $40;
+ $42 = ((($$02831)) + 8|0);
+ $43 = HEAP32[$37>>2]|0;
+ $44 = HEAP32[$12>>2]|0;
+ $45 = $44 ^ $43;
+ HEAP32[$12>>2] = $45;
+ $46 = ((($$02930)) + 8|0);
+ HEAP32[$41>>2] = $45;
+ $47 = ((($$02831)) + 12|0);
+ $48 = HEAP32[$42>>2]|0;
+ $49 = HEAP32[$13>>2]|0;
+ $50 = $49 ^ $48;
+ HEAP32[$13>>2] = $50;
+ $51 = ((($$02930)) + 12|0);
+ HEAP32[$46>>2] = $50;
+ $52 = HEAP32[$47>>2]|0;
+ $53 = HEAP32[$14>>2]|0;
+ $54 = $53 ^ $52;
+ HEAP32[$14>>2] = $54;
+ HEAP32[$51>>2] = $54;
+ } else {
+ $55 = ((($$02831)) + 1|0);
+ $56 = HEAP8[$$02831>>0]|0;
+ $57 = HEAP8[$1>>0]|0;
+ $58 = $57 ^ $56;
+ HEAP8[$1>>0] = $58;
+ $59 = ((($$02930)) + 1|0);
+ HEAP8[$$02930>>0] = $58;
+ $60 = ((($$02831)) + 2|0);
+ $61 = HEAP8[$55>>0]|0;
+ $62 = HEAP8[$15>>0]|0;
+ $63 = $62 ^ $61;
+ HEAP8[$15>>0] = $63;
+ $64 = ((($$02930)) + 2|0);
+ HEAP8[$59>>0] = $63;
+ $65 = ((($$02831)) + 3|0);
+ $66 = HEAP8[$60>>0]|0;
+ $67 = HEAP8[$16>>0]|0;
+ $68 = $67 ^ $66;
+ HEAP8[$16>>0] = $68;
+ $69 = ((($$02930)) + 3|0);
+ HEAP8[$64>>0] = $68;
+ $70 = ((($$02831)) + 4|0);
+ $71 = HEAP8[$65>>0]|0;
+ $72 = HEAP8[$17>>0]|0;
+ $73 = $72 ^ $71;
+ HEAP8[$17>>0] = $73;
+ $74 = ((($$02930)) + 4|0);
+ HEAP8[$69>>0] = $73;
+ $75 = ((($$02831)) + 5|0);
+ $76 = HEAP8[$70>>0]|0;
+ $77 = HEAP8[$18>>0]|0;
+ $78 = $77 ^ $76;
+ HEAP8[$18>>0] = $78;
+ $79 = ((($$02930)) + 5|0);
+ HEAP8[$74>>0] = $78;
+ $80 = ((($$02831)) + 6|0);
+ $81 = HEAP8[$75>>0]|0;
+ $82 = HEAP8[$19>>0]|0;
+ $83 = $82 ^ $81;
+ HEAP8[$19>>0] = $83;
+ $84 = ((($$02930)) + 6|0);
+ HEAP8[$79>>0] = $83;
+ $85 = ((($$02831)) + 7|0);
+ $86 = HEAP8[$80>>0]|0;
+ $87 = HEAP8[$20>>0]|0;
+ $88 = $87 ^ $86;
+ HEAP8[$20>>0] = $88;
+ $89 = ((($$02930)) + 7|0);
+ HEAP8[$84>>0] = $88;
+ $90 = ((($$02831)) + 8|0);
+ $91 = HEAP8[$85>>0]|0;
+ $92 = HEAP8[$21>>0]|0;
+ $93 = $92 ^ $91;
+ HEAP8[$21>>0] = $93;
+ $94 = ((($$02930)) + 8|0);
+ HEAP8[$89>>0] = $93;
+ $95 = ((($$02831)) + 9|0);
+ $96 = HEAP8[$90>>0]|0;
+ $97 = HEAP8[$22>>0]|0;
+ $98 = $97 ^ $96;
+ HEAP8[$22>>0] = $98;
+ $99 = ((($$02930)) + 9|0);
+ HEAP8[$94>>0] = $98;
+ $100 = ((($$02831)) + 10|0);
+ $101 = HEAP8[$95>>0]|0;
+ $102 = HEAP8[$23>>0]|0;
+ $103 = $102 ^ $101;
+ HEAP8[$23>>0] = $103;
+ $104 = ((($$02930)) + 10|0);
+ HEAP8[$99>>0] = $103;
+ $105 = ((($$02831)) + 11|0);
+ $106 = HEAP8[$100>>0]|0;
+ $107 = HEAP8[$24>>0]|0;
+ $108 = $107 ^ $106;
+ HEAP8[$24>>0] = $108;
+ $109 = ((($$02930)) + 11|0);
+ HEAP8[$104>>0] = $108;
+ $110 = ((($$02831)) + 12|0);
+ $111 = HEAP8[$105>>0]|0;
+ $112 = HEAP8[$25>>0]|0;
+ $113 = $112 ^ $111;
+ HEAP8[$25>>0] = $113;
+ $114 = ((($$02930)) + 12|0);
+ HEAP8[$109>>0] = $113;
+ $115 = ((($$02831)) + 13|0);
+ $116 = HEAP8[$110>>0]|0;
+ $117 = HEAP8[$26>>0]|0;
+ $118 = $117 ^ $116;
+ HEAP8[$26>>0] = $118;
+ $119 = ((($$02930)) + 13|0);
+ HEAP8[$114>>0] = $118;
+ $120 = ((($$02831)) + 14|0);
+ $121 = HEAP8[$115>>0]|0;
+ $122 = HEAP8[$27>>0]|0;
+ $123 = $122 ^ $121;
+ HEAP8[$27>>0] = $123;
+ $124 = ((($$02930)) + 14|0);
+ HEAP8[$119>>0] = $123;
+ $125 = ((($$02831)) + 15|0);
+ $126 = HEAP8[$120>>0]|0;
+ $127 = HEAP8[$28>>0]|0;
+ $128 = $127 ^ $126;
+ HEAP8[$28>>0] = $128;
+ $129 = ((($$02930)) + 15|0);
+ HEAP8[$124>>0] = $128;
+ $130 = HEAP8[$125>>0]|0;
+ $131 = HEAP8[$29>>0]|0;
+ $132 = $131 ^ $130;
+ HEAP8[$29>>0] = $132;
+ HEAP8[$129>>0] = $132;
+ }
+ $133 = ((($$02930)) + 16|0);
+ $134 = ((($$02831)) + 16|0);
+ $135 = (($$032) + -1)|0;
+ $136 = ($135|0)==(0);
+ if ($136) {
+ break;
+ } else {
+ $$02831 = $134;$$02930 = $133;$$032 = $135;
+ }
+ }
+ $137 = ($30|0)==(0);
+ if ($137) {
+ return;
+ }
+ $138 = (($30) + 16)|0;
+ ___gcry_burn_stack($138);
+ return;
+}
+function __gcry_aes_cbc_enc($0,$1,$2,$3,$4,$5) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ $5 = $5|0;
+ var $$036$lcssa = 0, $$037$lcssa = 0, $$03744$us = 0, $$03744$us$phi = 0, $$03843 = 0, $$03843$us = 0, $$03942$us = 0, $$045 = 0, $$045$us = 0, $$pn = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0;
+ var $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0;
+ var $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0;
+ var $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0;
+ var $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0;
+ var $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0;
+ var $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0;
+ var $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0;
+ var $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0;
+ var $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0;
+ var $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0;
+ var $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0;
+ var $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0;
+ var $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0;
+ var $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0;
+ var $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0;
+ var $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0;
+ var $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0;
+ var $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
+ var $48 = 0, $49 = 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, $scevgep = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $6 = ((($0)) + 496|0);
+ $7 = HEAP32[$6>>2]|0;
+ $8 = ($7|0)==(0|0);
+ if (!($8)) {
+ FUNCTION_TABLE_v[$7 & 127]();
+ }
+ $9 = ((($0)) + 488|0);
+ $10 = HEAP32[$9>>2]|0;
+ $11 = ($4|0)==(0);
+ if ($11) {
+ return;
+ }
+ $12 = ($5|0)==(0);
+ if ($12) {
+ $13 = $4 << 4;
+ $14 = (($13) + -16)|0;
+ $$03744$us = $1;$$03843$us = $3;$$03942$us = $2;$$045$us = $4;
+ while(1) {
+ $15 = $$03942$us;
+ $16 = $$03843$us;
+ $17 = $16 | $15;
+ $18 = $$03744$us;
+ $19 = $17 | $18;
+ $20 = $19 & 3;
+ $21 = ($20|0)==(0);
+ if ($21) {
+ $115 = ((($$03843$us)) + 4|0);
+ $116 = HEAP32[$$03843$us>>2]|0;
+ $117 = ((($$03744$us)) + 4|0);
+ $118 = HEAP32[$$03744$us>>2]|0;
+ $119 = $118 ^ $116;
+ $120 = ((($$03942$us)) + 4|0);
+ HEAP32[$$03942$us>>2] = $119;
+ $121 = ((($$03843$us)) + 8|0);
+ $122 = HEAP32[$115>>2]|0;
+ $123 = ((($$03744$us)) + 8|0);
+ $124 = HEAP32[$117>>2]|0;
+ $125 = $124 ^ $122;
+ $126 = ((($$03942$us)) + 8|0);
+ HEAP32[$120>>2] = $125;
+ $127 = ((($$03843$us)) + 12|0);
+ $128 = HEAP32[$121>>2]|0;
+ $129 = ((($$03744$us)) + 12|0);
+ $130 = HEAP32[$123>>2]|0;
+ $131 = $130 ^ $128;
+ $132 = ((($$03942$us)) + 12|0);
+ HEAP32[$126>>2] = $131;
+ $133 = HEAP32[$127>>2]|0;
+ $134 = HEAP32[$129>>2]|0;
+ $135 = $134 ^ $133;
+ HEAP32[$132>>2] = $135;
+ } else {
+ $22 = ((($$03843$us)) + 1|0);
+ $23 = HEAP8[$$03843$us>>0]|0;
+ $24 = ((($$03744$us)) + 1|0);
+ $25 = HEAP8[$$03744$us>>0]|0;
+ $26 = $25 ^ $23;
+ $27 = ((($$03942$us)) + 1|0);
+ HEAP8[$$03942$us>>0] = $26;
+ $28 = ((($$03843$us)) + 2|0);
+ $29 = HEAP8[$22>>0]|0;
+ $30 = ((($$03744$us)) + 2|0);
+ $31 = HEAP8[$24>>0]|0;
+ $32 = $31 ^ $29;
+ $33 = ((($$03942$us)) + 2|0);
+ HEAP8[$27>>0] = $32;
+ $34 = ((($$03843$us)) + 3|0);
+ $35 = HEAP8[$28>>0]|0;
+ $36 = ((($$03744$us)) + 3|0);
+ $37 = HEAP8[$30>>0]|0;
+ $38 = $37 ^ $35;
+ $39 = ((($$03942$us)) + 3|0);
+ HEAP8[$33>>0] = $38;
+ $40 = ((($$03843$us)) + 4|0);
+ $41 = HEAP8[$34>>0]|0;
+ $42 = ((($$03744$us)) + 4|0);
+ $43 = HEAP8[$36>>0]|0;
+ $44 = $43 ^ $41;
+ $45 = ((($$03942$us)) + 4|0);
+ HEAP8[$39>>0] = $44;
+ $46 = ((($$03843$us)) + 5|0);
+ $47 = HEAP8[$40>>0]|0;
+ $48 = ((($$03744$us)) + 5|0);
+ $49 = HEAP8[$42>>0]|0;
+ $50 = $49 ^ $47;
+ $51 = ((($$03942$us)) + 5|0);
+ HEAP8[$45>>0] = $50;
+ $52 = ((($$03843$us)) + 6|0);
+ $53 = HEAP8[$46>>0]|0;
+ $54 = ((($$03744$us)) + 6|0);
+ $55 = HEAP8[$48>>0]|0;
+ $56 = $55 ^ $53;
+ $57 = ((($$03942$us)) + 6|0);
+ HEAP8[$51>>0] = $56;
+ $58 = ((($$03843$us)) + 7|0);
+ $59 = HEAP8[$52>>0]|0;
+ $60 = ((($$03744$us)) + 7|0);
+ $61 = HEAP8[$54>>0]|0;
+ $62 = $61 ^ $59;
+ $63 = ((($$03942$us)) + 7|0);
+ HEAP8[$57>>0] = $62;
+ $64 = ((($$03843$us)) + 8|0);
+ $65 = HEAP8[$58>>0]|0;
+ $66 = ((($$03744$us)) + 8|0);
+ $67 = HEAP8[$60>>0]|0;
+ $68 = $67 ^ $65;
+ $69 = ((($$03942$us)) + 8|0);
+ HEAP8[$63>>0] = $68;
+ $70 = ((($$03843$us)) + 9|0);
+ $71 = HEAP8[$64>>0]|0;
+ $72 = ((($$03744$us)) + 9|0);
+ $73 = HEAP8[$66>>0]|0;
+ $74 = $73 ^ $71;
+ $75 = ((($$03942$us)) + 9|0);
+ HEAP8[$69>>0] = $74;
+ $76 = ((($$03843$us)) + 10|0);
+ $77 = HEAP8[$70>>0]|0;
+ $78 = ((($$03744$us)) + 10|0);
+ $79 = HEAP8[$72>>0]|0;
+ $80 = $79 ^ $77;
+ $81 = ((($$03942$us)) + 10|0);
+ HEAP8[$75>>0] = $80;
+ $82 = ((($$03843$us)) + 11|0);
+ $83 = HEAP8[$76>>0]|0;
+ $84 = ((($$03744$us)) + 11|0);
+ $85 = HEAP8[$78>>0]|0;
+ $86 = $85 ^ $83;
+ $87 = ((($$03942$us)) + 11|0);
+ HEAP8[$81>>0] = $86;
+ $88 = ((($$03843$us)) + 12|0);
+ $89 = HEAP8[$82>>0]|0;
+ $90 = ((($$03744$us)) + 12|0);
+ $91 = HEAP8[$84>>0]|0;
+ $92 = $91 ^ $89;
+ $93 = ((($$03942$us)) + 12|0);
+ HEAP8[$87>>0] = $92;
+ $94 = ((($$03843$us)) + 13|0);
+ $95 = HEAP8[$88>>0]|0;
+ $96 = ((($$03744$us)) + 13|0);
+ $97 = HEAP8[$90>>0]|0;
+ $98 = $97 ^ $95;
+ $99 = ((($$03942$us)) + 13|0);
+ HEAP8[$93>>0] = $98;
+ $100 = ((($$03843$us)) + 14|0);
+ $101 = HEAP8[$94>>0]|0;
+ $102 = ((($$03744$us)) + 14|0);
+ $103 = HEAP8[$96>>0]|0;
+ $104 = $103 ^ $101;
+ $105 = ((($$03942$us)) + 14|0);
+ HEAP8[$99>>0] = $104;
+ $106 = ((($$03843$us)) + 15|0);
+ $107 = HEAP8[$100>>0]|0;
+ $108 = ((($$03744$us)) + 15|0);
+ $109 = HEAP8[$102>>0]|0;
+ $110 = $109 ^ $107;
+ $111 = ((($$03942$us)) + 15|0);
+ HEAP8[$105>>0] = $110;
+ $112 = HEAP8[$106>>0]|0;
+ $113 = HEAP8[$108>>0]|0;
+ $114 = $113 ^ $112;
+ HEAP8[$111>>0] = $114;
+ }
+ $136 = (FUNCTION_TABLE_iiii[$10 & 127]($0,$$03942$us,$$03942$us)|0);
+ $137 = ((($$03843$us)) + 16|0);
+ $138 = ((($$03942$us)) + 16|0);
+ $139 = (($$045$us) + -1)|0;
+ $140 = ($139|0)==(0);
+ if ($140) {
+ break;
+ } else {
+ $$03744$us$phi = $$03942$us;$$03843$us = $137;$$03942$us = $138;$$045$us = $139;$$03744$us = $$03744$us$phi;
+ }
+ }
+ $scevgep = (($2) + ($14)|0);
+ $$036$lcssa = $136;$$037$lcssa = $scevgep;
+ } else {
+ $141 = $2;
+ $142 = $3;
+ $143 = $142 | $141;
+ $144 = $1;
+ $145 = $143 | $144;
+ $146 = $145 & 3;
+ $147 = ($146|0)==(0);
+ if ($147) {
+ $241 = ((($3)) + 4|0);
+ $242 = HEAP32[$3>>2]|0;
+ $243 = ((($1)) + 4|0);
+ $244 = HEAP32[$1>>2]|0;
+ $245 = $244 ^ $242;
+ $246 = ((($2)) + 4|0);
+ HEAP32[$2>>2] = $245;
+ $247 = ((($3)) + 8|0);
+ $248 = HEAP32[$241>>2]|0;
+ $249 = ((($1)) + 8|0);
+ $250 = HEAP32[$243>>2]|0;
+ $251 = $250 ^ $248;
+ $252 = ((($2)) + 8|0);
+ HEAP32[$246>>2] = $251;
+ $253 = ((($3)) + 12|0);
+ $254 = HEAP32[$247>>2]|0;
+ $255 = ((($1)) + 12|0);
+ $256 = HEAP32[$249>>2]|0;
+ $257 = $256 ^ $254;
+ $258 = ((($2)) + 12|0);
+ HEAP32[$252>>2] = $257;
+ $259 = HEAP32[$253>>2]|0;
+ $260 = HEAP32[$255>>2]|0;
+ $261 = $260 ^ $259;
+ HEAP32[$258>>2] = $261;
+ } else {
+ $148 = ((($3)) + 1|0);
+ $149 = HEAP8[$3>>0]|0;
+ $150 = ((($1)) + 1|0);
+ $151 = HEAP8[$1>>0]|0;
+ $152 = $151 ^ $149;
+ $153 = ((($2)) + 1|0);
+ HEAP8[$2>>0] = $152;
+ $154 = ((($3)) + 2|0);
+ $155 = HEAP8[$148>>0]|0;
+ $156 = ((($1)) + 2|0);
+ $157 = HEAP8[$150>>0]|0;
+ $158 = $157 ^ $155;
+ $159 = ((($2)) + 2|0);
+ HEAP8[$153>>0] = $158;
+ $160 = ((($3)) + 3|0);
+ $161 = HEAP8[$154>>0]|0;
+ $162 = ((($1)) + 3|0);
+ $163 = HEAP8[$156>>0]|0;
+ $164 = $163 ^ $161;
+ $165 = ((($2)) + 3|0);
+ HEAP8[$159>>0] = $164;
+ $166 = ((($3)) + 4|0);
+ $167 = HEAP8[$160>>0]|0;
+ $168 = ((($1)) + 4|0);
+ $169 = HEAP8[$162>>0]|0;
+ $170 = $169 ^ $167;
+ $171 = ((($2)) + 4|0);
+ HEAP8[$165>>0] = $170;
+ $172 = ((($3)) + 5|0);
+ $173 = HEAP8[$166>>0]|0;
+ $174 = ((($1)) + 5|0);
+ $175 = HEAP8[$168>>0]|0;
+ $176 = $175 ^ $173;
+ $177 = ((($2)) + 5|0);
+ HEAP8[$171>>0] = $176;
+ $178 = ((($3)) + 6|0);
+ $179 = HEAP8[$172>>0]|0;
+ $180 = ((($1)) + 6|0);
+ $181 = HEAP8[$174>>0]|0;
+ $182 = $181 ^ $179;
+ $183 = ((($2)) + 6|0);
+ HEAP8[$177>>0] = $182;
+ $184 = ((($3)) + 7|0);
+ $185 = HEAP8[$178>>0]|0;
+ $186 = ((($1)) + 7|0);
+ $187 = HEAP8[$180>>0]|0;
+ $188 = $187 ^ $185;
+ $189 = ((($2)) + 7|0);
+ HEAP8[$183>>0] = $188;
+ $190 = ((($3)) + 8|0);
+ $191 = HEAP8[$184>>0]|0;
+ $192 = ((($1)) + 8|0);
+ $193 = HEAP8[$186>>0]|0;
+ $194 = $193 ^ $191;
+ $195 = ((($2)) + 8|0);
+ HEAP8[$189>>0] = $194;
+ $196 = ((($3)) + 9|0);
+ $197 = HEAP8[$190>>0]|0;
+ $198 = ((($1)) + 9|0);
+ $199 = HEAP8[$192>>0]|0;
+ $200 = $199 ^ $197;
+ $201 = ((($2)) + 9|0);
+ HEAP8[$195>>0] = $200;
+ $202 = ((($3)) + 10|0);
+ $203 = HEAP8[$196>>0]|0;
+ $204 = ((($1)) + 10|0);
+ $205 = HEAP8[$198>>0]|0;
+ $206 = $205 ^ $203;
+ $207 = ((($2)) + 10|0);
+ HEAP8[$201>>0] = $206;
+ $208 = ((($3)) + 11|0);
+ $209 = HEAP8[$202>>0]|0;
+ $210 = ((($1)) + 11|0);
+ $211 = HEAP8[$204>>0]|0;
+ $212 = $211 ^ $209;
+ $213 = ((($2)) + 11|0);
+ HEAP8[$207>>0] = $212;
+ $214 = ((($3)) + 12|0);
+ $215 = HEAP8[$208>>0]|0;
+ $216 = ((($1)) + 12|0);
+ $217 = HEAP8[$210>>0]|0;
+ $218 = $217 ^ $215;
+ $219 = ((($2)) + 12|0);
+ HEAP8[$213>>0] = $218;
+ $220 = ((($3)) + 13|0);
+ $221 = HEAP8[$214>>0]|0;
+ $222 = ((($1)) + 13|0);
+ $223 = HEAP8[$216>>0]|0;
+ $224 = $223 ^ $221;
+ $225 = ((($2)) + 13|0);
+ HEAP8[$219>>0] = $224;
+ $226 = ((($3)) + 14|0);
+ $227 = HEAP8[$220>>0]|0;
+ $228 = ((($1)) + 14|0);
+ $229 = HEAP8[$222>>0]|0;
+ $230 = $229 ^ $227;
+ $231 = ((($2)) + 14|0);
+ HEAP8[$225>>0] = $230;
+ $232 = ((($3)) + 15|0);
+ $233 = HEAP8[$226>>0]|0;
+ $234 = ((($1)) + 15|0);
+ $235 = HEAP8[$228>>0]|0;
+ $236 = $235 ^ $233;
+ $237 = ((($2)) + 15|0);
+ HEAP8[$231>>0] = $236;
+ $238 = HEAP8[$232>>0]|0;
+ $239 = HEAP8[$234>>0]|0;
+ $240 = $239 ^ $238;
+ HEAP8[$237>>0] = $240;
+ }
+ $262 = (FUNCTION_TABLE_iiii[$10 & 127]($0,$2,$2)|0);
+ $263 = (($4) + -1)|0;
+ $264 = ($263|0)==(0);
+ if ($264) {
+ $$036$lcssa = $262;$$037$lcssa = $2;
+ } else {
+ $265 = ((($2)) + 4|0);
+ $266 = ((($2)) + 8|0);
+ $267 = ((($2)) + 12|0);
+ $268 = ((($2)) + 1|0);
+ $269 = ((($2)) + 2|0);
+ $270 = ((($2)) + 3|0);
+ $271 = ((($2)) + 4|0);
+ $272 = ((($2)) + 5|0);
+ $273 = ((($2)) + 6|0);
+ $274 = ((($2)) + 7|0);
+ $275 = ((($2)) + 8|0);
+ $276 = ((($2)) + 9|0);
+ $277 = ((($2)) + 10|0);
+ $278 = ((($2)) + 11|0);
+ $279 = ((($2)) + 12|0);
+ $280 = ((($2)) + 13|0);
+ $281 = ((($2)) + 14|0);
+ $282 = ((($2)) + 15|0);
+ $$045 = $263;$$pn = $3;
+ while(1) {
+ $$03843 = ((($$pn)) + 16|0);
+ $283 = $$03843;
+ $284 = $283 | $141;
+ $285 = $284 & 3;
+ $286 = ($285|0)==(0);
+ if ($286) {
+ $287 = ((($$pn)) + 20|0);
+ $288 = HEAP32[$$03843>>2]|0;
+ $289 = HEAP32[$2>>2]|0;
+ $290 = $289 ^ $288;
+ HEAP32[$2>>2] = $290;
+ $291 = ((($$pn)) + 24|0);
+ $292 = HEAP32[$287>>2]|0;
+ $293 = HEAP32[$265>>2]|0;
+ $294 = $293 ^ $292;
+ HEAP32[$265>>2] = $294;
+ $295 = ((($$pn)) + 28|0);
+ $296 = HEAP32[$291>>2]|0;
+ $297 = HEAP32[$266>>2]|0;
+ $298 = $297 ^ $296;
+ HEAP32[$266>>2] = $298;
+ $299 = HEAP32[$295>>2]|0;
+ $300 = HEAP32[$267>>2]|0;
+ $301 = $300 ^ $299;
+ HEAP32[$267>>2] = $301;
+ } else {
+ $302 = ((($$pn)) + 17|0);
+ $303 = HEAP8[$$03843>>0]|0;
+ $304 = HEAP8[$2>>0]|0;
+ $305 = $304 ^ $303;
+ HEAP8[$2>>0] = $305;
+ $306 = ((($$pn)) + 18|0);
+ $307 = HEAP8[$302>>0]|0;
+ $308 = HEAP8[$268>>0]|0;
+ $309 = $308 ^ $307;
+ HEAP8[$268>>0] = $309;
+ $310 = ((($$pn)) + 19|0);
+ $311 = HEAP8[$306>>0]|0;
+ $312 = HEAP8[$269>>0]|0;
+ $313 = $312 ^ $311;
+ HEAP8[$269>>0] = $313;
+ $314 = ((($$pn)) + 20|0);
+ $315 = HEAP8[$310>>0]|0;
+ $316 = HEAP8[$270>>0]|0;
+ $317 = $316 ^ $315;
+ HEAP8[$270>>0] = $317;
+ $318 = ((($$pn)) + 21|0);
+ $319 = HEAP8[$314>>0]|0;
+ $320 = HEAP8[$271>>0]|0;
+ $321 = $320 ^ $319;
+ HEAP8[$271>>0] = $321;
+ $322 = ((($$pn)) + 22|0);
+ $323 = HEAP8[$318>>0]|0;
+ $324 = HEAP8[$272>>0]|0;
+ $325 = $324 ^ $323;
+ HEAP8[$272>>0] = $325;
+ $326 = ((($$pn)) + 23|0);
+ $327 = HEAP8[$322>>0]|0;
+ $328 = HEAP8[$273>>0]|0;
+ $329 = $328 ^ $327;
+ HEAP8[$273>>0] = $329;
+ $330 = ((($$pn)) + 24|0);
+ $331 = HEAP8[$326>>0]|0;
+ $332 = HEAP8[$274>>0]|0;
+ $333 = $332 ^ $331;
+ HEAP8[$274>>0] = $333;
+ $334 = ((($$pn)) + 25|0);
+ $335 = HEAP8[$330>>0]|0;
+ $336 = HEAP8[$275>>0]|0;
+ $337 = $336 ^ $335;
+ HEAP8[$275>>0] = $337;
+ $338 = ((($$pn)) + 26|0);
+ $339 = HEAP8[$334>>0]|0;
+ $340 = HEAP8[$276>>0]|0;
+ $341 = $340 ^ $339;
+ HEAP8[$276>>0] = $341;
+ $342 = ((($$pn)) + 27|0);
+ $343 = HEAP8[$338>>0]|0;
+ $344 = HEAP8[$277>>0]|0;
+ $345 = $344 ^ $343;
+ HEAP8[$277>>0] = $345;
+ $346 = ((($$pn)) + 28|0);
+ $347 = HEAP8[$342>>0]|0;
+ $348 = HEAP8[$278>>0]|0;
+ $349 = $348 ^ $347;
+ HEAP8[$278>>0] = $349;
+ $350 = ((($$pn)) + 29|0);
+ $351 = HEAP8[$346>>0]|0;
+ $352 = HEAP8[$279>>0]|0;
+ $353 = $352 ^ $351;
+ HEAP8[$279>>0] = $353;
+ $354 = ((($$pn)) + 30|0);
+ $355 = HEAP8[$350>>0]|0;
+ $356 = HEAP8[$280>>0]|0;
+ $357 = $356 ^ $355;
+ HEAP8[$280>>0] = $357;
+ $358 = ((($$pn)) + 31|0);
+ $359 = HEAP8[$354>>0]|0;
+ $360 = HEAP8[$281>>0]|0;
+ $361 = $360 ^ $359;
+ HEAP8[$281>>0] = $361;
+ $362 = HEAP8[$358>>0]|0;
+ $363 = HEAP8[$282>>0]|0;
+ $364 = $363 ^ $362;
+ HEAP8[$282>>0] = $364;
+ }
+ $365 = (FUNCTION_TABLE_iiii[$10 & 127]($0,$2,$2)|0);
+ $366 = (($$045) + -1)|0;
+ $367 = ($366|0)==(0);
+ if ($367) {
+ $$036$lcssa = $365;$$037$lcssa = $2;
+ break;
+ } else {
+ $$045 = $366;$$pn = $$03843;
+ }
+ }
+ }
+ }
+ $368 = ($$037$lcssa|0)==($1|0);
+ do {
+ if (!($368)) {
+ $369 = $1;
+ $370 = $$037$lcssa;
+ $371 = $370 | $369;
+ $372 = $371 & 3;
+ $373 = ($372|0)==(0);
+ if ($373) {
+ $374 = ((($$037$lcssa)) + 4|0);
+ $375 = HEAP32[$$037$lcssa>>2]|0;
+ $376 = ((($1)) + 4|0);
+ HEAP32[$1>>2] = $375;
+ $377 = ((($$037$lcssa)) + 8|0);
+ $378 = HEAP32[$374>>2]|0;
+ $379 = ((($1)) + 8|0);
+ HEAP32[$376>>2] = $378;
+ $380 = ((($$037$lcssa)) + 12|0);
+ $381 = HEAP32[$377>>2]|0;
+ $382 = ((($1)) + 12|0);
+ HEAP32[$379>>2] = $381;
+ $383 = HEAP32[$380>>2]|0;
+ HEAP32[$382>>2] = $383;
+ break;
+ } else {
+ $384 = ((($$037$lcssa)) + 1|0);
+ $385 = HEAP8[$$037$lcssa>>0]|0;
+ $386 = ((($1)) + 1|0);
+ HEAP8[$1>>0] = $385;
+ $387 = ((($$037$lcssa)) + 2|0);
+ $388 = HEAP8[$384>>0]|0;
+ $389 = ((($1)) + 2|0);
+ HEAP8[$386>>0] = $388;
+ $390 = ((($$037$lcssa)) + 3|0);
+ $391 = HEAP8[$387>>0]|0;
+ $392 = ((($1)) + 3|0);
+ HEAP8[$389>>0] = $391;
+ $393 = ((($$037$lcssa)) + 4|0);
+ $394 = HEAP8[$390>>0]|0;
+ $395 = ((($1)) + 4|0);
+ HEAP8[$392>>0] = $394;
+ $396 = ((($$037$lcssa)) + 5|0);
+ $397 = HEAP8[$393>>0]|0;
+ $398 = ((($1)) + 5|0);
+ HEAP8[$395>>0] = $397;
+ $399 = ((($$037$lcssa)) + 6|0);
+ $400 = HEAP8[$396>>0]|0;
+ $401 = ((($1)) + 6|0);
+ HEAP8[$398>>0] = $400;
+ $402 = ((($$037$lcssa)) + 7|0);
+ $403 = HEAP8[$399>>0]|0;
+ $404 = ((($1)) + 7|0);
+ HEAP8[$401>>0] = $403;
+ $405 = ((($$037$lcssa)) + 8|0);
+ $406 = HEAP8[$402>>0]|0;
+ $407 = ((($1)) + 8|0);
+ HEAP8[$404>>0] = $406;
+ $408 = ((($$037$lcssa)) + 9|0);
+ $409 = HEAP8[$405>>0]|0;
+ $410 = ((($1)) + 9|0);
+ HEAP8[$407>>0] = $409;
+ $411 = ((($$037$lcssa)) + 10|0);
+ $412 = HEAP8[$408>>0]|0;
+ $413 = ((($1)) + 10|0);
+ HEAP8[$410>>0] = $412;
+ $414 = ((($$037$lcssa)) + 11|0);
+ $415 = HEAP8[$411>>0]|0;
+ $416 = ((($1)) + 11|0);
+ HEAP8[$413>>0] = $415;
+ $417 = ((($$037$lcssa)) + 12|0);
+ $418 = HEAP8[$414>>0]|0;
+ $419 = ((($1)) + 12|0);
+ HEAP8[$416>>0] = $418;
+ $420 = ((($$037$lcssa)) + 13|0);
+ $421 = HEAP8[$417>>0]|0;
+ $422 = ((($1)) + 13|0);
+ HEAP8[$419>>0] = $421;
+ $423 = ((($$037$lcssa)) + 14|0);
+ $424 = HEAP8[$420>>0]|0;
+ $425 = ((($1)) + 14|0);
+ HEAP8[$422>>0] = $424;
+ $426 = ((($$037$lcssa)) + 15|0);
+ $427 = HEAP8[$423>>0]|0;
+ $428 = ((($1)) + 15|0);
+ HEAP8[$425>>0] = $427;
+ $429 = HEAP8[$426>>0]|0;
+ HEAP8[$428>>0] = $429;
+ break;
+ }
+ }
+ } while(0);
+ $430 = ($$036$lcssa|0)==(0);
+ if ($430) {
+ return;
+ }
+ $431 = (($$036$lcssa) + 16)|0;
+ ___gcry_burn_stack($431);
+ return;
+}
+function __gcry_aes_ocb_crypt($0,$1,$2,$3,$4) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ var $$0 = 0, $$073153 = 0, $$074152 = 0, $$076151 = 0, $$078 = 0, $$079$lcssa = 0, $$1150 = 0, $$175149 = 0, $$177148 = 0, $$180$lcssa = 0, $$2 = 0, $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0, $1003 = 0, $1004 = 0, $1005 = 0, $1006 = 0;
+ var $1007 = 0, $1008 = 0, $1009 = 0, $101 = 0, $1010 = 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, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0;
+ var $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, $224 = 0;
+ var $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, $242 = 0;
+ var $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, $260 = 0;
+ var $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, $279 = 0;
+ var $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, $297 = 0;
+ var $298 = 0, $299 = 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, $314 = 0, $315 = 0;
+ var $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, $332 = 0, $333 = 0;
+ var $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, $350 = 0, $351 = 0;
+ var $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0;
+ var $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, $387 = 0, $388 = 0;
+ var $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0;
+ var $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, $422 = 0, $423 = 0, $424 = 0;
+ var $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, $440 = 0, $441 = 0, $442 = 0;
+ var $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, $459 = 0, $46 = 0, $460 = 0;
+ var $461 = 0, $462 = 0, $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;
+ var $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, $495 = 0, $496 = 0, $497 = 0;
+ var $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, $512 = 0, $513 = 0, $514 = 0;
+ var $515 = 0, $516 = 0, $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;
+ var $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, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0;
+ var $551 = 0, $552 = 0, $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;
+ var $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, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0;
+ var $588 = 0, $589 = 0, $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;
+ var $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, $622 = 0;
+ var $623 = 0, $624 = 0, $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;
+ var $641 = 0, $642 = 0, $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;
+ var $66 = 0, $660 = 0, $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;
+ var $678 = 0, $679 = 0, $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;
+ var $696 = 0, $697 = 0, $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;
+ var $713 = 0, $714 = 0, $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;
+ var $731 = 0, $732 = 0, $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;
+ var $75 = 0, $750 = 0, $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;
+ var $768 = 0, $769 = 0, $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;
+ var $786 = 0, $787 = 0, $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;
+ var $803 = 0, $804 = 0, $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;
+ var $821 = 0, $822 = 0, $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;
+ var $84 = 0, $840 = 0, $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;
+ var $858 = 0, $859 = 0, $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;
+ var $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, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0;
+ var $894 = 0, $895 = 0, $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;
+ var $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, $927 = 0, $928 = 0, $929 = 0;
+ var $93 = 0, $930 = 0, $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;
+ var $948 = 0, $949 = 0, $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;
+ var $966 = 0, $967 = 0, $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;
+ var $984 = 0, $985 = 0, $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, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
+ $5 = sp + 16|0;
+ $6 = sp;
+ $7 = ((($0)) + 496|0);
+ $8 = ($4|0)==(0);
+ if ($8) {
+ _check_decryption_preparation($7);
+ $12 = ((($7)) + 500|0);
+ $13 = HEAP32[$12>>2]|0;
+ $14 = ($13|0)==(0|0);
+ if (!($14)) {
+ FUNCTION_TABLE_v[$13 & 127]();
+ }
+ $511 = ((($7)) + 492|0);
+ $512 = HEAP32[$511>>2]|0;
+ $513 = ($3|0)==(0);
+ if ($513) {
+ $$180$lcssa = 0;
+ } else {
+ $514 = ((($0)) + 464|0);
+ $515 = ((($0)) + 64|0);
+ $516 = $515;
+ $517 = ((($515)) + 4|0);
+ $518 = ((($0)) + 72|0);
+ $519 = ((($0)) + 76|0);
+ $520 = ((($0)) + 160|0);
+ $521 = ((($6)) + 4|0);
+ $522 = ((($6)) + 8|0);
+ $523 = ((($6)) + 12|0);
+ $524 = $516 & 3;
+ $525 = ($524|0)==(0);
+ $526 = ((($0)) + 80|0);
+ $527 = $526;
+ $528 = $527 & 3;
+ $529 = ($528|0)==(0);
+ $530 = ((($526)) + 4|0);
+ $531 = ((($0)) + 88|0);
+ $532 = ((($0)) + 92|0);
+ $533 = ((($515)) + 1|0);
+ $534 = ((($515)) + 2|0);
+ $535 = ((($515)) + 3|0);
+ $536 = ((($515)) + 4|0);
+ $537 = ((($515)) + 5|0);
+ $538 = ((($515)) + 6|0);
+ $539 = ((($515)) + 7|0);
+ $540 = ((($0)) + 72|0);
+ $541 = ((($0)) + 73|0);
+ $542 = ((($0)) + 74|0);
+ $543 = ((($0)) + 75|0);
+ $544 = ((($0)) + 76|0);
+ $545 = ((($0)) + 77|0);
+ $546 = ((($0)) + 78|0);
+ $547 = ((($0)) + 79|0);
+ $548 = ((($6)) + 1|0);
+ $549 = ((($6)) + 2|0);
+ $550 = ((($6)) + 3|0);
+ $551 = ((($6)) + 4|0);
+ $552 = ((($551)) + 1|0);
+ $553 = ((($551)) + 2|0);
+ $554 = ((($551)) + 3|0);
+ $555 = ((($6)) + 8|0);
+ $556 = ((($555)) + 1|0);
+ $557 = ((($555)) + 2|0);
+ $558 = ((($555)) + 3|0);
+ $559 = ((($6)) + 12|0);
+ $560 = ((($559)) + 1|0);
+ $561 = ((($559)) + 2|0);
+ $562 = ((($559)) + 3|0);
+ $563 = ((($515)) + 1|0);
+ $564 = ((($6)) + 1|0);
+ $565 = ((($515)) + 2|0);
+ $566 = ((($6)) + 2|0);
+ $567 = ((($515)) + 3|0);
+ $568 = ((($6)) + 3|0);
+ $569 = ((($515)) + 4|0);
+ $570 = ((($6)) + 4|0);
+ $571 = ((($515)) + 5|0);
+ $572 = ((($570)) + 1|0);
+ $573 = ((($515)) + 6|0);
+ $574 = ((($570)) + 2|0);
+ $575 = ((($515)) + 7|0);
+ $576 = ((($570)) + 3|0);
+ $577 = ((($0)) + 72|0);
+ $578 = ((($6)) + 8|0);
+ $579 = ((($0)) + 73|0);
+ $580 = ((($578)) + 1|0);
+ $581 = ((($0)) + 74|0);
+ $582 = ((($578)) + 2|0);
+ $583 = ((($0)) + 75|0);
+ $584 = ((($578)) + 3|0);
+ $585 = ((($0)) + 76|0);
+ $586 = ((($6)) + 12|0);
+ $587 = ((($0)) + 77|0);
+ $588 = ((($586)) + 1|0);
+ $589 = ((($0)) + 78|0);
+ $590 = ((($586)) + 2|0);
+ $591 = ((($0)) + 79|0);
+ $592 = ((($586)) + 3|0);
+ $593 = ((($6)) + 1|0);
+ $594 = ((($526)) + 1|0);
+ $595 = ((($6)) + 2|0);
+ $596 = ((($526)) + 2|0);
+ $597 = ((($6)) + 3|0);
+ $598 = ((($526)) + 3|0);
+ $599 = ((($6)) + 4|0);
+ $600 = ((($526)) + 4|0);
+ $601 = ((($599)) + 1|0);
+ $602 = ((($526)) + 5|0);
+ $603 = ((($599)) + 2|0);
+ $604 = ((($526)) + 6|0);
+ $605 = ((($599)) + 3|0);
+ $606 = ((($526)) + 7|0);
+ $607 = ((($6)) + 8|0);
+ $608 = ((($0)) + 88|0);
+ $609 = ((($607)) + 1|0);
+ $610 = ((($0)) + 89|0);
+ $611 = ((($607)) + 2|0);
+ $612 = ((($0)) + 90|0);
+ $613 = ((($607)) + 3|0);
+ $614 = ((($0)) + 91|0);
+ $615 = ((($6)) + 12|0);
+ $616 = ((($0)) + 92|0);
+ $617 = ((($615)) + 1|0);
+ $618 = ((($0)) + 93|0);
+ $619 = ((($615)) + 2|0);
+ $620 = ((($0)) + 94|0);
+ $621 = ((($615)) + 3|0);
+ $622 = ((($0)) + 95|0);
+ $623 = ((($6)) + 1|0);
+ $624 = ((($6)) + 2|0);
+ $625 = ((($6)) + 3|0);
+ $626 = ((($6)) + 4|0);
+ $627 = ((($626)) + 1|0);
+ $628 = ((($626)) + 2|0);
+ $629 = ((($626)) + 3|0);
+ $630 = ((($6)) + 8|0);
+ $631 = ((($630)) + 1|0);
+ $632 = ((($630)) + 2|0);
+ $633 = ((($630)) + 3|0);
+ $634 = ((($6)) + 12|0);
+ $635 = ((($634)) + 1|0);
+ $636 = ((($634)) + 2|0);
+ $637 = ((($634)) + 3|0);
+ $$1150 = $3;$$175149 = $1;$$177148 = $2;
+ while(1) {
+ $638 = $514;
+ $639 = $638;
+ $640 = HEAP32[$639>>2]|0;
+ $641 = (($638) + 4)|0;
+ $642 = $641;
+ $643 = HEAP32[$642>>2]|0;
+ $644 = (_i64Add(($640|0),($643|0),1,0)|0);
+ $645 = tempRet0;
+ $646 = $514;
+ $647 = $646;
+ HEAP32[$647>>2] = $644;
+ $648 = (($646) + 4)|0;
+ $649 = $648;
+ HEAP32[$649>>2] = $645;
+ $650 = ($644|0)==(0);
+ $651 = (0)==(0);
+ $652 = $650 & $651;
+ if ($652) {
+ label = 34;
+ } else {
+ $653 = (_llvm_cttz_i32(($644|0))|0);
+ $654 = ($653>>>0)<(16);
+ if ($654) {
+ $655 = (($520) + ($653<<4)|0);
+ $$0 = $655;
+ } else {
+ label = 34;
+ }
+ }
+ if ((label|0) == 34) {
+ label = 0;
+ $656 = (__gcry_cipher_ocb_get_l($0,$6,$644,$645)|0);
+ $$0 = $656;
+ }
+ $657 = $$0;
+ $658 = $657 | $516;
+ $659 = $658 & 3;
+ $660 = ($659|0)==(0);
+ if ($660) {
+ $661 = ((($$0)) + 4|0);
+ $662 = HEAP32[$$0>>2]|0;
+ $663 = HEAP32[$515>>2]|0;
+ $664 = $663 ^ $662;
+ HEAP32[$515>>2] = $664;
+ $665 = ((($$0)) + 8|0);
+ $666 = HEAP32[$661>>2]|0;
+ $667 = HEAP32[$517>>2]|0;
+ $668 = $667 ^ $666;
+ HEAP32[$517>>2] = $668;
+ $669 = ((($$0)) + 12|0);
+ $670 = HEAP32[$665>>2]|0;
+ $671 = HEAP32[$518>>2]|0;
+ $672 = $671 ^ $670;
+ HEAP32[$518>>2] = $672;
+ $673 = HEAP32[$669>>2]|0;
+ $674 = HEAP32[$519>>2]|0;
+ $675 = $674 ^ $673;
+ HEAP32[$519>>2] = $675;
+ } else {
+ $676 = ((($$0)) + 1|0);
+ $677 = HEAP8[$$0>>0]|0;
+ $678 = HEAP8[$515>>0]|0;
+ $679 = $678 ^ $677;
+ HEAP8[$515>>0] = $679;
+ $680 = ((($$0)) + 2|0);
+ $681 = HEAP8[$676>>0]|0;
+ $682 = HEAP8[$533>>0]|0;
+ $683 = $682 ^ $681;
+ HEAP8[$533>>0] = $683;
+ $684 = ((($$0)) + 3|0);
+ $685 = HEAP8[$680>>0]|0;
+ $686 = HEAP8[$534>>0]|0;
+ $687 = $686 ^ $685;
+ HEAP8[$534>>0] = $687;
+ $688 = ((($$0)) + 4|0);
+ $689 = HEAP8[$684>>0]|0;
+ $690 = HEAP8[$535>>0]|0;
+ $691 = $690 ^ $689;
+ HEAP8[$535>>0] = $691;
+ $692 = ((($$0)) + 5|0);
+ $693 = HEAP8[$688>>0]|0;
+ $694 = HEAP8[$536>>0]|0;
+ $695 = $694 ^ $693;
+ HEAP8[$536>>0] = $695;
+ $696 = ((($$0)) + 6|0);
+ $697 = HEAP8[$692>>0]|0;
+ $698 = HEAP8[$537>>0]|0;
+ $699 = $698 ^ $697;
+ HEAP8[$537>>0] = $699;
+ $700 = ((($$0)) + 7|0);
+ $701 = HEAP8[$696>>0]|0;
+ $702 = HEAP8[$538>>0]|0;
+ $703 = $702 ^ $701;
+ HEAP8[$538>>0] = $703;
+ $704 = ((($$0)) + 8|0);
+ $705 = HEAP8[$700>>0]|0;
+ $706 = HEAP8[$539>>0]|0;
+ $707 = $706 ^ $705;
+ HEAP8[$539>>0] = $707;
+ $708 = ((($$0)) + 9|0);
+ $709 = HEAP8[$704>>0]|0;
+ $710 = HEAP8[$540>>0]|0;
+ $711 = $710 ^ $709;
+ HEAP8[$540>>0] = $711;
+ $712 = ((($$0)) + 10|0);
+ $713 = HEAP8[$708>>0]|0;
+ $714 = HEAP8[$541>>0]|0;
+ $715 = $714 ^ $713;
+ HEAP8[$541>>0] = $715;
+ $716 = ((($$0)) + 11|0);
+ $717 = HEAP8[$712>>0]|0;
+ $718 = HEAP8[$542>>0]|0;
+ $719 = $718 ^ $717;
+ HEAP8[$542>>0] = $719;
+ $720 = ((($$0)) + 12|0);
+ $721 = HEAP8[$716>>0]|0;
+ $722 = HEAP8[$543>>0]|0;
+ $723 = $722 ^ $721;
+ HEAP8[$543>>0] = $723;
+ $724 = ((($$0)) + 13|0);
+ $725 = HEAP8[$720>>0]|0;
+ $726 = HEAP8[$544>>0]|0;
+ $727 = $726 ^ $725;
+ HEAP8[$544>>0] = $727;
+ $728 = ((($$0)) + 14|0);
+ $729 = HEAP8[$724>>0]|0;
+ $730 = HEAP8[$545>>0]|0;
+ $731 = $730 ^ $729;
+ HEAP8[$545>>0] = $731;
+ $732 = ((($$0)) + 15|0);
+ $733 = HEAP8[$728>>0]|0;
+ $734 = HEAP8[$546>>0]|0;
+ $735 = $734 ^ $733;
+ HEAP8[$546>>0] = $735;
+ $736 = HEAP8[$732>>0]|0;
+ $737 = HEAP8[$547>>0]|0;
+ $738 = $737 ^ $736;
+ HEAP8[$547>>0] = $738;
+ }
+ $739 = $$177148;
+ $740 = $739 & 3;
+ $741 = ($740|0)==(0);
+ if ($741) {
+ $742 = ((($$177148)) + 4|0);
+ $743 = HEAP32[$$177148>>2]|0;
+ HEAP32[$6>>2] = $743;
+ $744 = ((($$177148)) + 8|0);
+ $745 = HEAP32[$742>>2]|0;
+ HEAP32[$521>>2] = $745;
+ $746 = ((($$177148)) + 12|0);
+ $747 = HEAP32[$744>>2]|0;
+ HEAP32[$522>>2] = $747;
+ $748 = HEAP32[$746>>2]|0;
+ HEAP32[$523>>2] = $748;
+ } else {
+ $749 = ((($$177148)) + 1|0);
+ $750 = HEAP8[$$177148>>0]|0;
+ HEAP8[$6>>0] = $750;
+ $751 = ((($$177148)) + 2|0);
+ $752 = HEAP8[$749>>0]|0;
+ HEAP8[$548>>0] = $752;
+ $753 = ((($$177148)) + 3|0);
+ $754 = HEAP8[$751>>0]|0;
+ HEAP8[$549>>0] = $754;
+ $755 = ((($$177148)) + 4|0);
+ $756 = HEAP8[$753>>0]|0;
+ HEAP8[$550>>0] = $756;
+ $757 = ((($$177148)) + 5|0);
+ $758 = HEAP8[$755>>0]|0;
+ HEAP8[$551>>0] = $758;
+ $759 = ((($$177148)) + 6|0);
+ $760 = HEAP8[$757>>0]|0;
+ HEAP8[$552>>0] = $760;
+ $761 = ((($$177148)) + 7|0);
+ $762 = HEAP8[$759>>0]|0;
+ HEAP8[$553>>0] = $762;
+ $763 = ((($$177148)) + 8|0);
+ $764 = HEAP8[$761>>0]|0;
+ HEAP8[$554>>0] = $764;
+ $765 = ((($$177148)) + 9|0);
+ $766 = HEAP8[$763>>0]|0;
+ HEAP8[$555>>0] = $766;
+ $767 = ((($$177148)) + 10|0);
+ $768 = HEAP8[$765>>0]|0;
+ HEAP8[$556>>0] = $768;
+ $769 = ((($$177148)) + 11|0);
+ $770 = HEAP8[$767>>0]|0;
+ HEAP8[$557>>0] = $770;
+ $771 = ((($$177148)) + 12|0);
+ $772 = HEAP8[$769>>0]|0;
+ HEAP8[$558>>0] = $772;
+ $773 = ((($$177148)) + 13|0);
+ $774 = HEAP8[$771>>0]|0;
+ HEAP8[$559>>0] = $774;
+ $775 = ((($$177148)) + 14|0);
+ $776 = HEAP8[$773>>0]|0;
+ HEAP8[$560>>0] = $776;
+ $777 = ((($$177148)) + 15|0);
+ $778 = HEAP8[$775>>0]|0;
+ HEAP8[$561>>0] = $778;
+ $779 = HEAP8[$777>>0]|0;
+ HEAP8[$562>>0] = $779;
+ }
+ if ($525) {
+ $780 = HEAP32[$515>>2]|0;
+ $781 = HEAP32[$6>>2]|0;
+ $782 = $781 ^ $780;
+ HEAP32[$6>>2] = $782;
+ $783 = HEAP32[$517>>2]|0;
+ $784 = HEAP32[$521>>2]|0;
+ $785 = $784 ^ $783;
+ HEAP32[$521>>2] = $785;
+ $786 = HEAP32[$518>>2]|0;
+ $787 = HEAP32[$522>>2]|0;
+ $788 = $787 ^ $786;
+ HEAP32[$522>>2] = $788;
+ $789 = HEAP32[$519>>2]|0;
+ $790 = HEAP32[$523>>2]|0;
+ $791 = $790 ^ $789;
+ HEAP32[$523>>2] = $791;
+ $792 = (FUNCTION_TABLE_iiii[$512 & 127]($7,$6,$6)|0);
+ $793 = HEAP32[$515>>2]|0;
+ $794 = HEAP32[$6>>2]|0;
+ $795 = $794 ^ $793;
+ HEAP32[$6>>2] = $795;
+ $796 = HEAP32[$517>>2]|0;
+ $797 = HEAP32[$521>>2]|0;
+ $798 = $797 ^ $796;
+ HEAP32[$521>>2] = $798;
+ $799 = HEAP32[$518>>2]|0;
+ $800 = HEAP32[$522>>2]|0;
+ $801 = $800 ^ $799;
+ HEAP32[$522>>2] = $801;
+ $802 = HEAP32[$519>>2]|0;
+ $803 = HEAP32[$523>>2]|0;
+ $804 = $803 ^ $802;
+ HEAP32[$523>>2] = $804;
+ $1010 = $792;
+ } else {
+ $805 = HEAP8[$515>>0]|0;
+ $806 = HEAP8[$6>>0]|0;
+ $807 = $806 ^ $805;
+ HEAP8[$6>>0] = $807;
+ $808 = HEAP8[$563>>0]|0;
+ $809 = HEAP8[$564>>0]|0;
+ $810 = $809 ^ $808;
+ HEAP8[$564>>0] = $810;
+ $811 = HEAP8[$565>>0]|0;
+ $812 = HEAP8[$566>>0]|0;
+ $813 = $812 ^ $811;
+ HEAP8[$566>>0] = $813;
+ $814 = HEAP8[$567>>0]|0;
+ $815 = HEAP8[$568>>0]|0;
+ $816 = $815 ^ $814;
+ HEAP8[$568>>0] = $816;
+ $817 = HEAP8[$569>>0]|0;
+ $818 = HEAP8[$570>>0]|0;
+ $819 = $818 ^ $817;
+ HEAP8[$570>>0] = $819;
+ $820 = HEAP8[$571>>0]|0;
+ $821 = HEAP8[$572>>0]|0;
+ $822 = $821 ^ $820;
+ HEAP8[$572>>0] = $822;
+ $823 = HEAP8[$573>>0]|0;
+ $824 = HEAP8[$574>>0]|0;
+ $825 = $824 ^ $823;
+ HEAP8[$574>>0] = $825;
+ $826 = HEAP8[$575>>0]|0;
+ $827 = HEAP8[$576>>0]|0;
+ $828 = $827 ^ $826;
+ HEAP8[$576>>0] = $828;
+ $829 = HEAP8[$577>>0]|0;
+ $830 = HEAP8[$578>>0]|0;
+ $831 = $830 ^ $829;
+ HEAP8[$578>>0] = $831;
+ $832 = HEAP8[$579>>0]|0;
+ $833 = HEAP8[$580>>0]|0;
+ $834 = $833 ^ $832;
+ HEAP8[$580>>0] = $834;
+ $835 = HEAP8[$581>>0]|0;
+ $836 = HEAP8[$582>>0]|0;
+ $837 = $836 ^ $835;
+ HEAP8[$582>>0] = $837;
+ $838 = HEAP8[$583>>0]|0;
+ $839 = HEAP8[$584>>0]|0;
+ $840 = $839 ^ $838;
+ HEAP8[$584>>0] = $840;
+ $841 = HEAP8[$585>>0]|0;
+ $842 = HEAP8[$586>>0]|0;
+ $843 = $842 ^ $841;
+ HEAP8[$586>>0] = $843;
+ $844 = HEAP8[$587>>0]|0;
+ $845 = HEAP8[$588>>0]|0;
+ $846 = $845 ^ $844;
+ HEAP8[$588>>0] = $846;
+ $847 = HEAP8[$589>>0]|0;
+ $848 = HEAP8[$590>>0]|0;
+ $849 = $848 ^ $847;
+ HEAP8[$590>>0] = $849;
+ $850 = HEAP8[$591>>0]|0;
+ $851 = HEAP8[$592>>0]|0;
+ $852 = $851 ^ $850;
+ HEAP8[$592>>0] = $852;
+ $853 = (FUNCTION_TABLE_iiii[$512 & 127]($7,$6,$6)|0);
+ $854 = HEAP8[$515>>0]|0;
+ $855 = HEAP8[$6>>0]|0;
+ $856 = $855 ^ $854;
+ HEAP8[$6>>0] = $856;
+ $857 = HEAP8[$563>>0]|0;
+ $858 = HEAP8[$564>>0]|0;
+ $859 = $858 ^ $857;
+ HEAP8[$564>>0] = $859;
+ $860 = HEAP8[$565>>0]|0;
+ $861 = HEAP8[$566>>0]|0;
+ $862 = $861 ^ $860;
+ HEAP8[$566>>0] = $862;
+ $863 = HEAP8[$567>>0]|0;
+ $864 = HEAP8[$568>>0]|0;
+ $865 = $864 ^ $863;
+ HEAP8[$568>>0] = $865;
+ $866 = HEAP8[$569>>0]|0;
+ $867 = HEAP8[$570>>0]|0;
+ $868 = $867 ^ $866;
+ HEAP8[$570>>0] = $868;
+ $869 = HEAP8[$571>>0]|0;
+ $870 = HEAP8[$572>>0]|0;
+ $871 = $870 ^ $869;
+ HEAP8[$572>>0] = $871;
+ $872 = HEAP8[$573>>0]|0;
+ $873 = HEAP8[$574>>0]|0;
+ $874 = $873 ^ $872;
+ HEAP8[$574>>0] = $874;
+ $875 = HEAP8[$575>>0]|0;
+ $876 = HEAP8[$576>>0]|0;
+ $877 = $876 ^ $875;
+ HEAP8[$576>>0] = $877;
+ $878 = HEAP8[$577>>0]|0;
+ $879 = HEAP8[$578>>0]|0;
+ $880 = $879 ^ $878;
+ HEAP8[$578>>0] = $880;
+ $881 = HEAP8[$579>>0]|0;
+ $882 = HEAP8[$580>>0]|0;
+ $883 = $882 ^ $881;
+ HEAP8[$580>>0] = $883;
+ $884 = HEAP8[$581>>0]|0;
+ $885 = HEAP8[$582>>0]|0;
+ $886 = $885 ^ $884;
+ HEAP8[$582>>0] = $886;
+ $887 = HEAP8[$583>>0]|0;
+ $888 = HEAP8[$584>>0]|0;
+ $889 = $888 ^ $887;
+ HEAP8[$584>>0] = $889;
+ $890 = HEAP8[$585>>0]|0;
+ $891 = HEAP8[$586>>0]|0;
+ $892 = $891 ^ $890;
+ HEAP8[$586>>0] = $892;
+ $893 = HEAP8[$587>>0]|0;
+ $894 = HEAP8[$588>>0]|0;
+ $895 = $894 ^ $893;
+ HEAP8[$588>>0] = $895;
+ $896 = HEAP8[$589>>0]|0;
+ $897 = HEAP8[$590>>0]|0;
+ $898 = $897 ^ $896;
+ HEAP8[$590>>0] = $898;
+ $899 = HEAP8[$591>>0]|0;
+ $900 = HEAP8[$592>>0]|0;
+ $901 = $900 ^ $899;
+ HEAP8[$592>>0] = $901;
+ $1010 = $853;
+ }
+ if ($529) {
+ $902 = HEAP32[$6>>2]|0;
+ $903 = HEAP32[$526>>2]|0;
+ $904 = $903 ^ $902;
+ HEAP32[$526>>2] = $904;
+ $905 = HEAP32[$521>>2]|0;
+ $906 = HEAP32[$530>>2]|0;
+ $907 = $906 ^ $905;
+ HEAP32[$530>>2] = $907;
+ $908 = HEAP32[$522>>2]|0;
+ $909 = HEAP32[$531>>2]|0;
+ $910 = $909 ^ $908;
+ HEAP32[$531>>2] = $910;
+ $911 = HEAP32[$523>>2]|0;
+ $912 = HEAP32[$532>>2]|0;
+ $913 = $912 ^ $911;
+ HEAP32[$532>>2] = $913;
+ } else {
+ $914 = HEAP8[$6>>0]|0;
+ $915 = HEAP8[$526>>0]|0;
+ $916 = $915 ^ $914;
+ HEAP8[$526>>0] = $916;
+ $917 = HEAP8[$593>>0]|0;
+ $918 = HEAP8[$594>>0]|0;
+ $919 = $918 ^ $917;
+ HEAP8[$594>>0] = $919;
+ $920 = HEAP8[$595>>0]|0;
+ $921 = HEAP8[$596>>0]|0;
+ $922 = $921 ^ $920;
+ HEAP8[$596>>0] = $922;
+ $923 = HEAP8[$597>>0]|0;
+ $924 = HEAP8[$598>>0]|0;
+ $925 = $924 ^ $923;
+ HEAP8[$598>>0] = $925;
+ $926 = HEAP8[$599>>0]|0;
+ $927 = HEAP8[$600>>0]|0;
+ $928 = $927 ^ $926;
+ HEAP8[$600>>0] = $928;
+ $929 = HEAP8[$601>>0]|0;
+ $930 = HEAP8[$602>>0]|0;
+ $931 = $930 ^ $929;
+ HEAP8[$602>>0] = $931;
+ $932 = HEAP8[$603>>0]|0;
+ $933 = HEAP8[$604>>0]|0;
+ $934 = $933 ^ $932;
+ HEAP8[$604>>0] = $934;
+ $935 = HEAP8[$605>>0]|0;
+ $936 = HEAP8[$606>>0]|0;
+ $937 = $936 ^ $935;
+ HEAP8[$606>>0] = $937;
+ $938 = HEAP8[$607>>0]|0;
+ $939 = HEAP8[$608>>0]|0;
+ $940 = $939 ^ $938;
+ HEAP8[$608>>0] = $940;
+ $941 = HEAP8[$609>>0]|0;
+ $942 = HEAP8[$610>>0]|0;
+ $943 = $942 ^ $941;
+ HEAP8[$610>>0] = $943;
+ $944 = HEAP8[$611>>0]|0;
+ $945 = HEAP8[$612>>0]|0;
+ $946 = $945 ^ $944;
+ HEAP8[$612>>0] = $946;
+ $947 = HEAP8[$613>>0]|0;
+ $948 = HEAP8[$614>>0]|0;
+ $949 = $948 ^ $947;
+ HEAP8[$614>>0] = $949;
+ $950 = HEAP8[$615>>0]|0;
+ $951 = HEAP8[$616>>0]|0;
+ $952 = $951 ^ $950;
+ HEAP8[$616>>0] = $952;
+ $953 = HEAP8[$617>>0]|0;
+ $954 = HEAP8[$618>>0]|0;
+ $955 = $954 ^ $953;
+ HEAP8[$618>>0] = $955;
+ $956 = HEAP8[$619>>0]|0;
+ $957 = HEAP8[$620>>0]|0;
+ $958 = $957 ^ $956;
+ HEAP8[$620>>0] = $958;
+ $959 = HEAP8[$621>>0]|0;
+ $960 = HEAP8[$622>>0]|0;
+ $961 = $960 ^ $959;
+ HEAP8[$622>>0] = $961;
+ }
+ $962 = $$175149;
+ $963 = $962 & 3;
+ $964 = ($963|0)==(0);
+ if ($964) {
+ $965 = HEAP32[$6>>2]|0;
+ $966 = ((($$175149)) + 4|0);
+ HEAP32[$$175149>>2] = $965;
+ $967 = HEAP32[$521>>2]|0;
+ $968 = ((($$175149)) + 8|0);
+ HEAP32[$966>>2] = $967;
+ $969 = HEAP32[$522>>2]|0;
+ $970 = ((($$175149)) + 12|0);
+ HEAP32[$968>>2] = $969;
+ $971 = HEAP32[$523>>2]|0;
+ HEAP32[$970>>2] = $971;
+ } else {
+ $972 = HEAP8[$6>>0]|0;
+ $973 = ((($$175149)) + 1|0);
+ HEAP8[$$175149>>0] = $972;
+ $974 = HEAP8[$623>>0]|0;
+ $975 = ((($$175149)) + 2|0);
+ HEAP8[$973>>0] = $974;
+ $976 = HEAP8[$624>>0]|0;
+ $977 = ((($$175149)) + 3|0);
+ HEAP8[$975>>0] = $976;
+ $978 = HEAP8[$625>>0]|0;
+ $979 = ((($$175149)) + 4|0);
+ HEAP8[$977>>0] = $978;
+ $980 = HEAP8[$626>>0]|0;
+ $981 = ((($$175149)) + 5|0);
+ HEAP8[$979>>0] = $980;
+ $982 = HEAP8[$627>>0]|0;
+ $983 = ((($$175149)) + 6|0);
+ HEAP8[$981>>0] = $982;
+ $984 = HEAP8[$628>>0]|0;
+ $985 = ((($$175149)) + 7|0);
+ HEAP8[$983>>0] = $984;
+ $986 = HEAP8[$629>>0]|0;
+ $987 = ((($$175149)) + 8|0);
+ HEAP8[$985>>0] = $986;
+ $988 = HEAP8[$630>>0]|0;
+ $989 = ((($$175149)) + 9|0);
+ HEAP8[$987>>0] = $988;
+ $990 = HEAP8[$631>>0]|0;
+ $991 = ((($$175149)) + 10|0);
+ HEAP8[$989>>0] = $990;
+ $992 = HEAP8[$632>>0]|0;
+ $993 = ((($$175149)) + 11|0);
+ HEAP8[$991>>0] = $992;
+ $994 = HEAP8[$633>>0]|0;
+ $995 = ((($$175149)) + 12|0);
+ HEAP8[$993>>0] = $994;
+ $996 = HEAP8[$634>>0]|0;
+ $997 = ((($$175149)) + 13|0);
+ HEAP8[$995>>0] = $996;
+ $998 = HEAP8[$635>>0]|0;
+ $999 = ((($$175149)) + 14|0);
+ HEAP8[$997>>0] = $998;
+ $1000 = HEAP8[$636>>0]|0;
+ $1001 = ((($$175149)) + 15|0);
+ HEAP8[$999>>0] = $1000;
+ $1002 = HEAP8[$637>>0]|0;
+ HEAP8[$1001>>0] = $1002;
+ }
+ $1003 = ((($$177148)) + 16|0);
+ $1004 = ((($$175149)) + 16|0);
+ $1005 = (($$1150) + -1)|0;
+ $1006 = ($1005|0)==(0);
+ if ($1006) {
+ $$180$lcssa = $1010;
+ break;
+ } else {
+ $$1150 = $1005;$$175149 = $1004;$$177148 = $1003;
+ }
+ }
+ }
+ $$2 = $$180$lcssa;
+ } else {
+ $9 = ((($7)) + 496|0);
+ $10 = HEAP32[$9>>2]|0;
+ $11 = ($10|0)==(0|0);
+ if (!($11)) {
+ FUNCTION_TABLE_v[$10 & 127]();
+ }
+ $15 = ((($7)) + 488|0);
+ $16 = HEAP32[$15>>2]|0;
+ $17 = ($3|0)==(0);
+ if ($17) {
+ $$079$lcssa = 0;
+ } else {
+ $18 = ((($0)) + 464|0);
+ $19 = ((($0)) + 64|0);
+ $20 = $19;
+ $21 = ((($19)) + 4|0);
+ $22 = ((($0)) + 72|0);
+ $23 = ((($0)) + 76|0);
+ $24 = ((($0)) + 160|0);
+ $25 = ((($5)) + 4|0);
+ $26 = ((($5)) + 8|0);
+ $27 = ((($5)) + 12|0);
+ $28 = ((($0)) + 80|0);
+ $29 = $28;
+ $30 = $29 & 3;
+ $31 = ($30|0)==(0);
+ $32 = ((($28)) + 4|0);
+ $33 = ((($0)) + 88|0);
+ $34 = ((($0)) + 92|0);
+ $35 = $20 & 3;
+ $36 = ($35|0)==(0);
+ $37 = ((($19)) + 1|0);
+ $38 = ((($19)) + 2|0);
+ $39 = ((($19)) + 3|0);
+ $40 = ((($19)) + 4|0);
+ $41 = ((($19)) + 5|0);
+ $42 = ((($19)) + 6|0);
+ $43 = ((($19)) + 7|0);
+ $44 = ((($0)) + 72|0);
+ $45 = ((($0)) + 73|0);
+ $46 = ((($0)) + 74|0);
+ $47 = ((($0)) + 75|0);
+ $48 = ((($0)) + 76|0);
+ $49 = ((($0)) + 77|0);
+ $50 = ((($0)) + 78|0);
+ $51 = ((($0)) + 79|0);
+ $52 = ((($5)) + 1|0);
+ $53 = ((($5)) + 2|0);
+ $54 = ((($5)) + 3|0);
+ $55 = ((($5)) + 4|0);
+ $56 = ((($55)) + 1|0);
+ $57 = ((($55)) + 2|0);
+ $58 = ((($55)) + 3|0);
+ $59 = ((($5)) + 8|0);
+ $60 = ((($59)) + 1|0);
+ $61 = ((($59)) + 2|0);
+ $62 = ((($59)) + 3|0);
+ $63 = ((($5)) + 12|0);
+ $64 = ((($63)) + 1|0);
+ $65 = ((($63)) + 2|0);
+ $66 = ((($63)) + 3|0);
+ $67 = ((($5)) + 1|0);
+ $68 = ((($28)) + 1|0);
+ $69 = ((($5)) + 2|0);
+ $70 = ((($28)) + 2|0);
+ $71 = ((($5)) + 3|0);
+ $72 = ((($28)) + 3|0);
+ $73 = ((($5)) + 4|0);
+ $74 = ((($28)) + 4|0);
+ $75 = ((($73)) + 1|0);
+ $76 = ((($28)) + 5|0);
+ $77 = ((($73)) + 2|0);
+ $78 = ((($28)) + 6|0);
+ $79 = ((($73)) + 3|0);
+ $80 = ((($28)) + 7|0);
+ $81 = ((($5)) + 8|0);
+ $82 = ((($0)) + 88|0);
+ $83 = ((($81)) + 1|0);
+ $84 = ((($0)) + 89|0);
+ $85 = ((($81)) + 2|0);
+ $86 = ((($0)) + 90|0);
+ $87 = ((($81)) + 3|0);
+ $88 = ((($0)) + 91|0);
+ $89 = ((($5)) + 12|0);
+ $90 = ((($0)) + 92|0);
+ $91 = ((($89)) + 1|0);
+ $92 = ((($0)) + 93|0);
+ $93 = ((($89)) + 2|0);
+ $94 = ((($0)) + 94|0);
+ $95 = ((($89)) + 3|0);
+ $96 = ((($0)) + 95|0);
+ $97 = ((($19)) + 1|0);
+ $98 = ((($5)) + 1|0);
+ $99 = ((($19)) + 2|0);
+ $100 = ((($5)) + 2|0);
+ $101 = ((($19)) + 3|0);
+ $102 = ((($5)) + 3|0);
+ $103 = ((($19)) + 4|0);
+ $104 = ((($5)) + 4|0);
+ $105 = ((($19)) + 5|0);
+ $106 = ((($104)) + 1|0);
+ $107 = ((($19)) + 6|0);
+ $108 = ((($104)) + 2|0);
+ $109 = ((($19)) + 7|0);
+ $110 = ((($104)) + 3|0);
+ $111 = ((($0)) + 72|0);
+ $112 = ((($5)) + 8|0);
+ $113 = ((($0)) + 73|0);
+ $114 = ((($112)) + 1|0);
+ $115 = ((($0)) + 74|0);
+ $116 = ((($112)) + 2|0);
+ $117 = ((($0)) + 75|0);
+ $118 = ((($112)) + 3|0);
+ $119 = ((($0)) + 76|0);
+ $120 = ((($5)) + 12|0);
+ $121 = ((($0)) + 77|0);
+ $122 = ((($120)) + 1|0);
+ $123 = ((($0)) + 78|0);
+ $124 = ((($120)) + 2|0);
+ $125 = ((($0)) + 79|0);
+ $126 = ((($120)) + 3|0);
+ $127 = ((($5)) + 1|0);
+ $128 = ((($5)) + 2|0);
+ $129 = ((($5)) + 3|0);
+ $130 = ((($5)) + 4|0);
+ $131 = ((($130)) + 1|0);
+ $132 = ((($130)) + 2|0);
+ $133 = ((($130)) + 3|0);
+ $134 = ((($5)) + 8|0);
+ $135 = ((($134)) + 1|0);
+ $136 = ((($134)) + 2|0);
+ $137 = ((($134)) + 3|0);
+ $138 = ((($5)) + 12|0);
+ $139 = ((($138)) + 1|0);
+ $140 = ((($138)) + 2|0);
+ $141 = ((($138)) + 3|0);
+ $$073153 = $3;$$074152 = $1;$$076151 = $2;
+ while(1) {
+ $142 = $18;
+ $143 = $142;
+ $144 = HEAP32[$143>>2]|0;
+ $145 = (($142) + 4)|0;
+ $146 = $145;
+ $147 = HEAP32[$146>>2]|0;
+ $148 = (_i64Add(($144|0),($147|0),1,0)|0);
+ $149 = tempRet0;
+ $150 = $18;
+ $151 = $150;
+ HEAP32[$151>>2] = $148;
+ $152 = (($150) + 4)|0;
+ $153 = $152;
+ HEAP32[$153>>2] = $149;
+ $154 = ($148|0)==(0);
+ $155 = (0)==(0);
+ $156 = $154 & $155;
+ if ($156) {
+ label = 11;
+ } else {
+ $157 = (_llvm_cttz_i32(($148|0))|0);
+ $158 = ($157>>>0)<(16);
+ if ($158) {
+ $159 = (($24) + ($157<<4)|0);
+ $$078 = $159;
+ } else {
+ label = 11;
+ }
+ }
+ if ((label|0) == 11) {
+ label = 0;
+ $160 = (__gcry_cipher_ocb_get_l($0,$5,$148,$149)|0);
+ $$078 = $160;
+ }
+ $161 = $$078;
+ $162 = $161 | $20;
+ $163 = $162 & 3;
+ $164 = ($163|0)==(0);
+ if ($164) {
+ $165 = ((($$078)) + 4|0);
+ $166 = HEAP32[$$078>>2]|0;
+ $167 = HEAP32[$19>>2]|0;
+ $168 = $167 ^ $166;
+ HEAP32[$19>>2] = $168;
+ $169 = ((($$078)) + 8|0);
+ $170 = HEAP32[$165>>2]|0;
+ $171 = HEAP32[$21>>2]|0;
+ $172 = $171 ^ $170;
+ HEAP32[$21>>2] = $172;
+ $173 = ((($$078)) + 12|0);
+ $174 = HEAP32[$169>>2]|0;
+ $175 = HEAP32[$22>>2]|0;
+ $176 = $175 ^ $174;
+ HEAP32[$22>>2] = $176;
+ $177 = HEAP32[$173>>2]|0;
+ $178 = HEAP32[$23>>2]|0;
+ $179 = $178 ^ $177;
+ HEAP32[$23>>2] = $179;
+ } else {
+ $180 = ((($$078)) + 1|0);
+ $181 = HEAP8[$$078>>0]|0;
+ $182 = HEAP8[$19>>0]|0;
+ $183 = $182 ^ $181;
+ HEAP8[$19>>0] = $183;
+ $184 = ((($$078)) + 2|0);
+ $185 = HEAP8[$180>>0]|0;
+ $186 = HEAP8[$37>>0]|0;
+ $187 = $186 ^ $185;
+ HEAP8[$37>>0] = $187;
+ $188 = ((($$078)) + 3|0);
+ $189 = HEAP8[$184>>0]|0;
+ $190 = HEAP8[$38>>0]|0;
+ $191 = $190 ^ $189;
+ HEAP8[$38>>0] = $191;
+ $192 = ((($$078)) + 4|0);
+ $193 = HEAP8[$188>>0]|0;
+ $194 = HEAP8[$39>>0]|0;
+ $195 = $194 ^ $193;
+ HEAP8[$39>>0] = $195;
+ $196 = ((($$078)) + 5|0);
+ $197 = HEAP8[$192>>0]|0;
+ $198 = HEAP8[$40>>0]|0;
+ $199 = $198 ^ $197;
+ HEAP8[$40>>0] = $199;
+ $200 = ((($$078)) + 6|0);
+ $201 = HEAP8[$196>>0]|0;
+ $202 = HEAP8[$41>>0]|0;
+ $203 = $202 ^ $201;
+ HEAP8[$41>>0] = $203;
+ $204 = ((($$078)) + 7|0);
+ $205 = HEAP8[$200>>0]|0;
+ $206 = HEAP8[$42>>0]|0;
+ $207 = $206 ^ $205;
+ HEAP8[$42>>0] = $207;
+ $208 = ((($$078)) + 8|0);
+ $209 = HEAP8[$204>>0]|0;
+ $210 = HEAP8[$43>>0]|0;
+ $211 = $210 ^ $209;
+ HEAP8[$43>>0] = $211;
+ $212 = ((($$078)) + 9|0);
+ $213 = HEAP8[$208>>0]|0;
+ $214 = HEAP8[$44>>0]|0;
+ $215 = $214 ^ $213;
+ HEAP8[$44>>0] = $215;
+ $216 = ((($$078)) + 10|0);
+ $217 = HEAP8[$212>>0]|0;
+ $218 = HEAP8[$45>>0]|0;
+ $219 = $218 ^ $217;
+ HEAP8[$45>>0] = $219;
+ $220 = ((($$078)) + 11|0);
+ $221 = HEAP8[$216>>0]|0;
+ $222 = HEAP8[$46>>0]|0;
+ $223 = $222 ^ $221;
+ HEAP8[$46>>0] = $223;
+ $224 = ((($$078)) + 12|0);
+ $225 = HEAP8[$220>>0]|0;
+ $226 = HEAP8[$47>>0]|0;
+ $227 = $226 ^ $225;
+ HEAP8[$47>>0] = $227;
+ $228 = ((($$078)) + 13|0);
+ $229 = HEAP8[$224>>0]|0;
+ $230 = HEAP8[$48>>0]|0;
+ $231 = $230 ^ $229;
+ HEAP8[$48>>0] = $231;
+ $232 = ((($$078)) + 14|0);
+ $233 = HEAP8[$228>>0]|0;
+ $234 = HEAP8[$49>>0]|0;
+ $235 = $234 ^ $233;
+ HEAP8[$49>>0] = $235;
+ $236 = ((($$078)) + 15|0);
+ $237 = HEAP8[$232>>0]|0;
+ $238 = HEAP8[$50>>0]|0;
+ $239 = $238 ^ $237;
+ HEAP8[$50>>0] = $239;
+ $240 = HEAP8[$236>>0]|0;
+ $241 = HEAP8[$51>>0]|0;
+ $242 = $241 ^ $240;
+ HEAP8[$51>>0] = $242;
+ }
+ $243 = $$076151;
+ $244 = $243 & 3;
+ $245 = ($244|0)==(0);
+ if ($245) {
+ $246 = ((($$076151)) + 4|0);
+ $247 = HEAP32[$$076151>>2]|0;
+ HEAP32[$5>>2] = $247;
+ $248 = ((($$076151)) + 8|0);
+ $249 = HEAP32[$246>>2]|0;
+ HEAP32[$25>>2] = $249;
+ $250 = ((($$076151)) + 12|0);
+ $251 = HEAP32[$248>>2]|0;
+ HEAP32[$26>>2] = $251;
+ $252 = HEAP32[$250>>2]|0;
+ HEAP32[$27>>2] = $252;
+ } else {
+ $253 = ((($$076151)) + 1|0);
+ $254 = HEAP8[$$076151>>0]|0;
+ HEAP8[$5>>0] = $254;
+ $255 = ((($$076151)) + 2|0);
+ $256 = HEAP8[$253>>0]|0;
+ HEAP8[$52>>0] = $256;
+ $257 = ((($$076151)) + 3|0);
+ $258 = HEAP8[$255>>0]|0;
+ HEAP8[$53>>0] = $258;
+ $259 = ((($$076151)) + 4|0);
+ $260 = HEAP8[$257>>0]|0;
+ HEAP8[$54>>0] = $260;
+ $261 = ((($$076151)) + 5|0);
+ $262 = HEAP8[$259>>0]|0;
+ HEAP8[$55>>0] = $262;
+ $263 = ((($$076151)) + 6|0);
+ $264 = HEAP8[$261>>0]|0;
+ HEAP8[$56>>0] = $264;
+ $265 = ((($$076151)) + 7|0);
+ $266 = HEAP8[$263>>0]|0;
+ HEAP8[$57>>0] = $266;
+ $267 = ((($$076151)) + 8|0);
+ $268 = HEAP8[$265>>0]|0;
+ HEAP8[$58>>0] = $268;
+ $269 = ((($$076151)) + 9|0);
+ $270 = HEAP8[$267>>0]|0;
+ HEAP8[$59>>0] = $270;
+ $271 = ((($$076151)) + 10|0);
+ $272 = HEAP8[$269>>0]|0;
+ HEAP8[$60>>0] = $272;
+ $273 = ((($$076151)) + 11|0);
+ $274 = HEAP8[$271>>0]|0;
+ HEAP8[$61>>0] = $274;
+ $275 = ((($$076151)) + 12|0);
+ $276 = HEAP8[$273>>0]|0;
+ HEAP8[$62>>0] = $276;
+ $277 = ((($$076151)) + 13|0);
+ $278 = HEAP8[$275>>0]|0;
+ HEAP8[$63>>0] = $278;
+ $279 = ((($$076151)) + 14|0);
+ $280 = HEAP8[$277>>0]|0;
+ HEAP8[$64>>0] = $280;
+ $281 = ((($$076151)) + 15|0);
+ $282 = HEAP8[$279>>0]|0;
+ HEAP8[$65>>0] = $282;
+ $283 = HEAP8[$281>>0]|0;
+ HEAP8[$66>>0] = $283;
+ }
+ if ($31) {
+ $284 = HEAP32[$5>>2]|0;
+ $285 = HEAP32[$28>>2]|0;
+ $286 = $285 ^ $284;
+ HEAP32[$28>>2] = $286;
+ $287 = HEAP32[$25>>2]|0;
+ $288 = HEAP32[$32>>2]|0;
+ $289 = $288 ^ $287;
+ HEAP32[$32>>2] = $289;
+ $290 = HEAP32[$26>>2]|0;
+ $291 = HEAP32[$33>>2]|0;
+ $292 = $291 ^ $290;
+ HEAP32[$33>>2] = $292;
+ $293 = HEAP32[$27>>2]|0;
+ $294 = HEAP32[$34>>2]|0;
+ $295 = $294 ^ $293;
+ HEAP32[$34>>2] = $295;
+ } else {
+ $296 = HEAP8[$5>>0]|0;
+ $297 = HEAP8[$28>>0]|0;
+ $298 = $297 ^ $296;
+ HEAP8[$28>>0] = $298;
+ $299 = HEAP8[$67>>0]|0;
+ $300 = HEAP8[$68>>0]|0;
+ $301 = $300 ^ $299;
+ HEAP8[$68>>0] = $301;
+ $302 = HEAP8[$69>>0]|0;
+ $303 = HEAP8[$70>>0]|0;
+ $304 = $303 ^ $302;
+ HEAP8[$70>>0] = $304;
+ $305 = HEAP8[$71>>0]|0;
+ $306 = HEAP8[$72>>0]|0;
+ $307 = $306 ^ $305;
+ HEAP8[$72>>0] = $307;
+ $308 = HEAP8[$73>>0]|0;
+ $309 = HEAP8[$74>>0]|0;
+ $310 = $309 ^ $308;
+ HEAP8[$74>>0] = $310;
+ $311 = HEAP8[$75>>0]|0;
+ $312 = HEAP8[$76>>0]|0;
+ $313 = $312 ^ $311;
+ HEAP8[$76>>0] = $313;
+ $314 = HEAP8[$77>>0]|0;
+ $315 = HEAP8[$78>>0]|0;
+ $316 = $315 ^ $314;
+ HEAP8[$78>>0] = $316;
+ $317 = HEAP8[$79>>0]|0;
+ $318 = HEAP8[$80>>0]|0;
+ $319 = $318 ^ $317;
+ HEAP8[$80>>0] = $319;
+ $320 = HEAP8[$81>>0]|0;
+ $321 = HEAP8[$82>>0]|0;
+ $322 = $321 ^ $320;
+ HEAP8[$82>>0] = $322;
+ $323 = HEAP8[$83>>0]|0;
+ $324 = HEAP8[$84>>0]|0;
+ $325 = $324 ^ $323;
+ HEAP8[$84>>0] = $325;
+ $326 = HEAP8[$85>>0]|0;
+ $327 = HEAP8[$86>>0]|0;
+ $328 = $327 ^ $326;
+ HEAP8[$86>>0] = $328;
+ $329 = HEAP8[$87>>0]|0;
+ $330 = HEAP8[$88>>0]|0;
+ $331 = $330 ^ $329;
+ HEAP8[$88>>0] = $331;
+ $332 = HEAP8[$89>>0]|0;
+ $333 = HEAP8[$90>>0]|0;
+ $334 = $333 ^ $332;
+ HEAP8[$90>>0] = $334;
+ $335 = HEAP8[$91>>0]|0;
+ $336 = HEAP8[$92>>0]|0;
+ $337 = $336 ^ $335;
+ HEAP8[$92>>0] = $337;
+ $338 = HEAP8[$93>>0]|0;
+ $339 = HEAP8[$94>>0]|0;
+ $340 = $339 ^ $338;
+ HEAP8[$94>>0] = $340;
+ $341 = HEAP8[$95>>0]|0;
+ $342 = HEAP8[$96>>0]|0;
+ $343 = $342 ^ $341;
+ HEAP8[$96>>0] = $343;
+ }
+ if ($36) {
+ $344 = HEAP32[$19>>2]|0;
+ $345 = HEAP32[$5>>2]|0;
+ $346 = $345 ^ $344;
+ HEAP32[$5>>2] = $346;
+ $347 = HEAP32[$21>>2]|0;
+ $348 = HEAP32[$25>>2]|0;
+ $349 = $348 ^ $347;
+ HEAP32[$25>>2] = $349;
+ $350 = HEAP32[$22>>2]|0;
+ $351 = HEAP32[$26>>2]|0;
+ $352 = $351 ^ $350;
+ HEAP32[$26>>2] = $352;
+ $353 = HEAP32[$23>>2]|0;
+ $354 = HEAP32[$27>>2]|0;
+ $355 = $354 ^ $353;
+ HEAP32[$27>>2] = $355;
+ $356 = (FUNCTION_TABLE_iiii[$16 & 127]($7,$5,$5)|0);
+ $357 = HEAP32[$19>>2]|0;
+ $358 = HEAP32[$5>>2]|0;
+ $359 = $358 ^ $357;
+ HEAP32[$5>>2] = $359;
+ $360 = HEAP32[$21>>2]|0;
+ $361 = HEAP32[$25>>2]|0;
+ $362 = $361 ^ $360;
+ HEAP32[$25>>2] = $362;
+ $363 = HEAP32[$22>>2]|0;
+ $364 = HEAP32[$26>>2]|0;
+ $365 = $364 ^ $363;
+ HEAP32[$26>>2] = $365;
+ $366 = HEAP32[$23>>2]|0;
+ $367 = HEAP32[$27>>2]|0;
+ $368 = $367 ^ $366;
+ HEAP32[$27>>2] = $368;
+ $1009 = $356;
+ } else {
+ $369 = HEAP8[$19>>0]|0;
+ $370 = HEAP8[$5>>0]|0;
+ $371 = $370 ^ $369;
+ HEAP8[$5>>0] = $371;
+ $372 = HEAP8[$97>>0]|0;
+ $373 = HEAP8[$98>>0]|0;
+ $374 = $373 ^ $372;
+ HEAP8[$98>>0] = $374;
+ $375 = HEAP8[$99>>0]|0;
+ $376 = HEAP8[$100>>0]|0;
+ $377 = $376 ^ $375;
+ HEAP8[$100>>0] = $377;
+ $378 = HEAP8[$101>>0]|0;
+ $379 = HEAP8[$102>>0]|0;
+ $380 = $379 ^ $378;
+ HEAP8[$102>>0] = $380;
+ $381 = HEAP8[$103>>0]|0;
+ $382 = HEAP8[$104>>0]|0;
+ $383 = $382 ^ $381;
+ HEAP8[$104>>0] = $383;
+ $384 = HEAP8[$105>>0]|0;
+ $385 = HEAP8[$106>>0]|0;
+ $386 = $385 ^ $384;
+ HEAP8[$106>>0] = $386;
+ $387 = HEAP8[$107>>0]|0;
+ $388 = HEAP8[$108>>0]|0;
+ $389 = $388 ^ $387;
+ HEAP8[$108>>0] = $389;
+ $390 = HEAP8[$109>>0]|0;
+ $391 = HEAP8[$110>>0]|0;
+ $392 = $391 ^ $390;
+ HEAP8[$110>>0] = $392;
+ $393 = HEAP8[$111>>0]|0;
+ $394 = HEAP8[$112>>0]|0;
+ $395 = $394 ^ $393;
+ HEAP8[$112>>0] = $395;
+ $396 = HEAP8[$113>>0]|0;
+ $397 = HEAP8[$114>>0]|0;
+ $398 = $397 ^ $396;
+ HEAP8[$114>>0] = $398;
+ $399 = HEAP8[$115>>0]|0;
+ $400 = HEAP8[$116>>0]|0;
+ $401 = $400 ^ $399;
+ HEAP8[$116>>0] = $401;
+ $402 = HEAP8[$117>>0]|0;
+ $403 = HEAP8[$118>>0]|0;
+ $404 = $403 ^ $402;
+ HEAP8[$118>>0] = $404;
+ $405 = HEAP8[$119>>0]|0;
+ $406 = HEAP8[$120>>0]|0;
+ $407 = $406 ^ $405;
+ HEAP8[$120>>0] = $407;
+ $408 = HEAP8[$121>>0]|0;
+ $409 = HEAP8[$122>>0]|0;
+ $410 = $409 ^ $408;
+ HEAP8[$122>>0] = $410;
+ $411 = HEAP8[$123>>0]|0;
+ $412 = HEAP8[$124>>0]|0;
+ $413 = $412 ^ $411;
+ HEAP8[$124>>0] = $413;
+ $414 = HEAP8[$125>>0]|0;
+ $415 = HEAP8[$126>>0]|0;
+ $416 = $415 ^ $414;
+ HEAP8[$126>>0] = $416;
+ $417 = (FUNCTION_TABLE_iiii[$16 & 127]($7,$5,$5)|0);
+ $418 = HEAP8[$19>>0]|0;
+ $419 = HEAP8[$5>>0]|0;
+ $420 = $419 ^ $418;
+ HEAP8[$5>>0] = $420;
+ $421 = HEAP8[$97>>0]|0;
+ $422 = HEAP8[$98>>0]|0;
+ $423 = $422 ^ $421;
+ HEAP8[$98>>0] = $423;
+ $424 = HEAP8[$99>>0]|0;
+ $425 = HEAP8[$100>>0]|0;
+ $426 = $425 ^ $424;
+ HEAP8[$100>>0] = $426;
+ $427 = HEAP8[$101>>0]|0;
+ $428 = HEAP8[$102>>0]|0;
+ $429 = $428 ^ $427;
+ HEAP8[$102>>0] = $429;
+ $430 = HEAP8[$103>>0]|0;
+ $431 = HEAP8[$104>>0]|0;
+ $432 = $431 ^ $430;
+ HEAP8[$104>>0] = $432;
+ $433 = HEAP8[$105>>0]|0;
+ $434 = HEAP8[$106>>0]|0;
+ $435 = $434 ^ $433;
+ HEAP8[$106>>0] = $435;
+ $436 = HEAP8[$107>>0]|0;
+ $437 = HEAP8[$108>>0]|0;
+ $438 = $437 ^ $436;
+ HEAP8[$108>>0] = $438;
+ $439 = HEAP8[$109>>0]|0;
+ $440 = HEAP8[$110>>0]|0;
+ $441 = $440 ^ $439;
+ HEAP8[$110>>0] = $441;
+ $442 = HEAP8[$111>>0]|0;
+ $443 = HEAP8[$112>>0]|0;
+ $444 = $443 ^ $442;
+ HEAP8[$112>>0] = $444;
+ $445 = HEAP8[$113>>0]|0;
+ $446 = HEAP8[$114>>0]|0;
+ $447 = $446 ^ $445;
+ HEAP8[$114>>0] = $447;
+ $448 = HEAP8[$115>>0]|0;
+ $449 = HEAP8[$116>>0]|0;
+ $450 = $449 ^ $448;
+ HEAP8[$116>>0] = $450;
+ $451 = HEAP8[$117>>0]|0;
+ $452 = HEAP8[$118>>0]|0;
+ $453 = $452 ^ $451;
+ HEAP8[$118>>0] = $453;
+ $454 = HEAP8[$119>>0]|0;
+ $455 = HEAP8[$120>>0]|0;
+ $456 = $455 ^ $454;
+ HEAP8[$120>>0] = $456;
+ $457 = HEAP8[$121>>0]|0;
+ $458 = HEAP8[$122>>0]|0;
+ $459 = $458 ^ $457;
+ HEAP8[$122>>0] = $459;
+ $460 = HEAP8[$123>>0]|0;
+ $461 = HEAP8[$124>>0]|0;
+ $462 = $461 ^ $460;
+ HEAP8[$124>>0] = $462;
+ $463 = HEAP8[$125>>0]|0;
+ $464 = HEAP8[$126>>0]|0;
+ $465 = $464 ^ $463;
+ HEAP8[$126>>0] = $465;
+ $1009 = $417;
+ }
+ $466 = $$074152;
+ $467 = $466 & 3;
+ $468 = ($467|0)==(0);
+ if ($468) {
+ $469 = HEAP32[$5>>2]|0;
+ $470 = ((($$074152)) + 4|0);
+ HEAP32[$$074152>>2] = $469;
+ $471 = HEAP32[$25>>2]|0;
+ $472 = ((($$074152)) + 8|0);
+ HEAP32[$470>>2] = $471;
+ $473 = HEAP32[$26>>2]|0;
+ $474 = ((($$074152)) + 12|0);
+ HEAP32[$472>>2] = $473;
+ $475 = HEAP32[$27>>2]|0;
+ HEAP32[$474>>2] = $475;
+ } else {
+ $476 = HEAP8[$5>>0]|0;
+ $477 = ((($$074152)) + 1|0);
+ HEAP8[$$074152>>0] = $476;
+ $478 = HEAP8[$127>>0]|0;
+ $479 = ((($$074152)) + 2|0);
+ HEAP8[$477>>0] = $478;
+ $480 = HEAP8[$128>>0]|0;
+ $481 = ((($$074152)) + 3|0);
+ HEAP8[$479>>0] = $480;
+ $482 = HEAP8[$129>>0]|0;
+ $483 = ((($$074152)) + 4|0);
+ HEAP8[$481>>0] = $482;
+ $484 = HEAP8[$130>>0]|0;
+ $485 = ((($$074152)) + 5|0);
+ HEAP8[$483>>0] = $484;
+ $486 = HEAP8[$131>>0]|0;
+ $487 = ((($$074152)) + 6|0);
+ HEAP8[$485>>0] = $486;
+ $488 = HEAP8[$132>>0]|0;
+ $489 = ((($$074152)) + 7|0);
+ HEAP8[$487>>0] = $488;
+ $490 = HEAP8[$133>>0]|0;
+ $491 = ((($$074152)) + 8|0);
+ HEAP8[$489>>0] = $490;
+ $492 = HEAP8[$134>>0]|0;
+ $493 = ((($$074152)) + 9|0);
+ HEAP8[$491>>0] = $492;
+ $494 = HEAP8[$135>>0]|0;
+ $495 = ((($$074152)) + 10|0);
+ HEAP8[$493>>0] = $494;
+ $496 = HEAP8[$136>>0]|0;
+ $497 = ((($$074152)) + 11|0);
+ HEAP8[$495>>0] = $496;
+ $498 = HEAP8[$137>>0]|0;
+ $499 = ((($$074152)) + 12|0);
+ HEAP8[$497>>0] = $498;
+ $500 = HEAP8[$138>>0]|0;
+ $501 = ((($$074152)) + 13|0);
+ HEAP8[$499>>0] = $500;
+ $502 = HEAP8[$139>>0]|0;
+ $503 = ((($$074152)) + 14|0);
+ HEAP8[$501>>0] = $502;
+ $504 = HEAP8[$140>>0]|0;
+ $505 = ((($$074152)) + 15|0);
+ HEAP8[$503>>0] = $504;
+ $506 = HEAP8[$141>>0]|0;
+ HEAP8[$505>>0] = $506;
+ }
+ $507 = ((($$076151)) + 16|0);
+ $508 = ((($$074152)) + 16|0);
+ $509 = (($$073153) + -1)|0;
+ $510 = ($509|0)==(0);
+ if ($510) {
+ $$079$lcssa = $1009;
+ break;
+ } else {
+ $$073153 = $509;$$074152 = $508;$$076151 = $507;
+ }
+ }
+ }
+ $$2 = $$079$lcssa;
+ }
+ $1007 = ($$2|0)==(0);
+ if ($1007) {
+ STACKTOP = sp;return;
+ }
+ $1008 = (($$2) + 16)|0;
+ ___gcry_burn_stack($1008);
+ STACKTOP = sp;return;
+}
+function __gcry_aes_ocb_auth($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$06590 = 0, $$071 = 0, $$091 = 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;
+ var $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0;
+ var $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0;
+ var $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0;
+ var $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0;
+ var $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $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, $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, $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, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0;
+ var $369 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0;
+ var $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0;
+ var $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0;
+ var $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $3 = sp;
+ $4 = ((($0)) + 496|0);
+ $5 = ((($4)) + 496|0);
+ $6 = HEAP32[$5>>2]|0;
+ $7 = ($6|0)==(0|0);
+ if (!($7)) {
+ FUNCTION_TABLE_v[$6 & 127]();
+ }
+ $8 = ((($4)) + 488|0);
+ $9 = HEAP32[$8>>2]|0;
+ $10 = ($2|0)==(0);
+ if ($10) {
+ $11 = $3;
+ $12 = $11;
+ HEAP32[$12>>2] = 0;
+ $13 = (($11) + 4)|0;
+ $14 = $13;
+ HEAP32[$14>>2] = 0;
+ $15 = ((($3)) + 8|0);
+ $16 = $15;
+ $17 = $16;
+ HEAP32[$17>>2] = 0;
+ $18 = (($16) + 4)|0;
+ $19 = $18;
+ HEAP32[$19>>2] = 0;
+ STACKTOP = sp;return;
+ }
+ $20 = ((($0)) + 472|0);
+ $21 = ((($0)) + 432|0);
+ $22 = $21;
+ $23 = ((($0)) + 436|0);
+ $24 = ((($0)) + 440|0);
+ $25 = ((($0)) + 444|0);
+ $26 = ((($0)) + 160|0);
+ $27 = ((($3)) + 4|0);
+ $28 = ((($3)) + 8|0);
+ $29 = ((($3)) + 12|0);
+ $30 = ((($0)) + 448|0);
+ $31 = $30;
+ $32 = $31 & 3;
+ $33 = ($32|0)==(0);
+ $34 = ((($0)) + 452|0);
+ $35 = ((($0)) + 456|0);
+ $36 = ((($0)) + 460|0);
+ $37 = ((($21)) + 1|0);
+ $38 = ((($21)) + 2|0);
+ $39 = ((($21)) + 3|0);
+ $40 = ((($0)) + 436|0);
+ $41 = ((($40)) + 1|0);
+ $42 = ((($40)) + 2|0);
+ $43 = ((($40)) + 3|0);
+ $44 = ((($0)) + 440|0);
+ $45 = ((($44)) + 1|0);
+ $46 = ((($44)) + 2|0);
+ $47 = ((($44)) + 3|0);
+ $48 = ((($0)) + 444|0);
+ $49 = ((($48)) + 1|0);
+ $50 = ((($48)) + 2|0);
+ $51 = ((($48)) + 3|0);
+ $52 = ((($21)) + 1|0);
+ $53 = ((($3)) + 1|0);
+ $54 = ((($21)) + 2|0);
+ $55 = ((($3)) + 2|0);
+ $56 = ((($21)) + 3|0);
+ $57 = ((($3)) + 3|0);
+ $58 = ((($0)) + 436|0);
+ $59 = ((($3)) + 4|0);
+ $60 = ((($58)) + 1|0);
+ $61 = ((($59)) + 1|0);
+ $62 = ((($58)) + 2|0);
+ $63 = ((($59)) + 2|0);
+ $64 = ((($58)) + 3|0);
+ $65 = ((($59)) + 3|0);
+ $66 = ((($0)) + 440|0);
+ $67 = ((($3)) + 8|0);
+ $68 = ((($66)) + 1|0);
+ $69 = ((($67)) + 1|0);
+ $70 = ((($66)) + 2|0);
+ $71 = ((($67)) + 2|0);
+ $72 = ((($66)) + 3|0);
+ $73 = ((($67)) + 3|0);
+ $74 = ((($0)) + 444|0);
+ $75 = ((($3)) + 12|0);
+ $76 = ((($74)) + 1|0);
+ $77 = ((($75)) + 1|0);
+ $78 = ((($74)) + 2|0);
+ $79 = ((($75)) + 2|0);
+ $80 = ((($74)) + 3|0);
+ $81 = ((($75)) + 3|0);
+ $82 = ((($3)) + 1|0);
+ $83 = ((($30)) + 1|0);
+ $84 = ((($3)) + 2|0);
+ $85 = ((($30)) + 2|0);
+ $86 = ((($3)) + 3|0);
+ $87 = ((($30)) + 3|0);
+ $88 = ((($3)) + 4|0);
+ $89 = ((($0)) + 452|0);
+ $90 = ((($88)) + 1|0);
+ $91 = ((($89)) + 1|0);
+ $92 = ((($88)) + 2|0);
+ $93 = ((($89)) + 2|0);
+ $94 = ((($88)) + 3|0);
+ $95 = ((($89)) + 3|0);
+ $96 = ((($3)) + 8|0);
+ $97 = ((($0)) + 456|0);
+ $98 = ((($96)) + 1|0);
+ $99 = ((($97)) + 1|0);
+ $100 = ((($96)) + 2|0);
+ $101 = ((($97)) + 2|0);
+ $102 = ((($96)) + 3|0);
+ $103 = ((($97)) + 3|0);
+ $104 = ((($3)) + 12|0);
+ $105 = ((($0)) + 460|0);
+ $106 = ((($104)) + 1|0);
+ $107 = ((($105)) + 1|0);
+ $108 = ((($104)) + 2|0);
+ $109 = ((($105)) + 2|0);
+ $110 = ((($104)) + 3|0);
+ $111 = ((($105)) + 3|0);
+ $$06590 = $1;$$091 = $2;
+ while(1) {
+ $112 = $20;
+ $113 = $112;
+ $114 = HEAP32[$113>>2]|0;
+ $115 = (($112) + 4)|0;
+ $116 = $115;
+ $117 = HEAP32[$116>>2]|0;
+ $118 = (_i64Add(($114|0),($117|0),1,0)|0);
+ $119 = tempRet0;
+ $120 = $20;
+ $121 = $120;
+ HEAP32[$121>>2] = $118;
+ $122 = (($120) + 4)|0;
+ $123 = $122;
+ HEAP32[$123>>2] = $119;
+ $124 = ($118|0)==(0);
+ $125 = (0)==(0);
+ $126 = $124 & $125;
+ if ($126) {
+ label = 9;
+ } else {
+ $127 = (_llvm_cttz_i32(($118|0))|0);
+ $128 = ($127>>>0)<(16);
+ if ($128) {
+ $129 = (($26) + ($127<<4)|0);
+ $$071 = $129;
+ } else {
+ label = 9;
+ }
+ }
+ if ((label|0) == 9) {
+ label = 0;
+ $130 = (__gcry_cipher_ocb_get_l($0,$3,$118,$119)|0);
+ $$071 = $130;
+ }
+ $131 = $$071;
+ $132 = $131 | $22;
+ $133 = $132 & 3;
+ $134 = ($133|0)==(0);
+ if ($134) {
+ $135 = ((($$071)) + 4|0);
+ $136 = HEAP32[$$071>>2]|0;
+ $137 = HEAP32[$21>>2]|0;
+ $138 = $137 ^ $136;
+ HEAP32[$21>>2] = $138;
+ $139 = ((($$071)) + 8|0);
+ $140 = HEAP32[$135>>2]|0;
+ $141 = HEAP32[$23>>2]|0;
+ $142 = $141 ^ $140;
+ HEAP32[$23>>2] = $142;
+ $143 = ((($$071)) + 12|0);
+ $144 = HEAP32[$139>>2]|0;
+ $145 = HEAP32[$24>>2]|0;
+ $146 = $145 ^ $144;
+ HEAP32[$24>>2] = $146;
+ $147 = HEAP32[$143>>2]|0;
+ $148 = HEAP32[$25>>2]|0;
+ $149 = $148 ^ $147;
+ HEAP32[$25>>2] = $149;
+ } else {
+ $150 = ((($$071)) + 1|0);
+ $151 = HEAP8[$$071>>0]|0;
+ $152 = HEAP8[$21>>0]|0;
+ $153 = $152 ^ $151;
+ HEAP8[$21>>0] = $153;
+ $154 = ((($$071)) + 2|0);
+ $155 = HEAP8[$150>>0]|0;
+ $156 = HEAP8[$37>>0]|0;
+ $157 = $156 ^ $155;
+ HEAP8[$37>>0] = $157;
+ $158 = ((($$071)) + 3|0);
+ $159 = HEAP8[$154>>0]|0;
+ $160 = HEAP8[$38>>0]|0;
+ $161 = $160 ^ $159;
+ HEAP8[$38>>0] = $161;
+ $162 = ((($$071)) + 4|0);
+ $163 = HEAP8[$158>>0]|0;
+ $164 = HEAP8[$39>>0]|0;
+ $165 = $164 ^ $163;
+ HEAP8[$39>>0] = $165;
+ $166 = ((($$071)) + 5|0);
+ $167 = HEAP8[$162>>0]|0;
+ $168 = HEAP8[$40>>0]|0;
+ $169 = $168 ^ $167;
+ HEAP8[$40>>0] = $169;
+ $170 = ((($$071)) + 6|0);
+ $171 = HEAP8[$166>>0]|0;
+ $172 = HEAP8[$41>>0]|0;
+ $173 = $172 ^ $171;
+ HEAP8[$41>>0] = $173;
+ $174 = ((($$071)) + 7|0);
+ $175 = HEAP8[$170>>0]|0;
+ $176 = HEAP8[$42>>0]|0;
+ $177 = $176 ^ $175;
+ HEAP8[$42>>0] = $177;
+ $178 = ((($$071)) + 8|0);
+ $179 = HEAP8[$174>>0]|0;
+ $180 = HEAP8[$43>>0]|0;
+ $181 = $180 ^ $179;
+ HEAP8[$43>>0] = $181;
+ $182 = ((($$071)) + 9|0);
+ $183 = HEAP8[$178>>0]|0;
+ $184 = HEAP8[$44>>0]|0;
+ $185 = $184 ^ $183;
+ HEAP8[$44>>0] = $185;
+ $186 = ((($$071)) + 10|0);
+ $187 = HEAP8[$182>>0]|0;
+ $188 = HEAP8[$45>>0]|0;
+ $189 = $188 ^ $187;
+ HEAP8[$45>>0] = $189;
+ $190 = ((($$071)) + 11|0);
+ $191 = HEAP8[$186>>0]|0;
+ $192 = HEAP8[$46>>0]|0;
+ $193 = $192 ^ $191;
+ HEAP8[$46>>0] = $193;
+ $194 = ((($$071)) + 12|0);
+ $195 = HEAP8[$190>>0]|0;
+ $196 = HEAP8[$47>>0]|0;
+ $197 = $196 ^ $195;
+ HEAP8[$47>>0] = $197;
+ $198 = ((($$071)) + 13|0);
+ $199 = HEAP8[$194>>0]|0;
+ $200 = HEAP8[$48>>0]|0;
+ $201 = $200 ^ $199;
+ HEAP8[$48>>0] = $201;
+ $202 = ((($$071)) + 14|0);
+ $203 = HEAP8[$198>>0]|0;
+ $204 = HEAP8[$49>>0]|0;
+ $205 = $204 ^ $203;
+ HEAP8[$49>>0] = $205;
+ $206 = ((($$071)) + 15|0);
+ $207 = HEAP8[$202>>0]|0;
+ $208 = HEAP8[$50>>0]|0;
+ $209 = $208 ^ $207;
+ HEAP8[$50>>0] = $209;
+ $210 = HEAP8[$206>>0]|0;
+ $211 = HEAP8[$51>>0]|0;
+ $212 = $211 ^ $210;
+ HEAP8[$51>>0] = $212;
+ }
+ $213 = $$06590;
+ $214 = $213 | $22;
+ $215 = $214 & 3;
+ $216 = ($215|0)==(0);
+ if ($216) {
+ $217 = HEAP32[$21>>2]|0;
+ $218 = ((($$06590)) + 4|0);
+ $219 = HEAP32[$$06590>>2]|0;
+ $220 = $219 ^ $217;
+ HEAP32[$3>>2] = $220;
+ $221 = HEAP32[$23>>2]|0;
+ $222 = ((($$06590)) + 8|0);
+ $223 = HEAP32[$218>>2]|0;
+ $224 = $223 ^ $221;
+ HEAP32[$27>>2] = $224;
+ $225 = HEAP32[$24>>2]|0;
+ $226 = ((($$06590)) + 12|0);
+ $227 = HEAP32[$222>>2]|0;
+ $228 = $227 ^ $225;
+ HEAP32[$28>>2] = $228;
+ $229 = HEAP32[$25>>2]|0;
+ $230 = HEAP32[$226>>2]|0;
+ $231 = $230 ^ $229;
+ HEAP32[$29>>2] = $231;
+ } else {
+ $232 = HEAP8[$21>>0]|0;
+ $233 = ((($$06590)) + 1|0);
+ $234 = HEAP8[$$06590>>0]|0;
+ $235 = $234 ^ $232;
+ HEAP8[$3>>0] = $235;
+ $236 = HEAP8[$52>>0]|0;
+ $237 = ((($$06590)) + 2|0);
+ $238 = HEAP8[$233>>0]|0;
+ $239 = $238 ^ $236;
+ HEAP8[$53>>0] = $239;
+ $240 = HEAP8[$54>>0]|0;
+ $241 = ((($$06590)) + 3|0);
+ $242 = HEAP8[$237>>0]|0;
+ $243 = $242 ^ $240;
+ HEAP8[$55>>0] = $243;
+ $244 = HEAP8[$56>>0]|0;
+ $245 = ((($$06590)) + 4|0);
+ $246 = HEAP8[$241>>0]|0;
+ $247 = $246 ^ $244;
+ HEAP8[$57>>0] = $247;
+ $248 = HEAP8[$58>>0]|0;
+ $249 = ((($$06590)) + 5|0);
+ $250 = HEAP8[$245>>0]|0;
+ $251 = $250 ^ $248;
+ HEAP8[$59>>0] = $251;
+ $252 = HEAP8[$60>>0]|0;
+ $253 = ((($$06590)) + 6|0);
+ $254 = HEAP8[$249>>0]|0;
+ $255 = $254 ^ $252;
+ HEAP8[$61>>0] = $255;
+ $256 = HEAP8[$62>>0]|0;
+ $257 = ((($$06590)) + 7|0);
+ $258 = HEAP8[$253>>0]|0;
+ $259 = $258 ^ $256;
+ HEAP8[$63>>0] = $259;
+ $260 = HEAP8[$64>>0]|0;
+ $261 = ((($$06590)) + 8|0);
+ $262 = HEAP8[$257>>0]|0;
+ $263 = $262 ^ $260;
+ HEAP8[$65>>0] = $263;
+ $264 = HEAP8[$66>>0]|0;
+ $265 = ((($$06590)) + 9|0);
+ $266 = HEAP8[$261>>0]|0;
+ $267 = $266 ^ $264;
+ HEAP8[$67>>0] = $267;
+ $268 = HEAP8[$68>>0]|0;
+ $269 = ((($$06590)) + 10|0);
+ $270 = HEAP8[$265>>0]|0;
+ $271 = $270 ^ $268;
+ HEAP8[$69>>0] = $271;
+ $272 = HEAP8[$70>>0]|0;
+ $273 = ((($$06590)) + 11|0);
+ $274 = HEAP8[$269>>0]|0;
+ $275 = $274 ^ $272;
+ HEAP8[$71>>0] = $275;
+ $276 = HEAP8[$72>>0]|0;
+ $277 = ((($$06590)) + 12|0);
+ $278 = HEAP8[$273>>0]|0;
+ $279 = $278 ^ $276;
+ HEAP8[$73>>0] = $279;
+ $280 = HEAP8[$74>>0]|0;
+ $281 = ((($$06590)) + 13|0);
+ $282 = HEAP8[$277>>0]|0;
+ $283 = $282 ^ $280;
+ HEAP8[$75>>0] = $283;
+ $284 = HEAP8[$76>>0]|0;
+ $285 = ((($$06590)) + 14|0);
+ $286 = HEAP8[$281>>0]|0;
+ $287 = $286 ^ $284;
+ HEAP8[$77>>0] = $287;
+ $288 = HEAP8[$78>>0]|0;
+ $289 = ((($$06590)) + 15|0);
+ $290 = HEAP8[$285>>0]|0;
+ $291 = $290 ^ $288;
+ HEAP8[$79>>0] = $291;
+ $292 = HEAP8[$80>>0]|0;
+ $293 = HEAP8[$289>>0]|0;
+ $294 = $293 ^ $292;
+ HEAP8[$81>>0] = $294;
+ }
+ $295 = (FUNCTION_TABLE_iiii[$9 & 127]($4,$3,$3)|0);
+ if ($33) {
+ $296 = HEAP32[$3>>2]|0;
+ $297 = HEAP32[$30>>2]|0;
+ $298 = $297 ^ $296;
+ HEAP32[$30>>2] = $298;
+ $299 = HEAP32[$27>>2]|0;
+ $300 = HEAP32[$34>>2]|0;
+ $301 = $300 ^ $299;
+ HEAP32[$34>>2] = $301;
+ $302 = HEAP32[$28>>2]|0;
+ $303 = HEAP32[$35>>2]|0;
+ $304 = $303 ^ $302;
+ HEAP32[$35>>2] = $304;
+ $305 = HEAP32[$29>>2]|0;
+ $306 = HEAP32[$36>>2]|0;
+ $307 = $306 ^ $305;
+ HEAP32[$36>>2] = $307;
+ } else {
+ $308 = HEAP8[$3>>0]|0;
+ $309 = HEAP8[$30>>0]|0;
+ $310 = $309 ^ $308;
+ HEAP8[$30>>0] = $310;
+ $311 = HEAP8[$82>>0]|0;
+ $312 = HEAP8[$83>>0]|0;
+ $313 = $312 ^ $311;
+ HEAP8[$83>>0] = $313;
+ $314 = HEAP8[$84>>0]|0;
+ $315 = HEAP8[$85>>0]|0;
+ $316 = $315 ^ $314;
+ HEAP8[$85>>0] = $316;
+ $317 = HEAP8[$86>>0]|0;
+ $318 = HEAP8[$87>>0]|0;
+ $319 = $318 ^ $317;
+ HEAP8[$87>>0] = $319;
+ $320 = HEAP8[$88>>0]|0;
+ $321 = HEAP8[$89>>0]|0;
+ $322 = $321 ^ $320;
+ HEAP8[$89>>0] = $322;
+ $323 = HEAP8[$90>>0]|0;
+ $324 = HEAP8[$91>>0]|0;
+ $325 = $324 ^ $323;
+ HEAP8[$91>>0] = $325;
+ $326 = HEAP8[$92>>0]|0;
+ $327 = HEAP8[$93>>0]|0;
+ $328 = $327 ^ $326;
+ HEAP8[$93>>0] = $328;
+ $329 = HEAP8[$94>>0]|0;
+ $330 = HEAP8[$95>>0]|0;
+ $331 = $330 ^ $329;
+ HEAP8[$95>>0] = $331;
+ $332 = HEAP8[$96>>0]|0;
+ $333 = HEAP8[$97>>0]|0;
+ $334 = $333 ^ $332;
+ HEAP8[$97>>0] = $334;
+ $335 = HEAP8[$98>>0]|0;
+ $336 = HEAP8[$99>>0]|0;
+ $337 = $336 ^ $335;
+ HEAP8[$99>>0] = $337;
+ $338 = HEAP8[$100>>0]|0;
+ $339 = HEAP8[$101>>0]|0;
+ $340 = $339 ^ $338;
+ HEAP8[$101>>0] = $340;
+ $341 = HEAP8[$102>>0]|0;
+ $342 = HEAP8[$103>>0]|0;
+ $343 = $342 ^ $341;
+ HEAP8[$103>>0] = $343;
+ $344 = HEAP8[$104>>0]|0;
+ $345 = HEAP8[$105>>0]|0;
+ $346 = $345 ^ $344;
+ HEAP8[$105>>0] = $346;
+ $347 = HEAP8[$106>>0]|0;
+ $348 = HEAP8[$107>>0]|0;
+ $349 = $348 ^ $347;
+ HEAP8[$107>>0] = $349;
+ $350 = HEAP8[$108>>0]|0;
+ $351 = HEAP8[$109>>0]|0;
+ $352 = $351 ^ $350;
+ HEAP8[$109>>0] = $352;
+ $353 = HEAP8[$110>>0]|0;
+ $354 = HEAP8[$111>>0]|0;
+ $355 = $354 ^ $353;
+ HEAP8[$111>>0] = $355;
+ }
+ $356 = ((($$06590)) + 16|0);
+ $357 = (($$091) + -1)|0;
+ $358 = ($357|0)==(0);
+ if ($358) {
+ break;
+ } else {
+ $$06590 = $356;$$091 = $357;
+ }
+ }
+ $359 = $3;
+ $360 = $359;
+ HEAP32[$360>>2] = 0;
+ $361 = (($359) + 4)|0;
+ $362 = $361;
+ HEAP32[$362>>2] = 0;
+ $363 = ((($3)) + 8|0);
+ $364 = $363;
+ $365 = $364;
+ HEAP32[$365>>2] = 0;
+ $366 = (($364) + 4)|0;
+ $367 = $366;
+ HEAP32[$367>>2] = 0;
+ $368 = ($295|0)==(0);
+ if ($368) {
+ STACKTOP = sp;return;
+ }
+ $369 = (($295) + 16)|0;
+ ___gcry_burn_stack($369);
+ STACKTOP = sp;return;
+}
+function _rmd160_init($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $2 = ((($0)) + 160|0);
+ HEAP32[$2>>2] = 1732584193;
+ $3 = ((($0)) + 164|0);
+ HEAP32[$3>>2] = -271733879;
+ $4 = ((($0)) + 168|0);
+ HEAP32[$4>>2] = -1732584194;
+ $5 = ((($0)) + 172|0);
+ HEAP32[$5>>2] = 271733878;
+ $6 = ((($0)) + 176|0);
+ HEAP32[$6>>2] = -1009589776;
+ $7 = ((($0)) + 128|0);
+ $8 = ((($0)) + 148|0);
+ ;HEAP32[$7>>2]=0|0;HEAP32[$7+4>>2]=0|0;HEAP32[$7+8>>2]=0|0;HEAP32[$7+12>>2]=0|0;HEAP32[$7+16>>2]=0|0;
+ HEAP32[$8>>2] = 64;
+ $9 = ((($0)) + 152|0);
+ HEAP32[$9>>2] = 76;
+ return;
+}
+function _rmd160_final($0) {
+ $0 = $0|0;
+ var $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, $116 = 0;
+ var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $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 $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0;
+ var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0;
+ var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0;
+ var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $spec$select = 0, dest = 0, label = 0, sp = 0, stop = 0;
+ sp = STACKTOP;
+ __gcry_md_block_write($0,0,0);
+ $1 = ((($0)) + 128|0);
+ $2 = $1;
+ $3 = $2;
+ $4 = HEAP32[$3>>2]|0;
+ $5 = (($2) + 4)|0;
+ $6 = $5;
+ $7 = HEAP32[$6>>2]|0;
+ $8 = $4 << 6;
+ $9 = (_bitshift64Lshr(($4|0),($7|0),26)|0);
+ $10 = tempRet0;
+ $11 = $9 & 536870848;
+ $12 = $4 >>> 26;
+ $13 = $11 | $12;
+ $14 = ((($0)) + 144|0);
+ $15 = HEAP32[$14>>2]|0;
+ $16 = (($8) + ($15))|0;
+ $17 = ($16>>>0)<($8>>>0);
+ $18 = $17&1;
+ $spec$select = (($13) + ($18))|0;
+ $19 = $16 << 3;
+ $20 = $spec$select << 3;
+ $21 = $16 >>> 29;
+ $22 = $20 | $21;
+ $23 = ($15|0)<(56);
+ $24 = (($15) + 1)|0;
+ HEAP32[$14>>2] = $24;
+ $25 = (($0) + ($15)|0);
+ HEAP8[$25>>0] = -128;
+ $26 = HEAP32[$14>>2]|0;
+ if ($23) {
+ $27 = ($26|0)<(56);
+ if ($27) {
+ $29 = $26;
+ while(1) {
+ $28 = (($29) + 1)|0;
+ HEAP32[$14>>2] = $28;
+ $30 = (($0) + ($29)|0);
+ HEAP8[$30>>0] = 0;
+ $31 = HEAP32[$14>>2]|0;
+ $32 = ($31|0)<(56);
+ if ($32) {
+ $29 = $31;
+ } else {
+ break;
+ }
+ }
+ }
+ } else {
+ $33 = ($26|0)<(64);
+ if ($33) {
+ $35 = $26;
+ while(1) {
+ $34 = (($35) + 1)|0;
+ HEAP32[$14>>2] = $34;
+ $36 = (($0) + ($35)|0);
+ HEAP8[$36>>0] = 0;
+ $37 = HEAP32[$14>>2]|0;
+ $38 = ($37|0)<(64);
+ if ($38) {
+ $35 = $37;
+ } else {
+ break;
+ }
+ }
+ }
+ __gcry_md_block_write($0,0,0);
+ dest=$0; stop=dest+56|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
+ }
+ $39 = ((($0)) + 56|0);
+ $40 = $16 >>> 21;
+ $41 = $40&255;
+ $42 = ((($0)) + 59|0);
+ HEAP8[$42>>0] = $41;
+ $43 = $16 >>> 13;
+ $44 = $43&255;
+ $45 = ((($0)) + 58|0);
+ HEAP8[$45>>0] = $44;
+ $46 = $16 >>> 5;
+ $47 = $46&255;
+ $48 = ((($0)) + 57|0);
+ HEAP8[$48>>0] = $47;
+ $49 = $19&255;
+ HEAP8[$39>>0] = $49;
+ $50 = ((($0)) + 60|0);
+ $51 = $spec$select >>> 21;
+ $52 = $51&255;
+ $53 = ((($0)) + 63|0);
+ HEAP8[$53>>0] = $52;
+ $54 = $spec$select >>> 13;
+ $55 = $54&255;
+ $56 = ((($0)) + 62|0);
+ HEAP8[$56>>0] = $55;
+ $57 = $spec$select >>> 5;
+ $58 = $57&255;
+ $59 = ((($0)) + 61|0);
+ HEAP8[$59>>0] = $58;
+ $60 = $22&255;
+ HEAP8[$50>>0] = $60;
+ (_transform($0,$0,1)|0);
+ ___gcry_burn_stack(124);
+ $61 = ((($0)) + 160|0);
+ $62 = HEAP32[$61>>2]|0;
+ $63 = $62 >>> 24;
+ $64 = $63&255;
+ $65 = ((($0)) + 3|0);
+ HEAP8[$65>>0] = $64;
+ $66 = $62 >>> 16;
+ $67 = $66&255;
+ $68 = ((($0)) + 2|0);
+ HEAP8[$68>>0] = $67;
+ $69 = $62 >>> 8;
+ $70 = $69&255;
+ $71 = ((($0)) + 1|0);
+ HEAP8[$71>>0] = $70;
+ $72 = $62&255;
+ HEAP8[$0>>0] = $72;
+ $73 = ((($0)) + 4|0);
+ $74 = ((($0)) + 164|0);
+ $75 = HEAP32[$74>>2]|0;
+ $76 = $75 >>> 24;
+ $77 = $76&255;
+ $78 = ((($0)) + 7|0);
+ HEAP8[$78>>0] = $77;
+ $79 = $75 >>> 16;
+ $80 = $79&255;
+ $81 = ((($0)) + 6|0);
+ HEAP8[$81>>0] = $80;
+ $82 = $75 >>> 8;
+ $83 = $82&255;
+ $84 = ((($0)) + 5|0);
+ HEAP8[$84>>0] = $83;
+ $85 = $75&255;
+ HEAP8[$73>>0] = $85;
+ $86 = ((($0)) + 8|0);
+ $87 = ((($0)) + 168|0);
+ $88 = HEAP32[$87>>2]|0;
+ $89 = $88 >>> 24;
+ $90 = $89&255;
+ $91 = ((($0)) + 11|0);
+ HEAP8[$91>>0] = $90;
+ $92 = $88 >>> 16;
+ $93 = $92&255;
+ $94 = ((($0)) + 10|0);
+ HEAP8[$94>>0] = $93;
+ $95 = $88 >>> 8;
+ $96 = $95&255;
+ $97 = ((($0)) + 9|0);
+ HEAP8[$97>>0] = $96;
+ $98 = $88&255;
+ HEAP8[$86>>0] = $98;
+ $99 = ((($0)) + 12|0);
+ $100 = ((($0)) + 172|0);
+ $101 = HEAP32[$100>>2]|0;
+ $102 = $101 >>> 24;
+ $103 = $102&255;
+ $104 = ((($0)) + 15|0);
+ HEAP8[$104>>0] = $103;
+ $105 = $101 >>> 16;
+ $106 = $105&255;
+ $107 = ((($0)) + 14|0);
+ HEAP8[$107>>0] = $106;
+ $108 = $101 >>> 8;
+ $109 = $108&255;
+ $110 = ((($0)) + 13|0);
+ HEAP8[$110>>0] = $109;
+ $111 = $101&255;
+ HEAP8[$99>>0] = $111;
+ $112 = ((($0)) + 16|0);
+ $113 = ((($0)) + 176|0);
+ $114 = HEAP32[$113>>2]|0;
+ $115 = $114 >>> 24;
+ $116 = $115&255;
+ $117 = ((($0)) + 19|0);
+ HEAP8[$117>>0] = $116;
+ $118 = $114 >>> 16;
+ $119 = $118&255;
+ $120 = ((($0)) + 18|0);
+ HEAP8[$120>>0] = $119;
+ $121 = $114 >>> 8;
+ $122 = $121&255;
+ $123 = ((($0)) + 17|0);
+ HEAP8[$123>>0] = $122;
+ $124 = $114&255;
+ HEAP8[$112>>0] = $124;
+ return;
+}
+function _rmd160_read($0) {
+ $0 = $0|0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ return ($0|0);
+}
+function _transform($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$0 = 0, $$05 = 0, $10 = 0, $100 = 0, $1000 = 0, $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;
+ var $1015 = 0, $1016 = 0, $1017 = 0, $1018 = 0, $1019 = 0, $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;
+ var $1033 = 0, $1034 = 0, $1035 = 0, $1036 = 0, $1037 = 0, $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;
+ 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, $1071 = 0, $1072 = 0, $1073 = 0, $1074 = 0, $1075 = 0, $1076 = 0, $1077 = 0, $1078 = 0, $1079 = 0, $108 = 0, $1080 = 0, $1081 = 0, $1082 = 0, $1083 = 0, $1084 = 0, $1085 = 0, $1086 = 0, $1087 = 0;
+ var $1088 = 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, $1100 = 0, $1101 = 0, $1102 = 0, $1103 = 0, $1104 = 0;
+ var $1105 = 0, $1106 = 0, $1107 = 0, $1108 = 0, $1109 = 0, $111 = 0, $1110 = 0, $1111 = 0, $1112 = 0, $1113 = 0, $1114 = 0, $1115 = 0, $1116 = 0, $1117 = 0, $1118 = 0, $1119 = 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, $1133 = 0, $1134 = 0, $1135 = 0, $1136 = 0, $1137 = 0, $1138 = 0, $1139 = 0, $114 = 0, $1140 = 0;
+ var $1141 = 0, $1142 = 0, $1143 = 0, $1144 = 0, $1145 = 0, $1146 = 0, $1147 = 0, $1148 = 0, $1149 = 0, $115 = 0, $1150 = 0, $1151 = 0, $1152 = 0, $1153 = 0, $1154 = 0, $1155 = 0, $1156 = 0, $1157 = 0, $1158 = 0, $1159 = 0;
+ var $116 = 0, $1160 = 0, $1161 = 0, $1162 = 0, $1163 = 0, $1164 = 0, $1165 = 0, $1166 = 0, $1167 = 0, $1168 = 0, $1169 = 0, $117 = 0, $1170 = 0, $1171 = 0, $1172 = 0, $1173 = 0, $1174 = 0, $1175 = 0, $1176 = 0, $1177 = 0;
+ var $1178 = 0, $1179 = 0, $118 = 0, $1180 = 0, $1181 = 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, $1195 = 0;
+ var $1196 = 0, $1197 = 0, $1198 = 0, $1199 = 0, $12 = 0, $120 = 0, $1200 = 0, $1201 = 0, $1202 = 0, $1203 = 0, $1204 = 0, $1205 = 0, $1206 = 0, $1207 = 0, $1208 = 0, $1209 = 0, $121 = 0, $1210 = 0, $1211 = 0, $1212 = 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, $1226 = 0, $1227 = 0, $1228 = 0, $1229 = 0, $123 = 0, $1230 = 0;
+ var $1231 = 0, $1232 = 0, $1233 = 0, $1234 = 0, $1235 = 0, $1236 = 0, $1237 = 0, $1238 = 0, $1239 = 0, $124 = 0, $1240 = 0, $1241 = 0, $1242 = 0, $1243 = 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, $1277 = 0, $1278 = 0, $1279 = 0, $128 = 0, $1280 = 0, $1281 = 0, $1282 = 0, $1283 = 0, $1284 = 0, $1285 = 0;
+ var $1286 = 0, $1287 = 0, $1288 = 0, $1289 = 0, $129 = 0, $1290 = 0, $1291 = 0, $1292 = 0, $1293 = 0, $1294 = 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, $1308 = 0, $1309 = 0, $131 = 0, $1310 = 0, $1311 = 0, $1312 = 0, $1313 = 0, $1314 = 0, $1315 = 0, $1316 = 0, $1317 = 0, $1318 = 0, $1319 = 0, $132 = 0, $1320 = 0;
+ var $1321 = 0, $1322 = 0, $1323 = 0, $1324 = 0, $1325 = 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, $1339 = 0;
+ var $134 = 0, $1340 = 0, $1341 = 0, $1342 = 0, $1343 = 0, $1344 = 0, $1345 = 0, $1346 = 0, $1347 = 0, $1348 = 0, $1349 = 0, $135 = 0, $1350 = 0, $1351 = 0, $1352 = 0, $1353 = 0, $1354 = 0, $1355 = 0, $1356 = 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, $137 = 0, $1370 = 0, $1371 = 0, $1372 = 0, $1373 = 0, $1374 = 0, $1375 = 0;
+ var $1376 = 0, $1377 = 0, $1378 = 0, $1379 = 0, $138 = 0, $1380 = 0, $1381 = 0, $1382 = 0, $1383 = 0, $1384 = 0, $1385 = 0, $1386 = 0, $1387 = 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, $1401 = 0, $1402 = 0, $1403 = 0, $1404 = 0, $1405 = 0, $1406 = 0, $1407 = 0, $1408 = 0, $1409 = 0, $141 = 0, $1410 = 0;
+ var $1411 = 0, $1412 = 0, $1413 = 0, $1414 = 0, $1415 = 0, $1416 = 0, $1417 = 0, $1418 = 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, $1432 = 0, $1433 = 0, $1434 = 0, $1435 = 0, $1436 = 0, $1437 = 0, $1438 = 0, $1439 = 0, $144 = 0, $1440 = 0, $1441 = 0, $1442 = 0, $1443 = 0, $1444 = 0, $1445 = 0, $1446 = 0, $1447 = 0;
+ var $1448 = 0, $1449 = 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, $1463 = 0, $1464 = 0, $1465 = 0;
+ var $1466 = 0, $1467 = 0, $1468 = 0, $1469 = 0, $147 = 0, $1470 = 0, $1471 = 0, $1472 = 0, $1473 = 0, $1474 = 0, $1475 = 0, $1476 = 0, $1477 = 0, $1478 = 0, $1479 = 0, $148 = 0, $1480 = 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, $1494 = 0, $1495 = 0, $1496 = 0, $1497 = 0, $1498 = 0, $1499 = 0, $15 = 0, $150 = 0, $1500 = 0;
+ var $1501 = 0, $1502 = 0, $1503 = 0, $1504 = 0, $1505 = 0, $1506 = 0, $1507 = 0, $1508 = 0, $1509 = 0, $151 = 0, $1510 = 0, $1511 = 0, $1512 = 0, $1513 = 0, $1514 = 0, $1515 = 0, $1516 = 0, $1517 = 0, $1518 = 0, $1519 = 0;
+ var $152 = 0, $1520 = 0, $1521 = 0, $1522 = 0, $1523 = 0, $1524 = 0, $1525 = 0, $1526 = 0, $1527 = 0, $1528 = 0, $1529 = 0, $153 = 0, $1530 = 0, $1531 = 0, $1532 = 0, $1533 = 0, $1534 = 0, $1535 = 0, $1536 = 0, $1537 = 0;
+ var $1538 = 0, $1539 = 0, $154 = 0, $1540 = 0, $1541 = 0, $1542 = 0, $1543 = 0, $1544 = 0, $1545 = 0, $1546 = 0, $1547 = 0, $1548 = 0, $1549 = 0, $155 = 0, $1550 = 0, $1551 = 0, $1552 = 0, $1553 = 0, $1554 = 0, $1555 = 0;
+ var $1556 = 0, $1557 = 0, $1558 = 0, $1559 = 0, $156 = 0, $1560 = 0, $1561 = 0, $1562 = 0, $1563 = 0, $1564 = 0, $1565 = 0, $1566 = 0, $1567 = 0, $1568 = 0, $1569 = 0, $157 = 0, $1570 = 0, $1571 = 0, $1572 = 0, $1573 = 0;
+ var $1574 = 0, $1575 = 0, $1576 = 0, $1577 = 0, $1578 = 0, $1579 = 0, $158 = 0, $1580 = 0, $1581 = 0, $1582 = 0, $1583 = 0, $1584 = 0, $1585 = 0, $1586 = 0, $1587 = 0, $1588 = 0, $1589 = 0, $159 = 0, $1590 = 0, $1591 = 0;
+ var $1592 = 0, $1593 = 0, $1594 = 0, $1595 = 0, $1596 = 0, $1597 = 0, $1598 = 0, $1599 = 0, $16 = 0, $160 = 0, $1600 = 0, $1601 = 0, $1602 = 0, $1603 = 0, $1604 = 0, $1605 = 0, $1606 = 0, $1607 = 0, $1608 = 0, $1609 = 0;
+ var $161 = 0, $1610 = 0, $1611 = 0, $1612 = 0, $1613 = 0, $1614 = 0, $1615 = 0, $1616 = 0, $1617 = 0, $1618 = 0, $1619 = 0, $162 = 0, $1620 = 0, $1621 = 0, $1622 = 0, $1623 = 0, $1624 = 0, $1625 = 0, $1626 = 0, $1627 = 0;
+ var $1628 = 0, $1629 = 0, $163 = 0, $1630 = 0, $1631 = 0, $1632 = 0, $1633 = 0, $1634 = 0, $1635 = 0, $1636 = 0, $1637 = 0, $1638 = 0, $1639 = 0, $164 = 0, $1640 = 0, $1641 = 0, $1642 = 0, $1643 = 0, $1644 = 0, $1645 = 0;
+ var $1646 = 0, $1647 = 0, $1648 = 0, $1649 = 0, $165 = 0, $1650 = 0, $1651 = 0, $1652 = 0, $1653 = 0, $1654 = 0, $1655 = 0, $1656 = 0, $1657 = 0, $1658 = 0, $1659 = 0, $166 = 0, $1660 = 0, $1661 = 0, $1662 = 0, $1663 = 0;
+ var $1664 = 0, $1665 = 0, $1666 = 0, $1667 = 0, $1668 = 0, $1669 = 0, $167 = 0, $1670 = 0, $1671 = 0, $1672 = 0, $1673 = 0, $1674 = 0, $1675 = 0, $1676 = 0, $1677 = 0, $1678 = 0, $1679 = 0, $168 = 0, $1680 = 0, $1681 = 0;
+ var $1682 = 0, $1683 = 0, $1684 = 0, $1685 = 0, $1686 = 0, $1687 = 0, $1688 = 0, $1689 = 0, $169 = 0, $1690 = 0, $1691 = 0, $1692 = 0, $1693 = 0, $1694 = 0, $1695 = 0, $1696 = 0, $1697 = 0, $1698 = 0, $1699 = 0, $17 = 0;
+ var $170 = 0, $1700 = 0, $1701 = 0, $1702 = 0, $1703 = 0, $1704 = 0, $1705 = 0, $1706 = 0, $1707 = 0, $1708 = 0, $1709 = 0, $171 = 0, $1710 = 0, $1711 = 0, $1712 = 0, $1713 = 0, $1714 = 0, $1715 = 0, $1716 = 0, $1717 = 0;
+ var $1718 = 0, $1719 = 0, $172 = 0, $1720 = 0, $1721 = 0, $1722 = 0, $1723 = 0, $1724 = 0, $1725 = 0, $1726 = 0, $1727 = 0, $1728 = 0, $1729 = 0, $173 = 0, $1730 = 0, $1731 = 0, $1732 = 0, $1733 = 0, $1734 = 0, $1735 = 0;
+ var $1736 = 0, $1737 = 0, $1738 = 0, $1739 = 0, $174 = 0, $1740 = 0, $1741 = 0, $1742 = 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, $1760 = 0, $1761 = 0, $1762 = 0, $1763 = 0, $1764 = 0, $1765 = 0, $1766 = 0, $1767 = 0, $1768 = 0, $1769 = 0, $177 = 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;
+ 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, $1802 = 0, $1803 = 0, $1804 = 0, $1805 = 0, $1806 = 0, $1807 = 0;
+ var $1808 = 0, $1809 = 0, $181 = 0, $1810 = 0, $1811 = 0, $1812 = 0, $1813 = 0, $1814 = 0, $1815 = 0, $1816 = 0, $1817 = 0, $1818 = 0, $1819 = 0, $182 = 0, $1820 = 0, $1821 = 0, $1822 = 0, $1823 = 0, $1824 = 0, $1825 = 0;
+ var $1826 = 0, $1827 = 0, $1828 = 0, $1829 = 0, $183 = 0, $1830 = 0, $1831 = 0, $1832 = 0, $1833 = 0, $1834 = 0, $1835 = 0, $1836 = 0, $1837 = 0, $1838 = 0, $1839 = 0, $184 = 0, $1840 = 0, $1841 = 0, $1842 = 0, $1843 = 0;
+ var $1844 = 0, $1845 = 0, $1846 = 0, $1847 = 0, $1848 = 0, $1849 = 0, $185 = 0, $1850 = 0, $1851 = 0, $1852 = 0, $1853 = 0, $1854 = 0, $1855 = 0, $1856 = 0, $1857 = 0, $1858 = 0, $1859 = 0, $186 = 0, $1860 = 0, $1861 = 0;
+ var $1862 = 0, $1863 = 0, $1864 = 0, $1865 = 0, $1866 = 0, $1867 = 0, $1868 = 0, $1869 = 0, $187 = 0, $1870 = 0, $1871 = 0, $1872 = 0, $1873 = 0, $1874 = 0, $1875 = 0, $1876 = 0, $1877 = 0, $1878 = 0, $1879 = 0, $188 = 0;
+ var $1880 = 0, $1881 = 0, $1882 = 0, $1883 = 0, $1884 = 0, $1885 = 0, $1886 = 0, $1887 = 0, $1888 = 0, $1889 = 0, $189 = 0, $1890 = 0, $1891 = 0, $1892 = 0, $1893 = 0, $1894 = 0, $1895 = 0, $1896 = 0, $1897 = 0, $1898 = 0;
+ var $1899 = 0, $19 = 0, $190 = 0, $1900 = 0, $1901 = 0, $1902 = 0, $1903 = 0, $1904 = 0, $1905 = 0, $1906 = 0, $1907 = 0, $1908 = 0, $1909 = 0, $191 = 0, $1910 = 0, $1911 = 0, $1912 = 0, $1913 = 0, $1914 = 0, $1915 = 0;
+ var $1916 = 0, $1917 = 0, $1918 = 0, $1919 = 0, $192 = 0, $1920 = 0, $1921 = 0, $1922 = 0, $1923 = 0, $1924 = 0, $1925 = 0, $1926 = 0, $1927 = 0, $1928 = 0, $1929 = 0, $193 = 0, $1930 = 0, $1931 = 0, $1932 = 0, $1933 = 0;
+ var $1934 = 0, $1935 = 0, $1936 = 0, $1937 = 0, $1938 = 0, $1939 = 0, $194 = 0, $1940 = 0, $1941 = 0, $1942 = 0, $1943 = 0, $1944 = 0, $1945 = 0, $1946 = 0, $1947 = 0, $1948 = 0, $1949 = 0, $195 = 0, $1950 = 0, $1951 = 0;
+ var $1952 = 0, $1953 = 0, $1954 = 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;
+ var $1970 = 0, $1971 = 0, $1972 = 0, $1973 = 0, $1974 = 0, $1975 = 0, $1976 = 0, $1977 = 0, $1978 = 0, $1979 = 0, $198 = 0, $1980 = 0, $1981 = 0, $1982 = 0, $1983 = 0, $1984 = 0, $1985 = 0, $1986 = 0, $1987 = 0, $1988 = 0;
+ var $1989 = 0, $199 = 0, $1990 = 0, $1991 = 0, $1992 = 0, $1993 = 0, $1994 = 0, $1995 = 0, $1996 = 0, $1997 = 0, $1998 = 0, $1999 = 0, $20 = 0, $200 = 0, $2000 = 0, $2001 = 0, $2002 = 0, $2003 = 0, $2004 = 0, $2005 = 0;
+ var $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, $2020 = 0, $2021 = 0, $2022 = 0, $2023 = 0;
+ var $2024 = 0, $2025 = 0, $2026 = 0, $2027 = 0, $2028 = 0, $2029 = 0, $203 = 0, $2030 = 0, $2031 = 0, $2032 = 0, $2033 = 0, $2034 = 0, $2035 = 0, $2036 = 0, $2037 = 0, $2038 = 0, $2039 = 0, $204 = 0, $2040 = 0, $2041 = 0;
+ var $2042 = 0, $2043 = 0, $2044 = 0, $2045 = 0, $2046 = 0, $2047 = 0, $2048 = 0, $2049 = 0, $205 = 0, $2050 = 0, $2051 = 0, $2052 = 0, $2053 = 0, $2054 = 0, $2055 = 0, $2056 = 0, $2057 = 0, $2058 = 0, $2059 = 0, $206 = 0;
+ var $2060 = 0, $2061 = 0, $2062 = 0, $2063 = 0, $2064 = 0, $2065 = 0, $2066 = 0, $2067 = 0, $2068 = 0, $2069 = 0, $207 = 0, $2070 = 0, $2071 = 0, $2072 = 0, $2073 = 0, $2074 = 0, $2075 = 0, $2076 = 0, $2077 = 0, $2078 = 0;
+ var $2079 = 0, $208 = 0, $2080 = 0, $2081 = 0, $2082 = 0, $2083 = 0, $2084 = 0, $2085 = 0, $2086 = 0, $2087 = 0, $2088 = 0, $2089 = 0, $209 = 0, $2090 = 0, $2091 = 0, $2092 = 0, $2093 = 0, $2094 = 0, $2095 = 0, $2096 = 0;
+ var $2097 = 0, $2098 = 0, $2099 = 0, $21 = 0, $210 = 0, $2100 = 0, $2101 = 0, $2102 = 0, $2103 = 0, $2104 = 0, $2105 = 0, $2106 = 0, $2107 = 0, $2108 = 0, $2109 = 0, $211 = 0, $2110 = 0, $2111 = 0, $2112 = 0, $2113 = 0;
+ var $2114 = 0, $2115 = 0, $2116 = 0, $2117 = 0, $2118 = 0, $2119 = 0, $212 = 0, $2120 = 0, $2121 = 0, $2122 = 0, $2123 = 0, $2124 = 0, $2125 = 0, $2126 = 0, $2127 = 0, $2128 = 0, $2129 = 0, $213 = 0, $2130 = 0, $2131 = 0;
+ var $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, $2145 = 0, $2146 = 0, $2147 = 0, $2148 = 0, $2149 = 0, $215 = 0;
+ var $2150 = 0, $2151 = 0, $2152 = 0, $2153 = 0, $2154 = 0, $2155 = 0, $2156 = 0, $2157 = 0, $2158 = 0, $2159 = 0, $216 = 0, $2160 = 0, $2161 = 0, $2162 = 0, $2163 = 0, $2164 = 0, $2165 = 0, $2166 = 0, $2167 = 0, $2168 = 0;
+ var $2169 = 0, $217 = 0, $2170 = 0, $2171 = 0, $2172 = 0, $2173 = 0, $2174 = 0, $2175 = 0, $2176 = 0, $2177 = 0, $2178 = 0, $2179 = 0, $218 = 0, $2180 = 0, $2181 = 0, $2182 = 0, $2183 = 0, $2184 = 0, $2185 = 0, $2186 = 0;
+ var $2187 = 0, $2188 = 0, $2189 = 0, $219 = 0, $2190 = 0, $2191 = 0, $2192 = 0, $2193 = 0, $2194 = 0, $2195 = 0, $2196 = 0, $2197 = 0, $2198 = 0, $2199 = 0, $22 = 0, $220 = 0, $2200 = 0, $2201 = 0, $2202 = 0, $2203 = 0;
+ var $2204 = 0, $2205 = 0, $2206 = 0, $2207 = 0, $2208 = 0, $2209 = 0, $221 = 0, $2210 = 0, $2211 = 0, $2212 = 0, $2213 = 0, $2214 = 0, $2215 = 0, $2216 = 0, $2217 = 0, $2218 = 0, $2219 = 0, $222 = 0, $2220 = 0, $2221 = 0;
+ var $2222 = 0, $2223 = 0, $2224 = 0, $2225 = 0, $2226 = 0, $2227 = 0, $2228 = 0, $2229 = 0, $223 = 0, $2230 = 0, $2231 = 0, $2232 = 0, $2233 = 0, $2234 = 0, $2235 = 0, $2236 = 0, $2237 = 0, $2238 = 0, $2239 = 0, $224 = 0;
+ var $2240 = 0, $2241 = 0, $2242 = 0, $2243 = 0, $2244 = 0, $2245 = 0, $2246 = 0, $2247 = 0, $2248 = 0, $2249 = 0, $225 = 0, $2250 = 0, $2251 = 0, $2252 = 0, $2253 = 0, $2254 = 0, $2255 = 0, $2256 = 0, $2257 = 0, $2258 = 0;
+ var $2259 = 0, $226 = 0, $2260 = 0, $2261 = 0, $2262 = 0, $2263 = 0, $2264 = 0, $2265 = 0, $2266 = 0, $2267 = 0, $2268 = 0, $2269 = 0, $227 = 0, $2270 = 0, $2271 = 0, $2272 = 0, $2273 = 0, $2274 = 0, $2275 = 0, $2276 = 0;
+ var $2277 = 0, $2278 = 0, $2279 = 0, $228 = 0, $2280 = 0, $2281 = 0, $2282 = 0, $2283 = 0, $2284 = 0, $2285 = 0, $2286 = 0, $2287 = 0, $2288 = 0, $2289 = 0, $229 = 0, $2290 = 0, $2291 = 0, $2292 = 0, $2293 = 0, $2294 = 0;
+ var $2295 = 0, $2296 = 0, $2297 = 0, $2298 = 0, $2299 = 0, $23 = 0, $230 = 0, $2300 = 0, $2301 = 0, $2302 = 0, $2303 = 0, $2304 = 0, $2305 = 0, $2306 = 0, $2307 = 0, $2308 = 0, $2309 = 0, $231 = 0, $2310 = 0, $2311 = 0;
+ var $2312 = 0, $2313 = 0, $2314 = 0, $2315 = 0, $2316 = 0, $2317 = 0, $2318 = 0, $2319 = 0, $232 = 0, $2320 = 0, $2321 = 0, $2322 = 0, $2323 = 0, $2324 = 0, $2325 = 0, $2326 = 0, $2327 = 0, $2328 = 0, $2329 = 0, $233 = 0;
+ var $2330 = 0, $2331 = 0, $2332 = 0, $2333 = 0, $2334 = 0, $2335 = 0, $2336 = 0, $2337 = 0, $2338 = 0, $2339 = 0, $234 = 0, $2340 = 0, $2341 = 0, $2342 = 0, $2343 = 0, $2344 = 0, $2345 = 0, $2346 = 0, $2347 = 0, $2348 = 0;
+ var $2349 = 0, $235 = 0, $2350 = 0, $2351 = 0, $2352 = 0, $2353 = 0, $2354 = 0, $2355 = 0, $2356 = 0, $2357 = 0, $2358 = 0, $2359 = 0, $236 = 0, $2360 = 0, $2361 = 0, $2362 = 0, $2363 = 0, $2364 = 0, $2365 = 0, $2366 = 0;
+ var $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, $2384 = 0;
+ var $2385 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0;
+ var $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0;
+ var $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0;
+ var $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0;
+ var $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0;
+ var $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0;
+ var $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0;
+ var $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0;
+ var $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0;
+ var $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0;
+ var $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0;
+ var $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0;
+ var $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0;
+ var $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0;
+ var $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0;
+ var $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0;
+ var $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0;
+ var $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0;
+ var $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0;
+ var $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0;
+ var $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0;
+ var $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0;
+ var $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0;
+ var $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0;
+ var $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0;
+ var $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0;
+ var $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0;
+ var $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0;
+ var $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0;
+ var $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0;
+ var $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0;
+ var $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0;
+ var $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0;
+ var $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0;
+ var $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0;
+ var $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0;
+ var $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0;
+ var $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0;
+ var $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0;
+ var $940 = 0, $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0;
+ var $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $967 = 0, $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0;
+ var $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0;
+ var $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $3 = ((($0)) + 160|0);
+ $4 = ((($0)) + 164|0);
+ $5 = ((($0)) + 168|0);
+ $6 = ((($0)) + 172|0);
+ $7 = ((($0)) + 176|0);
+ $$0 = $1;$$05 = $2;
+ while(1) {
+ $8 = ((($$0)) + 3|0);
+ $9 = HEAP8[$8>>0]|0;
+ $10 = $9&255;
+ $11 = $10 << 24;
+ $12 = ((($$0)) + 2|0);
+ $13 = HEAP8[$12>>0]|0;
+ $14 = $13&255;
+ $15 = $14 << 16;
+ $16 = $15 | $11;
+ $17 = ((($$0)) + 1|0);
+ $18 = HEAP8[$17>>0]|0;
+ $19 = $18&255;
+ $20 = $19 << 8;
+ $21 = $16 | $20;
+ $22 = HEAP8[$$0>>0]|0;
+ $23 = $22&255;
+ $24 = $21 | $23;
+ $25 = ((($$0)) + 4|0);
+ $26 = ((($$0)) + 7|0);
+ $27 = HEAP8[$26>>0]|0;
+ $28 = $27&255;
+ $29 = $28 << 24;
+ $30 = ((($$0)) + 6|0);
+ $31 = HEAP8[$30>>0]|0;
+ $32 = $31&255;
+ $33 = $32 << 16;
+ $34 = $33 | $29;
+ $35 = ((($$0)) + 5|0);
+ $36 = HEAP8[$35>>0]|0;
+ $37 = $36&255;
+ $38 = $37 << 8;
+ $39 = $34 | $38;
+ $40 = HEAP8[$25>>0]|0;
+ $41 = $40&255;
+ $42 = $39 | $41;
+ $43 = ((($$0)) + 8|0);
+ $44 = ((($$0)) + 11|0);
+ $45 = HEAP8[$44>>0]|0;
+ $46 = $45&255;
+ $47 = $46 << 24;
+ $48 = ((($$0)) + 10|0);
+ $49 = HEAP8[$48>>0]|0;
+ $50 = $49&255;
+ $51 = $50 << 16;
+ $52 = $51 | $47;
+ $53 = ((($$0)) + 9|0);
+ $54 = HEAP8[$53>>0]|0;
+ $55 = $54&255;
+ $56 = $55 << 8;
+ $57 = $52 | $56;
+ $58 = HEAP8[$43>>0]|0;
+ $59 = $58&255;
+ $60 = $57 | $59;
+ $61 = ((($$0)) + 12|0);
+ $62 = ((($$0)) + 15|0);
+ $63 = HEAP8[$62>>0]|0;
+ $64 = $63&255;
+ $65 = $64 << 24;
+ $66 = ((($$0)) + 14|0);
+ $67 = HEAP8[$66>>0]|0;
+ $68 = $67&255;
+ $69 = $68 << 16;
+ $70 = $69 | $65;
+ $71 = ((($$0)) + 13|0);
+ $72 = HEAP8[$71>>0]|0;
+ $73 = $72&255;
+ $74 = $73 << 8;
+ $75 = $70 | $74;
+ $76 = HEAP8[$61>>0]|0;
+ $77 = $76&255;
+ $78 = $75 | $77;
+ $79 = ((($$0)) + 16|0);
+ $80 = ((($$0)) + 19|0);
+ $81 = HEAP8[$80>>0]|0;
+ $82 = $81&255;
+ $83 = $82 << 24;
+ $84 = ((($$0)) + 18|0);
+ $85 = HEAP8[$84>>0]|0;
+ $86 = $85&255;
+ $87 = $86 << 16;
+ $88 = $87 | $83;
+ $89 = ((($$0)) + 17|0);
+ $90 = HEAP8[$89>>0]|0;
+ $91 = $90&255;
+ $92 = $91 << 8;
+ $93 = $88 | $92;
+ $94 = HEAP8[$79>>0]|0;
+ $95 = $94&255;
+ $96 = $93 | $95;
+ $97 = ((($$0)) + 20|0);
+ $98 = ((($$0)) + 23|0);
+ $99 = HEAP8[$98>>0]|0;
+ $100 = $99&255;
+ $101 = $100 << 24;
+ $102 = ((($$0)) + 22|0);
+ $103 = HEAP8[$102>>0]|0;
+ $104 = $103&255;
+ $105 = $104 << 16;
+ $106 = $105 | $101;
+ $107 = ((($$0)) + 21|0);
+ $108 = HEAP8[$107>>0]|0;
+ $109 = $108&255;
+ $110 = $109 << 8;
+ $111 = $106 | $110;
+ $112 = HEAP8[$97>>0]|0;
+ $113 = $112&255;
+ $114 = $111 | $113;
+ $115 = ((($$0)) + 24|0);
+ $116 = ((($$0)) + 27|0);
+ $117 = HEAP8[$116>>0]|0;
+ $118 = $117&255;
+ $119 = $118 << 24;
+ $120 = ((($$0)) + 26|0);
+ $121 = HEAP8[$120>>0]|0;
+ $122 = $121&255;
+ $123 = $122 << 16;
+ $124 = $123 | $119;
+ $125 = ((($$0)) + 25|0);
+ $126 = HEAP8[$125>>0]|0;
+ $127 = $126&255;
+ $128 = $127 << 8;
+ $129 = $124 | $128;
+ $130 = HEAP8[$115>>0]|0;
+ $131 = $130&255;
+ $132 = $129 | $131;
+ $133 = ((($$0)) + 28|0);
+ $134 = ((($$0)) + 31|0);
+ $135 = HEAP8[$134>>0]|0;
+ $136 = $135&255;
+ $137 = $136 << 24;
+ $138 = ((($$0)) + 30|0);
+ $139 = HEAP8[$138>>0]|0;
+ $140 = $139&255;
+ $141 = $140 << 16;
+ $142 = $141 | $137;
+ $143 = ((($$0)) + 29|0);
+ $144 = HEAP8[$143>>0]|0;
+ $145 = $144&255;
+ $146 = $145 << 8;
+ $147 = $142 | $146;
+ $148 = HEAP8[$133>>0]|0;
+ $149 = $148&255;
+ $150 = $147 | $149;
+ $151 = ((($$0)) + 32|0);
+ $152 = ((($$0)) + 35|0);
+ $153 = HEAP8[$152>>0]|0;
+ $154 = $153&255;
+ $155 = $154 << 24;
+ $156 = ((($$0)) + 34|0);
+ $157 = HEAP8[$156>>0]|0;
+ $158 = $157&255;
+ $159 = $158 << 16;
+ $160 = $159 | $155;
+ $161 = ((($$0)) + 33|0);
+ $162 = HEAP8[$161>>0]|0;
+ $163 = $162&255;
+ $164 = $163 << 8;
+ $165 = $160 | $164;
+ $166 = HEAP8[$151>>0]|0;
+ $167 = $166&255;
+ $168 = $165 | $167;
+ $169 = ((($$0)) + 36|0);
+ $170 = ((($$0)) + 39|0);
+ $171 = HEAP8[$170>>0]|0;
+ $172 = $171&255;
+ $173 = $172 << 24;
+ $174 = ((($$0)) + 38|0);
+ $175 = HEAP8[$174>>0]|0;
+ $176 = $175&255;
+ $177 = $176 << 16;
+ $178 = $177 | $173;
+ $179 = ((($$0)) + 37|0);
+ $180 = HEAP8[$179>>0]|0;
+ $181 = $180&255;
+ $182 = $181 << 8;
+ $183 = $178 | $182;
+ $184 = HEAP8[$169>>0]|0;
+ $185 = $184&255;
+ $186 = $183 | $185;
+ $187 = ((($$0)) + 40|0);
+ $188 = ((($$0)) + 43|0);
+ $189 = HEAP8[$188>>0]|0;
+ $190 = $189&255;
+ $191 = $190 << 24;
+ $192 = ((($$0)) + 42|0);
+ $193 = HEAP8[$192>>0]|0;
+ $194 = $193&255;
+ $195 = $194 << 16;
+ $196 = $195 | $191;
+ $197 = ((($$0)) + 41|0);
+ $198 = HEAP8[$197>>0]|0;
+ $199 = $198&255;
+ $200 = $199 << 8;
+ $201 = $196 | $200;
+ $202 = HEAP8[$187>>0]|0;
+ $203 = $202&255;
+ $204 = $201 | $203;
+ $205 = ((($$0)) + 44|0);
+ $206 = ((($$0)) + 47|0);
+ $207 = HEAP8[$206>>0]|0;
+ $208 = $207&255;
+ $209 = $208 << 24;
+ $210 = ((($$0)) + 46|0);
+ $211 = HEAP8[$210>>0]|0;
+ $212 = $211&255;
+ $213 = $212 << 16;
+ $214 = $213 | $209;
+ $215 = ((($$0)) + 45|0);
+ $216 = HEAP8[$215>>0]|0;
+ $217 = $216&255;
+ $218 = $217 << 8;
+ $219 = $214 | $218;
+ $220 = HEAP8[$205>>0]|0;
+ $221 = $220&255;
+ $222 = $219 | $221;
+ $223 = ((($$0)) + 48|0);
+ $224 = ((($$0)) + 51|0);
+ $225 = HEAP8[$224>>0]|0;
+ $226 = $225&255;
+ $227 = $226 << 24;
+ $228 = ((($$0)) + 50|0);
+ $229 = HEAP8[$228>>0]|0;
+ $230 = $229&255;
+ $231 = $230 << 16;
+ $232 = $231 | $227;
+ $233 = ((($$0)) + 49|0);
+ $234 = HEAP8[$233>>0]|0;
+ $235 = $234&255;
+ $236 = $235 << 8;
+ $237 = $232 | $236;
+ $238 = HEAP8[$223>>0]|0;
+ $239 = $238&255;
+ $240 = $237 | $239;
+ $241 = ((($$0)) + 52|0);
+ $242 = ((($$0)) + 55|0);
+ $243 = HEAP8[$242>>0]|0;
+ $244 = $243&255;
+ $245 = $244 << 24;
+ $246 = ((($$0)) + 54|0);
+ $247 = HEAP8[$246>>0]|0;
+ $248 = $247&255;
+ $249 = $248 << 16;
+ $250 = $249 | $245;
+ $251 = ((($$0)) + 53|0);
+ $252 = HEAP8[$251>>0]|0;
+ $253 = $252&255;
+ $254 = $253 << 8;
+ $255 = $250 | $254;
+ $256 = HEAP8[$241>>0]|0;
+ $257 = $256&255;
+ $258 = $255 | $257;
+ $259 = ((($$0)) + 56|0);
+ $260 = ((($$0)) + 59|0);
+ $261 = HEAP8[$260>>0]|0;
+ $262 = $261&255;
+ $263 = $262 << 24;
+ $264 = ((($$0)) + 58|0);
+ $265 = HEAP8[$264>>0]|0;
+ $266 = $265&255;
+ $267 = $266 << 16;
+ $268 = $267 | $263;
+ $269 = ((($$0)) + 57|0);
+ $270 = HEAP8[$269>>0]|0;
+ $271 = $270&255;
+ $272 = $271 << 8;
+ $273 = $268 | $272;
+ $274 = HEAP8[$259>>0]|0;
+ $275 = $274&255;
+ $276 = $273 | $275;
+ $277 = ((($$0)) + 60|0);
+ $278 = ((($$0)) + 63|0);
+ $279 = HEAP8[$278>>0]|0;
+ $280 = $279&255;
+ $281 = $280 << 24;
+ $282 = ((($$0)) + 62|0);
+ $283 = HEAP8[$282>>0]|0;
+ $284 = $283&255;
+ $285 = $284 << 16;
+ $286 = $285 | $281;
+ $287 = ((($$0)) + 61|0);
+ $288 = HEAP8[$287>>0]|0;
+ $289 = $288&255;
+ $290 = $289 << 8;
+ $291 = $286 | $290;
+ $292 = HEAP8[$277>>0]|0;
+ $293 = $292&255;
+ $294 = $291 | $293;
+ $295 = HEAP32[$3>>2]|0;
+ $296 = HEAP32[$4>>2]|0;
+ $297 = HEAP32[$5>>2]|0;
+ $298 = HEAP32[$6>>2]|0;
+ $299 = HEAP32[$7>>2]|0;
+ $300 = $297 ^ $296;
+ $301 = $300 ^ $298;
+ $302 = (($295) + ($24))|0;
+ $303 = (($302) + ($301))|0;
+ $304 = $303 << 11;
+ $305 = $303 >>> 21;
+ $306 = $304 | $305;
+ $307 = (($306) + ($299))|0;
+ $308 = $297 << 10;
+ $309 = $297 >>> 22;
+ $310 = $308 | $309;
+ $311 = $298 ^ -1;
+ $312 = $297 | $311;
+ $313 = $312 ^ $296;
+ $314 = (($114) + 1352829926)|0;
+ $315 = (($314) + ($295))|0;
+ $316 = (($315) + ($313))|0;
+ $317 = $316 << 8;
+ $318 = $316 >>> 24;
+ $319 = $317 | $318;
+ $320 = (($319) + ($299))|0;
+ $321 = $310 ^ $296;
+ $322 = $321 ^ $307;
+ $323 = (($299) + ($42))|0;
+ $324 = (($323) + ($322))|0;
+ $325 = $324 << 14;
+ $326 = $324 >>> 18;
+ $327 = $325 | $326;
+ $328 = (($327) + ($298))|0;
+ $329 = $296 << 10;
+ $330 = $296 >>> 22;
+ $331 = $329 | $330;
+ $332 = $310 ^ -1;
+ $333 = $296 | $332;
+ $334 = $320 ^ $333;
+ $335 = (($276) + 1352829926)|0;
+ $336 = (($335) + ($299))|0;
+ $337 = (($336) + ($334))|0;
+ $338 = $337 << 9;
+ $339 = $337 >>> 23;
+ $340 = $338 | $339;
+ $341 = (($340) + ($298))|0;
+ $342 = $307 ^ $331;
+ $343 = $342 ^ $328;
+ $344 = (($298) + ($60))|0;
+ $345 = (($344) + ($343))|0;
+ $346 = $345 << 15;
+ $347 = $345 >>> 17;
+ $348 = $346 | $347;
+ $349 = (($348) + ($310))|0;
+ $350 = $307 << 10;
+ $351 = $307 >>> 22;
+ $352 = $350 | $351;
+ $353 = $331 ^ -1;
+ $354 = $320 | $353;
+ $355 = $341 ^ $354;
+ $356 = (($150) + 1352829926)|0;
+ $357 = (($356) + ($298))|0;
+ $358 = (($357) + ($355))|0;
+ $359 = $358 << 9;
+ $360 = $358 >>> 23;
+ $361 = $359 | $360;
+ $362 = (($361) + ($310))|0;
+ $363 = $320 << 10;
+ $364 = $320 >>> 22;
+ $365 = $363 | $364;
+ $366 = $328 ^ $352;
+ $367 = $366 ^ $349;
+ $368 = (($310) + ($78))|0;
+ $369 = (($368) + ($367))|0;
+ $370 = $369 << 12;
+ $371 = $369 >>> 20;
+ $372 = $370 | $371;
+ $373 = (($372) + ($331))|0;
+ $374 = $328 << 10;
+ $375 = $328 >>> 22;
+ $376 = $374 | $375;
+ $377 = $365 ^ -1;
+ $378 = $341 | $377;
+ $379 = $362 ^ $378;
+ $380 = (($24) + 1352829926)|0;
+ $381 = (($380) + ($310))|0;
+ $382 = (($381) + ($379))|0;
+ $383 = $382 << 11;
+ $384 = $382 >>> 21;
+ $385 = $383 | $384;
+ $386 = (($385) + ($331))|0;
+ $387 = $341 << 10;
+ $388 = $341 >>> 22;
+ $389 = $387 | $388;
+ $390 = $349 ^ $376;
+ $391 = $390 ^ $373;
+ $392 = (($331) + ($96))|0;
+ $393 = (($392) + ($391))|0;
+ $394 = $393 << 5;
+ $395 = $393 >>> 27;
+ $396 = $394 | $395;
+ $397 = (($396) + ($352))|0;
+ $398 = $349 << 10;
+ $399 = $349 >>> 22;
+ $400 = $398 | $399;
+ $401 = $389 ^ -1;
+ $402 = $362 | $401;
+ $403 = $386 ^ $402;
+ $404 = (($186) + 1352829926)|0;
+ $405 = (($404) + ($331))|0;
+ $406 = (($405) + ($403))|0;
+ $407 = $406 << 13;
+ $408 = $406 >>> 19;
+ $409 = $407 | $408;
+ $410 = (($409) + ($365))|0;
+ $411 = $362 << 10;
+ $412 = $362 >>> 22;
+ $413 = $411 | $412;
+ $414 = $373 ^ $400;
+ $415 = $414 ^ $397;
+ $416 = (($352) + ($114))|0;
+ $417 = (($416) + ($415))|0;
+ $418 = $417 << 8;
+ $419 = $417 >>> 24;
+ $420 = $418 | $419;
+ $421 = (($420) + ($376))|0;
+ $422 = $373 << 10;
+ $423 = $373 >>> 22;
+ $424 = $422 | $423;
+ $425 = $413 ^ -1;
+ $426 = $386 | $425;
+ $427 = $410 ^ $426;
+ $428 = (($60) + 1352829926)|0;
+ $429 = (($428) + ($365))|0;
+ $430 = (($429) + ($427))|0;
+ $431 = $430 << 15;
+ $432 = $430 >>> 17;
+ $433 = $431 | $432;
+ $434 = (($433) + ($389))|0;
+ $435 = $386 << 10;
+ $436 = $386 >>> 22;
+ $437 = $435 | $436;
+ $438 = $397 ^ $424;
+ $439 = $438 ^ $421;
+ $440 = (($376) + ($132))|0;
+ $441 = (($440) + ($439))|0;
+ $442 = $441 << 7;
+ $443 = $441 >>> 25;
+ $444 = $442 | $443;
+ $445 = (($444) + ($400))|0;
+ $446 = $397 << 10;
+ $447 = $397 >>> 22;
+ $448 = $446 | $447;
+ $449 = $437 ^ -1;
+ $450 = $410 | $449;
+ $451 = $434 ^ $450;
+ $452 = (($222) + 1352829926)|0;
+ $453 = (($452) + ($389))|0;
+ $454 = (($453) + ($451))|0;
+ $455 = $454 << 15;
+ $456 = $454 >>> 17;
+ $457 = $455 | $456;
+ $458 = (($457) + ($413))|0;
+ $459 = $410 << 10;
+ $460 = $410 >>> 22;
+ $461 = $459 | $460;
+ $462 = $421 ^ $448;
+ $463 = $462 ^ $445;
+ $464 = (($400) + ($150))|0;
+ $465 = (($464) + ($463))|0;
+ $466 = $465 << 9;
+ $467 = $465 >>> 23;
+ $468 = $466 | $467;
+ $469 = (($468) + ($424))|0;
+ $470 = $421 << 10;
+ $471 = $421 >>> 22;
+ $472 = $470 | $471;
+ $473 = $461 ^ -1;
+ $474 = $434 | $473;
+ $475 = $458 ^ $474;
+ $476 = (($96) + 1352829926)|0;
+ $477 = (($476) + ($413))|0;
+ $478 = (($477) + ($475))|0;
+ $479 = $478 << 5;
+ $480 = $478 >>> 27;
+ $481 = $479 | $480;
+ $482 = (($481) + ($437))|0;
+ $483 = $434 << 10;
+ $484 = $434 >>> 22;
+ $485 = $483 | $484;
+ $486 = $445 ^ $472;
+ $487 = $486 ^ $469;
+ $488 = (($424) + ($168))|0;
+ $489 = (($488) + ($487))|0;
+ $490 = $489 << 11;
+ $491 = $489 >>> 21;
+ $492 = $490 | $491;
+ $493 = (($492) + ($448))|0;
+ $494 = $445 << 10;
+ $495 = $445 >>> 22;
+ $496 = $494 | $495;
+ $497 = $485 ^ -1;
+ $498 = $458 | $497;
+ $499 = $482 ^ $498;
+ $500 = (($258) + 1352829926)|0;
+ $501 = (($500) + ($437))|0;
+ $502 = (($501) + ($499))|0;
+ $503 = $502 << 7;
+ $504 = $502 >>> 25;
+ $505 = $503 | $504;
+ $506 = (($505) + ($461))|0;
+ $507 = $458 << 10;
+ $508 = $458 >>> 22;
+ $509 = $507 | $508;
+ $510 = $469 ^ $496;
+ $511 = $510 ^ $493;
+ $512 = (($448) + ($186))|0;
+ $513 = (($512) + ($511))|0;
+ $514 = $513 << 13;
+ $515 = $513 >>> 19;
+ $516 = $514 | $515;
+ $517 = (($516) + ($472))|0;
+ $518 = $469 << 10;
+ $519 = $469 >>> 22;
+ $520 = $518 | $519;
+ $521 = $509 ^ -1;
+ $522 = $482 | $521;
+ $523 = $506 ^ $522;
+ $524 = (($132) + 1352829926)|0;
+ $525 = (($524) + ($461))|0;
+ $526 = (($525) + ($523))|0;
+ $527 = $526 << 7;
+ $528 = $526 >>> 25;
+ $529 = $527 | $528;
+ $530 = (($529) + ($485))|0;
+ $531 = $482 << 10;
+ $532 = $482 >>> 22;
+ $533 = $531 | $532;
+ $534 = $493 ^ $520;
+ $535 = $534 ^ $517;
+ $536 = (($472) + ($204))|0;
+ $537 = (($536) + ($535))|0;
+ $538 = $537 << 14;
+ $539 = $537 >>> 18;
+ $540 = $538 | $539;
+ $541 = (($540) + ($496))|0;
+ $542 = $493 << 10;
+ $543 = $493 >>> 22;
+ $544 = $542 | $543;
+ $545 = $533 ^ -1;
+ $546 = $506 | $545;
+ $547 = $530 ^ $546;
+ $548 = (($294) + 1352829926)|0;
+ $549 = (($548) + ($485))|0;
+ $550 = (($549) + ($547))|0;
+ $551 = $550 << 8;
+ $552 = $550 >>> 24;
+ $553 = $551 | $552;
+ $554 = (($553) + ($509))|0;
+ $555 = $506 << 10;
+ $556 = $506 >>> 22;
+ $557 = $555 | $556;
+ $558 = $517 ^ $544;
+ $559 = $558 ^ $541;
+ $560 = (($496) + ($222))|0;
+ $561 = (($560) + ($559))|0;
+ $562 = $561 << 15;
+ $563 = $561 >>> 17;
+ $564 = $562 | $563;
+ $565 = (($564) + ($520))|0;
+ $566 = $517 << 10;
+ $567 = $517 >>> 22;
+ $568 = $566 | $567;
+ $569 = $557 ^ -1;
+ $570 = $530 | $569;
+ $571 = $554 ^ $570;
+ $572 = (($168) + 1352829926)|0;
+ $573 = (($572) + ($509))|0;
+ $574 = (($573) + ($571))|0;
+ $575 = $574 << 11;
+ $576 = $574 >>> 21;
+ $577 = $575 | $576;
+ $578 = (($577) + ($533))|0;
+ $579 = $530 << 10;
+ $580 = $530 >>> 22;
+ $581 = $579 | $580;
+ $582 = $541 ^ $568;
+ $583 = $582 ^ $565;
+ $584 = (($520) + ($240))|0;
+ $585 = (($584) + ($583))|0;
+ $586 = $585 << 6;
+ $587 = $585 >>> 26;
+ $588 = $586 | $587;
+ $589 = (($588) + ($544))|0;
+ $590 = $541 << 10;
+ $591 = $541 >>> 22;
+ $592 = $590 | $591;
+ $593 = $581 ^ -1;
+ $594 = $554 | $593;
+ $595 = $578 ^ $594;
+ $596 = (($42) + 1352829926)|0;
+ $597 = (($596) + ($533))|0;
+ $598 = (($597) + ($595))|0;
+ $599 = $598 << 14;
+ $600 = $598 >>> 18;
+ $601 = $599 | $600;
+ $602 = (($601) + ($557))|0;
+ $603 = $554 << 10;
+ $604 = $554 >>> 22;
+ $605 = $603 | $604;
+ $606 = $565 ^ $592;
+ $607 = $606 ^ $589;
+ $608 = (($544) + ($258))|0;
+ $609 = (($608) + ($607))|0;
+ $610 = $609 << 7;
+ $611 = $609 >>> 25;
+ $612 = $610 | $611;
+ $613 = (($612) + ($568))|0;
+ $614 = $565 << 10;
+ $615 = $565 >>> 22;
+ $616 = $614 | $615;
+ $617 = $605 ^ -1;
+ $618 = $578 | $617;
+ $619 = $602 ^ $618;
+ $620 = (($204) + 1352829926)|0;
+ $621 = (($620) + ($557))|0;
+ $622 = (($621) + ($619))|0;
+ $623 = $622 << 14;
+ $624 = $622 >>> 18;
+ $625 = $623 | $624;
+ $626 = (($625) + ($581))|0;
+ $627 = $578 << 10;
+ $628 = $578 >>> 22;
+ $629 = $627 | $628;
+ $630 = $589 ^ $616;
+ $631 = $630 ^ $613;
+ $632 = (($568) + ($276))|0;
+ $633 = (($632) + ($631))|0;
+ $634 = $633 << 9;
+ $635 = $633 >>> 23;
+ $636 = $634 | $635;
+ $637 = (($636) + ($592))|0;
+ $638 = $589 << 10;
+ $639 = $589 >>> 22;
+ $640 = $638 | $639;
+ $641 = $629 ^ -1;
+ $642 = $602 | $641;
+ $643 = $626 ^ $642;
+ $644 = (($78) + 1352829926)|0;
+ $645 = (($644) + ($581))|0;
+ $646 = (($645) + ($643))|0;
+ $647 = $646 << 12;
+ $648 = $646 >>> 20;
+ $649 = $647 | $648;
+ $650 = (($649) + ($605))|0;
+ $651 = $602 << 10;
+ $652 = $602 >>> 22;
+ $653 = $651 | $652;
+ $654 = $613 ^ $640;
+ $655 = $654 ^ $637;
+ $656 = (($592) + ($294))|0;
+ $657 = (($656) + ($655))|0;
+ $658 = $657 << 8;
+ $659 = $657 >>> 24;
+ $660 = $658 | $659;
+ $661 = (($660) + ($616))|0;
+ $662 = $613 << 10;
+ $663 = $613 >>> 22;
+ $664 = $662 | $663;
+ $665 = $653 ^ -1;
+ $666 = $626 | $665;
+ $667 = $650 ^ $666;
+ $668 = (($240) + 1352829926)|0;
+ $669 = (($668) + ($605))|0;
+ $670 = (($669) + ($667))|0;
+ $671 = $670 << 6;
+ $672 = $670 >>> 26;
+ $673 = $671 | $672;
+ $674 = (($673) + ($629))|0;
+ $675 = $626 << 10;
+ $676 = $626 >>> 22;
+ $677 = $675 | $676;
+ $678 = $661 & $637;
+ $679 = $661 ^ -1;
+ $680 = $664 & $679;
+ $681 = $678 | $680;
+ $682 = (($150) + 1518500249)|0;
+ $683 = (($682) + ($616))|0;
+ $684 = (($683) + ($681))|0;
+ $685 = $684 << 7;
+ $686 = $684 >>> 25;
+ $687 = $685 | $686;
+ $688 = (($687) + ($640))|0;
+ $689 = $637 << 10;
+ $690 = $637 >>> 22;
+ $691 = $689 | $690;
+ $692 = $674 & $677;
+ $693 = $677 ^ -1;
+ $694 = $650 & $693;
+ $695 = $692 | $694;
+ $696 = (($132) + 1548603684)|0;
+ $697 = (($696) + ($629))|0;
+ $698 = (($697) + ($695))|0;
+ $699 = $698 << 9;
+ $700 = $698 >>> 23;
+ $701 = $699 | $700;
+ $702 = (($701) + ($653))|0;
+ $703 = $650 << 10;
+ $704 = $650 >>> 22;
+ $705 = $703 | $704;
+ $706 = $688 & $661;
+ $707 = $688 ^ -1;
+ $708 = $691 & $707;
+ $709 = $706 | $708;
+ $710 = (($96) + 1518500249)|0;
+ $711 = (($710) + ($640))|0;
+ $712 = (($711) + ($709))|0;
+ $713 = $712 << 6;
+ $714 = $712 >>> 26;
+ $715 = $713 | $714;
+ $716 = (($715) + ($664))|0;
+ $717 = $661 << 10;
+ $718 = $661 >>> 22;
+ $719 = $717 | $718;
+ $720 = $702 & $705;
+ $721 = $705 ^ -1;
+ $722 = $674 & $721;
+ $723 = $720 | $722;
+ $724 = (($222) + 1548603684)|0;
+ $725 = (($724) + ($653))|0;
+ $726 = (($725) + ($723))|0;
+ $727 = $726 << 13;
+ $728 = $726 >>> 19;
+ $729 = $727 | $728;
+ $730 = (($729) + ($677))|0;
+ $731 = $674 << 10;
+ $732 = $674 >>> 22;
+ $733 = $731 | $732;
+ $734 = $716 & $688;
+ $735 = $716 ^ -1;
+ $736 = $719 & $735;
+ $737 = $734 | $736;
+ $738 = (($258) + 1518500249)|0;
+ $739 = (($738) + ($664))|0;
+ $740 = (($739) + ($737))|0;
+ $741 = $740 << 8;
+ $742 = $740 >>> 24;
+ $743 = $741 | $742;
+ $744 = (($743) + ($691))|0;
+ $745 = $688 << 10;
+ $746 = $688 >>> 22;
+ $747 = $745 | $746;
+ $748 = $730 & $733;
+ $749 = $733 ^ -1;
+ $750 = $702 & $749;
+ $751 = $748 | $750;
+ $752 = (($78) + 1548603684)|0;
+ $753 = (($752) + ($677))|0;
+ $754 = (($753) + ($751))|0;
+ $755 = $754 << 15;
+ $756 = $754 >>> 17;
+ $757 = $755 | $756;
+ $758 = (($757) + ($705))|0;
+ $759 = $702 << 10;
+ $760 = $702 >>> 22;
+ $761 = $759 | $760;
+ $762 = $744 & $716;
+ $763 = $744 ^ -1;
+ $764 = $747 & $763;
+ $765 = $762 | $764;
+ $766 = (($42) + 1518500249)|0;
+ $767 = (($766) + ($691))|0;
+ $768 = (($767) + ($765))|0;
+ $769 = $768 << 13;
+ $770 = $768 >>> 19;
+ $771 = $769 | $770;
+ $772 = (($771) + ($719))|0;
+ $773 = $716 << 10;
+ $774 = $716 >>> 22;
+ $775 = $773 | $774;
+ $776 = $758 & $761;
+ $777 = $761 ^ -1;
+ $778 = $730 & $777;
+ $779 = $776 | $778;
+ $780 = (($150) + 1548603684)|0;
+ $781 = (($780) + ($705))|0;
+ $782 = (($781) + ($779))|0;
+ $783 = $782 << 7;
+ $784 = $782 >>> 25;
+ $785 = $783 | $784;
+ $786 = (($785) + ($733))|0;
+ $787 = $730 << 10;
+ $788 = $730 >>> 22;
+ $789 = $787 | $788;
+ $790 = $772 & $744;
+ $791 = $772 ^ -1;
+ $792 = $775 & $791;
+ $793 = $790 | $792;
+ $794 = (($204) + 1518500249)|0;
+ $795 = (($794) + ($719))|0;
+ $796 = (($795) + ($793))|0;
+ $797 = $796 << 11;
+ $798 = $796 >>> 21;
+ $799 = $797 | $798;
+ $800 = (($799) + ($747))|0;
+ $801 = $744 << 10;
+ $802 = $744 >>> 22;
+ $803 = $801 | $802;
+ $804 = $786 & $789;
+ $805 = $789 ^ -1;
+ $806 = $758 & $805;
+ $807 = $804 | $806;
+ $808 = (($24) + 1548603684)|0;
+ $809 = (($808) + ($733))|0;
+ $810 = (($809) + ($807))|0;
+ $811 = $810 << 12;
+ $812 = $810 >>> 20;
+ $813 = $811 | $812;
+ $814 = (($813) + ($761))|0;
+ $815 = $758 << 10;
+ $816 = $758 >>> 22;
+ $817 = $815 | $816;
+ $818 = $800 & $772;
+ $819 = $800 ^ -1;
+ $820 = $803 & $819;
+ $821 = $818 | $820;
+ $822 = (($132) + 1518500249)|0;
+ $823 = (($822) + ($747))|0;
+ $824 = (($823) + ($821))|0;
+ $825 = $824 << 9;
+ $826 = $824 >>> 23;
+ $827 = $825 | $826;
+ $828 = (($827) + ($775))|0;
+ $829 = $772 << 10;
+ $830 = $772 >>> 22;
+ $831 = $829 | $830;
+ $832 = $814 & $817;
+ $833 = $817 ^ -1;
+ $834 = $786 & $833;
+ $835 = $832 | $834;
+ $836 = (($258) + 1548603684)|0;
+ $837 = (($836) + ($761))|0;
+ $838 = (($837) + ($835))|0;
+ $839 = $838 << 8;
+ $840 = $838 >>> 24;
+ $841 = $839 | $840;
+ $842 = (($841) + ($789))|0;
+ $843 = $786 << 10;
+ $844 = $786 >>> 22;
+ $845 = $843 | $844;
+ $846 = $828 & $800;
+ $847 = $828 ^ -1;
+ $848 = $831 & $847;
+ $849 = $846 | $848;
+ $850 = (($294) + 1518500249)|0;
+ $851 = (($850) + ($775))|0;
+ $852 = (($851) + ($849))|0;
+ $853 = $852 << 7;
+ $854 = $852 >>> 25;
+ $855 = $853 | $854;
+ $856 = (($855) + ($803))|0;
+ $857 = $800 << 10;
+ $858 = $800 >>> 22;
+ $859 = $857 | $858;
+ $860 = $842 & $845;
+ $861 = $845 ^ -1;
+ $862 = $814 & $861;
+ $863 = $860 | $862;
+ $864 = (($114) + 1548603684)|0;
+ $865 = (($864) + ($789))|0;
+ $866 = (($865) + ($863))|0;
+ $867 = $866 << 9;
+ $868 = $866 >>> 23;
+ $869 = $867 | $868;
+ $870 = (($869) + ($817))|0;
+ $871 = $814 << 10;
+ $872 = $814 >>> 22;
+ $873 = $871 | $872;
+ $874 = $856 & $828;
+ $875 = $856 ^ -1;
+ $876 = $859 & $875;
+ $877 = $874 | $876;
+ $878 = (($78) + 1518500249)|0;
+ $879 = (($878) + ($803))|0;
+ $880 = (($879) + ($877))|0;
+ $881 = $880 << 15;
+ $882 = $880 >>> 17;
+ $883 = $881 | $882;
+ $884 = (($883) + ($831))|0;
+ $885 = $828 << 10;
+ $886 = $828 >>> 22;
+ $887 = $885 | $886;
+ $888 = $870 & $873;
+ $889 = $873 ^ -1;
+ $890 = $842 & $889;
+ $891 = $888 | $890;
+ $892 = (($204) + 1548603684)|0;
+ $893 = (($892) + ($817))|0;
+ $894 = (($893) + ($891))|0;
+ $895 = $894 << 11;
+ $896 = $894 >>> 21;
+ $897 = $895 | $896;
+ $898 = (($897) + ($845))|0;
+ $899 = $842 << 10;
+ $900 = $842 >>> 22;
+ $901 = $899 | $900;
+ $902 = $884 & $856;
+ $903 = $884 ^ -1;
+ $904 = $887 & $903;
+ $905 = $902 | $904;
+ $906 = (($240) + 1518500249)|0;
+ $907 = (($906) + ($831))|0;
+ $908 = (($907) + ($905))|0;
+ $909 = $908 << 7;
+ $910 = $908 >>> 25;
+ $911 = $909 | $910;
+ $912 = (($911) + ($859))|0;
+ $913 = $856 << 10;
+ $914 = $856 >>> 22;
+ $915 = $913 | $914;
+ $916 = $898 & $901;
+ $917 = $901 ^ -1;
+ $918 = $870 & $917;
+ $919 = $916 | $918;
+ $920 = (($276) + 1548603684)|0;
+ $921 = (($920) + ($845))|0;
+ $922 = (($921) + ($919))|0;
+ $923 = $922 << 7;
+ $924 = $922 >>> 25;
+ $925 = $923 | $924;
+ $926 = (($925) + ($873))|0;
+ $927 = $870 << 10;
+ $928 = $870 >>> 22;
+ $929 = $927 | $928;
+ $930 = $912 & $884;
+ $931 = $912 ^ -1;
+ $932 = $915 & $931;
+ $933 = $930 | $932;
+ $934 = (($24) + 1518500249)|0;
+ $935 = (($934) + ($859))|0;
+ $936 = (($935) + ($933))|0;
+ $937 = $936 << 12;
+ $938 = $936 >>> 20;
+ $939 = $937 | $938;
+ $940 = (($939) + ($887))|0;
+ $941 = $884 << 10;
+ $942 = $884 >>> 22;
+ $943 = $941 | $942;
+ $944 = $926 & $929;
+ $945 = $929 ^ -1;
+ $946 = $898 & $945;
+ $947 = $944 | $946;
+ $948 = (($294) + 1548603684)|0;
+ $949 = (($948) + ($873))|0;
+ $950 = (($949) + ($947))|0;
+ $951 = $950 << 7;
+ $952 = $950 >>> 25;
+ $953 = $951 | $952;
+ $954 = (($953) + ($901))|0;
+ $955 = $898 << 10;
+ $956 = $898 >>> 22;
+ $957 = $955 | $956;
+ $958 = $940 & $912;
+ $959 = $940 ^ -1;
+ $960 = $943 & $959;
+ $961 = $958 | $960;
+ $962 = (($186) + 1518500249)|0;
+ $963 = (($962) + ($887))|0;
+ $964 = (($963) + ($961))|0;
+ $965 = $964 << 15;
+ $966 = $964 >>> 17;
+ $967 = $965 | $966;
+ $968 = (($967) + ($915))|0;
+ $969 = $912 << 10;
+ $970 = $912 >>> 22;
+ $971 = $969 | $970;
+ $972 = $954 & $957;
+ $973 = $957 ^ -1;
+ $974 = $926 & $973;
+ $975 = $972 | $974;
+ $976 = (($168) + 1548603684)|0;
+ $977 = (($976) + ($901))|0;
+ $978 = (($977) + ($975))|0;
+ $979 = $978 << 12;
+ $980 = $978 >>> 20;
+ $981 = $979 | $980;
+ $982 = (($981) + ($929))|0;
+ $983 = $926 << 10;
+ $984 = $926 >>> 22;
+ $985 = $983 | $984;
+ $986 = $968 & $940;
+ $987 = $968 ^ -1;
+ $988 = $971 & $987;
+ $989 = $986 | $988;
+ $990 = (($114) + 1518500249)|0;
+ $991 = (($990) + ($915))|0;
+ $992 = (($991) + ($989))|0;
+ $993 = $992 << 9;
+ $994 = $992 >>> 23;
+ $995 = $993 | $994;
+ $996 = (($995) + ($943))|0;
+ $997 = $940 << 10;
+ $998 = $940 >>> 22;
+ $999 = $997 | $998;
+ $1000 = $982 & $985;
+ $1001 = $985 ^ -1;
+ $1002 = $954 & $1001;
+ $1003 = $1000 | $1002;
+ $1004 = (($240) + 1548603684)|0;
+ $1005 = (($1004) + ($929))|0;
+ $1006 = (($1005) + ($1003))|0;
+ $1007 = $1006 << 7;
+ $1008 = $1006 >>> 25;
+ $1009 = $1007 | $1008;
+ $1010 = (($1009) + ($957))|0;
+ $1011 = $954 << 10;
+ $1012 = $954 >>> 22;
+ $1013 = $1011 | $1012;
+ $1014 = $996 & $968;
+ $1015 = $996 ^ -1;
+ $1016 = $999 & $1015;
+ $1017 = $1014 | $1016;
+ $1018 = (($60) + 1518500249)|0;
+ $1019 = (($1018) + ($943))|0;
+ $1020 = (($1019) + ($1017))|0;
+ $1021 = $1020 << 11;
+ $1022 = $1020 >>> 21;
+ $1023 = $1021 | $1022;
+ $1024 = (($1023) + ($971))|0;
+ $1025 = $968 << 10;
+ $1026 = $968 >>> 22;
+ $1027 = $1025 | $1026;
+ $1028 = $1010 & $1013;
+ $1029 = $1013 ^ -1;
+ $1030 = $982 & $1029;
+ $1031 = $1028 | $1030;
+ $1032 = (($96) + 1548603684)|0;
+ $1033 = (($1032) + ($957))|0;
+ $1034 = (($1033) + ($1031))|0;
+ $1035 = $1034 << 6;
+ $1036 = $1034 >>> 26;
+ $1037 = $1035 | $1036;
+ $1038 = (($1037) + ($985))|0;
+ $1039 = $982 << 10;
+ $1040 = $982 >>> 22;
+ $1041 = $1039 | $1040;
+ $1042 = $1024 & $996;
+ $1043 = $1024 ^ -1;
+ $1044 = $1027 & $1043;
+ $1045 = $1042 | $1044;
+ $1046 = (($276) + 1518500249)|0;
+ $1047 = (($1046) + ($971))|0;
+ $1048 = (($1047) + ($1045))|0;
+ $1049 = $1048 << 7;
+ $1050 = $1048 >>> 25;
+ $1051 = $1049 | $1050;
+ $1052 = (($1051) + ($999))|0;
+ $1053 = $996 << 10;
+ $1054 = $996 >>> 22;
+ $1055 = $1053 | $1054;
+ $1056 = $1038 & $1041;
+ $1057 = $1041 ^ -1;
+ $1058 = $1010 & $1057;
+ $1059 = $1056 | $1058;
+ $1060 = (($186) + 1548603684)|0;
+ $1061 = (($1060) + ($985))|0;
+ $1062 = (($1061) + ($1059))|0;
+ $1063 = $1062 << 15;
+ $1064 = $1062 >>> 17;
+ $1065 = $1063 | $1064;
+ $1066 = (($1065) + ($1013))|0;
+ $1067 = $1010 << 10;
+ $1068 = $1010 >>> 22;
+ $1069 = $1067 | $1068;
+ $1070 = $1052 & $1024;
+ $1071 = $1052 ^ -1;
+ $1072 = $1055 & $1071;
+ $1073 = $1070 | $1072;
+ $1074 = (($222) + 1518500249)|0;
+ $1075 = (($1074) + ($999))|0;
+ $1076 = (($1075) + ($1073))|0;
+ $1077 = $1076 << 13;
+ $1078 = $1076 >>> 19;
+ $1079 = $1077 | $1078;
+ $1080 = (($1079) + ($1027))|0;
+ $1081 = $1024 << 10;
+ $1082 = $1024 >>> 22;
+ $1083 = $1081 | $1082;
+ $1084 = $1066 & $1069;
+ $1085 = $1069 ^ -1;
+ $1086 = $1038 & $1085;
+ $1087 = $1084 | $1086;
+ $1088 = (($42) + 1548603684)|0;
+ $1089 = (($1088) + ($1013))|0;
+ $1090 = (($1089) + ($1087))|0;
+ $1091 = $1090 << 13;
+ $1092 = $1090 >>> 19;
+ $1093 = $1091 | $1092;
+ $1094 = (($1093) + ($1041))|0;
+ $1095 = $1038 << 10;
+ $1096 = $1038 >>> 22;
+ $1097 = $1095 | $1096;
+ $1098 = $1080 & $1052;
+ $1099 = $1080 ^ -1;
+ $1100 = $1083 & $1099;
+ $1101 = $1098 | $1100;
+ $1102 = (($168) + 1518500249)|0;
+ $1103 = (($1102) + ($1027))|0;
+ $1104 = (($1103) + ($1101))|0;
+ $1105 = $1104 << 12;
+ $1106 = $1104 >>> 20;
+ $1107 = $1105 | $1106;
+ $1108 = (($1107) + ($1055))|0;
+ $1109 = $1052 << 10;
+ $1110 = $1052 >>> 22;
+ $1111 = $1109 | $1110;
+ $1112 = $1094 & $1097;
+ $1113 = $1097 ^ -1;
+ $1114 = $1066 & $1113;
+ $1115 = $1112 | $1114;
+ $1116 = (($60) + 1548603684)|0;
+ $1117 = (($1116) + ($1041))|0;
+ $1118 = (($1117) + ($1115))|0;
+ $1119 = $1118 << 11;
+ $1120 = $1118 >>> 21;
+ $1121 = $1119 | $1120;
+ $1122 = (($1121) + ($1069))|0;
+ $1123 = $1066 << 10;
+ $1124 = $1066 >>> 22;
+ $1125 = $1123 | $1124;
+ $1126 = $1108 | $1099;
+ $1127 = $1126 ^ $1111;
+ $1128 = (($78) + 1859775393)|0;
+ $1129 = (($1128) + ($1055))|0;
+ $1130 = (($1129) + ($1127))|0;
+ $1131 = $1130 << 11;
+ $1132 = $1130 >>> 21;
+ $1133 = $1131 | $1132;
+ $1134 = (($1133) + ($1083))|0;
+ $1135 = $1080 << 10;
+ $1136 = $1080 >>> 22;
+ $1137 = $1135 | $1136;
+ $1138 = $1094 ^ -1;
+ $1139 = $1122 | $1138;
+ $1140 = $1139 ^ $1125;
+ $1141 = (($294) + 1836072691)|0;
+ $1142 = (($1141) + ($1069))|0;
+ $1143 = (($1142) + ($1140))|0;
+ $1144 = $1143 << 9;
+ $1145 = $1143 >>> 23;
+ $1146 = $1144 | $1145;
+ $1147 = (($1146) + ($1097))|0;
+ $1148 = $1094 << 10;
+ $1149 = $1094 >>> 22;
+ $1150 = $1148 | $1149;
+ $1151 = $1108 ^ -1;
+ $1152 = $1134 | $1151;
+ $1153 = $1152 ^ $1137;
+ $1154 = (($204) + 1859775393)|0;
+ $1155 = (($1154) + ($1083))|0;
+ $1156 = (($1155) + ($1153))|0;
+ $1157 = $1156 << 13;
+ $1158 = $1156 >>> 19;
+ $1159 = $1157 | $1158;
+ $1160 = (($1159) + ($1111))|0;
+ $1161 = $1108 << 10;
+ $1162 = $1108 >>> 22;
+ $1163 = $1161 | $1162;
+ $1164 = $1122 ^ -1;
+ $1165 = $1147 | $1164;
+ $1166 = $1165 ^ $1150;
+ $1167 = (($114) + 1836072691)|0;
+ $1168 = (($1167) + ($1097))|0;
+ $1169 = (($1168) + ($1166))|0;
+ $1170 = $1169 << 7;
+ $1171 = $1169 >>> 25;
+ $1172 = $1170 | $1171;
+ $1173 = (($1172) + ($1125))|0;
+ $1174 = $1122 << 10;
+ $1175 = $1122 >>> 22;
+ $1176 = $1174 | $1175;
+ $1177 = $1134 ^ -1;
+ $1178 = $1160 | $1177;
+ $1179 = $1178 ^ $1163;
+ $1180 = (($276) + 1859775393)|0;
+ $1181 = (($1180) + ($1111))|0;
+ $1182 = (($1181) + ($1179))|0;
+ $1183 = $1182 << 6;
+ $1184 = $1182 >>> 26;
+ $1185 = $1183 | $1184;
+ $1186 = (($1185) + ($1137))|0;
+ $1187 = $1134 << 10;
+ $1188 = $1134 >>> 22;
+ $1189 = $1187 | $1188;
+ $1190 = $1147 ^ -1;
+ $1191 = $1173 | $1190;
+ $1192 = $1191 ^ $1176;
+ $1193 = (($42) + 1836072691)|0;
+ $1194 = (($1193) + ($1125))|0;
+ $1195 = (($1194) + ($1192))|0;
+ $1196 = $1195 << 15;
+ $1197 = $1195 >>> 17;
+ $1198 = $1196 | $1197;
+ $1199 = (($1198) + ($1150))|0;
+ $1200 = $1147 << 10;
+ $1201 = $1147 >>> 22;
+ $1202 = $1200 | $1201;
+ $1203 = $1160 ^ -1;
+ $1204 = $1186 | $1203;
+ $1205 = $1204 ^ $1189;
+ $1206 = (($96) + 1859775393)|0;
+ $1207 = (($1206) + ($1137))|0;
+ $1208 = (($1207) + ($1205))|0;
+ $1209 = $1208 << 7;
+ $1210 = $1208 >>> 25;
+ $1211 = $1209 | $1210;
+ $1212 = (($1211) + ($1163))|0;
+ $1213 = $1160 << 10;
+ $1214 = $1160 >>> 22;
+ $1215 = $1213 | $1214;
+ $1216 = $1173 ^ -1;
+ $1217 = $1199 | $1216;
+ $1218 = $1217 ^ $1202;
+ $1219 = (($78) + 1836072691)|0;
+ $1220 = (($1219) + ($1150))|0;
+ $1221 = (($1220) + ($1218))|0;
+ $1222 = $1221 << 11;
+ $1223 = $1221 >>> 21;
+ $1224 = $1222 | $1223;
+ $1225 = (($1224) + ($1176))|0;
+ $1226 = $1173 << 10;
+ $1227 = $1173 >>> 22;
+ $1228 = $1226 | $1227;
+ $1229 = $1186 ^ -1;
+ $1230 = $1212 | $1229;
+ $1231 = $1230 ^ $1215;
+ $1232 = (($186) + 1859775393)|0;
+ $1233 = (($1232) + ($1163))|0;
+ $1234 = (($1233) + ($1231))|0;
+ $1235 = $1234 << 14;
+ $1236 = $1234 >>> 18;
+ $1237 = $1235 | $1236;
+ $1238 = (($1237) + ($1189))|0;
+ $1239 = $1186 << 10;
+ $1240 = $1186 >>> 22;
+ $1241 = $1239 | $1240;
+ $1242 = $1199 ^ -1;
+ $1243 = $1225 | $1242;
+ $1244 = $1243 ^ $1228;
+ $1245 = (($150) + 1836072691)|0;
+ $1246 = (($1245) + ($1176))|0;
+ $1247 = (($1246) + ($1244))|0;
+ $1248 = $1247 << 8;
+ $1249 = $1247 >>> 24;
+ $1250 = $1248 | $1249;
+ $1251 = (($1250) + ($1202))|0;
+ $1252 = $1199 << 10;
+ $1253 = $1199 >>> 22;
+ $1254 = $1252 | $1253;
+ $1255 = $1212 ^ -1;
+ $1256 = $1238 | $1255;
+ $1257 = $1256 ^ $1241;
+ $1258 = (($294) + 1859775393)|0;
+ $1259 = (($1258) + ($1189))|0;
+ $1260 = (($1259) + ($1257))|0;
+ $1261 = $1260 << 9;
+ $1262 = $1260 >>> 23;
+ $1263 = $1261 | $1262;
+ $1264 = (($1263) + ($1215))|0;
+ $1265 = $1212 << 10;
+ $1266 = $1212 >>> 22;
+ $1267 = $1265 | $1266;
+ $1268 = $1225 ^ -1;
+ $1269 = $1251 | $1268;
+ $1270 = $1269 ^ $1254;
+ $1271 = (($276) + 1836072691)|0;
+ $1272 = (($1271) + ($1202))|0;
+ $1273 = (($1272) + ($1270))|0;
+ $1274 = $1273 << 6;
+ $1275 = $1273 >>> 26;
+ $1276 = $1274 | $1275;
+ $1277 = (($1276) + ($1228))|0;
+ $1278 = $1225 << 10;
+ $1279 = $1225 >>> 22;
+ $1280 = $1278 | $1279;
+ $1281 = $1238 ^ -1;
+ $1282 = $1264 | $1281;
+ $1283 = $1282 ^ $1267;
+ $1284 = (($168) + 1859775393)|0;
+ $1285 = (($1284) + ($1215))|0;
+ $1286 = (($1285) + ($1283))|0;
+ $1287 = $1286 << 13;
+ $1288 = $1286 >>> 19;
+ $1289 = $1287 | $1288;
+ $1290 = (($1289) + ($1241))|0;
+ $1291 = $1238 << 10;
+ $1292 = $1238 >>> 22;
+ $1293 = $1291 | $1292;
+ $1294 = $1251 ^ -1;
+ $1295 = $1277 | $1294;
+ $1296 = $1295 ^ $1280;
+ $1297 = (($132) + 1836072691)|0;
+ $1298 = (($1297) + ($1228))|0;
+ $1299 = (($1298) + ($1296))|0;
+ $1300 = $1299 << 6;
+ $1301 = $1299 >>> 26;
+ $1302 = $1300 | $1301;
+ $1303 = (($1302) + ($1254))|0;
+ $1304 = $1251 << 10;
+ $1305 = $1251 >>> 22;
+ $1306 = $1304 | $1305;
+ $1307 = $1264 ^ -1;
+ $1308 = $1290 | $1307;
+ $1309 = $1308 ^ $1293;
+ $1310 = (($42) + 1859775393)|0;
+ $1311 = (($1310) + ($1241))|0;
+ $1312 = (($1311) + ($1309))|0;
+ $1313 = $1312 << 15;
+ $1314 = $1312 >>> 17;
+ $1315 = $1313 | $1314;
+ $1316 = (($1315) + ($1267))|0;
+ $1317 = $1264 << 10;
+ $1318 = $1264 >>> 22;
+ $1319 = $1317 | $1318;
+ $1320 = $1277 ^ -1;
+ $1321 = $1303 | $1320;
+ $1322 = $1321 ^ $1306;
+ $1323 = (($186) + 1836072691)|0;
+ $1324 = (($1323) + ($1254))|0;
+ $1325 = (($1324) + ($1322))|0;
+ $1326 = $1325 << 14;
+ $1327 = $1325 >>> 18;
+ $1328 = $1326 | $1327;
+ $1329 = (($1328) + ($1280))|0;
+ $1330 = $1277 << 10;
+ $1331 = $1277 >>> 22;
+ $1332 = $1330 | $1331;
+ $1333 = $1290 ^ -1;
+ $1334 = $1316 | $1333;
+ $1335 = $1334 ^ $1319;
+ $1336 = (($60) + 1859775393)|0;
+ $1337 = (($1336) + ($1267))|0;
+ $1338 = (($1337) + ($1335))|0;
+ $1339 = $1338 << 14;
+ $1340 = $1338 >>> 18;
+ $1341 = $1339 | $1340;
+ $1342 = (($1341) + ($1293))|0;
+ $1343 = $1290 << 10;
+ $1344 = $1290 >>> 22;
+ $1345 = $1343 | $1344;
+ $1346 = $1303 ^ -1;
+ $1347 = $1329 | $1346;
+ $1348 = $1347 ^ $1332;
+ $1349 = (($222) + 1836072691)|0;
+ $1350 = (($1349) + ($1280))|0;
+ $1351 = (($1350) + ($1348))|0;
+ $1352 = $1351 << 12;
+ $1353 = $1351 >>> 20;
+ $1354 = $1352 | $1353;
+ $1355 = (($1354) + ($1306))|0;
+ $1356 = $1303 << 10;
+ $1357 = $1303 >>> 22;
+ $1358 = $1356 | $1357;
+ $1359 = $1316 ^ -1;
+ $1360 = $1342 | $1359;
+ $1361 = $1360 ^ $1345;
+ $1362 = (($150) + 1859775393)|0;
+ $1363 = (($1362) + ($1293))|0;
+ $1364 = (($1363) + ($1361))|0;
+ $1365 = $1364 << 8;
+ $1366 = $1364 >>> 24;
+ $1367 = $1365 | $1366;
+ $1368 = (($1367) + ($1319))|0;
+ $1369 = $1316 << 10;
+ $1370 = $1316 >>> 22;
+ $1371 = $1369 | $1370;
+ $1372 = $1329 ^ -1;
+ $1373 = $1355 | $1372;
+ $1374 = $1373 ^ $1358;
+ $1375 = (($168) + 1836072691)|0;
+ $1376 = (($1375) + ($1306))|0;
+ $1377 = (($1376) + ($1374))|0;
+ $1378 = $1377 << 13;
+ $1379 = $1377 >>> 19;
+ $1380 = $1378 | $1379;
+ $1381 = (($1380) + ($1332))|0;
+ $1382 = $1329 << 10;
+ $1383 = $1329 >>> 22;
+ $1384 = $1382 | $1383;
+ $1385 = $1342 ^ -1;
+ $1386 = $1368 | $1385;
+ $1387 = $1386 ^ $1371;
+ $1388 = (($24) + 1859775393)|0;
+ $1389 = (($1388) + ($1319))|0;
+ $1390 = (($1389) + ($1387))|0;
+ $1391 = $1390 << 13;
+ $1392 = $1390 >>> 19;
+ $1393 = $1391 | $1392;
+ $1394 = (($1393) + ($1345))|0;
+ $1395 = $1342 << 10;
+ $1396 = $1342 >>> 22;
+ $1397 = $1395 | $1396;
+ $1398 = $1355 ^ -1;
+ $1399 = $1381 | $1398;
+ $1400 = $1399 ^ $1384;
+ $1401 = (($240) + 1836072691)|0;
+ $1402 = (($1401) + ($1332))|0;
+ $1403 = (($1402) + ($1400))|0;
+ $1404 = $1403 << 5;
+ $1405 = $1403 >>> 27;
+ $1406 = $1404 | $1405;
+ $1407 = (($1406) + ($1358))|0;
+ $1408 = $1355 << 10;
+ $1409 = $1355 >>> 22;
+ $1410 = $1408 | $1409;
+ $1411 = $1368 ^ -1;
+ $1412 = $1394 | $1411;
+ $1413 = $1412 ^ $1397;
+ $1414 = (($132) + 1859775393)|0;
+ $1415 = (($1414) + ($1345))|0;
+ $1416 = (($1415) + ($1413))|0;
+ $1417 = $1416 << 6;
+ $1418 = $1416 >>> 26;
+ $1419 = $1417 | $1418;
+ $1420 = (($1419) + ($1371))|0;
+ $1421 = $1368 << 10;
+ $1422 = $1368 >>> 22;
+ $1423 = $1421 | $1422;
+ $1424 = $1381 ^ -1;
+ $1425 = $1407 | $1424;
+ $1426 = $1425 ^ $1410;
+ $1427 = (($60) + 1836072691)|0;
+ $1428 = (($1427) + ($1358))|0;
+ $1429 = (($1428) + ($1426))|0;
+ $1430 = $1429 << 14;
+ $1431 = $1429 >>> 18;
+ $1432 = $1430 | $1431;
+ $1433 = (($1432) + ($1384))|0;
+ $1434 = $1381 << 10;
+ $1435 = $1381 >>> 22;
+ $1436 = $1434 | $1435;
+ $1437 = $1394 ^ -1;
+ $1438 = $1420 | $1437;
+ $1439 = $1438 ^ $1423;
+ $1440 = (($258) + 1859775393)|0;
+ $1441 = (($1440) + ($1371))|0;
+ $1442 = (($1441) + ($1439))|0;
+ $1443 = $1442 << 5;
+ $1444 = $1442 >>> 27;
+ $1445 = $1443 | $1444;
+ $1446 = (($1445) + ($1397))|0;
+ $1447 = $1394 << 10;
+ $1448 = $1394 >>> 22;
+ $1449 = $1447 | $1448;
+ $1450 = $1407 ^ -1;
+ $1451 = $1433 | $1450;
+ $1452 = $1451 ^ $1436;
+ $1453 = (($204) + 1836072691)|0;
+ $1454 = (($1453) + ($1384))|0;
+ $1455 = (($1454) + ($1452))|0;
+ $1456 = $1455 << 13;
+ $1457 = $1455 >>> 19;
+ $1458 = $1456 | $1457;
+ $1459 = (($1458) + ($1410))|0;
+ $1460 = $1407 << 10;
+ $1461 = $1407 >>> 22;
+ $1462 = $1460 | $1461;
+ $1463 = $1420 ^ -1;
+ $1464 = $1446 | $1463;
+ $1465 = $1464 ^ $1449;
+ $1466 = (($222) + 1859775393)|0;
+ $1467 = (($1466) + ($1397))|0;
+ $1468 = (($1467) + ($1465))|0;
+ $1469 = $1468 << 12;
+ $1470 = $1468 >>> 20;
+ $1471 = $1469 | $1470;
+ $1472 = (($1471) + ($1423))|0;
+ $1473 = $1420 << 10;
+ $1474 = $1420 >>> 22;
+ $1475 = $1473 | $1474;
+ $1476 = $1433 ^ -1;
+ $1477 = $1459 | $1476;
+ $1478 = $1477 ^ $1462;
+ $1479 = (($24) + 1836072691)|0;
+ $1480 = (($1479) + ($1410))|0;
+ $1481 = (($1480) + ($1478))|0;
+ $1482 = $1481 << 13;
+ $1483 = $1481 >>> 19;
+ $1484 = $1482 | $1483;
+ $1485 = (($1484) + ($1436))|0;
+ $1486 = $1433 << 10;
+ $1487 = $1433 >>> 22;
+ $1488 = $1486 | $1487;
+ $1489 = $1446 ^ -1;
+ $1490 = $1472 | $1489;
+ $1491 = $1490 ^ $1475;
+ $1492 = (($114) + 1859775393)|0;
+ $1493 = (($1492) + ($1423))|0;
+ $1494 = (($1493) + ($1491))|0;
+ $1495 = $1494 << 7;
+ $1496 = $1494 >>> 25;
+ $1497 = $1495 | $1496;
+ $1498 = (($1497) + ($1449))|0;
+ $1499 = $1446 << 10;
+ $1500 = $1446 >>> 22;
+ $1501 = $1499 | $1500;
+ $1502 = $1459 ^ -1;
+ $1503 = $1485 | $1502;
+ $1504 = $1503 ^ $1488;
+ $1505 = (($96) + 1836072691)|0;
+ $1506 = (($1505) + ($1436))|0;
+ $1507 = (($1506) + ($1504))|0;
+ $1508 = $1507 << 7;
+ $1509 = $1507 >>> 25;
+ $1510 = $1508 | $1509;
+ $1511 = (($1510) + ($1462))|0;
+ $1512 = $1459 << 10;
+ $1513 = $1459 >>> 22;
+ $1514 = $1512 | $1513;
+ $1515 = $1472 ^ -1;
+ $1516 = $1498 | $1515;
+ $1517 = $1516 ^ $1501;
+ $1518 = (($240) + 1859775393)|0;
+ $1519 = (($1518) + ($1449))|0;
+ $1520 = (($1519) + ($1517))|0;
+ $1521 = $1520 << 5;
+ $1522 = $1520 >>> 27;
+ $1523 = $1521 | $1522;
+ $1524 = (($1523) + ($1475))|0;
+ $1525 = $1472 << 10;
+ $1526 = $1472 >>> 22;
+ $1527 = $1525 | $1526;
+ $1528 = $1485 ^ -1;
+ $1529 = $1511 | $1528;
+ $1530 = $1529 ^ $1514;
+ $1531 = (($258) + 1836072691)|0;
+ $1532 = (($1531) + ($1462))|0;
+ $1533 = (($1532) + ($1530))|0;
+ $1534 = $1533 << 5;
+ $1535 = $1533 >>> 27;
+ $1536 = $1534 | $1535;
+ $1537 = (($1536) + ($1488))|0;
+ $1538 = $1485 << 10;
+ $1539 = $1485 >>> 22;
+ $1540 = $1538 | $1539;
+ $1541 = $1524 & $1527;
+ $1542 = $1527 ^ -1;
+ $1543 = $1498 & $1542;
+ $1544 = $1541 | $1543;
+ $1545 = (($42) + -1894007588)|0;
+ $1546 = (($1545) + ($1475))|0;
+ $1547 = (($1546) + ($1544))|0;
+ $1548 = $1547 << 11;
+ $1549 = $1547 >>> 21;
+ $1550 = $1548 | $1549;
+ $1551 = (($1550) + ($1501))|0;
+ $1552 = $1498 << 10;
+ $1553 = $1498 >>> 22;
+ $1554 = $1552 | $1553;
+ $1555 = $1537 & $1511;
+ $1556 = $1537 ^ -1;
+ $1557 = $1540 & $1556;
+ $1558 = $1555 | $1557;
+ $1559 = (($168) + 2053994217)|0;
+ $1560 = (($1559) + ($1488))|0;
+ $1561 = (($1560) + ($1558))|0;
+ $1562 = $1561 << 15;
+ $1563 = $1561 >>> 17;
+ $1564 = $1562 | $1563;
+ $1565 = (($1564) + ($1514))|0;
+ $1566 = $1511 << 10;
+ $1567 = $1511 >>> 22;
+ $1568 = $1566 | $1567;
+ $1569 = $1551 & $1554;
+ $1570 = $1554 ^ -1;
+ $1571 = $1524 & $1570;
+ $1572 = $1569 | $1571;
+ $1573 = (($186) + -1894007588)|0;
+ $1574 = (($1573) + ($1501))|0;
+ $1575 = (($1574) + ($1572))|0;
+ $1576 = $1575 << 12;
+ $1577 = $1575 >>> 20;
+ $1578 = $1576 | $1577;
+ $1579 = (($1578) + ($1527))|0;
+ $1580 = $1524 << 10;
+ $1581 = $1524 >>> 22;
+ $1582 = $1580 | $1581;
+ $1583 = $1565 & $1537;
+ $1584 = $1565 ^ -1;
+ $1585 = $1568 & $1584;
+ $1586 = $1583 | $1585;
+ $1587 = (($132) + 2053994217)|0;
+ $1588 = (($1587) + ($1514))|0;
+ $1589 = (($1588) + ($1586))|0;
+ $1590 = $1589 << 5;
+ $1591 = $1589 >>> 27;
+ $1592 = $1590 | $1591;
+ $1593 = (($1592) + ($1540))|0;
+ $1594 = $1537 << 10;
+ $1595 = $1537 >>> 22;
+ $1596 = $1594 | $1595;
+ $1597 = $1579 & $1582;
+ $1598 = $1582 ^ -1;
+ $1599 = $1551 & $1598;
+ $1600 = $1597 | $1599;
+ $1601 = (($222) + -1894007588)|0;
+ $1602 = (($1601) + ($1527))|0;
+ $1603 = (($1602) + ($1600))|0;
+ $1604 = $1603 << 14;
+ $1605 = $1603 >>> 18;
+ $1606 = $1604 | $1605;
+ $1607 = (($1606) + ($1554))|0;
+ $1608 = $1551 << 10;
+ $1609 = $1551 >>> 22;
+ $1610 = $1608 | $1609;
+ $1611 = $1593 & $1565;
+ $1612 = $1593 ^ -1;
+ $1613 = $1596 & $1612;
+ $1614 = $1611 | $1613;
+ $1615 = (($96) + 2053994217)|0;
+ $1616 = (($1615) + ($1540))|0;
+ $1617 = (($1616) + ($1614))|0;
+ $1618 = $1617 << 8;
+ $1619 = $1617 >>> 24;
+ $1620 = $1618 | $1619;
+ $1621 = (($1620) + ($1568))|0;
+ $1622 = $1565 << 10;
+ $1623 = $1565 >>> 22;
+ $1624 = $1622 | $1623;
+ $1625 = $1607 & $1610;
+ $1626 = $1610 ^ -1;
+ $1627 = $1579 & $1626;
+ $1628 = $1625 | $1627;
+ $1629 = (($204) + -1894007588)|0;
+ $1630 = (($1629) + ($1554))|0;
+ $1631 = (($1630) + ($1628))|0;
+ $1632 = $1631 << 15;
+ $1633 = $1631 >>> 17;
+ $1634 = $1632 | $1633;
+ $1635 = (($1634) + ($1582))|0;
+ $1636 = $1579 << 10;
+ $1637 = $1579 >>> 22;
+ $1638 = $1636 | $1637;
+ $1639 = $1621 & $1593;
+ $1640 = $1621 ^ -1;
+ $1641 = $1624 & $1640;
+ $1642 = $1639 | $1641;
+ $1643 = (($42) + 2053994217)|0;
+ $1644 = (($1643) + ($1568))|0;
+ $1645 = (($1644) + ($1642))|0;
+ $1646 = $1645 << 11;
+ $1647 = $1645 >>> 21;
+ $1648 = $1646 | $1647;
+ $1649 = (($1648) + ($1596))|0;
+ $1650 = $1593 << 10;
+ $1651 = $1593 >>> 22;
+ $1652 = $1650 | $1651;
+ $1653 = $1635 & $1638;
+ $1654 = $1638 ^ -1;
+ $1655 = $1607 & $1654;
+ $1656 = $1653 | $1655;
+ $1657 = (($24) + -1894007588)|0;
+ $1658 = (($1657) + ($1582))|0;
+ $1659 = (($1658) + ($1656))|0;
+ $1660 = $1659 << 14;
+ $1661 = $1659 >>> 18;
+ $1662 = $1660 | $1661;
+ $1663 = (($1662) + ($1610))|0;
+ $1664 = $1607 << 10;
+ $1665 = $1607 >>> 22;
+ $1666 = $1664 | $1665;
+ $1667 = $1649 & $1621;
+ $1668 = $1649 ^ -1;
+ $1669 = $1652 & $1668;
+ $1670 = $1667 | $1669;
+ $1671 = (($78) + 2053994217)|0;
+ $1672 = (($1671) + ($1596))|0;
+ $1673 = (($1672) + ($1670))|0;
+ $1674 = $1673 << 14;
+ $1675 = $1673 >>> 18;
+ $1676 = $1674 | $1675;
+ $1677 = (($1676) + ($1624))|0;
+ $1678 = $1621 << 10;
+ $1679 = $1621 >>> 22;
+ $1680 = $1678 | $1679;
+ $1681 = $1663 & $1666;
+ $1682 = $1666 ^ -1;
+ $1683 = $1635 & $1682;
+ $1684 = $1681 | $1683;
+ $1685 = (($168) + -1894007588)|0;
+ $1686 = (($1685) + ($1610))|0;
+ $1687 = (($1686) + ($1684))|0;
+ $1688 = $1687 << 15;
+ $1689 = $1687 >>> 17;
+ $1690 = $1688 | $1689;
+ $1691 = (($1690) + ($1638))|0;
+ $1692 = $1635 << 10;
+ $1693 = $1635 >>> 22;
+ $1694 = $1692 | $1693;
+ $1695 = $1677 & $1649;
+ $1696 = $1677 ^ -1;
+ $1697 = $1680 & $1696;
+ $1698 = $1695 | $1697;
+ $1699 = (($222) + 2053994217)|0;
+ $1700 = (($1699) + ($1624))|0;
+ $1701 = (($1700) + ($1698))|0;
+ $1702 = $1701 << 14;
+ $1703 = $1701 >>> 18;
+ $1704 = $1702 | $1703;
+ $1705 = (($1704) + ($1652))|0;
+ $1706 = $1649 << 10;
+ $1707 = $1649 >>> 22;
+ $1708 = $1706 | $1707;
+ $1709 = $1691 & $1694;
+ $1710 = $1694 ^ -1;
+ $1711 = $1663 & $1710;
+ $1712 = $1709 | $1711;
+ $1713 = (($240) + -1894007588)|0;
+ $1714 = (($1713) + ($1638))|0;
+ $1715 = (($1714) + ($1712))|0;
+ $1716 = $1715 << 9;
+ $1717 = $1715 >>> 23;
+ $1718 = $1716 | $1717;
+ $1719 = (($1718) + ($1666))|0;
+ $1720 = $1663 << 10;
+ $1721 = $1663 >>> 22;
+ $1722 = $1720 | $1721;
+ $1723 = $1705 & $1677;
+ $1724 = $1705 ^ -1;
+ $1725 = $1708 & $1724;
+ $1726 = $1723 | $1725;
+ $1727 = (($294) + 2053994217)|0;
+ $1728 = (($1727) + ($1652))|0;
+ $1729 = (($1728) + ($1726))|0;
+ $1730 = $1729 << 6;
+ $1731 = $1729 >>> 26;
+ $1732 = $1730 | $1731;
+ $1733 = (($1732) + ($1680))|0;
+ $1734 = $1677 << 10;
+ $1735 = $1677 >>> 22;
+ $1736 = $1734 | $1735;
+ $1737 = $1719 & $1722;
+ $1738 = $1722 ^ -1;
+ $1739 = $1691 & $1738;
+ $1740 = $1737 | $1739;
+ $1741 = (($96) + -1894007588)|0;
+ $1742 = (($1741) + ($1666))|0;
+ $1743 = (($1742) + ($1740))|0;
+ $1744 = $1743 << 8;
+ $1745 = $1743 >>> 24;
+ $1746 = $1744 | $1745;
+ $1747 = (($1746) + ($1694))|0;
+ $1748 = $1691 << 10;
+ $1749 = $1691 >>> 22;
+ $1750 = $1748 | $1749;
+ $1751 = $1733 & $1705;
+ $1752 = $1733 ^ -1;
+ $1753 = $1736 & $1752;
+ $1754 = $1751 | $1753;
+ $1755 = (($24) + 2053994217)|0;
+ $1756 = (($1755) + ($1680))|0;
+ $1757 = (($1756) + ($1754))|0;
+ $1758 = $1757 << 14;
+ $1759 = $1757 >>> 18;
+ $1760 = $1758 | $1759;
+ $1761 = (($1760) + ($1708))|0;
+ $1762 = $1705 << 10;
+ $1763 = $1705 >>> 22;
+ $1764 = $1762 | $1763;
+ $1765 = $1747 & $1750;
+ $1766 = $1750 ^ -1;
+ $1767 = $1719 & $1766;
+ $1768 = $1765 | $1767;
+ $1769 = (($258) + -1894007588)|0;
+ $1770 = (($1769) + ($1694))|0;
+ $1771 = (($1770) + ($1768))|0;
+ $1772 = $1771 << 9;
+ $1773 = $1771 >>> 23;
+ $1774 = $1772 | $1773;
+ $1775 = (($1774) + ($1722))|0;
+ $1776 = $1719 << 10;
+ $1777 = $1719 >>> 22;
+ $1778 = $1776 | $1777;
+ $1779 = $1761 & $1733;
+ $1780 = $1761 ^ -1;
+ $1781 = $1764 & $1780;
+ $1782 = $1779 | $1781;
+ $1783 = (($114) + 2053994217)|0;
+ $1784 = (($1783) + ($1708))|0;
+ $1785 = (($1784) + ($1782))|0;
+ $1786 = $1785 << 6;
+ $1787 = $1785 >>> 26;
+ $1788 = $1786 | $1787;
+ $1789 = (($1788) + ($1736))|0;
+ $1790 = $1733 << 10;
+ $1791 = $1733 >>> 22;
+ $1792 = $1790 | $1791;
+ $1793 = $1775 & $1778;
+ $1794 = $1778 ^ -1;
+ $1795 = $1747 & $1794;
+ $1796 = $1793 | $1795;
+ $1797 = (($78) + -1894007588)|0;
+ $1798 = (($1797) + ($1722))|0;
+ $1799 = (($1798) + ($1796))|0;
+ $1800 = $1799 << 14;
+ $1801 = $1799 >>> 18;
+ $1802 = $1800 | $1801;
+ $1803 = (($1802) + ($1750))|0;
+ $1804 = $1747 << 10;
+ $1805 = $1747 >>> 22;
+ $1806 = $1804 | $1805;
+ $1807 = $1789 & $1761;
+ $1808 = $1789 ^ -1;
+ $1809 = $1792 & $1808;
+ $1810 = $1807 | $1809;
+ $1811 = (($240) + 2053994217)|0;
+ $1812 = (($1811) + ($1736))|0;
+ $1813 = (($1812) + ($1810))|0;
+ $1814 = $1813 << 9;
+ $1815 = $1813 >>> 23;
+ $1816 = $1814 | $1815;
+ $1817 = (($1816) + ($1764))|0;
+ $1818 = $1761 << 10;
+ $1819 = $1761 >>> 22;
+ $1820 = $1818 | $1819;
+ $1821 = $1803 & $1806;
+ $1822 = $1806 ^ -1;
+ $1823 = $1775 & $1822;
+ $1824 = $1821 | $1823;
+ $1825 = (($150) + -1894007588)|0;
+ $1826 = (($1825) + ($1750))|0;
+ $1827 = (($1826) + ($1824))|0;
+ $1828 = $1827 << 5;
+ $1829 = $1827 >>> 27;
+ $1830 = $1828 | $1829;
+ $1831 = (($1830) + ($1778))|0;
+ $1832 = $1775 << 10;
+ $1833 = $1775 >>> 22;
+ $1834 = $1832 | $1833;
+ $1835 = $1817 & $1789;
+ $1836 = $1817 ^ -1;
+ $1837 = $1820 & $1836;
+ $1838 = $1835 | $1837;
+ $1839 = (($60) + 2053994217)|0;
+ $1840 = (($1839) + ($1764))|0;
+ $1841 = (($1840) + ($1838))|0;
+ $1842 = $1841 << 12;
+ $1843 = $1841 >>> 20;
+ $1844 = $1842 | $1843;
+ $1845 = (($1844) + ($1792))|0;
+ $1846 = $1789 << 10;
+ $1847 = $1789 >>> 22;
+ $1848 = $1846 | $1847;
+ $1849 = $1831 & $1834;
+ $1850 = $1834 ^ -1;
+ $1851 = $1803 & $1850;
+ $1852 = $1849 | $1851;
+ $1853 = (($294) + -1894007588)|0;
+ $1854 = (($1853) + ($1778))|0;
+ $1855 = (($1854) + ($1852))|0;
+ $1856 = $1855 << 6;
+ $1857 = $1855 >>> 26;
+ $1858 = $1856 | $1857;
+ $1859 = (($1858) + ($1806))|0;
+ $1860 = $1803 << 10;
+ $1861 = $1803 >>> 22;
+ $1862 = $1860 | $1861;
+ $1863 = $1845 & $1817;
+ $1864 = $1845 ^ -1;
+ $1865 = $1848 & $1864;
+ $1866 = $1863 | $1865;
+ $1867 = (($258) + 2053994217)|0;
+ $1868 = (($1867) + ($1792))|0;
+ $1869 = (($1868) + ($1866))|0;
+ $1870 = $1869 << 9;
+ $1871 = $1869 >>> 23;
+ $1872 = $1870 | $1871;
+ $1873 = (($1872) + ($1820))|0;
+ $1874 = $1817 << 10;
+ $1875 = $1817 >>> 22;
+ $1876 = $1874 | $1875;
+ $1877 = $1859 & $1862;
+ $1878 = $1862 ^ -1;
+ $1879 = $1831 & $1878;
+ $1880 = $1877 | $1879;
+ $1881 = (($276) + -1894007588)|0;
+ $1882 = (($1881) + ($1806))|0;
+ $1883 = (($1882) + ($1880))|0;
+ $1884 = $1883 << 8;
+ $1885 = $1883 >>> 24;
+ $1886 = $1884 | $1885;
+ $1887 = (($1886) + ($1834))|0;
+ $1888 = $1831 << 10;
+ $1889 = $1831 >>> 22;
+ $1890 = $1888 | $1889;
+ $1891 = $1873 & $1845;
+ $1892 = $1873 ^ -1;
+ $1893 = $1876 & $1892;
+ $1894 = $1891 | $1893;
+ $1895 = (($186) + 2053994217)|0;
+ $1896 = (($1895) + ($1820))|0;
+ $1897 = (($1896) + ($1894))|0;
+ $1898 = $1897 << 12;
+ $1899 = $1897 >>> 20;
+ $1900 = $1898 | $1899;
+ $1901 = (($1900) + ($1848))|0;
+ $1902 = $1845 << 10;
+ $1903 = $1845 >>> 22;
+ $1904 = $1902 | $1903;
+ $1905 = $1887 & $1890;
+ $1906 = $1890 ^ -1;
+ $1907 = $1859 & $1906;
+ $1908 = $1905 | $1907;
+ $1909 = (($114) + -1894007588)|0;
+ $1910 = (($1909) + ($1834))|0;
+ $1911 = (($1910) + ($1908))|0;
+ $1912 = $1911 << 6;
+ $1913 = $1911 >>> 26;
+ $1914 = $1912 | $1913;
+ $1915 = (($1914) + ($1862))|0;
+ $1916 = $1859 << 10;
+ $1917 = $1859 >>> 22;
+ $1918 = $1916 | $1917;
+ $1919 = $1901 & $1873;
+ $1920 = $1901 ^ -1;
+ $1921 = $1904 & $1920;
+ $1922 = $1919 | $1921;
+ $1923 = (($150) + 2053994217)|0;
+ $1924 = (($1923) + ($1848))|0;
+ $1925 = (($1924) + ($1922))|0;
+ $1926 = $1925 << 5;
+ $1927 = $1925 >>> 27;
+ $1928 = $1926 | $1927;
+ $1929 = (($1928) + ($1876))|0;
+ $1930 = $1873 << 10;
+ $1931 = $1873 >>> 22;
+ $1932 = $1930 | $1931;
+ $1933 = $1915 & $1918;
+ $1934 = $1918 ^ -1;
+ $1935 = $1887 & $1934;
+ $1936 = $1933 | $1935;
+ $1937 = (($132) + -1894007588)|0;
+ $1938 = (($1937) + ($1862))|0;
+ $1939 = (($1938) + ($1936))|0;
+ $1940 = $1939 << 5;
+ $1941 = $1939 >>> 27;
+ $1942 = $1940 | $1941;
+ $1943 = (($1942) + ($1890))|0;
+ $1944 = $1887 << 10;
+ $1945 = $1887 >>> 22;
+ $1946 = $1944 | $1945;
+ $1947 = $1929 & $1901;
+ $1948 = $1929 ^ -1;
+ $1949 = $1932 & $1948;
+ $1950 = $1947 | $1949;
+ $1951 = (($204) + 2053994217)|0;
+ $1952 = (($1951) + ($1876))|0;
+ $1953 = (($1952) + ($1950))|0;
+ $1954 = $1953 << 15;
+ $1955 = $1953 >>> 17;
+ $1956 = $1954 | $1955;
+ $1957 = (($1956) + ($1904))|0;
+ $1958 = $1901 << 10;
+ $1959 = $1901 >>> 22;
+ $1960 = $1958 | $1959;
+ $1961 = $1943 & $1946;
+ $1962 = $1946 ^ -1;
+ $1963 = $1915 & $1962;
+ $1964 = $1961 | $1963;
+ $1965 = (($60) + -1894007588)|0;
+ $1966 = (($1965) + ($1890))|0;
+ $1967 = (($1966) + ($1964))|0;
+ $1968 = $1967 << 12;
+ $1969 = $1967 >>> 20;
+ $1970 = $1968 | $1969;
+ $1971 = (($1970) + ($1918))|0;
+ $1972 = $1915 << 10;
+ $1973 = $1915 >>> 22;
+ $1974 = $1972 | $1973;
+ $1975 = $1957 & $1929;
+ $1976 = $1957 ^ -1;
+ $1977 = $1960 & $1976;
+ $1978 = $1975 | $1977;
+ $1979 = (($276) + 2053994217)|0;
+ $1980 = (($1979) + ($1904))|0;
+ $1981 = (($1980) + ($1978))|0;
+ $1982 = $1981 << 8;
+ $1983 = $1981 >>> 24;
+ $1984 = $1982 | $1983;
+ $1985 = (($1984) + ($1932))|0;
+ $1986 = $1929 << 10;
+ $1987 = $1929 >>> 22;
+ $1988 = $1986 | $1987;
+ $1989 = $1974 ^ -1;
+ $1990 = $1943 | $1989;
+ $1991 = $1971 ^ $1990;
+ $1992 = (($96) + -1454113458)|0;
+ $1993 = (($1992) + ($1918))|0;
+ $1994 = (($1993) + ($1991))|0;
+ $1995 = $1994 << 9;
+ $1996 = $1994 >>> 23;
+ $1997 = $1995 | $1996;
+ $1998 = (($1997) + ($1946))|0;
+ $1999 = $1943 << 10;
+ $2000 = $1943 >>> 22;
+ $2001 = $1999 | $2000;
+ $2002 = $1957 ^ $1988;
+ $2003 = $2002 ^ $1985;
+ $2004 = (($1932) + ($240))|0;
+ $2005 = (($2004) + ($2003))|0;
+ $2006 = $2005 << 8;
+ $2007 = $2005 >>> 24;
+ $2008 = $2006 | $2007;
+ $2009 = (($2008) + ($1960))|0;
+ $2010 = $1957 << 10;
+ $2011 = $1957 >>> 22;
+ $2012 = $2010 | $2011;
+ $2013 = $2001 ^ -1;
+ $2014 = $1971 | $2013;
+ $2015 = $1998 ^ $2014;
+ $2016 = (($24) + -1454113458)|0;
+ $2017 = (($2016) + ($1946))|0;
+ $2018 = (($2017) + ($2015))|0;
+ $2019 = $2018 << 15;
+ $2020 = $2018 >>> 17;
+ $2021 = $2019 | $2020;
+ $2022 = (($2021) + ($1974))|0;
+ $2023 = $1971 << 10;
+ $2024 = $1971 >>> 22;
+ $2025 = $2023 | $2024;
+ $2026 = $1985 ^ $2012;
+ $2027 = $2026 ^ $2009;
+ $2028 = (($1960) + ($294))|0;
+ $2029 = (($2028) + ($2027))|0;
+ $2030 = $2029 << 5;
+ $2031 = $2029 >>> 27;
+ $2032 = $2030 | $2031;
+ $2033 = (($2032) + ($1988))|0;
+ $2034 = $1985 << 10;
+ $2035 = $1985 >>> 22;
+ $2036 = $2034 | $2035;
+ $2037 = $2025 ^ -1;
+ $2038 = $1998 | $2037;
+ $2039 = $2022 ^ $2038;
+ $2040 = (($114) + -1454113458)|0;
+ $2041 = (($2040) + ($1974))|0;
+ $2042 = (($2041) + ($2039))|0;
+ $2043 = $2042 << 5;
+ $2044 = $2042 >>> 27;
+ $2045 = $2043 | $2044;
+ $2046 = (($2045) + ($2001))|0;
+ $2047 = $1998 << 10;
+ $2048 = $1998 >>> 22;
+ $2049 = $2047 | $2048;
+ $2050 = $2009 ^ $2036;
+ $2051 = $2050 ^ $2033;
+ $2052 = (($1988) + ($204))|0;
+ $2053 = (($2052) + ($2051))|0;
+ $2054 = $2053 << 12;
+ $2055 = $2053 >>> 20;
+ $2056 = $2054 | $2055;
+ $2057 = (($2056) + ($2012))|0;
+ $2058 = $2009 << 10;
+ $2059 = $2009 >>> 22;
+ $2060 = $2058 | $2059;
+ $2061 = $2049 ^ -1;
+ $2062 = $2022 | $2061;
+ $2063 = $2046 ^ $2062;
+ $2064 = (($186) + -1454113458)|0;
+ $2065 = (($2064) + ($2001))|0;
+ $2066 = (($2065) + ($2063))|0;
+ $2067 = $2066 << 11;
+ $2068 = $2066 >>> 21;
+ $2069 = $2067 | $2068;
+ $2070 = (($2069) + ($2025))|0;
+ $2071 = $2022 << 10;
+ $2072 = $2022 >>> 22;
+ $2073 = $2071 | $2072;
+ $2074 = $2033 ^ $2060;
+ $2075 = $2074 ^ $2057;
+ $2076 = (($2012) + ($96))|0;
+ $2077 = (($2076) + ($2075))|0;
+ $2078 = $2077 << 9;
+ $2079 = $2077 >>> 23;
+ $2080 = $2078 | $2079;
+ $2081 = (($2080) + ($2036))|0;
+ $2082 = $2033 << 10;
+ $2083 = $2033 >>> 22;
+ $2084 = $2082 | $2083;
+ $2085 = $2073 ^ -1;
+ $2086 = $2046 | $2085;
+ $2087 = $2070 ^ $2086;
+ $2088 = (($150) + -1454113458)|0;
+ $2089 = (($2088) + ($2025))|0;
+ $2090 = (($2089) + ($2087))|0;
+ $2091 = $2090 << 6;
+ $2092 = $2090 >>> 26;
+ $2093 = $2091 | $2092;
+ $2094 = (($2093) + ($2049))|0;
+ $2095 = $2046 << 10;
+ $2096 = $2046 >>> 22;
+ $2097 = $2095 | $2096;
+ $2098 = $2057 ^ $2084;
+ $2099 = $2098 ^ $2081;
+ $2100 = (($2036) + ($42))|0;
+ $2101 = (($2100) + ($2099))|0;
+ $2102 = $2101 << 12;
+ $2103 = $2101 >>> 20;
+ $2104 = $2102 | $2103;
+ $2105 = (($2104) + ($2060))|0;
+ $2106 = $2057 << 10;
+ $2107 = $2057 >>> 22;
+ $2108 = $2106 | $2107;
+ $2109 = $2097 ^ -1;
+ $2110 = $2070 | $2109;
+ $2111 = $2094 ^ $2110;
+ $2112 = (($240) + -1454113458)|0;
+ $2113 = (($2112) + ($2049))|0;
+ $2114 = (($2113) + ($2111))|0;
+ $2115 = $2114 << 8;
+ $2116 = $2114 >>> 24;
+ $2117 = $2115 | $2116;
+ $2118 = (($2117) + ($2073))|0;
+ $2119 = $2070 << 10;
+ $2120 = $2070 >>> 22;
+ $2121 = $2119 | $2120;
+ $2122 = $2081 ^ $2108;
+ $2123 = $2122 ^ $2105;
+ $2124 = (($2060) + ($114))|0;
+ $2125 = (($2124) + ($2123))|0;
+ $2126 = $2125 << 5;
+ $2127 = $2125 >>> 27;
+ $2128 = $2126 | $2127;
+ $2129 = (($2128) + ($2084))|0;
+ $2130 = $2081 << 10;
+ $2131 = $2081 >>> 22;
+ $2132 = $2130 | $2131;
+ $2133 = $2121 ^ -1;
+ $2134 = $2094 | $2133;
+ $2135 = $2118 ^ $2134;
+ $2136 = (($60) + -1454113458)|0;
+ $2137 = (($2136) + ($2073))|0;
+ $2138 = (($2137) + ($2135))|0;
+ $2139 = $2138 << 13;
+ $2140 = $2138 >>> 19;
+ $2141 = $2139 | $2140;
+ $2142 = (($2141) + ($2097))|0;
+ $2143 = $2094 << 10;
+ $2144 = $2094 >>> 22;
+ $2145 = $2143 | $2144;
+ $2146 = $2105 ^ $2132;
+ $2147 = $2146 ^ $2129;
+ $2148 = (($2084) + ($168))|0;
+ $2149 = (($2148) + ($2147))|0;
+ $2150 = $2149 << 14;
+ $2151 = $2149 >>> 18;
+ $2152 = $2150 | $2151;
+ $2153 = (($2152) + ($2108))|0;
+ $2154 = $2105 << 10;
+ $2155 = $2105 >>> 22;
+ $2156 = $2154 | $2155;
+ $2157 = $2145 ^ -1;
+ $2158 = $2118 | $2157;
+ $2159 = $2142 ^ $2158;
+ $2160 = (($204) + -1454113458)|0;
+ $2161 = (($2160) + ($2097))|0;
+ $2162 = (($2161) + ($2159))|0;
+ $2163 = $2162 << 12;
+ $2164 = $2162 >>> 20;
+ $2165 = $2163 | $2164;
+ $2166 = (($2165) + ($2121))|0;
+ $2167 = $2118 << 10;
+ $2168 = $2118 >>> 22;
+ $2169 = $2167 | $2168;
+ $2170 = $2129 ^ $2156;
+ $2171 = $2170 ^ $2153;
+ $2172 = (($2108) + ($150))|0;
+ $2173 = (($2172) + ($2171))|0;
+ $2174 = $2173 << 6;
+ $2175 = $2173 >>> 26;
+ $2176 = $2174 | $2175;
+ $2177 = (($2176) + ($2132))|0;
+ $2178 = $2129 << 10;
+ $2179 = $2129 >>> 22;
+ $2180 = $2178 | $2179;
+ $2181 = $2169 ^ -1;
+ $2182 = $2142 | $2181;
+ $2183 = $2166 ^ $2182;
+ $2184 = (($276) + -1454113458)|0;
+ $2185 = (($2184) + ($2121))|0;
+ $2186 = (($2185) + ($2183))|0;
+ $2187 = $2186 << 5;
+ $2188 = $2186 >>> 27;
+ $2189 = $2187 | $2188;
+ $2190 = (($2189) + ($2145))|0;
+ $2191 = $2142 << 10;
+ $2192 = $2142 >>> 22;
+ $2193 = $2191 | $2192;
+ $2194 = $2153 ^ $2180;
+ $2195 = $2194 ^ $2177;
+ $2196 = (($2132) + ($132))|0;
+ $2197 = (($2196) + ($2195))|0;
+ $2198 = $2197 << 8;
+ $2199 = $2197 >>> 24;
+ $2200 = $2198 | $2199;
+ $2201 = (($2200) + ($2156))|0;
+ $2202 = $2153 << 10;
+ $2203 = $2153 >>> 22;
+ $2204 = $2202 | $2203;
+ $2205 = $2193 ^ -1;
+ $2206 = $2166 | $2205;
+ $2207 = $2190 ^ $2206;
+ $2208 = (($42) + -1454113458)|0;
+ $2209 = (($2208) + ($2145))|0;
+ $2210 = (($2209) + ($2207))|0;
+ $2211 = $2210 << 12;
+ $2212 = $2210 >>> 20;
+ $2213 = $2211 | $2212;
+ $2214 = (($2213) + ($2169))|0;
+ $2215 = $2166 << 10;
+ $2216 = $2166 >>> 22;
+ $2217 = $2215 | $2216;
+ $2218 = $2177 ^ $2204;
+ $2219 = $2218 ^ $2201;
+ $2220 = (($2156) + ($60))|0;
+ $2221 = (($2220) + ($2219))|0;
+ $2222 = $2221 << 13;
+ $2223 = $2221 >>> 19;
+ $2224 = $2222 | $2223;
+ $2225 = (($2224) + ($2180))|0;
+ $2226 = $2177 << 10;
+ $2227 = $2177 >>> 22;
+ $2228 = $2226 | $2227;
+ $2229 = $2217 ^ -1;
+ $2230 = $2190 | $2229;
+ $2231 = $2214 ^ $2230;
+ $2232 = (($78) + -1454113458)|0;
+ $2233 = (($2232) + ($2169))|0;
+ $2234 = (($2233) + ($2231))|0;
+ $2235 = $2234 << 13;
+ $2236 = $2234 >>> 19;
+ $2237 = $2235 | $2236;
+ $2238 = (($2237) + ($2193))|0;
+ $2239 = $2190 << 10;
+ $2240 = $2190 >>> 22;
+ $2241 = $2239 | $2240;
+ $2242 = $2201 ^ $2228;
+ $2243 = $2242 ^ $2225;
+ $2244 = (($2180) + ($258))|0;
+ $2245 = (($2244) + ($2243))|0;
+ $2246 = $2245 << 6;
+ $2247 = $2245 >>> 26;
+ $2248 = $2246 | $2247;
+ $2249 = (($2248) + ($2204))|0;
+ $2250 = $2201 << 10;
+ $2251 = $2201 >>> 22;
+ $2252 = $2250 | $2251;
+ $2253 = $2241 ^ -1;
+ $2254 = $2214 | $2253;
+ $2255 = $2238 ^ $2254;
+ $2256 = (($168) + -1454113458)|0;
+ $2257 = (($2256) + ($2193))|0;
+ $2258 = (($2257) + ($2255))|0;
+ $2259 = $2258 << 14;
+ $2260 = $2258 >>> 18;
+ $2261 = $2259 | $2260;
+ $2262 = (($2261) + ($2217))|0;
+ $2263 = $2214 << 10;
+ $2264 = $2214 >>> 22;
+ $2265 = $2263 | $2264;
+ $2266 = $2225 ^ $2252;
+ $2267 = $2266 ^ $2249;
+ $2268 = (($2204) + ($276))|0;
+ $2269 = (($2268) + ($2267))|0;
+ $2270 = $2269 << 5;
+ $2271 = $2269 >>> 27;
+ $2272 = $2270 | $2271;
+ $2273 = (($2272) + ($2228))|0;
+ $2274 = $2225 << 10;
+ $2275 = $2225 >>> 22;
+ $2276 = $2274 | $2275;
+ $2277 = $2265 ^ -1;
+ $2278 = $2238 | $2277;
+ $2279 = $2262 ^ $2278;
+ $2280 = (($222) + -1454113458)|0;
+ $2281 = (($2280) + ($2217))|0;
+ $2282 = (($2281) + ($2279))|0;
+ $2283 = $2282 << 11;
+ $2284 = $2282 >>> 21;
+ $2285 = $2283 | $2284;
+ $2286 = (($2285) + ($2241))|0;
+ $2287 = $2238 << 10;
+ $2288 = $2238 >>> 22;
+ $2289 = $2287 | $2288;
+ $2290 = $2249 ^ $2276;
+ $2291 = $2290 ^ $2273;
+ $2292 = (($2228) + ($24))|0;
+ $2293 = (($2292) + ($2291))|0;
+ $2294 = $2293 << 15;
+ $2295 = $2293 >>> 17;
+ $2296 = $2294 | $2295;
+ $2297 = (($2296) + ($2252))|0;
+ $2298 = $2249 << 10;
+ $2299 = $2249 >>> 22;
+ $2300 = $2298 | $2299;
+ $2301 = $2289 ^ -1;
+ $2302 = $2262 | $2301;
+ $2303 = $2286 ^ $2302;
+ $2304 = (($132) + -1454113458)|0;
+ $2305 = (($2304) + ($2241))|0;
+ $2306 = (($2305) + ($2303))|0;
+ $2307 = $2306 << 8;
+ $2308 = $2306 >>> 24;
+ $2309 = $2307 | $2308;
+ $2310 = (($2309) + ($2265))|0;
+ $2311 = $2262 << 10;
+ $2312 = $2262 >>> 22;
+ $2313 = $2311 | $2312;
+ $2314 = $2273 ^ $2300;
+ $2315 = $2314 ^ $2297;
+ $2316 = (($2252) + ($78))|0;
+ $2317 = (($2316) + ($2315))|0;
+ $2318 = $2317 << 13;
+ $2319 = $2317 >>> 19;
+ $2320 = $2318 | $2319;
+ $2321 = (($2320) + ($2276))|0;
+ $2322 = $2273 << 10;
+ $2323 = $2273 >>> 22;
+ $2324 = $2322 | $2323;
+ $2325 = $2313 ^ -1;
+ $2326 = $2286 | $2325;
+ $2327 = $2310 ^ $2326;
+ $2328 = (($294) + -1454113458)|0;
+ $2329 = (($2328) + ($2265))|0;
+ $2330 = (($2329) + ($2327))|0;
+ $2331 = $2330 << 5;
+ $2332 = $2330 >>> 27;
+ $2333 = $2331 | $2332;
+ $2334 = (($2333) + ($2289))|0;
+ $2335 = $2286 << 10;
+ $2336 = $2286 >>> 22;
+ $2337 = $2335 | $2336;
+ $2338 = $2297 ^ $2324;
+ $2339 = $2338 ^ $2321;
+ $2340 = (($2276) + ($186))|0;
+ $2341 = (($2340) + ($2339))|0;
+ $2342 = $2341 << 11;
+ $2343 = $2341 >>> 21;
+ $2344 = $2342 | $2343;
+ $2345 = (($2344) + ($2300))|0;
+ $2346 = $2297 << 10;
+ $2347 = $2297 >>> 22;
+ $2348 = $2346 | $2347;
+ $2349 = $2337 ^ -1;
+ $2350 = $2310 | $2349;
+ $2351 = $2334 ^ $2350;
+ $2352 = (($258) + -1454113458)|0;
+ $2353 = (($2352) + ($2289))|0;
+ $2354 = (($2353) + ($2351))|0;
+ $2355 = $2354 << 6;
+ $2356 = $2354 >>> 26;
+ $2357 = $2355 | $2356;
+ $2358 = $2310 << 10;
+ $2359 = $2310 >>> 22;
+ $2360 = $2358 | $2359;
+ $2361 = $2321 ^ $2348;
+ $2362 = $2361 ^ $2345;
+ $2363 = (($2300) + ($222))|0;
+ $2364 = (($2363) + ($2362))|0;
+ $2365 = $2364 << 11;
+ $2366 = $2364 >>> 21;
+ $2367 = $2365 | $2366;
+ $2368 = $2321 << 10;
+ $2369 = $2321 >>> 22;
+ $2370 = $2368 | $2369;
+ $2371 = (($2370) + ($296))|0;
+ $2372 = (($2371) + ($2334))|0;
+ $2373 = (($2348) + ($297))|0;
+ $2374 = (($2373) + ($2360))|0;
+ HEAP32[$4>>2] = $2374;
+ $2375 = (($2324) + ($298))|0;
+ $2376 = (($2375) + ($2337))|0;
+ HEAP32[$5>>2] = $2376;
+ $2377 = (($2313) + ($299))|0;
+ $2378 = (($2377) + ($2324))|0;
+ $2379 = (($2378) + ($2367))|0;
+ HEAP32[$6>>2] = $2379;
+ $2380 = (($2313) + ($295))|0;
+ $2381 = (($2380) + ($2345))|0;
+ $2382 = (($2381) + ($2357))|0;
+ HEAP32[$7>>2] = $2382;
+ HEAP32[$3>>2] = $2372;
+ $2383 = ((($$0)) + 64|0);
+ $2384 = (($$05) + -1)|0;
+ $2385 = ($2384|0)==(0);
+ if ($2385) {
+ break;
+ } else {
+ $$0 = $2383;$$05 = $2384;
+ }
+ }
+ return 124;
+}
+function __gcry_rmd160_init($0) {
+ $0 = $0|0;
+ var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = ((($0)) + 160|0);
+ HEAP32[$1>>2] = 1732584193;
+ $2 = ((($0)) + 164|0);
+ HEAP32[$2>>2] = -271733879;
+ $3 = ((($0)) + 168|0);
+ HEAP32[$3>>2] = -1732584194;
+ $4 = ((($0)) + 172|0);
+ HEAP32[$4>>2] = 271733878;
+ $5 = ((($0)) + 176|0);
+ HEAP32[$5>>2] = -1009589776;
+ $6 = ((($0)) + 128|0);
+ $7 = ((($0)) + 148|0);
+ ;HEAP32[$6>>2]=0|0;HEAP32[$6+4>>2]=0|0;HEAP32[$6+8>>2]=0|0;HEAP32[$6+12>>2]=0|0;HEAP32[$6+16>>2]=0|0;
+ HEAP32[$7>>2] = 64;
+ $8 = ((($0)) + 152|0);
+ HEAP32[$8>>2] = 76;
+ return;
+}
+function __gcry_rmd160_mixblock($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ (_transform($0,$1,1)|0);
+ $2 = ((($0)) + 160|0);
+ $3 = HEAP32[$2>>2]|0;
+ HEAP32[$1>>2] = $3;
+ $4 = ((($0)) + 164|0);
+ $5 = HEAP32[$4>>2]|0;
+ $6 = ((($1)) + 4|0);
+ HEAP32[$6>>2] = $5;
+ $7 = ((($0)) + 168|0);
+ $8 = HEAP32[$7>>2]|0;
+ $9 = ((($1)) + 8|0);
+ HEAP32[$9>>2] = $8;
+ $10 = ((($0)) + 172|0);
+ $11 = HEAP32[$10>>2]|0;
+ $12 = ((($1)) + 12|0);
+ HEAP32[$12>>2] = $11;
+ $13 = ((($0)) + 176|0);
+ $14 = HEAP32[$13>>2]|0;
+ $15 = ((($1)) + 16|0);
+ HEAP32[$15>>2] = $14;
+ return;
+}
+function __gcry_rmd160_hash_buffer($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 192|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(192|0);
+ $3 = sp;
+ $4 = ((($3)) + 160|0);
+ HEAP32[$4>>2] = 1732584193;
+ $5 = ((($3)) + 164|0);
+ HEAP32[$5>>2] = -271733879;
+ $6 = ((($3)) + 168|0);
+ HEAP32[$6>>2] = -1732584194;
+ $7 = ((($3)) + 172|0);
+ HEAP32[$7>>2] = 271733878;
+ $8 = ((($3)) + 176|0);
+ HEAP32[$8>>2] = -1009589776;
+ $9 = ((($3)) + 128|0);
+ $10 = ((($3)) + 148|0);
+ ;HEAP32[$9>>2]=0|0;HEAP32[$9+4>>2]=0|0;HEAP32[$9+8>>2]=0|0;HEAP32[$9+12>>2]=0|0;HEAP32[$9+16>>2]=0|0;
+ HEAP32[$10>>2] = 64;
+ $11 = ((($3)) + 152|0);
+ HEAP32[$11>>2] = 76;
+ __gcry_md_block_write($3,$1,$2);
+ _rmd160_final($3);
+ dest=$0; src=$3; stop=dest+20|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
+ STACKTOP = sp;return;
+}
+function __gcry_rsa_pkcs1_encode_for_enc($0,$1,$2,$3,$4,$5) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ $5 = $5|0;
+ var $$091103$us = 0, $$091103$us$be = 0, $$093102$us = 0, $$093102$us$be = 0, $$096122 = 0, $$1 = 0, $$1100 = 0, $$1100$in = 0, $$194104$us = 0, $$2105$us = 0, $$3$us = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0;
+ var $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0;
+ var $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0;
+ var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $or$cond = 0, $spec$select$us = 0, $spec$select101$us = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $6 = sp;
+ $7 = (($1) + 7)|0;
+ $8 = $7 >>> 3;
+ HEAP32[$6>>2] = $8;
+ $9 = (($3) + 7)|0;
+ $10 = ($9>>>0)<=($8>>>0);
+ $11 = ($8|0)!=(0);
+ $or$cond = $11 & $10;
+ if (!($or$cond)) {
+ $$1 = 66;
+ STACKTOP = sp;return ($$1|0);
+ }
+ $12 = (__gcry_malloc_secure($8)|0);
+ $13 = ($12|0)==(0|0);
+ if ($13) {
+ $14 = (_gpg_err_code_from_syserror()|0);
+ $$1 = $14;
+ STACKTOP = sp;return ($$1|0);
+ }
+ HEAP8[$12>>0] = 0;
+ $15 = ((($12)) + 1|0);
+ HEAP8[$15>>0] = 2;
+ $16 = (-3 - ($3))|0;
+ $17 = (($16) + ($8))|0;
+ $18 = ($17|0)>(0);
+ if (!($18)) {
+ __gcry_assert_failed(60590,60596,95,60609);
+ // unreachable;
+ }
+ $19 = ($4|0)==(0|0);
+ if ($19) {
+ $28 = (__gcry_random_bytes_secure($17,1)|0);
+ $$091103$us = 0;$$093102$us = 0;
+ while(1) {
+ $46 = (($28) + ($$093102$us)|0);
+ $47 = HEAP8[$46>>0]|0;
+ $48 = ($47<<24>>24)==(0);
+ $49 = $48&1;
+ $spec$select$us = (($$091103$us) + ($49))|0;
+ $50 = (($$093102$us) + 1)|0;
+ $exitcond = ($50|0)==($17|0);
+ if ($exitcond) {
+ $51 = ($spec$select$us|0)==(0);
+ if ($51) {
+ break;
+ }
+ $29 = $spec$select$us >>> 7;
+ $30 = (($spec$select$us) + 3)|0;
+ $31 = (($30) + ($29))|0;
+ $32 = (__gcry_random_bytes_secure($31,1)|0);
+ $33 = ($31|0)==(0);
+ if (!($33)) {
+ $$194104$us = 0;$$2105$us = $31;
+ while(1) {
+ $34 = (($28) + ($$194104$us)|0);
+ $35 = HEAP8[$34>>0]|0;
+ $36 = ($35<<24>>24)==(0);
+ $37 = (($$2105$us) + -1)|0;
+ if ($36) {
+ $38 = (($32) + ($37)|0);
+ $39 = HEAP8[$38>>0]|0;
+ HEAP8[$34>>0] = $39;
+ $$3$us = $37;$41 = $39;
+ } else {
+ $$3$us = $$2105$us;$41 = $35;
+ }
+ $40 = ($41<<24>>24)!=(0);
+ $42 = $40&1;
+ $spec$select101$us = (($$194104$us) + ($42))|0;
+ $43 = ($spec$select101$us|0)<($17|0);
+ $44 = ($$3$us|0)!=(0);
+ $45 = $43 & $44;
+ if ($45) {
+ $$194104$us = $spec$select101$us;$$2105$us = $$3$us;
+ } else {
+ break;
+ }
+ }
+ }
+ __gcry_free($32);
+ $$091103$us$be = 0;$$093102$us$be = 0;
+ } else {
+ $$091103$us$be = $spec$select$us;$$093102$us$be = $50;
+ }
+ $$091103$us = $$091103$us$be;$$093102$us = $$093102$us$be;
+ }
+ $52 = ((($12)) + 2|0);
+ _memcpy(($52|0),($28|0),($17|0))|0;
+ __gcry_free($28);
+ $$1100$in = $17;
+ } else {
+ $20 = ($17|0)==($5|0);
+ if (!($20)) {
+ __gcry_free($12);
+ $$1 = 45;
+ STACKTOP = sp;return ($$1|0);
+ }
+ $21 = ($5|0)==(0);
+ L33: do {
+ if (!($21)) {
+ $$096122 = 0;
+ while(1) {
+ $24 = (($4) + ($$096122)|0);
+ $25 = HEAP8[$24>>0]|0;
+ $26 = ($25<<24>>24)==(0);
+ $23 = (($$096122) + 1)|0;
+ if ($26) {
+ break;
+ }
+ $22 = ($23>>>0)<($5>>>0);
+ if ($22) {
+ $$096122 = $23;
+ } else {
+ break L33;
+ }
+ }
+ __gcry_free($12);
+ $$1 = 45;
+ STACKTOP = sp;return ($$1|0);
+ }
+ } while(0);
+ $27 = ((($12)) + 2|0);
+ _memcpy(($27|0),($4|0),($5|0))|0;
+ $$1100$in = $5;
+ }
+ $$1100 = (($$1100$in) + 2)|0;
+ $53 = (($$1100$in) + 3)|0;
+ $54 = (($12) + ($$1100)|0);
+ HEAP8[$54>>0] = 0;
+ $55 = (($12) + ($53)|0);
+ _memcpy(($55|0),($2|0),($3|0))|0;
+ $56 = (($53) + ($3))|0;
+ $57 = ($56|0)==($8|0);
+ if (!($57)) {
+ __gcry_assert_failed(60640,60596,153,60609);
+ // unreachable;
+ }
+ $58 = (__gcry_mpi_scan($0,5,$12,$8,$6)|0);
+ $59 = ($58|0)==(0);
+ if ($59) {
+ $60 = (__gcry_get_debug_flag(1)|0);
+ $61 = ($60|0)==(0);
+ if (!($61)) {
+ $62 = HEAP32[$0>>2]|0;
+ __gcry_log_printmpi(60652,$62);
+ }
+ }
+ __gcry_free($12);
+ $$1 = $58;
+ STACKTOP = sp;return ($$1|0);
+}
+function __gcry_rsa_pkcs1_decode_for_enc($0,$1,$2,$3) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ var $$0 = 0, $$lcssa = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
+ var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $spec$store$select = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $4 = sp;
+ $5 = (($2) + 7)|0;
+ $6 = $5 >>> 3;
+ HEAP32[$0>>2] = 0;
+ $7 = (__gcry_malloc_secure($6)|0);
+ $8 = ($7|0)==(0|0);
+ if ($8) {
+ $9 = (_gpg_err_code_from_syserror()|0);
+ $$0 = $9;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $10 = (__gcry_mpi_print(5,$7,$6,$4,$3)|0);
+ $11 = ($10|0)==(0);
+ if (!($11)) {
+ __gcry_free($7);
+ $12 = $10 & 65535;
+ $$0 = $12;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $13 = HEAP32[$4>>2]|0;
+ $14 = ($13>>>0)<(4);
+ if ($14) {
+ __gcry_free($7);
+ $$0 = 155;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $15 = HEAP8[$7>>0]|0;
+ $16 = ($15<<24>>24)==(0);
+ $spec$store$select = $16&1;
+ $17 = $16 ? 2 : 1;
+ HEAP32[$4>>2] = $17;
+ $18 = (($7) + ($spec$store$select)|0);
+ $19 = HEAP8[$18>>0]|0;
+ $20 = ($19<<24>>24)==(2);
+ if (!($20)) {
+ __gcry_free($7);
+ $$0 = 155;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $21 = ($17>>>0)<($13>>>0);
+ L17: do {
+ if ($21) {
+ $23 = $17;
+ while(1) {
+ $22 = (($7) + ($23)|0);
+ $24 = HEAP8[$22>>0]|0;
+ $25 = ($24<<24>>24)==(0);
+ if ($25) {
+ $$lcssa = $23;
+ break L17;
+ }
+ $26 = (($23) + 1)|0;
+ HEAP32[$4>>2] = $26;
+ $27 = ($26>>>0)<($13>>>0);
+ if ($27) {
+ $23 = $26;
+ } else {
+ $$lcssa = $26;
+ break;
+ }
+ }
+ } else {
+ $$lcssa = $17;
+ }
+ } while(0);
+ $28 = (($$lcssa) + 1)|0;
+ $29 = ($13>>>0)>($28>>>0);
+ if (!($29)) {
+ __gcry_free($7);
+ $$0 = 155;
+ STACKTOP = sp;return ($$0|0);
+ }
+ HEAP32[$4>>2] = $28;
+ $30 = (($7) + ($28)|0);
+ $31 = (($13) - ($28))|0;
+ _memmove(($7|0),($30|0),($31|0))|0;
+ HEAP32[$0>>2] = $7;
+ HEAP32[$1>>2] = $31;
+ $32 = (__gcry_get_debug_flag(1)|0);
+ $33 = ($32|0)==(0);
+ if ($33) {
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $34 = HEAP32[$0>>2]|0;
+ $35 = HEAP32[$1>>2]|0;
+ __gcry_log_printhex(60685,$34,$35);
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+}
+function __gcry_rsa_pkcs1_encode_for_sig($0,$1,$2,$3,$4) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
+ var $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0);
+ $5 = sp;
+ $6 = sp + 104|0;
+ $7 = sp + 100|0;
+ $8 = (($1) + 7)|0;
+ $9 = $8 >>> 3;
+ HEAP32[$6>>2] = $9;
+ HEAP32[$7>>2] = 100;
+ $10 = (__gcry_md_get_algo_dlen($4)|0);
+ $11 = (__gcry_md_algo_info($4,10,$5,$7)|0);
+ $12 = ($11|0)==(0);
+ if (!($12)) {
+ $$0 = 69;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $13 = ($10|0)==($3|0);
+ if (!($13)) {
+ $$0 = 70;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $14 = ($3|0)==(0);
+ if ($14) {
+ $$0 = 66;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $15 = HEAP32[$7>>2]|0;
+ $16 = (($3) + 4)|0;
+ $17 = (($16) + ($15))|0;
+ $18 = ($17>>>0)>($9>>>0);
+ if ($18) {
+ $$0 = 66;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $19 = (__gcry_malloc($9)|0);
+ $20 = ($19|0)==(0|0);
+ if ($20) {
+ $21 = (_gpg_err_code_from_syserror()|0);
+ $$0 = $21;
+ STACKTOP = sp;return ($$0|0);
+ }
+ HEAP8[$19>>0] = 0;
+ $22 = ((($19)) + 1|0);
+ HEAP8[$22>>0] = 1;
+ $23 = (($9) - ($3))|0;
+ $24 = HEAP32[$7>>2]|0;
+ $25 = (($23) - ($24))|0;
+ $26 = (($25) + -3)|0;
+ $27 = ($26|0)>(1);
+ if (!($27)) {
+ __gcry_assert_failed(60739,60596,303,60745);
+ // unreachable;
+ }
+ $28 = ((($19)) + 2|0);
+ _memset(($28|0),-1,($26|0))|0;
+ $29 = (($25) + -1)|0;
+ $30 = (($19) + ($29)|0);
+ HEAP8[$30>>0] = 0;
+ $31 = (($19) + ($25)|0);
+ _memcpy(($31|0),($5|0),($24|0))|0;
+ $32 = (($19) + ($23)|0);
+ _memcpy(($32|0),($2|0),($3|0))|0;
+ $33 = (__gcry_mpi_scan($0,5,$19,$9,$6)|0);
+ $34 = ($33|0)==(0);
+ if ($34) {
+ $35 = (__gcry_get_debug_flag(1)|0);
+ $36 = ($35|0)==(0);
+ if (!($36)) {
+ $37 = HEAP32[$0>>2]|0;
+ __gcry_log_printmpi(60776,$37);
+ }
+ }
+ __gcry_free($19);
+ $$0 = $33;
+ STACKTOP = sp;return ($$0|0);
+}
+function __gcry_rsa_pkcs1_encode_raw_for_sig($0,$1,$2,$3) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ var $$0 = 0, $$040 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $4 = 0;
+ var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $4 = sp;
+ $5 = (($1) + 7)|0;
+ $6 = $5 >>> 3;
+ HEAP32[$4>>2] = $6;
+ $7 = ($3|0)==(0);
+ $8 = (($3) + 4)|0;
+ $9 = ($8>>>0)>($6>>>0);
+ $or$cond = $7 | $9;
+ if ($or$cond) {
+ $$0 = 66;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $10 = (__gcry_malloc($6)|0);
+ $11 = ($10|0)==(0|0);
+ if ($11) {
+ $12 = (_gpg_err_code_from_syserror()|0);
+ $$0 = $12;
+ STACKTOP = sp;return ($$0|0);
+ }
+ HEAP8[$10>>0] = 0;
+ $13 = ((($10)) + 1|0);
+ HEAP8[$13>>0] = 1;
+ $14 = (($6) - ($3))|0;
+ $15 = (($14) + -3)|0;
+ $16 = ($15|0)>(1);
+ if (!($16)) {
+ __gcry_assert_failed(60739,60596,368,60809);
+ // unreachable;
+ }
+ $17 = ((($10)) + 2|0);
+ _memset(($17|0),-1,($15|0))|0;
+ $18 = (($14) + -1)|0;
+ $19 = (($10) + ($18)|0);
+ HEAP8[$19>>0] = 0;
+ $20 = (($10) + ($14)|0);
+ _memcpy(($20|0),($2|0),($3|0))|0;
+ $21 = (__gcry_mpi_scan($0,5,$10,$6,$4)|0);
+ $22 = ($21|0)==(0);
+ if ($22) {
+ $24 = (__gcry_get_debug_flag(1)|0);
+ $25 = ($24|0)==(0);
+ if ($25) {
+ $$040 = 0;
+ } else {
+ $26 = HEAP32[$0>>2]|0;
+ __gcry_log_printmpi(60776,$26);
+ $$040 = 0;
+ }
+ } else {
+ $23 = $21 & 65535;
+ $$040 = $23;
+ }
+ __gcry_free($10);
+ $$0 = $$040;
+ STACKTOP = sp;return ($$0|0);
+}
+function __gcry_rsa_oaep_encode($0,$1,$2,$3,$4,$5,$6,$7,$8) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ $5 = $5|0;
+ $6 = $6|0;
+ $7 = $7|0;
+ $8 = $8|0;
+ var $$0110 = 0, $$0110120 = 0, $$0110122 = 0, $$0113121 = 0, $$1111119 = 0, $$1114118 = 0, $$2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0;
+ var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0;
+ var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $9 = 0, $exitcond = 0, $exitcond126 = 0;
+ var $or$cond = 0, $or$cond4 = 0, $spec$select = 0, $spec$select115 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $9 = (($1) + 7)|0;
+ $10 = $9 >>> 3;
+ HEAP32[$0>>2] = 0;
+ $11 = ($5|0)!=(0|0);
+ $12 = ($6|0)!=(0);
+ $or$cond = $11 & $12;
+ $spec$select = $or$cond ? $6 : 0;
+ $spec$select115 = $or$cond ? $5 : 73338;
+ $13 = (__gcry_md_get_algo_dlen($2)|0);
+ $14 = $13 << 1;
+ $15 = (($10) + -2)|0;
+ $16 = (($15) - ($14))|0;
+ $17 = ($16>>>0)>=($4>>>0);
+ $18 = ($10|0)!=(0);
+ $or$cond4 = $18 & $17;
+ if (!($or$cond4)) {
+ $$2 = 66;
+ return ($$2|0);
+ }
+ $19 = (__gcry_calloc_secure(1,$10)|0);
+ $20 = ($19|0)==(0|0);
+ if ($20) {
+ $21 = (_gpg_err_code_from_syserror()|0);
+ $$2 = $21;
+ return ($$2|0);
+ }
+ $22 = ((($19)) + 1|0);
+ $23 = (($22) + ($13)|0);
+ __gcry_md_hash_buffer($2,$23,$spec$select115,$spec$select);
+ $24 = (($10) - ($4))|0;
+ $25 = (($24) + -1)|0;
+ $26 = (($19) + ($25)|0);
+ HEAP8[$26>>0] = 1;
+ $27 = (($19) + ($24)|0);
+ _memcpy(($27|0),($3|0),($4|0))|0;
+ $28 = ($7|0)==(0|0);
+ do {
+ if ($28) {
+ __gcry_randomize($22,$13,1);
+ } else {
+ $29 = ($13|0)==($8|0);
+ if ($29) {
+ _memcpy(($22|0),($7|0),($8|0))|0;
+ break;
+ }
+ __gcry_free($19);
+ $$2 = 45;
+ return ($$2|0);
+ }
+ } while(0);
+ $30 = (($10) - ($13))|0;
+ $31 = (($30) + -1)|0;
+ $32 = (__gcry_malloc_secure($31)|0);
+ $33 = ($32|0)==(0|0);
+ if ($33) {
+ $34 = (_gpg_err_code_from_syserror()|0);
+ __gcry_free($19);
+ $$2 = $34;
+ return ($$2|0);
+ }
+ $35 = (_mgf1($32,$31,$22,$13,$2)|0);
+ $36 = ($35|0)==(0);
+ if (!($36)) {
+ __gcry_free($32);
+ __gcry_free($19);
+ $$2 = $35;
+ return ($$2|0);
+ }
+ $$0110120 = (($13) + 1)|0;
+ $37 = ($$0110120>>>0)<($10>>>0);
+ if ($37) {
+ $$0110122 = $$0110120;$$0113121 = $32;
+ while(1) {
+ $38 = ((($$0113121)) + 1|0);
+ $39 = HEAP8[$$0113121>>0]|0;
+ $40 = (($19) + ($$0110122)|0);
+ $41 = HEAP8[$40>>0]|0;
+ $42 = $41 ^ $39;
+ HEAP8[$40>>0] = $42;
+ $$0110 = (($$0110122) + 1)|0;
+ $exitcond126 = ($$0110|0)==($10|0);
+ if ($exitcond126) {
+ break;
+ } else {
+ $$0110122 = $$0110;$$0113121 = $38;
+ }
+ }
+ }
+ __gcry_free($32);
+ $43 = (__gcry_malloc_secure($13)|0);
+ $44 = ($43|0)==(0|0);
+ if ($44) {
+ $45 = (_gpg_err_code_from_syserror()|0);
+ __gcry_free($19);
+ $$2 = $45;
+ return ($$2|0);
+ }
+ $46 = (_mgf1($43,$13,$23,$31,$2)|0);
+ $47 = ($46|0)==(0);
+ if (!($47)) {
+ __gcry_free($43);
+ __gcry_free($19);
+ $$2 = $46;
+ return ($$2|0);
+ }
+ $48 = ($$0110120>>>0)>(1);
+ if ($48) {
+ $$1111119 = 1;$$1114118 = $43;
+ while(1) {
+ $49 = ((($$1114118)) + 1|0);
+ $50 = HEAP8[$$1114118>>0]|0;
+ $51 = (($19) + ($$1111119)|0);
+ $52 = HEAP8[$51>>0]|0;
+ $53 = $52 ^ $50;
+ HEAP8[$51>>0] = $53;
+ $54 = (($$1111119) + 1)|0;
+ $exitcond = ($54|0)==($$0110120|0);
+ if ($exitcond) {
+ break;
+ } else {
+ $$1111119 = $54;$$1114118 = $49;
+ }
+ }
+ }
+ __gcry_free($43);
+ $55 = (__gcry_mpi_scan($0,5,$19,$10,0)|0);
+ $56 = ($55|0)==(0);
+ if ($56) {
+ $57 = (__gcry_get_debug_flag(1)|0);
+ $58 = ($57|0)==(0);
+ if (!($58)) {
+ $59 = HEAP32[$0>>2]|0;
+ __gcry_log_printmpi(60844,$59);
+ }
+ }
+ __gcry_free($19);
+ $$2 = $55;
+ return ($$2|0);
+}
+function _mgf1($0,$1,$2,$3,$4) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ var $$ = 0, $$0 = 0, $$03740 = 0, $$03839 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
+ var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $5 = sp;
+ $6 = sp + 4|0;
+ $7 = (__gcry_md_open($5,$4,0)|0);
+ $8 = ($7|0)==(0);
+ if (!($8)) {
+ $$0 = $7;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $9 = (__gcry_md_get_algo_dlen($4)|0);
+ $10 = ($1|0)==(0);
+ if (!($10)) {
+ $11 = ((($6)) + 1|0);
+ $12 = ((($6)) + 2|0);
+ $13 = ((($6)) + 3|0);
+ $$03740 = 0;$$03839 = 0;
+ while(1) {
+ $14 = ($$03839|0)==(0);
+ if (!($14)) {
+ $15 = HEAP32[$5>>2]|0;
+ __gcry_md_reset($15);
+ }
+ $16 = $$03839 >>> 24;
+ $17 = $16&255;
+ HEAP8[$6>>0] = $17;
+ $18 = $$03839 >>> 16;
+ $19 = $18&255;
+ HEAP8[$11>>0] = $19;
+ $20 = $$03839 >>> 8;
+ $21 = $20&255;
+ HEAP8[$12>>0] = $21;
+ $22 = $$03839&255;
+ HEAP8[$13>>0] = $22;
+ $23 = (($$03839) + 1)|0;
+ $24 = HEAP32[$5>>2]|0;
+ __gcry_md_write($24,$2,$3);
+ $25 = HEAP32[$5>>2]|0;
+ __gcry_md_write($25,$6,4);
+ $26 = HEAP32[$5>>2]|0;
+ $27 = (__gcry_md_read($26,0)|0);
+ $28 = (($1) - ($$03740))|0;
+ $29 = ($28>>>0)<($9>>>0);
+ $$ = $29 ? $28 : $9;
+ $30 = (($0) + ($$03740)|0);
+ _memcpy(($30|0),($27|0),($$|0))|0;
+ $31 = (($$) + ($$03740))|0;
+ $32 = ($31>>>0)<($1>>>0);
+ if ($32) {
+ $$03740 = $31;$$03839 = $23;
+ } else {
+ break;
+ }
+ }
+ }
+ $33 = HEAP32[$5>>2]|0;
+ __gcry_md_close($33);
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+}
+function __gcry_rsa_oaep_decode($0,$1,$2,$3,$4,$5,$6) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ $5 = $5|0;
+ $6 = $6|0;
+ var $$0106 = 0, $$0122 = 0, $$1118 = 0, $$2$lcssa = 0, $$2115 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0;
+ var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
+ var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond126 = 0, $narrow = 0, $narrow114 = 0, $or$cond = 0, $spec$select = 0, $spec$select109 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $7 = sp;
+ HEAP32[$7>>2] = 0;
+ $8 = (($2) + 7)|0;
+ $9 = $8 >>> 3;
+ HEAP32[$0>>2] = 0;
+ $10 = ($5|0)!=(0|0);
+ $11 = ($6|0)!=(0);
+ $or$cond = $10 & $11;
+ $12 = (__gcry_md_get_algo_dlen($3)|0);
+ $13 = (__gcry_malloc($12)|0);
+ $14 = ($13|0)==(0|0);
+ if ($14) {
+ $15 = (_gpg_err_code_from_syserror()|0);
+ $$0106 = $15;
+ STACKTOP = sp;return ($$0106|0);
+ }
+ $spec$select109 = $or$cond ? $5 : 73338;
+ $spec$select = $or$cond ? $6 : 0;
+ __gcry_md_hash_buffer($3,$13,$spec$select109,$spec$select);
+ $16 = (__gcry_mpi_to_octet_string($7,0,$4,$9)|0);
+ $17 = ($16|0)==(0);
+ if (!($17)) {
+ __gcry_free($13);
+ $$0106 = 155;
+ STACKTOP = sp;return ($$0106|0);
+ }
+ $18 = $12 << 1;
+ $19 = (($18) + 2)|0;
+ $20 = ($9>>>0)<($19>>>0);
+ if ($20) {
+ $21 = HEAP32[$7>>2]|0;
+ __gcry_free($21);
+ __gcry_free($13);
+ $$0106 = 155;
+ STACKTOP = sp;return ($$0106|0);
+ }
+ $22 = (($9) + -1)|0;
+ $23 = (__gcry_malloc_secure($22)|0);
+ $24 = ($23|0)==(0|0);
+ if ($24) {
+ $25 = (_gpg_err_code_from_syserror()|0);
+ $26 = HEAP32[$7>>2]|0;
+ __gcry_free($26);
+ __gcry_free($13);
+ $$0106 = $25;
+ STACKTOP = sp;return ($$0106|0);
+ }
+ $27 = (($23) + ($12)|0);
+ $28 = HEAP32[$7>>2]|0;
+ $29 = ((($28)) + 1|0);
+ $30 = (($29) + ($12)|0);
+ $31 = (($22) - ($12))|0;
+ $32 = (_mgf1($23,$12,$30,$31,$3)|0);
+ $33 = ($12|0)==(0);
+ if (!($33)) {
+ $$0122 = 0;
+ while(1) {
+ $34 = (($29) + ($$0122)|0);
+ $35 = HEAP8[$34>>0]|0;
+ $36 = (($23) + ($$0122)|0);
+ $37 = HEAP8[$36>>0]|0;
+ $38 = $37 ^ $35;
+ HEAP8[$36>>0] = $38;
+ $39 = (($$0122) + 1)|0;
+ $exitcond126 = ($39|0)==($12|0);
+ if ($exitcond126) {
+ break;
+ } else {
+ $$0122 = $39;
+ }
+ }
+ }
+ $40 = (_mgf1($27,$31,$23,$12,$3)|0);
+ $41 = $40 | $32;
+ $42 = ($31|0)==(0);
+ if (!($42)) {
+ $$1118 = 0;
+ while(1) {
+ $43 = (($30) + ($$1118)|0);
+ $44 = HEAP8[$43>>0]|0;
+ $45 = (($27) + ($$1118)|0);
+ $46 = HEAP8[$45>>0]|0;
+ $47 = $46 ^ $44;
+ HEAP8[$45>>0] = $47;
+ $48 = (($$1118) + 1)|0;
+ $exitcond = ($48|0)==($31|0);
+ if ($exitcond) {
+ break;
+ } else {
+ $$1118 = $48;
+ }
+ }
+ }
+ $49 = (_memcmp($13,$27,$12)|0);
+ $50 = $41 | $49;
+ $51 = ($50|0)!=(0);
+ $52 = ($12>>>0)<($31>>>0);
+ L27: do {
+ if ($52) {
+ $$2115 = $12;
+ while(1) {
+ $53 = (($27) + ($$2115)|0);
+ $54 = HEAP8[$53>>0]|0;
+ $55 = ($54<<24>>24)==(1);
+ if ($55) {
+ $$2$lcssa = $$2115;
+ break L27;
+ }
+ $56 = (($$2115) + 1)|0;
+ $57 = ($56>>>0)<($31>>>0);
+ if ($57) {
+ $$2115 = $56;
+ } else {
+ $$2$lcssa = $56;
+ break;
+ }
+ }
+ } else {
+ $$2$lcssa = $12;
+ }
+ } while(0);
+ $58 = ($$2$lcssa|0)==($31|0);
+ $narrow = $51 | $58;
+ $59 = HEAP32[$7>>2]|0;
+ $60 = HEAP8[$59>>0]|0;
+ $61 = ($60<<24>>24)!=(0);
+ $narrow114 = $narrow | $61;
+ __gcry_free($13);
+ $62 = HEAP32[$7>>2]|0;
+ __gcry_free($62);
+ if ($narrow114) {
+ __gcry_free($23);
+ $$0106 = 155;
+ STACKTOP = sp;return ($$0106|0);
+ }
+ $63 = (($$2$lcssa) + 1)|0;
+ $64 = (($27) + ($63)|0);
+ $65 = (($31) - ($63))|0;
+ _memmove(($23|0),($64|0),($65|0))|0;
+ HEAP32[$0>>2] = $23;
+ HEAP32[$1>>2] = $65;
+ $66 = (__gcry_get_debug_flag(1)|0);
+ $67 = ($66|0)==(0);
+ if ($67) {
+ $$0106 = 0;
+ STACKTOP = sp;return ($$0106|0);
+ }
+ $68 = HEAP32[$0>>2]|0;
+ $69 = HEAP32[$1>>2]|0;
+ __gcry_log_printhex(60862,$68,$69);
+ $$0106 = 0;
+ STACKTOP = sp;return ($$0106|0);
+}
+function __gcry_rsa_pss_encode($0,$1,$2,$3,$4,$5,$6,$7) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ $5 = $5|0;
+ $6 = $6|0;
+ $7 = $7|0;
+ var $$0 = 0, $$0169$lcssa = 0, $$0169197 = 0, $$0170$lcssa = 0, $$0170196 = 0, $$0176213 = 0, $$0177$lcssa = 0, $$0177206 = 0, $$0181$lcssa = 0, $$0181205 = 0, $$0185212 = 0, $$0186187 = 0, $$0186188 = 0, $$1 = 0, $$1171 = 0, $$1178 = 0, $$1182 = 0, $$2 = 0, $$2172 = 0, $$2179 = 0;
+ var $$2183 = 0, $$3173194 = 0, $$3180202 = 0, $$3184201 = 0, $$3195 = 0, $$pre = 0, $$pre$phiZ2D = 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;
+ var $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, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0;
+ var $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0;
+ var $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0;
+ var $59 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 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, $exitcond = 0, $scevgep = 0, $scevgep224 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $8 = (($1) + 7)|0;
+ $9 = $8 >>> 3;
+ $10 = (__gcry_md_get_algo_dlen($2)|0);
+ $11 = ($10|0)==(0);
+ if ($11) {
+ __gcry_assert_failed(60901,60596,800,60906);
+ // unreachable;
+ }
+ $12 = (($10) + ($5))|0;
+ $13 = (($12) + 8)|0;
+ $14 = (($9) - ($10))|0;
+ $15 = (($14) + -1)|0;
+ $16 = (($13) + ($15))|0;
+ $17 = (__gcry_malloc($16)|0);
+ $18 = ($17|0)==(0|0);
+ if ($18) {
+ $19 = (_gpg_err_code_from_syserror()|0);
+ $$0186187 = $19;
+ return ($$0186187|0);
+ }
+ $20 = ((($17)) + 8|0);
+ $21 = (($20) + ($10)|0);
+ $22 = (($21) + ($5)|0);
+ $23 = ($10|0)==($4|0);
+ do {
+ if ($23) {
+ _memcpy(($20|0),($3|0),($4|0))|0;
+ $24 = (($4) + ($5))|0;
+ $25 = (($24) + 2)|0;
+ $26 = ($9>>>0)<($25>>>0);
+ if ($26) {
+ $$0186188 = 66;
+ } else {
+ $27 = (__gcry_malloc($9)|0);
+ $28 = ($27|0)==(0|0);
+ if ($28) {
+ $29 = (_gpg_err_code_from_syserror()|0);
+ $$0186188 = $29;
+ break;
+ }
+ $30 = (($27) + ($9)|0);
+ $31 = ((($30)) + -1|0);
+ $32 = (0 - ($4))|0;
+ $33 = (($31) + ($32)|0);
+ $34 = ($5|0)==(0);
+ do {
+ if ($34) {
+ label = 15;
+ } else {
+ $35 = ($6|0)==(0|0);
+ if ($35) {
+ __gcry_randomize($21,$5,1);
+ label = 15;
+ break;
+ }
+ $36 = ($7|0)==($5|0);
+ if ($36) {
+ _memcpy(($21|0),($6|0),($5|0))|0;
+ label = 15;
+ break;
+ } else {
+ $$pre = $27;
+ $$0 = 45;$$pre$phiZ2D = $$pre;
+ break;
+ }
+ }
+ } while(0);
+ if ((label|0) == 15) {
+ $37 = $17;
+ $38 = $37;
+ HEAP8[$38>>0]=0&255;HEAP8[$38+1>>0]=(0>>8)&255;HEAP8[$38+2>>0]=(0>>16)&255;HEAP8[$38+3>>0]=0>>24;
+ $39 = (($37) + 4)|0;
+ $40 = $39;
+ HEAP8[$40>>0]=0&255;HEAP8[$40+1>>0]=(0>>8)&255;HEAP8[$40+2>>0]=(0>>16)&255;HEAP8[$40+3>>0]=0>>24;
+ __gcry_md_hash_buffer($2,$33,$17,$13);
+ $41 = (0 - ($5))|0;
+ $42 = (($33) + ($41)|0);
+ $43 = ((($42)) + -1|0);
+ $44 = $43;
+ $45 = $27;
+ $46 = (($44) - ($45))|0;
+ _memset(($27|0),0,($46|0))|0;
+ $47 = ((($43)) + 1|0);
+ HEAP8[$43>>0] = 1;
+ _memcpy(($47|0),($21|0),($5|0))|0;
+ (_mgf1($22,$15,$33,$4,$2)|0);
+ $48 = ($15|0)==(0);
+ if (!($48)) {
+ $$0176213 = $22;$$0185212 = 0;
+ while(1) {
+ $49 = HEAP8[$$0176213>>0]|0;
+ $50 = (($27) + ($$0185212)|0);
+ $51 = HEAP8[$50>>0]|0;
+ $52 = $51 ^ $49;
+ HEAP8[$50>>0] = $52;
+ $53 = (($$0185212) + 1)|0;
+ $54 = ((($$0176213)) + 1|0);
+ $exitcond = ($53|0)==($15|0);
+ if ($exitcond) {
+ break;
+ } else {
+ $$0176213 = $54;$$0185212 = $53;
+ }
+ }
+ }
+ $55 = $8 & -8;
+ $56 = (($55) - ($1))|0;
+ $57 = 255 >>> $56;
+ $58 = HEAP8[$27>>0]|0;
+ $59 = $58&255;
+ $60 = $57 & $59;
+ $61 = $60&255;
+ HEAP8[$27>>0] = $61;
+ $62 = (($9) + -1)|0;
+ $63 = (($27) + ($62)|0);
+ HEAP8[$63>>0] = -68;
+ $64 = (__gcry_mpi_scan($0,5,$27,$9,0)|0);
+ $65 = ($64|0)==(0);
+ if ($65) {
+ $66 = (__gcry_get_debug_flag(1)|0);
+ $67 = ($66|0)==(0);
+ if ($67) {
+ $$0 = 0;$$pre$phiZ2D = $45;
+ } else {
+ $68 = HEAP32[$0>>2]|0;
+ __gcry_log_printmpi(60927,$68);
+ $$0 = 0;$$pre$phiZ2D = $45;
+ }
+ } else {
+ $$0 = $64;$$pre$phiZ2D = $45;
+ }
+ }
+ $69 = $$pre$phiZ2D & 7;
+ $70 = ($69|0)!=(0);
+ $71 = ($9|0)!=(0);
+ $72 = $71 & $70;
+ if ($72) {
+ $$0177206 = $9;$$0181205 = $27;
+ while(1) {
+ HEAP8[$$0181205>>0] = 0;
+ $73 = ((($$0181205)) + 1|0);
+ $74 = (($$0177206) + -1)|0;
+ $75 = $73;
+ $76 = $75 & 7;
+ $77 = ($76|0)!=(0);
+ $78 = ($74|0)!=(0);
+ $79 = $78 & $77;
+ if ($79) {
+ $$0177206 = $74;$$0181205 = $73;
+ } else {
+ $$0177$lcssa = $74;$$0181$lcssa = $73;
+ break;
+ }
+ }
+ } else {
+ $$0177$lcssa = $9;$$0181$lcssa = $27;
+ }
+ $80 = ($$0177$lcssa>>>0)<(8);
+ if ($80) {
+ $$2179 = $$0177$lcssa;$$2183 = $$0181$lcssa;
+ } else {
+ $81 = (($$0177$lcssa) + -8)|0;
+ $82 = $81 & -8;
+ $83 = (($82) + 8)|0;
+ $$1178 = $$0177$lcssa;$$1182 = $$0181$lcssa;
+ while(1) {
+ $84 = $$1182;
+ $85 = $84;
+ HEAP32[$85>>2] = 0;
+ $86 = (($84) + 4)|0;
+ $87 = $86;
+ HEAP32[$87>>2] = 0;
+ $88 = (($$1178) + -8)|0;
+ $89 = ((($$1182)) + 8|0);
+ $90 = ($88>>>0)>(7);
+ if ($90) {
+ $$1178 = $88;$$1182 = $89;
+ } else {
+ break;
+ }
+ }
+ $91 = (($81) - ($82))|0;
+ $scevgep224 = (($$0181$lcssa) + ($83)|0);
+ $$2179 = $91;$$2183 = $scevgep224;
+ }
+ $92 = ($$2179|0)==(0);
+ if (!($92)) {
+ $$3180202 = $$2179;$$3184201 = $$2183;
+ while(1) {
+ HEAP8[$$3184201>>0] = 0;
+ $93 = ((($$3184201)) + 1|0);
+ $94 = (($$3180202) + -1)|0;
+ $95 = ($94|0)==(0);
+ if ($95) {
+ break;
+ } else {
+ $$3180202 = $94;$$3184201 = $93;
+ }
+ }
+ }
+ __gcry_free($27);
+ $$0186188 = $$0;
+ }
+ } else {
+ $$0186188 = 139;
+ }
+ } while(0);
+ $96 = $17;
+ $97 = $96 & 7;
+ $98 = ($97|0)!=(0);
+ $99 = ($16|0)!=(0);
+ $100 = $99 & $98;
+ if ($100) {
+ $$0169197 = $16;$$0170196 = $17;
+ while(1) {
+ HEAP8[$$0170196>>0] = 0;
+ $101 = ((($$0170196)) + 1|0);
+ $102 = (($$0169197) + -1)|0;
+ $103 = $101;
+ $104 = $103 & 7;
+ $105 = ($104|0)!=(0);
+ $106 = ($102|0)!=(0);
+ $107 = $106 & $105;
+ if ($107) {
+ $$0169197 = $102;$$0170196 = $101;
+ } else {
+ $$0169$lcssa = $102;$$0170$lcssa = $101;
+ break;
+ }
+ }
+ } else {
+ $$0169$lcssa = $16;$$0170$lcssa = $17;
+ }
+ $108 = ($$0169$lcssa>>>0)<(8);
+ if ($108) {
+ $$2 = $$0169$lcssa;$$2172 = $$0170$lcssa;
+ } else {
+ $109 = (($$0169$lcssa) + -8)|0;
+ $110 = $109 & -8;
+ $111 = (($110) + 8)|0;
+ $$1 = $$0169$lcssa;$$1171 = $$0170$lcssa;
+ while(1) {
+ $112 = $$1171;
+ $113 = $112;
+ HEAP32[$113>>2] = 0;
+ $114 = (($112) + 4)|0;
+ $115 = $114;
+ HEAP32[$115>>2] = 0;
+ $116 = (($$1) + -8)|0;
+ $117 = ((($$1171)) + 8|0);
+ $118 = ($116>>>0)>(7);
+ if ($118) {
+ $$1 = $116;$$1171 = $117;
+ } else {
+ break;
+ }
+ }
+ $119 = (($109) - ($110))|0;
+ $scevgep = (($$0170$lcssa) + ($111)|0);
+ $$2 = $119;$$2172 = $scevgep;
+ }
+ $120 = ($$2|0)==(0);
+ if (!($120)) {
+ $$3173194 = $$2172;$$3195 = $$2;
+ while(1) {
+ HEAP8[$$3173194>>0] = 0;
+ $121 = ((($$3173194)) + 1|0);
+ $122 = (($$3195) + -1)|0;
+ $123 = ($122|0)==(0);
+ if ($123) {
+ break;
+ } else {
+ $$3173194 = $121;$$3195 = $122;
+ }
+ }
+ }
+ __gcry_free($17);
+ $$0186187 = $$0186188;
+ return ($$0186187|0);
+}
+function __gcry_rsa_pss_verify($0,$1,$2,$3,$4) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ var $$0 = 0, $$0$ph = 0, $$0162$lcssa = 0, $$0162189 = 0, $$0163$lcssa = 0, $$0163188 = 0, $$0170215 = 0, $$0171$lcssa = 0, $$0171200 = 0, $$0175$lcssa = 0, $$0175199 = 0, $$0179214 = 0, $$1 = 0, $$1164 = 0, $$1172 = 0, $$1176 = 0, $$1180$lcssa = 0, $$1180206 = 0, $$2 = 0, $$2165 = 0;
+ var $$2173 = 0, $$2177 = 0, $$3166186 = 0, $$3174195 = 0, $$3178194 = 0, $$3187 = 0, $$pr = 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;
+ var $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0;
+ var $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0;
+ var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0;
+ 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, $exitcond = 0, $scevgep = 0, $scevgep226 = 0, $spec$select = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $5 = sp;
+ HEAP32[$5>>2] = 0;
+ $6 = (($2) + 7)|0;
+ $7 = $6 >>> 3;
+ $8 = (__gcry_md_get_algo_dlen($3)|0);
+ $9 = ($8|0)==(0);
+ if ($9) {
+ __gcry_assert_failed(60901,60596,926,60944);
+ // unreachable;
+ }
+ $10 = (($8) + ($4))|0;
+ $11 = (($10) + 8)|0;
+ $12 = (($7) - ($8))|0;
+ $13 = (($12) + -1)|0;
+ $14 = ($11>>>0)<($13>>>0);
+ $spec$select = $14 ? $13 : $11;
+ $15 = (($spec$select) + ($8))|0;
+ $16 = (__gcry_malloc($15)|0);
+ $17 = ($16|0)!=(0|0);
+ if ($17) {
+ $19 = (0 - ($8))|0;
+ $20 = (($16) + ($spec$select)|0);
+ $21 = (__gcry_mpi_to_octet_string(0,$20,$0,$8)|0);
+ $22 = ($21|0)==(0);
+ if ($22) {
+ $23 = (__gcry_mpi_to_octet_string($5,0,$1,$7)|0);
+ $24 = ($23|0)==(0);
+ if ($24) {
+ $25 = (($10) + 2)|0;
+ $26 = ($7>>>0)<($25>>>0);
+ if ($26) {
+ $$0$ph = 66;
+ label = 20;
+ } else {
+ $27 = HEAP32[$5>>2]|0;
+ $28 = (($7) + -1)|0;
+ $29 = (($27) + ($28)|0);
+ $30 = HEAP8[$29>>0]|0;
+ $31 = ($30<<24>>24)==(-68);
+ if ($31) {
+ $32 = (($27) + ($7)|0);
+ $33 = ((($32)) + -1|0);
+ $34 = (($33) + ($19)|0);
+ $35 = HEAP8[$27>>0]|0;
+ $36 = $35&255;
+ $37 = $6 & -8;
+ $38 = (($37) - ($2))|0;
+ $39 = 255 >>> $38;
+ $40 = -256 >> $38;
+ $41 = $40 & $36;
+ $42 = ($41|0)==(0);
+ if ($42) {
+ (_mgf1($16,$13,$34,$8,$3)|0);
+ $43 = ($13|0)==(0);
+ if (!($43)) {
+ $$0170215 = $16;$$0179214 = 0;
+ while(1) {
+ $44 = HEAP8[$$0170215>>0]|0;
+ $45 = HEAP32[$5>>2]|0;
+ $46 = (($45) + ($$0179214)|0);
+ $47 = HEAP8[$46>>0]|0;
+ $48 = $47 ^ $44;
+ HEAP8[$46>>0] = $48;
+ $49 = (($$0179214) + 1)|0;
+ $50 = ((($$0170215)) + 1|0);
+ $exitcond = ($49|0)==($13|0);
+ if ($exitcond) {
+ break;
+ } else {
+ $$0170215 = $50;$$0179214 = $49;
+ }
+ }
+ }
+ $51 = HEAP32[$5>>2]|0;
+ $52 = HEAP8[$51>>0]|0;
+ $53 = $52&255;
+ $54 = $39 & $53;
+ $55 = $54&255;
+ HEAP8[$51>>0] = $55;
+ $56 = (($12) - ($4))|0;
+ $57 = (($56) + -2)|0;
+ $58 = ($57|0)==(0);
+ L16: do {
+ if ($58) {
+ $$1180$lcssa = 0;
+ } else {
+ $59 = HEAP32[$5>>2]|0;
+ $$1180206 = 0;
+ while(1) {
+ $60 = (($59) + ($$1180206)|0);
+ $61 = HEAP8[$60>>0]|0;
+ $62 = ($61<<24>>24)==(0);
+ if (!($62)) {
+ $$1180$lcssa = $$1180206;
+ break L16;
+ }
+ $63 = (($$1180206) + 1)|0;
+ $64 = ($63>>>0)<($57>>>0);
+ if ($64) {
+ $$1180206 = $63;
+ } else {
+ $$1180$lcssa = $63;
+ break;
+ }
+ }
+ }
+ } while(0);
+ $65 = ($$1180$lcssa|0)==($57|0);
+ if ($65) {
+ $66 = HEAP32[$5>>2]|0;
+ $67 = (($66) + ($57)|0);
+ $68 = HEAP8[$67>>0]|0;
+ $69 = ($68<<24>>24)==(1);
+ if ($69) {
+ $70 = (($56) + -1)|0;
+ $71 = (($66) + ($70)|0);
+ $72 = $16;
+ $73 = $72;
+ HEAP8[$73>>0]=0&255;HEAP8[$73+1>>0]=(0>>8)&255;HEAP8[$73+2>>0]=(0>>16)&255;HEAP8[$73+3>>0]=0>>24;
+ $74 = (($72) + 4)|0;
+ $75 = $74;
+ HEAP8[$75>>0]=0&255;HEAP8[$75+1>>0]=(0>>8)&255;HEAP8[$75+2>>0]=(0>>16)&255;HEAP8[$75+3>>0]=0>>24;
+ $76 = ((($16)) + 8|0);
+ _memcpy(($76|0),($20|0),($8|0))|0;
+ $77 = (($76) + ($8)|0);
+ _memcpy(($77|0),($71|0),($4|0))|0;
+ __gcry_md_hash_buffer($3,$16,$16,$11);
+ $78 = (_memcmp($34,$16,$8)|0);
+ $79 = ($78|0)==(0);
+ $80 = $79 ? 0 : 8;
+ $$0$ph = $80;
+ label = 20;
+ } else {
+ $$0 = 8;$82 = $66;
+ }
+ } else {
+ $$0$ph = 8;
+ label = 20;
+ }
+ } else {
+ $$0$ph = 8;
+ label = 20;
+ }
+ } else {
+ $$0 = 8;$82 = $27;
+ }
+ }
+ } else {
+ $$0$ph = $23;
+ label = 20;
+ }
+ } else {
+ $$0$ph = $21;
+ label = 20;
+ }
+ } else {
+ $18 = (_gpg_err_code_from_syserror()|0);
+ $$0$ph = $18;
+ label = 20;
+ }
+ if ((label|0) == 20) {
+ $$pr = HEAP32[$5>>2]|0;
+ $$0 = $$0$ph;$82 = $$pr;
+ }
+ $81 = ($82|0)==(0|0);
+ if (!($81)) {
+ $83 = $82;
+ $84 = $83 & 7;
+ $85 = ($84|0)!=(0);
+ $86 = ($7|0)!=(0);
+ $87 = $86 & $85;
+ if ($87) {
+ $$0171200 = $7;$$0175199 = $82;
+ while(1) {
+ HEAP8[$$0175199>>0] = 0;
+ $88 = ((($$0175199)) + 1|0);
+ $89 = (($$0171200) + -1)|0;
+ $90 = $88;
+ $91 = $90 & 7;
+ $92 = ($91|0)!=(0);
+ $93 = ($89|0)!=(0);
+ $94 = $93 & $92;
+ if ($94) {
+ $$0171200 = $89;$$0175199 = $88;
+ } else {
+ $$0171$lcssa = $89;$$0175$lcssa = $88;
+ break;
+ }
+ }
+ } else {
+ $$0171$lcssa = $7;$$0175$lcssa = $82;
+ }
+ $95 = ($$0171$lcssa>>>0)<(8);
+ if ($95) {
+ $$2173 = $$0171$lcssa;$$2177 = $$0175$lcssa;
+ } else {
+ $96 = (($$0171$lcssa) + -8)|0;
+ $97 = $96 & -8;
+ $98 = (($97) + 8)|0;
+ $$1172 = $$0171$lcssa;$$1176 = $$0175$lcssa;
+ while(1) {
+ $99 = $$1176;
+ $100 = $99;
+ HEAP32[$100>>2] = 0;
+ $101 = (($99) + 4)|0;
+ $102 = $101;
+ HEAP32[$102>>2] = 0;
+ $103 = (($$1172) + -8)|0;
+ $104 = ((($$1176)) + 8|0);
+ $105 = ($103>>>0)>(7);
+ if ($105) {
+ $$1172 = $103;$$1176 = $104;
+ } else {
+ break;
+ }
+ }
+ $106 = (($96) - ($97))|0;
+ $scevgep226 = (($$0175$lcssa) + ($98)|0);
+ $$2173 = $106;$$2177 = $scevgep226;
+ }
+ $107 = ($$2173|0)==(0);
+ if (!($107)) {
+ $$3174195 = $$2173;$$3178194 = $$2177;
+ while(1) {
+ HEAP8[$$3178194>>0] = 0;
+ $108 = ((($$3178194)) + 1|0);
+ $109 = (($$3174195) + -1)|0;
+ $110 = ($109|0)==(0);
+ if ($110) {
+ break;
+ } else {
+ $$3174195 = $109;$$3178194 = $108;
+ }
+ }
+ }
+ $111 = HEAP32[$5>>2]|0;
+ __gcry_free($111);
+ }
+ if (!($17)) {
+ STACKTOP = sp;return ($$0|0);
+ }
+ $112 = $16;
+ $113 = $112 & 7;
+ $114 = ($113|0)!=(0);
+ $115 = ($15|0)!=(0);
+ $116 = $115 & $114;
+ if ($116) {
+ $$0162189 = $15;$$0163188 = $16;
+ while(1) {
+ HEAP8[$$0163188>>0] = 0;
+ $117 = ((($$0163188)) + 1|0);
+ $118 = (($$0162189) + -1)|0;
+ $119 = $117;
+ $120 = $119 & 7;
+ $121 = ($120|0)!=(0);
+ $122 = ($118|0)!=(0);
+ $123 = $122 & $121;
+ if ($123) {
+ $$0162189 = $118;$$0163188 = $117;
+ } else {
+ $$0162$lcssa = $118;$$0163$lcssa = $117;
+ break;
+ }
+ }
+ } else {
+ $$0162$lcssa = $15;$$0163$lcssa = $16;
+ }
+ $124 = ($$0162$lcssa>>>0)<(8);
+ if ($124) {
+ $$2 = $$0162$lcssa;$$2165 = $$0163$lcssa;
+ } else {
+ $125 = (($$0162$lcssa) + -8)|0;
+ $126 = $125 & -8;
+ $127 = (($126) + 8)|0;
+ $$1 = $$0162$lcssa;$$1164 = $$0163$lcssa;
+ while(1) {
+ $128 = $$1164;
+ $129 = $128;
+ HEAP32[$129>>2] = 0;
+ $130 = (($128) + 4)|0;
+ $131 = $130;
+ HEAP32[$131>>2] = 0;
+ $132 = (($$1) + -8)|0;
+ $133 = ((($$1164)) + 8|0);
+ $134 = ($132>>>0)>(7);
+ if ($134) {
+ $$1 = $132;$$1164 = $133;
+ } else {
+ break;
+ }
+ }
+ $135 = (($125) - ($126))|0;
+ $scevgep = (($$0163$lcssa) + ($127)|0);
+ $$2 = $135;$$2165 = $scevgep;
+ }
+ $136 = ($$2|0)==(0);
+ if (!($136)) {
+ $$3166186 = $$2165;$$3187 = $$2;
+ while(1) {
+ HEAP8[$$3166186>>0] = 0;
+ $137 = ((($$3166186)) + 1|0);
+ $138 = (($$3187) + -1)|0;
+ $139 = ($138|0)==(0);
+ if ($139) {
+ break;
+ } else {
+ $$3166186 = $137;$$3187 = $138;
+ }
+ }
+ }
+ __gcry_free($16);
+ STACKTOP = sp;return ($$0|0);
+}
+function _rsa_generate($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $$0 = 0, $$0130$i = 0, $$0131$i = 0, $$0131$us$i = 0, $$0133$i = 0, $$0133$us$i = 0, $$0141165$i = 0, $$0147$i = 0, $$0148$i = 0, $$0149$i = 0, $$041 = 0, $$1 = 0, $$1132$lcssa$i = 0, $$1134$lcssa$i = 0, $$1140$i = 0, $$1146$i = 0, $$142 = 0, $$2 = 0, $$2$i = 0, $$3$i = 0;
+ var $$lobit = 0, $$phi$trans$insert = 0, $$phi$trans$insert$i = 0, $$phi$trans$insert171$i = 0, $$pre = 0, $$pre$i = 0, $$pre$phi54Z2D = 0, $$pre$phi56Z2D = 0, $$pre$phi58Z2D = 0, $$pre$phi60Z2D = 0, $$pre$phi62Z2D = 0, $$pre$phiZ2D = 0, $$pre172$i = 0, $$pre53 = 0, $$pre55 = 0, $$pre57 = 0, $$pre59 = 0, $$pre61 = 0, $10 = 0, $100 = 0;
+ var $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0;
+ var $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0;
+ var $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0;
+ var $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0;
+ var $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0;
+ var $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0;
+ var $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, $227 = 0;
+ var $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, $245 = 0;
+ var $246 = 0, $247 = 0, $248 = 0, $249 = 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;
+ var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0;
+ var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0;
+ var $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0;
+ var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond$i = 0, $or$cond$i35 = 0, $or$cond151$not$i = 0, $or$cond152$i = 0, $or$cond154$i = 0, $spec$select$i = 0, $spec$select$i36 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_ptr10 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0;
+ var $vararg_ptr6 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, $vararg_ptr9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 176|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(176|0);
+ $vararg_buffer1 = sp + 64|0;
+ $vararg_buffer = sp + 56|0;
+ $2 = sp + 164|0;
+ $3 = sp + 160|0;
+ $4 = sp + 156|0;
+ $5 = sp + 152|0;
+ $6 = sp + 148|0;
+ $7 = sp + 144|0;
+ $8 = sp;
+ $9 = sp + 140|0;
+ $10 = sp + 136|0;
+ $11 = sp + 112|0;
+ $12 = sp + 104|0;
+ $13 = sp + 100|0;
+ HEAP32[$12>>2] = 0;
+ HEAP32[$13>>2] = 0;
+ ;HEAP32[$11>>2]=0|0;HEAP32[$11+4>>2]=0|0;HEAP32[$11+8>>2]=0|0;HEAP32[$11+12>>2]=0|0;HEAP32[$11+16>>2]=0|0;HEAP32[$11+20>>2]=0|0;
+ $14 = (__gcry_pk_util_get_nbits($0,$9)|0);
+ $15 = ($14|0)==(0);
+ if (!($15)) {
+ $$0 = $14;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $16 = (__gcry_pk_util_get_rsa_use_e($0,$10)|0);
+ $17 = ($16|0)==(0);
+ if (!($17)) {
+ $$0 = $16;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $18 = (__gcry_sexp_find_token($0,64705,0)|0);
+ $19 = ($18|0)==(0|0);
+ if (!($19)) {
+ $20 = (__gcry_pk_util_parse_flaglist($18,$12,0)|0);
+ __gcry_sexp_release($18);
+ $21 = ($20|0)==(0);
+ if (!($21)) {
+ $$0 = $20;
+ STACKTOP = sp;return ($$0|0);
+ }
+ }
+ $22 = ($0|0)==(0|0);
+ if ($22) {
+ label = 7;
+ } else {
+ $23 = (__gcry_sexp_find_token($0,61911,0)|0);
+ $24 = ($23|0)==(0|0);
+ if ($24) {
+ label = 7;
+ } else {
+ $44 = $23;
+ label = 11;
+ }
+ }
+ do {
+ if ((label|0) == 7) {
+ $25 = (__gcry_sexp_find_token($0,61924,0)|0);
+ $26 = ($25|0)==(0|0);
+ if (!($26)) {
+ $27 = HEAP32[$12>>2]|0;
+ $28 = $27 | 64;
+ HEAP32[$12>>2] = $28;
+ __gcry_sexp_release($25);
+ }
+ $29 = HEAP32[$12>>2]|0;
+ $30 = $29 & 64;
+ $31 = ($30|0)==(0);
+ if ($31) {
+ $32 = (__gcry_fips_mode()|0);
+ $33 = ($32|0)==(0);
+ if ($33) {
+ $157 = HEAP32[$12>>2]|0;
+ $158 = $157 & 32;
+ $159 = ($158|0)==(0);
+ if ($159) {
+ $160 = (__gcry_sexp_find_token($0,66452,0)|0);
+ $161 = ($160|0)==(0|0);
+ if (!($161)) {
+ $162 = HEAP32[$12>>2]|0;
+ $163 = $162 | 32;
+ HEAP32[$12>>2] = $163;
+ __gcry_sexp_release($160);
+ }
+ }
+ $164 = HEAP32[$9>>2]|0;
+ $165 = HEAP32[$10>>2]|0;
+ $166 = HEAP32[$12>>2]|0;
+ $167 = $166 >>> 5;
+ $$lobit = $167 & 1;
+ $168 = (__gcry_fips_mode()|0);
+ $169 = ($168|0)==(0);
+ if (!($169)) {
+ $170 = ($164>>>0)>(1023);
+ $171 = ($$lobit|0)==(0);
+ $or$cond$i35 = $170 & $171;
+ if (!($or$cond$i35)) {
+ $$2 = 55;
+ break;
+ }
+ }
+ $172 = (2 - ($$lobit))|0;
+ $173 = $164 & 1;
+ $spec$select$i36 = (($173) + ($164))|0;
+ $174 = ($165|0)==(1);
+ $$0130$i = $174 ? 65537 : $165;
+ $175 = (__gcry_mpi_alloc(1)|0);
+ $176 = ($$0130$i|0)==(0);
+ if ($176) {
+ (__gcry_mpi_set_ui($175,41)|0);
+ $188 = (__gcry_mpi_new($spec$select$i36)|0);
+ $189 = $spec$select$i36 >>> 1;
+ $$0131$i = 0;$$0133$i = 0;
+ while(1) {
+ $190 = ($$0131$i|0)==(0|0);
+ if (!($190)) {
+ __gcry_mpi_release($$0131$i);
+ }
+ $191 = ($$0133$i|0)==(0|0);
+ if (!($191)) {
+ __gcry_mpi_release($$0133$i);
+ }
+ $192 = (__gcry_generate_secret_prime($189,$172,0,0)|0);
+ $193 = (__gcry_generate_secret_prime($189,$172,0,0)|0);
+ $194 = (__gcry_mpi_cmp($192,$193)|0);
+ $195 = ($194|0)>(0);
+ if ($195) {
+ __gcry_mpi_swap($192,$193);
+ }
+ __gcry_mpi_mul($188,$192,$193);
+ $196 = (__gcry_mpi_get_nbits($188)|0);
+ $197 = ($196|0)==($spec$select$i36|0);
+ if ($197) {
+ $$1132$lcssa$i = $192;$$1134$lcssa$i = $193;$$1140$i = 0;$214 = $188;
+ break;
+ } else {
+ $$0131$i = $192;$$0133$i = $193;
+ }
+ }
+ } else {
+ $177 = $$0130$i | 1;
+ (__gcry_mpi_set_ui($175,$177)|0);
+ $178 = (__gcry_mpi_new($spec$select$i36)|0);
+ $179 = $spec$select$i36 >>> 1;
+ $$0131$us$i = 0;$$0133$us$i = 0;
+ while(1) {
+ $180 = ($$0131$us$i|0)==(0|0);
+ if (!($180)) {
+ __gcry_mpi_release($$0131$us$i);
+ }
+ $181 = ($$0133$us$i|0)==(0|0);
+ if (!($181)) {
+ __gcry_mpi_release($$0133$us$i);
+ }
+ $182 = (__gcry_generate_secret_prime($179,$172,77,$175)|0);
+ $183 = (__gcry_generate_secret_prime($179,$172,77,$175)|0);
+ $184 = (__gcry_mpi_cmp($182,$183)|0);
+ $185 = ($184|0)>(0);
+ if ($185) {
+ __gcry_mpi_swap($182,$183);
+ }
+ __gcry_mpi_mul($178,$182,$183);
+ $186 = (__gcry_mpi_get_nbits($178)|0);
+ $187 = ($186|0)==($spec$select$i36|0);
+ if ($187) {
+ $$1132$lcssa$i = $182;$$1134$lcssa$i = $183;$$1140$i = 1;$214 = $178;
+ break;
+ } else {
+ $$0131$us$i = $182;$$0133$us$i = $183;
+ }
+ }
+ }
+ $198 = ((($$1132$lcssa$i)) + 4|0);
+ $199 = HEAP32[$198>>2]|0;
+ $200 = (__gcry_mpi_alloc_secure($199)|0);
+ $201 = HEAP32[$198>>2]|0;
+ $202 = (__gcry_mpi_alloc_secure($201)|0);
+ $203 = (__gcry_mpi_snew($spec$select$i36)|0);
+ $204 = (__gcry_mpi_snew($spec$select$i36)|0);
+ $205 = (__gcry_mpi_snew($spec$select$i36)|0);
+ __gcry_mpi_sub_ui($200,$$1132$lcssa$i,1);
+ __gcry_mpi_sub_ui($202,$$1134$lcssa$i,1);
+ __gcry_mpi_mul($203,$200,$202);
+ (__gcry_mpi_gcd($204,$200,$202)|0);
+ __gcry_mpi_fdiv_q($205,$203,$204);
+ $206 = (__gcry_mpi_gcd($200,$175,$203)|0);
+ $207 = ($206|0)==(0);
+ if ($207) {
+ if ($$1140$i) {
+ __gcry_bug(61969,287,62221);
+ // unreachable;
+ }
+ while(1) {
+ __gcry_mpi_add_ui($175,$175,2);
+ $208 = (__gcry_mpi_gcd($200,$175,$203)|0);
+ $209 = ($208|0)==(0);
+ if (!($209)) {
+ break;
+ }
+ }
+ }
+ $210 = (__gcry_mpi_snew($spec$select$i36)|0);
+ (__gcry_mpi_invm($210,$175,$205)|0);
+ $211 = (__gcry_mpi_snew($spec$select$i36)|0);
+ (__gcry_mpi_invm($211,$$1132$lcssa$i,$$1134$lcssa$i)|0);
+ $212 = (__gcry_get_debug_flag(1)|0);
+ $213 = ($212|0)==(0);
+ if (!($213)) {
+ __gcry_log_printmpi(62234,$$1132$lcssa$i);
+ __gcry_log_printmpi(62240,$$1134$lcssa$i);
+ __gcry_log_printmpi(62246,$203);
+ __gcry_log_printmpi(62252,$204);
+ __gcry_log_printmpi(62258,$205);
+ __gcry_log_printmpi(62264,$214);
+ __gcry_log_printmpi(62270,$175);
+ __gcry_log_printmpi(62276,$210);
+ __gcry_log_printmpi(62282,$211);
+ }
+ __gcry_mpi_release($200);
+ __gcry_mpi_release($202);
+ __gcry_mpi_release($203);
+ __gcry_mpi_release($205);
+ __gcry_mpi_release($204);
+ HEAP32[$11>>2] = $214;
+ $215 = ((($11)) + 4|0);
+ HEAP32[$215>>2] = $175;
+ $216 = ((($11)) + 12|0);
+ HEAP32[$216>>2] = $$1132$lcssa$i;
+ $217 = ((($11)) + 16|0);
+ HEAP32[$217>>2] = $$1134$lcssa$i;
+ $218 = ((($11)) + 8|0);
+ HEAP32[$218>>2] = $210;
+ $219 = ((($11)) + 20|0);
+ HEAP32[$219>>2] = $211;
+ $220 = (($spec$select$i36) + -64)|0;
+ $221 = (_test_keys($11,$220)|0);
+ $222 = ($221|0)==(0);
+ if ($222) {
+ $$pre$phi54Z2D = $215;$$pre$phi56Z2D = $218;$$pre$phi58Z2D = $216;$$pre$phi60Z2D = $217;$$pre$phi62Z2D = $219;$$pre$phiZ2D = $11;
+ label = 88;
+ } else {
+ $223 = HEAP32[$11>>2]|0;
+ __gcry_mpi_release($223);
+ HEAP32[$11>>2] = 0;
+ $224 = HEAP32[$215>>2]|0;
+ __gcry_mpi_release($224);
+ HEAP32[$215>>2] = 0;
+ $225 = HEAP32[$216>>2]|0;
+ __gcry_mpi_release($225);
+ HEAP32[$216>>2] = 0;
+ $226 = HEAP32[$217>>2]|0;
+ __gcry_mpi_release($226);
+ HEAP32[$217>>2] = 0;
+ $227 = HEAP32[$218>>2]|0;
+ __gcry_mpi_release($227);
+ HEAP32[$218>>2] = 0;
+ $228 = HEAP32[$219>>2]|0;
+ __gcry_mpi_release($228);
+ HEAP32[$219>>2] = 0;
+ __gcry_fips_signal_error(61969,334,62221,0,62154);
+ $$2 = 50;
+ }
+ } else {
+ $44 = 0;
+ label = 11;
+ }
+ } else {
+ $44 = 0;
+ label = 11;
+ }
+ }
+ } while(0);
+ if ((label|0) == 11) {
+ $34 = HEAP32[$9>>2]|0;
+ $35 = HEAP32[$10>>2]|0;
+ $36 = ($35|0)==(1);
+ $spec$select$i = $36 ? 65537 : $35;
+ $37 = ($34>>>0)<(1024);
+ $38 = $34 & 255;
+ $39 = ($38|0)!=(0);
+ $or$cond151$not$i = $37 | $39;
+ $40 = ($spec$select$i>>>0)<(3);
+ $or$cond152$i = $or$cond151$not$i | $40;
+ $41 = $spec$select$i & 1;
+ $42 = ($41|0)==(0);
+ $or$cond154$i = $or$cond152$i | $42;
+ if ($or$cond154$i) {
+ $$142 = 0;$$3$i = 55;
+ } else {
+ HEAP32[$2>>2] = 0;
+ HEAP32[$3>>2] = 0;
+ HEAP32[$4>>2] = 0;
+ HEAP32[$5>>2] = 0;
+ HEAP32[$6>>2] = 0;
+ HEAP32[$7>>2] = 0;
+ $43 = ($44|0)==(0|0);
+ L69: do {
+ if ($43) {
+ $45 = $34 >>> 1;
+ $46 = (__gcry_mpi_snew($45)|0);
+ __gcry_mpi_randomize($46,$45,2);
+ $47 = (($45) + -1)|0;
+ __gcry_mpi_set_highbit($46,$47);
+ $48 = (($45) + -2)|0;
+ __gcry_mpi_set_bit($46,$48);
+ $49 = (__gcry_mpi_get_nbits($46)|0);
+ $50 = ($49|0)==($45|0);
+ if (!($50)) {
+ __gcry_assert_failed(61933,61969,360,61975);
+ // unreachable;
+ }
+ HEAP32[$4>>2] = $46;
+ $51 = (__gcry_mpi_snew($45)|0);
+ $52 = (($45) + -100)|0;
+ $53 = 0;
+ while(1) {
+ __gcry_mpi_release($53);
+ $54 = (__gcry_mpi_snew($45)|0);
+ __gcry_mpi_randomize($54,$45,2);
+ __gcry_mpi_set_highbit($54,$47);
+ __gcry_mpi_set_bit($54,$48);
+ $55 = (__gcry_mpi_get_nbits($54)|0);
+ $56 = ($55|0)==($45|0);
+ if (!($56)) {
+ label = 17;
+ break;
+ }
+ HEAP32[$7>>2] = $54;
+ __gcry_mpi_sub($51,$46,$54);
+ $57 = (__gcry_mpi_get_nbits($51)|0);
+ $58 = ($57>>>0)>($52>>>0);
+ if ($58) {
+ break;
+ } else {
+ $53 = $54;
+ }
+ }
+ if ((label|0) == 17) {
+ __gcry_assert_failed(61933,61969,360,61975);
+ // unreachable;
+ }
+ __gcry_mpi_release($51);
+ $59 = (__gcry_mpi_snew(101)|0);
+ __gcry_mpi_randomize($59,101,2);
+ __gcry_mpi_set_highbit($59,100);
+ $60 = (__gcry_mpi_get_nbits($59)|0);
+ $61 = ($60|0)==(101);
+ if (!($61)) {
+ __gcry_assert_failed(61992,61969,375,62026);
+ // unreachable;
+ }
+ HEAP32[$2>>2] = $59;
+ $62 = (__gcry_mpi_snew(101)|0);
+ __gcry_mpi_randomize($62,101,2);
+ __gcry_mpi_set_highbit($62,100);
+ $63 = (__gcry_mpi_get_nbits($62)|0);
+ $64 = ($63|0)==(101);
+ if (!($64)) {
+ __gcry_assert_failed(61992,61969,375,62026);
+ // unreachable;
+ }
+ HEAP32[$3>>2] = $62;
+ $65 = (__gcry_mpi_snew(101)|0);
+ __gcry_mpi_randomize($65,101,2);
+ __gcry_mpi_set_highbit($65,100);
+ $66 = (__gcry_mpi_get_nbits($65)|0);
+ $67 = ($66|0)==(101);
+ if (!($67)) {
+ __gcry_assert_failed(61992,61969,375,62026);
+ // unreachable;
+ }
+ HEAP32[$5>>2] = $65;
+ $68 = (__gcry_mpi_snew(101)|0);
+ __gcry_mpi_randomize($68,101,2);
+ __gcry_mpi_set_highbit($68,100);
+ $69 = (__gcry_mpi_get_nbits($68)|0);
+ $70 = ($69|0)==(101);
+ if ($70) {
+ HEAP32[$6>>2] = $68;
+ label = 40;
+ break;
+ } else {
+ __gcry_assert_failed(61992,61969,375,62026);
+ // unreachable;
+ }
+ } else {
+ $71 = ((($8)) + 48|0);
+ $72 = $71;
+ $73 = $72;
+ HEAP32[$73>>2] = 0;
+ $74 = (($72) + 4)|0;
+ $75 = $74;
+ HEAP32[$75>>2] = 0;
+ HEAP32[$8>>2] = 62043;
+ $76 = ((($8)) + 8|0);
+ HEAP32[$76>>2] = 62047;
+ $77 = ((($8)) + 16|0);
+ HEAP32[$77>>2] = 62051;
+ $78 = ((($8)) + 24|0);
+ HEAP32[$78>>2] = 62054;
+ $79 = ((($8)) + 32|0);
+ HEAP32[$79>>2] = 62058;
+ $80 = ((($8)) + 40|0);
+ HEAP32[$80>>2] = 62062;
+ $81 = ((($8)) + 4|0);
+ HEAP32[$81>>2] = $2;
+ $82 = ((($8)) + 12|0);
+ HEAP32[$82>>2] = $3;
+ $83 = ((($8)) + 20|0);
+ HEAP32[$83>>2] = $4;
+ $84 = ((($8)) + 28|0);
+ HEAP32[$84>>2] = $5;
+ $85 = ((($8)) + 36|0);
+ HEAP32[$85>>2] = $6;
+ $86 = ((($8)) + 44|0);
+ HEAP32[$86>>2] = $7;
+ $$0141165$i = 0;$87 = 62043;
+ while(1) {
+ $88 = (__gcry_sexp_find_token($44,$87,0)|0);
+ $89 = ($88|0)==(0|0);
+ if (!($89)) {
+ $90 = (((($8) + ($$0141165$i<<3)|0)) + 4|0);
+ $91 = (__gcry_sexp_nth_mpi($88,1,5)|0);
+ $92 = HEAP32[$90>>2]|0;
+ HEAP32[$92>>2] = $91;
+ __gcry_sexp_release($88);
+ }
+ $93 = (($$0141165$i) + 1)|0;
+ $94 = (($8) + ($93<<3)|0);
+ $95 = HEAP32[$94>>2]|0;
+ $96 = ($95|0)==(0|0);
+ if ($96) {
+ break;
+ } else {
+ $$0141165$i = $93;$87 = $95;
+ }
+ }
+ $97 = HEAP32[$2>>2]|0;
+ $98 = ($97|0)==(0|0);
+ L99: do {
+ if (!($98)) {
+ $99 = 1;
+ while(1) {
+ $$phi$trans$insert$i = (((($8) + ($99<<3)|0)) + 4|0);
+ $$pre$i = HEAP32[$$phi$trans$insert$i>>2]|0;
+ $100 = HEAP32[$$pre$i>>2]|0;
+ $101 = ($100|0)==(0|0);
+ $102 = (($99) + 1)|0;
+ if ($101) {
+ break L99;
+ }
+ $$phi$trans$insert = (($8) + ($102<<3)|0);
+ $$pre = HEAP32[$$phi$trans$insert>>2]|0;
+ $103 = ($$pre|0)==(0|0);
+ if ($103) {
+ break;
+ } else {
+ $99 = $102;
+ }
+ }
+ label = 40;
+ break L69;
+ }
+ } while(0);
+ __gcry_mpi_release($97);
+ $104 = 1;
+ while(1) {
+ $$phi$trans$insert171$i = (((($8) + ($104<<3)|0)) + 4|0);
+ $$pre172$i = HEAP32[$$phi$trans$insert171$i>>2]|0;
+ $105 = HEAP32[$$pre172$i>>2]|0;
+ __gcry_mpi_release($105);
+ $106 = (($104) + 1)|0;
+ $107 = (($8) + ($106<<3)|0);
+ $108 = HEAP32[$107>>2]|0;
+ $109 = ($108|0)==(0|0);
+ if ($109) {
+ break;
+ } else {
+ $104 = $106;
+ }
+ }
+ $$0147$i = 0;$$0148$i = 0;$$0149$i = 0;$$1146$i = 0;$$2$i = 128;
+ }
+ } while(0);
+ if ((label|0) == 40) {
+ $110 = (__gcry_mpi_alloc_set_ui($spec$select$i)|0);
+ $111 = HEAP32[$4>>2]|0;
+ $112 = HEAP32[$2>>2]|0;
+ $113 = HEAP32[$3>>2]|0;
+ $114 = (__gcry_derive_x931_prime($111,$112,$113,$110,0,0)|0);
+ $115 = HEAP32[$7>>2]|0;
+ $116 = HEAP32[$5>>2]|0;
+ $117 = HEAP32[$6>>2]|0;
+ $118 = (__gcry_derive_x931_prime($115,$116,$117,$110,0,0)|0);
+ $119 = HEAP32[$4>>2]|0;
+ __gcry_mpi_release($119);
+ HEAP32[$4>>2] = 0;
+ $120 = HEAP32[$2>>2]|0;
+ __gcry_mpi_release($120);
+ HEAP32[$2>>2] = 0;
+ $121 = HEAP32[$3>>2]|0;
+ __gcry_mpi_release($121);
+ HEAP32[$3>>2] = 0;
+ $122 = HEAP32[$7>>2]|0;
+ __gcry_mpi_release($122);
+ HEAP32[$7>>2] = 0;
+ $123 = HEAP32[$5>>2]|0;
+ __gcry_mpi_release($123);
+ HEAP32[$5>>2] = 0;
+ $124 = HEAP32[$6>>2]|0;
+ __gcry_mpi_release($124);
+ HEAP32[$6>>2] = 0;
+ $125 = ($114|0)!=(0|0);
+ $126 = ($118|0)!=(0|0);
+ $or$cond$i = $125 & $126;
+ if ($or$cond$i) {
+ $$0147$i = $114;$$0148$i = $118;$$0149$i = $110;$$1146$i = 1;$$2$i = 128;
+ } else {
+ __gcry_mpi_release($114);
+ __gcry_mpi_release($118);
+ __gcry_mpi_release($110);
+ $$0147$i = $114;$$0148$i = $118;$$0149$i = $110;$$1146$i = 0;$$2$i = 21;
+ }
+ }
+ if ($$1146$i) {
+ $127 = (__gcry_mpi_cmp($$0147$i,$$0148$i)|0);
+ $128 = ($127|0)>(0);
+ if ($128) {
+ __gcry_mpi_swap($$0147$i,$$0148$i);
+ $$041 = 1;
+ } else {
+ $$041 = 0;
+ }
+ $129 = (__gcry_mpi_new($34)|0);
+ __gcry_mpi_mul($129,$$0147$i,$$0148$i);
+ $130 = $34 >>> 1;
+ $131 = (__gcry_mpi_snew($130)|0);
+ $132 = (__gcry_mpi_snew($130)|0);
+ $133 = (__gcry_mpi_snew($34)|0);
+ __gcry_mpi_sub_ui($131,$$0147$i,1);
+ __gcry_mpi_sub_ui($132,$$0148$i,1);
+ __gcry_mpi_mul($133,$131,$132);
+ $134 = (__gcry_mpi_snew($34)|0);
+ $135 = (__gcry_mpi_gcd($134,$$0149$i,$133)|0);
+ $136 = ($135|0)==(0);
+ if ($136) {
+ __gcry_assert_failed(62065,61969,541,62099);
+ // unreachable;
+ }
+ (__gcry_mpi_gcd($134,$131,$132)|0);
+ __gcry_mpi_release($132);
+ __gcry_mpi_fdiv_q($131,$133,$134);
+ __gcry_mpi_release($133);
+ (__gcry_mpi_invm($134,$$0149$i,$131)|0);
+ (__gcry_mpi_invm($131,$$0147$i,$$0148$i)|0);
+ $137 = (__gcry_get_debug_flag(1)|0);
+ $138 = ($137|0)==(0);
+ if (!($138)) {
+ $139 = ($$041|0)==(0);
+ if (!($139)) {
+ __gcry_log_debug(62113,$vararg_buffer);
+ }
+ __gcry_log_printmpi(63829,$$0147$i);
+ __gcry_log_printmpi(62134,$$0148$i);
+ __gcry_log_printmpi(62138,$129);
+ __gcry_log_printmpi(62142,$$0149$i);
+ __gcry_log_printmpi(62146,$134);
+ __gcry_log_printmpi(62150,$131);
+ }
+ HEAP32[$11>>2] = $129;
+ $140 = ((($11)) + 4|0);
+ HEAP32[$140>>2] = $$0149$i;
+ $141 = ((($11)) + 12|0);
+ HEAP32[$141>>2] = $$0147$i;
+ $142 = ((($11)) + 16|0);
+ HEAP32[$142>>2] = $$0148$i;
+ $143 = ((($11)) + 8|0);
+ HEAP32[$143>>2] = $134;
+ $144 = ((($11)) + 20|0);
+ HEAP32[$144>>2] = $131;
+ $145 = (($34) + -64)|0;
+ $146 = (_test_keys($11,$145)|0);
+ $147 = ($146|0)==(0);
+ if ($147) {
+ $$142 = $$041;$$3$i = 0;
+ } else {
+ $148 = HEAP32[$11>>2]|0;
+ __gcry_mpi_release($148);
+ HEAP32[$11>>2] = 0;
+ $149 = HEAP32[$140>>2]|0;
+ __gcry_mpi_release($149);
+ HEAP32[$140>>2] = 0;
+ $150 = HEAP32[$141>>2]|0;
+ __gcry_mpi_release($150);
+ HEAP32[$141>>2] = 0;
+ $151 = HEAP32[$142>>2]|0;
+ __gcry_mpi_release($151);
+ HEAP32[$142>>2] = 0;
+ $152 = HEAP32[$143>>2]|0;
+ __gcry_mpi_release($152);
+ HEAP32[$143>>2] = 0;
+ $153 = HEAP32[$144>>2]|0;
+ __gcry_mpi_release($153);
+ HEAP32[$144>>2] = 0;
+ __gcry_fips_signal_error(61969,586,62099,0,62154);
+ $$142 = $$041;$$3$i = 50;
+ }
+ } else {
+ $$142 = 0;$$3$i = $$2$i;
+ }
+ }
+ __gcry_sexp_release($44);
+ $154 = ($$3$i|0)==(0);
+ $155 = ($$142|0)!=(0);
+ $or$cond = $155 & $154;
+ if ($or$cond) {
+ $156 = (__gcry_sexp_new($13,62192,0,1)|0);
+ $$1 = $156;
+ } else {
+ $$1 = $$3$i;
+ }
+ $229 = ($$1|0)==(0);
+ if ($229) {
+ $$pre53 = ((($11)) + 4|0);
+ $$pre55 = ((($11)) + 8|0);
+ $$pre57 = ((($11)) + 12|0);
+ $$pre59 = ((($11)) + 16|0);
+ $$pre61 = ((($11)) + 20|0);
+ $$pre$phi54Z2D = $$pre53;$$pre$phi56Z2D = $$pre55;$$pre$phi58Z2D = $$pre57;$$pre$phi60Z2D = $$pre59;$$pre$phi62Z2D = $$pre61;$$pre$phiZ2D = $11;
+ label = 88;
+ } else {
+ $$2 = $$1;
+ }
+ }
+ if ((label|0) == 88) {
+ $230 = HEAP32[$$pre$phiZ2D>>2]|0;
+ $231 = HEAP32[$$pre$phi54Z2D>>2]|0;
+ $232 = HEAP32[$$pre$phi56Z2D>>2]|0;
+ $233 = HEAP32[$$pre$phi58Z2D>>2]|0;
+ $234 = HEAP32[$$pre$phi60Z2D>>2]|0;
+ $235 = HEAP32[$$pre$phi62Z2D>>2]|0;
+ $236 = HEAP32[$13>>2]|0;
+ HEAP32[$vararg_buffer1>>2] = $230;
+ $vararg_ptr3 = ((($vararg_buffer1)) + 4|0);
+ HEAP32[$vararg_ptr3>>2] = $231;
+ $vararg_ptr4 = ((($vararg_buffer1)) + 8|0);
+ HEAP32[$vararg_ptr4>>2] = $230;
+ $vararg_ptr5 = ((($vararg_buffer1)) + 12|0);
+ HEAP32[$vararg_ptr5>>2] = $231;
+ $vararg_ptr6 = ((($vararg_buffer1)) + 16|0);
+ HEAP32[$vararg_ptr6>>2] = $232;
+ $vararg_ptr7 = ((($vararg_buffer1)) + 20|0);
+ HEAP32[$vararg_ptr7>>2] = $233;
+ $vararg_ptr8 = ((($vararg_buffer1)) + 24|0);
+ HEAP32[$vararg_ptr8>>2] = $234;
+ $vararg_ptr9 = ((($vararg_buffer1)) + 28|0);
+ HEAP32[$vararg_ptr9>>2] = $235;
+ $vararg_ptr10 = ((($vararg_buffer1)) + 32|0);
+ HEAP32[$vararg_ptr10>>2] = $236;
+ $237 = (__gcry_sexp_build($1,0,62288,$vararg_buffer1)|0);
+ $$2 = $237;
+ }
+ $238 = HEAP32[$11>>2]|0;
+ __gcry_mpi_free($238);
+ $239 = ((($11)) + 4|0);
+ $240 = HEAP32[$239>>2]|0;
+ __gcry_mpi_free($240);
+ $241 = ((($11)) + 12|0);
+ $242 = HEAP32[$241>>2]|0;
+ __gcry_mpi_free($242);
+ $243 = ((($11)) + 16|0);
+ $244 = HEAP32[$243>>2]|0;
+ __gcry_mpi_free($244);
+ $245 = ((($11)) + 8|0);
+ $246 = HEAP32[$245>>2]|0;
+ __gcry_mpi_free($246);
+ $247 = ((($11)) + 20|0);
+ $248 = HEAP32[$247>>2]|0;
+ __gcry_mpi_free($248);
+ $249 = HEAP32[$13>>2]|0;
+ __gcry_sexp_release($249);
+ $$0 = $$2;
+ STACKTOP = sp;return ($$0|0);
+}
+function _rsa_check_secret_key($0) {
+ $0 = $0|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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $spec$select = 0, $vararg_buffer = 0, $vararg_buffer7 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
+ $vararg_buffer7 = sp + 32|0;
+ $vararg_buffer = sp;
+ $1 = sp + 40|0;
+ ;HEAP32[$1>>2]=0|0;HEAP32[$1+4>>2]=0|0;HEAP32[$1+8>>2]=0|0;HEAP32[$1+12>>2]=0|0;HEAP32[$1+16>>2]=0|0;HEAP32[$1+20>>2]=0|0;
+ $2 = ((($1)) + 4|0);
+ $3 = ((($1)) + 8|0);
+ $4 = ((($1)) + 12|0);
+ $5 = ((($1)) + 16|0);
+ $6 = ((($1)) + 20|0);
+ HEAP32[$vararg_buffer>>2] = $1;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = $2;
+ $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
+ HEAP32[$vararg_ptr2>>2] = $3;
+ $vararg_ptr3 = ((($vararg_buffer)) + 12|0);
+ HEAP32[$vararg_ptr3>>2] = $4;
+ $vararg_ptr4 = ((($vararg_buffer)) + 16|0);
+ HEAP32[$vararg_ptr4>>2] = $5;
+ $vararg_ptr5 = ((($vararg_buffer)) + 20|0);
+ HEAP32[$vararg_ptr5>>2] = $6;
+ $vararg_ptr6 = ((($vararg_buffer)) + 24|0);
+ HEAP32[$vararg_ptr6>>2] = 0;
+ $7 = (__gcry_sexp_extract_param($0,0,60972,$vararg_buffer)|0);
+ $8 = ($7|0)==(0);
+ if ($8) {
+ $9 = HEAP32[$4>>2]|0;
+ $10 = ((($9)) + 4|0);
+ $11 = HEAP32[$10>>2]|0;
+ $12 = $11 << 1;
+ $13 = (__gcry_mpi_alloc($12)|0);
+ $14 = HEAP32[$4>>2]|0;
+ $15 = HEAP32[$5>>2]|0;
+ __gcry_mpi_mul($13,$14,$15);
+ $16 = HEAP32[$1>>2]|0;
+ $17 = (__gcry_mpi_cmp($13,$16)|0);
+ __gcry_mpi_free($13);
+ $18 = ($17|0)==(0);
+ $spec$select = $18 ? 0 : 7;
+ $$0 = $spec$select;
+ } else {
+ $$0 = $7;
+ }
+ $19 = HEAP32[$1>>2]|0;
+ __gcry_mpi_release($19);
+ $20 = HEAP32[$2>>2]|0;
+ __gcry_mpi_release($20);
+ $21 = HEAP32[$3>>2]|0;
+ __gcry_mpi_release($21);
+ $22 = HEAP32[$4>>2]|0;
+ __gcry_mpi_release($22);
+ $23 = HEAP32[$5>>2]|0;
+ __gcry_mpi_release($23);
+ $24 = HEAP32[$6>>2]|0;
+ __gcry_mpi_release($24);
+ $25 = (__gcry_get_debug_flag(1)|0);
+ $26 = ($25|0)==(0);
+ if ($26) {
+ STACKTOP = sp;return ($$0|0);
+ }
+ $27 = (_gpg_strerror($$0)|0);
+ HEAP32[$vararg_buffer7>>2] = $27;
+ __gcry_log_debug(61889,$vararg_buffer7);
+ STACKTOP = sp;return ($$0|0);
+}
+function _rsa_encrypt($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$0 = 0, $$0$i = 0, $$021 = 0, $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
+ var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0;
+ var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0;
+ var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer10 = 0, $vararg_buffer3 = 0, $vararg_buffer7 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0);
+ $vararg_buffer10 = sp + 40|0;
+ $vararg_buffer7 = sp + 32|0;
+ $vararg_buffer3 = sp + 24|0;
+ $vararg_buffer = sp + 8|0;
+ $3 = sp + 56|0;
+ $4 = sp + 48|0;
+ $5 = sp;
+ $6 = sp + 44|0;
+ HEAP32[$4>>2] = 0;
+ $7 = $5;
+ $8 = $7;
+ HEAP32[$8>>2] = 0;
+ $9 = (($7) + 4)|0;
+ $10 = $9;
+ HEAP32[$10>>2] = 0;
+ $11 = (__gcry_sexp_find_token($2,60983,1)|0);
+ $12 = ($11|0)==(0|0);
+ if ($12) {
+ $$0$i = 0;
+ } else {
+ $13 = (__gcry_sexp_nth_mpi($11,1,5)|0);
+ __gcry_sexp_release($11);
+ $14 = ($13|0)==(0|0);
+ if ($14) {
+ $68 = 0;
+ } else {
+ $15 = (__gcry_mpi_get_nbits($13)|0);
+ $68 = $15;
+ }
+ __gcry_mpi_release($13);
+ $$0$i = $68;
+ }
+ __gcry_pk_util_init_encoding_ctx($3,0,$$0$i);
+ $16 = (__gcry_pk_util_data_to_mpi($1,$4,$3)|0);
+ $17 = ($16|0)==(0);
+ do {
+ if ($17) {
+ $18 = (__gcry_get_debug_flag(1)|0);
+ $19 = ($18|0)==(0);
+ if (!($19)) {
+ $20 = HEAP32[$4>>2]|0;
+ __gcry_log_printmpi(61759,$20);
+ }
+ $21 = HEAP32[$4>>2]|0;
+ $22 = ($21|0)==(0|0);
+ if (!($22)) {
+ $23 = ((($21)) + 12|0);
+ $24 = HEAP32[$23>>2]|0;
+ $25 = $24 & 4;
+ $26 = ($25|0)==(0);
+ if (!($26)) {
+ $$021 = 0;$$1 = 79;
+ break;
+ }
+ }
+ $27 = ((($5)) + 4|0);
+ HEAP32[$vararg_buffer>>2] = $5;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = $27;
+ $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
+ HEAP32[$vararg_ptr2>>2] = 0;
+ $28 = (__gcry_sexp_extract_param($2,0,60969,$vararg_buffer)|0);
+ $29 = ($28|0)==(0);
+ if ($29) {
+ $30 = (__gcry_get_debug_flag(1)|0);
+ $31 = ($30|0)==(0);
+ if (!($31)) {
+ $32 = HEAP32[$5>>2]|0;
+ __gcry_log_printmpi(61776,$32);
+ $33 = HEAP32[$27>>2]|0;
+ __gcry_log_printmpi(61793,$33);
+ }
+ $34 = (__gcry_mpi_new(0)|0);
+ $35 = HEAP32[$4>>2]|0;
+ $36 = ($34|0)==($35|0);
+ if ($36) {
+ $37 = ((($34)) + 4|0);
+ $38 = HEAP32[$37>>2]|0;
+ $39 = $38 << 1;
+ $40 = (__gcry_mpi_alloc($39)|0);
+ $41 = HEAP32[$27>>2]|0;
+ $42 = HEAP32[$5>>2]|0;
+ __gcry_mpi_powm($40,$34,$41,$42);
+ (__gcry_mpi_set($34,$40)|0);
+ __gcry_mpi_free($40);
+ } else {
+ $43 = HEAP32[$27>>2]|0;
+ $44 = HEAP32[$5>>2]|0;
+ __gcry_mpi_powm($34,$35,$43,$44);
+ }
+ $45 = (__gcry_get_debug_flag(1)|0);
+ $46 = ($45|0)==(0);
+ if (!($46)) {
+ __gcry_log_printmpi(61810,$34);
+ }
+ $47 = ((($3)) + 12|0);
+ $48 = HEAP32[$47>>2]|0;
+ $49 = $48 & 4;
+ $50 = ($49|0)==(0);
+ if ($50) {
+ HEAP32[$vararg_buffer7>>2] = $34;
+ $60 = (__gcry_sexp_build($0,0,61847,$vararg_buffer7)|0);
+ $$021 = $34;$$1 = $60;
+ break;
+ }
+ $51 = HEAP32[$5>>2]|0;
+ $52 = (__gcry_mpi_get_nbits($51)|0);
+ $53 = (($52) + 7)|0;
+ $54 = $53 >>> 3;
+ $55 = (__gcry_mpi_to_octet_string($6,0,$34,$54)|0);
+ $56 = ($55|0)==(0);
+ if ($56) {
+ $57 = HEAP32[$6>>2]|0;
+ HEAP32[$vararg_buffer3>>2] = $54;
+ $vararg_ptr6 = ((($vararg_buffer3)) + 4|0);
+ HEAP32[$vararg_ptr6>>2] = $57;
+ $58 = (__gcry_sexp_build($0,0,61827,$vararg_buffer3)|0);
+ $59 = HEAP32[$6>>2]|0;
+ __gcry_free($59);
+ $$0 = $58;
+ } else {
+ $$0 = $55;
+ }
+ $$021 = $34;$$1 = $$0;
+ } else {
+ $$021 = 0;$$1 = $28;
+ }
+ } else {
+ $$021 = 0;$$1 = $16;
+ }
+ } while(0);
+ __gcry_mpi_release($$021);
+ $61 = HEAP32[$5>>2]|0;
+ __gcry_mpi_release($61);
+ $62 = ((($5)) + 4|0);
+ $63 = HEAP32[$62>>2]|0;
+ __gcry_mpi_release($63);
+ $64 = HEAP32[$4>>2]|0;
+ __gcry_mpi_release($64);
+ __gcry_pk_util_free_encoding_ctx($3);
+ $65 = (__gcry_get_debug_flag(1)|0);
+ $66 = ($65|0)==(0);
+ if ($66) {
+ STACKTOP = sp;return ($$1|0);
+ }
+ $67 = (_gpg_strerror($$1)|0);
+ HEAP32[$vararg_buffer10>>2] = $67;
+ __gcry_log_debug(61867,$vararg_buffer10);
+ STACKTOP = sp;return ($$1|0);
+}
+function _rsa_decrypt($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$0$i = 0, $$053 = 0, $$054 = 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;
+ var $115 = 0, $116 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
+ var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
+ var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0;
+ var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0;
+ var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $vararg_buffer = 0, $vararg_buffer11 = 0, $vararg_buffer15 = 0;
+ var $vararg_buffer19 = 0, $vararg_buffer2 = 0, $vararg_buffer22 = 0, $vararg_ptr1 = 0, $vararg_ptr10 = 0, $vararg_ptr14 = 0, $vararg_ptr18 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, $vararg_ptr9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 160|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(160|0);
+ $vararg_buffer22 = sp + 64|0;
+ $vararg_buffer19 = sp + 56|0;
+ $vararg_buffer15 = sp + 48|0;
+ $vararg_buffer11 = sp + 40|0;
+ $vararg_buffer2 = sp + 8|0;
+ $vararg_buffer = sp;
+ $3 = sp + 112|0;
+ $4 = sp + 108|0;
+ $5 = sp + 104|0;
+ $6 = sp + 80|0;
+ $7 = sp + 72|0;
+ $8 = sp + 68|0;
+ HEAP32[$4>>2] = 0;
+ HEAP32[$5>>2] = 0;
+ ;HEAP32[$6>>2]=0|0;HEAP32[$6+4>>2]=0|0;HEAP32[$6+8>>2]=0|0;HEAP32[$6+12>>2]=0|0;HEAP32[$6+16>>2]=0|0;HEAP32[$6+20>>2]=0|0;
+ HEAP32[$7>>2] = 0;
+ HEAP32[$8>>2] = 0;
+ $9 = (__gcry_sexp_find_token($2,60983,1)|0);
+ $10 = ($9|0)==(0|0);
+ if ($10) {
+ $$0$i = 0;
+ } else {
+ $11 = (__gcry_sexp_nth_mpi($9,1,5)|0);
+ __gcry_sexp_release($9);
+ $12 = ($11|0)==(0|0);
+ if ($12) {
+ $116 = 0;
+ } else {
+ $13 = (__gcry_mpi_get_nbits($11)|0);
+ $116 = $13;
+ }
+ __gcry_mpi_release($11);
+ $$0$i = $116;
+ }
+ __gcry_pk_util_init_encoding_ctx($3,1,$$0$i);
+ $14 = (__gcry_pk_util_preparse_encval($1,6464,$4,$3)|0);
+ $15 = ($14|0)==(0);
+ L7: do {
+ if ($15) {
+ $16 = HEAP32[$4>>2]|0;
+ HEAP32[$vararg_buffer>>2] = $5;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 0;
+ $17 = (__gcry_sexp_extract_param($16,0,60979,$vararg_buffer)|0);
+ $18 = ($17|0)==(0);
+ if ($18) {
+ $19 = (__gcry_get_debug_flag(1)|0);
+ $20 = ($19|0)==(0);
+ if (!($20)) {
+ $21 = HEAP32[$5>>2]|0;
+ __gcry_log_printmpi(61587,$21);
+ }
+ $22 = HEAP32[$5>>2]|0;
+ $23 = ($22|0)==(0|0);
+ if (!($23)) {
+ $24 = ((($22)) + 12|0);
+ $25 = HEAP32[$24>>2]|0;
+ $26 = $25 & 4;
+ $27 = ($26|0)==(0);
+ if (!($27)) {
+ $$053 = 0;$$054 = 79;
+ break;
+ }
+ }
+ $28 = ((($6)) + 4|0);
+ $29 = ((($6)) + 8|0);
+ $30 = ((($6)) + 12|0);
+ $31 = ((($6)) + 16|0);
+ $32 = ((($6)) + 20|0);
+ HEAP32[$vararg_buffer2>>2] = $6;
+ $vararg_ptr5 = ((($vararg_buffer2)) + 4|0);
+ HEAP32[$vararg_ptr5>>2] = $28;
+ $vararg_ptr6 = ((($vararg_buffer2)) + 8|0);
+ HEAP32[$vararg_ptr6>>2] = $29;
+ $vararg_ptr7 = ((($vararg_buffer2)) + 12|0);
+ HEAP32[$vararg_ptr7>>2] = $30;
+ $vararg_ptr8 = ((($vararg_buffer2)) + 16|0);
+ HEAP32[$vararg_ptr8>>2] = $31;
+ $vararg_ptr9 = ((($vararg_buffer2)) + 20|0);
+ HEAP32[$vararg_ptr9>>2] = $32;
+ $vararg_ptr10 = ((($vararg_buffer2)) + 24|0);
+ HEAP32[$vararg_ptr10>>2] = 0;
+ $33 = (__gcry_sexp_extract_param($2,0,61404,$vararg_buffer2)|0);
+ $34 = ($33|0)==(0);
+ if ($34) {
+ $35 = (__gcry_get_debug_flag(1)|0);
+ $36 = ($35|0)==(0);
+ if (!($36)) {
+ $37 = HEAP32[$6>>2]|0;
+ __gcry_log_printmpi(61604,$37);
+ $38 = HEAP32[$28>>2]|0;
+ __gcry_log_printmpi(61621,$38);
+ $39 = (__gcry_fips_mode()|0);
+ $40 = ($39|0)==(0);
+ if ($40) {
+ $41 = HEAP32[$29>>2]|0;
+ __gcry_log_printmpi(61638,$41);
+ $42 = HEAP32[$30>>2]|0;
+ __gcry_log_printmpi(61655,$42);
+ $43 = HEAP32[$31>>2]|0;
+ __gcry_log_printmpi(61672,$43);
+ $44 = HEAP32[$32>>2]|0;
+ __gcry_log_printmpi(61689,$44);
+ }
+ }
+ $45 = HEAP32[$5>>2]|0;
+ __gcry_mpi_normalize($45);
+ $46 = HEAP32[$5>>2]|0;
+ $47 = HEAP32[$6>>2]|0;
+ __gcry_mpi_fdiv_r($46,$46,$47);
+ $48 = ((($3)) + 4|0);
+ $49 = HEAP32[$48>>2]|0;
+ $50 = (__gcry_mpi_snew($49)|0);
+ $51 = ((($3)) + 12|0);
+ $52 = HEAP32[$51>>2]|0;
+ $53 = $52 & 1;
+ $54 = ($53|0)==(0);
+ if ($54) {
+ $55 = HEAP32[$48>>2]|0;
+ $56 = (__gcry_mpi_snew($55)|0);
+ $57 = HEAP32[$48>>2]|0;
+ $58 = (__gcry_mpi_snew($57)|0);
+ $59 = HEAP32[$48>>2]|0;
+ $60 = (__gcry_mpi_snew($59)|0);
+ while(1) {
+ $61 = HEAP32[$48>>2]|0;
+ __gcry_mpi_randomize($56,$61,0);
+ $62 = HEAP32[$6>>2]|0;
+ __gcry_mpi_mod($56,$56,$62);
+ $63 = HEAP32[$6>>2]|0;
+ $64 = (__gcry_mpi_invm($58,$56,$63)|0);
+ $65 = ($64|0)==(0);
+ if (!($65)) {
+ break;
+ }
+ }
+ $66 = HEAP32[$28>>2]|0;
+ $67 = HEAP32[$6>>2]|0;
+ __gcry_mpi_powm($60,$56,$66,$67);
+ $68 = HEAP32[$5>>2]|0;
+ $69 = HEAP32[$6>>2]|0;
+ __gcry_mpi_mulm($60,$60,$68,$69);
+ _secret($50,$60,$6);
+ __gcry_mpi_release($60);
+ $70 = HEAP32[$6>>2]|0;
+ __gcry_mpi_mulm($50,$50,$58,$70);
+ __gcry_mpi_release($56);
+ __gcry_mpi_release($58);
+ } else {
+ $71 = HEAP32[$5>>2]|0;
+ _secret($50,$71,$6);
+ }
+ $72 = (__gcry_get_debug_flag(1)|0);
+ $73 = ($72|0)==(0);
+ if (!($73)) {
+ __gcry_log_printmpi(61706,$50);
+ }
+ $74 = ((($3)) + 8|0);
+ $75 = HEAP32[$74>>2]|0;
+ switch ($75|0) {
+ case 1: {
+ $76 = HEAP32[$48>>2]|0;
+ $77 = (__gcry_rsa_pkcs1_decode_for_enc($7,$8,$76,$50)|0);
+ __gcry_mpi_free($50);
+ $78 = ($77|0)==(0);
+ if (!($78)) {
+ $$053 = 0;$$054 = $77;
+ break L7;
+ }
+ $79 = HEAP32[$8>>2]|0;
+ $80 = HEAP32[$7>>2]|0;
+ HEAP32[$vararg_buffer11>>2] = $79;
+ $vararg_ptr14 = ((($vararg_buffer11)) + 4|0);
+ HEAP32[$vararg_ptr14>>2] = $80;
+ $81 = (__gcry_sexp_build($0,0,61723,$vararg_buffer11)|0);
+ $$053 = 0;$$054 = $81;
+ break L7;
+ break;
+ }
+ case 3: {
+ $82 = HEAP32[$48>>2]|0;
+ $83 = ((($3)) + 16|0);
+ $84 = HEAP32[$83>>2]|0;
+ $85 = ((($3)) + 20|0);
+ $86 = HEAP32[$85>>2]|0;
+ $87 = ((($3)) + 24|0);
+ $88 = HEAP32[$87>>2]|0;
+ $89 = (__gcry_rsa_oaep_decode($7,$8,$82,$84,$50,$86,$88)|0);
+ __gcry_mpi_free($50);
+ $90 = ($89|0)==(0);
+ if (!($90)) {
+ $$053 = 0;$$054 = $89;
+ break L7;
+ }
+ $91 = HEAP32[$8>>2]|0;
+ $92 = HEAP32[$7>>2]|0;
+ HEAP32[$vararg_buffer15>>2] = $91;
+ $vararg_ptr18 = ((($vararg_buffer15)) + 4|0);
+ HEAP32[$vararg_ptr18>>2] = $92;
+ $93 = (__gcry_sexp_build($0,0,61723,$vararg_buffer15)|0);
+ $$053 = 0;$$054 = $93;
+ break L7;
+ break;
+ }
+ default: {
+ $94 = HEAP32[$51>>2]|0;
+ $95 = $94 & 8;
+ $96 = ($95|0)==(0);
+ $97 = $96 ? 65600 : 61734;
+ HEAP32[$vararg_buffer19>>2] = $50;
+ $98 = (__gcry_sexp_build($0,0,$97,$vararg_buffer19)|0);
+ $$053 = $50;$$054 = $98;
+ break L7;
+ }
+ }
+ } else {
+ $$053 = 0;$$054 = $33;
+ }
+ } else {
+ $$053 = 0;$$054 = $17;
+ }
+ } else {
+ $$053 = 0;$$054 = $14;
+ }
+ } while(0);
+ $99 = HEAP32[$7>>2]|0;
+ __gcry_free($99);
+ __gcry_mpi_release($$053);
+ $100 = HEAP32[$6>>2]|0;
+ __gcry_mpi_release($100);
+ $101 = ((($6)) + 4|0);
+ $102 = HEAP32[$101>>2]|0;
+ __gcry_mpi_release($102);
+ $103 = ((($6)) + 8|0);
+ $104 = HEAP32[$103>>2]|0;
+ __gcry_mpi_release($104);
+ $105 = ((($6)) + 12|0);
+ $106 = HEAP32[$105>>2]|0;
+ __gcry_mpi_release($106);
+ $107 = ((($6)) + 16|0);
+ $108 = HEAP32[$107>>2]|0;
+ __gcry_mpi_release($108);
+ $109 = ((($6)) + 20|0);
+ $110 = HEAP32[$109>>2]|0;
+ __gcry_mpi_release($110);
+ $111 = HEAP32[$5>>2]|0;
+ __gcry_mpi_release($111);
+ __gcry_mpi_release(0);
+ __gcry_mpi_release(0);
+ __gcry_mpi_release(0);
+ $112 = HEAP32[$4>>2]|0;
+ __gcry_sexp_release($112);
+ __gcry_pk_util_free_encoding_ctx($3);
+ $113 = (__gcry_get_debug_flag(1)|0);
+ $114 = ($113|0)==(0);
+ if ($114) {
+ STACKTOP = sp;return ($$054|0);
+ }
+ $115 = (_gpg_strerror($$054)|0);
+ HEAP32[$vararg_buffer22>>2] = $115;
+ __gcry_log_debug(61737,$vararg_buffer22);
+ STACKTOP = sp;return ($$054|0);
+}
+function _rsa_sign($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$0 = 0, $$0$i = 0, $$021 = 0, $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
+ var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0;
+ var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0;
+ var $62 = 0, $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, $vararg_buffer = 0, $vararg_buffer11 = 0, $vararg_buffer14 = 0, $vararg_buffer7 = 0, $vararg_ptr1 = 0;
+ var $vararg_ptr10 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0);
+ $vararg_buffer14 = sp + 48|0;
+ $vararg_buffer11 = sp + 40|0;
+ $vararg_buffer7 = sp + 32|0;
+ $vararg_buffer = sp;
+ $3 = sp + 88|0;
+ $4 = sp + 80|0;
+ $5 = sp + 56|0;
+ $6 = sp + 52|0;
+ HEAP32[$4>>2] = 0;
+ ;HEAP32[$5>>2]=0|0;HEAP32[$5+4>>2]=0|0;HEAP32[$5+8>>2]=0|0;HEAP32[$5+12>>2]=0|0;HEAP32[$5+16>>2]=0|0;HEAP32[$5+20>>2]=0|0;
+ $7 = (__gcry_sexp_find_token($2,60983,1)|0);
+ $8 = ($7|0)==(0|0);
+ if ($8) {
+ $$0$i = 0;
+ } else {
+ $9 = (__gcry_sexp_nth_mpi($7,1,5)|0);
+ __gcry_sexp_release($7);
+ $10 = ($9|0)==(0|0);
+ if ($10) {
+ $73 = 0;
+ } else {
+ $11 = (__gcry_mpi_get_nbits($9)|0);
+ $73 = $11;
+ }
+ __gcry_mpi_release($9);
+ $$0$i = $73;
+ }
+ __gcry_pk_util_init_encoding_ctx($3,2,$$0$i);
+ $12 = (__gcry_pk_util_data_to_mpi($1,$4,$3)|0);
+ $13 = ($12|0)==(0);
+ do {
+ if ($13) {
+ $14 = (__gcry_get_debug_flag(1)|0);
+ $15 = ($14|0)==(0);
+ if (!($15)) {
+ $16 = HEAP32[$4>>2]|0;
+ __gcry_log_printmpi(61388,$16);
+ }
+ $17 = HEAP32[$4>>2]|0;
+ $18 = ($17|0)==(0|0);
+ if (!($18)) {
+ $19 = ((($17)) + 12|0);
+ $20 = HEAP32[$19>>2]|0;
+ $21 = $20 & 4;
+ $22 = ($21|0)==(0);
+ if (!($22)) {
+ $$021 = 0;$$1 = 79;
+ break;
+ }
+ }
+ $23 = ((($5)) + 4|0);
+ $24 = ((($5)) + 8|0);
+ $25 = ((($5)) + 12|0);
+ $26 = ((($5)) + 16|0);
+ $27 = ((($5)) + 20|0);
+ HEAP32[$vararg_buffer>>2] = $5;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = $23;
+ $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
+ HEAP32[$vararg_ptr2>>2] = $24;
+ $vararg_ptr3 = ((($vararg_buffer)) + 12|0);
+ HEAP32[$vararg_ptr3>>2] = $25;
+ $vararg_ptr4 = ((($vararg_buffer)) + 16|0);
+ HEAP32[$vararg_ptr4>>2] = $26;
+ $vararg_ptr5 = ((($vararg_buffer)) + 20|0);
+ HEAP32[$vararg_ptr5>>2] = $27;
+ $vararg_ptr6 = ((($vararg_buffer)) + 24|0);
+ HEAP32[$vararg_ptr6>>2] = 0;
+ $28 = (__gcry_sexp_extract_param($2,0,61404,$vararg_buffer)|0);
+ $29 = ($28|0)==(0);
+ if ($29) {
+ $30 = (__gcry_get_debug_flag(1)|0);
+ $31 = ($30|0)==(0);
+ if (!($31)) {
+ $32 = HEAP32[$5>>2]|0;
+ __gcry_log_printmpi(61414,$32);
+ $33 = HEAP32[$23>>2]|0;
+ __gcry_log_printmpi(61430,$33);
+ $34 = (__gcry_fips_mode()|0);
+ $35 = ($34|0)==(0);
+ if ($35) {
+ $36 = HEAP32[$24>>2]|0;
+ __gcry_log_printmpi(61446,$36);
+ $37 = HEAP32[$25>>2]|0;
+ __gcry_log_printmpi(61462,$37);
+ $38 = HEAP32[$26>>2]|0;
+ __gcry_log_printmpi(61478,$38);
+ $39 = HEAP32[$27>>2]|0;
+ __gcry_log_printmpi(61494,$39);
+ }
+ }
+ $40 = (__gcry_mpi_new(0)|0);
+ $41 = HEAP32[$4>>2]|0;
+ _secret($40,$41,$5);
+ $42 = (__gcry_get_debug_flag(1)|0);
+ $43 = ($42|0)==(0);
+ if (!($43)) {
+ __gcry_log_printmpi(61510,$40);
+ }
+ $44 = ((($3)) + 12|0);
+ $45 = HEAP32[$44>>2]|0;
+ $46 = $45 & 4;
+ $47 = ($46|0)==(0);
+ if ($47) {
+ HEAP32[$vararg_buffer11>>2] = $40;
+ $57 = (__gcry_sexp_build($0,0,61546,$vararg_buffer11)|0);
+ $$021 = $40;$$1 = $57;
+ break;
+ }
+ $48 = HEAP32[$5>>2]|0;
+ $49 = (__gcry_mpi_get_nbits($48)|0);
+ $50 = (($49) + 7)|0;
+ $51 = $50 >>> 3;
+ $52 = (__gcry_mpi_to_octet_string($6,0,$40,$51)|0);
+ $53 = ($52|0)==(0);
+ if ($53) {
+ $54 = HEAP32[$6>>2]|0;
+ HEAP32[$vararg_buffer7>>2] = $51;
+ $vararg_ptr10 = ((($vararg_buffer7)) + 4|0);
+ HEAP32[$vararg_ptr10>>2] = $54;
+ $55 = (__gcry_sexp_build($0,0,61526,$vararg_buffer7)|0);
+ $56 = HEAP32[$6>>2]|0;
+ __gcry_free($56);
+ $$0 = $55;
+ } else {
+ $$0 = $52;
+ }
+ $$021 = $40;$$1 = $$0;
+ } else {
+ $$021 = 0;$$1 = $28;
+ }
+ } else {
+ $$021 = 0;$$1 = $12;
+ }
+ } while(0);
+ __gcry_mpi_release($$021);
+ $58 = HEAP32[$5>>2]|0;
+ __gcry_mpi_release($58);
+ $59 = ((($5)) + 4|0);
+ $60 = HEAP32[$59>>2]|0;
+ __gcry_mpi_release($60);
+ $61 = ((($5)) + 8|0);
+ $62 = HEAP32[$61>>2]|0;
+ __gcry_mpi_release($62);
+ $63 = ((($5)) + 12|0);
+ $64 = HEAP32[$63>>2]|0;
+ __gcry_mpi_release($64);
+ $65 = ((($5)) + 16|0);
+ $66 = HEAP32[$65>>2]|0;
+ __gcry_mpi_release($66);
+ $67 = ((($5)) + 20|0);
+ $68 = HEAP32[$67>>2]|0;
+ __gcry_mpi_release($68);
+ $69 = HEAP32[$4>>2]|0;
+ __gcry_mpi_release($69);
+ __gcry_pk_util_free_encoding_ctx($3);
+ $70 = (__gcry_get_debug_flag(1)|0);
+ $71 = ($70|0)==(0);
+ if ($71) {
+ STACKTOP = sp;return ($$1|0);
+ }
+ $72 = (_gpg_strerror($$1)|0);
+ HEAP32[$vararg_buffer14>>2] = $72;
+ __gcry_log_debug(61566,$vararg_buffer14);
+ STACKTOP = sp;return ($$1|0);
+}
+function _rsa_verify($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$0 = 0, $$0$i = 0, $$018 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $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, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_buffer7 = 0, $vararg_ptr1 = 0;
+ var $vararg_ptr5 = 0, $vararg_ptr6 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0);
+ $vararg_buffer7 = sp + 32|0;
+ $vararg_buffer2 = sp + 16|0;
+ $vararg_buffer = sp + 8|0;
+ $3 = sp + 48|0;
+ $4 = sp + 44|0;
+ $5 = sp + 40|0;
+ $6 = sp + 36|0;
+ $7 = sp;
+ HEAP32[$4>>2] = 0;
+ HEAP32[$5>>2] = 0;
+ HEAP32[$6>>2] = 0;
+ $8 = $7;
+ $9 = $8;
+ HEAP32[$9>>2] = 0;
+ $10 = (($8) + 4)|0;
+ $11 = $10;
+ HEAP32[$11>>2] = 0;
+ $12 = (__gcry_sexp_find_token($2,60983,1)|0);
+ $13 = ($12|0)==(0|0);
+ if ($13) {
+ $$0$i = 0;
+ } else {
+ $14 = (__gcry_sexp_nth_mpi($12,1,5)|0);
+ __gcry_sexp_release($12);
+ $15 = ($14|0)==(0|0);
+ if ($15) {
+ $75 = 0;
+ } else {
+ $16 = (__gcry_mpi_get_nbits($14)|0);
+ $75 = $16;
+ }
+ __gcry_mpi_release($14);
+ $$0$i = $75;
+ }
+ __gcry_pk_util_init_encoding_ctx($3,3,$$0$i);
+ $17 = (__gcry_pk_util_data_to_mpi($1,$6,$3)|0);
+ $18 = ($17|0)==(0);
+ do {
+ if ($18) {
+ $19 = (__gcry_get_debug_flag(1)|0);
+ $20 = ($19|0)==(0);
+ if (!($20)) {
+ $21 = HEAP32[$6>>2]|0;
+ __gcry_log_printmpi(61287,$21);
+ }
+ $22 = HEAP32[$6>>2]|0;
+ $23 = ($22|0)==(0|0);
+ if (!($23)) {
+ $24 = ((($22)) + 12|0);
+ $25 = HEAP32[$24>>2]|0;
+ $26 = $25 & 4;
+ $27 = ($26|0)==(0);
+ if (!($27)) {
+ $$0 = 0;$$018 = 79;
+ break;
+ }
+ }
+ $28 = (__gcry_pk_util_preparse_sigval($0,6464,$4,0)|0);
+ $29 = ($28|0)==(0);
+ if ($29) {
+ $30 = HEAP32[$4>>2]|0;
+ HEAP32[$vararg_buffer>>2] = $5;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 0;
+ $31 = (__gcry_sexp_extract_param($30,0,60981,$vararg_buffer)|0);
+ $32 = ($31|0)==(0);
+ if ($32) {
+ $33 = (__gcry_get_debug_flag(1)|0);
+ $34 = ($33|0)==(0);
+ if (!($34)) {
+ $35 = HEAP32[$5>>2]|0;
+ __gcry_log_printmpi(61303,$35);
+ }
+ $36 = ((($7)) + 4|0);
+ HEAP32[$vararg_buffer2>>2] = $7;
+ $vararg_ptr5 = ((($vararg_buffer2)) + 4|0);
+ HEAP32[$vararg_ptr5>>2] = $36;
+ $vararg_ptr6 = ((($vararg_buffer2)) + 8|0);
+ HEAP32[$vararg_ptr6>>2] = 0;
+ $37 = (__gcry_sexp_extract_param($2,0,60969,$vararg_buffer2)|0);
+ $38 = ($37|0)==(0);
+ if ($38) {
+ $39 = (__gcry_get_debug_flag(1)|0);
+ $40 = ($39|0)==(0);
+ if (!($40)) {
+ $41 = HEAP32[$7>>2]|0;
+ __gcry_log_printmpi(61319,$41);
+ $42 = HEAP32[$36>>2]|0;
+ __gcry_log_printmpi(61335,$42);
+ }
+ $43 = (__gcry_mpi_new(0)|0);
+ $44 = HEAP32[$5>>2]|0;
+ $45 = ($43|0)==($44|0);
+ if ($45) {
+ $46 = ((($43)) + 4|0);
+ $47 = HEAP32[$46>>2]|0;
+ $48 = $47 << 1;
+ $49 = (__gcry_mpi_alloc($48)|0);
+ $50 = HEAP32[$36>>2]|0;
+ $51 = HEAP32[$7>>2]|0;
+ __gcry_mpi_powm($49,$43,$50,$51);
+ (__gcry_mpi_set($43,$49)|0);
+ __gcry_mpi_free($49);
+ } else {
+ $52 = HEAP32[$36>>2]|0;
+ $53 = HEAP32[$7>>2]|0;
+ __gcry_mpi_powm($43,$44,$52,$53);
+ }
+ $54 = (__gcry_get_debug_flag(1)|0);
+ $55 = ($54|0)==(0);
+ if (!($55)) {
+ __gcry_log_printmpi(61351,$43);
+ }
+ $56 = ((($3)) + 32|0);
+ $57 = HEAP32[$56>>2]|0;
+ $58 = ($57|0)==(0|0);
+ if ($58) {
+ $60 = HEAP32[$6>>2]|0;
+ $61 = (__gcry_mpi_cmp($43,$60)|0);
+ $62 = ($61|0)==(0);
+ $63 = $62 ? 0 : 8;
+ $$0 = $43;$$018 = $63;
+ break;
+ } else {
+ $59 = (FUNCTION_TABLE_iii[$57 & 127]($3,$43)|0);
+ $$0 = $43;$$018 = $59;
+ break;
+ }
+ } else {
+ $$0 = 0;$$018 = $37;
+ }
+ } else {
+ $$0 = 0;$$018 = $31;
+ }
+ } else {
+ $$0 = 0;$$018 = $28;
+ }
+ } else {
+ $$0 = 0;$$018 = $17;
+ }
+ } while(0);
+ __gcry_mpi_release($$0);
+ $64 = HEAP32[$7>>2]|0;
+ __gcry_mpi_release($64);
+ $65 = ((($7)) + 4|0);
+ $66 = HEAP32[$65>>2]|0;
+ __gcry_mpi_release($66);
+ $67 = HEAP32[$6>>2]|0;
+ __gcry_mpi_release($67);
+ $68 = HEAP32[$5>>2]|0;
+ __gcry_mpi_release($68);
+ $69 = HEAP32[$4>>2]|0;
+ __gcry_sexp_release($69);
+ __gcry_pk_util_free_encoding_ctx($3);
+ $70 = (__gcry_get_debug_flag(1)|0);
+ $71 = ($70|0)==(0);
+ if ($71) {
+ STACKTOP = sp;return ($$018|0);
+ }
+ $72 = ($$018|0)==(0);
+ if ($72) {
+ $74 = 65003;
+ } else {
+ $73 = (_gpg_strerror($$018)|0);
+ $74 = $73;
+ }
+ HEAP32[$vararg_buffer7>>2] = $74;
+ __gcry_log_debug(61367,$vararg_buffer7);
+ STACKTOP = sp;return ($$018|0);
+}
+function _rsa_get_nbits($0) {
+ $0 = $0|0;
+ var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = (__gcry_sexp_find_token($0,60983,1)|0);
+ $2 = ($1|0)==(0|0);
+ if ($2) {
+ $$0 = 0;
+ return ($$0|0);
+ }
+ $3 = (__gcry_sexp_nth_mpi($1,1,5)|0);
+ __gcry_sexp_release($1);
+ $4 = ($3|0)==(0|0);
+ if ($4) {
+ $6 = 0;
+ } else {
+ $5 = (__gcry_mpi_get_nbits($3)|0);
+ $6 = $5;
+ }
+ __gcry_mpi_release($3);
+ $$0 = $6;
+ return ($$0|0);
+}
+function _run_selftests_1209($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$0 = 0, $$0$i$i = 0, $$011$i$i = 0, $$016$i = 0, $$017$i = 0, $$018$i = 0, $$020$i = 0, $$032$i$i = 0, $$033$i$i = 0, $$034$i$i = 0, $$1$i$i = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0;
+ var $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $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, $9 = 0, $cond = 0, $spec$select = 0, $spec$select7 = 0, $vararg_buffer = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
+ $vararg_buffer = sp;
+ $3 = sp + 32|0;
+ $4 = sp + 28|0;
+ $5 = sp + 24|0;
+ $6 = sp + 20|0;
+ $7 = sp + 16|0;
+ $8 = sp + 12|0;
+ $9 = sp + 8|0;
+ $10 = sp + 4|0;
+ $cond = ($0|0)==(1);
+ if (!($cond)) {
+ $$0 = 4;
+ STACKTOP = sp;return ($$0|0);
+ }
+ HEAP32[$9>>2] = 0;
+ HEAP32[$10>>2] = 0;
+ $11 = (__gcry_sexp_sscan($9,0,6480,1029)|0);
+ $12 = ($11|0)==(0);
+ do {
+ if ($12) {
+ $13 = (__gcry_sexp_sscan($10,0,7520,316)|0);
+ $14 = ($13|0)==(0);
+ if ($14) {
+ $16 = HEAP32[$9>>2]|0;
+ $17 = (__gcry_pk_testkey($16)|0);
+ $18 = ($17|0)==(0);
+ if (!($18)) {
+ $19 = (_gpg_strerror($17)|0);
+ $$016$i = $19;$$017$i = 61251;
+ label = 28;
+ break;
+ }
+ $20 = HEAP32[$10>>2]|0;
+ $21 = HEAP32[$9>>2]|0;
+ HEAP32[$6>>2] = 0;
+ HEAP32[$7>>2] = 0;
+ HEAP32[$8>>2] = 0;
+ $22 = (__gcry_sexp_sscan($6,0,7840,75)|0);
+ $23 = ($22|0)==(0);
+ if ($23) {
+ $24 = (__gcry_sexp_sscan($7,0,7920,75)|0);
+ $25 = ($24|0)==(0);
+ if ($25) {
+ $26 = HEAP32[$6>>2]|0;
+ $27 = (__gcry_pk_sign($8,$26,$21)|0);
+ $28 = ($27|0)==(0);
+ if ($28) {
+ $29 = HEAP32[$8>>2]|0;
+ $30 = HEAP32[$6>>2]|0;
+ $31 = (__gcry_pk_verify($29,$30,$20)|0);
+ $32 = ($31|0)==(0);
+ if ($32) {
+ $33 = HEAP32[$8>>2]|0;
+ $34 = HEAP32[$7>>2]|0;
+ $35 = (__gcry_pk_verify($33,$34,$20)|0);
+ $36 = $35 & 65535;
+ $37 = ($36|0)==(8);
+ $spec$select = $37 ? 0 : 60985;
+ $$011$i$i = $spec$select;
+ } else {
+ $$011$i$i = 61050;
+ }
+ } else {
+ $$011$i$i = 61035;
+ }
+ } else {
+ $$011$i$i = 61012;
+ }
+ } else {
+ $$011$i$i = 61012;
+ }
+ $38 = HEAP32[$8>>2]|0;
+ __gcry_sexp_release($38);
+ $39 = HEAP32[$7>>2]|0;
+ __gcry_sexp_release($39);
+ $40 = HEAP32[$6>>2]|0;
+ __gcry_sexp_release($40);
+ $41 = ($$011$i$i|0)==(0|0);
+ if ($41) {
+ $42 = HEAP32[$10>>2]|0;
+ $43 = HEAP32[$9>>2]|0;
+ HEAP32[$3>>2] = 0;
+ HEAP32[$4>>2] = 0;
+ HEAP32[$5>>2] = 0;
+ $44 = (__gcry_mpi_new(1000)|0);
+ __gcry_mpi_randomize($44,1000,0);
+ HEAP32[$vararg_buffer>>2] = $44;
+ $45 = (__gcry_sexp_build($3,0,61064,$vararg_buffer)|0);
+ $46 = ($45|0)==(0);
+ if ($46) {
+ $47 = HEAP32[$3>>2]|0;
+ $48 = (__gcry_pk_encrypt($4,$47,$42)|0);
+ $49 = ($48|0)==(0);
+ if ($49) {
+ $50 = HEAP32[$4>>2]|0;
+ $51 = (__gcry_sexp_find_token($50,61094,0)|0);
+ $52 = ($51|0)==(0|0);
+ if ($52) {
+ $$0$i$i = 0;$$033$i$i = 0;$$034$i$i = 61136;$$1$i$i = 0;
+ } else {
+ $53 = (__gcry_sexp_find_token($51,61102,0)|0);
+ __gcry_sexp_release($51);
+ $54 = ($53|0)==(0|0);
+ if ($54) {
+ $$0$i$i = 0;$$033$i$i = 0;$$034$i$i = 61136;$$1$i$i = 0;
+ } else {
+ $55 = (__gcry_sexp_find_token($53,60979,0)|0);
+ __gcry_sexp_release($53);
+ $56 = ($55|0)==(0|0);
+ if ($56) {
+ $$0$i$i = 0;$$033$i$i = 0;$$034$i$i = 61136;$$1$i$i = 0;
+ } else {
+ $57 = (__gcry_sexp_nth_mpi($55,1,0)|0);
+ __gcry_sexp_release($55);
+ $58 = ($57|0)==(0|0);
+ if ($58) {
+ $$0$i$i = 0;$$033$i$i = 0;$$034$i$i = 61136;$$1$i$i = 0;
+ } else {
+ $59 = (__gcry_mpi_cmp($44,$57)|0);
+ $60 = ($59|0)==(0);
+ if ($60) {
+ $$0$i$i = 0;$$033$i$i = $57;$$034$i$i = 61169;$$1$i$i = 0;
+ } else {
+ $61 = HEAP32[$4>>2]|0;
+ $62 = (__gcry_pk_decrypt($5,$61,$43)|0);
+ $63 = ($62|0)==(0);
+ if ($63) {
+ $64 = HEAP32[$5>>2]|0;
+ $65 = (__gcry_sexp_find_token($64,61106,0)|0);
+ $66 = ($65|0)==(0|0);
+ if ($66) {
+ $68 = HEAP32[$5>>2]|0;
+ $69 = (__gcry_sexp_nth_mpi($68,0,5)|0);
+ $$032$i$i = $69;
+ } else {
+ $67 = (__gcry_sexp_nth_mpi($65,1,5)|0);
+ $$032$i$i = $67;
+ }
+ $70 = ($$032$i$i|0)==(0|0);
+ if ($70) {
+ $$0$i$i = $65;$$033$i$i = $57;$$034$i$i = 61213;$$1$i$i = 0;
+ } else {
+ $71 = (__gcry_mpi_cmp($44,$$032$i$i)|0);
+ $72 = ($71|0)==(0);
+ $spec$select7 = $72 ? 0 : 61112;
+ $$0$i$i = $65;$$033$i$i = $57;$$034$i$i = $spec$select7;$$1$i$i = $$032$i$i;
+ }
+ } else {
+ $$0$i$i = 0;$$033$i$i = $57;$$034$i$i = 61198;$$1$i$i = 0;
+ }
+ }
+ }
+ }
+ }
+ }
+ } else {
+ $$0$i$i = 0;$$033$i$i = 0;$$034$i$i = 61121;$$1$i$i = 0;
+ }
+ } else {
+ $$0$i$i = 0;$$033$i$i = 0;$$034$i$i = 61012;$$1$i$i = 0;
+ }
+ __gcry_sexp_release($$0$i$i);
+ __gcry_mpi_release($$1$i$i);
+ $73 = HEAP32[$5>>2]|0;
+ __gcry_sexp_release($73);
+ __gcry_mpi_release($$033$i$i);
+ $74 = HEAP32[$4>>2]|0;
+ __gcry_sexp_release($74);
+ $75 = HEAP32[$3>>2]|0;
+ __gcry_sexp_release($75);
+ __gcry_mpi_release($44);
+ $76 = ($$034$i$i|0)==(0|0);
+ if ($76) {
+ $77 = HEAP32[$10>>2]|0;
+ __gcry_sexp_release($77);
+ $78 = HEAP32[$9>>2]|0;
+ __gcry_sexp_release($78);
+ $$018$i = 0;
+ } else {
+ $$016$i = $$034$i$i;$$017$i = 61272;
+ label = 28;
+ }
+ } else {
+ $$016$i = $$011$i$i;$$017$i = 61267;
+ label = 28;
+ }
+ } else {
+ $$020$i = $13;
+ label = 4;
+ }
+ } else {
+ $$020$i = $11;
+ label = 4;
+ }
+ } while(0);
+ if ((label|0) == 4) {
+ $15 = (_gpg_strerror($$020$i)|0);
+ $$016$i = $15;$$017$i = 61243;
+ label = 28;
+ }
+ if ((label|0) == 28) {
+ $79 = HEAP32[$10>>2]|0;
+ __gcry_sexp_release($79);
+ $80 = HEAP32[$9>>2]|0;
+ __gcry_sexp_release($80);
+ $81 = ($2|0)==(0|0);
+ if ($81) {
+ $$018$i = 50;
+ } else {
+ FUNCTION_TABLE_viiii[$2 & 63](61280,1,$$017$i,$$016$i);
+ $$018$i = 50;
+ }
+ }
+ $$0 = $$018$i;
+ STACKTOP = sp;return ($$0|0);
+}
+function _compute_keygrip($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $$0 = 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)) abortStackOverflow(16|0);
+ $2 = sp;
+ $3 = (__gcry_sexp_find_token($1,60983,1)|0);
+ $4 = ($3|0)==(0|0);
+ do {
+ if ($4) {
+ $$0 = 68;
+ } else {
+ $5 = (__gcry_sexp_nth_data($3,1,$2)|0);
+ $6 = ($5|0)==(0|0);
+ if ($6) {
+ __gcry_sexp_release($3);
+ $$0 = 68;
+ break;
+ } else {
+ $7 = HEAP32[$2>>2]|0;
+ __gcry_md_write($0,$5,$7);
+ __gcry_sexp_release($3);
+ $$0 = 0;
+ break;
+ }
+ }
+ } while(0);
+ STACKTOP = sp;return ($$0|0);
+}
+function _secret($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
+ var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
+ var $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ __gcry_mpi_normalize($1);
+ $3 = ((($2)) + 12|0);
+ $4 = HEAP32[$3>>2]|0;
+ $5 = ($4|0)==(0|0);
+ if (!($5)) {
+ $6 = ((($2)) + 16|0);
+ $7 = HEAP32[$6>>2]|0;
+ $8 = ($7|0)==(0|0);
+ if (!($8)) {
+ $9 = ((($2)) + 20|0);
+ $10 = HEAP32[$9>>2]|0;
+ $11 = ($10|0)==(0|0);
+ if (!($11)) {
+ $15 = HEAP32[$2>>2]|0;
+ $16 = ((($15)) + 4|0);
+ $17 = HEAP32[$16>>2]|0;
+ $18 = (($17) + 1)|0;
+ $19 = (__gcry_mpi_alloc_secure($18)|0);
+ $20 = HEAP32[$2>>2]|0;
+ $21 = ((($20)) + 4|0);
+ $22 = HEAP32[$21>>2]|0;
+ $23 = (($22) + 1)|0;
+ $24 = (__gcry_mpi_alloc_secure($23)|0);
+ $25 = HEAP32[$2>>2]|0;
+ $26 = ((($25)) + 4|0);
+ $27 = HEAP32[$26>>2]|0;
+ $28 = (($27) + 1)|0;
+ $29 = (__gcry_mpi_alloc_secure($28)|0);
+ $30 = HEAP32[$3>>2]|0;
+ __gcry_mpi_sub_ui($29,$30,1);
+ $31 = ((($2)) + 8|0);
+ $32 = HEAP32[$31>>2]|0;
+ __gcry_mpi_fdiv_r($29,$32,$29);
+ $33 = HEAP32[$3>>2]|0;
+ __gcry_mpi_powm($19,$1,$29,$33);
+ $34 = HEAP32[$6>>2]|0;
+ __gcry_mpi_sub_ui($29,$34,1);
+ $35 = HEAP32[$31>>2]|0;
+ __gcry_mpi_fdiv_r($29,$35,$29);
+ $36 = HEAP32[$6>>2]|0;
+ __gcry_mpi_powm($24,$1,$29,$36);
+ __gcry_mpi_sub($29,$24,$19);
+ $37 = ((($29)) + 8|0);
+ $38 = HEAP32[$37>>2]|0;
+ $39 = ($38|0)==(0);
+ if (!($39)) {
+ $40 = HEAP32[$6>>2]|0;
+ __gcry_mpi_add($29,$29,$40);
+ }
+ $41 = HEAP32[$9>>2]|0;
+ $42 = HEAP32[$6>>2]|0;
+ __gcry_mpi_mulm($29,$41,$29,$42);
+ $43 = HEAP32[$3>>2]|0;
+ __gcry_mpi_mul($29,$29,$43);
+ __gcry_mpi_add($0,$19,$29);
+ __gcry_mpi_free($29);
+ __gcry_mpi_free($19);
+ __gcry_mpi_free($24);
+ return;
+ }
+ }
+ }
+ $12 = ((($2)) + 8|0);
+ $13 = HEAP32[$12>>2]|0;
+ $14 = HEAP32[$2>>2]|0;
+ __gcry_mpi_powm($0,$1,$13,$14);
+ return;
+}
+function _test_keys($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
+ var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $5 = 0, $6 = 0, $7 = 0;
+ var $8 = 0, $9 = 0, $spec$select = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $2 = (__gcry_mpi_new($1)|0);
+ $3 = (__gcry_mpi_new($1)|0);
+ $4 = (__gcry_mpi_new($1)|0);
+ $5 = (__gcry_mpi_new($1)|0);
+ $6 = HEAP32[$0>>2]|0;
+ $7 = ((($0)) + 4|0);
+ $8 = HEAP32[$7>>2]|0;
+ __gcry_mpi_randomize($2,$1,0);
+ $9 = ($3|0)==($2|0);
+ if ($9) {
+ $10 = ((($2)) + 4|0);
+ $11 = HEAP32[$10>>2]|0;
+ $12 = $11 << 1;
+ $13 = (__gcry_mpi_alloc($12)|0);
+ $14 = $8;
+ $15 = $6;
+ __gcry_mpi_powm($13,$2,$14,$15);
+ (__gcry_mpi_set($2,$13)|0);
+ __gcry_mpi_free($13);
+ } else {
+ $16 = $8;
+ $17 = $6;
+ __gcry_mpi_powm($3,$2,$16,$17);
+ }
+ $18 = (__gcry_mpi_cmp($3,$2)|0);
+ $19 = ($18|0)==(0);
+ if ($19) {
+ $$0 = -1;
+ } else {
+ _secret($4,$3,$0);
+ $20 = (__gcry_mpi_cmp($4,$2)|0);
+ $21 = ($20|0)==(0);
+ if ($21) {
+ __gcry_mpi_randomize($2,$1,0);
+ _secret($5,$2,$0);
+ $22 = ($4|0)==($5|0);
+ if ($22) {
+ $23 = ((($4)) + 4|0);
+ $24 = HEAP32[$23>>2]|0;
+ $25 = $24 << 1;
+ $26 = (__gcry_mpi_alloc($25)|0);
+ $27 = $8;
+ $28 = $6;
+ __gcry_mpi_powm($26,$4,$27,$28);
+ (__gcry_mpi_set($4,$26)|0);
+ __gcry_mpi_free($26);
+ } else {
+ $29 = $8;
+ $30 = $6;
+ __gcry_mpi_powm($4,$5,$29,$30);
+ }
+ $31 = (__gcry_mpi_cmp($4,$2)|0);
+ $32 = ($31|0)==(0);
+ if ($32) {
+ __gcry_mpi_add_ui($5,$5,1);
+ if ($22) {
+ $33 = ((($4)) + 4|0);
+ $34 = HEAP32[$33>>2]|0;
+ $35 = $34 << 1;
+ $36 = (__gcry_mpi_alloc($35)|0);
+ $37 = $8;
+ $38 = $6;
+ __gcry_mpi_powm($36,$4,$37,$38);
+ (__gcry_mpi_set($4,$36)|0);
+ __gcry_mpi_free($36);
+ } else {
+ $39 = $8;
+ $40 = $6;
+ __gcry_mpi_powm($4,$5,$39,$40);
+ }
+ $41 = (__gcry_mpi_cmp($4,$2)|0);
+ $42 = ($41|0)==(0);
+ $spec$select = $42 << 31 >> 31;
+ $$0 = $spec$select;
+ } else {
+ $$0 = -1;
+ }
+ } else {
+ $$0 = -1;
+ }
+ }
+ __gcry_mpi_release($5);
+ __gcry_mpi_release($4);
+ __gcry_mpi_release($3);
+ __gcry_mpi_release($2);
+ return ($$0|0);
+}
+function _check_exponent($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ __gcry_mpi_sub_ui($1,$1,1);
+ $2 = (__gcry_mpi_alloc_like($1)|0);
+ $3 = (__gcry_mpi_gcd($2,$0,$1)|0);
+ $4 = ($3|0)==(0);
+ $5 = $4&1;
+ __gcry_mpi_release($2);
+ __gcry_mpi_add_ui($1,$1,1);
+ return ($5|0);
+}
+function _sha1_init($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $2 = ((($0)) + 160|0);
+ HEAP32[$2>>2] = 1732584193;
+ $3 = ((($0)) + 164|0);
+ HEAP32[$3>>2] = -271733879;
+ $4 = ((($0)) + 168|0);
+ HEAP32[$4>>2] = -1732584194;
+ $5 = ((($0)) + 172|0);
+ HEAP32[$5>>2] = 271733878;
+ $6 = ((($0)) + 176|0);
+ HEAP32[$6>>2] = -1009589776;
+ $7 = ((($0)) + 128|0);
+ $8 = ((($0)) + 148|0);
+ ;HEAP32[$7>>2]=0|0;HEAP32[$7+4>>2]=0|0;HEAP32[$7+8>>2]=0|0;HEAP32[$7+12>>2]=0|0;HEAP32[$7+16>>2]=0|0;
+ HEAP32[$8>>2] = 64;
+ $9 = ((($0)) + 152|0);
+ HEAP32[$9>>2] = 78;
+ return;
+}
+function _sha1_final($0) {
+ $0 = $0|0;
+ var $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, $116 = 0;
+ var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $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 $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0;
+ var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0;
+ var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0;
+ var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $spec$select = 0, dest = 0, label = 0, sp = 0, stop = 0;
+ sp = STACKTOP;
+ __gcry_md_block_write($0,0,0);
+ $1 = ((($0)) + 128|0);
+ $2 = $1;
+ $3 = $2;
+ $4 = HEAP32[$3>>2]|0;
+ $5 = (($2) + 4)|0;
+ $6 = $5;
+ $7 = HEAP32[$6>>2]|0;
+ $8 = $4 << 6;
+ $9 = (_bitshift64Lshr(($4|0),($7|0),26)|0);
+ $10 = tempRet0;
+ $11 = $9 & 536870848;
+ $12 = $4 >>> 26;
+ $13 = $11 | $12;
+ $14 = ((($0)) + 144|0);
+ $15 = HEAP32[$14>>2]|0;
+ $16 = (($8) + ($15))|0;
+ $17 = ($16>>>0)<($8>>>0);
+ $18 = $17&1;
+ $spec$select = (($13) + ($18))|0;
+ $19 = $16 << 3;
+ $20 = $spec$select << 3;
+ $21 = $16 >>> 29;
+ $22 = $20 | $21;
+ $23 = ($15|0)<(56);
+ $24 = (($15) + 1)|0;
+ HEAP32[$14>>2] = $24;
+ $25 = (($0) + ($15)|0);
+ HEAP8[$25>>0] = -128;
+ $26 = HEAP32[$14>>2]|0;
+ if ($23) {
+ $27 = ($26|0)<(56);
+ if ($27) {
+ $29 = $26;
+ while(1) {
+ $28 = (($29) + 1)|0;
+ HEAP32[$14>>2] = $28;
+ $30 = (($0) + ($29)|0);
+ HEAP8[$30>>0] = 0;
+ $31 = HEAP32[$14>>2]|0;
+ $32 = ($31|0)<(56);
+ if ($32) {
+ $29 = $31;
+ } else {
+ break;
+ }
+ }
+ }
+ } else {
+ $33 = ($26|0)<(64);
+ if ($33) {
+ $35 = $26;
+ while(1) {
+ $34 = (($35) + 1)|0;
+ HEAP32[$14>>2] = $34;
+ $36 = (($0) + ($35)|0);
+ HEAP8[$36>>0] = 0;
+ $37 = HEAP32[$14>>2]|0;
+ $38 = ($37|0)<(64);
+ if ($38) {
+ $35 = $37;
+ } else {
+ break;
+ }
+ }
+ }
+ __gcry_md_block_write($0,0,0);
+ dest=$0; stop=dest+56|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
+ }
+ $39 = ((($0)) + 56|0);
+ $40 = $spec$select >>> 21;
+ $41 = $40&255;
+ HEAP8[$39>>0] = $41;
+ $42 = $spec$select >>> 13;
+ $43 = $42&255;
+ $44 = ((($0)) + 57|0);
+ HEAP8[$44>>0] = $43;
+ $45 = $spec$select >>> 5;
+ $46 = $45&255;
+ $47 = ((($0)) + 58|0);
+ HEAP8[$47>>0] = $46;
+ $48 = $22&255;
+ $49 = ((($0)) + 59|0);
+ HEAP8[$49>>0] = $48;
+ $50 = ((($0)) + 60|0);
+ $51 = $16 >>> 21;
+ $52 = $51&255;
+ HEAP8[$50>>0] = $52;
+ $53 = $16 >>> 13;
+ $54 = $53&255;
+ $55 = ((($0)) + 61|0);
+ HEAP8[$55>>0] = $54;
+ $56 = $16 >>> 5;
+ $57 = $56&255;
+ $58 = ((($0)) + 62|0);
+ HEAP8[$58>>0] = $57;
+ $59 = $19&255;
+ $60 = ((($0)) + 63|0);
+ HEAP8[$60>>0] = $59;
+ (_transform_1319($0,$0,1)|0);
+ ___gcry_burn_stack(104);
+ $61 = ((($0)) + 160|0);
+ $62 = HEAP32[$61>>2]|0;
+ $63 = $62 >>> 24;
+ $64 = $63&255;
+ HEAP8[$0>>0] = $64;
+ $65 = $62 >>> 16;
+ $66 = $65&255;
+ $67 = ((($0)) + 1|0);
+ HEAP8[$67>>0] = $66;
+ $68 = $62 >>> 8;
+ $69 = $68&255;
+ $70 = ((($0)) + 2|0);
+ HEAP8[$70>>0] = $69;
+ $71 = $62&255;
+ $72 = ((($0)) + 3|0);
+ HEAP8[$72>>0] = $71;
+ $73 = ((($0)) + 4|0);
+ $74 = ((($0)) + 164|0);
+ $75 = HEAP32[$74>>2]|0;
+ $76 = $75 >>> 24;
+ $77 = $76&255;
+ HEAP8[$73>>0] = $77;
+ $78 = $75 >>> 16;
+ $79 = $78&255;
+ $80 = ((($0)) + 5|0);
+ HEAP8[$80>>0] = $79;
+ $81 = $75 >>> 8;
+ $82 = $81&255;
+ $83 = ((($0)) + 6|0);
+ HEAP8[$83>>0] = $82;
+ $84 = $75&255;
+ $85 = ((($0)) + 7|0);
+ HEAP8[$85>>0] = $84;
+ $86 = ((($0)) + 8|0);
+ $87 = ((($0)) + 168|0);
+ $88 = HEAP32[$87>>2]|0;
+ $89 = $88 >>> 24;
+ $90 = $89&255;
+ HEAP8[$86>>0] = $90;
+ $91 = $88 >>> 16;
+ $92 = $91&255;
+ $93 = ((($0)) + 9|0);
+ HEAP8[$93>>0] = $92;
+ $94 = $88 >>> 8;
+ $95 = $94&255;
+ $96 = ((($0)) + 10|0);
+ HEAP8[$96>>0] = $95;
+ $97 = $88&255;
+ $98 = ((($0)) + 11|0);
+ HEAP8[$98>>0] = $97;
+ $99 = ((($0)) + 12|0);
+ $100 = ((($0)) + 172|0);
+ $101 = HEAP32[$100>>2]|0;
+ $102 = $101 >>> 24;
+ $103 = $102&255;
+ HEAP8[$99>>0] = $103;
+ $104 = $101 >>> 16;
+ $105 = $104&255;
+ $106 = ((($0)) + 13|0);
+ HEAP8[$106>>0] = $105;
+ $107 = $101 >>> 8;
+ $108 = $107&255;
+ $109 = ((($0)) + 14|0);
+ HEAP8[$109>>0] = $108;
+ $110 = $101&255;
+ $111 = ((($0)) + 15|0);
+ HEAP8[$111>>0] = $110;
+ $112 = ((($0)) + 16|0);
+ $113 = ((($0)) + 176|0);
+ $114 = HEAP32[$113>>2]|0;
+ $115 = $114 >>> 24;
+ $116 = $115&255;
+ HEAP8[$112>>0] = $116;
+ $117 = $114 >>> 16;
+ $118 = $117&255;
+ $119 = ((($0)) + 17|0);
+ HEAP8[$119>>0] = $118;
+ $120 = $114 >>> 8;
+ $121 = $120&255;
+ $122 = ((($0)) + 18|0);
+ HEAP8[$122>>0] = $121;
+ $123 = $114&255;
+ $124 = ((($0)) + 19|0);
+ HEAP8[$124>>0] = $123;
+ return;
+}
+function _sha1_read($0) {
+ $0 = $0|0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ return ($0|0);
+}
+function _run_selftests_1309($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$0 = 0, $$0$i = 0, $$011$i = 0, $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cond = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $cond = ($0|0)==(2);
+ if (!($cond)) {
+ $$0 = 5;
+ return ($$0|0);
+ }
+ $3 = (__gcry_hash_selftest_check_one(2,0,62920,3,62440,20)|0);
+ $4 = ($3|0)==(0|0);
+ if ($4) {
+ $5 = ($1|0)==(0);
+ if ($5) {
+ $$0 = 0;
+ return ($$0|0);
+ }
+ $6 = (__gcry_hash_selftest_check_one(2,0,62624,56,62461,20)|0);
+ $7 = ($6|0)==(0|0);
+ if ($7) {
+ $8 = (__gcry_hash_selftest_check_one(2,1,0,0,62482,20)|0);
+ $9 = ($8|0)==(0|0);
+ if ($9) {
+ $$0 = 0;
+ return ($$0|0);
+ } else {
+ $$0$i = $8;$$011$i = 63209;
+ }
+ } else {
+ $$0$i = $6;$$011$i = 63197;
+ }
+ } else {
+ $$0$i = $3;$$011$i = 63184;
+ }
+ $10 = ($2|0)==(0|0);
+ if ($10) {
+ $$0 = 50;
+ return ($$0|0);
+ }
+ FUNCTION_TABLE_viiii[$2 & 63](63225,2,$$011$i,$$0$i);
+ $$0 = 50;
+ return ($$0|0);
+}
+function _transform_1319($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$0 = 0, $$08 = 0, $$pre = 0, $$pre10 = 0, $$pre11 = 0, $$pre12 = 0, $$pre9 = 0, $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0, $1003 = 0, $1004 = 0, $1005 = 0, $1006 = 0, $1007 = 0, $1008 = 0, $1009 = 0, $101 = 0;
+ var $1010 = 0, $1011 = 0, $1012 = 0, $1013 = 0, $1014 = 0, $1015 = 0, $1016 = 0, $1017 = 0, $1018 = 0, $1019 = 0, $102 = 0, $1020 = 0, $1021 = 0, $1022 = 0, $1023 = 0, $1024 = 0, $1025 = 0, $1026 = 0, $1027 = 0, $1028 = 0;
+ var $1029 = 0, $103 = 0, $1030 = 0, $1031 = 0, $1032 = 0, $1033 = 0, $1034 = 0, $1035 = 0, $1036 = 0, $1037 = 0, $1038 = 0, $1039 = 0, $104 = 0, $1040 = 0, $1041 = 0, $1042 = 0, $1043 = 0, $1044 = 0, $1045 = 0, $1046 = 0;
+ var $1047 = 0, $1048 = 0, $1049 = 0, $105 = 0, $1050 = 0, $1051 = 0, $1052 = 0, $1053 = 0, $1054 = 0, $1055 = 0, $1056 = 0, $1057 = 0, $1058 = 0, $1059 = 0, $106 = 0, $1060 = 0, $1061 = 0, $1062 = 0, $1063 = 0, $1064 = 0;
+ var $1065 = 0, $1066 = 0, $1067 = 0, $1068 = 0, $1069 = 0, $107 = 0, $1070 = 0, $1071 = 0, $1072 = 0, $1073 = 0, $1074 = 0, $1075 = 0, $1076 = 0, $1077 = 0, $1078 = 0, $1079 = 0, $108 = 0, $1080 = 0, $1081 = 0, $1082 = 0;
+ var $1083 = 0, $1084 = 0, $1085 = 0, $1086 = 0, $1087 = 0, $1088 = 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;
+ var $1100 = 0, $1101 = 0, $1102 = 0, $1103 = 0, $1104 = 0, $1105 = 0, $1106 = 0, $1107 = 0, $1108 = 0, $1109 = 0, $111 = 0, $1110 = 0, $1111 = 0, $1112 = 0, $1113 = 0, $1114 = 0, $1115 = 0, $1116 = 0, $1117 = 0, $1118 = 0;
+ var $1119 = 0, $112 = 0, $1120 = 0, $1121 = 0, $1122 = 0, $1123 = 0, $1124 = 0, $1125 = 0, $1126 = 0, $1127 = 0, $1128 = 0, $1129 = 0, $113 = 0, $1130 = 0, $1131 = 0, $1132 = 0, $1133 = 0, $1134 = 0, $1135 = 0, $1136 = 0;
+ var $1137 = 0, $1138 = 0, $1139 = 0, $114 = 0, $1140 = 0, $1141 = 0, $1142 = 0, $1143 = 0, $1144 = 0, $1145 = 0, $1146 = 0, $1147 = 0, $1148 = 0, $1149 = 0, $115 = 0, $1150 = 0, $1151 = 0, $1152 = 0, $1153 = 0, $1154 = 0;
+ var $1155 = 0, $1156 = 0, $1157 = 0, $1158 = 0, $1159 = 0, $116 = 0, $1160 = 0, $1161 = 0, $1162 = 0, $1163 = 0, $1164 = 0, $1165 = 0, $1166 = 0, $1167 = 0, $1168 = 0, $1169 = 0, $117 = 0, $1170 = 0, $1171 = 0, $1172 = 0;
+ var $1173 = 0, $1174 = 0, $1175 = 0, $1176 = 0, $1177 = 0, $1178 = 0, $1179 = 0, $118 = 0, $1180 = 0, $1181 = 0, $1182 = 0, $1183 = 0, $1184 = 0, $1185 = 0, $1186 = 0, $1187 = 0, $1188 = 0, $1189 = 0, $119 = 0, $1190 = 0;
+ var $1191 = 0, $1192 = 0, $1193 = 0, $1194 = 0, $1195 = 0, $1196 = 0, $1197 = 0, $1198 = 0, $1199 = 0, $12 = 0, $120 = 0, $1200 = 0, $1201 = 0, $1202 = 0, $1203 = 0, $1204 = 0, $1205 = 0, $1206 = 0, $1207 = 0, $1208 = 0;
+ var $1209 = 0, $121 = 0, $1210 = 0, $1211 = 0, $1212 = 0, $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, $1226 = 0;
+ var $1227 = 0, $1228 = 0, $1229 = 0, $123 = 0, $1230 = 0, $1231 = 0, $1232 = 0, $1233 = 0, $1234 = 0, $1235 = 0, $1236 = 0, $1237 = 0, $1238 = 0, $1239 = 0, $124 = 0, $1240 = 0, $1241 = 0, $1242 = 0, $1243 = 0, $1244 = 0;
+ var $1245 = 0, $1246 = 0, $1247 = 0, $1248 = 0, $1249 = 0, $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;
+ var $1263 = 0, $1264 = 0, $1265 = 0, $1266 = 0, $1267 = 0, $1268 = 0, $1269 = 0, $127 = 0, $1270 = 0, $1271 = 0, $1272 = 0, $1273 = 0, $1274 = 0, $1275 = 0, $1276 = 0, $1277 = 0, $1278 = 0, $1279 = 0, $128 = 0, $1280 = 0;
+ var $1281 = 0, $1282 = 0, $1283 = 0, $1284 = 0, $1285 = 0, $1286 = 0, $1287 = 0, $1288 = 0, $1289 = 0, $129 = 0, $1290 = 0, $1291 = 0, $1292 = 0, $1293 = 0, $1294 = 0, $1295 = 0, $1296 = 0, $1297 = 0, $1298 = 0, $1299 = 0;
+ var $13 = 0, $130 = 0, $1300 = 0, $1301 = 0, $1302 = 0, $1303 = 0, $1304 = 0, $1305 = 0, $1306 = 0, $1307 = 0, $1308 = 0, $1309 = 0, $131 = 0, $1310 = 0, $1311 = 0, $1312 = 0, $1313 = 0, $1314 = 0, $1315 = 0, $1316 = 0;
+ var $1317 = 0, $1318 = 0, $1319 = 0, $132 = 0, $1320 = 0, $1321 = 0, $1322 = 0, $1323 = 0, $1324 = 0, $1325 = 0, $1326 = 0, $1327 = 0, $1328 = 0, $1329 = 0, $133 = 0, $1330 = 0, $1331 = 0, $1332 = 0, $1333 = 0, $1334 = 0;
+ var $1335 = 0, $1336 = 0, $1337 = 0, $1338 = 0, $1339 = 0, $134 = 0, $1340 = 0, $1341 = 0, $1342 = 0, $1343 = 0, $1344 = 0, $1345 = 0, $1346 = 0, $1347 = 0, $1348 = 0, $1349 = 0, $135 = 0, $1350 = 0, $1351 = 0, $1352 = 0;
+ var $1353 = 0, $1354 = 0, $1355 = 0, $1356 = 0, $1357 = 0, $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, $137 = 0, $1370 = 0;
+ var $1371 = 0, $1372 = 0, $1373 = 0, $1374 = 0, $1375 = 0, $1376 = 0, $1377 = 0, $1378 = 0, $1379 = 0, $138 = 0, $1380 = 0, $1381 = 0, $1382 = 0, $1383 = 0, $1384 = 0, $1385 = 0, $1386 = 0, $1387 = 0, $1388 = 0, $1389 = 0;
+ var $139 = 0, $1390 = 0, $1391 = 0, $1392 = 0, $1393 = 0, $1394 = 0, $1395 = 0, $1396 = 0, $1397 = 0, $1398 = 0, $1399 = 0, $14 = 0, $140 = 0, $1400 = 0, $1401 = 0, $1402 = 0, $1403 = 0, $1404 = 0, $1405 = 0, $1406 = 0;
+ var $1407 = 0, $1408 = 0, $1409 = 0, $141 = 0, $1410 = 0, $1411 = 0, $1412 = 0, $1413 = 0, $1414 = 0, $1415 = 0, $1416 = 0, $1417 = 0, $1418 = 0, $1419 = 0, $142 = 0, $1420 = 0, $1421 = 0, $1422 = 0, $1423 = 0, $1424 = 0;
+ var $1425 = 0, $1426 = 0, $1427 = 0, $1428 = 0, $1429 = 0, $143 = 0, $1430 = 0, $1431 = 0, $1432 = 0, $1433 = 0, $1434 = 0, $1435 = 0, $1436 = 0, $1437 = 0, $1438 = 0, $1439 = 0, $144 = 0, $1440 = 0, $1441 = 0, $1442 = 0;
+ var $1443 = 0, $1444 = 0, $1445 = 0, $1446 = 0, $1447 = 0, $1448 = 0, $1449 = 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;
+ var $1461 = 0, $1462 = 0, $1463 = 0, $1464 = 0, $1465 = 0, $1466 = 0, $1467 = 0, $1468 = 0, $1469 = 0, $147 = 0, $1470 = 0, $1471 = 0, $1472 = 0, $1473 = 0, $1474 = 0, $1475 = 0, $1476 = 0, $1477 = 0, $1478 = 0, $1479 = 0;
+ var $148 = 0, $1480 = 0, $1481 = 0, $1482 = 0, $1483 = 0, $1484 = 0, $1485 = 0, $1486 = 0, $1487 = 0, $1488 = 0, $1489 = 0, $149 = 0, $1490 = 0, $1491 = 0, $1492 = 0, $1493 = 0, $1494 = 0, $1495 = 0, $1496 = 0, $1497 = 0;
+ var $1498 = 0, $1499 = 0, $15 = 0, $150 = 0, $1500 = 0, $1501 = 0, $1502 = 0, $1503 = 0, $1504 = 0, $1505 = 0, $1506 = 0, $1507 = 0, $1508 = 0, $1509 = 0, $151 = 0, $1510 = 0, $1511 = 0, $1512 = 0, $1513 = 0, $1514 = 0;
+ var $1515 = 0, $1516 = 0, $1517 = 0, $1518 = 0, $1519 = 0, $152 = 0, $1520 = 0, $1521 = 0, $1522 = 0, $1523 = 0, $1524 = 0, $1525 = 0, $1526 = 0, $1527 = 0, $1528 = 0, $1529 = 0, $153 = 0, $1530 = 0, $1531 = 0, $1532 = 0;
+ var $1533 = 0, $1534 = 0, $1535 = 0, $1536 = 0, $1537 = 0, $1538 = 0, $1539 = 0, $154 = 0, $1540 = 0, $1541 = 0, $1542 = 0, $1543 = 0, $1544 = 0, $1545 = 0, $1546 = 0, $1547 = 0, $1548 = 0, $1549 = 0, $155 = 0, $1550 = 0;
+ var $1551 = 0, $1552 = 0, $1553 = 0, $1554 = 0, $1555 = 0, $1556 = 0, $1557 = 0, $1558 = 0, $1559 = 0, $156 = 0, $1560 = 0, $1561 = 0, $1562 = 0, $1563 = 0, $1564 = 0, $1565 = 0, $1566 = 0, $1567 = 0, $1568 = 0, $1569 = 0;
+ var $157 = 0, $1570 = 0, $1571 = 0, $1572 = 0, $1573 = 0, $1574 = 0, $1575 = 0, $1576 = 0, $1577 = 0, $1578 = 0, $1579 = 0, $158 = 0, $1580 = 0, $1581 = 0, $1582 = 0, $1583 = 0, $1584 = 0, $1585 = 0, $1586 = 0, $1587 = 0;
+ var $1588 = 0, $1589 = 0, $159 = 0, $1590 = 0, $1591 = 0, $1592 = 0, $1593 = 0, $1594 = 0, $1595 = 0, $1596 = 0, $1597 = 0, $1598 = 0, $1599 = 0, $16 = 0, $160 = 0, $1600 = 0, $1601 = 0, $1602 = 0, $1603 = 0, $1604 = 0;
+ var $1605 = 0, $1606 = 0, $1607 = 0, $1608 = 0, $1609 = 0, $161 = 0, $1610 = 0, $1611 = 0, $1612 = 0, $1613 = 0, $1614 = 0, $1615 = 0, $1616 = 0, $1617 = 0, $1618 = 0, $1619 = 0, $162 = 0, $1620 = 0, $1621 = 0, $1622 = 0;
+ var $1623 = 0, $1624 = 0, $1625 = 0, $1626 = 0, $1627 = 0, $1628 = 0, $1629 = 0, $163 = 0, $1630 = 0, $1631 = 0, $1632 = 0, $1633 = 0, $1634 = 0, $1635 = 0, $1636 = 0, $1637 = 0, $1638 = 0, $1639 = 0, $164 = 0, $1640 = 0;
+ var $1641 = 0, $1642 = 0, $1643 = 0, $1644 = 0, $1645 = 0, $1646 = 0, $1647 = 0, $1648 = 0, $1649 = 0, $165 = 0, $1650 = 0, $1651 = 0, $1652 = 0, $1653 = 0, $1654 = 0, $1655 = 0, $1656 = 0, $1657 = 0, $1658 = 0, $1659 = 0;
+ var $166 = 0, $1660 = 0, $1661 = 0, $1662 = 0, $1663 = 0, $1664 = 0, $1665 = 0, $1666 = 0, $1667 = 0, $1668 = 0, $1669 = 0, $167 = 0, $1670 = 0, $1671 = 0, $1672 = 0, $1673 = 0, $1674 = 0, $1675 = 0, $1676 = 0, $1677 = 0;
+ var $1678 = 0, $1679 = 0, $168 = 0, $1680 = 0, $1681 = 0, $1682 = 0, $1683 = 0, $1684 = 0, $1685 = 0, $1686 = 0, $1687 = 0, $1688 = 0, $1689 = 0, $169 = 0, $1690 = 0, $1691 = 0, $1692 = 0, $1693 = 0, $1694 = 0, $1695 = 0;
+ var $1696 = 0, $1697 = 0, $1698 = 0, $1699 = 0, $17 = 0, $170 = 0, $1700 = 0, $1701 = 0, $1702 = 0, $1703 = 0, $1704 = 0, $1705 = 0, $1706 = 0, $1707 = 0, $1708 = 0, $1709 = 0, $171 = 0, $1710 = 0, $1711 = 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, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0;
+ var $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, $227 = 0;
+ var $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, $245 = 0;
+ var $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, $263 = 0;
+ var $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, $279 = 0, $28 = 0, $280 = 0, $281 = 0;
+ var $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, $297 = 0, $298 = 0, $299 = 0, $3 = 0;
+ var $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, $314 = 0, $315 = 0, $316 = 0, $317 = 0;
+ var $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, $332 = 0, $333 = 0, $334 = 0, $335 = 0;
+ var $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, $350 = 0, $351 = 0, $352 = 0, $353 = 0;
+ var $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0;
+ var $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, $387 = 0, $388 = 0, $389 = 0, $39 = 0;
+ var $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, $404 = 0, $405 = 0, $406 = 0, $407 = 0;
+ var $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, $422 = 0, $423 = 0, $424 = 0, $425 = 0;
+ var $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, $440 = 0, $441 = 0, $442 = 0, $443 = 0;
+ var $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, $459 = 0, $46 = 0, $460 = 0, $461 = 0;
+ var $462 = 0, $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;
+ var $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, $495 = 0, $496 = 0, $497 = 0, $498 = 0;
+ var $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, $512 = 0, $513 = 0, $514 = 0, $515 = 0;
+ var $516 = 0, $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;
+ var $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, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0;
+ var $552 = 0, $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;
+ var $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, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0;
+ var $589 = 0, $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;
+ var $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, $622 = 0, $623 = 0;
+ var $624 = 0, $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;
+ var $642 = 0, $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;
+ var $660 = 0, $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;
+ var $679 = 0, $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;
+ var $697 = 0, $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;
+ var $714 = 0, $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;
+ var $732 = 0, $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;
+ var $750 = 0, $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;
+ var $769 = 0, $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;
+ var $787 = 0, $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;
+ var $804 = 0, $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;
+ var $822 = 0, $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;
+ var $840 = 0, $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;
+ var $859 = 0, $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;
+ var $877 = 0, $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;
+ var $895 = 0, $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;
+ var $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, $927 = 0, $928 = 0, $929 = 0, $93 = 0;
+ var $930 = 0, $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;
+ var $949 = 0, $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;
+ var $967 = 0, $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;
+ var $985 = 0, $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, label = 0, sp = 0;
+ sp = STACKTOP;
+ $3 = ((($0)) + 160|0);
+ $4 = ((($0)) + 164|0);
+ $5 = ((($0)) + 168|0);
+ $6 = ((($0)) + 172|0);
+ $7 = ((($0)) + 176|0);
+ $$pre = HEAP32[$3>>2]|0;
+ $$pre9 = HEAP32[$4>>2]|0;
+ $$pre10 = HEAP32[$5>>2]|0;
+ $$pre11 = HEAP32[$6>>2]|0;
+ $$pre12 = HEAP32[$7>>2]|0;
+ $$0 = $1;$$08 = $2;$13 = $$pre11;$14 = $$pre10;$16 = $$pre9;$37 = $$pre12;$9 = $$pre;
+ while(1) {
+ $8 = $9 << 5;
+ $10 = $9 >>> 27;
+ $11 = $8 | $10;
+ $12 = $13 ^ $14;
+ $15 = $12 & $16;
+ $17 = $15 ^ $13;
+ $18 = HEAP8[$$0>>0]|0;
+ $19 = $18&255;
+ $20 = $19 << 24;
+ $21 = ((($$0)) + 1|0);
+ $22 = HEAP8[$21>>0]|0;
+ $23 = $22&255;
+ $24 = $23 << 16;
+ $25 = $24 | $20;
+ $26 = ((($$0)) + 2|0);
+ $27 = HEAP8[$26>>0]|0;
+ $28 = $27&255;
+ $29 = $28 << 8;
+ $30 = $25 | $29;
+ $31 = ((($$0)) + 3|0);
+ $32 = HEAP8[$31>>0]|0;
+ $33 = $32&255;
+ $34 = $30 | $33;
+ $35 = (($11) + 1518500249)|0;
+ $36 = (($35) + ($37))|0;
+ $38 = (($36) + ($17))|0;
+ $39 = (($38) + ($34))|0;
+ $40 = $16 << 30;
+ $41 = $16 >>> 2;
+ $42 = $40 | $41;
+ $43 = $39 << 5;
+ $44 = $39 >>> 27;
+ $45 = $43 | $44;
+ $46 = $42 ^ $14;
+ $47 = $46 & $9;
+ $48 = $47 ^ $14;
+ $49 = ((($$0)) + 4|0);
+ $50 = HEAP8[$49>>0]|0;
+ $51 = $50&255;
+ $52 = $51 << 24;
+ $53 = ((($$0)) + 5|0);
+ $54 = HEAP8[$53>>0]|0;
+ $55 = $54&255;
+ $56 = $55 << 16;
+ $57 = $56 | $52;
+ $58 = ((($$0)) + 6|0);
+ $59 = HEAP8[$58>>0]|0;
+ $60 = $59&255;
+ $61 = $60 << 8;
+ $62 = $57 | $61;
+ $63 = ((($$0)) + 7|0);
+ $64 = HEAP8[$63>>0]|0;
+ $65 = $64&255;
+ $66 = $62 | $65;
+ $67 = (($13) + 1518500249)|0;
+ $68 = (($67) + ($48))|0;
+ $69 = (($68) + ($45))|0;
+ $70 = (($69) + ($66))|0;
+ $71 = $9 << 30;
+ $72 = $9 >>> 2;
+ $73 = $71 | $72;
+ $74 = $70 << 5;
+ $75 = $70 >>> 27;
+ $76 = $74 | $75;
+ $77 = $42 ^ $73;
+ $78 = $39 & $77;
+ $79 = $78 ^ $42;
+ $80 = ((($$0)) + 8|0);
+ $81 = HEAP8[$80>>0]|0;
+ $82 = $81&255;
+ $83 = $82 << 24;
+ $84 = ((($$0)) + 9|0);
+ $85 = HEAP8[$84>>0]|0;
+ $86 = $85&255;
+ $87 = $86 << 16;
+ $88 = $87 | $83;
+ $89 = ((($$0)) + 10|0);
+ $90 = HEAP8[$89>>0]|0;
+ $91 = $90&255;
+ $92 = $91 << 8;
+ $93 = $88 | $92;
+ $94 = ((($$0)) + 11|0);
+ $95 = HEAP8[$94>>0]|0;
+ $96 = $95&255;
+ $97 = $93 | $96;
+ $98 = (($14) + 1518500249)|0;
+ $99 = (($98) + ($79))|0;
+ $100 = (($99) + ($76))|0;
+ $101 = (($100) + ($97))|0;
+ $102 = $39 << 30;
+ $103 = $39 >>> 2;
+ $104 = $102 | $103;
+ $105 = $101 << 5;
+ $106 = $101 >>> 27;
+ $107 = $105 | $106;
+ $108 = $104 ^ $73;
+ $109 = $70 & $108;
+ $110 = $109 ^ $73;
+ $111 = ((($$0)) + 12|0);
+ $112 = HEAP8[$111>>0]|0;
+ $113 = $112&255;
+ $114 = $113 << 24;
+ $115 = ((($$0)) + 13|0);
+ $116 = HEAP8[$115>>0]|0;
+ $117 = $116&255;
+ $118 = $117 << 16;
+ $119 = $118 | $114;
+ $120 = ((($$0)) + 14|0);
+ $121 = HEAP8[$120>>0]|0;
+ $122 = $121&255;
+ $123 = $122 << 8;
+ $124 = $119 | $123;
+ $125 = ((($$0)) + 15|0);
+ $126 = HEAP8[$125>>0]|0;
+ $127 = $126&255;
+ $128 = $124 | $127;
+ $129 = (($42) + 1518500249)|0;
+ $130 = (($129) + ($110))|0;
+ $131 = (($130) + ($128))|0;
+ $132 = (($131) + ($107))|0;
+ $133 = $70 << 30;
+ $134 = $70 >>> 2;
+ $135 = $133 | $134;
+ $136 = $132 << 5;
+ $137 = $132 >>> 27;
+ $138 = $136 | $137;
+ $139 = $135 ^ $104;
+ $140 = $101 & $139;
+ $141 = $140 ^ $104;
+ $142 = ((($$0)) + 16|0);
+ $143 = HEAP8[$142>>0]|0;
+ $144 = $143&255;
+ $145 = $144 << 24;
+ $146 = ((($$0)) + 17|0);
+ $147 = HEAP8[$146>>0]|0;
+ $148 = $147&255;
+ $149 = $148 << 16;
+ $150 = $149 | $145;
+ $151 = ((($$0)) + 18|0);
+ $152 = HEAP8[$151>>0]|0;
+ $153 = $152&255;
+ $154 = $153 << 8;
+ $155 = $150 | $154;
+ $156 = ((($$0)) + 19|0);
+ $157 = HEAP8[$156>>0]|0;
+ $158 = $157&255;
+ $159 = $155 | $158;
+ $160 = (($73) + 1518500249)|0;
+ $161 = (($160) + ($141))|0;
+ $162 = (($161) + ($159))|0;
+ $163 = (($162) + ($138))|0;
+ $164 = $101 << 30;
+ $165 = $101 >>> 2;
+ $166 = $164 | $165;
+ $167 = $163 << 5;
+ $168 = $163 >>> 27;
+ $169 = $167 | $168;
+ $170 = $166 ^ $135;
+ $171 = $132 & $170;
+ $172 = $171 ^ $135;
+ $173 = ((($$0)) + 20|0);
+ $174 = HEAP8[$173>>0]|0;
+ $175 = $174&255;
+ $176 = $175 << 24;
+ $177 = ((($$0)) + 21|0);
+ $178 = HEAP8[$177>>0]|0;
+ $179 = $178&255;
+ $180 = $179 << 16;
+ $181 = $180 | $176;
+ $182 = ((($$0)) + 22|0);
+ $183 = HEAP8[$182>>0]|0;
+ $184 = $183&255;
+ $185 = $184 << 8;
+ $186 = $181 | $185;
+ $187 = ((($$0)) + 23|0);
+ $188 = HEAP8[$187>>0]|0;
+ $189 = $188&255;
+ $190 = $186 | $189;
+ $191 = (($104) + 1518500249)|0;
+ $192 = (($191) + ($172))|0;
+ $193 = (($192) + ($190))|0;
+ $194 = (($193) + ($169))|0;
+ $195 = $132 << 30;
+ $196 = $132 >>> 2;
+ $197 = $195 | $196;
+ $198 = $194 << 5;
+ $199 = $194 >>> 27;
+ $200 = $198 | $199;
+ $201 = $197 ^ $166;
+ $202 = $163 & $201;
+ $203 = $202 ^ $166;
+ $204 = ((($$0)) + 24|0);
+ $205 = HEAP8[$204>>0]|0;
+ $206 = $205&255;
+ $207 = $206 << 24;
+ $208 = ((($$0)) + 25|0);
+ $209 = HEAP8[$208>>0]|0;
+ $210 = $209&255;
+ $211 = $210 << 16;
+ $212 = $211 | $207;
+ $213 = ((($$0)) + 26|0);
+ $214 = HEAP8[$213>>0]|0;
+ $215 = $214&255;
+ $216 = $215 << 8;
+ $217 = $212 | $216;
+ $218 = ((($$0)) + 27|0);
+ $219 = HEAP8[$218>>0]|0;
+ $220 = $219&255;
+ $221 = $217 | $220;
+ $222 = (($135) + 1518500249)|0;
+ $223 = (($222) + ($203))|0;
+ $224 = (($223) + ($221))|0;
+ $225 = (($224) + ($200))|0;
+ $226 = $163 << 30;
+ $227 = $163 >>> 2;
+ $228 = $226 | $227;
+ $229 = $225 << 5;
+ $230 = $225 >>> 27;
+ $231 = $229 | $230;
+ $232 = $228 ^ $197;
+ $233 = $194 & $232;
+ $234 = $233 ^ $197;
+ $235 = ((($$0)) + 28|0);
+ $236 = HEAP8[$235>>0]|0;
+ $237 = $236&255;
+ $238 = $237 << 24;
+ $239 = ((($$0)) + 29|0);
+ $240 = HEAP8[$239>>0]|0;
+ $241 = $240&255;
+ $242 = $241 << 16;
+ $243 = $242 | $238;
+ $244 = ((($$0)) + 30|0);
+ $245 = HEAP8[$244>>0]|0;
+ $246 = $245&255;
+ $247 = $246 << 8;
+ $248 = $243 | $247;
+ $249 = ((($$0)) + 31|0);
+ $250 = HEAP8[$249>>0]|0;
+ $251 = $250&255;
+ $252 = $248 | $251;
+ $253 = (($166) + 1518500249)|0;
+ $254 = (($253) + ($234))|0;
+ $255 = (($254) + ($252))|0;
+ $256 = (($255) + ($231))|0;
+ $257 = $194 << 30;
+ $258 = $194 >>> 2;
+ $259 = $257 | $258;
+ $260 = $256 << 5;
+ $261 = $256 >>> 27;
+ $262 = $260 | $261;
+ $263 = $259 ^ $228;
+ $264 = $225 & $263;
+ $265 = $264 ^ $228;
+ $266 = ((($$0)) + 32|0);
+ $267 = HEAP8[$266>>0]|0;
+ $268 = $267&255;
+ $269 = $268 << 24;
+ $270 = ((($$0)) + 33|0);
+ $271 = HEAP8[$270>>0]|0;
+ $272 = $271&255;
+ $273 = $272 << 16;
+ $274 = $273 | $269;
+ $275 = ((($$0)) + 34|0);
+ $276 = HEAP8[$275>>0]|0;
+ $277 = $276&255;
+ $278 = $277 << 8;
+ $279 = $274 | $278;
+ $280 = ((($$0)) + 35|0);
+ $281 = HEAP8[$280>>0]|0;
+ $282 = $281&255;
+ $283 = $279 | $282;
+ $284 = (($197) + 1518500249)|0;
+ $285 = (($284) + ($265))|0;
+ $286 = (($285) + ($283))|0;
+ $287 = (($286) + ($262))|0;
+ $288 = $225 << 30;
+ $289 = $225 >>> 2;
+ $290 = $288 | $289;
+ $291 = $287 << 5;
+ $292 = $287 >>> 27;
+ $293 = $291 | $292;
+ $294 = $290 ^ $259;
+ $295 = $256 & $294;
+ $296 = $295 ^ $259;
+ $297 = ((($$0)) + 36|0);
+ $298 = HEAP8[$297>>0]|0;
+ $299 = $298&255;
+ $300 = $299 << 24;
+ $301 = ((($$0)) + 37|0);
+ $302 = HEAP8[$301>>0]|0;
+ $303 = $302&255;
+ $304 = $303 << 16;
+ $305 = $304 | $300;
+ $306 = ((($$0)) + 38|0);
+ $307 = HEAP8[$306>>0]|0;
+ $308 = $307&255;
+ $309 = $308 << 8;
+ $310 = $305 | $309;
+ $311 = ((($$0)) + 39|0);
+ $312 = HEAP8[$311>>0]|0;
+ $313 = $312&255;
+ $314 = $310 | $313;
+ $315 = (($228) + 1518500249)|0;
+ $316 = (($315) + ($296))|0;
+ $317 = (($316) + ($314))|0;
+ $318 = (($317) + ($293))|0;
+ $319 = $256 << 30;
+ $320 = $256 >>> 2;
+ $321 = $319 | $320;
+ $322 = $318 << 5;
+ $323 = $318 >>> 27;
+ $324 = $322 | $323;
+ $325 = $321 ^ $290;
+ $326 = $287 & $325;
+ $327 = $326 ^ $290;
+ $328 = ((($$0)) + 40|0);
+ $329 = HEAP8[$328>>0]|0;
+ $330 = $329&255;
+ $331 = $330 << 24;
+ $332 = ((($$0)) + 41|0);
+ $333 = HEAP8[$332>>0]|0;
+ $334 = $333&255;
+ $335 = $334 << 16;
+ $336 = $335 | $331;
+ $337 = ((($$0)) + 42|0);
+ $338 = HEAP8[$337>>0]|0;
+ $339 = $338&255;
+ $340 = $339 << 8;
+ $341 = $336 | $340;
+ $342 = ((($$0)) + 43|0);
+ $343 = HEAP8[$342>>0]|0;
+ $344 = $343&255;
+ $345 = $341 | $344;
+ $346 = (($259) + 1518500249)|0;
+ $347 = (($346) + ($327))|0;
+ $348 = (($347) + ($345))|0;
+ $349 = (($348) + ($324))|0;
+ $350 = $287 << 30;
+ $351 = $287 >>> 2;
+ $352 = $350 | $351;
+ $353 = $349 << 5;
+ $354 = $349 >>> 27;
+ $355 = $353 | $354;
+ $356 = $352 ^ $321;
+ $357 = $318 & $356;
+ $358 = $357 ^ $321;
+ $359 = ((($$0)) + 44|0);
+ $360 = HEAP8[$359>>0]|0;
+ $361 = $360&255;
+ $362 = $361 << 24;
+ $363 = ((($$0)) + 45|0);
+ $364 = HEAP8[$363>>0]|0;
+ $365 = $364&255;
+ $366 = $365 << 16;
+ $367 = $366 | $362;
+ $368 = ((($$0)) + 46|0);
+ $369 = HEAP8[$368>>0]|0;
+ $370 = $369&255;
+ $371 = $370 << 8;
+ $372 = $367 | $371;
+ $373 = ((($$0)) + 47|0);
+ $374 = HEAP8[$373>>0]|0;
+ $375 = $374&255;
+ $376 = $372 | $375;
+ $377 = (($290) + 1518500249)|0;
+ $378 = (($377) + ($358))|0;
+ $379 = (($378) + ($376))|0;
+ $380 = (($379) + ($355))|0;
+ $381 = $318 << 30;
+ $382 = $318 >>> 2;
+ $383 = $381 | $382;
+ $384 = $380 << 5;
+ $385 = $380 >>> 27;
+ $386 = $384 | $385;
+ $387 = $383 ^ $352;
+ $388 = $349 & $387;
+ $389 = $388 ^ $352;
+ $390 = ((($$0)) + 48|0);
+ $391 = HEAP8[$390>>0]|0;
+ $392 = $391&255;
+ $393 = $392 << 24;
+ $394 = ((($$0)) + 49|0);
+ $395 = HEAP8[$394>>0]|0;
+ $396 = $395&255;
+ $397 = $396 << 16;
+ $398 = $397 | $393;
+ $399 = ((($$0)) + 50|0);
+ $400 = HEAP8[$399>>0]|0;
+ $401 = $400&255;
+ $402 = $401 << 8;
+ $403 = $398 | $402;
+ $404 = ((($$0)) + 51|0);
+ $405 = HEAP8[$404>>0]|0;
+ $406 = $405&255;
+ $407 = $403 | $406;
+ $408 = (($321) + 1518500249)|0;
+ $409 = (($408) + ($389))|0;
+ $410 = (($409) + ($407))|0;
+ $411 = (($410) + ($386))|0;
+ $412 = $349 << 30;
+ $413 = $349 >>> 2;
+ $414 = $412 | $413;
+ $415 = $411 << 5;
+ $416 = $411 >>> 27;
+ $417 = $415 | $416;
+ $418 = $414 ^ $383;
+ $419 = $380 & $418;
+ $420 = $419 ^ $383;
+ $421 = ((($$0)) + 52|0);
+ $422 = HEAP8[$421>>0]|0;
+ $423 = $422&255;
+ $424 = $423 << 24;
+ $425 = ((($$0)) + 53|0);
+ $426 = HEAP8[$425>>0]|0;
+ $427 = $426&255;
+ $428 = $427 << 16;
+ $429 = $428 | $424;
+ $430 = ((($$0)) + 54|0);
+ $431 = HEAP8[$430>>0]|0;
+ $432 = $431&255;
+ $433 = $432 << 8;
+ $434 = $429 | $433;
+ $435 = ((($$0)) + 55|0);
+ $436 = HEAP8[$435>>0]|0;
+ $437 = $436&255;
+ $438 = $434 | $437;
+ $439 = (($352) + 1518500249)|0;
+ $440 = (($439) + ($420))|0;
+ $441 = (($440) + ($438))|0;
+ $442 = (($441) + ($417))|0;
+ $443 = $380 << 30;
+ $444 = $380 >>> 2;
+ $445 = $443 | $444;
+ $446 = $442 << 5;
+ $447 = $442 >>> 27;
+ $448 = $446 | $447;
+ $449 = $445 ^ $414;
+ $450 = $411 & $449;
+ $451 = $450 ^ $414;
+ $452 = ((($$0)) + 56|0);
+ $453 = HEAP8[$452>>0]|0;
+ $454 = $453&255;
+ $455 = $454 << 24;
+ $456 = ((($$0)) + 57|0);
+ $457 = HEAP8[$456>>0]|0;
+ $458 = $457&255;
+ $459 = $458 << 16;
+ $460 = $459 | $455;
+ $461 = ((($$0)) + 58|0);
+ $462 = HEAP8[$461>>0]|0;
+ $463 = $462&255;
+ $464 = $463 << 8;
+ $465 = $460 | $464;
+ $466 = ((($$0)) + 59|0);
+ $467 = HEAP8[$466>>0]|0;
+ $468 = $467&255;
+ $469 = $465 | $468;
+ $470 = (($383) + 1518500249)|0;
+ $471 = (($470) + ($451))|0;
+ $472 = (($471) + ($469))|0;
+ $473 = (($472) + ($448))|0;
+ $474 = $411 << 30;
+ $475 = $411 >>> 2;
+ $476 = $474 | $475;
+ $477 = $473 << 5;
+ $478 = $473 >>> 27;
+ $479 = $477 | $478;
+ $480 = $476 ^ $445;
+ $481 = $442 & $480;
+ $482 = $481 ^ $445;
+ $483 = ((($$0)) + 60|0);
+ $484 = HEAP8[$483>>0]|0;
+ $485 = $484&255;
+ $486 = $485 << 24;
+ $487 = ((($$0)) + 61|0);
+ $488 = HEAP8[$487>>0]|0;
+ $489 = $488&255;
+ $490 = $489 << 16;
+ $491 = $490 | $486;
+ $492 = ((($$0)) + 62|0);
+ $493 = HEAP8[$492>>0]|0;
+ $494 = $493&255;
+ $495 = $494 << 8;
+ $496 = $491 | $495;
+ $497 = ((($$0)) + 63|0);
+ $498 = HEAP8[$497>>0]|0;
+ $499 = $498&255;
+ $500 = $496 | $499;
+ $501 = (($414) + 1518500249)|0;
+ $502 = (($501) + ($482))|0;
+ $503 = (($502) + ($500))|0;
+ $504 = (($503) + ($479))|0;
+ $505 = $442 << 30;
+ $506 = $442 >>> 2;
+ $507 = $505 | $506;
+ $508 = $504 << 5;
+ $509 = $504 >>> 27;
+ $510 = $508 | $509;
+ $511 = $507 ^ $476;
+ $512 = $473 & $511;
+ $513 = $512 ^ $476;
+ $514 = $97 ^ $34;
+ $515 = $514 ^ $283;
+ $516 = $515 ^ $438;
+ $517 = $516 << 1;
+ $518 = $516 >>> 31;
+ $519 = $517 | $518;
+ $520 = (($445) + 1518500249)|0;
+ $521 = (($520) + ($519))|0;
+ $522 = (($521) + ($513))|0;
+ $523 = (($522) + ($510))|0;
+ $524 = $473 << 30;
+ $525 = $473 >>> 2;
+ $526 = $524 | $525;
+ $527 = $523 << 5;
+ $528 = $523 >>> 27;
+ $529 = $527 | $528;
+ $530 = $526 ^ $507;
+ $531 = $504 & $530;
+ $532 = $531 ^ $507;
+ $533 = $128 ^ $66;
+ $534 = $533 ^ $314;
+ $535 = $534 ^ $469;
+ $536 = $535 << 1;
+ $537 = $535 >>> 31;
+ $538 = $536 | $537;
+ $539 = (($476) + 1518500249)|0;
+ $540 = (($539) + ($538))|0;
+ $541 = (($540) + ($532))|0;
+ $542 = (($541) + ($529))|0;
+ $543 = $504 << 30;
+ $544 = $504 >>> 2;
+ $545 = $543 | $544;
+ $546 = $542 << 5;
+ $547 = $542 >>> 27;
+ $548 = $546 | $547;
+ $549 = $545 ^ $526;
+ $550 = $523 & $549;
+ $551 = $550 ^ $526;
+ $552 = $159 ^ $97;
+ $553 = $552 ^ $345;
+ $554 = $553 ^ $500;
+ $555 = $554 << 1;
+ $556 = $554 >>> 31;
+ $557 = $555 | $556;
+ $558 = (($507) + 1518500249)|0;
+ $559 = (($558) + ($557))|0;
+ $560 = (($559) + ($551))|0;
+ $561 = (($560) + ($548))|0;
+ $562 = $523 << 30;
+ $563 = $523 >>> 2;
+ $564 = $562 | $563;
+ $565 = $561 << 5;
+ $566 = $561 >>> 27;
+ $567 = $565 | $566;
+ $568 = $564 ^ $545;
+ $569 = $542 & $568;
+ $570 = $569 ^ $545;
+ $571 = $190 ^ $128;
+ $572 = $571 ^ $376;
+ $573 = $572 ^ $519;
+ $574 = $573 << 1;
+ $575 = $573 >>> 31;
+ $576 = $574 | $575;
+ $577 = (($576) + 1518500249)|0;
+ $578 = (($577) + ($526))|0;
+ $579 = (($578) + ($570))|0;
+ $580 = (($579) + ($567))|0;
+ $581 = $542 << 30;
+ $582 = $542 >>> 2;
+ $583 = $581 | $582;
+ $584 = $580 << 5;
+ $585 = $580 >>> 27;
+ $586 = $584 | $585;
+ $587 = $583 ^ $564;
+ $588 = $587 ^ $561;
+ $589 = $221 ^ $159;
+ $590 = $589 ^ $407;
+ $591 = $590 ^ $538;
+ $592 = $591 << 1;
+ $593 = $591 >>> 31;
+ $594 = $592 | $593;
+ $595 = (($594) + 1859775393)|0;
+ $596 = (($595) + ($545))|0;
+ $597 = (($596) + ($588))|0;
+ $598 = (($597) + ($586))|0;
+ $599 = $561 << 30;
+ $600 = $561 >>> 2;
+ $601 = $599 | $600;
+ $602 = $598 << 5;
+ $603 = $598 >>> 27;
+ $604 = $602 | $603;
+ $605 = $601 ^ $583;
+ $606 = $605 ^ $580;
+ $607 = $252 ^ $190;
+ $608 = $607 ^ $438;
+ $609 = $608 ^ $557;
+ $610 = $609 << 1;
+ $611 = $609 >>> 31;
+ $612 = $610 | $611;
+ $613 = (($612) + 1859775393)|0;
+ $614 = (($613) + ($564))|0;
+ $615 = (($614) + ($606))|0;
+ $616 = (($615) + ($604))|0;
+ $617 = $580 << 30;
+ $618 = $580 >>> 2;
+ $619 = $617 | $618;
+ $620 = $616 << 5;
+ $621 = $616 >>> 27;
+ $622 = $620 | $621;
+ $623 = $619 ^ $601;
+ $624 = $623 ^ $598;
+ $625 = $283 ^ $221;
+ $626 = $625 ^ $469;
+ $627 = $626 ^ $576;
+ $628 = $627 << 1;
+ $629 = $627 >>> 31;
+ $630 = $628 | $629;
+ $631 = (($630) + 1859775393)|0;
+ $632 = (($631) + ($583))|0;
+ $633 = (($632) + ($624))|0;
+ $634 = (($633) + ($622))|0;
+ $635 = $598 << 30;
+ $636 = $598 >>> 2;
+ $637 = $635 | $636;
+ $638 = $634 << 5;
+ $639 = $634 >>> 27;
+ $640 = $638 | $639;
+ $641 = $637 ^ $619;
+ $642 = $641 ^ $616;
+ $643 = $314 ^ $252;
+ $644 = $643 ^ $500;
+ $645 = $644 ^ $594;
+ $646 = $645 << 1;
+ $647 = $645 >>> 31;
+ $648 = $646 | $647;
+ $649 = (($648) + 1859775393)|0;
+ $650 = (($649) + ($601))|0;
+ $651 = (($650) + ($642))|0;
+ $652 = (($651) + ($640))|0;
+ $653 = $616 << 30;
+ $654 = $616 >>> 2;
+ $655 = $653 | $654;
+ $656 = $652 << 5;
+ $657 = $652 >>> 27;
+ $658 = $656 | $657;
+ $659 = $655 ^ $637;
+ $660 = $659 ^ $634;
+ $661 = $345 ^ $283;
+ $662 = $661 ^ $519;
+ $663 = $662 ^ $612;
+ $664 = $663 << 1;
+ $665 = $663 >>> 31;
+ $666 = $664 | $665;
+ $667 = (($666) + 1859775393)|0;
+ $668 = (($667) + ($619))|0;
+ $669 = (($668) + ($660))|0;
+ $670 = (($669) + ($658))|0;
+ $671 = $634 << 30;
+ $672 = $634 >>> 2;
+ $673 = $671 | $672;
+ $674 = $670 << 5;
+ $675 = $670 >>> 27;
+ $676 = $674 | $675;
+ $677 = $673 ^ $655;
+ $678 = $677 ^ $652;
+ $679 = $376 ^ $314;
+ $680 = $679 ^ $538;
+ $681 = $680 ^ $630;
+ $682 = $681 << 1;
+ $683 = $681 >>> 31;
+ $684 = $682 | $683;
+ $685 = (($684) + 1859775393)|0;
+ $686 = (($685) + ($637))|0;
+ $687 = (($686) + ($678))|0;
+ $688 = (($687) + ($676))|0;
+ $689 = $652 << 30;
+ $690 = $652 >>> 2;
+ $691 = $689 | $690;
+ $692 = $688 << 5;
+ $693 = $688 >>> 27;
+ $694 = $692 | $693;
+ $695 = $691 ^ $673;
+ $696 = $695 ^ $670;
+ $697 = $407 ^ $345;
+ $698 = $697 ^ $557;
+ $699 = $698 ^ $648;
+ $700 = $699 << 1;
+ $701 = $699 >>> 31;
+ $702 = $700 | $701;
+ $703 = (($702) + 1859775393)|0;
+ $704 = (($703) + ($655))|0;
+ $705 = (($704) + ($696))|0;
+ $706 = (($705) + ($694))|0;
+ $707 = $670 << 30;
+ $708 = $670 >>> 2;
+ $709 = $707 | $708;
+ $710 = $706 << 5;
+ $711 = $706 >>> 27;
+ $712 = $710 | $711;
+ $713 = $709 ^ $691;
+ $714 = $713 ^ $688;
+ $715 = $438 ^ $376;
+ $716 = $715 ^ $576;
+ $717 = $716 ^ $666;
+ $718 = $717 << 1;
+ $719 = $717 >>> 31;
+ $720 = $718 | $719;
+ $721 = (($720) + 1859775393)|0;
+ $722 = (($721) + ($673))|0;
+ $723 = (($722) + ($714))|0;
+ $724 = (($723) + ($712))|0;
+ $725 = $688 << 30;
+ $726 = $688 >>> 2;
+ $727 = $725 | $726;
+ $728 = $724 << 5;
+ $729 = $724 >>> 27;
+ $730 = $728 | $729;
+ $731 = $727 ^ $709;
+ $732 = $731 ^ $706;
+ $733 = $469 ^ $407;
+ $734 = $733 ^ $594;
+ $735 = $734 ^ $684;
+ $736 = $735 << 1;
+ $737 = $735 >>> 31;
+ $738 = $736 | $737;
+ $739 = (($738) + 1859775393)|0;
+ $740 = (($739) + ($691))|0;
+ $741 = (($740) + ($732))|0;
+ $742 = (($741) + ($730))|0;
+ $743 = $706 << 30;
+ $744 = $706 >>> 2;
+ $745 = $743 | $744;
+ $746 = $742 << 5;
+ $747 = $742 >>> 27;
+ $748 = $746 | $747;
+ $749 = $745 ^ $727;
+ $750 = $749 ^ $724;
+ $751 = $500 ^ $438;
+ $752 = $751 ^ $612;
+ $753 = $752 ^ $702;
+ $754 = $753 << 1;
+ $755 = $753 >>> 31;
+ $756 = $754 | $755;
+ $757 = (($756) + 1859775393)|0;
+ $758 = (($757) + ($709))|0;
+ $759 = (($758) + ($750))|0;
+ $760 = (($759) + ($748))|0;
+ $761 = $724 << 30;
+ $762 = $724 >>> 2;
+ $763 = $761 | $762;
+ $764 = $760 << 5;
+ $765 = $760 >>> 27;
+ $766 = $764 | $765;
+ $767 = $763 ^ $745;
+ $768 = $767 ^ $742;
+ $769 = $469 ^ $519;
+ $770 = $769 ^ $630;
+ $771 = $770 ^ $720;
+ $772 = $771 << 1;
+ $773 = $771 >>> 31;
+ $774 = $772 | $773;
+ $775 = (($774) + 1859775393)|0;
+ $776 = (($775) + ($727))|0;
+ $777 = (($776) + ($768))|0;
+ $778 = (($777) + ($766))|0;
+ $779 = $742 << 30;
+ $780 = $742 >>> 2;
+ $781 = $779 | $780;
+ $782 = $778 << 5;
+ $783 = $778 >>> 27;
+ $784 = $782 | $783;
+ $785 = $781 ^ $763;
+ $786 = $785 ^ $760;
+ $787 = $500 ^ $538;
+ $788 = $787 ^ $648;
+ $789 = $788 ^ $738;
+ $790 = $789 << 1;
+ $791 = $789 >>> 31;
+ $792 = $790 | $791;
+ $793 = (($792) + 1859775393)|0;
+ $794 = (($793) + ($745))|0;
+ $795 = (($794) + ($786))|0;
+ $796 = (($795) + ($784))|0;
+ $797 = $760 << 30;
+ $798 = $760 >>> 2;
+ $799 = $797 | $798;
+ $800 = $796 << 5;
+ $801 = $796 >>> 27;
+ $802 = $800 | $801;
+ $803 = $799 ^ $781;
+ $804 = $803 ^ $778;
+ $805 = $557 ^ $519;
+ $806 = $805 ^ $666;
+ $807 = $806 ^ $756;
+ $808 = $807 << 1;
+ $809 = $807 >>> 31;
+ $810 = $808 | $809;
+ $811 = (($810) + 1859775393)|0;
+ $812 = (($811) + ($763))|0;
+ $813 = (($812) + ($804))|0;
+ $814 = (($813) + ($802))|0;
+ $815 = $778 << 30;
+ $816 = $778 >>> 2;
+ $817 = $815 | $816;
+ $818 = $814 << 5;
+ $819 = $814 >>> 27;
+ $820 = $818 | $819;
+ $821 = $817 ^ $799;
+ $822 = $821 ^ $796;
+ $823 = $538 ^ $576;
+ $824 = $823 ^ $684;
+ $825 = $824 ^ $774;
+ $826 = $825 << 1;
+ $827 = $825 >>> 31;
+ $828 = $826 | $827;
+ $829 = (($828) + 1859775393)|0;
+ $830 = (($829) + ($781))|0;
+ $831 = (($830) + ($822))|0;
+ $832 = (($831) + ($820))|0;
+ $833 = $796 << 30;
+ $834 = $796 >>> 2;
+ $835 = $833 | $834;
+ $836 = $832 << 5;
+ $837 = $832 >>> 27;
+ $838 = $836 | $837;
+ $839 = $835 ^ $817;
+ $840 = $839 ^ $814;
+ $841 = $557 ^ $594;
+ $842 = $841 ^ $702;
+ $843 = $842 ^ $792;
+ $844 = $843 << 1;
+ $845 = $843 >>> 31;
+ $846 = $844 | $845;
+ $847 = (($846) + 1859775393)|0;
+ $848 = (($847) + ($799))|0;
+ $849 = (($848) + ($840))|0;
+ $850 = (($849) + ($838))|0;
+ $851 = $814 << 30;
+ $852 = $814 >>> 2;
+ $853 = $851 | $852;
+ $854 = $850 << 5;
+ $855 = $850 >>> 27;
+ $856 = $854 | $855;
+ $857 = $853 ^ $835;
+ $858 = $857 ^ $832;
+ $859 = $612 ^ $576;
+ $860 = $859 ^ $720;
+ $861 = $860 ^ $810;
+ $862 = $861 << 1;
+ $863 = $861 >>> 31;
+ $864 = $862 | $863;
+ $865 = (($864) + 1859775393)|0;
+ $866 = (($865) + ($817))|0;
+ $867 = (($866) + ($858))|0;
+ $868 = (($867) + ($856))|0;
+ $869 = $832 << 30;
+ $870 = $832 >>> 2;
+ $871 = $869 | $870;
+ $872 = $868 << 5;
+ $873 = $868 >>> 27;
+ $874 = $872 | $873;
+ $875 = $871 ^ $853;
+ $876 = $875 ^ $850;
+ $877 = $594 ^ $630;
+ $878 = $877 ^ $738;
+ $879 = $878 ^ $828;
+ $880 = $879 << 1;
+ $881 = $879 >>> 31;
+ $882 = $880 | $881;
+ $883 = (($882) + 1859775393)|0;
+ $884 = (($883) + ($835))|0;
+ $885 = (($884) + ($876))|0;
+ $886 = (($885) + ($874))|0;
+ $887 = $850 << 30;
+ $888 = $850 >>> 2;
+ $889 = $887 | $888;
+ $890 = $886 << 5;
+ $891 = $886 >>> 27;
+ $892 = $890 | $891;
+ $893 = $889 ^ $871;
+ $894 = $893 ^ $868;
+ $895 = $612 ^ $648;
+ $896 = $895 ^ $756;
+ $897 = $896 ^ $846;
+ $898 = $897 << 1;
+ $899 = $897 >>> 31;
+ $900 = $898 | $899;
+ $901 = (($900) + 1859775393)|0;
+ $902 = (($901) + ($853))|0;
+ $903 = (($902) + ($894))|0;
+ $904 = (($903) + ($892))|0;
+ $905 = $868 << 30;
+ $906 = $868 >>> 2;
+ $907 = $905 | $906;
+ $908 = $904 << 5;
+ $909 = $904 >>> 27;
+ $910 = $908 | $909;
+ $911 = $907 ^ $889;
+ $912 = $911 ^ $886;
+ $913 = $666 ^ $630;
+ $914 = $913 ^ $774;
+ $915 = $914 ^ $864;
+ $916 = $915 << 1;
+ $917 = $915 >>> 31;
+ $918 = $916 | $917;
+ $919 = (($918) + 1859775393)|0;
+ $920 = (($919) + ($871))|0;
+ $921 = (($920) + ($912))|0;
+ $922 = (($921) + ($910))|0;
+ $923 = $886 << 30;
+ $924 = $886 >>> 2;
+ $925 = $923 | $924;
+ $926 = $922 << 5;
+ $927 = $922 >>> 27;
+ $928 = $926 | $927;
+ $929 = $925 ^ $907;
+ $930 = $929 ^ $904;
+ $931 = $648 ^ $684;
+ $932 = $931 ^ $792;
+ $933 = $932 ^ $882;
+ $934 = $933 << 1;
+ $935 = $933 >>> 31;
+ $936 = $934 | $935;
+ $937 = (($936) + 1859775393)|0;
+ $938 = (($937) + ($889))|0;
+ $939 = (($938) + ($930))|0;
+ $940 = (($939) + ($928))|0;
+ $941 = $904 << 30;
+ $942 = $904 >>> 2;
+ $943 = $941 | $942;
+ $944 = $940 << 5;
+ $945 = $940 >>> 27;
+ $946 = $944 | $945;
+ $947 = $922 & $943;
+ $948 = $922 | $943;
+ $949 = $948 & $925;
+ $950 = $949 | $947;
+ $951 = $666 ^ $702;
+ $952 = $951 ^ $810;
+ $953 = $952 ^ $900;
+ $954 = $953 << 1;
+ $955 = $953 >>> 31;
+ $956 = $954 | $955;
+ $957 = (($956) + -1894007588)|0;
+ $958 = (($957) + ($907))|0;
+ $959 = (($958) + ($950))|0;
+ $960 = (($959) + ($946))|0;
+ $961 = $922 << 30;
+ $962 = $922 >>> 2;
+ $963 = $961 | $962;
+ $964 = $960 << 5;
+ $965 = $960 >>> 27;
+ $966 = $964 | $965;
+ $967 = $940 & $963;
+ $968 = $940 | $963;
+ $969 = $968 & $943;
+ $970 = $969 | $967;
+ $971 = $720 ^ $684;
+ $972 = $971 ^ $828;
+ $973 = $972 ^ $918;
+ $974 = $973 << 1;
+ $975 = $973 >>> 31;
+ $976 = $974 | $975;
+ $977 = (($976) + -1894007588)|0;
+ $978 = (($977) + ($925))|0;
+ $979 = (($978) + ($970))|0;
+ $980 = (($979) + ($966))|0;
+ $981 = $940 << 30;
+ $982 = $940 >>> 2;
+ $983 = $981 | $982;
+ $984 = $980 << 5;
+ $985 = $980 >>> 27;
+ $986 = $984 | $985;
+ $987 = $960 & $983;
+ $988 = $960 | $983;
+ $989 = $988 & $963;
+ $990 = $989 | $987;
+ $991 = $702 ^ $738;
+ $992 = $991 ^ $846;
+ $993 = $992 ^ $936;
+ $994 = $993 << 1;
+ $995 = $993 >>> 31;
+ $996 = $994 | $995;
+ $997 = (($996) + -1894007588)|0;
+ $998 = (($997) + ($943))|0;
+ $999 = (($998) + ($990))|0;
+ $1000 = (($999) + ($986))|0;
+ $1001 = $960 << 30;
+ $1002 = $960 >>> 2;
+ $1003 = $1001 | $1002;
+ $1004 = $1000 << 5;
+ $1005 = $1000 >>> 27;
+ $1006 = $1004 | $1005;
+ $1007 = $980 & $1003;
+ $1008 = $980 | $1003;
+ $1009 = $1008 & $983;
+ $1010 = $1009 | $1007;
+ $1011 = $720 ^ $756;
+ $1012 = $1011 ^ $864;
+ $1013 = $1012 ^ $956;
+ $1014 = $1013 << 1;
+ $1015 = $1013 >>> 31;
+ $1016 = $1014 | $1015;
+ $1017 = (($1016) + -1894007588)|0;
+ $1018 = (($1017) + ($963))|0;
+ $1019 = (($1018) + ($1010))|0;
+ $1020 = (($1019) + ($1006))|0;
+ $1021 = $980 << 30;
+ $1022 = $980 >>> 2;
+ $1023 = $1021 | $1022;
+ $1024 = $1020 << 5;
+ $1025 = $1020 >>> 27;
+ $1026 = $1024 | $1025;
+ $1027 = $1000 & $1023;
+ $1028 = $1000 | $1023;
+ $1029 = $1028 & $1003;
+ $1030 = $1029 | $1027;
+ $1031 = $774 ^ $738;
+ $1032 = $1031 ^ $882;
+ $1033 = $1032 ^ $976;
+ $1034 = $1033 << 1;
+ $1035 = $1033 >>> 31;
+ $1036 = $1034 | $1035;
+ $1037 = (($1036) + -1894007588)|0;
+ $1038 = (($1037) + ($983))|0;
+ $1039 = (($1038) + ($1030))|0;
+ $1040 = (($1039) + ($1026))|0;
+ $1041 = $1000 << 30;
+ $1042 = $1000 >>> 2;
+ $1043 = $1041 | $1042;
+ $1044 = $1040 << 5;
+ $1045 = $1040 >>> 27;
+ $1046 = $1044 | $1045;
+ $1047 = $1020 & $1043;
+ $1048 = $1020 | $1043;
+ $1049 = $1048 & $1023;
+ $1050 = $1049 | $1047;
+ $1051 = $756 ^ $792;
+ $1052 = $1051 ^ $900;
+ $1053 = $1052 ^ $996;
+ $1054 = $1053 << 1;
+ $1055 = $1053 >>> 31;
+ $1056 = $1054 | $1055;
+ $1057 = (($1056) + -1894007588)|0;
+ $1058 = (($1057) + ($1003))|0;
+ $1059 = (($1058) + ($1050))|0;
+ $1060 = (($1059) + ($1046))|0;
+ $1061 = $1020 << 30;
+ $1062 = $1020 >>> 2;
+ $1063 = $1061 | $1062;
+ $1064 = $1060 << 5;
+ $1065 = $1060 >>> 27;
+ $1066 = $1064 | $1065;
+ $1067 = $1040 & $1063;
+ $1068 = $1040 | $1063;
+ $1069 = $1068 & $1043;
+ $1070 = $1069 | $1067;
+ $1071 = $774 ^ $810;
+ $1072 = $1071 ^ $918;
+ $1073 = $1072 ^ $1016;
+ $1074 = $1073 << 1;
+ $1075 = $1073 >>> 31;
+ $1076 = $1074 | $1075;
+ $1077 = (($1076) + -1894007588)|0;
+ $1078 = (($1077) + ($1023))|0;
+ $1079 = (($1078) + ($1070))|0;
+ $1080 = (($1079) + ($1066))|0;
+ $1081 = $1040 << 30;
+ $1082 = $1040 >>> 2;
+ $1083 = $1081 | $1082;
+ $1084 = $1080 << 5;
+ $1085 = $1080 >>> 27;
+ $1086 = $1084 | $1085;
+ $1087 = $1060 & $1083;
+ $1088 = $1060 | $1083;
+ $1089 = $1088 & $1063;
+ $1090 = $1089 | $1087;
+ $1091 = $828 ^ $792;
+ $1092 = $1091 ^ $936;
+ $1093 = $1092 ^ $1036;
+ $1094 = $1093 << 1;
+ $1095 = $1093 >>> 31;
+ $1096 = $1094 | $1095;
+ $1097 = (($1096) + -1894007588)|0;
+ $1098 = (($1097) + ($1043))|0;
+ $1099 = (($1098) + ($1090))|0;
+ $1100 = (($1099) + ($1086))|0;
+ $1101 = $1060 << 30;
+ $1102 = $1060 >>> 2;
+ $1103 = $1101 | $1102;
+ $1104 = $1100 << 5;
+ $1105 = $1100 >>> 27;
+ $1106 = $1104 | $1105;
+ $1107 = $1080 & $1103;
+ $1108 = $1080 | $1103;
+ $1109 = $1108 & $1083;
+ $1110 = $1109 | $1107;
+ $1111 = $810 ^ $846;
+ $1112 = $1111 ^ $956;
+ $1113 = $1112 ^ $1056;
+ $1114 = $1113 << 1;
+ $1115 = $1113 >>> 31;
+ $1116 = $1114 | $1115;
+ $1117 = (($1116) + -1894007588)|0;
+ $1118 = (($1117) + ($1063))|0;
+ $1119 = (($1118) + ($1110))|0;
+ $1120 = (($1119) + ($1106))|0;
+ $1121 = $1080 << 30;
+ $1122 = $1080 >>> 2;
+ $1123 = $1121 | $1122;
+ $1124 = $1120 << 5;
+ $1125 = $1120 >>> 27;
+ $1126 = $1124 | $1125;
+ $1127 = $1100 & $1123;
+ $1128 = $1100 | $1123;
+ $1129 = $1128 & $1103;
+ $1130 = $1129 | $1127;
+ $1131 = $828 ^ $864;
+ $1132 = $1131 ^ $976;
+ $1133 = $1132 ^ $1076;
+ $1134 = $1133 << 1;
+ $1135 = $1133 >>> 31;
+ $1136 = $1134 | $1135;
+ $1137 = (($1136) + -1894007588)|0;
+ $1138 = (($1137) + ($1083))|0;
+ $1139 = (($1138) + ($1130))|0;
+ $1140 = (($1139) + ($1126))|0;
+ $1141 = $1100 << 30;
+ $1142 = $1100 >>> 2;
+ $1143 = $1141 | $1142;
+ $1144 = $1140 << 5;
+ $1145 = $1140 >>> 27;
+ $1146 = $1144 | $1145;
+ $1147 = $1120 & $1143;
+ $1148 = $1120 | $1143;
+ $1149 = $1148 & $1123;
+ $1150 = $1149 | $1147;
+ $1151 = $882 ^ $846;
+ $1152 = $1151 ^ $996;
+ $1153 = $1152 ^ $1096;
+ $1154 = $1153 << 1;
+ $1155 = $1153 >>> 31;
+ $1156 = $1154 | $1155;
+ $1157 = (($1156) + -1894007588)|0;
+ $1158 = (($1157) + ($1103))|0;
+ $1159 = (($1158) + ($1150))|0;
+ $1160 = (($1159) + ($1146))|0;
+ $1161 = $1120 << 30;
+ $1162 = $1120 >>> 2;
+ $1163 = $1161 | $1162;
+ $1164 = $1160 << 5;
+ $1165 = $1160 >>> 27;
+ $1166 = $1164 | $1165;
+ $1167 = $1140 & $1163;
+ $1168 = $1140 | $1163;
+ $1169 = $1168 & $1143;
+ $1170 = $1169 | $1167;
+ $1171 = $864 ^ $900;
+ $1172 = $1171 ^ $1016;
+ $1173 = $1172 ^ $1116;
+ $1174 = $1173 << 1;
+ $1175 = $1173 >>> 31;
+ $1176 = $1174 | $1175;
+ $1177 = (($1176) + -1894007588)|0;
+ $1178 = (($1177) + ($1123))|0;
+ $1179 = (($1178) + ($1170))|0;
+ $1180 = (($1179) + ($1166))|0;
+ $1181 = $1140 << 30;
+ $1182 = $1140 >>> 2;
+ $1183 = $1181 | $1182;
+ $1184 = $1180 << 5;
+ $1185 = $1180 >>> 27;
+ $1186 = $1184 | $1185;
+ $1187 = $1160 & $1183;
+ $1188 = $1160 | $1183;
+ $1189 = $1188 & $1163;
+ $1190 = $1189 | $1187;
+ $1191 = $882 ^ $918;
+ $1192 = $1191 ^ $1036;
+ $1193 = $1192 ^ $1136;
+ $1194 = $1193 << 1;
+ $1195 = $1193 >>> 31;
+ $1196 = $1194 | $1195;
+ $1197 = (($1196) + -1894007588)|0;
+ $1198 = (($1197) + ($1143))|0;
+ $1199 = (($1198) + ($1190))|0;
+ $1200 = (($1199) + ($1186))|0;
+ $1201 = $1160 << 30;
+ $1202 = $1160 >>> 2;
+ $1203 = $1201 | $1202;
+ $1204 = $1200 << 5;
+ $1205 = $1200 >>> 27;
+ $1206 = $1204 | $1205;
+ $1207 = $1180 & $1203;
+ $1208 = $1180 | $1203;
+ $1209 = $1208 & $1183;
+ $1210 = $1209 | $1207;
+ $1211 = $936 ^ $900;
+ $1212 = $1211 ^ $1056;
+ $1213 = $1212 ^ $1156;
+ $1214 = $1213 << 1;
+ $1215 = $1213 >>> 31;
+ $1216 = $1214 | $1215;
+ $1217 = (($1216) + -1894007588)|0;
+ $1218 = (($1217) + ($1163))|0;
+ $1219 = (($1218) + ($1210))|0;
+ $1220 = (($1219) + ($1206))|0;
+ $1221 = $1180 << 30;
+ $1222 = $1180 >>> 2;
+ $1223 = $1221 | $1222;
+ $1224 = $1220 << 5;
+ $1225 = $1220 >>> 27;
+ $1226 = $1224 | $1225;
+ $1227 = $1200 & $1223;
+ $1228 = $1200 | $1223;
+ $1229 = $1228 & $1203;
+ $1230 = $1229 | $1227;
+ $1231 = $918 ^ $956;
+ $1232 = $1231 ^ $1076;
+ $1233 = $1232 ^ $1176;
+ $1234 = $1233 << 1;
+ $1235 = $1233 >>> 31;
+ $1236 = $1234 | $1235;
+ $1237 = (($1236) + -1894007588)|0;
+ $1238 = (($1237) + ($1183))|0;
+ $1239 = (($1238) + ($1230))|0;
+ $1240 = (($1239) + ($1226))|0;
+ $1241 = $1200 << 30;
+ $1242 = $1200 >>> 2;
+ $1243 = $1241 | $1242;
+ $1244 = $1240 << 5;
+ $1245 = $1240 >>> 27;
+ $1246 = $1244 | $1245;
+ $1247 = $1220 & $1243;
+ $1248 = $1220 | $1243;
+ $1249 = $1248 & $1223;
+ $1250 = $1249 | $1247;
+ $1251 = $936 ^ $976;
+ $1252 = $1251 ^ $1096;
+ $1253 = $1252 ^ $1196;
+ $1254 = $1253 << 1;
+ $1255 = $1253 >>> 31;
+ $1256 = $1254 | $1255;
+ $1257 = (($1256) + -1894007588)|0;
+ $1258 = (($1257) + ($1203))|0;
+ $1259 = (($1258) + ($1250))|0;
+ $1260 = (($1259) + ($1246))|0;
+ $1261 = $1220 << 30;
+ $1262 = $1220 >>> 2;
+ $1263 = $1261 | $1262;
+ $1264 = $1260 << 5;
+ $1265 = $1260 >>> 27;
+ $1266 = $1264 | $1265;
+ $1267 = $1240 & $1263;
+ $1268 = $1240 | $1263;
+ $1269 = $1268 & $1243;
+ $1270 = $1269 | $1267;
+ $1271 = $996 ^ $956;
+ $1272 = $1271 ^ $1116;
+ $1273 = $1272 ^ $1216;
+ $1274 = $1273 << 1;
+ $1275 = $1273 >>> 31;
+ $1276 = $1274 | $1275;
+ $1277 = (($1276) + -1894007588)|0;
+ $1278 = (($1277) + ($1223))|0;
+ $1279 = (($1278) + ($1270))|0;
+ $1280 = (($1279) + ($1266))|0;
+ $1281 = $1240 << 30;
+ $1282 = $1240 >>> 2;
+ $1283 = $1281 | $1282;
+ $1284 = $1280 << 5;
+ $1285 = $1280 >>> 27;
+ $1286 = $1284 | $1285;
+ $1287 = $1260 & $1283;
+ $1288 = $1260 | $1283;
+ $1289 = $1288 & $1263;
+ $1290 = $1289 | $1287;
+ $1291 = $976 ^ $1016;
+ $1292 = $1291 ^ $1136;
+ $1293 = $1292 ^ $1236;
+ $1294 = $1293 << 1;
+ $1295 = $1293 >>> 31;
+ $1296 = $1294 | $1295;
+ $1297 = (($1296) + -1894007588)|0;
+ $1298 = (($1297) + ($1243))|0;
+ $1299 = (($1298) + ($1290))|0;
+ $1300 = (($1299) + ($1286))|0;
+ $1301 = $1260 << 30;
+ $1302 = $1260 >>> 2;
+ $1303 = $1301 | $1302;
+ $1304 = $1300 << 5;
+ $1305 = $1300 >>> 27;
+ $1306 = $1304 | $1305;
+ $1307 = $1280 & $1303;
+ $1308 = $1280 | $1303;
+ $1309 = $1308 & $1283;
+ $1310 = $1309 | $1307;
+ $1311 = $996 ^ $1036;
+ $1312 = $1311 ^ $1156;
+ $1313 = $1312 ^ $1256;
+ $1314 = $1313 << 1;
+ $1315 = $1313 >>> 31;
+ $1316 = $1314 | $1315;
+ $1317 = (($1316) + -1894007588)|0;
+ $1318 = (($1317) + ($1263))|0;
+ $1319 = (($1318) + ($1310))|0;
+ $1320 = (($1319) + ($1306))|0;
+ $1321 = $1280 << 30;
+ $1322 = $1280 >>> 2;
+ $1323 = $1321 | $1322;
+ $1324 = $1320 << 5;
+ $1325 = $1320 >>> 27;
+ $1326 = $1324 | $1325;
+ $1327 = $1300 & $1323;
+ $1328 = $1300 | $1323;
+ $1329 = $1328 & $1303;
+ $1330 = $1329 | $1327;
+ $1331 = $1056 ^ $1016;
+ $1332 = $1331 ^ $1176;
+ $1333 = $1332 ^ $1276;
+ $1334 = $1333 << 1;
+ $1335 = $1333 >>> 31;
+ $1336 = $1334 | $1335;
+ $1337 = (($1336) + -1894007588)|0;
+ $1338 = (($1337) + ($1283))|0;
+ $1339 = (($1338) + ($1330))|0;
+ $1340 = (($1339) + ($1326))|0;
+ $1341 = $1300 << 30;
+ $1342 = $1300 >>> 2;
+ $1343 = $1341 | $1342;
+ $1344 = $1340 << 5;
+ $1345 = $1340 >>> 27;
+ $1346 = $1344 | $1345;
+ $1347 = $1343 ^ $1323;
+ $1348 = $1347 ^ $1320;
+ $1349 = $1036 ^ $1076;
+ $1350 = $1349 ^ $1196;
+ $1351 = $1350 ^ $1296;
+ $1352 = $1351 << 1;
+ $1353 = $1351 >>> 31;
+ $1354 = $1352 | $1353;
+ $1355 = (($1354) + -899497514)|0;
+ $1356 = (($1355) + ($1303))|0;
+ $1357 = (($1356) + ($1348))|0;
+ $1358 = (($1357) + ($1346))|0;
+ $1359 = $1320 << 30;
+ $1360 = $1320 >>> 2;
+ $1361 = $1359 | $1360;
+ $1362 = $1358 << 5;
+ $1363 = $1358 >>> 27;
+ $1364 = $1362 | $1363;
+ $1365 = $1361 ^ $1343;
+ $1366 = $1365 ^ $1340;
+ $1367 = $1056 ^ $1096;
+ $1368 = $1367 ^ $1216;
+ $1369 = $1368 ^ $1316;
+ $1370 = $1369 << 1;
+ $1371 = $1369 >>> 31;
+ $1372 = $1370 | $1371;
+ $1373 = (($1372) + -899497514)|0;
+ $1374 = (($1373) + ($1323))|0;
+ $1375 = (($1374) + ($1366))|0;
+ $1376 = (($1375) + ($1364))|0;
+ $1377 = $1340 << 30;
+ $1378 = $1340 >>> 2;
+ $1379 = $1377 | $1378;
+ $1380 = $1376 << 5;
+ $1381 = $1376 >>> 27;
+ $1382 = $1380 | $1381;
+ $1383 = $1379 ^ $1361;
+ $1384 = $1383 ^ $1358;
+ $1385 = $1116 ^ $1076;
+ $1386 = $1385 ^ $1236;
+ $1387 = $1386 ^ $1336;
+ $1388 = $1387 << 1;
+ $1389 = $1387 >>> 31;
+ $1390 = $1388 | $1389;
+ $1391 = (($1390) + -899497514)|0;
+ $1392 = (($1391) + ($1343))|0;
+ $1393 = (($1392) + ($1384))|0;
+ $1394 = (($1393) + ($1382))|0;
+ $1395 = $1358 << 30;
+ $1396 = $1358 >>> 2;
+ $1397 = $1395 | $1396;
+ $1398 = $1394 << 5;
+ $1399 = $1394 >>> 27;
+ $1400 = $1398 | $1399;
+ $1401 = $1397 ^ $1379;
+ $1402 = $1401 ^ $1376;
+ $1403 = $1096 ^ $1136;
+ $1404 = $1403 ^ $1256;
+ $1405 = $1404 ^ $1354;
+ $1406 = $1405 << 1;
+ $1407 = $1405 >>> 31;
+ $1408 = $1406 | $1407;
+ $1409 = (($1408) + -899497514)|0;
+ $1410 = (($1409) + ($1361))|0;
+ $1411 = (($1410) + ($1402))|0;
+ $1412 = (($1411) + ($1400))|0;
+ $1413 = $1376 << 30;
+ $1414 = $1376 >>> 2;
+ $1415 = $1413 | $1414;
+ $1416 = $1412 << 5;
+ $1417 = $1412 >>> 27;
+ $1418 = $1416 | $1417;
+ $1419 = $1415 ^ $1397;
+ $1420 = $1419 ^ $1394;
+ $1421 = $1116 ^ $1156;
+ $1422 = $1421 ^ $1276;
+ $1423 = $1422 ^ $1372;
+ $1424 = $1423 << 1;
+ $1425 = $1423 >>> 31;
+ $1426 = $1424 | $1425;
+ $1427 = (($1426) + -899497514)|0;
+ $1428 = (($1427) + ($1379))|0;
+ $1429 = (($1428) + ($1420))|0;
+ $1430 = (($1429) + ($1418))|0;
+ $1431 = $1394 << 30;
+ $1432 = $1394 >>> 2;
+ $1433 = $1431 | $1432;
+ $1434 = $1430 << 5;
+ $1435 = $1430 >>> 27;
+ $1436 = $1434 | $1435;
+ $1437 = $1433 ^ $1415;
+ $1438 = $1437 ^ $1412;
+ $1439 = $1176 ^ $1136;
+ $1440 = $1439 ^ $1296;
+ $1441 = $1440 ^ $1390;
+ $1442 = $1441 << 1;
+ $1443 = $1441 >>> 31;
+ $1444 = $1442 | $1443;
+ $1445 = (($1444) + -899497514)|0;
+ $1446 = (($1445) + ($1397))|0;
+ $1447 = (($1446) + ($1438))|0;
+ $1448 = (($1447) + ($1436))|0;
+ $1449 = $1412 << 30;
+ $1450 = $1412 >>> 2;
+ $1451 = $1449 | $1450;
+ $1452 = $1448 << 5;
+ $1453 = $1448 >>> 27;
+ $1454 = $1452 | $1453;
+ $1455 = $1451 ^ $1433;
+ $1456 = $1455 ^ $1430;
+ $1457 = $1156 ^ $1196;
+ $1458 = $1457 ^ $1316;
+ $1459 = $1458 ^ $1408;
+ $1460 = $1459 << 1;
+ $1461 = $1459 >>> 31;
+ $1462 = $1460 | $1461;
+ $1463 = (($1462) + -899497514)|0;
+ $1464 = (($1463) + ($1415))|0;
+ $1465 = (($1464) + ($1456))|0;
+ $1466 = (($1465) + ($1454))|0;
+ $1467 = $1430 << 30;
+ $1468 = $1430 >>> 2;
+ $1469 = $1467 | $1468;
+ $1470 = $1466 << 5;
+ $1471 = $1466 >>> 27;
+ $1472 = $1470 | $1471;
+ $1473 = $1469 ^ $1451;
+ $1474 = $1473 ^ $1448;
+ $1475 = $1176 ^ $1216;
+ $1476 = $1475 ^ $1336;
+ $1477 = $1476 ^ $1426;
+ $1478 = $1477 << 1;
+ $1479 = $1477 >>> 31;
+ $1480 = $1478 | $1479;
+ $1481 = (($1480) + -899497514)|0;
+ $1482 = (($1481) + ($1433))|0;
+ $1483 = (($1482) + ($1474))|0;
+ $1484 = (($1483) + ($1472))|0;
+ $1485 = $1448 << 30;
+ $1486 = $1448 >>> 2;
+ $1487 = $1485 | $1486;
+ $1488 = $1484 << 5;
+ $1489 = $1484 >>> 27;
+ $1490 = $1488 | $1489;
+ $1491 = $1487 ^ $1469;
+ $1492 = $1491 ^ $1466;
+ $1493 = $1236 ^ $1196;
+ $1494 = $1493 ^ $1354;
+ $1495 = $1494 ^ $1444;
+ $1496 = $1495 << 1;
+ $1497 = $1495 >>> 31;
+ $1498 = $1496 | $1497;
+ $1499 = (($1498) + -899497514)|0;
+ $1500 = (($1499) + ($1451))|0;
+ $1501 = (($1500) + ($1492))|0;
+ $1502 = (($1501) + ($1490))|0;
+ $1503 = $1466 << 30;
+ $1504 = $1466 >>> 2;
+ $1505 = $1503 | $1504;
+ $1506 = $1502 << 5;
+ $1507 = $1502 >>> 27;
+ $1508 = $1506 | $1507;
+ $1509 = $1505 ^ $1487;
+ $1510 = $1509 ^ $1484;
+ $1511 = $1216 ^ $1256;
+ $1512 = $1511 ^ $1372;
+ $1513 = $1512 ^ $1462;
+ $1514 = $1513 << 1;
+ $1515 = $1513 >>> 31;
+ $1516 = $1514 | $1515;
+ $1517 = (($1516) + -899497514)|0;
+ $1518 = (($1517) + ($1469))|0;
+ $1519 = (($1518) + ($1510))|0;
+ $1520 = (($1519) + ($1508))|0;
+ $1521 = $1484 << 30;
+ $1522 = $1484 >>> 2;
+ $1523 = $1521 | $1522;
+ $1524 = $1520 << 5;
+ $1525 = $1520 >>> 27;
+ $1526 = $1524 | $1525;
+ $1527 = $1523 ^ $1505;
+ $1528 = $1527 ^ $1502;
+ $1529 = $1236 ^ $1276;
+ $1530 = $1529 ^ $1390;
+ $1531 = $1530 ^ $1480;
+ $1532 = $1531 << 1;
+ $1533 = $1531 >>> 31;
+ $1534 = $1532 | $1533;
+ $1535 = (($1534) + -899497514)|0;
+ $1536 = (($1535) + ($1487))|0;
+ $1537 = (($1536) + ($1528))|0;
+ $1538 = (($1537) + ($1526))|0;
+ $1539 = $1502 << 30;
+ $1540 = $1502 >>> 2;
+ $1541 = $1539 | $1540;
+ $1542 = $1538 << 5;
+ $1543 = $1538 >>> 27;
+ $1544 = $1542 | $1543;
+ $1545 = $1541 ^ $1523;
+ $1546 = $1545 ^ $1520;
+ $1547 = $1296 ^ $1256;
+ $1548 = $1547 ^ $1408;
+ $1549 = $1548 ^ $1498;
+ $1550 = $1549 << 1;
+ $1551 = $1549 >>> 31;
+ $1552 = $1550 | $1551;
+ $1553 = (($1552) + -899497514)|0;
+ $1554 = (($1553) + ($1505))|0;
+ $1555 = (($1554) + ($1546))|0;
+ $1556 = (($1555) + ($1544))|0;
+ $1557 = $1520 << 30;
+ $1558 = $1520 >>> 2;
+ $1559 = $1557 | $1558;
+ $1560 = $1556 << 5;
+ $1561 = $1556 >>> 27;
+ $1562 = $1560 | $1561;
+ $1563 = $1559 ^ $1541;
+ $1564 = $1563 ^ $1538;
+ $1565 = $1276 ^ $1316;
+ $1566 = $1565 ^ $1426;
+ $1567 = $1566 ^ $1516;
+ $1568 = $1567 << 1;
+ $1569 = $1567 >>> 31;
+ $1570 = $1568 | $1569;
+ $1571 = (($1570) + -899497514)|0;
+ $1572 = (($1571) + ($1523))|0;
+ $1573 = (($1572) + ($1564))|0;
+ $1574 = (($1573) + ($1562))|0;
+ $1575 = $1538 << 30;
+ $1576 = $1538 >>> 2;
+ $1577 = $1575 | $1576;
+ $1578 = $1574 << 5;
+ $1579 = $1574 >>> 27;
+ $1580 = $1578 | $1579;
+ $1581 = $1577 ^ $1559;
+ $1582 = $1581 ^ $1556;
+ $1583 = $1296 ^ $1336;
+ $1584 = $1583 ^ $1444;
+ $1585 = $1584 ^ $1534;
+ $1586 = $1585 << 1;
+ $1587 = $1585 >>> 31;
+ $1588 = $1586 | $1587;
+ $1589 = (($1588) + -899497514)|0;
+ $1590 = (($1589) + ($1541))|0;
+ $1591 = (($1590) + ($1582))|0;
+ $1592 = (($1591) + ($1580))|0;
+ $1593 = $1556 << 30;
+ $1594 = $1556 >>> 2;
+ $1595 = $1593 | $1594;
+ $1596 = $1592 << 5;
+ $1597 = $1592 >>> 27;
+ $1598 = $1596 | $1597;
+ $1599 = $1595 ^ $1577;
+ $1600 = $1599 ^ $1574;
+ $1601 = $1354 ^ $1316;
+ $1602 = $1601 ^ $1462;
+ $1603 = $1602 ^ $1552;
+ $1604 = $1603 << 1;
+ $1605 = $1603 >>> 31;
+ $1606 = $1604 | $1605;
+ $1607 = (($1606) + -899497514)|0;
+ $1608 = (($1607) + ($1559))|0;
+ $1609 = (($1608) + ($1600))|0;
+ $1610 = (($1609) + ($1598))|0;
+ $1611 = $1574 << 30;
+ $1612 = $1574 >>> 2;
+ $1613 = $1611 | $1612;
+ $1614 = $1610 << 5;
+ $1615 = $1610 >>> 27;
+ $1616 = $1614 | $1615;
+ $1617 = $1613 ^ $1595;
+ $1618 = $1617 ^ $1592;
+ $1619 = $1336 ^ $1372;
+ $1620 = $1619 ^ $1480;
+ $1621 = $1620 ^ $1570;
+ $1622 = $1621 << 1;
+ $1623 = $1621 >>> 31;
+ $1624 = $1622 | $1623;
+ $1625 = (($1624) + -899497514)|0;
+ $1626 = (($1625) + ($1577))|0;
+ $1627 = (($1626) + ($1618))|0;
+ $1628 = (($1627) + ($1616))|0;
+ $1629 = $1592 << 30;
+ $1630 = $1592 >>> 2;
+ $1631 = $1629 | $1630;
+ $1632 = $1628 << 5;
+ $1633 = $1628 >>> 27;
+ $1634 = $1632 | $1633;
+ $1635 = $1631 ^ $1613;
+ $1636 = $1635 ^ $1610;
+ $1637 = $1354 ^ $1390;
+ $1638 = $1637 ^ $1498;
+ $1639 = $1638 ^ $1588;
+ $1640 = $1639 << 1;
+ $1641 = $1639 >>> 31;
+ $1642 = $1640 | $1641;
+ $1643 = (($1642) + -899497514)|0;
+ $1644 = (($1643) + ($1595))|0;
+ $1645 = (($1644) + ($1636))|0;
+ $1646 = (($1645) + ($1634))|0;
+ $1647 = $1610 << 30;
+ $1648 = $1610 >>> 2;
+ $1649 = $1647 | $1648;
+ $1650 = $1646 << 5;
+ $1651 = $1646 >>> 27;
+ $1652 = $1650 | $1651;
+ $1653 = $1649 ^ $1631;
+ $1654 = $1653 ^ $1628;
+ $1655 = $1408 ^ $1372;
+ $1656 = $1655 ^ $1516;
+ $1657 = $1656 ^ $1606;
+ $1658 = $1657 << 1;
+ $1659 = $1657 >>> 31;
+ $1660 = $1658 | $1659;
+ $1661 = (($1660) + -899497514)|0;
+ $1662 = (($1661) + ($1613))|0;
+ $1663 = (($1662) + ($1654))|0;
+ $1664 = (($1663) + ($1652))|0;
+ $1665 = $1628 << 30;
+ $1666 = $1628 >>> 2;
+ $1667 = $1665 | $1666;
+ $1668 = $1664 << 5;
+ $1669 = $1664 >>> 27;
+ $1670 = $1668 | $1669;
+ $1671 = $1667 ^ $1649;
+ $1672 = $1671 ^ $1646;
+ $1673 = $1390 ^ $1426;
+ $1674 = $1673 ^ $1534;
+ $1675 = $1674 ^ $1624;
+ $1676 = $1675 << 1;
+ $1677 = $1675 >>> 31;
+ $1678 = $1676 | $1677;
+ $1679 = (($1678) + -899497514)|0;
+ $1680 = (($1679) + ($1631))|0;
+ $1681 = (($1680) + ($1672))|0;
+ $1682 = (($1681) + ($1670))|0;
+ $1683 = $1646 << 30;
+ $1684 = $1646 >>> 2;
+ $1685 = $1683 | $1684;
+ $1686 = $1682 << 5;
+ $1687 = $1682 >>> 27;
+ $1688 = $1686 | $1687;
+ $1689 = $1685 ^ $1667;
+ $1690 = $1689 ^ $1664;
+ $1691 = $1408 ^ $1444;
+ $1692 = $1691 ^ $1552;
+ $1693 = $1692 ^ $1642;
+ $1694 = $1693 << 1;
+ $1695 = $1693 >>> 31;
+ $1696 = $1694 | $1695;
+ $1697 = $1664 << 30;
+ $1698 = $1664 >>> 2;
+ $1699 = $1697 | $1698;
+ $1700 = (($9) + -899497514)|0;
+ $1701 = (($1700) + ($1696))|0;
+ $1702 = (($1701) + ($1649))|0;
+ $1703 = (($1702) + ($1690))|0;
+ $1704 = (($1703) + ($1688))|0;
+ HEAP32[$3>>2] = $1704;
+ $1705 = (($1682) + ($16))|0;
+ HEAP32[$4>>2] = $1705;
+ $1706 = (($1699) + ($14))|0;
+ HEAP32[$5>>2] = $1706;
+ $1707 = (($1685) + ($13))|0;
+ HEAP32[$6>>2] = $1707;
+ $1708 = (($1667) + ($37))|0;
+ HEAP32[$7>>2] = $1708;
+ $1709 = ((($$0)) + 64|0);
+ $1710 = (($$08) + -1)|0;
+ $1711 = ($1710|0)==(0);
+ if ($1711) {
+ break;
+ } else {
+ $$0 = $1709;$$08 = $1710;$13 = $1707;$14 = $1706;$16 = $1705;$37 = $1708;$9 = $1704;
+ }
+ }
+ return 104;
+}
+function __gcry_sha1_hash_buffer($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 192|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(192|0);
+ $3 = sp;
+ $4 = ((($3)) + 160|0);
+ HEAP32[$4>>2] = 1732584193;
+ $5 = ((($3)) + 164|0);
+ HEAP32[$5>>2] = -271733879;
+ $6 = ((($3)) + 168|0);
+ HEAP32[$6>>2] = -1732584194;
+ $7 = ((($3)) + 172|0);
+ HEAP32[$7>>2] = 271733878;
+ $8 = ((($3)) + 176|0);
+ HEAP32[$8>>2] = -1009589776;
+ $9 = ((($3)) + 128|0);
+ $10 = ((($3)) + 148|0);
+ ;HEAP32[$9>>2]=0|0;HEAP32[$9+4>>2]=0|0;HEAP32[$9+8>>2]=0|0;HEAP32[$9+12>>2]=0|0;HEAP32[$9+16>>2]=0|0;
+ HEAP32[$10>>2] = 64;
+ $11 = ((($3)) + 152|0);
+ HEAP32[$11>>2] = 78;
+ __gcry_md_block_write($3,$1,$2);
+ _sha1_final($3);
+ dest=$0; src=$3; stop=dest+20|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
+ STACKTOP = sp;return;
+}
+function __gcry_sha1_hash_buffers($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$067 = 0, $$08 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0;
+ var $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 192|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(192|0);
+ $3 = sp;
+ $4 = ((($3)) + 160|0);
+ HEAP32[$4>>2] = 1732584193;
+ $5 = ((($3)) + 164|0);
+ HEAP32[$5>>2] = -271733879;
+ $6 = ((($3)) + 168|0);
+ HEAP32[$6>>2] = -1732584194;
+ $7 = ((($3)) + 172|0);
+ HEAP32[$7>>2] = 271733878;
+ $8 = ((($3)) + 176|0);
+ HEAP32[$8>>2] = -1009589776;
+ $9 = ((($3)) + 128|0);
+ $10 = ((($3)) + 148|0);
+ ;HEAP32[$9>>2]=0|0;HEAP32[$9+4>>2]=0|0;HEAP32[$9+8>>2]=0|0;HEAP32[$9+12>>2]=0|0;HEAP32[$9+16>>2]=0|0;
+ HEAP32[$10>>2] = 64;
+ $11 = ((($3)) + 152|0);
+ HEAP32[$11>>2] = 78;
+ $12 = ($2|0)>(0);
+ if (!($12)) {
+ _sha1_final($3);
+ dest=$0; src=$3; stop=dest+20|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
+ STACKTOP = sp;return;
+ }
+ $$067 = $1;$$08 = $2;
+ while(1) {
+ $13 = ((($$067)) + 12|0);
+ $14 = HEAP32[$13>>2]|0;
+ $15 = ((($$067)) + 4|0);
+ $16 = HEAP32[$15>>2]|0;
+ $17 = (($14) + ($16)|0);
+ $18 = ((($$067)) + 8|0);
+ $19 = HEAP32[$18>>2]|0;
+ __gcry_md_block_write($3,$17,$19);
+ $20 = ((($$067)) + 16|0);
+ $21 = (($$08) + -1)|0;
+ $22 = ($$08|0)>(1);
+ if ($22) {
+ $$067 = $20;$$08 = $21;
+ } else {
+ break;
+ }
+ }
+ _sha1_final($3);
+ dest=$0; src=$3; stop=dest+20|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
+ STACKTOP = sp;return;
+}
+function _sha224_init($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $2 = ((($0)) + 160|0);
+ HEAP32[$2>>2] = -1056596264;
+ $3 = ((($0)) + 164|0);
+ HEAP32[$3>>2] = 914150663;
+ $4 = ((($0)) + 168|0);
+ HEAP32[$4>>2] = 812702999;
+ $5 = ((($0)) + 172|0);
+ HEAP32[$5>>2] = -150054599;
+ $6 = ((($0)) + 176|0);
+ HEAP32[$6>>2] = -4191439;
+ $7 = ((($0)) + 180|0);
+ HEAP32[$7>>2] = 1750603025;
+ $8 = ((($0)) + 184|0);
+ HEAP32[$8>>2] = 1694076839;
+ $9 = ((($0)) + 188|0);
+ HEAP32[$9>>2] = -1090891868;
+ $10 = ((($0)) + 128|0);
+ $11 = ((($0)) + 148|0);
+ ;HEAP32[$10>>2]=0|0;HEAP32[$10+4>>2]=0|0;HEAP32[$10+8>>2]=0|0;HEAP32[$10+12>>2]=0|0;HEAP32[$10+16>>2]=0|0;
+ HEAP32[$11>>2] = 64;
+ $12 = ((($0)) + 152|0);
+ HEAP32[$12>>2] = 79;
+ return;
+}
+function _sha256_final($0) {
+ $0 = $0|0;
+ var $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, $116 = 0;
+ var $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, $134 = 0;
+ var $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, $152 = 0;
+ var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0;
+ var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0;
+ var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $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, $spec$select = 0, dest = 0, label = 0, sp = 0, stop = 0;
+ sp = STACKTOP;
+ __gcry_md_block_write($0,0,0);
+ $1 = ((($0)) + 128|0);
+ $2 = $1;
+ $3 = $2;
+ $4 = HEAP32[$3>>2]|0;
+ $5 = (($2) + 4)|0;
+ $6 = $5;
+ $7 = HEAP32[$6>>2]|0;
+ $8 = $4 << 6;
+ $9 = (_bitshift64Lshr(($4|0),($7|0),26)|0);
+ $10 = tempRet0;
+ $11 = $9 & 536870848;
+ $12 = $4 >>> 26;
+ $13 = $11 | $12;
+ $14 = ((($0)) + 144|0);
+ $15 = HEAP32[$14>>2]|0;
+ $16 = (($8) + ($15))|0;
+ $17 = ($16>>>0)<($8>>>0);
+ $18 = $17&1;
+ $spec$select = (($13) + ($18))|0;
+ $19 = $16 << 3;
+ $20 = $spec$select << 3;
+ $21 = $16 >>> 29;
+ $22 = $20 | $21;
+ $23 = ($15|0)<(56);
+ $24 = (($15) + 1)|0;
+ HEAP32[$14>>2] = $24;
+ $25 = (($0) + ($15)|0);
+ HEAP8[$25>>0] = -128;
+ $26 = HEAP32[$14>>2]|0;
+ if ($23) {
+ $27 = ($26|0)<(56);
+ if ($27) {
+ $29 = $26;
+ while(1) {
+ $28 = (($29) + 1)|0;
+ HEAP32[$14>>2] = $28;
+ $30 = (($0) + ($29)|0);
+ HEAP8[$30>>0] = 0;
+ $31 = HEAP32[$14>>2]|0;
+ $32 = ($31|0)<(56);
+ if ($32) {
+ $29 = $31;
+ } else {
+ break;
+ }
+ }
+ }
+ } else {
+ $33 = ($26|0)<(64);
+ if ($33) {
+ $35 = $26;
+ while(1) {
+ $34 = (($35) + 1)|0;
+ HEAP32[$14>>2] = $34;
+ $36 = (($0) + ($35)|0);
+ HEAP8[$36>>0] = 0;
+ $37 = HEAP32[$14>>2]|0;
+ $38 = ($37|0)<(64);
+ if ($38) {
+ $35 = $37;
+ } else {
+ break;
+ }
+ }
+ }
+ __gcry_md_block_write($0,0,0);
+ dest=$0; stop=dest+56|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
+ }
+ $39 = ((($0)) + 56|0);
+ $40 = $spec$select >>> 21;
+ $41 = $40&255;
+ HEAP8[$39>>0] = $41;
+ $42 = $spec$select >>> 13;
+ $43 = $42&255;
+ $44 = ((($0)) + 57|0);
+ HEAP8[$44>>0] = $43;
+ $45 = $spec$select >>> 5;
+ $46 = $45&255;
+ $47 = ((($0)) + 58|0);
+ HEAP8[$47>>0] = $46;
+ $48 = $22&255;
+ $49 = ((($0)) + 59|0);
+ HEAP8[$49>>0] = $48;
+ $50 = ((($0)) + 60|0);
+ $51 = $16 >>> 21;
+ $52 = $51&255;
+ HEAP8[$50>>0] = $52;
+ $53 = $16 >>> 13;
+ $54 = $53&255;
+ $55 = ((($0)) + 61|0);
+ HEAP8[$55>>0] = $54;
+ $56 = $16 >>> 5;
+ $57 = $56&255;
+ $58 = ((($0)) + 62|0);
+ HEAP8[$58>>0] = $57;
+ $59 = $19&255;
+ $60 = ((($0)) + 63|0);
+ HEAP8[$60>>0] = $59;
+ (_transform_1345($0,$0,1)|0);
+ ___gcry_burn_stack(328);
+ $61 = ((($0)) + 160|0);
+ $62 = HEAP32[$61>>2]|0;
+ $63 = $62 >>> 24;
+ $64 = $63&255;
+ HEAP8[$0>>0] = $64;
+ $65 = $62 >>> 16;
+ $66 = $65&255;
+ $67 = ((($0)) + 1|0);
+ HEAP8[$67>>0] = $66;
+ $68 = $62 >>> 8;
+ $69 = $68&255;
+ $70 = ((($0)) + 2|0);
+ HEAP8[$70>>0] = $69;
+ $71 = $62&255;
+ $72 = ((($0)) + 3|0);
+ HEAP8[$72>>0] = $71;
+ $73 = ((($0)) + 4|0);
+ $74 = ((($0)) + 164|0);
+ $75 = HEAP32[$74>>2]|0;
+ $76 = $75 >>> 24;
+ $77 = $76&255;
+ HEAP8[$73>>0] = $77;
+ $78 = $75 >>> 16;
+ $79 = $78&255;
+ $80 = ((($0)) + 5|0);
+ HEAP8[$80>>0] = $79;
+ $81 = $75 >>> 8;
+ $82 = $81&255;
+ $83 = ((($0)) + 6|0);
+ HEAP8[$83>>0] = $82;
+ $84 = $75&255;
+ $85 = ((($0)) + 7|0);
+ HEAP8[$85>>0] = $84;
+ $86 = ((($0)) + 8|0);
+ $87 = ((($0)) + 168|0);
+ $88 = HEAP32[$87>>2]|0;
+ $89 = $88 >>> 24;
+ $90 = $89&255;
+ HEAP8[$86>>0] = $90;
+ $91 = $88 >>> 16;
+ $92 = $91&255;
+ $93 = ((($0)) + 9|0);
+ HEAP8[$93>>0] = $92;
+ $94 = $88 >>> 8;
+ $95 = $94&255;
+ $96 = ((($0)) + 10|0);
+ HEAP8[$96>>0] = $95;
+ $97 = $88&255;
+ $98 = ((($0)) + 11|0);
+ HEAP8[$98>>0] = $97;
+ $99 = ((($0)) + 12|0);
+ $100 = ((($0)) + 172|0);
+ $101 = HEAP32[$100>>2]|0;
+ $102 = $101 >>> 24;
+ $103 = $102&255;
+ HEAP8[$99>>0] = $103;
+ $104 = $101 >>> 16;
+ $105 = $104&255;
+ $106 = ((($0)) + 13|0);
+ HEAP8[$106>>0] = $105;
+ $107 = $101 >>> 8;
+ $108 = $107&255;
+ $109 = ((($0)) + 14|0);
+ HEAP8[$109>>0] = $108;
+ $110 = $101&255;
+ $111 = ((($0)) + 15|0);
+ HEAP8[$111>>0] = $110;
+ $112 = ((($0)) + 16|0);
+ $113 = ((($0)) + 176|0);
+ $114 = HEAP32[$113>>2]|0;
+ $115 = $114 >>> 24;
+ $116 = $115&255;
+ HEAP8[$112>>0] = $116;
+ $117 = $114 >>> 16;
+ $118 = $117&255;
+ $119 = ((($0)) + 17|0);
+ HEAP8[$119>>0] = $118;
+ $120 = $114 >>> 8;
+ $121 = $120&255;
+ $122 = ((($0)) + 18|0);
+ HEAP8[$122>>0] = $121;
+ $123 = $114&255;
+ $124 = ((($0)) + 19|0);
+ HEAP8[$124>>0] = $123;
+ $125 = ((($0)) + 20|0);
+ $126 = ((($0)) + 180|0);
+ $127 = HEAP32[$126>>2]|0;
+ $128 = $127 >>> 24;
+ $129 = $128&255;
+ HEAP8[$125>>0] = $129;
+ $130 = $127 >>> 16;
+ $131 = $130&255;
+ $132 = ((($0)) + 21|0);
+ HEAP8[$132>>0] = $131;
+ $133 = $127 >>> 8;
+ $134 = $133&255;
+ $135 = ((($0)) + 22|0);
+ HEAP8[$135>>0] = $134;
+ $136 = $127&255;
+ $137 = ((($0)) + 23|0);
+ HEAP8[$137>>0] = $136;
+ $138 = ((($0)) + 24|0);
+ $139 = ((($0)) + 184|0);
+ $140 = HEAP32[$139>>2]|0;
+ $141 = $140 >>> 24;
+ $142 = $141&255;
+ HEAP8[$138>>0] = $142;
+ $143 = $140 >>> 16;
+ $144 = $143&255;
+ $145 = ((($0)) + 25|0);
+ HEAP8[$145>>0] = $144;
+ $146 = $140 >>> 8;
+ $147 = $146&255;
+ $148 = ((($0)) + 26|0);
+ HEAP8[$148>>0] = $147;
+ $149 = $140&255;
+ $150 = ((($0)) + 27|0);
+ HEAP8[$150>>0] = $149;
+ $151 = ((($0)) + 28|0);
+ $152 = ((($0)) + 188|0);
+ $153 = HEAP32[$152>>2]|0;
+ $154 = $153 >>> 24;
+ $155 = $154&255;
+ HEAP8[$151>>0] = $155;
+ $156 = $153 >>> 16;
+ $157 = $156&255;
+ $158 = ((($0)) + 29|0);
+ HEAP8[$158>>0] = $157;
+ $159 = $153 >>> 8;
+ $160 = $159&255;
+ $161 = ((($0)) + 30|0);
+ HEAP8[$161>>0] = $160;
+ $162 = $153&255;
+ $163 = ((($0)) + 31|0);
+ HEAP8[$163>>0] = $162;
+ return;
+}
+function _sha256_read($0) {
+ $0 = $0|0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ return ($0|0);
+}
+function _run_selftests_1332($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$0 = 0, $$0$i = 0, $$0$i7 = 0, $$011$i = 0, $$011$i6 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
+ var $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ switch ($0|0) {
+ case 11: {
+ $3 = (__gcry_hash_selftest_check_one(11,0,62920,3,62595,28)|0);
+ $4 = ($3|0)==(0|0);
+ if ($4) {
+ $5 = ($1|0)==(0);
+ if ($5) {
+ $$0 = 0;
+ return ($$0|0);
+ }
+ $6 = (__gcry_hash_selftest_check_one(11,0,62624,56,62681,28)|0);
+ $7 = ($6|0)==(0|0);
+ if ($7) {
+ $8 = (__gcry_hash_selftest_check_one(11,1,0,0,62710,28)|0);
+ $9 = ($8|0)==(0|0);
+ if ($9) {
+ $$0 = 0;
+ return ($$0|0);
+ } else {
+ $$0$i = $8;$$011$i = 63209;
+ }
+ } else {
+ $$0$i = $6;$$011$i = 63197;
+ }
+ } else {
+ $$0$i = $3;$$011$i = 63184;
+ }
+ $10 = ($2|0)==(0|0);
+ if ($10) {
+ $$0 = 50;
+ return ($$0|0);
+ }
+ FUNCTION_TABLE_viiii[$2 & 63](63225,11,$$011$i,$$0$i);
+ $$0 = 50;
+ return ($$0|0);
+ break;
+ }
+ case 8: {
+ $11 = (__gcry_hash_selftest_check_one(8,0,62920,3,62739,32)|0);
+ $12 = ($11|0)==(0|0);
+ if ($12) {
+ $13 = ($1|0)==(0);
+ if ($13) {
+ $$0 = 0;
+ return ($$0|0);
+ }
+ $14 = (__gcry_hash_selftest_check_one(8,0,62624,56,62772,32)|0);
+ $15 = ($14|0)==(0|0);
+ if ($15) {
+ $16 = (__gcry_hash_selftest_check_one(8,1,0,0,62805,32)|0);
+ $17 = ($16|0)==(0|0);
+ if ($17) {
+ $$0 = 0;
+ return ($$0|0);
+ } else {
+ $$0$i7 = $16;$$011$i6 = 63209;
+ }
+ } else {
+ $$0$i7 = $14;$$011$i6 = 63197;
+ }
+ } else {
+ $$0$i7 = $11;$$011$i6 = 63184;
+ }
+ $18 = ($2|0)==(0|0);
+ if ($18) {
+ $$0 = 50;
+ return ($$0|0);
+ }
+ FUNCTION_TABLE_viiii[$2 & 63](63225,8,$$011$i6,$$0$i7);
+ $$0 = 50;
+ return ($$0|0);
+ break;
+ }
+ default: {
+ $$0 = 5;
+ return ($$0|0);
+ }
+ }
+ return (0)|0;
+}
+function _transform_1345($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$0 = 0, $$01858$i = 0, $$01867$i = 0, $$01876$i = 0, $$01885$i = 0, $$01894$i = 0, $$01903$i = 0, $$01912$i = 0, $$01921$i = 0, $$08 = 0, $$110$i = 0, $$29$i = 0, $$pre = 0, $$pre23 = 0, $$pre24 = 0, $$pre25 = 0, $$pre26 = 0, $$pre27 = 0, $$pre28 = 0, $$pre29 = 0;
+ var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0;
+ var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $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;
+ var $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, $152 = 0, $153 = 0;
+ var $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, $170 = 0, $171 = 0;
+ var $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, $189 = 0, $19 = 0;
+ var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $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, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0;
+ var $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, $297 = 0, $298 = 0, $299 = 0;
+ var $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, $314 = 0, $315 = 0, $316 = 0;
+ var $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, $332 = 0, $333 = 0, $334 = 0;
+ var $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, $350 = 0, $351 = 0, $352 = 0;
+ var $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0;
+ var $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, $387 = 0, $388 = 0, $389 = 0;
+ var $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, $404 = 0, $405 = 0, $406 = 0;
+ var $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, $422 = 0, $423 = 0, $424 = 0;
+ var $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, $440 = 0, $441 = 0, $442 = 0;
+ var $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, $459 = 0, $46 = 0, $460 = 0;
+ var $461 = 0, $462 = 0, $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;
+ var $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, $495 = 0, $496 = 0, $497 = 0;
+ var $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, $512 = 0, $513 = 0, $514 = 0;
+ var $515 = 0, $516 = 0, $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;
+ var $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, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0;
+ var $551 = 0, $552 = 0, $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;
+ var $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, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0;
+ var $588 = 0, $589 = 0, $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;
+ var $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, $622 = 0;
+ var $623 = 0, $624 = 0, $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;
+ var $641 = 0, $642 = 0, $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;
+ var $66 = 0, $660 = 0, $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;
+ var $678 = 0, $679 = 0, $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, $7 = 0;
+ var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0;
+ var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond$i = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0);
+ $3 = sp;
+ $4 = ((($0)) + 160|0);
+ $5 = ((($0)) + 164|0);
+ $6 = ((($0)) + 168|0);
+ $7 = ((($0)) + 172|0);
+ $8 = ((($0)) + 176|0);
+ $9 = ((($0)) + 180|0);
+ $10 = ((($0)) + 184|0);
+ $11 = ((($0)) + 188|0);
+ $12 = ((($3)) + 4|0);
+ $13 = ((($3)) + 8|0);
+ $14 = ((($3)) + 12|0);
+ $15 = ((($3)) + 16|0);
+ $16 = ((($3)) + 20|0);
+ $17 = ((($3)) + 24|0);
+ $18 = ((($3)) + 28|0);
+ $19 = ((($3)) + 32|0);
+ $20 = ((($3)) + 36|0);
+ $21 = ((($3)) + 40|0);
+ $22 = ((($3)) + 44|0);
+ $23 = ((($3)) + 48|0);
+ $24 = ((($3)) + 52|0);
+ $25 = ((($3)) + 56|0);
+ $26 = ((($3)) + 60|0);
+ $$pre = HEAP32[$4>>2]|0;
+ $$pre23 = HEAP32[$5>>2]|0;
+ $$pre24 = HEAP32[$6>>2]|0;
+ $$pre25 = HEAP32[$7>>2]|0;
+ $$pre26 = HEAP32[$8>>2]|0;
+ $$pre27 = HEAP32[$9>>2]|0;
+ $$pre28 = HEAP32[$10>>2]|0;
+ $$pre29 = HEAP32[$11>>2]|0;
+ $$0 = $1;$$08 = $2;$677 = $$pre;$679 = $$pre23;$681 = $$pre24;$683 = $$pre25;$685 = $$pre26;$687 = $$pre27;$689 = $$pre28;$691 = $$pre29;
+ while(1) {
+ $27 = HEAP8[$$0>>0]|0;
+ $28 = $27&255;
+ $29 = $28 << 24;
+ $30 = ((($$0)) + 1|0);
+ $31 = HEAP8[$30>>0]|0;
+ $32 = $31&255;
+ $33 = $32 << 16;
+ $34 = $33 | $29;
+ $35 = ((($$0)) + 2|0);
+ $36 = HEAP8[$35>>0]|0;
+ $37 = $36&255;
+ $38 = $37 << 8;
+ $39 = $34 | $38;
+ $40 = ((($$0)) + 3|0);
+ $41 = HEAP8[$40>>0]|0;
+ $42 = $41&255;
+ $43 = $39 | $42;
+ HEAP32[$3>>2] = $43;
+ $44 = ((($$0)) + 4|0);
+ $45 = HEAP8[$44>>0]|0;
+ $46 = $45&255;
+ $47 = $46 << 24;
+ $48 = ((($$0)) + 5|0);
+ $49 = HEAP8[$48>>0]|0;
+ $50 = $49&255;
+ $51 = $50 << 16;
+ $52 = $51 | $47;
+ $53 = ((($$0)) + 6|0);
+ $54 = HEAP8[$53>>0]|0;
+ $55 = $54&255;
+ $56 = $55 << 8;
+ $57 = $52 | $56;
+ $58 = ((($$0)) + 7|0);
+ $59 = HEAP8[$58>>0]|0;
+ $60 = $59&255;
+ $61 = $57 | $60;
+ HEAP32[$12>>2] = $61;
+ $62 = ((($$0)) + 8|0);
+ $63 = HEAP8[$62>>0]|0;
+ $64 = $63&255;
+ $65 = $64 << 24;
+ $66 = ((($$0)) + 9|0);
+ $67 = HEAP8[$66>>0]|0;
+ $68 = $67&255;
+ $69 = $68 << 16;
+ $70 = $69 | $65;
+ $71 = ((($$0)) + 10|0);
+ $72 = HEAP8[$71>>0]|0;
+ $73 = $72&255;
+ $74 = $73 << 8;
+ $75 = $70 | $74;
+ $76 = ((($$0)) + 11|0);
+ $77 = HEAP8[$76>>0]|0;
+ $78 = $77&255;
+ $79 = $75 | $78;
+ HEAP32[$13>>2] = $79;
+ $80 = ((($$0)) + 12|0);
+ $81 = HEAP8[$80>>0]|0;
+ $82 = $81&255;
+ $83 = $82 << 24;
+ $84 = ((($$0)) + 13|0);
+ $85 = HEAP8[$84>>0]|0;
+ $86 = $85&255;
+ $87 = $86 << 16;
+ $88 = $87 | $83;
+ $89 = ((($$0)) + 14|0);
+ $90 = HEAP8[$89>>0]|0;
+ $91 = $90&255;
+ $92 = $91 << 8;
+ $93 = $88 | $92;
+ $94 = ((($$0)) + 15|0);
+ $95 = HEAP8[$94>>0]|0;
+ $96 = $95&255;
+ $97 = $93 | $96;
+ HEAP32[$14>>2] = $97;
+ $98 = ((($$0)) + 16|0);
+ $99 = HEAP8[$98>>0]|0;
+ $100 = $99&255;
+ $101 = $100 << 24;
+ $102 = ((($$0)) + 17|0);
+ $103 = HEAP8[$102>>0]|0;
+ $104 = $103&255;
+ $105 = $104 << 16;
+ $106 = $105 | $101;
+ $107 = ((($$0)) + 18|0);
+ $108 = HEAP8[$107>>0]|0;
+ $109 = $108&255;
+ $110 = $109 << 8;
+ $111 = $106 | $110;
+ $112 = ((($$0)) + 19|0);
+ $113 = HEAP8[$112>>0]|0;
+ $114 = $113&255;
+ $115 = $111 | $114;
+ HEAP32[$15>>2] = $115;
+ $116 = ((($$0)) + 20|0);
+ $117 = HEAP8[$116>>0]|0;
+ $118 = $117&255;
+ $119 = $118 << 24;
+ $120 = ((($$0)) + 21|0);
+ $121 = HEAP8[$120>>0]|0;
+ $122 = $121&255;
+ $123 = $122 << 16;
+ $124 = $123 | $119;
+ $125 = ((($$0)) + 22|0);
+ $126 = HEAP8[$125>>0]|0;
+ $127 = $126&255;
+ $128 = $127 << 8;
+ $129 = $124 | $128;
+ $130 = ((($$0)) + 23|0);
+ $131 = HEAP8[$130>>0]|0;
+ $132 = $131&255;
+ $133 = $129 | $132;
+ HEAP32[$16>>2] = $133;
+ $134 = ((($$0)) + 24|0);
+ $135 = HEAP8[$134>>0]|0;
+ $136 = $135&255;
+ $137 = $136 << 24;
+ $138 = ((($$0)) + 25|0);
+ $139 = HEAP8[$138>>0]|0;
+ $140 = $139&255;
+ $141 = $140 << 16;
+ $142 = $141 | $137;
+ $143 = ((($$0)) + 26|0);
+ $144 = HEAP8[$143>>0]|0;
+ $145 = $144&255;
+ $146 = $145 << 8;
+ $147 = $142 | $146;
+ $148 = ((($$0)) + 27|0);
+ $149 = HEAP8[$148>>0]|0;
+ $150 = $149&255;
+ $151 = $147 | $150;
+ HEAP32[$17>>2] = $151;
+ $152 = ((($$0)) + 28|0);
+ $153 = HEAP8[$152>>0]|0;
+ $154 = $153&255;
+ $155 = $154 << 24;
+ $156 = ((($$0)) + 29|0);
+ $157 = HEAP8[$156>>0]|0;
+ $158 = $157&255;
+ $159 = $158 << 16;
+ $160 = $159 | $155;
+ $161 = ((($$0)) + 30|0);
+ $162 = HEAP8[$161>>0]|0;
+ $163 = $162&255;
+ $164 = $163 << 8;
+ $165 = $160 | $164;
+ $166 = ((($$0)) + 31|0);
+ $167 = HEAP8[$166>>0]|0;
+ $168 = $167&255;
+ $169 = $165 | $168;
+ HEAP32[$18>>2] = $169;
+ $170 = ((($$0)) + 32|0);
+ $171 = HEAP8[$170>>0]|0;
+ $172 = $171&255;
+ $173 = $172 << 24;
+ $174 = ((($$0)) + 33|0);
+ $175 = HEAP8[$174>>0]|0;
+ $176 = $175&255;
+ $177 = $176 << 16;
+ $178 = $177 | $173;
+ $179 = ((($$0)) + 34|0);
+ $180 = HEAP8[$179>>0]|0;
+ $181 = $180&255;
+ $182 = $181 << 8;
+ $183 = $178 | $182;
+ $184 = ((($$0)) + 35|0);
+ $185 = HEAP8[$184>>0]|0;
+ $186 = $185&255;
+ $187 = $183 | $186;
+ HEAP32[$19>>2] = $187;
+ $188 = ((($$0)) + 36|0);
+ $189 = HEAP8[$188>>0]|0;
+ $190 = $189&255;
+ $191 = $190 << 24;
+ $192 = ((($$0)) + 37|0);
+ $193 = HEAP8[$192>>0]|0;
+ $194 = $193&255;
+ $195 = $194 << 16;
+ $196 = $195 | $191;
+ $197 = ((($$0)) + 38|0);
+ $198 = HEAP8[$197>>0]|0;
+ $199 = $198&255;
+ $200 = $199 << 8;
+ $201 = $196 | $200;
+ $202 = ((($$0)) + 39|0);
+ $203 = HEAP8[$202>>0]|0;
+ $204 = $203&255;
+ $205 = $201 | $204;
+ HEAP32[$20>>2] = $205;
+ $206 = ((($$0)) + 40|0);
+ $207 = HEAP8[$206>>0]|0;
+ $208 = $207&255;
+ $209 = $208 << 24;
+ $210 = ((($$0)) + 41|0);
+ $211 = HEAP8[$210>>0]|0;
+ $212 = $211&255;
+ $213 = $212 << 16;
+ $214 = $213 | $209;
+ $215 = ((($$0)) + 42|0);
+ $216 = HEAP8[$215>>0]|0;
+ $217 = $216&255;
+ $218 = $217 << 8;
+ $219 = $214 | $218;
+ $220 = ((($$0)) + 43|0);
+ $221 = HEAP8[$220>>0]|0;
+ $222 = $221&255;
+ $223 = $219 | $222;
+ HEAP32[$21>>2] = $223;
+ $224 = ((($$0)) + 44|0);
+ $225 = HEAP8[$224>>0]|0;
+ $226 = $225&255;
+ $227 = $226 << 24;
+ $228 = ((($$0)) + 45|0);
+ $229 = HEAP8[$228>>0]|0;
+ $230 = $229&255;
+ $231 = $230 << 16;
+ $232 = $231 | $227;
+ $233 = ((($$0)) + 46|0);
+ $234 = HEAP8[$233>>0]|0;
+ $235 = $234&255;
+ $236 = $235 << 8;
+ $237 = $232 | $236;
+ $238 = ((($$0)) + 47|0);
+ $239 = HEAP8[$238>>0]|0;
+ $240 = $239&255;
+ $241 = $237 | $240;
+ HEAP32[$22>>2] = $241;
+ $242 = ((($$0)) + 48|0);
+ $243 = HEAP8[$242>>0]|0;
+ $244 = $243&255;
+ $245 = $244 << 24;
+ $246 = ((($$0)) + 49|0);
+ $247 = HEAP8[$246>>0]|0;
+ $248 = $247&255;
+ $249 = $248 << 16;
+ $250 = $249 | $245;
+ $251 = ((($$0)) + 50|0);
+ $252 = HEAP8[$251>>0]|0;
+ $253 = $252&255;
+ $254 = $253 << 8;
+ $255 = $250 | $254;
+ $256 = ((($$0)) + 51|0);
+ $257 = HEAP8[$256>>0]|0;
+ $258 = $257&255;
+ $259 = $255 | $258;
+ HEAP32[$23>>2] = $259;
+ $260 = ((($$0)) + 52|0);
+ $261 = HEAP8[$260>>0]|0;
+ $262 = $261&255;
+ $263 = $262 << 24;
+ $264 = ((($$0)) + 53|0);
+ $265 = HEAP8[$264>>0]|0;
+ $266 = $265&255;
+ $267 = $266 << 16;
+ $268 = $267 | $263;
+ $269 = ((($$0)) + 54|0);
+ $270 = HEAP8[$269>>0]|0;
+ $271 = $270&255;
+ $272 = $271 << 8;
+ $273 = $268 | $272;
+ $274 = ((($$0)) + 55|0);
+ $275 = HEAP8[$274>>0]|0;
+ $276 = $275&255;
+ $277 = $273 | $276;
+ HEAP32[$24>>2] = $277;
+ $278 = ((($$0)) + 56|0);
+ $279 = HEAP8[$278>>0]|0;
+ $280 = $279&255;
+ $281 = $280 << 24;
+ $282 = ((($$0)) + 57|0);
+ $283 = HEAP8[$282>>0]|0;
+ $284 = $283&255;
+ $285 = $284 << 16;
+ $286 = $285 | $281;
+ $287 = ((($$0)) + 58|0);
+ $288 = HEAP8[$287>>0]|0;
+ $289 = $288&255;
+ $290 = $289 << 8;
+ $291 = $286 | $290;
+ $292 = ((($$0)) + 59|0);
+ $293 = HEAP8[$292>>0]|0;
+ $294 = $293&255;
+ $295 = $291 | $294;
+ HEAP32[$25>>2] = $295;
+ $296 = ((($$0)) + 60|0);
+ $297 = HEAP8[$296>>0]|0;
+ $298 = $297&255;
+ $299 = $298 << 24;
+ $300 = ((($$0)) + 61|0);
+ $301 = HEAP8[$300>>0]|0;
+ $302 = $301&255;
+ $303 = $302 << 16;
+ $304 = $303 | $299;
+ $305 = ((($$0)) + 62|0);
+ $306 = HEAP8[$305>>0]|0;
+ $307 = $306&255;
+ $308 = $307 << 8;
+ $309 = $304 | $308;
+ $310 = ((($$0)) + 63|0);
+ $311 = HEAP8[$310>>0]|0;
+ $312 = $311&255;
+ $313 = $309 | $312;
+ HEAP32[$26>>2] = $313;
+ $$110$i = 16;$342 = $43;
+ while(1) {
+ $314 = (($$110$i) + -2)|0;
+ $315 = (($3) + ($314<<2)|0);
+ $316 = HEAP32[$315>>2]|0;
+ $317 = $316 >>> 17;
+ $318 = $316 << 15;
+ $319 = $317 | $318;
+ $320 = $316 >>> 19;
+ $321 = $316 << 13;
+ $322 = $320 | $321;
+ $323 = $316 >>> 10;
+ $324 = $322 ^ $323;
+ $325 = $324 ^ $319;
+ $326 = (($$110$i) + -7)|0;
+ $327 = (($3) + ($326<<2)|0);
+ $328 = HEAP32[$327>>2]|0;
+ $329 = (($$110$i) + -15)|0;
+ $330 = (($3) + ($329<<2)|0);
+ $331 = HEAP32[$330>>2]|0;
+ $332 = $331 >>> 7;
+ $333 = $331 << 25;
+ $334 = $332 | $333;
+ $335 = $331 >>> 18;
+ $336 = $331 << 14;
+ $337 = $335 | $336;
+ $338 = $331 >>> 3;
+ $339 = $337 ^ $338;
+ $340 = $339 ^ $334;
+ $341 = (($328) + ($342))|0;
+ $343 = (($341) + ($325))|0;
+ $344 = (($343) + ($340))|0;
+ $345 = (($3) + ($$110$i<<2)|0);
+ HEAP32[$345>>2] = $344;
+ $346 = (($$110$i) + 1)|0;
+ $exitcond$i = ($346|0)==(64);
+ if ($exitcond$i) {
+ break;
+ } else {
+ $$110$i = $346;$342 = $331;
+ }
+ }
+ $$01858$i = $677;$$01867$i = $679;$$01876$i = $691;$$01885$i = $689;$$01894$i = $687;$$01903$i = $685;$$01912$i = $683;$$01921$i = $681;$$29$i = 0;
+ while(1) {
+ $347 = $$01903$i >>> 6;
+ $348 = $$01903$i << 26;
+ $349 = $347 | $348;
+ $350 = $$01903$i >>> 11;
+ $351 = $$01903$i << 21;
+ $352 = $350 | $351;
+ $353 = $349 ^ $352;
+ $354 = $$01903$i >>> 25;
+ $355 = $$01903$i << 7;
+ $356 = $354 | $355;
+ $357 = $353 ^ $356;
+ $358 = $$01894$i ^ $$01885$i;
+ $359 = $358 & $$01903$i;
+ $360 = $359 ^ $$01885$i;
+ $361 = (15440 + ($$29$i<<2)|0);
+ $362 = HEAP32[$361>>2]|0;
+ $363 = (($3) + ($$29$i<<2)|0);
+ $364 = HEAP32[$363>>2]|0;
+ $365 = (($360) + ($$01876$i))|0;
+ $366 = (($365) + ($362))|0;
+ $367 = (($366) + ($357))|0;
+ $368 = (($367) + ($364))|0;
+ $369 = $$01858$i >>> 2;
+ $370 = $$01858$i << 30;
+ $371 = $369 | $370;
+ $372 = $$01858$i >>> 13;
+ $373 = $$01858$i << 19;
+ $374 = $372 | $373;
+ $375 = $371 ^ $374;
+ $376 = $$01858$i >>> 22;
+ $377 = $$01858$i << 10;
+ $378 = $376 | $377;
+ $379 = $375 ^ $378;
+ $380 = $$01867$i & $$01858$i;
+ $381 = $$01867$i | $$01858$i;
+ $382 = $$01921$i & $381;
+ $383 = $382 | $380;
+ $384 = (($383) + ($379))|0;
+ $385 = (($368) + ($$01912$i))|0;
+ $386 = (($384) + ($368))|0;
+ $387 = $385 >>> 6;
+ $388 = $385 << 26;
+ $389 = $387 | $388;
+ $390 = $385 >>> 11;
+ $391 = $385 << 21;
+ $392 = $390 | $391;
+ $393 = $389 ^ $392;
+ $394 = $385 >>> 25;
+ $395 = $385 << 7;
+ $396 = $394 | $395;
+ $397 = $393 ^ $396;
+ $398 = $$01903$i ^ $$01894$i;
+ $399 = $385 & $398;
+ $400 = $399 ^ $$01894$i;
+ $401 = $$29$i | 1;
+ $402 = (15440 + ($401<<2)|0);
+ $403 = HEAP32[$402>>2]|0;
+ $404 = (($3) + ($401<<2)|0);
+ $405 = HEAP32[$404>>2]|0;
+ $406 = (($403) + ($$01885$i))|0;
+ $407 = (($406) + ($405))|0;
+ $408 = (($407) + ($400))|0;
+ $409 = (($408) + ($397))|0;
+ $410 = $386 >>> 2;
+ $411 = $386 << 30;
+ $412 = $410 | $411;
+ $413 = $386 >>> 13;
+ $414 = $386 << 19;
+ $415 = $413 | $414;
+ $416 = $412 ^ $415;
+ $417 = $386 >>> 22;
+ $418 = $386 << 10;
+ $419 = $417 | $418;
+ $420 = $416 ^ $419;
+ $421 = $386 & $$01858$i;
+ $422 = $386 | $$01858$i;
+ $423 = $422 & $$01867$i;
+ $424 = $423 | $421;
+ $425 = (($420) + ($424))|0;
+ $426 = (($409) + ($$01921$i))|0;
+ $427 = (($425) + ($409))|0;
+ $428 = $426 >>> 6;
+ $429 = $426 << 26;
+ $430 = $428 | $429;
+ $431 = $426 >>> 11;
+ $432 = $426 << 21;
+ $433 = $431 | $432;
+ $434 = $430 ^ $433;
+ $435 = $426 >>> 25;
+ $436 = $426 << 7;
+ $437 = $435 | $436;
+ $438 = $434 ^ $437;
+ $439 = $385 ^ $$01903$i;
+ $440 = $426 & $439;
+ $441 = $440 ^ $$01903$i;
+ $442 = $$29$i | 2;
+ $443 = (15440 + ($442<<2)|0);
+ $444 = HEAP32[$443>>2]|0;
+ $445 = (($3) + ($442<<2)|0);
+ $446 = HEAP32[$445>>2]|0;
+ $447 = (($444) + ($$01894$i))|0;
+ $448 = (($447) + ($446))|0;
+ $449 = (($448) + ($441))|0;
+ $450 = (($449) + ($438))|0;
+ $451 = $427 >>> 2;
+ $452 = $427 << 30;
+ $453 = $451 | $452;
+ $454 = $427 >>> 13;
+ $455 = $427 << 19;
+ $456 = $454 | $455;
+ $457 = $453 ^ $456;
+ $458 = $427 >>> 22;
+ $459 = $427 << 10;
+ $460 = $458 | $459;
+ $461 = $457 ^ $460;
+ $462 = $427 & $386;
+ $463 = $427 | $386;
+ $464 = $463 & $$01858$i;
+ $465 = $464 | $462;
+ $466 = (($461) + ($465))|0;
+ $467 = (($450) + ($$01867$i))|0;
+ $468 = (($466) + ($450))|0;
+ $469 = $467 >>> 6;
+ $470 = $467 << 26;
+ $471 = $469 | $470;
+ $472 = $467 >>> 11;
+ $473 = $467 << 21;
+ $474 = $472 | $473;
+ $475 = $471 ^ $474;
+ $476 = $467 >>> 25;
+ $477 = $467 << 7;
+ $478 = $476 | $477;
+ $479 = $475 ^ $478;
+ $480 = $426 ^ $385;
+ $481 = $467 & $480;
+ $482 = $481 ^ $385;
+ $483 = $$29$i | 3;
+ $484 = (15440 + ($483<<2)|0);
+ $485 = HEAP32[$484>>2]|0;
+ $486 = (($3) + ($483<<2)|0);
+ $487 = HEAP32[$486>>2]|0;
+ $488 = (($485) + ($$01903$i))|0;
+ $489 = (($488) + ($487))|0;
+ $490 = (($489) + ($482))|0;
+ $491 = (($490) + ($479))|0;
+ $492 = $468 >>> 2;
+ $493 = $468 << 30;
+ $494 = $492 | $493;
+ $495 = $468 >>> 13;
+ $496 = $468 << 19;
+ $497 = $495 | $496;
+ $498 = $494 ^ $497;
+ $499 = $468 >>> 22;
+ $500 = $468 << 10;
+ $501 = $499 | $500;
+ $502 = $498 ^ $501;
+ $503 = $468 & $427;
+ $504 = $468 | $427;
+ $505 = $504 & $386;
+ $506 = $505 | $503;
+ $507 = (($502) + ($506))|0;
+ $508 = (($491) + ($$01858$i))|0;
+ $509 = (($507) + ($491))|0;
+ $510 = $508 >>> 6;
+ $511 = $508 << 26;
+ $512 = $510 | $511;
+ $513 = $508 >>> 11;
+ $514 = $508 << 21;
+ $515 = $513 | $514;
+ $516 = $512 ^ $515;
+ $517 = $508 >>> 25;
+ $518 = $508 << 7;
+ $519 = $517 | $518;
+ $520 = $516 ^ $519;
+ $521 = $467 ^ $426;
+ $522 = $508 & $521;
+ $523 = $522 ^ $426;
+ $524 = $$29$i | 4;
+ $525 = (15440 + ($524<<2)|0);
+ $526 = HEAP32[$525>>2]|0;
+ $527 = (($3) + ($524<<2)|0);
+ $528 = HEAP32[$527>>2]|0;
+ $529 = (($526) + ($385))|0;
+ $530 = (($529) + ($528))|0;
+ $531 = (($530) + ($523))|0;
+ $532 = (($531) + ($520))|0;
+ $533 = $509 >>> 2;
+ $534 = $509 << 30;
+ $535 = $533 | $534;
+ $536 = $509 >>> 13;
+ $537 = $509 << 19;
+ $538 = $536 | $537;
+ $539 = $535 ^ $538;
+ $540 = $509 >>> 22;
+ $541 = $509 << 10;
+ $542 = $540 | $541;
+ $543 = $539 ^ $542;
+ $544 = $509 & $468;
+ $545 = $509 | $468;
+ $546 = $545 & $427;
+ $547 = $546 | $544;
+ $548 = (($543) + ($547))|0;
+ $549 = (($532) + ($386))|0;
+ $550 = (($548) + ($532))|0;
+ $551 = $549 >>> 6;
+ $552 = $549 << 26;
+ $553 = $551 | $552;
+ $554 = $549 >>> 11;
+ $555 = $549 << 21;
+ $556 = $554 | $555;
+ $557 = $553 ^ $556;
+ $558 = $549 >>> 25;
+ $559 = $549 << 7;
+ $560 = $558 | $559;
+ $561 = $557 ^ $560;
+ $562 = $508 ^ $467;
+ $563 = $549 & $562;
+ $564 = $563 ^ $467;
+ $565 = $$29$i | 5;
+ $566 = (15440 + ($565<<2)|0);
+ $567 = HEAP32[$566>>2]|0;
+ $568 = (($3) + ($565<<2)|0);
+ $569 = HEAP32[$568>>2]|0;
+ $570 = (($569) + ($567))|0;
+ $571 = (($570) + ($426))|0;
+ $572 = (($571) + ($564))|0;
+ $573 = (($572) + ($561))|0;
+ $574 = $550 >>> 2;
+ $575 = $550 << 30;
+ $576 = $574 | $575;
+ $577 = $550 >>> 13;
+ $578 = $550 << 19;
+ $579 = $577 | $578;
+ $580 = $576 ^ $579;
+ $581 = $550 >>> 22;
+ $582 = $550 << 10;
+ $583 = $581 | $582;
+ $584 = $580 ^ $583;
+ $585 = $550 & $509;
+ $586 = $550 | $509;
+ $587 = $586 & $468;
+ $588 = $587 | $585;
+ $589 = (($584) + ($588))|0;
+ $590 = (($573) + ($427))|0;
+ $591 = (($589) + ($573))|0;
+ $592 = $590 >>> 6;
+ $593 = $590 << 26;
+ $594 = $592 | $593;
+ $595 = $590 >>> 11;
+ $596 = $590 << 21;
+ $597 = $595 | $596;
+ $598 = $594 ^ $597;
+ $599 = $590 >>> 25;
+ $600 = $590 << 7;
+ $601 = $599 | $600;
+ $602 = $598 ^ $601;
+ $603 = $549 ^ $508;
+ $604 = $590 & $603;
+ $605 = $604 ^ $508;
+ $606 = $$29$i | 6;
+ $607 = (15440 + ($606<<2)|0);
+ $608 = HEAP32[$607>>2]|0;
+ $609 = (($3) + ($606<<2)|0);
+ $610 = HEAP32[$609>>2]|0;
+ $611 = (($610) + ($608))|0;
+ $612 = (($611) + ($467))|0;
+ $613 = (($612) + ($605))|0;
+ $614 = (($613) + ($602))|0;
+ $615 = $591 >>> 2;
+ $616 = $591 << 30;
+ $617 = $615 | $616;
+ $618 = $591 >>> 13;
+ $619 = $591 << 19;
+ $620 = $618 | $619;
+ $621 = $617 ^ $620;
+ $622 = $591 >>> 22;
+ $623 = $591 << 10;
+ $624 = $622 | $623;
+ $625 = $621 ^ $624;
+ $626 = $591 & $550;
+ $627 = $591 | $550;
+ $628 = $627 & $509;
+ $629 = $628 | $626;
+ $630 = (($625) + ($629))|0;
+ $631 = (($614) + ($468))|0;
+ $632 = (($630) + ($614))|0;
+ $633 = $631 >>> 6;
+ $634 = $631 << 26;
+ $635 = $633 | $634;
+ $636 = $631 >>> 11;
+ $637 = $631 << 21;
+ $638 = $636 | $637;
+ $639 = $635 ^ $638;
+ $640 = $631 >>> 25;
+ $641 = $631 << 7;
+ $642 = $640 | $641;
+ $643 = $639 ^ $642;
+ $644 = $590 ^ $549;
+ $645 = $631 & $644;
+ $646 = $645 ^ $549;
+ $647 = $$29$i | 7;
+ $648 = (15440 + ($647<<2)|0);
+ $649 = HEAP32[$648>>2]|0;
+ $650 = (($3) + ($647<<2)|0);
+ $651 = HEAP32[$650>>2]|0;
+ $652 = (($651) + ($649))|0;
+ $653 = (($652) + ($508))|0;
+ $654 = (($653) + ($646))|0;
+ $655 = (($654) + ($643))|0;
+ $656 = $632 >>> 2;
+ $657 = $632 << 30;
+ $658 = $656 | $657;
+ $659 = $632 >>> 13;
+ $660 = $632 << 19;
+ $661 = $659 | $660;
+ $662 = $658 ^ $661;
+ $663 = $632 >>> 22;
+ $664 = $632 << 10;
+ $665 = $663 | $664;
+ $666 = $662 ^ $665;
+ $667 = $632 & $591;
+ $668 = $632 | $591;
+ $669 = $668 & $550;
+ $670 = $669 | $667;
+ $671 = (($666) + ($670))|0;
+ $672 = (($655) + ($509))|0;
+ $673 = (($671) + ($655))|0;
+ $674 = (($$29$i) + 8)|0;
+ $675 = ($674>>>0)<(64);
+ if ($675) {
+ $$01858$i = $673;$$01867$i = $632;$$01876$i = $549;$$01885$i = $590;$$01894$i = $631;$$01903$i = $672;$$01912$i = $550;$$01921$i = $591;$$29$i = $674;
+ } else {
+ break;
+ }
+ }
+ $676 = (($673) + ($677))|0;
+ HEAP32[$4>>2] = $676;
+ $678 = (($632) + ($679))|0;
+ HEAP32[$5>>2] = $678;
+ $680 = (($591) + ($681))|0;
+ HEAP32[$6>>2] = $680;
+ $682 = (($550) + ($683))|0;
+ HEAP32[$7>>2] = $682;
+ $684 = (($672) + ($685))|0;
+ HEAP32[$8>>2] = $684;
+ $686 = (($631) + ($687))|0;
+ HEAP32[$9>>2] = $686;
+ $688 = (($590) + ($689))|0;
+ HEAP32[$10>>2] = $688;
+ $690 = (($549) + ($691))|0;
+ HEAP32[$11>>2] = $690;
+ $692 = ((($$0)) + 64|0);
+ $693 = (($$08) + -1)|0;
+ $694 = ($693|0)==(0);
+ if ($694) {
+ break;
+ } else {
+ $$0 = $692;$$08 = $693;$677 = $676;$679 = $678;$681 = $680;$683 = $682;$685 = $684;$687 = $686;$689 = $688;$691 = $690;
+ }
+ }
+ STACKTOP = sp;return 328;
+}
+function _sha256_init($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $2 = ((($0)) + 160|0);
+ HEAP32[$2>>2] = 1779033703;
+ $3 = ((($0)) + 164|0);
+ HEAP32[$3>>2] = -1150833019;
+ $4 = ((($0)) + 168|0);
+ HEAP32[$4>>2] = 1013904242;
+ $5 = ((($0)) + 172|0);
+ HEAP32[$5>>2] = -1521486534;
+ $6 = ((($0)) + 176|0);
+ HEAP32[$6>>2] = 1359893119;
+ $7 = ((($0)) + 180|0);
+ HEAP32[$7>>2] = -1694144372;
+ $8 = ((($0)) + 184|0);
+ HEAP32[$8>>2] = 528734635;
+ $9 = ((($0)) + 188|0);
+ HEAP32[$9>>2] = 1541459225;
+ $10 = ((($0)) + 128|0);
+ $11 = ((($0)) + 148|0);
+ ;HEAP32[$10>>2]=0|0;HEAP32[$10+4>>2]=0|0;HEAP32[$10+8>>2]=0|0;HEAP32[$10+12>>2]=0|0;HEAP32[$10+16>>2]=0|0;
+ HEAP32[$11>>2] = 64;
+ $12 = ((($0)) + 152|0);
+ HEAP32[$12>>2] = 79;
+ return;
+}
+function _sha512_init($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
+ var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $5 = 0, $6 = 0;
+ var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $2 = ((($0)) + 160|0);
+ $3 = $2;
+ $4 = $3;
+ HEAP32[$4>>2] = -205731576;
+ $5 = (($3) + 4)|0;
+ $6 = $5;
+ HEAP32[$6>>2] = 1779033703;
+ $7 = ((($0)) + 168|0);
+ $8 = $7;
+ $9 = $8;
+ HEAP32[$9>>2] = -2067093701;
+ $10 = (($8) + 4)|0;
+ $11 = $10;
+ HEAP32[$11>>2] = -1150833019;
+ $12 = ((($0)) + 176|0);
+ $13 = $12;
+ $14 = $13;
+ HEAP32[$14>>2] = -23791573;
+ $15 = (($13) + 4)|0;
+ $16 = $15;
+ HEAP32[$16>>2] = 1013904242;
+ $17 = ((($0)) + 184|0);
+ $18 = $17;
+ $19 = $18;
+ HEAP32[$19>>2] = 1595750129;
+ $20 = (($18) + 4)|0;
+ $21 = $20;
+ HEAP32[$21>>2] = -1521486534;
+ $22 = ((($0)) + 192|0);
+ $23 = $22;
+ $24 = $23;
+ HEAP32[$24>>2] = -1377402159;
+ $25 = (($23) + 4)|0;
+ $26 = $25;
+ HEAP32[$26>>2] = 1359893119;
+ $27 = ((($0)) + 200|0);
+ $28 = $27;
+ $29 = $28;
+ HEAP32[$29>>2] = 725511199;
+ $30 = (($28) + 4)|0;
+ $31 = $30;
+ HEAP32[$31>>2] = -1694144372;
+ $32 = ((($0)) + 208|0);
+ $33 = $32;
+ $34 = $33;
+ HEAP32[$34>>2] = -79577749;
+ $35 = (($33) + 4)|0;
+ $36 = $35;
+ HEAP32[$36>>2] = 528734635;
+ $37 = ((($0)) + 216|0);
+ $38 = $37;
+ $39 = $38;
+ HEAP32[$39>>2] = 327033209;
+ $40 = (($38) + 4)|0;
+ $41 = $40;
+ HEAP32[$41>>2] = 1541459225;
+ $42 = ((($0)) + 128|0);
+ $43 = ((($0)) + 148|0);
+ ;HEAP32[$42>>2]=0|0;HEAP32[$42+4>>2]=0|0;HEAP32[$42+8>>2]=0|0;HEAP32[$42+12>>2]=0|0;HEAP32[$42+16>>2]=0|0;
+ HEAP32[$43>>2] = 128;
+ $44 = ((($0)) + 152|0);
+ HEAP32[$44>>2] = 80;
+ return;
+}
+function _sha512_final($0) {
+ $0 = $0|0;
+ var $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, $116 = 0;
+ var $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, $134 = 0;
+ var $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, $152 = 0;
+ var $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, $170 = 0;
+ var $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, $189 = 0;
+ var $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, $206 = 0;
+ var $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, $224 = 0;
+ var $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, $242 = 0;
+ var $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, $260 = 0;
+ var $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, $279 = 0;
+ var $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, $297 = 0;
+ var $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, $314 = 0;
+ var $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, $332 = 0;
+ var $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, $350 = 0;
+ var $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0;
+ var $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, $387 = 0;
+ var $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
+ var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0;
+ var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0;
+ var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, dest = 0, label = 0, sp = 0;
+ var stop = 0;
+ sp = STACKTOP;
+ __gcry_md_block_write($0,0,0);
+ $1 = ((($0)) + 128|0);
+ $2 = $1;
+ $3 = $2;
+ $4 = HEAP32[$3>>2]|0;
+ $5 = (($2) + 4)|0;
+ $6 = $5;
+ $7 = HEAP32[$6>>2]|0;
+ $8 = ((($0)) + 136|0);
+ $9 = $8;
+ $10 = $9;
+ $11 = HEAP32[$10>>2]|0;
+ $12 = (($9) + 4)|0;
+ $13 = $12;
+ $14 = HEAP32[$13>>2]|0;
+ $15 = (_bitshift64Shl(($4|0),($7|0),7)|0);
+ $16 = tempRet0;
+ $17 = (_bitshift64Shl(($11|0),($14|0),7)|0);
+ $18 = tempRet0;
+ $19 = (_bitshift64Lshr(($4|0),($7|0),57)|0);
+ $20 = tempRet0;
+ $21 = $17 | $19;
+ $22 = $18 | $20;
+ $23 = ((($0)) + 144|0);
+ $24 = HEAP32[$23>>2]|0;
+ $25 = ($24|0)<(0);
+ $26 = $25 << 31 >> 31;
+ $27 = (_i64Add(($15|0),($16|0),($24|0),($26|0))|0);
+ $28 = tempRet0;
+ $29 = ($28>>>0)<($16>>>0);
+ $30 = ($27>>>0)<($15>>>0);
+ $31 = ($28|0)==($16|0);
+ $32 = $31 & $30;
+ $33 = $29 | $32;
+ $34 = $33&1;
+ $35 = (_i64Add(($21|0),($22|0),($34|0),0)|0);
+ $36 = tempRet0;
+ $37 = (_bitshift64Shl(($35|0),($36|0),3)|0);
+ $38 = tempRet0;
+ $39 = (_bitshift64Lshr(($27|0),($28|0),61)|0);
+ $40 = tempRet0;
+ $41 = $37 | $39;
+ $38 | $40;
+ $42 = ($24|0)<(112);
+ $43 = (($24) + 1)|0;
+ HEAP32[$23>>2] = $43;
+ $44 = (($0) + ($24)|0);
+ HEAP8[$44>>0] = -128;
+ $45 = HEAP32[$23>>2]|0;
+ if ($42) {
+ $46 = ($45|0)<(112);
+ if ($46) {
+ $48 = $45;
+ while(1) {
+ $47 = (($48) + 1)|0;
+ HEAP32[$23>>2] = $47;
+ $49 = (($0) + ($48)|0);
+ HEAP8[$49>>0] = 0;
+ $50 = HEAP32[$23>>2]|0;
+ $51 = ($50|0)<(112);
+ if ($51) {
+ $48 = $50;
+ } else {
+ break;
+ }
+ }
+ }
+ } else {
+ $52 = ($45|0)<(128);
+ if ($52) {
+ $54 = $45;
+ while(1) {
+ $53 = (($54) + 1)|0;
+ HEAP32[$23>>2] = $53;
+ $55 = (($0) + ($54)|0);
+ HEAP8[$55>>0] = 0;
+ $56 = HEAP32[$23>>2]|0;
+ $57 = ($56|0)<(128);
+ if ($57) {
+ $54 = $56;
+ } else {
+ break;
+ }
+ }
+ }
+ __gcry_md_block_write($0,0,0);
+ dest=$0; stop=dest+112|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
+ }
+ $58 = ((($0)) + 112|0);
+ $59 = (_bitshift64Lshr(($35|0),($36|0),53)|0);
+ $60 = tempRet0;
+ $61 = $59&255;
+ HEAP8[$58>>0] = $61;
+ $62 = (_bitshift64Lshr(($35|0),($36|0),45)|0);
+ $63 = tempRet0;
+ $64 = $62&255;
+ $65 = ((($0)) + 113|0);
+ HEAP8[$65>>0] = $64;
+ $66 = (_bitshift64Lshr(($35|0),($36|0),37)|0);
+ $67 = tempRet0;
+ $68 = $66&255;
+ $69 = ((($0)) + 114|0);
+ HEAP8[$69>>0] = $68;
+ $70 = (_bitshift64Lshr(($35|0),($36|0),29)|0);
+ $71 = tempRet0;
+ $72 = $70&255;
+ $73 = ((($0)) + 115|0);
+ HEAP8[$73>>0] = $72;
+ $74 = (_bitshift64Lshr(($35|0),($36|0),21)|0);
+ $75 = tempRet0;
+ $76 = $74&255;
+ $77 = ((($0)) + 116|0);
+ HEAP8[$77>>0] = $76;
+ $78 = (_bitshift64Lshr(($35|0),($36|0),13)|0);
+ $79 = tempRet0;
+ $80 = $78&255;
+ $81 = ((($0)) + 117|0);
+ HEAP8[$81>>0] = $80;
+ $82 = (_bitshift64Lshr(($35|0),($36|0),5)|0);
+ $83 = tempRet0;
+ $84 = $82&255;
+ $85 = ((($0)) + 118|0);
+ HEAP8[$85>>0] = $84;
+ $86 = $41&255;
+ $87 = ((($0)) + 119|0);
+ HEAP8[$87>>0] = $86;
+ $88 = ((($0)) + 120|0);
+ $89 = (_bitshift64Lshr(($27|0),($28|0),53)|0);
+ $90 = tempRet0;
+ $91 = $89&255;
+ HEAP8[$88>>0] = $91;
+ $92 = (_bitshift64Lshr(($27|0),($28|0),45)|0);
+ $93 = tempRet0;
+ $94 = $92&255;
+ $95 = ((($0)) + 121|0);
+ HEAP8[$95>>0] = $94;
+ $96 = (_bitshift64Lshr(($27|0),($28|0),37)|0);
+ $97 = tempRet0;
+ $98 = $96&255;
+ $99 = ((($0)) + 122|0);
+ HEAP8[$99>>0] = $98;
+ $100 = (_bitshift64Lshr(($27|0),($28|0),29)|0);
+ $101 = tempRet0;
+ $102 = $100&255;
+ $103 = ((($0)) + 123|0);
+ HEAP8[$103>>0] = $102;
+ $104 = (_bitshift64Lshr(($27|0),($28|0),21)|0);
+ $105 = tempRet0;
+ $106 = $104&255;
+ $107 = ((($0)) + 124|0);
+ HEAP8[$107>>0] = $106;
+ $108 = (_bitshift64Lshr(($27|0),($28|0),13)|0);
+ $109 = tempRet0;
+ $110 = $108&255;
+ $111 = ((($0)) + 125|0);
+ HEAP8[$111>>0] = $110;
+ $112 = (_bitshift64Lshr(($27|0),($28|0),5)|0);
+ $113 = tempRet0;
+ $114 = $112&255;
+ $115 = ((($0)) + 126|0);
+ HEAP8[$115>>0] = $114;
+ $116 = $27&255;
+ $117 = ($116 << 3)&255;
+ $118 = ((($0)) + 127|0);
+ HEAP8[$118>>0] = $117;
+ (_transform_1368($0,$0,1)|0);
+ ___gcry_burn_stack(220);
+ $119 = ((($0)) + 160|0);
+ $120 = $119;
+ $121 = $120;
+ $122 = HEAP32[$121>>2]|0;
+ $123 = (($120) + 4)|0;
+ $124 = $123;
+ $125 = HEAP32[$124>>2]|0;
+ $126 = (_bitshift64Lshr(($122|0),($125|0),56)|0);
+ $127 = tempRet0;
+ $128 = $126&255;
+ HEAP8[$0>>0] = $128;
+ $129 = (_bitshift64Lshr(($122|0),($125|0),48)|0);
+ $130 = tempRet0;
+ $131 = $129&255;
+ $132 = ((($0)) + 1|0);
+ HEAP8[$132>>0] = $131;
+ $133 = (_bitshift64Lshr(($122|0),($125|0),40)|0);
+ $134 = tempRet0;
+ $135 = $133&255;
+ $136 = ((($0)) + 2|0);
+ HEAP8[$136>>0] = $135;
+ $137 = $125&255;
+ $138 = ((($0)) + 3|0);
+ HEAP8[$138>>0] = $137;
+ $139 = (_bitshift64Lshr(($122|0),($125|0),24)|0);
+ $140 = tempRet0;
+ $141 = $139&255;
+ $142 = ((($0)) + 4|0);
+ HEAP8[$142>>0] = $141;
+ $143 = (_bitshift64Lshr(($122|0),($125|0),16)|0);
+ $144 = tempRet0;
+ $145 = $143&255;
+ $146 = ((($0)) + 5|0);
+ HEAP8[$146>>0] = $145;
+ $147 = (_bitshift64Lshr(($122|0),($125|0),8)|0);
+ $148 = tempRet0;
+ $149 = $147&255;
+ $150 = ((($0)) + 6|0);
+ HEAP8[$150>>0] = $149;
+ $151 = $122&255;
+ $152 = ((($0)) + 7|0);
+ HEAP8[$152>>0] = $151;
+ $153 = ((($0)) + 8|0);
+ $154 = ((($0)) + 168|0);
+ $155 = $154;
+ $156 = $155;
+ $157 = HEAP32[$156>>2]|0;
+ $158 = (($155) + 4)|0;
+ $159 = $158;
+ $160 = HEAP32[$159>>2]|0;
+ $161 = (_bitshift64Lshr(($157|0),($160|0),56)|0);
+ $162 = tempRet0;
+ $163 = $161&255;
+ HEAP8[$153>>0] = $163;
+ $164 = (_bitshift64Lshr(($157|0),($160|0),48)|0);
+ $165 = tempRet0;
+ $166 = $164&255;
+ $167 = ((($0)) + 9|0);
+ HEAP8[$167>>0] = $166;
+ $168 = (_bitshift64Lshr(($157|0),($160|0),40)|0);
+ $169 = tempRet0;
+ $170 = $168&255;
+ $171 = ((($0)) + 10|0);
+ HEAP8[$171>>0] = $170;
+ $172 = $160&255;
+ $173 = ((($0)) + 11|0);
+ HEAP8[$173>>0] = $172;
+ $174 = (_bitshift64Lshr(($157|0),($160|0),24)|0);
+ $175 = tempRet0;
+ $176 = $174&255;
+ $177 = ((($0)) + 12|0);
+ HEAP8[$177>>0] = $176;
+ $178 = (_bitshift64Lshr(($157|0),($160|0),16)|0);
+ $179 = tempRet0;
+ $180 = $178&255;
+ $181 = ((($0)) + 13|0);
+ HEAP8[$181>>0] = $180;
+ $182 = (_bitshift64Lshr(($157|0),($160|0),8)|0);
+ $183 = tempRet0;
+ $184 = $182&255;
+ $185 = ((($0)) + 14|0);
+ HEAP8[$185>>0] = $184;
+ $186 = $157&255;
+ $187 = ((($0)) + 15|0);
+ HEAP8[$187>>0] = $186;
+ $188 = ((($0)) + 16|0);
+ $189 = ((($0)) + 176|0);
+ $190 = $189;
+ $191 = $190;
+ $192 = HEAP32[$191>>2]|0;
+ $193 = (($190) + 4)|0;
+ $194 = $193;
+ $195 = HEAP32[$194>>2]|0;
+ $196 = (_bitshift64Lshr(($192|0),($195|0),56)|0);
+ $197 = tempRet0;
+ $198 = $196&255;
+ HEAP8[$188>>0] = $198;
+ $199 = (_bitshift64Lshr(($192|0),($195|0),48)|0);
+ $200 = tempRet0;
+ $201 = $199&255;
+ $202 = ((($0)) + 17|0);
+ HEAP8[$202>>0] = $201;
+ $203 = (_bitshift64Lshr(($192|0),($195|0),40)|0);
+ $204 = tempRet0;
+ $205 = $203&255;
+ $206 = ((($0)) + 18|0);
+ HEAP8[$206>>0] = $205;
+ $207 = $195&255;
+ $208 = ((($0)) + 19|0);
+ HEAP8[$208>>0] = $207;
+ $209 = (_bitshift64Lshr(($192|0),($195|0),24)|0);
+ $210 = tempRet0;
+ $211 = $209&255;
+ $212 = ((($0)) + 20|0);
+ HEAP8[$212>>0] = $211;
+ $213 = (_bitshift64Lshr(($192|0),($195|0),16)|0);
+ $214 = tempRet0;
+ $215 = $213&255;
+ $216 = ((($0)) + 21|0);
+ HEAP8[$216>>0] = $215;
+ $217 = (_bitshift64Lshr(($192|0),($195|0),8)|0);
+ $218 = tempRet0;
+ $219 = $217&255;
+ $220 = ((($0)) + 22|0);
+ HEAP8[$220>>0] = $219;
+ $221 = $192&255;
+ $222 = ((($0)) + 23|0);
+ HEAP8[$222>>0] = $221;
+ $223 = ((($0)) + 24|0);
+ $224 = ((($0)) + 184|0);
+ $225 = $224;
+ $226 = $225;
+ $227 = HEAP32[$226>>2]|0;
+ $228 = (($225) + 4)|0;
+ $229 = $228;
+ $230 = HEAP32[$229>>2]|0;
+ $231 = (_bitshift64Lshr(($227|0),($230|0),56)|0);
+ $232 = tempRet0;
+ $233 = $231&255;
+ HEAP8[$223>>0] = $233;
+ $234 = (_bitshift64Lshr(($227|0),($230|0),48)|0);
+ $235 = tempRet0;
+ $236 = $234&255;
+ $237 = ((($0)) + 25|0);
+ HEAP8[$237>>0] = $236;
+ $238 = (_bitshift64Lshr(($227|0),($230|0),40)|0);
+ $239 = tempRet0;
+ $240 = $238&255;
+ $241 = ((($0)) + 26|0);
+ HEAP8[$241>>0] = $240;
+ $242 = $230&255;
+ $243 = ((($0)) + 27|0);
+ HEAP8[$243>>0] = $242;
+ $244 = (_bitshift64Lshr(($227|0),($230|0),24)|0);
+ $245 = tempRet0;
+ $246 = $244&255;
+ $247 = ((($0)) + 28|0);
+ HEAP8[$247>>0] = $246;
+ $248 = (_bitshift64Lshr(($227|0),($230|0),16)|0);
+ $249 = tempRet0;
+ $250 = $248&255;
+ $251 = ((($0)) + 29|0);
+ HEAP8[$251>>0] = $250;
+ $252 = (_bitshift64Lshr(($227|0),($230|0),8)|0);
+ $253 = tempRet0;
+ $254 = $252&255;
+ $255 = ((($0)) + 30|0);
+ HEAP8[$255>>0] = $254;
+ $256 = $227&255;
+ $257 = ((($0)) + 31|0);
+ HEAP8[$257>>0] = $256;
+ $258 = ((($0)) + 32|0);
+ $259 = ((($0)) + 192|0);
+ $260 = $259;
+ $261 = $260;
+ $262 = HEAP32[$261>>2]|0;
+ $263 = (($260) + 4)|0;
+ $264 = $263;
+ $265 = HEAP32[$264>>2]|0;
+ $266 = (_bitshift64Lshr(($262|0),($265|0),56)|0);
+ $267 = tempRet0;
+ $268 = $266&255;
+ HEAP8[$258>>0] = $268;
+ $269 = (_bitshift64Lshr(($262|0),($265|0),48)|0);
+ $270 = tempRet0;
+ $271 = $269&255;
+ $272 = ((($0)) + 33|0);
+ HEAP8[$272>>0] = $271;
+ $273 = (_bitshift64Lshr(($262|0),($265|0),40)|0);
+ $274 = tempRet0;
+ $275 = $273&255;
+ $276 = ((($0)) + 34|0);
+ HEAP8[$276>>0] = $275;
+ $277 = $265&255;
+ $278 = ((($0)) + 35|0);
+ HEAP8[$278>>0] = $277;
+ $279 = (_bitshift64Lshr(($262|0),($265|0),24)|0);
+ $280 = tempRet0;
+ $281 = $279&255;
+ $282 = ((($0)) + 36|0);
+ HEAP8[$282>>0] = $281;
+ $283 = (_bitshift64Lshr(($262|0),($265|0),16)|0);
+ $284 = tempRet0;
+ $285 = $283&255;
+ $286 = ((($0)) + 37|0);
+ HEAP8[$286>>0] = $285;
+ $287 = (_bitshift64Lshr(($262|0),($265|0),8)|0);
+ $288 = tempRet0;
+ $289 = $287&255;
+ $290 = ((($0)) + 38|0);
+ HEAP8[$290>>0] = $289;
+ $291 = $262&255;
+ $292 = ((($0)) + 39|0);
+ HEAP8[$292>>0] = $291;
+ $293 = ((($0)) + 40|0);
+ $294 = ((($0)) + 200|0);
+ $295 = $294;
+ $296 = $295;
+ $297 = HEAP32[$296>>2]|0;
+ $298 = (($295) + 4)|0;
+ $299 = $298;
+ $300 = HEAP32[$299>>2]|0;
+ $301 = (_bitshift64Lshr(($297|0),($300|0),56)|0);
+ $302 = tempRet0;
+ $303 = $301&255;
+ HEAP8[$293>>0] = $303;
+ $304 = (_bitshift64Lshr(($297|0),($300|0),48)|0);
+ $305 = tempRet0;
+ $306 = $304&255;
+ $307 = ((($0)) + 41|0);
+ HEAP8[$307>>0] = $306;
+ $308 = (_bitshift64Lshr(($297|0),($300|0),40)|0);
+ $309 = tempRet0;
+ $310 = $308&255;
+ $311 = ((($0)) + 42|0);
+ HEAP8[$311>>0] = $310;
+ $312 = $300&255;
+ $313 = ((($0)) + 43|0);
+ HEAP8[$313>>0] = $312;
+ $314 = (_bitshift64Lshr(($297|0),($300|0),24)|0);
+ $315 = tempRet0;
+ $316 = $314&255;
+ $317 = ((($0)) + 44|0);
+ HEAP8[$317>>0] = $316;
+ $318 = (_bitshift64Lshr(($297|0),($300|0),16)|0);
+ $319 = tempRet0;
+ $320 = $318&255;
+ $321 = ((($0)) + 45|0);
+ HEAP8[$321>>0] = $320;
+ $322 = (_bitshift64Lshr(($297|0),($300|0),8)|0);
+ $323 = tempRet0;
+ $324 = $322&255;
+ $325 = ((($0)) + 46|0);
+ HEAP8[$325>>0] = $324;
+ $326 = $297&255;
+ $327 = ((($0)) + 47|0);
+ HEAP8[$327>>0] = $326;
+ $328 = ((($0)) + 48|0);
+ $329 = ((($0)) + 208|0);
+ $330 = $329;
+ $331 = $330;
+ $332 = HEAP32[$331>>2]|0;
+ $333 = (($330) + 4)|0;
+ $334 = $333;
+ $335 = HEAP32[$334>>2]|0;
+ $336 = (_bitshift64Lshr(($332|0),($335|0),56)|0);
+ $337 = tempRet0;
+ $338 = $336&255;
+ HEAP8[$328>>0] = $338;
+ $339 = (_bitshift64Lshr(($332|0),($335|0),48)|0);
+ $340 = tempRet0;
+ $341 = $339&255;
+ $342 = ((($0)) + 49|0);
+ HEAP8[$342>>0] = $341;
+ $343 = (_bitshift64Lshr(($332|0),($335|0),40)|0);
+ $344 = tempRet0;
+ $345 = $343&255;
+ $346 = ((($0)) + 50|0);
+ HEAP8[$346>>0] = $345;
+ $347 = $335&255;
+ $348 = ((($0)) + 51|0);
+ HEAP8[$348>>0] = $347;
+ $349 = (_bitshift64Lshr(($332|0),($335|0),24)|0);
+ $350 = tempRet0;
+ $351 = $349&255;
+ $352 = ((($0)) + 52|0);
+ HEAP8[$352>>0] = $351;
+ $353 = (_bitshift64Lshr(($332|0),($335|0),16)|0);
+ $354 = tempRet0;
+ $355 = $353&255;
+ $356 = ((($0)) + 53|0);
+ HEAP8[$356>>0] = $355;
+ $357 = (_bitshift64Lshr(($332|0),($335|0),8)|0);
+ $358 = tempRet0;
+ $359 = $357&255;
+ $360 = ((($0)) + 54|0);
+ HEAP8[$360>>0] = $359;
+ $361 = $332&255;
+ $362 = ((($0)) + 55|0);
+ HEAP8[$362>>0] = $361;
+ $363 = ((($0)) + 56|0);
+ $364 = ((($0)) + 216|0);
+ $365 = $364;
+ $366 = $365;
+ $367 = HEAP32[$366>>2]|0;
+ $368 = (($365) + 4)|0;
+ $369 = $368;
+ $370 = HEAP32[$369>>2]|0;
+ $371 = (_bitshift64Lshr(($367|0),($370|0),56)|0);
+ $372 = tempRet0;
+ $373 = $371&255;
+ HEAP8[$363>>0] = $373;
+ $374 = (_bitshift64Lshr(($367|0),($370|0),48)|0);
+ $375 = tempRet0;
+ $376 = $374&255;
+ $377 = ((($0)) + 57|0);
+ HEAP8[$377>>0] = $376;
+ $378 = (_bitshift64Lshr(($367|0),($370|0),40)|0);
+ $379 = tempRet0;
+ $380 = $378&255;
+ $381 = ((($0)) + 58|0);
+ HEAP8[$381>>0] = $380;
+ $382 = $370&255;
+ $383 = ((($0)) + 59|0);
+ HEAP8[$383>>0] = $382;
+ $384 = (_bitshift64Lshr(($367|0),($370|0),24)|0);
+ $385 = tempRet0;
+ $386 = $384&255;
+ $387 = ((($0)) + 60|0);
+ HEAP8[$387>>0] = $386;
+ $388 = (_bitshift64Lshr(($367|0),($370|0),16)|0);
+ $389 = tempRet0;
+ $390 = $388&255;
+ $391 = ((($0)) + 61|0);
+ HEAP8[$391>>0] = $390;
+ $392 = (_bitshift64Lshr(($367|0),($370|0),8)|0);
+ $393 = tempRet0;
+ $394 = $392&255;
+ $395 = ((($0)) + 62|0);
+ HEAP8[$395>>0] = $394;
+ $396 = $367&255;
+ $397 = ((($0)) + 63|0);
+ HEAP8[$397>>0] = $396;
+ return;
+}
+function _sha512_read($0) {
+ $0 = $0|0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ return ($0|0);
+}
+function _run_selftests_1355($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$0 = 0, $$0$i = 0, $$0$i7 = 0, $$011$i = 0, $$011$i6 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
+ var $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ switch ($0|0) {
+ case 9: {
+ $3 = (__gcry_hash_selftest_check_one(9,0,62920,3,62924,48)|0);
+ $4 = ($3|0)==(0|0);
+ if ($4) {
+ $5 = ($1|0)==(0);
+ if ($5) {
+ $$0 = 0;
+ return ($$0|0);
+ }
+ $6 = (__gcry_hash_selftest_check_one(9,0,62973,112,63086,48)|0);
+ $7 = ($6|0)==(0|0);
+ if ($7) {
+ $8 = (__gcry_hash_selftest_check_one(9,1,0,0,63135,48)|0);
+ $9 = ($8|0)==(0|0);
+ if ($9) {
+ $$0 = 0;
+ return ($$0|0);
+ } else {
+ $$0$i = $8;$$011$i = 63209;
+ }
+ } else {
+ $$0$i = $6;$$011$i = 63197;
+ }
+ } else {
+ $$0$i = $3;$$011$i = 63184;
+ }
+ $10 = ($2|0)==(0|0);
+ if ($10) {
+ $$0 = 50;
+ return ($$0|0);
+ }
+ FUNCTION_TABLE_viiii[$2 & 63](63225,9,$$011$i,$$0$i);
+ $$0 = 50;
+ return ($$0|0);
+ break;
+ }
+ case 10: {
+ $11 = (__gcry_hash_selftest_check_one(10,0,62920,3,63232,64)|0);
+ $12 = ($11|0)==(0|0);
+ if ($12) {
+ $13 = ($1|0)==(0);
+ if ($13) {
+ $$0 = 0;
+ return ($$0|0);
+ }
+ $14 = (__gcry_hash_selftest_check_one(10,0,62973,112,63297,64)|0);
+ $15 = ($14|0)==(0|0);
+ if ($15) {
+ $16 = (__gcry_hash_selftest_check_one(10,1,0,0,63362,64)|0);
+ $17 = ($16|0)==(0|0);
+ if ($17) {
+ $$0 = 0;
+ return ($$0|0);
+ } else {
+ $$0$i7 = $16;$$011$i6 = 63209;
+ }
+ } else {
+ $$0$i7 = $14;$$011$i6 = 63197;
+ }
+ } else {
+ $$0$i7 = $11;$$011$i6 = 63184;
+ }
+ $18 = ($2|0)==(0|0);
+ if ($18) {
+ $$0 = 50;
+ return ($$0|0);
+ }
+ FUNCTION_TABLE_viiii[$2 & 63](63225,10,$$011$i6,$$0$i7);
+ $$0 = 50;
+ return ($$0|0);
+ break;
+ }
+ default: {
+ $$0 = 5;
+ return ($$0|0);
+ }
+ }
+ return (0)|0;
+}
+function _transform_1368($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$0 = 0, $$051156$i = 0, $$08 = 0, $$151221$i = 0, $10 = 0, $100 = 0, $1000 = 0, $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;
+ var $1013 = 0, $1014 = 0, $1015 = 0, $1016 = 0, $1017 = 0, $1018 = 0, $1019 = 0, $102 = 0, $1020 = 0, $1021 = 0, $1022 = 0, $1023 = 0, $1024 = 0, $1025 = 0, $1026 = 0, $1027 = 0, $1028 = 0, $1029 = 0, $103 = 0, $1030 = 0;
+ var $1031 = 0, $1032 = 0, $1033 = 0, $1034 = 0, $1035 = 0, $1036 = 0, $1037 = 0, $1038 = 0, $1039 = 0, $104 = 0, $1040 = 0, $1041 = 0, $1042 = 0, $1043 = 0, $1044 = 0, $1045 = 0, $1046 = 0, $1047 = 0, $1048 = 0, $1049 = 0;
+ var $105 = 0, $1050 = 0, $1051 = 0, $1052 = 0, $1053 = 0, $1054 = 0, $1055 = 0, $1056 = 0, $1057 = 0, $1058 = 0, $1059 = 0, $106 = 0, $1060 = 0, $1061 = 0, $1062 = 0, $1063 = 0, $1064 = 0, $1065 = 0, $1066 = 0, $1067 = 0;
+ var $1068 = 0, $1069 = 0, $107 = 0, $1070 = 0, $1071 = 0, $1072 = 0, $1073 = 0, $1074 = 0, $1075 = 0, $1076 = 0, $1077 = 0, $1078 = 0, $1079 = 0, $108 = 0, $1080 = 0, $1081 = 0, $1082 = 0, $1083 = 0, $1084 = 0, $1085 = 0;
+ var $1086 = 0, $1087 = 0, $1088 = 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, $1100 = 0, $1101 = 0, $1102 = 0;
+ var $1103 = 0, $1104 = 0, $1105 = 0, $1106 = 0, $1107 = 0, $1108 = 0, $1109 = 0, $111 = 0, $1110 = 0, $1111 = 0, $1112 = 0, $1113 = 0, $1114 = 0, $1115 = 0, $1116 = 0, $1117 = 0, $1118 = 0, $1119 = 0, $112 = 0, $1120 = 0;
+ var $1121 = 0, $1122 = 0, $1123 = 0, $1124 = 0, $1125 = 0, $1126 = 0, $1127 = 0, $1128 = 0, $1129 = 0, $113 = 0, $1130 = 0, $1131 = 0, $1132 = 0, $1133 = 0, $1134 = 0, $1135 = 0, $1136 = 0, $1137 = 0, $1138 = 0, $1139 = 0;
+ var $114 = 0, $1140 = 0, $1141 = 0, $1142 = 0, $1143 = 0, $1144 = 0, $1145 = 0, $1146 = 0, $1147 = 0, $1148 = 0, $1149 = 0, $115 = 0, $1150 = 0, $1151 = 0, $1152 = 0, $1153 = 0, $1154 = 0, $1155 = 0, $1156 = 0, $1157 = 0;
+ var $1158 = 0, $1159 = 0, $116 = 0, $1160 = 0, $1161 = 0, $1162 = 0, $1163 = 0, $1164 = 0, $1165 = 0, $1166 = 0, $1167 = 0, $1168 = 0, $1169 = 0, $117 = 0, $1170 = 0, $1171 = 0, $1172 = 0, $1173 = 0, $1174 = 0, $1175 = 0;
+ var $1176 = 0, $1177 = 0, $1178 = 0, $1179 = 0, $118 = 0, $1180 = 0, $1181 = 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;
+ var $1194 = 0, $1195 = 0, $1196 = 0, $1197 = 0, $1198 = 0, $1199 = 0, $12 = 0, $120 = 0, $1200 = 0, $1201 = 0, $1202 = 0, $1203 = 0, $1204 = 0, $1205 = 0, $1206 = 0, $1207 = 0, $1208 = 0, $1209 = 0, $121 = 0, $1210 = 0;
+ var $1211 = 0, $1212 = 0, $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, $1226 = 0, $1227 = 0, $1228 = 0, $1229 = 0;
+ var $123 = 0, $1230 = 0, $1231 = 0, $1232 = 0, $1233 = 0, $1234 = 0, $1235 = 0, $1236 = 0, $1237 = 0, $1238 = 0, $1239 = 0, $124 = 0, $1240 = 0, $1241 = 0, $1242 = 0, $1243 = 0, $1244 = 0, $1245 = 0, $1246 = 0, $1247 = 0;
+ var $1248 = 0, $1249 = 0, $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;
+ var $1266 = 0, $1267 = 0, $1268 = 0, $1269 = 0, $127 = 0, $1270 = 0, $1271 = 0, $1272 = 0, $1273 = 0, $1274 = 0, $1275 = 0, $1276 = 0, $1277 = 0, $1278 = 0, $1279 = 0, $128 = 0, $1280 = 0, $1281 = 0, $1282 = 0, $1283 = 0;
+ var $1284 = 0, $1285 = 0, $1286 = 0, $1287 = 0, $1288 = 0, $1289 = 0, $129 = 0, $1290 = 0, $1291 = 0, $1292 = 0, $1293 = 0, $1294 = 0, $1295 = 0, $1296 = 0, $1297 = 0, $1298 = 0, $1299 = 0, $13 = 0, $130 = 0, $1300 = 0;
+ var $1301 = 0, $1302 = 0, $1303 = 0, $1304 = 0, $1305 = 0, $1306 = 0, $1307 = 0, $1308 = 0, $1309 = 0, $131 = 0, $1310 = 0, $1311 = 0, $1312 = 0, $1313 = 0, $1314 = 0, $1315 = 0, $1316 = 0, $1317 = 0, $1318 = 0, $1319 = 0;
+ var $132 = 0, $1320 = 0, $1321 = 0, $1322 = 0, $1323 = 0, $1324 = 0, $1325 = 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;
+ var $1338 = 0, $1339 = 0, $134 = 0, $1340 = 0, $1341 = 0, $1342 = 0, $1343 = 0, $1344 = 0, $1345 = 0, $1346 = 0, $1347 = 0, $1348 = 0, $1349 = 0, $135 = 0, $1350 = 0, $1351 = 0, $1352 = 0, $1353 = 0, $1354 = 0, $1355 = 0;
+ var $1356 = 0, $1357 = 0, $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, $137 = 0, $1370 = 0, $1371 = 0, $1372 = 0, $1373 = 0;
+ var $1374 = 0, $1375 = 0, $1376 = 0, $1377 = 0, $1378 = 0, $1379 = 0, $138 = 0, $1380 = 0, $1381 = 0, $1382 = 0, $1383 = 0, $1384 = 0, $1385 = 0, $1386 = 0, $1387 = 0, $1388 = 0, $1389 = 0, $139 = 0, $1390 = 0, $1391 = 0;
+ var $1392 = 0, $1393 = 0, $1394 = 0, $1395 = 0, $1396 = 0, $1397 = 0, $1398 = 0, $1399 = 0, $14 = 0, $140 = 0, $1400 = 0, $1401 = 0, $1402 = 0, $1403 = 0, $1404 = 0, $1405 = 0, $1406 = 0, $1407 = 0, $1408 = 0, $1409 = 0;
+ var $141 = 0, $1410 = 0, $1411 = 0, $1412 = 0, $1413 = 0, $1414 = 0, $1415 = 0, $1416 = 0, $1417 = 0, $1418 = 0, $1419 = 0, $142 = 0, $1420 = 0, $1421 = 0, $1422 = 0, $1423 = 0, $1424 = 0, $1425 = 0, $1426 = 0, $1427 = 0;
+ var $1428 = 0, $1429 = 0, $143 = 0, $1430 = 0, $1431 = 0, $1432 = 0, $1433 = 0, $1434 = 0, $1435 = 0, $1436 = 0, $1437 = 0, $1438 = 0, $1439 = 0, $144 = 0, $1440 = 0, $1441 = 0, $1442 = 0, $1443 = 0, $1444 = 0, $1445 = 0;
+ var $1446 = 0, $1447 = 0, $1448 = 0, $1449 = 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, $1463 = 0;
+ var $1464 = 0, $1465 = 0, $1466 = 0, $1467 = 0, $1468 = 0, $1469 = 0, $147 = 0, $1470 = 0, $1471 = 0, $1472 = 0, $1473 = 0, $1474 = 0, $1475 = 0, $1476 = 0, $1477 = 0, $1478 = 0, $1479 = 0, $148 = 0, $1480 = 0, $1481 = 0;
+ var $1482 = 0, $1483 = 0, $1484 = 0, $1485 = 0, $1486 = 0, $1487 = 0, $1488 = 0, $1489 = 0, $149 = 0, $1490 = 0, $1491 = 0, $1492 = 0, $1493 = 0, $1494 = 0, $1495 = 0, $1496 = 0, $1497 = 0, $1498 = 0, $1499 = 0, $15 = 0;
+ var $150 = 0, $1500 = 0, $1501 = 0, $1502 = 0, $1503 = 0, $1504 = 0, $1505 = 0, $1506 = 0, $1507 = 0, $1508 = 0, $1509 = 0, $151 = 0, $1510 = 0, $1511 = 0, $1512 = 0, $1513 = 0, $1514 = 0, $1515 = 0, $1516 = 0, $1517 = 0;
+ var $1518 = 0, $1519 = 0, $152 = 0, $1520 = 0, $1521 = 0, $1522 = 0, $1523 = 0, $1524 = 0, $1525 = 0, $1526 = 0, $1527 = 0, $1528 = 0, $1529 = 0, $153 = 0, $1530 = 0, $1531 = 0, $1532 = 0, $1533 = 0, $1534 = 0, $1535 = 0;
+ var $1536 = 0, $1537 = 0, $1538 = 0, $1539 = 0, $154 = 0, $1540 = 0, $1541 = 0, $1542 = 0, $1543 = 0, $1544 = 0, $1545 = 0, $1546 = 0, $1547 = 0, $1548 = 0, $1549 = 0, $155 = 0, $1550 = 0, $1551 = 0, $1552 = 0, $1553 = 0;
+ var $1554 = 0, $1555 = 0, $1556 = 0, $1557 = 0, $1558 = 0, $1559 = 0, $156 = 0, $1560 = 0, $1561 = 0, $1562 = 0, $1563 = 0, $1564 = 0, $1565 = 0, $1566 = 0, $1567 = 0, $1568 = 0, $1569 = 0, $157 = 0, $1570 = 0, $1571 = 0;
+ var $1572 = 0, $1573 = 0, $1574 = 0, $1575 = 0, $1576 = 0, $1577 = 0, $1578 = 0, $1579 = 0, $158 = 0, $1580 = 0, $1581 = 0, $1582 = 0, $1583 = 0, $1584 = 0, $1585 = 0, $1586 = 0, $1587 = 0, $1588 = 0, $1589 = 0, $159 = 0;
+ var $1590 = 0, $1591 = 0, $1592 = 0, $1593 = 0, $1594 = 0, $1595 = 0, $1596 = 0, $1597 = 0, $1598 = 0, $1599 = 0, $16 = 0, $160 = 0, $1600 = 0, $1601 = 0, $1602 = 0, $1603 = 0, $1604 = 0, $1605 = 0, $1606 = 0, $1607 = 0;
+ var $1608 = 0, $1609 = 0, $161 = 0, $1610 = 0, $1611 = 0, $1612 = 0, $1613 = 0, $1614 = 0, $1615 = 0, $1616 = 0, $1617 = 0, $1618 = 0, $1619 = 0, $162 = 0, $1620 = 0, $1621 = 0, $1622 = 0, $1623 = 0, $1624 = 0, $1625 = 0;
+ var $1626 = 0, $1627 = 0, $1628 = 0, $1629 = 0, $163 = 0, $1630 = 0, $1631 = 0, $1632 = 0, $1633 = 0, $1634 = 0, $1635 = 0, $1636 = 0, $1637 = 0, $1638 = 0, $1639 = 0, $164 = 0, $1640 = 0, $1641 = 0, $1642 = 0, $1643 = 0;
+ var $1644 = 0, $1645 = 0, $1646 = 0, $1647 = 0, $1648 = 0, $1649 = 0, $165 = 0, $1650 = 0, $1651 = 0, $1652 = 0, $1653 = 0, $1654 = 0, $1655 = 0, $1656 = 0, $1657 = 0, $1658 = 0, $1659 = 0, $166 = 0, $1660 = 0, $1661 = 0;
+ var $1662 = 0, $1663 = 0, $1664 = 0, $1665 = 0, $1666 = 0, $1667 = 0, $1668 = 0, $1669 = 0, $167 = 0, $1670 = 0, $1671 = 0, $1672 = 0, $1673 = 0, $1674 = 0, $1675 = 0, $1676 = 0, $1677 = 0, $1678 = 0, $1679 = 0, $168 = 0;
+ var $1680 = 0, $1681 = 0, $1682 = 0, $1683 = 0, $1684 = 0, $1685 = 0, $1686 = 0, $1687 = 0, $1688 = 0, $1689 = 0, $169 = 0, $1690 = 0, $1691 = 0, $1692 = 0, $1693 = 0, $1694 = 0, $1695 = 0, $1696 = 0, $1697 = 0, $1698 = 0;
+ var $1699 = 0, $17 = 0, $170 = 0, $1700 = 0, $1701 = 0, $1702 = 0, $1703 = 0, $1704 = 0, $1705 = 0, $1706 = 0, $1707 = 0, $1708 = 0, $1709 = 0, $171 = 0, $1710 = 0, $1711 = 0, $1712 = 0, $1713 = 0, $1714 = 0, $1715 = 0;
+ var $1716 = 0, $1717 = 0, $1718 = 0, $1719 = 0, $172 = 0, $1720 = 0, $1721 = 0, $1722 = 0, $1723 = 0, $1724 = 0, $1725 = 0, $1726 = 0, $1727 = 0, $1728 = 0, $1729 = 0, $173 = 0, $1730 = 0, $1731 = 0, $1732 = 0, $1733 = 0;
+ var $1734 = 0, $1735 = 0, $1736 = 0, $1737 = 0, $1738 = 0, $1739 = 0, $174 = 0, $1740 = 0, $1741 = 0, $1742 = 0, $1743 = 0, $1744 = 0, $1745 = 0, $1746 = 0, $1747 = 0, $1748 = 0, $1749 = 0, $175 = 0, $1750 = 0, $1751 = 0;
+ var $1752 = 0, $1753 = 0, $1754 = 0, $1755 = 0, $1756 = 0, $1757 = 0, $1758 = 0, $1759 = 0, $176 = 0, $1760 = 0, $1761 = 0, $1762 = 0, $1763 = 0, $1764 = 0, $1765 = 0, $1766 = 0, $1767 = 0, $1768 = 0, $1769 = 0, $177 = 0;
+ var $1770 = 0, $1771 = 0, $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;
+ var $1789 = 0, $179 = 0, $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, $1802 = 0, $1803 = 0, $1804 = 0, $1805 = 0;
+ var $1806 = 0, $1807 = 0, $1808 = 0, $1809 = 0, $181 = 0, $1810 = 0, $1811 = 0, $1812 = 0, $1813 = 0, $1814 = 0, $1815 = 0, $1816 = 0, $1817 = 0, $1818 = 0, $1819 = 0, $182 = 0, $1820 = 0, $1821 = 0, $1822 = 0, $1823 = 0;
+ var $1824 = 0, $1825 = 0, $1826 = 0, $1827 = 0, $1828 = 0, $1829 = 0, $183 = 0, $1830 = 0, $1831 = 0, $1832 = 0, $1833 = 0, $1834 = 0, $1835 = 0, $1836 = 0, $1837 = 0, $1838 = 0, $1839 = 0, $184 = 0, $1840 = 0, $1841 = 0;
+ var $1842 = 0, $1843 = 0, $1844 = 0, $1845 = 0, $1846 = 0, $1847 = 0, $1848 = 0, $1849 = 0, $185 = 0, $1850 = 0, $1851 = 0, $1852 = 0, $1853 = 0, $1854 = 0, $1855 = 0, $1856 = 0, $1857 = 0, $1858 = 0, $1859 = 0, $186 = 0;
+ var $1860 = 0, $1861 = 0, $1862 = 0, $1863 = 0, $1864 = 0, $1865 = 0, $1866 = 0, $1867 = 0, $1868 = 0, $1869 = 0, $187 = 0, $1870 = 0, $1871 = 0, $1872 = 0, $1873 = 0, $1874 = 0, $1875 = 0, $1876 = 0, $1877 = 0, $1878 = 0;
+ var $1879 = 0, $188 = 0, $1880 = 0, $1881 = 0, $1882 = 0, $1883 = 0, $1884 = 0, $1885 = 0, $1886 = 0, $1887 = 0, $1888 = 0, $1889 = 0, $189 = 0, $1890 = 0, $1891 = 0, $1892 = 0, $1893 = 0, $1894 = 0, $1895 = 0, $1896 = 0;
+ var $1897 = 0, $1898 = 0, $1899 = 0, $19 = 0, $190 = 0, $1900 = 0, $1901 = 0, $1902 = 0, $1903 = 0, $1904 = 0, $1905 = 0, $1906 = 0, $1907 = 0, $1908 = 0, $1909 = 0, $191 = 0, $1910 = 0, $1911 = 0, $1912 = 0, $1913 = 0;
+ var $1914 = 0, $1915 = 0, $1916 = 0, $1917 = 0, $1918 = 0, $1919 = 0, $192 = 0, $1920 = 0, $1921 = 0, $1922 = 0, $1923 = 0, $1924 = 0, $1925 = 0, $1926 = 0, $1927 = 0, $1928 = 0, $1929 = 0, $193 = 0, $1930 = 0, $1931 = 0;
+ var $1932 = 0, $1933 = 0, $1934 = 0, $1935 = 0, $1936 = 0, $1937 = 0, $1938 = 0, $1939 = 0, $194 = 0, $1940 = 0, $1941 = 0, $1942 = 0, $1943 = 0, $1944 = 0, $1945 = 0, $1946 = 0, $1947 = 0, $1948 = 0, $1949 = 0, $195 = 0;
+ var $1950 = 0, $1951 = 0, $1952 = 0, $1953 = 0, $1954 = 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;
+ var $1969 = 0, $197 = 0, $1970 = 0, $1971 = 0, $1972 = 0, $1973 = 0, $1974 = 0, $1975 = 0, $1976 = 0, $1977 = 0, $1978 = 0, $1979 = 0, $198 = 0, $1980 = 0, $1981 = 0, $1982 = 0, $1983 = 0, $1984 = 0, $1985 = 0, $1986 = 0;
+ var $1987 = 0, $1988 = 0, $1989 = 0, $199 = 0, $1990 = 0, $1991 = 0, $1992 = 0, $1993 = 0, $1994 = 0, $1995 = 0, $1996 = 0, $1997 = 0, $1998 = 0, $1999 = 0, $20 = 0, $200 = 0, $2000 = 0, $2001 = 0, $2002 = 0, $2003 = 0;
+ var $2004 = 0, $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, $2020 = 0, $2021 = 0;
+ var $2022 = 0, $2023 = 0, $2024 = 0, $2025 = 0, $2026 = 0, $2027 = 0, $2028 = 0, $2029 = 0, $203 = 0, $2030 = 0, $2031 = 0, $2032 = 0, $2033 = 0, $2034 = 0, $2035 = 0, $2036 = 0, $2037 = 0, $2038 = 0, $2039 = 0, $204 = 0;
+ var $2040 = 0, $2041 = 0, $2042 = 0, $2043 = 0, $2044 = 0, $2045 = 0, $2046 = 0, $2047 = 0, $2048 = 0, $2049 = 0, $205 = 0, $2050 = 0, $2051 = 0, $2052 = 0, $2053 = 0, $2054 = 0, $2055 = 0, $2056 = 0, $2057 = 0, $2058 = 0;
+ var $2059 = 0, $206 = 0, $2060 = 0, $2061 = 0, $2062 = 0, $2063 = 0, $2064 = 0, $2065 = 0, $2066 = 0, $2067 = 0, $2068 = 0, $2069 = 0, $207 = 0, $2070 = 0, $2071 = 0, $2072 = 0, $2073 = 0, $2074 = 0, $2075 = 0, $2076 = 0;
+ var $2077 = 0, $2078 = 0, $2079 = 0, $208 = 0, $2080 = 0, $2081 = 0, $2082 = 0, $2083 = 0, $2084 = 0, $2085 = 0, $2086 = 0, $2087 = 0, $2088 = 0, $2089 = 0, $209 = 0, $2090 = 0, $2091 = 0, $2092 = 0, $2093 = 0, $2094 = 0;
+ var $2095 = 0, $2096 = 0, $2097 = 0, $2098 = 0, $2099 = 0, $21 = 0, $210 = 0, $2100 = 0, $2101 = 0, $2102 = 0, $2103 = 0, $2104 = 0, $2105 = 0, $2106 = 0, $2107 = 0, $2108 = 0, $2109 = 0, $211 = 0, $2110 = 0, $2111 = 0;
+ var $2112 = 0, $2113 = 0, $2114 = 0, $2115 = 0, $2116 = 0, $2117 = 0, $2118 = 0, $2119 = 0, $212 = 0, $2120 = 0, $2121 = 0, $2122 = 0, $2123 = 0, $2124 = 0, $2125 = 0, $2126 = 0, $2127 = 0, $2128 = 0, $2129 = 0, $213 = 0;
+ var $2130 = 0, $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, $2145 = 0, $2146 = 0, $2147 = 0, $2148 = 0;
+ var $2149 = 0, $215 = 0, $2150 = 0, $2151 = 0, $2152 = 0, $2153 = 0, $2154 = 0, $2155 = 0, $2156 = 0, $2157 = 0, $2158 = 0, $2159 = 0, $216 = 0, $2160 = 0, $2161 = 0, $2162 = 0, $2163 = 0, $2164 = 0, $2165 = 0, $2166 = 0;
+ var $2167 = 0, $2168 = 0, $2169 = 0, $217 = 0, $2170 = 0, $2171 = 0, $2172 = 0, $2173 = 0, $2174 = 0, $2175 = 0, $2176 = 0, $2177 = 0, $2178 = 0, $2179 = 0, $218 = 0, $2180 = 0, $2181 = 0, $2182 = 0, $2183 = 0, $2184 = 0;
+ var $2185 = 0, $2186 = 0, $2187 = 0, $2188 = 0, $2189 = 0, $219 = 0, $2190 = 0, $2191 = 0, $2192 = 0, $2193 = 0, $2194 = 0, $2195 = 0, $2196 = 0, $2197 = 0, $2198 = 0, $2199 = 0, $22 = 0, $220 = 0, $2200 = 0, $2201 = 0;
+ var $2202 = 0, $2203 = 0, $2204 = 0, $2205 = 0, $2206 = 0, $2207 = 0, $2208 = 0, $2209 = 0, $221 = 0, $2210 = 0, $2211 = 0, $2212 = 0, $2213 = 0, $2214 = 0, $2215 = 0, $2216 = 0, $2217 = 0, $2218 = 0, $2219 = 0, $222 = 0;
+ var $2220 = 0, $2221 = 0, $2222 = 0, $2223 = 0, $2224 = 0, $2225 = 0, $2226 = 0, $2227 = 0, $2228 = 0, $2229 = 0, $223 = 0, $2230 = 0, $2231 = 0, $2232 = 0, $2233 = 0, $2234 = 0, $2235 = 0, $2236 = 0, $2237 = 0, $2238 = 0;
+ var $2239 = 0, $224 = 0, $2240 = 0, $2241 = 0, $2242 = 0, $2243 = 0, $2244 = 0, $2245 = 0, $2246 = 0, $2247 = 0, $2248 = 0, $2249 = 0, $225 = 0, $2250 = 0, $2251 = 0, $2252 = 0, $2253 = 0, $2254 = 0, $2255 = 0, $2256 = 0;
+ var $2257 = 0, $2258 = 0, $2259 = 0, $226 = 0, $2260 = 0, $2261 = 0, $2262 = 0, $2263 = 0, $2264 = 0, $2265 = 0, $2266 = 0, $2267 = 0, $2268 = 0, $2269 = 0, $227 = 0, $2270 = 0, $2271 = 0, $2272 = 0, $2273 = 0, $2274 = 0;
+ var $2275 = 0, $2276 = 0, $2277 = 0, $2278 = 0, $2279 = 0, $228 = 0, $2280 = 0, $2281 = 0, $2282 = 0, $2283 = 0, $2284 = 0, $2285 = 0, $2286 = 0, $2287 = 0, $2288 = 0, $2289 = 0, $229 = 0, $2290 = 0, $2291 = 0, $2292 = 0;
+ var $2293 = 0, $2294 = 0, $2295 = 0, $2296 = 0, $2297 = 0, $2298 = 0, $2299 = 0, $23 = 0, $230 = 0, $2300 = 0, $2301 = 0, $2302 = 0, $2303 = 0, $2304 = 0, $2305 = 0, $2306 = 0, $2307 = 0, $2308 = 0, $2309 = 0, $231 = 0;
+ var $2310 = 0, $2311 = 0, $2312 = 0, $2313 = 0, $2314 = 0, $2315 = 0, $2316 = 0, $2317 = 0, $2318 = 0, $2319 = 0, $232 = 0, $2320 = 0, $2321 = 0, $2322 = 0, $2323 = 0, $2324 = 0, $2325 = 0, $2326 = 0, $2327 = 0, $2328 = 0;
+ var $2329 = 0, $233 = 0, $2330 = 0, $2331 = 0, $2332 = 0, $2333 = 0, $2334 = 0, $2335 = 0, $2336 = 0, $2337 = 0, $2338 = 0, $2339 = 0, $234 = 0, $2340 = 0, $2341 = 0, $2342 = 0, $2343 = 0, $2344 = 0, $2345 = 0, $2346 = 0;
+ var $2347 = 0, $2348 = 0, $2349 = 0, $235 = 0, $2350 = 0, $2351 = 0, $2352 = 0, $2353 = 0, $2354 = 0, $2355 = 0, $2356 = 0, $2357 = 0, $2358 = 0, $2359 = 0, $236 = 0, $2360 = 0, $2361 = 0, $2362 = 0, $2363 = 0, $2364 = 0;
+ var $2365 = 0, $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;
+ var $2383 = 0, $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;
+ var $2400 = 0, $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;
+ var $2419 = 0, $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;
+ var $2437 = 0, $2438 = 0, $2439 = 0, $244 = 0, $2440 = 0, $2441 = 0, $2442 = 0, $2443 = 0, $2444 = 0, $2445 = 0, $2446 = 0, $2447 = 0, $2448 = 0, $2449 = 0, $245 = 0, $2450 = 0, $2451 = 0, $2452 = 0, $2453 = 0, $2454 = 0;
+ var $2455 = 0, $2456 = 0, $2457 = 0, $2458 = 0, $2459 = 0, $246 = 0, $2460 = 0, $2461 = 0, $2462 = 0, $2463 = 0, $2464 = 0, $2465 = 0, $2466 = 0, $2467 = 0, $2468 = 0, $2469 = 0, $247 = 0, $2470 = 0, $2471 = 0, $2472 = 0;
+ var $2473 = 0, $2474 = 0, $2475 = 0, $2476 = 0, $2477 = 0, $2478 = 0, $2479 = 0, $248 = 0, $2480 = 0, $2481 = 0, $2482 = 0, $2483 = 0, $2484 = 0, $2485 = 0, $2486 = 0, $2487 = 0, $2488 = 0, $2489 = 0, $249 = 0, $2490 = 0;
+ var $2491 = 0, $2492 = 0, $2493 = 0, $2494 = 0, $2495 = 0, $2496 = 0, $2497 = 0, $2498 = 0, $2499 = 0, $25 = 0, $250 = 0, $2500 = 0, $2501 = 0, $2502 = 0, $2503 = 0, $2504 = 0, $2505 = 0, $2506 = 0, $2507 = 0, $2508 = 0;
+ var $2509 = 0, $251 = 0, $2510 = 0, $2511 = 0, $2512 = 0, $2513 = 0, $2514 = 0, $2515 = 0, $2516 = 0, $2517 = 0, $2518 = 0, $2519 = 0, $252 = 0, $2520 = 0, $2521 = 0, $2522 = 0, $2523 = 0, $2524 = 0, $2525 = 0, $2526 = 0;
+ var $2527 = 0, $2528 = 0, $2529 = 0, $253 = 0, $2530 = 0, $2531 = 0, $2532 = 0, $2533 = 0, $2534 = 0, $2535 = 0, $2536 = 0, $2537 = 0, $2538 = 0, $2539 = 0, $254 = 0, $2540 = 0, $2541 = 0, $2542 = 0, $2543 = 0, $2544 = 0;
+ var $2545 = 0, $2546 = 0, $2547 = 0, $2548 = 0, $2549 = 0, $255 = 0, $2550 = 0, $2551 = 0, $2552 = 0, $2553 = 0, $2554 = 0, $2555 = 0, $2556 = 0, $2557 = 0, $2558 = 0, $2559 = 0, $256 = 0, $2560 = 0, $2561 = 0, $2562 = 0;
+ var $2563 = 0, $2564 = 0, $2565 = 0, $2566 = 0, $2567 = 0, $2568 = 0, $2569 = 0, $257 = 0, $2570 = 0, $2571 = 0, $2572 = 0, $2573 = 0, $2574 = 0, $2575 = 0, $2576 = 0, $2577 = 0, $2578 = 0, $2579 = 0, $258 = 0, $2580 = 0;
+ var $2581 = 0, $2582 = 0, $2583 = 0, $2584 = 0, $2585 = 0, $2586 = 0, $2587 = 0, $2588 = 0, $2589 = 0, $259 = 0, $2590 = 0, $2591 = 0, $2592 = 0, $2593 = 0, $2594 = 0, $2595 = 0, $2596 = 0, $2597 = 0, $2598 = 0, $2599 = 0;
+ var $26 = 0, $260 = 0, $2600 = 0, $2601 = 0, $2602 = 0, $2603 = 0, $2604 = 0, $2605 = 0, $2606 = 0, $2607 = 0, $2608 = 0, $2609 = 0, $261 = 0, $2610 = 0, $2611 = 0, $2612 = 0, $2613 = 0, $2614 = 0, $2615 = 0, $2616 = 0;
+ var $2617 = 0, $2618 = 0, $2619 = 0, $262 = 0, $2620 = 0, $2621 = 0, $2622 = 0, $2623 = 0, $2624 = 0, $2625 = 0, $2626 = 0, $2627 = 0, $2628 = 0, $2629 = 0, $263 = 0, $2630 = 0, $2631 = 0, $2632 = 0, $2633 = 0, $2634 = 0;
+ var $2635 = 0, $2636 = 0, $2637 = 0, $2638 = 0, $2639 = 0, $264 = 0, $2640 = 0, $2641 = 0, $2642 = 0, $2643 = 0, $2644 = 0, $2645 = 0, $2646 = 0, $2647 = 0, $2648 = 0, $2649 = 0, $265 = 0, $2650 = 0, $2651 = 0, $2652 = 0;
+ var $2653 = 0, $2654 = 0, $2655 = 0, $2656 = 0, $2657 = 0, $2658 = 0, $2659 = 0, $266 = 0, $2660 = 0, $2661 = 0, $2662 = 0, $2663 = 0, $2664 = 0, $2665 = 0, $2666 = 0, $2667 = 0, $2668 = 0, $2669 = 0, $267 = 0, $2670 = 0;
+ var $2671 = 0, $2672 = 0, $2673 = 0, $2674 = 0, $2675 = 0, $2676 = 0, $2677 = 0, $2678 = 0, $2679 = 0, $268 = 0, $2680 = 0, $2681 = 0, $2682 = 0, $2683 = 0, $2684 = 0, $2685 = 0, $2686 = 0, $2687 = 0, $2688 = 0, $2689 = 0;
+ var $269 = 0, $2690 = 0, $2691 = 0, $2692 = 0, $2693 = 0, $2694 = 0, $2695 = 0, $2696 = 0, $2697 = 0, $2698 = 0, $2699 = 0, $27 = 0, $270 = 0, $2700 = 0, $2701 = 0, $2702 = 0, $2703 = 0, $2704 = 0, $2705 = 0, $2706 = 0;
+ var $2707 = 0, $2708 = 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, $2720 = 0, $2721 = 0, $2722 = 0, $2723 = 0, $2724 = 0;
+ var $2725 = 0, $2726 = 0, $2727 = 0, $2728 = 0, $2729 = 0, $273 = 0, $2730 = 0, $2731 = 0, $2732 = 0, $2733 = 0, $2734 = 0, $2735 = 0, $2736 = 0, $2737 = 0, $2738 = 0, $2739 = 0, $274 = 0, $2740 = 0, $2741 = 0, $2742 = 0;
+ var $2743 = 0, $2744 = 0, $2745 = 0, $2746 = 0, $2747 = 0, $2748 = 0, $2749 = 0, $275 = 0, $2750 = 0, $2751 = 0, $2752 = 0, $2753 = 0, $2754 = 0, $2755 = 0, $2756 = 0, $2757 = 0, $2758 = 0, $2759 = 0, $276 = 0, $2760 = 0;
+ var $2761 = 0, $2762 = 0, $2763 = 0, $2764 = 0, $2765 = 0, $2766 = 0, $2767 = 0, $2768 = 0, $2769 = 0, $277 = 0, $2770 = 0, $2771 = 0, $2772 = 0, $2773 = 0, $2774 = 0, $2775 = 0, $2776 = 0, $2777 = 0, $2778 = 0, $2779 = 0;
+ var $278 = 0, $2780 = 0, $2781 = 0, $2782 = 0, $2783 = 0, $2784 = 0, $2785 = 0, $2786 = 0, $2787 = 0, $2788 = 0, $2789 = 0, $279 = 0, $2790 = 0, $2791 = 0, $2792 = 0, $2793 = 0, $2794 = 0, $2795 = 0, $2796 = 0, $2797 = 0;
+ var $2798 = 0, $2799 = 0, $28 = 0, $280 = 0, $2800 = 0, $2801 = 0, $2802 = 0, $2803 = 0, $2804 = 0, $2805 = 0, $2806 = 0, $2807 = 0, $2808 = 0, $2809 = 0, $281 = 0, $2810 = 0, $2811 = 0, $2812 = 0, $2813 = 0, $2814 = 0;
+ var $2815 = 0, $2816 = 0, $2817 = 0, $2818 = 0, $2819 = 0, $282 = 0, $2820 = 0, $2821 = 0, $2822 = 0, $2823 = 0, $2824 = 0, $2825 = 0, $2826 = 0, $2827 = 0, $2828 = 0, $2829 = 0, $283 = 0, $2830 = 0, $2831 = 0, $2832 = 0;
+ var $2833 = 0, $2834 = 0, $2835 = 0, $2836 = 0, $2837 = 0, $2838 = 0, $2839 = 0, $284 = 0, $2840 = 0, $2841 = 0, $2842 = 0, $2843 = 0, $2844 = 0, $2845 = 0, $2846 = 0, $2847 = 0, $2848 = 0, $2849 = 0, $285 = 0, $2850 = 0;
+ var $2851 = 0, $2852 = 0, $2853 = 0, $2854 = 0, $2855 = 0, $2856 = 0, $2857 = 0, $2858 = 0, $2859 = 0, $286 = 0, $2860 = 0, $2861 = 0, $2862 = 0, $2863 = 0, $2864 = 0, $2865 = 0, $2866 = 0, $2867 = 0, $2868 = 0, $2869 = 0;
+ var $287 = 0, $2870 = 0, $2871 = 0, $2872 = 0, $2873 = 0, $2874 = 0, $2875 = 0, $2876 = 0, $2877 = 0, $2878 = 0, $2879 = 0, $288 = 0, $2880 = 0, $2881 = 0, $2882 = 0, $2883 = 0, $2884 = 0, $2885 = 0, $2886 = 0, $2887 = 0;
+ var $2888 = 0, $2889 = 0, $289 = 0, $2890 = 0, $2891 = 0, $2892 = 0, $2893 = 0, $2894 = 0, $2895 = 0, $2896 = 0, $2897 = 0, $2898 = 0, $2899 = 0, $29 = 0, $290 = 0, $2900 = 0, $2901 = 0, $2902 = 0, $2903 = 0, $2904 = 0;
+ var $2905 = 0, $2906 = 0, $2907 = 0, $2908 = 0, $2909 = 0, $291 = 0, $2910 = 0, $2911 = 0, $2912 = 0, $2913 = 0, $2914 = 0, $2915 = 0, $2916 = 0, $2917 = 0, $2918 = 0, $2919 = 0, $292 = 0, $2920 = 0, $2921 = 0, $2922 = 0;
+ var $2923 = 0, $2924 = 0, $2925 = 0, $2926 = 0, $2927 = 0, $2928 = 0, $2929 = 0, $293 = 0, $2930 = 0, $2931 = 0, $2932 = 0, $2933 = 0, $2934 = 0, $2935 = 0, $2936 = 0, $2937 = 0, $2938 = 0, $2939 = 0, $294 = 0, $2940 = 0;
+ var $2941 = 0, $2942 = 0, $2943 = 0, $2944 = 0, $2945 = 0, $2946 = 0, $2947 = 0, $2948 = 0, $2949 = 0, $295 = 0, $2950 = 0, $2951 = 0, $2952 = 0, $2953 = 0, $2954 = 0, $2955 = 0, $2956 = 0, $2957 = 0, $2958 = 0, $2959 = 0;
+ var $296 = 0, $2960 = 0, $2961 = 0, $2962 = 0, $2963 = 0, $2964 = 0, $2965 = 0, $2966 = 0, $2967 = 0, $2968 = 0, $2969 = 0, $297 = 0, $2970 = 0, $2971 = 0, $2972 = 0, $2973 = 0, $2974 = 0, $2975 = 0, $2976 = 0, $2977 = 0;
+ var $2978 = 0, $2979 = 0, $298 = 0, $2980 = 0, $2981 = 0, $2982 = 0, $2983 = 0, $2984 = 0, $2985 = 0, $2986 = 0, $2987 = 0, $2988 = 0, $2989 = 0, $299 = 0, $2990 = 0, $2991 = 0, $2992 = 0, $2993 = 0, $2994 = 0, $2995 = 0;
+ var $2996 = 0, $2997 = 0, $2998 = 0, $2999 = 0, $3 = 0, $30 = 0, $300 = 0, $3000 = 0, $3001 = 0, $3002 = 0, $3003 = 0, $3004 = 0, $3005 = 0, $3006 = 0, $3007 = 0, $3008 = 0, $3009 = 0, $301 = 0, $3010 = 0, $3011 = 0;
+ var $3012 = 0, $3013 = 0, $3014 = 0, $3015 = 0, $3016 = 0, $3017 = 0, $3018 = 0, $3019 = 0, $302 = 0, $3020 = 0, $3021 = 0, $3022 = 0, $3023 = 0, $3024 = 0, $3025 = 0, $3026 = 0, $3027 = 0, $3028 = 0, $3029 = 0, $303 = 0;
+ var $3030 = 0, $3031 = 0, $3032 = 0, $3033 = 0, $3034 = 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;
+ var $3049 = 0, $305 = 0, $3050 = 0, $3051 = 0, $3052 = 0, $3053 = 0, $3054 = 0, $3055 = 0, $3056 = 0, $3057 = 0, $3058 = 0, $3059 = 0, $306 = 0, $3060 = 0, $3061 = 0, $3062 = 0, $3063 = 0, $3064 = 0, $3065 = 0, $3066 = 0;
+ var $3067 = 0, $3068 = 0, $3069 = 0, $307 = 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;
+ var $3085 = 0, $3086 = 0, $3087 = 0, $3088 = 0, $3089 = 0, $309 = 0, $3090 = 0, $3091 = 0, $3092 = 0, $3093 = 0, $3094 = 0, $3095 = 0, $3096 = 0, $3097 = 0, $3098 = 0, $3099 = 0, $31 = 0, $310 = 0, $3100 = 0, $3101 = 0;
+ var $3102 = 0, $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;
+ var $3120 = 0, $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;
+ var $3139 = 0, $314 = 0, $3140 = 0, $3141 = 0, $3142 = 0, $3143 = 0, $3144 = 0, $3145 = 0, $3146 = 0, $3147 = 0, $3148 = 0, $3149 = 0, $315 = 0, $3150 = 0, $3151 = 0, $3152 = 0, $3153 = 0, $3154 = 0, $3155 = 0, $3156 = 0;
+ var $3157 = 0, $3158 = 0, $3159 = 0, $316 = 0, $3160 = 0, $3161 = 0, $3162 = 0, $3163 = 0, $3164 = 0, $3165 = 0, $3166 = 0, $3167 = 0, $3168 = 0, $3169 = 0, $317 = 0, $3170 = 0, $3171 = 0, $3172 = 0, $3173 = 0, $3174 = 0;
+ var $3175 = 0, $3176 = 0, $3177 = 0, $3178 = 0, $3179 = 0, $318 = 0, $3180 = 0, $3181 = 0, $3182 = 0, $3183 = 0, $3184 = 0, $3185 = 0, $3186 = 0, $3187 = 0, $3188 = 0, $3189 = 0, $319 = 0, $3190 = 0, $3191 = 0, $3192 = 0;
+ var $3193 = 0, $3194 = 0, $3195 = 0, $3196 = 0, $3197 = 0, $3198 = 0, $3199 = 0, $32 = 0, $320 = 0, $3200 = 0, $3201 = 0, $3202 = 0, $3203 = 0, $3204 = 0, $3205 = 0, $3206 = 0, $3207 = 0, $3208 = 0, $3209 = 0, $321 = 0;
+ var $3210 = 0, $3211 = 0, $3212 = 0, $3213 = 0, $3214 = 0, $3215 = 0, $3216 = 0, $3217 = 0, $3218 = 0, $3219 = 0, $322 = 0, $3220 = 0, $3221 = 0, $3222 = 0, $3223 = 0, $3224 = 0, $3225 = 0, $3226 = 0, $3227 = 0, $3228 = 0;
+ var $3229 = 0, $323 = 0, $3230 = 0, $3231 = 0, $3232 = 0, $3233 = 0, $3234 = 0, $3235 = 0, $3236 = 0, $3237 = 0, $3238 = 0, $3239 = 0, $324 = 0, $3240 = 0, $3241 = 0, $3242 = 0, $3243 = 0, $3244 = 0, $3245 = 0, $3246 = 0;
+ var $3247 = 0, $3248 = 0, $3249 = 0, $325 = 0, $3250 = 0, $3251 = 0, $3252 = 0, $3253 = 0, $3254 = 0, $3255 = 0, $3256 = 0, $3257 = 0, $3258 = 0, $3259 = 0, $326 = 0, $3260 = 0, $3261 = 0, $3262 = 0, $3263 = 0, $3264 = 0;
+ var $3265 = 0, $3266 = 0, $3267 = 0, $3268 = 0, $3269 = 0, $327 = 0, $3270 = 0, $3271 = 0, $3272 = 0, $3273 = 0, $3274 = 0, $3275 = 0, $3276 = 0, $3277 = 0, $3278 = 0, $3279 = 0, $328 = 0, $3280 = 0, $3281 = 0, $3282 = 0;
+ var $3283 = 0, $3284 = 0, $3285 = 0, $3286 = 0, $3287 = 0, $3288 = 0, $3289 = 0, $329 = 0, $3290 = 0, $3291 = 0, $3292 = 0, $3293 = 0, $3294 = 0, $3295 = 0, $3296 = 0, $3297 = 0, $3298 = 0, $3299 = 0, $33 = 0, $330 = 0;
+ var $3300 = 0, $3301 = 0, $3302 = 0, $3303 = 0, $3304 = 0, $3305 = 0, $3306 = 0, $3307 = 0, $3308 = 0, $3309 = 0, $331 = 0, $3310 = 0, $3311 = 0, $3312 = 0, $3313 = 0, $3314 = 0, $3315 = 0, $3316 = 0, $3317 = 0, $3318 = 0;
+ var $3319 = 0, $332 = 0, $3320 = 0, $3321 = 0, $3322 = 0, $3323 = 0, $3324 = 0, $3325 = 0, $3326 = 0, $3327 = 0, $3328 = 0, $3329 = 0, $333 = 0, $3330 = 0, $3331 = 0, $3332 = 0, $3333 = 0, $3334 = 0, $3335 = 0, $3336 = 0;
+ var $3337 = 0, $3338 = 0, $3339 = 0, $334 = 0, $3340 = 0, $3341 = 0, $3342 = 0, $3343 = 0, $3344 = 0, $3345 = 0, $3346 = 0, $3347 = 0, $3348 = 0, $3349 = 0, $335 = 0, $3350 = 0, $3351 = 0, $3352 = 0, $3353 = 0, $3354 = 0;
+ var $3355 = 0, $3356 = 0, $3357 = 0, $3358 = 0, $3359 = 0, $336 = 0, $3360 = 0, $3361 = 0, $3362 = 0, $3363 = 0, $3364 = 0, $3365 = 0, $3366 = 0, $3367 = 0, $3368 = 0, $3369 = 0, $337 = 0, $3370 = 0, $3371 = 0, $3372 = 0;
+ var $3373 = 0, $3374 = 0, $3375 = 0, $3376 = 0, $3377 = 0, $3378 = 0, $3379 = 0, $338 = 0, $3380 = 0, $3381 = 0, $3382 = 0, $3383 = 0, $3384 = 0, $3385 = 0, $3386 = 0, $3387 = 0, $3388 = 0, $3389 = 0, $339 = 0, $3390 = 0;
+ var $3391 = 0, $3392 = 0, $3393 = 0, $3394 = 0, $3395 = 0, $3396 = 0, $3397 = 0, $3398 = 0, $3399 = 0, $34 = 0, $340 = 0, $3400 = 0, $3401 = 0, $3402 = 0, $3403 = 0, $3404 = 0, $3405 = 0, $3406 = 0, $3407 = 0, $3408 = 0;
+ var $3409 = 0, $341 = 0, $3410 = 0, $3411 = 0, $3412 = 0, $3413 = 0, $3414 = 0, $3415 = 0, $3416 = 0, $3417 = 0, $3418 = 0, $3419 = 0, $342 = 0, $3420 = 0, $3421 = 0, $3422 = 0, $3423 = 0, $3424 = 0, $3425 = 0, $3426 = 0;
+ var $3427 = 0, $3428 = 0, $3429 = 0, $343 = 0, $3430 = 0, $3431 = 0, $3432 = 0, $3433 = 0, $3434 = 0, $3435 = 0, $3436 = 0, $3437 = 0, $3438 = 0, $3439 = 0, $344 = 0, $3440 = 0, $3441 = 0, $3442 = 0, $3443 = 0, $3444 = 0;
+ var $3445 = 0, $3446 = 0, $3447 = 0, $3448 = 0, $3449 = 0, $345 = 0, $3450 = 0, $3451 = 0, $3452 = 0, $3453 = 0, $3454 = 0, $3455 = 0, $3456 = 0, $3457 = 0, $3458 = 0, $3459 = 0, $346 = 0, $3460 = 0, $3461 = 0, $3462 = 0;
+ var $3463 = 0, $3464 = 0, $3465 = 0, $3466 = 0, $3467 = 0, $3468 = 0, $3469 = 0, $347 = 0, $3470 = 0, $3471 = 0, $3472 = 0, $3473 = 0, $3474 = 0, $3475 = 0, $3476 = 0, $3477 = 0, $3478 = 0, $3479 = 0, $348 = 0, $3480 = 0;
+ var $3481 = 0, $3482 = 0, $3483 = 0, $3484 = 0, $3485 = 0, $3486 = 0, $3487 = 0, $3488 = 0, $3489 = 0, $349 = 0, $3490 = 0, $3491 = 0, $3492 = 0, $3493 = 0, $3494 = 0, $3495 = 0, $3496 = 0, $3497 = 0, $3498 = 0, $3499 = 0;
+ var $35 = 0, $350 = 0, $3500 = 0, $3501 = 0, $3502 = 0, $3503 = 0, $3504 = 0, $3505 = 0, $3506 = 0, $3507 = 0, $3508 = 0, $3509 = 0, $351 = 0, $3510 = 0, $3511 = 0, $3512 = 0, $3513 = 0, $3514 = 0, $3515 = 0, $3516 = 0;
+ var $3517 = 0, $3518 = 0, $3519 = 0, $352 = 0, $3520 = 0, $3521 = 0, $3522 = 0, $3523 = 0, $3524 = 0, $3525 = 0, $3526 = 0, $3527 = 0, $3528 = 0, $3529 = 0, $353 = 0, $3530 = 0, $3531 = 0, $3532 = 0, $3533 = 0, $3534 = 0;
+ var $3535 = 0, $3536 = 0, $3537 = 0, $3538 = 0, $3539 = 0, $354 = 0, $3540 = 0, $3541 = 0, $3542 = 0, $3543 = 0, $3544 = 0, $3545 = 0, $3546 = 0, $3547 = 0, $3548 = 0, $3549 = 0, $355 = 0, $3550 = 0, $3551 = 0, $3552 = 0;
+ var $3553 = 0, $3554 = 0, $3555 = 0, $3556 = 0, $3557 = 0, $3558 = 0, $3559 = 0, $356 = 0, $3560 = 0, $3561 = 0, $3562 = 0, $3563 = 0, $3564 = 0, $3565 = 0, $3566 = 0, $3567 = 0, $3568 = 0, $3569 = 0, $357 = 0, $3570 = 0;
+ var $3571 = 0, $3572 = 0, $3573 = 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, $exitcond$i = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0);
+ $3 = sp;
+ $4 = ((($0)) + 160|0);
+ $5 = ((($0)) + 168|0);
+ $6 = ((($0)) + 176|0);
+ $7 = ((($0)) + 184|0);
+ $8 = ((($0)) + 192|0);
+ $9 = ((($0)) + 200|0);
+ $10 = ((($0)) + 208|0);
+ $11 = ((($0)) + 216|0);
+ $12 = ((($3)) + 112|0);
+ $13 = ((($3)) + 72|0);
+ $14 = ((($3)) + 8|0);
+ $15 = ((($3)) + 120|0);
+ $16 = ((($3)) + 80|0);
+ $17 = ((($3)) + 16|0);
+ $18 = ((($3)) + 88|0);
+ $19 = ((($3)) + 24|0);
+ $20 = ((($3)) + 96|0);
+ $21 = ((($3)) + 32|0);
+ $22 = ((($3)) + 104|0);
+ $23 = ((($3)) + 40|0);
+ $24 = ((($3)) + 48|0);
+ $25 = ((($3)) + 56|0);
+ $26 = ((($3)) + 64|0);
+ $27 = $4;
+ $28 = $27;
+ $29 = HEAP32[$28>>2]|0;
+ $30 = (($27) + 4)|0;
+ $31 = $30;
+ $32 = HEAP32[$31>>2]|0;
+ $33 = $5;
+ $34 = $33;
+ $35 = HEAP32[$34>>2]|0;
+ $36 = (($33) + 4)|0;
+ $37 = $36;
+ $38 = HEAP32[$37>>2]|0;
+ $39 = $6;
+ $40 = $39;
+ $41 = HEAP32[$40>>2]|0;
+ $42 = (($39) + 4)|0;
+ $43 = $42;
+ $44 = HEAP32[$43>>2]|0;
+ $45 = $7;
+ $46 = $45;
+ $47 = HEAP32[$46>>2]|0;
+ $48 = (($45) + 4)|0;
+ $49 = $48;
+ $50 = HEAP32[$49>>2]|0;
+ $51 = $8;
+ $52 = $51;
+ $53 = HEAP32[$52>>2]|0;
+ $54 = (($51) + 4)|0;
+ $55 = $54;
+ $56 = HEAP32[$55>>2]|0;
+ $57 = $9;
+ $58 = $57;
+ $59 = HEAP32[$58>>2]|0;
+ $60 = (($57) + 4)|0;
+ $61 = $60;
+ $62 = HEAP32[$61>>2]|0;
+ $63 = $10;
+ $64 = $63;
+ $65 = HEAP32[$64>>2]|0;
+ $66 = (($63) + 4)|0;
+ $67 = $66;
+ $68 = HEAP32[$67>>2]|0;
+ $69 = $11;
+ $70 = $69;
+ $71 = HEAP32[$70>>2]|0;
+ $72 = (($69) + 4)|0;
+ $73 = $72;
+ $74 = HEAP32[$73>>2]|0;
+ $$0 = $1;$$08 = $2;$3501 = $29;$3502 = $32;$3513 = $35;$3514 = $38;$3521 = $41;$3522 = $44;$3529 = $47;$3530 = $50;$3537 = $53;$3538 = $56;$3547 = $59;$3548 = $62;$3555 = $65;$3556 = $68;$3563 = $71;$3564 = $74;
+ while(1) {
+ $$051156$i = 0;
+ while(1) {
+ $75 = $$051156$i << 3;
+ $76 = (($$0) + ($75)|0);
+ $77 = HEAP8[$76>>0]|0;
+ $78 = $77&255;
+ $79 = (_bitshift64Shl(($78|0),0,56)|0);
+ $80 = tempRet0;
+ $81 = ((($76)) + 1|0);
+ $82 = HEAP8[$81>>0]|0;
+ $83 = $82&255;
+ $84 = (_bitshift64Shl(($83|0),0,48)|0);
+ $85 = tempRet0;
+ $86 = $84 | $79;
+ $87 = $85 | $80;
+ $88 = ((($76)) + 2|0);
+ $89 = HEAP8[$88>>0]|0;
+ $90 = $89&255;
+ $91 = (_bitshift64Shl(($90|0),0,40)|0);
+ $92 = tempRet0;
+ $93 = $86 | $91;
+ $94 = $87 | $92;
+ $95 = ((($76)) + 3|0);
+ $96 = HEAP8[$95>>0]|0;
+ $97 = $96&255;
+ $98 = $94 | $97;
+ $99 = ((($76)) + 4|0);
+ $100 = HEAP8[$99>>0]|0;
+ $101 = $100&255;
+ $102 = (_bitshift64Shl(($101|0),0,24)|0);
+ $103 = tempRet0;
+ $104 = $93 | $102;
+ $105 = $98 | $103;
+ $106 = ((($76)) + 5|0);
+ $107 = HEAP8[$106>>0]|0;
+ $108 = $107&255;
+ $109 = (_bitshift64Shl(($108|0),0,16)|0);
+ $110 = tempRet0;
+ $111 = $104 | $109;
+ $112 = $105 | $110;
+ $113 = ((($76)) + 6|0);
+ $114 = HEAP8[$113>>0]|0;
+ $115 = $114&255;
+ $116 = (_bitshift64Shl(($115|0),0,8)|0);
+ $117 = tempRet0;
+ $118 = $111 | $116;
+ $119 = $112 | $117;
+ $120 = ((($76)) + 7|0);
+ $121 = HEAP8[$120>>0]|0;
+ $122 = $121&255;
+ $123 = $118 | $122;
+ $124 = (($3) + ($$051156$i<<3)|0);
+ $125 = $124;
+ $126 = $125;
+ HEAP32[$126>>2] = $123;
+ $127 = (($125) + 4)|0;
+ $128 = $127;
+ HEAP32[$128>>2] = $119;
+ $129 = (($$051156$i) + 1)|0;
+ $exitcond$i = ($129|0)==(16);
+ if ($exitcond$i) {
+ break;
+ } else {
+ $$051156$i = $129;
+ }
+ }
+ $130 = $3;
+ $131 = $130;
+ $132 = HEAP32[$131>>2]|0;
+ $133 = (($130) + 4)|0;
+ $134 = $133;
+ $135 = HEAP32[$134>>2]|0;
+ $136 = $12;
+ $137 = $136;
+ $138 = HEAP32[$137>>2]|0;
+ $139 = (($136) + 4)|0;
+ $140 = $139;
+ $141 = HEAP32[$140>>2]|0;
+ $142 = $13;
+ $143 = $142;
+ $144 = HEAP32[$143>>2]|0;
+ $145 = (($142) + 4)|0;
+ $146 = $145;
+ $147 = HEAP32[$146>>2]|0;
+ $148 = $14;
+ $149 = $148;
+ $150 = HEAP32[$149>>2]|0;
+ $151 = (($148) + 4)|0;
+ $152 = $151;
+ $153 = HEAP32[$152>>2]|0;
+ $154 = $15;
+ $155 = $154;
+ $156 = HEAP32[$155>>2]|0;
+ $157 = (($154) + 4)|0;
+ $158 = $157;
+ $159 = HEAP32[$158>>2]|0;
+ $160 = $16;
+ $161 = $160;
+ $162 = HEAP32[$161>>2]|0;
+ $163 = (($160) + 4)|0;
+ $164 = $163;
+ $165 = HEAP32[$164>>2]|0;
+ $166 = $17;
+ $167 = $166;
+ $168 = HEAP32[$167>>2]|0;
+ $169 = (($166) + 4)|0;
+ $170 = $169;
+ $171 = HEAP32[$170>>2]|0;
+ $172 = $18;
+ $173 = $172;
+ $174 = HEAP32[$173>>2]|0;
+ $175 = (($172) + 4)|0;
+ $176 = $175;
+ $177 = HEAP32[$176>>2]|0;
+ $178 = $19;
+ $179 = $178;
+ $180 = HEAP32[$179>>2]|0;
+ $181 = (($178) + 4)|0;
+ $182 = $181;
+ $183 = HEAP32[$182>>2]|0;
+ $184 = $20;
+ $185 = $184;
+ $186 = HEAP32[$185>>2]|0;
+ $187 = (($184) + 4)|0;
+ $188 = $187;
+ $189 = HEAP32[$188>>2]|0;
+ $190 = $21;
+ $191 = $190;
+ $192 = HEAP32[$191>>2]|0;
+ $193 = (($190) + 4)|0;
+ $194 = $193;
+ $195 = HEAP32[$194>>2]|0;
+ $196 = $22;
+ $197 = $196;
+ $198 = HEAP32[$197>>2]|0;
+ $199 = (($196) + 4)|0;
+ $200 = $199;
+ $201 = HEAP32[$200>>2]|0;
+ $202 = $23;
+ $203 = $202;
+ $204 = HEAP32[$203>>2]|0;
+ $205 = (($202) + 4)|0;
+ $206 = $205;
+ $207 = HEAP32[$206>>2]|0;
+ $208 = $24;
+ $209 = $208;
+ $210 = HEAP32[$209>>2]|0;
+ $211 = (($208) + 4)|0;
+ $212 = $211;
+ $213 = HEAP32[$212>>2]|0;
+ $214 = $25;
+ $215 = $214;
+ $216 = HEAP32[$215>>2]|0;
+ $217 = (($214) + 4)|0;
+ $218 = $217;
+ $219 = HEAP32[$218>>2]|0;
+ $220 = $26;
+ $221 = $220;
+ $222 = HEAP32[$221>>2]|0;
+ $223 = (($220) + 4)|0;
+ $224 = $223;
+ $225 = HEAP32[$224>>2]|0;
+ $$151221$i = 0;$1077 = $216;$1078 = $219;$1203 = $222;$1204 = $225;$226 = $3537;$227 = $3538;$251 = $3547;$253 = $3548;$257 = $3555;$259 = $3556;$269 = $3563;$270 = $3564;$271 = $132;$272 = $135;$281 = $138;$282 = $141;$301 = $150;$302 = $153;$321 = $144;$322 = $147;$329 = $3501;$330 = $3502;$354 = $3521;$355 = $3513;$357 = $3522;$358 = $3514;$367 = $3529;$368 = $3530;$419 = $156;$420 = $159;$439 = $168;$440 = $171;$459 = $162;$460 = $165;$567 = $180;$568 = $183;$587 = $174;$588 = $177;$695 = $192;$696 = $195;$715 = $186;$716 = $189;$823 = $204;$824 = $207;$843 = $198;$844 = $201;$951 = $210;$952 = $213;
+ while(1) {
+ $228 = (_bitshift64Lshr(($226|0),($227|0),14)|0);
+ $229 = tempRet0;
+ $230 = (_bitshift64Shl(($226|0),($227|0),50)|0);
+ $231 = tempRet0;
+ $232 = $230 | $228;
+ $233 = $231 | $229;
+ $234 = (_bitshift64Lshr(($226|0),($227|0),18)|0);
+ $235 = tempRet0;
+ $236 = (_bitshift64Shl(($226|0),($227|0),46)|0);
+ $237 = tempRet0;
+ $238 = $236 | $234;
+ $239 = $237 | $235;
+ $240 = $232 ^ $238;
+ $241 = $233 ^ $239;
+ $242 = (_bitshift64Lshr(($226|0),($227|0),41)|0);
+ $243 = tempRet0;
+ $244 = (_bitshift64Shl(($226|0),($227|0),23)|0);
+ $245 = tempRet0;
+ $246 = $244 | $242;
+ $247 = $245 | $243;
+ $248 = $240 ^ $246;
+ $249 = $241 ^ $247;
+ $250 = $226 & $251;
+ $252 = $227 & $253;
+ $254 = $226 ^ -1;
+ $255 = $227 ^ -1;
+ $256 = $257 & $254;
+ $258 = $259 & $255;
+ $260 = $256 ^ $250;
+ $261 = $258 ^ $252;
+ $262 = (8128 + ($$151221$i<<3)|0);
+ $263 = $262;
+ $264 = $263;
+ $265 = HEAP32[$264>>2]|0;
+ $266 = (($263) + 4)|0;
+ $267 = $266;
+ $268 = HEAP32[$267>>2]|0;
+ $273 = (_i64Add(($269|0),($270|0),($271|0),($272|0))|0);
+ $274 = tempRet0;
+ $275 = (_i64Add(($273|0),($274|0),($265|0),($268|0))|0);
+ $276 = tempRet0;
+ $277 = (_i64Add(($275|0),($276|0),($260|0),($261|0))|0);
+ $278 = tempRet0;
+ $279 = (_i64Add(($277|0),($278|0),($248|0),($249|0))|0);
+ $280 = tempRet0;
+ $283 = (_bitshift64Lshr(($281|0),($282|0),19)|0);
+ $284 = tempRet0;
+ $285 = (_bitshift64Shl(($281|0),($282|0),45)|0);
+ $286 = tempRet0;
+ $287 = $285 | $283;
+ $288 = $286 | $284;
+ $289 = (_bitshift64Lshr(($281|0),($282|0),61)|0);
+ $290 = tempRet0;
+ $291 = (_bitshift64Shl(($281|0),($282|0),3)|0);
+ $292 = tempRet0;
+ $293 = $291 | $289;
+ $294 = $292 | $290;
+ $295 = (_bitshift64Lshr(($281|0),($282|0),6)|0);
+ $296 = tempRet0;
+ $297 = $293 ^ $295;
+ $298 = $294 ^ $296;
+ $299 = $297 ^ $287;
+ $300 = $298 ^ $288;
+ $303 = (_bitshift64Lshr(($301|0),($302|0),1)|0);
+ $304 = tempRet0;
+ $305 = (_bitshift64Shl(($301|0),($302|0),63)|0);
+ $306 = tempRet0;
+ $307 = $305 | $303;
+ $308 = $306 | $304;
+ $309 = (_bitshift64Lshr(($301|0),($302|0),8)|0);
+ $310 = tempRet0;
+ $311 = (_bitshift64Shl(($301|0),($302|0),56)|0);
+ $312 = tempRet0;
+ $313 = $311 | $309;
+ $314 = $312 | $310;
+ $315 = (_bitshift64Lshr(($301|0),($302|0),7)|0);
+ $316 = tempRet0;
+ $317 = $313 ^ $315;
+ $318 = $314 ^ $316;
+ $319 = $317 ^ $307;
+ $320 = $318 ^ $308;
+ $323 = (_i64Add(($271|0),($272|0),($321|0),($322|0))|0);
+ $324 = tempRet0;
+ $325 = (_i64Add(($323|0),($324|0),($319|0),($320|0))|0);
+ $326 = tempRet0;
+ $327 = (_i64Add(($325|0),($326|0),($299|0),($300|0))|0);
+ $328 = tempRet0;
+ $331 = (_bitshift64Lshr(($329|0),($330|0),28)|0);
+ $332 = tempRet0;
+ $333 = (_bitshift64Shl(($329|0),($330|0),36)|0);
+ $334 = tempRet0;
+ $335 = $333 | $331;
+ $336 = $334 | $332;
+ $337 = (_bitshift64Lshr(($329|0),($330|0),34)|0);
+ $338 = tempRet0;
+ $339 = (_bitshift64Shl(($329|0),($330|0),30)|0);
+ $340 = tempRet0;
+ $341 = $339 | $337;
+ $342 = $340 | $338;
+ $343 = $335 ^ $341;
+ $344 = $336 ^ $342;
+ $345 = (_bitshift64Lshr(($329|0),($330|0),39)|0);
+ $346 = tempRet0;
+ $347 = (_bitshift64Shl(($329|0),($330|0),25)|0);
+ $348 = tempRet0;
+ $349 = $347 | $345;
+ $350 = $348 | $346;
+ $351 = $343 ^ $349;
+ $352 = $344 ^ $350;
+ $353 = $354 ^ $355;
+ $356 = $357 ^ $358;
+ $359 = $353 & $329;
+ $360 = $356 & $330;
+ $361 = $354 & $355;
+ $362 = $357 & $358;
+ $363 = $359 ^ $361;
+ $364 = $360 ^ $362;
+ $365 = (_i64Add(($363|0),($364|0),($351|0),($352|0))|0);
+ $366 = tempRet0;
+ $369 = (_i64Add(($279|0),($280|0),($367|0),($368|0))|0);
+ $370 = tempRet0;
+ $371 = (_i64Add(($365|0),($366|0),($279|0),($280|0))|0);
+ $372 = tempRet0;
+ $373 = (_bitshift64Lshr(($369|0),($370|0),14)|0);
+ $374 = tempRet0;
+ $375 = (_bitshift64Shl(($369|0),($370|0),50)|0);
+ $376 = tempRet0;
+ $377 = $375 | $373;
+ $378 = $376 | $374;
+ $379 = (_bitshift64Lshr(($369|0),($370|0),18)|0);
+ $380 = tempRet0;
+ $381 = (_bitshift64Shl(($369|0),($370|0),46)|0);
+ $382 = tempRet0;
+ $383 = $381 | $379;
+ $384 = $382 | $380;
+ $385 = $377 ^ $383;
+ $386 = $378 ^ $384;
+ $387 = (_bitshift64Lshr(($369|0),($370|0),41)|0);
+ $388 = tempRet0;
+ $389 = (_bitshift64Shl(($369|0),($370|0),23)|0);
+ $390 = tempRet0;
+ $391 = $389 | $387;
+ $392 = $390 | $388;
+ $393 = $385 ^ $391;
+ $394 = $386 ^ $392;
+ $395 = $369 & $226;
+ $396 = $370 & $227;
+ $397 = $369 ^ -1;
+ $398 = $370 ^ -1;
+ $399 = $251 & $397;
+ $400 = $253 & $398;
+ $401 = $399 ^ $395;
+ $402 = $400 ^ $396;
+ $403 = $$151221$i | 1;
+ $404 = (8128 + ($403<<3)|0);
+ $405 = $404;
+ $406 = $405;
+ $407 = HEAP32[$406>>2]|0;
+ $408 = (($405) + 4)|0;
+ $409 = $408;
+ $410 = HEAP32[$409>>2]|0;
+ $411 = (_i64Add(($257|0),($259|0),($301|0),($302|0))|0);
+ $412 = tempRet0;
+ $413 = (_i64Add(($411|0),($412|0),($407|0),($410|0))|0);
+ $414 = tempRet0;
+ $415 = (_i64Add(($413|0),($414|0),($401|0),($402|0))|0);
+ $416 = tempRet0;
+ $417 = (_i64Add(($415|0),($416|0),($393|0),($394|0))|0);
+ $418 = tempRet0;
+ $421 = (_bitshift64Lshr(($419|0),($420|0),19)|0);
+ $422 = tempRet0;
+ $423 = (_bitshift64Shl(($419|0),($420|0),45)|0);
+ $424 = tempRet0;
+ $425 = $423 | $421;
+ $426 = $424 | $422;
+ $427 = (_bitshift64Lshr(($419|0),($420|0),61)|0);
+ $428 = tempRet0;
+ $429 = (_bitshift64Shl(($419|0),($420|0),3)|0);
+ $430 = tempRet0;
+ $431 = $429 | $427;
+ $432 = $430 | $428;
+ $433 = (_bitshift64Lshr(($419|0),($420|0),6)|0);
+ $434 = tempRet0;
+ $435 = $431 ^ $433;
+ $436 = $432 ^ $434;
+ $437 = $435 ^ $425;
+ $438 = $436 ^ $426;
+ $441 = (_bitshift64Lshr(($439|0),($440|0),1)|0);
+ $442 = tempRet0;
+ $443 = (_bitshift64Shl(($439|0),($440|0),63)|0);
+ $444 = tempRet0;
+ $445 = $443 | $441;
+ $446 = $444 | $442;
+ $447 = (_bitshift64Lshr(($439|0),($440|0),8)|0);
+ $448 = tempRet0;
+ $449 = (_bitshift64Shl(($439|0),($440|0),56)|0);
+ $450 = tempRet0;
+ $451 = $449 | $447;
+ $452 = $450 | $448;
+ $453 = (_bitshift64Lshr(($439|0),($440|0),7)|0);
+ $454 = tempRet0;
+ $455 = $451 ^ $453;
+ $456 = $452 ^ $454;
+ $457 = $455 ^ $445;
+ $458 = $456 ^ $446;
+ $461 = (_i64Add(($301|0),($302|0),($459|0),($460|0))|0);
+ $462 = tempRet0;
+ $463 = (_i64Add(($461|0),($462|0),($457|0),($458|0))|0);
+ $464 = tempRet0;
+ $465 = (_i64Add(($463|0),($464|0),($437|0),($438|0))|0);
+ $466 = tempRet0;
+ $467 = (_bitshift64Lshr(($371|0),($372|0),28)|0);
+ $468 = tempRet0;
+ $469 = (_bitshift64Shl(($371|0),($372|0),36)|0);
+ $470 = tempRet0;
+ $471 = $469 | $467;
+ $472 = $470 | $468;
+ $473 = (_bitshift64Lshr(($371|0),($372|0),34)|0);
+ $474 = tempRet0;
+ $475 = (_bitshift64Shl(($371|0),($372|0),30)|0);
+ $476 = tempRet0;
+ $477 = $475 | $473;
+ $478 = $476 | $474;
+ $479 = $471 ^ $477;
+ $480 = $472 ^ $478;
+ $481 = (_bitshift64Lshr(($371|0),($372|0),39)|0);
+ $482 = tempRet0;
+ $483 = (_bitshift64Shl(($371|0),($372|0),25)|0);
+ $484 = tempRet0;
+ $485 = $483 | $481;
+ $486 = $484 | $482;
+ $487 = $479 ^ $485;
+ $488 = $480 ^ $486;
+ $489 = $355 ^ $329;
+ $490 = $358 ^ $330;
+ $491 = $371 & $489;
+ $492 = $372 & $490;
+ $493 = $355 & $329;
+ $494 = $358 & $330;
+ $495 = $491 ^ $493;
+ $496 = $492 ^ $494;
+ $497 = (_i64Add(($487|0),($488|0),($495|0),($496|0))|0);
+ $498 = tempRet0;
+ $499 = (_i64Add(($417|0),($418|0),($354|0),($357|0))|0);
+ $500 = tempRet0;
+ $501 = (_i64Add(($497|0),($498|0),($417|0),($418|0))|0);
+ $502 = tempRet0;
+ $503 = (_bitshift64Lshr(($499|0),($500|0),14)|0);
+ $504 = tempRet0;
+ $505 = (_bitshift64Shl(($499|0),($500|0),50)|0);
+ $506 = tempRet0;
+ $507 = $505 | $503;
+ $508 = $506 | $504;
+ $509 = (_bitshift64Lshr(($499|0),($500|0),18)|0);
+ $510 = tempRet0;
+ $511 = (_bitshift64Shl(($499|0),($500|0),46)|0);
+ $512 = tempRet0;
+ $513 = $511 | $509;
+ $514 = $512 | $510;
+ $515 = $507 ^ $513;
+ $516 = $508 ^ $514;
+ $517 = (_bitshift64Lshr(($499|0),($500|0),41)|0);
+ $518 = tempRet0;
+ $519 = (_bitshift64Shl(($499|0),($500|0),23)|0);
+ $520 = tempRet0;
+ $521 = $519 | $517;
+ $522 = $520 | $518;
+ $523 = $515 ^ $521;
+ $524 = $516 ^ $522;
+ $525 = $499 & $369;
+ $526 = $500 & $370;
+ $527 = $499 ^ -1;
+ $528 = $500 ^ -1;
+ $529 = $226 & $527;
+ $530 = $227 & $528;
+ $531 = $529 ^ $525;
+ $532 = $530 ^ $526;
+ $533 = $$151221$i | 2;
+ $534 = (8128 + ($533<<3)|0);
+ $535 = $534;
+ $536 = $535;
+ $537 = HEAP32[$536>>2]|0;
+ $538 = (($535) + 4)|0;
+ $539 = $538;
+ $540 = HEAP32[$539>>2]|0;
+ $541 = (_i64Add(($251|0),($253|0),($439|0),($440|0))|0);
+ $542 = tempRet0;
+ $543 = (_i64Add(($541|0),($542|0),($537|0),($540|0))|0);
+ $544 = tempRet0;
+ $545 = (_i64Add(($543|0),($544|0),($531|0),($532|0))|0);
+ $546 = tempRet0;
+ $547 = (_i64Add(($545|0),($546|0),($523|0),($524|0))|0);
+ $548 = tempRet0;
+ $549 = (_bitshift64Lshr(($327|0),($328|0),19)|0);
+ $550 = tempRet0;
+ $551 = (_bitshift64Shl(($327|0),($328|0),45)|0);
+ $552 = tempRet0;
+ $553 = $551 | $549;
+ $554 = $552 | $550;
+ $555 = (_bitshift64Lshr(($327|0),($328|0),61)|0);
+ $556 = tempRet0;
+ $557 = (_bitshift64Shl(($327|0),($328|0),3)|0);
+ $558 = tempRet0;
+ $559 = $557 | $555;
+ $560 = $558 | $556;
+ $561 = (_bitshift64Lshr(($327|0),($328|0),6)|0);
+ $562 = tempRet0;
+ $563 = $559 ^ $561;
+ $564 = $560 ^ $562;
+ $565 = $563 ^ $553;
+ $566 = $564 ^ $554;
+ $569 = (_bitshift64Lshr(($567|0),($568|0),1)|0);
+ $570 = tempRet0;
+ $571 = (_bitshift64Shl(($567|0),($568|0),63)|0);
+ $572 = tempRet0;
+ $573 = $571 | $569;
+ $574 = $572 | $570;
+ $575 = (_bitshift64Lshr(($567|0),($568|0),8)|0);
+ $576 = tempRet0;
+ $577 = (_bitshift64Shl(($567|0),($568|0),56)|0);
+ $578 = tempRet0;
+ $579 = $577 | $575;
+ $580 = $578 | $576;
+ $581 = (_bitshift64Lshr(($567|0),($568|0),7)|0);
+ $582 = tempRet0;
+ $583 = $579 ^ $581;
+ $584 = $580 ^ $582;
+ $585 = $583 ^ $573;
+ $586 = $584 ^ $574;
+ $589 = (_i64Add(($439|0),($440|0),($587|0),($588|0))|0);
+ $590 = tempRet0;
+ $591 = (_i64Add(($589|0),($590|0),($585|0),($586|0))|0);
+ $592 = tempRet0;
+ $593 = (_i64Add(($591|0),($592|0),($565|0),($566|0))|0);
+ $594 = tempRet0;
+ $595 = (_bitshift64Lshr(($501|0),($502|0),28)|0);
+ $596 = tempRet0;
+ $597 = (_bitshift64Shl(($501|0),($502|0),36)|0);
+ $598 = tempRet0;
+ $599 = $597 | $595;
+ $600 = $598 | $596;
+ $601 = (_bitshift64Lshr(($501|0),($502|0),34)|0);
+ $602 = tempRet0;
+ $603 = (_bitshift64Shl(($501|0),($502|0),30)|0);
+ $604 = tempRet0;
+ $605 = $603 | $601;
+ $606 = $604 | $602;
+ $607 = $599 ^ $605;
+ $608 = $600 ^ $606;
+ $609 = (_bitshift64Lshr(($501|0),($502|0),39)|0);
+ $610 = tempRet0;
+ $611 = (_bitshift64Shl(($501|0),($502|0),25)|0);
+ $612 = tempRet0;
+ $613 = $611 | $609;
+ $614 = $612 | $610;
+ $615 = $607 ^ $613;
+ $616 = $608 ^ $614;
+ $617 = $371 ^ $329;
+ $618 = $372 ^ $330;
+ $619 = $501 & $617;
+ $620 = $502 & $618;
+ $621 = $371 & $329;
+ $622 = $372 & $330;
+ $623 = $619 ^ $621;
+ $624 = $620 ^ $622;
+ $625 = (_i64Add(($615|0),($616|0),($623|0),($624|0))|0);
+ $626 = tempRet0;
+ $627 = (_i64Add(($547|0),($548|0),($355|0),($358|0))|0);
+ $628 = tempRet0;
+ $629 = (_i64Add(($625|0),($626|0),($547|0),($548|0))|0);
+ $630 = tempRet0;
+ $631 = (_bitshift64Lshr(($627|0),($628|0),14)|0);
+ $632 = tempRet0;
+ $633 = (_bitshift64Shl(($627|0),($628|0),50)|0);
+ $634 = tempRet0;
+ $635 = $633 | $631;
+ $636 = $634 | $632;
+ $637 = (_bitshift64Lshr(($627|0),($628|0),18)|0);
+ $638 = tempRet0;
+ $639 = (_bitshift64Shl(($627|0),($628|0),46)|0);
+ $640 = tempRet0;
+ $641 = $639 | $637;
+ $642 = $640 | $638;
+ $643 = $635 ^ $641;
+ $644 = $636 ^ $642;
+ $645 = (_bitshift64Lshr(($627|0),($628|0),41)|0);
+ $646 = tempRet0;
+ $647 = (_bitshift64Shl(($627|0),($628|0),23)|0);
+ $648 = tempRet0;
+ $649 = $647 | $645;
+ $650 = $648 | $646;
+ $651 = $643 ^ $649;
+ $652 = $644 ^ $650;
+ $653 = $627 & $499;
+ $654 = $628 & $500;
+ $655 = $627 ^ -1;
+ $656 = $628 ^ -1;
+ $657 = $369 & $655;
+ $658 = $370 & $656;
+ $659 = $657 ^ $653;
+ $660 = $658 ^ $654;
+ $661 = $$151221$i | 3;
+ $662 = (8128 + ($661<<3)|0);
+ $663 = $662;
+ $664 = $663;
+ $665 = HEAP32[$664>>2]|0;
+ $666 = (($663) + 4)|0;
+ $667 = $666;
+ $668 = HEAP32[$667>>2]|0;
+ $669 = (_i64Add(($226|0),($227|0),($567|0),($568|0))|0);
+ $670 = tempRet0;
+ $671 = (_i64Add(($669|0),($670|0),($665|0),($668|0))|0);
+ $672 = tempRet0;
+ $673 = (_i64Add(($671|0),($672|0),($659|0),($660|0))|0);
+ $674 = tempRet0;
+ $675 = (_i64Add(($673|0),($674|0),($651|0),($652|0))|0);
+ $676 = tempRet0;
+ $677 = (_bitshift64Lshr(($465|0),($466|0),19)|0);
+ $678 = tempRet0;
+ $679 = (_bitshift64Shl(($465|0),($466|0),45)|0);
+ $680 = tempRet0;
+ $681 = $679 | $677;
+ $682 = $680 | $678;
+ $683 = (_bitshift64Lshr(($465|0),($466|0),61)|0);
+ $684 = tempRet0;
+ $685 = (_bitshift64Shl(($465|0),($466|0),3)|0);
+ $686 = tempRet0;
+ $687 = $685 | $683;
+ $688 = $686 | $684;
+ $689 = (_bitshift64Lshr(($465|0),($466|0),6)|0);
+ $690 = tempRet0;
+ $691 = $687 ^ $689;
+ $692 = $688 ^ $690;
+ $693 = $691 ^ $681;
+ $694 = $692 ^ $682;
+ $697 = (_bitshift64Lshr(($695|0),($696|0),1)|0);
+ $698 = tempRet0;
+ $699 = (_bitshift64Shl(($695|0),($696|0),63)|0);
+ $700 = tempRet0;
+ $701 = $699 | $697;
+ $702 = $700 | $698;
+ $703 = (_bitshift64Lshr(($695|0),($696|0),8)|0);
+ $704 = tempRet0;
+ $705 = (_bitshift64Shl(($695|0),($696|0),56)|0);
+ $706 = tempRet0;
+ $707 = $705 | $703;
+ $708 = $706 | $704;
+ $709 = (_bitshift64Lshr(($695|0),($696|0),7)|0);
+ $710 = tempRet0;
+ $711 = $707 ^ $709;
+ $712 = $708 ^ $710;
+ $713 = $711 ^ $701;
+ $714 = $712 ^ $702;
+ $717 = (_i64Add(($567|0),($568|0),($715|0),($716|0))|0);
+ $718 = tempRet0;
+ $719 = (_i64Add(($717|0),($718|0),($713|0),($714|0))|0);
+ $720 = tempRet0;
+ $721 = (_i64Add(($719|0),($720|0),($693|0),($694|0))|0);
+ $722 = tempRet0;
+ $723 = (_bitshift64Lshr(($629|0),($630|0),28)|0);
+ $724 = tempRet0;
+ $725 = (_bitshift64Shl(($629|0),($630|0),36)|0);
+ $726 = tempRet0;
+ $727 = $725 | $723;
+ $728 = $726 | $724;
+ $729 = (_bitshift64Lshr(($629|0),($630|0),34)|0);
+ $730 = tempRet0;
+ $731 = (_bitshift64Shl(($629|0),($630|0),30)|0);
+ $732 = tempRet0;
+ $733 = $731 | $729;
+ $734 = $732 | $730;
+ $735 = $727 ^ $733;
+ $736 = $728 ^ $734;
+ $737 = (_bitshift64Lshr(($629|0),($630|0),39)|0);
+ $738 = tempRet0;
+ $739 = (_bitshift64Shl(($629|0),($630|0),25)|0);
+ $740 = tempRet0;
+ $741 = $739 | $737;
+ $742 = $740 | $738;
+ $743 = $735 ^ $741;
+ $744 = $736 ^ $742;
+ $745 = $501 ^ $371;
+ $746 = $502 ^ $372;
+ $747 = $629 & $745;
+ $748 = $630 & $746;
+ $749 = $501 & $371;
+ $750 = $502 & $372;
+ $751 = $747 ^ $749;
+ $752 = $748 ^ $750;
+ $753 = (_i64Add(($743|0),($744|0),($751|0),($752|0))|0);
+ $754 = tempRet0;
+ $755 = (_i64Add(($675|0),($676|0),($329|0),($330|0))|0);
+ $756 = tempRet0;
+ $757 = (_i64Add(($753|0),($754|0),($675|0),($676|0))|0);
+ $758 = tempRet0;
+ $759 = (_bitshift64Lshr(($755|0),($756|0),14)|0);
+ $760 = tempRet0;
+ $761 = (_bitshift64Shl(($755|0),($756|0),50)|0);
+ $762 = tempRet0;
+ $763 = $761 | $759;
+ $764 = $762 | $760;
+ $765 = (_bitshift64Lshr(($755|0),($756|0),18)|0);
+ $766 = tempRet0;
+ $767 = (_bitshift64Shl(($755|0),($756|0),46)|0);
+ $768 = tempRet0;
+ $769 = $767 | $765;
+ $770 = $768 | $766;
+ $771 = $763 ^ $769;
+ $772 = $764 ^ $770;
+ $773 = (_bitshift64Lshr(($755|0),($756|0),41)|0);
+ $774 = tempRet0;
+ $775 = (_bitshift64Shl(($755|0),($756|0),23)|0);
+ $776 = tempRet0;
+ $777 = $775 | $773;
+ $778 = $776 | $774;
+ $779 = $771 ^ $777;
+ $780 = $772 ^ $778;
+ $781 = $755 & $627;
+ $782 = $756 & $628;
+ $783 = $755 ^ -1;
+ $784 = $756 ^ -1;
+ $785 = $499 & $783;
+ $786 = $500 & $784;
+ $787 = $785 ^ $781;
+ $788 = $786 ^ $782;
+ $789 = $$151221$i | 4;
+ $790 = (8128 + ($789<<3)|0);
+ $791 = $790;
+ $792 = $791;
+ $793 = HEAP32[$792>>2]|0;
+ $794 = (($791) + 4)|0;
+ $795 = $794;
+ $796 = HEAP32[$795>>2]|0;
+ $797 = (_i64Add(($793|0),($796|0),($695|0),($696|0))|0);
+ $798 = tempRet0;
+ $799 = (_i64Add(($797|0),($798|0),($369|0),($370|0))|0);
+ $800 = tempRet0;
+ $801 = (_i64Add(($799|0),($800|0),($787|0),($788|0))|0);
+ $802 = tempRet0;
+ $803 = (_i64Add(($801|0),($802|0),($779|0),($780|0))|0);
+ $804 = tempRet0;
+ $805 = (_bitshift64Lshr(($593|0),($594|0),19)|0);
+ $806 = tempRet0;
+ $807 = (_bitshift64Shl(($593|0),($594|0),45)|0);
+ $808 = tempRet0;
+ $809 = $807 | $805;
+ $810 = $808 | $806;
+ $811 = (_bitshift64Lshr(($593|0),($594|0),61)|0);
+ $812 = tempRet0;
+ $813 = (_bitshift64Shl(($593|0),($594|0),3)|0);
+ $814 = tempRet0;
+ $815 = $813 | $811;
+ $816 = $814 | $812;
+ $817 = (_bitshift64Lshr(($593|0),($594|0),6)|0);
+ $818 = tempRet0;
+ $819 = $815 ^ $817;
+ $820 = $816 ^ $818;
+ $821 = $819 ^ $809;
+ $822 = $820 ^ $810;
+ $825 = (_bitshift64Lshr(($823|0),($824|0),1)|0);
+ $826 = tempRet0;
+ $827 = (_bitshift64Shl(($823|0),($824|0),63)|0);
+ $828 = tempRet0;
+ $829 = $827 | $825;
+ $830 = $828 | $826;
+ $831 = (_bitshift64Lshr(($823|0),($824|0),8)|0);
+ $832 = tempRet0;
+ $833 = (_bitshift64Shl(($823|0),($824|0),56)|0);
+ $834 = tempRet0;
+ $835 = $833 | $831;
+ $836 = $834 | $832;
+ $837 = (_bitshift64Lshr(($823|0),($824|0),7)|0);
+ $838 = tempRet0;
+ $839 = $835 ^ $837;
+ $840 = $836 ^ $838;
+ $841 = $839 ^ $829;
+ $842 = $840 ^ $830;
+ $845 = (_i64Add(($695|0),($696|0),($843|0),($844|0))|0);
+ $846 = tempRet0;
+ $847 = (_i64Add(($845|0),($846|0),($841|0),($842|0))|0);
+ $848 = tempRet0;
+ $849 = (_i64Add(($847|0),($848|0),($821|0),($822|0))|0);
+ $850 = tempRet0;
+ $851 = (_bitshift64Lshr(($757|0),($758|0),28)|0);
+ $852 = tempRet0;
+ $853 = (_bitshift64Shl(($757|0),($758|0),36)|0);
+ $854 = tempRet0;
+ $855 = $853 | $851;
+ $856 = $854 | $852;
+ $857 = (_bitshift64Lshr(($757|0),($758|0),34)|0);
+ $858 = tempRet0;
+ $859 = (_bitshift64Shl(($757|0),($758|0),30)|0);
+ $860 = tempRet0;
+ $861 = $859 | $857;
+ $862 = $860 | $858;
+ $863 = $855 ^ $861;
+ $864 = $856 ^ $862;
+ $865 = (_bitshift64Lshr(($757|0),($758|0),39)|0);
+ $866 = tempRet0;
+ $867 = (_bitshift64Shl(($757|0),($758|0),25)|0);
+ $868 = tempRet0;
+ $869 = $867 | $865;
+ $870 = $868 | $866;
+ $871 = $863 ^ $869;
+ $872 = $864 ^ $870;
+ $873 = $629 ^ $501;
+ $874 = $630 ^ $502;
+ $875 = $757 & $873;
+ $876 = $758 & $874;
+ $877 = $629 & $501;
+ $878 = $630 & $502;
+ $879 = $875 ^ $877;
+ $880 = $876 ^ $878;
+ $881 = (_i64Add(($871|0),($872|0),($879|0),($880|0))|0);
+ $882 = tempRet0;
+ $883 = (_i64Add(($803|0),($804|0),($371|0),($372|0))|0);
+ $884 = tempRet0;
+ $885 = (_i64Add(($881|0),($882|0),($803|0),($804|0))|0);
+ $886 = tempRet0;
+ $887 = (_bitshift64Lshr(($883|0),($884|0),14)|0);
+ $888 = tempRet0;
+ $889 = (_bitshift64Shl(($883|0),($884|0),50)|0);
+ $890 = tempRet0;
+ $891 = $889 | $887;
+ $892 = $890 | $888;
+ $893 = (_bitshift64Lshr(($883|0),($884|0),18)|0);
+ $894 = tempRet0;
+ $895 = (_bitshift64Shl(($883|0),($884|0),46)|0);
+ $896 = tempRet0;
+ $897 = $895 | $893;
+ $898 = $896 | $894;
+ $899 = $891 ^ $897;
+ $900 = $892 ^ $898;
+ $901 = (_bitshift64Lshr(($883|0),($884|0),41)|0);
+ $902 = tempRet0;
+ $903 = (_bitshift64Shl(($883|0),($884|0),23)|0);
+ $904 = tempRet0;
+ $905 = $903 | $901;
+ $906 = $904 | $902;
+ $907 = $899 ^ $905;
+ $908 = $900 ^ $906;
+ $909 = $883 & $755;
+ $910 = $884 & $756;
+ $911 = $883 ^ -1;
+ $912 = $884 ^ -1;
+ $913 = $627 & $911;
+ $914 = $628 & $912;
+ $915 = $913 ^ $909;
+ $916 = $914 ^ $910;
+ $917 = $$151221$i | 5;
+ $918 = (8128 + ($917<<3)|0);
+ $919 = $918;
+ $920 = $919;
+ $921 = HEAP32[$920>>2]|0;
+ $922 = (($919) + 4)|0;
+ $923 = $922;
+ $924 = HEAP32[$923>>2]|0;
+ $925 = (_i64Add(($921|0),($924|0),($823|0),($824|0))|0);
+ $926 = tempRet0;
+ $927 = (_i64Add(($925|0),($926|0),($499|0),($500|0))|0);
+ $928 = tempRet0;
+ $929 = (_i64Add(($927|0),($928|0),($915|0),($916|0))|0);
+ $930 = tempRet0;
+ $931 = (_i64Add(($929|0),($930|0),($907|0),($908|0))|0);
+ $932 = tempRet0;
+ $933 = (_bitshift64Lshr(($721|0),($722|0),19)|0);
+ $934 = tempRet0;
+ $935 = (_bitshift64Shl(($721|0),($722|0),45)|0);
+ $936 = tempRet0;
+ $937 = $935 | $933;
+ $938 = $936 | $934;
+ $939 = (_bitshift64Lshr(($721|0),($722|0),61)|0);
+ $940 = tempRet0;
+ $941 = (_bitshift64Shl(($721|0),($722|0),3)|0);
+ $942 = tempRet0;
+ $943 = $941 | $939;
+ $944 = $942 | $940;
+ $945 = (_bitshift64Lshr(($721|0),($722|0),6)|0);
+ $946 = tempRet0;
+ $947 = $943 ^ $945;
+ $948 = $944 ^ $946;
+ $949 = $947 ^ $937;
+ $950 = $948 ^ $938;
+ $953 = (_bitshift64Lshr(($951|0),($952|0),1)|0);
+ $954 = tempRet0;
+ $955 = (_bitshift64Shl(($951|0),($952|0),63)|0);
+ $956 = tempRet0;
+ $957 = $955 | $953;
+ $958 = $956 | $954;
+ $959 = (_bitshift64Lshr(($951|0),($952|0),8)|0);
+ $960 = tempRet0;
+ $961 = (_bitshift64Shl(($951|0),($952|0),56)|0);
+ $962 = tempRet0;
+ $963 = $961 | $959;
+ $964 = $962 | $960;
+ $965 = (_bitshift64Lshr(($951|0),($952|0),7)|0);
+ $966 = tempRet0;
+ $967 = $963 ^ $965;
+ $968 = $964 ^ $966;
+ $969 = $967 ^ $957;
+ $970 = $968 ^ $958;
+ $971 = (_i64Add(($969|0),($970|0),($823|0),($824|0))|0);
+ $972 = tempRet0;
+ $973 = (_i64Add(($971|0),($972|0),($281|0),($282|0))|0);
+ $974 = tempRet0;
+ $975 = (_i64Add(($973|0),($974|0),($949|0),($950|0))|0);
+ $976 = tempRet0;
+ $977 = (_bitshift64Lshr(($885|0),($886|0),28)|0);
+ $978 = tempRet0;
+ $979 = (_bitshift64Shl(($885|0),($886|0),36)|0);
+ $980 = tempRet0;
+ $981 = $979 | $977;
+ $982 = $980 | $978;
+ $983 = (_bitshift64Lshr(($885|0),($886|0),34)|0);
+ $984 = tempRet0;
+ $985 = (_bitshift64Shl(($885|0),($886|0),30)|0);
+ $986 = tempRet0;
+ $987 = $985 | $983;
+ $988 = $986 | $984;
+ $989 = $981 ^ $987;
+ $990 = $982 ^ $988;
+ $991 = (_bitshift64Lshr(($885|0),($886|0),39)|0);
+ $992 = tempRet0;
+ $993 = (_bitshift64Shl(($885|0),($886|0),25)|0);
+ $994 = tempRet0;
+ $995 = $993 | $991;
+ $996 = $994 | $992;
+ $997 = $989 ^ $995;
+ $998 = $990 ^ $996;
+ $999 = $757 ^ $629;
+ $1000 = $758 ^ $630;
+ $1001 = $885 & $999;
+ $1002 = $886 & $1000;
+ $1003 = $757 & $629;
+ $1004 = $758 & $630;
+ $1005 = $1001 ^ $1003;
+ $1006 = $1002 ^ $1004;
+ $1007 = (_i64Add(($997|0),($998|0),($1005|0),($1006|0))|0);
+ $1008 = tempRet0;
+ $1009 = (_i64Add(($931|0),($932|0),($501|0),($502|0))|0);
+ $1010 = tempRet0;
+ $1011 = (_i64Add(($1007|0),($1008|0),($931|0),($932|0))|0);
+ $1012 = tempRet0;
+ $1013 = (_bitshift64Lshr(($1009|0),($1010|0),14)|0);
+ $1014 = tempRet0;
+ $1015 = (_bitshift64Shl(($1009|0),($1010|0),50)|0);
+ $1016 = tempRet0;
+ $1017 = $1015 | $1013;
+ $1018 = $1016 | $1014;
+ $1019 = (_bitshift64Lshr(($1009|0),($1010|0),18)|0);
+ $1020 = tempRet0;
+ $1021 = (_bitshift64Shl(($1009|0),($1010|0),46)|0);
+ $1022 = tempRet0;
+ $1023 = $1021 | $1019;
+ $1024 = $1022 | $1020;
+ $1025 = $1017 ^ $1023;
+ $1026 = $1018 ^ $1024;
+ $1027 = (_bitshift64Lshr(($1009|0),($1010|0),41)|0);
+ $1028 = tempRet0;
+ $1029 = (_bitshift64Shl(($1009|0),($1010|0),23)|0);
+ $1030 = tempRet0;
+ $1031 = $1029 | $1027;
+ $1032 = $1030 | $1028;
+ $1033 = $1025 ^ $1031;
+ $1034 = $1026 ^ $1032;
+ $1035 = $1009 & $883;
+ $1036 = $1010 & $884;
+ $1037 = $1009 ^ -1;
+ $1038 = $1010 ^ -1;
+ $1039 = $755 & $1037;
+ $1040 = $756 & $1038;
+ $1041 = $1039 ^ $1035;
+ $1042 = $1040 ^ $1036;
+ $1043 = $$151221$i | 6;
+ $1044 = (8128 + ($1043<<3)|0);
+ $1045 = $1044;
+ $1046 = $1045;
+ $1047 = HEAP32[$1046>>2]|0;
+ $1048 = (($1045) + 4)|0;
+ $1049 = $1048;
+ $1050 = HEAP32[$1049>>2]|0;
+ $1051 = (_i64Add(($1047|0),($1050|0),($951|0),($952|0))|0);
+ $1052 = tempRet0;
+ $1053 = (_i64Add(($1051|0),($1052|0),($627|0),($628|0))|0);
+ $1054 = tempRet0;
+ $1055 = (_i64Add(($1053|0),($1054|0),($1041|0),($1042|0))|0);
+ $1056 = tempRet0;
+ $1057 = (_i64Add(($1055|0),($1056|0),($1033|0),($1034|0))|0);
+ $1058 = tempRet0;
+ $1059 = (_bitshift64Lshr(($849|0),($850|0),19)|0);
+ $1060 = tempRet0;
+ $1061 = (_bitshift64Shl(($849|0),($850|0),45)|0);
+ $1062 = tempRet0;
+ $1063 = $1061 | $1059;
+ $1064 = $1062 | $1060;
+ $1065 = (_bitshift64Lshr(($849|0),($850|0),61)|0);
+ $1066 = tempRet0;
+ $1067 = (_bitshift64Shl(($849|0),($850|0),3)|0);
+ $1068 = tempRet0;
+ $1069 = $1067 | $1065;
+ $1070 = $1068 | $1066;
+ $1071 = (_bitshift64Lshr(($849|0),($850|0),6)|0);
+ $1072 = tempRet0;
+ $1073 = $1069 ^ $1071;
+ $1074 = $1070 ^ $1072;
+ $1075 = $1073 ^ $1063;
+ $1076 = $1074 ^ $1064;
+ $1079 = (_bitshift64Lshr(($1077|0),($1078|0),1)|0);
+ $1080 = tempRet0;
+ $1081 = (_bitshift64Shl(($1077|0),($1078|0),63)|0);
+ $1082 = tempRet0;
+ $1083 = $1081 | $1079;
+ $1084 = $1082 | $1080;
+ $1085 = (_bitshift64Lshr(($1077|0),($1078|0),8)|0);
+ $1086 = tempRet0;
+ $1087 = (_bitshift64Shl(($1077|0),($1078|0),56)|0);
+ $1088 = tempRet0;
+ $1089 = $1087 | $1085;
+ $1090 = $1088 | $1086;
+ $1091 = (_bitshift64Lshr(($1077|0),($1078|0),7)|0);
+ $1092 = tempRet0;
+ $1093 = $1089 ^ $1091;
+ $1094 = $1090 ^ $1092;
+ $1095 = $1093 ^ $1083;
+ $1096 = $1094 ^ $1084;
+ $1097 = (_i64Add(($1095|0),($1096|0),($951|0),($952|0))|0);
+ $1098 = tempRet0;
+ $1099 = (_i64Add(($1097|0),($1098|0),($419|0),($420|0))|0);
+ $1100 = tempRet0;
+ $1101 = (_i64Add(($1099|0),($1100|0),($1075|0),($1076|0))|0);
+ $1102 = tempRet0;
+ $1103 = (_bitshift64Lshr(($1011|0),($1012|0),28)|0);
+ $1104 = tempRet0;
+ $1105 = (_bitshift64Shl(($1011|0),($1012|0),36)|0);
+ $1106 = tempRet0;
+ $1107 = $1105 | $1103;
+ $1108 = $1106 | $1104;
+ $1109 = (_bitshift64Lshr(($1011|0),($1012|0),34)|0);
+ $1110 = tempRet0;
+ $1111 = (_bitshift64Shl(($1011|0),($1012|0),30)|0);
+ $1112 = tempRet0;
+ $1113 = $1111 | $1109;
+ $1114 = $1112 | $1110;
+ $1115 = $1107 ^ $1113;
+ $1116 = $1108 ^ $1114;
+ $1117 = (_bitshift64Lshr(($1011|0),($1012|0),39)|0);
+ $1118 = tempRet0;
+ $1119 = (_bitshift64Shl(($1011|0),($1012|0),25)|0);
+ $1120 = tempRet0;
+ $1121 = $1119 | $1117;
+ $1122 = $1120 | $1118;
+ $1123 = $1115 ^ $1121;
+ $1124 = $1116 ^ $1122;
+ $1125 = $885 ^ $757;
+ $1126 = $886 ^ $758;
+ $1127 = $1011 & $1125;
+ $1128 = $1012 & $1126;
+ $1129 = $885 & $757;
+ $1130 = $886 & $758;
+ $1131 = $1127 ^ $1129;
+ $1132 = $1128 ^ $1130;
+ $1133 = (_i64Add(($1123|0),($1124|0),($1131|0),($1132|0))|0);
+ $1134 = tempRet0;
+ $1135 = (_i64Add(($1057|0),($1058|0),($629|0),($630|0))|0);
+ $1136 = tempRet0;
+ $1137 = (_i64Add(($1133|0),($1134|0),($1057|0),($1058|0))|0);
+ $1138 = tempRet0;
+ $1139 = (_bitshift64Lshr(($1135|0),($1136|0),14)|0);
+ $1140 = tempRet0;
+ $1141 = (_bitshift64Shl(($1135|0),($1136|0),50)|0);
+ $1142 = tempRet0;
+ $1143 = $1141 | $1139;
+ $1144 = $1142 | $1140;
+ $1145 = (_bitshift64Lshr(($1135|0),($1136|0),18)|0);
+ $1146 = tempRet0;
+ $1147 = (_bitshift64Shl(($1135|0),($1136|0),46)|0);
+ $1148 = tempRet0;
+ $1149 = $1147 | $1145;
+ $1150 = $1148 | $1146;
+ $1151 = $1143 ^ $1149;
+ $1152 = $1144 ^ $1150;
+ $1153 = (_bitshift64Lshr(($1135|0),($1136|0),41)|0);
+ $1154 = tempRet0;
+ $1155 = (_bitshift64Shl(($1135|0),($1136|0),23)|0);
+ $1156 = tempRet0;
+ $1157 = $1155 | $1153;
+ $1158 = $1156 | $1154;
+ $1159 = $1151 ^ $1157;
+ $1160 = $1152 ^ $1158;
+ $1161 = $1135 & $1009;
+ $1162 = $1136 & $1010;
+ $1163 = $1135 ^ -1;
+ $1164 = $1136 ^ -1;
+ $1165 = $883 & $1163;
+ $1166 = $884 & $1164;
+ $1167 = $1165 ^ $1161;
+ $1168 = $1166 ^ $1162;
+ $1169 = $$151221$i | 7;
+ $1170 = (8128 + ($1169<<3)|0);
+ $1171 = $1170;
+ $1172 = $1171;
+ $1173 = HEAP32[$1172>>2]|0;
+ $1174 = (($1171) + 4)|0;
+ $1175 = $1174;
+ $1176 = HEAP32[$1175>>2]|0;
+ $1177 = (_i64Add(($1173|0),($1176|0),($1077|0),($1078|0))|0);
+ $1178 = tempRet0;
+ $1179 = (_i64Add(($1177|0),($1178|0),($755|0),($756|0))|0);
+ $1180 = tempRet0;
+ $1181 = (_i64Add(($1179|0),($1180|0),($1167|0),($1168|0))|0);
+ $1182 = tempRet0;
+ $1183 = (_i64Add(($1181|0),($1182|0),($1159|0),($1160|0))|0);
+ $1184 = tempRet0;
+ $1185 = (_bitshift64Lshr(($975|0),($976|0),19)|0);
+ $1186 = tempRet0;
+ $1187 = (_bitshift64Shl(($975|0),($976|0),45)|0);
+ $1188 = tempRet0;
+ $1189 = $1187 | $1185;
+ $1190 = $1188 | $1186;
+ $1191 = (_bitshift64Lshr(($975|0),($976|0),61)|0);
+ $1192 = tempRet0;
+ $1193 = (_bitshift64Shl(($975|0),($976|0),3)|0);
+ $1194 = tempRet0;
+ $1195 = $1193 | $1191;
+ $1196 = $1194 | $1192;
+ $1197 = (_bitshift64Lshr(($975|0),($976|0),6)|0);
+ $1198 = tempRet0;
+ $1199 = $1195 ^ $1197;
+ $1200 = $1196 ^ $1198;
+ $1201 = $1199 ^ $1189;
+ $1202 = $1200 ^ $1190;
+ $1205 = (_bitshift64Lshr(($1203|0),($1204|0),1)|0);
+ $1206 = tempRet0;
+ $1207 = (_bitshift64Shl(($1203|0),($1204|0),63)|0);
+ $1208 = tempRet0;
+ $1209 = $1207 | $1205;
+ $1210 = $1208 | $1206;
+ $1211 = (_bitshift64Lshr(($1203|0),($1204|0),8)|0);
+ $1212 = tempRet0;
+ $1213 = (_bitshift64Shl(($1203|0),($1204|0),56)|0);
+ $1214 = tempRet0;
+ $1215 = $1213 | $1211;
+ $1216 = $1214 | $1212;
+ $1217 = (_bitshift64Lshr(($1203|0),($1204|0),7)|0);
+ $1218 = tempRet0;
+ $1219 = $1215 ^ $1217;
+ $1220 = $1216 ^ $1218;
+ $1221 = $1219 ^ $1209;
+ $1222 = $1220 ^ $1210;
+ $1223 = (_i64Add(($1221|0),($1222|0),($1077|0),($1078|0))|0);
+ $1224 = tempRet0;
+ $1225 = (_i64Add(($1223|0),($1224|0),($327|0),($328|0))|0);
+ $1226 = tempRet0;
+ $1227 = (_i64Add(($1225|0),($1226|0),($1201|0),($1202|0))|0);
+ $1228 = tempRet0;
+ $1229 = (_bitshift64Lshr(($1137|0),($1138|0),28)|0);
+ $1230 = tempRet0;
+ $1231 = (_bitshift64Shl(($1137|0),($1138|0),36)|0);
+ $1232 = tempRet0;
+ $1233 = $1231 | $1229;
+ $1234 = $1232 | $1230;
+ $1235 = (_bitshift64Lshr(($1137|0),($1138|0),34)|0);
+ $1236 = tempRet0;
+ $1237 = (_bitshift64Shl(($1137|0),($1138|0),30)|0);
+ $1238 = tempRet0;
+ $1239 = $1237 | $1235;
+ $1240 = $1238 | $1236;
+ $1241 = $1233 ^ $1239;
+ $1242 = $1234 ^ $1240;
+ $1243 = (_bitshift64Lshr(($1137|0),($1138|0),39)|0);
+ $1244 = tempRet0;
+ $1245 = (_bitshift64Shl(($1137|0),($1138|0),25)|0);
+ $1246 = tempRet0;
+ $1247 = $1245 | $1243;
+ $1248 = $1246 | $1244;
+ $1249 = $1241 ^ $1247;
+ $1250 = $1242 ^ $1248;
+ $1251 = $1011 ^ $885;
+ $1252 = $1012 ^ $886;
+ $1253 = $1137 & $1251;
+ $1254 = $1138 & $1252;
+ $1255 = $1011 & $885;
+ $1256 = $1012 & $886;
+ $1257 = $1253 ^ $1255;
+ $1258 = $1254 ^ $1256;
+ $1259 = (_i64Add(($1249|0),($1250|0),($1257|0),($1258|0))|0);
+ $1260 = tempRet0;
+ $1261 = (_i64Add(($1183|0),($1184|0),($757|0),($758|0))|0);
+ $1262 = tempRet0;
+ $1263 = (_i64Add(($1259|0),($1260|0),($1183|0),($1184|0))|0);
+ $1264 = tempRet0;
+ $1265 = (_bitshift64Lshr(($1261|0),($1262|0),14)|0);
+ $1266 = tempRet0;
+ $1267 = (_bitshift64Shl(($1261|0),($1262|0),50)|0);
+ $1268 = tempRet0;
+ $1269 = $1267 | $1265;
+ $1270 = $1268 | $1266;
+ $1271 = (_bitshift64Lshr(($1261|0),($1262|0),18)|0);
+ $1272 = tempRet0;
+ $1273 = (_bitshift64Shl(($1261|0),($1262|0),46)|0);
+ $1274 = tempRet0;
+ $1275 = $1273 | $1271;
+ $1276 = $1274 | $1272;
+ $1277 = $1269 ^ $1275;
+ $1278 = $1270 ^ $1276;
+ $1279 = (_bitshift64Lshr(($1261|0),($1262|0),41)|0);
+ $1280 = tempRet0;
+ $1281 = (_bitshift64Shl(($1261|0),($1262|0),23)|0);
+ $1282 = tempRet0;
+ $1283 = $1281 | $1279;
+ $1284 = $1282 | $1280;
+ $1285 = $1277 ^ $1283;
+ $1286 = $1278 ^ $1284;
+ $1287 = $1261 & $1135;
+ $1288 = $1262 & $1136;
+ $1289 = $1261 ^ -1;
+ $1290 = $1262 ^ -1;
+ $1291 = $1009 & $1289;
+ $1292 = $1010 & $1290;
+ $1293 = $1291 ^ $1287;
+ $1294 = $1292 ^ $1288;
+ $1295 = $$151221$i | 8;
+ $1296 = (8128 + ($1295<<3)|0);
+ $1297 = $1296;
+ $1298 = $1297;
+ $1299 = HEAP32[$1298>>2]|0;
+ $1300 = (($1297) + 4)|0;
+ $1301 = $1300;
+ $1302 = HEAP32[$1301>>2]|0;
+ $1303 = (_i64Add(($1299|0),($1302|0),($1203|0),($1204|0))|0);
+ $1304 = tempRet0;
+ $1305 = (_i64Add(($1303|0),($1304|0),($883|0),($884|0))|0);
+ $1306 = tempRet0;
+ $1307 = (_i64Add(($1305|0),($1306|0),($1293|0),($1294|0))|0);
+ $1308 = tempRet0;
+ $1309 = (_i64Add(($1307|0),($1308|0),($1285|0),($1286|0))|0);
+ $1310 = tempRet0;
+ $1311 = (_bitshift64Lshr(($1101|0),($1102|0),19)|0);
+ $1312 = tempRet0;
+ $1313 = (_bitshift64Shl(($1101|0),($1102|0),45)|0);
+ $1314 = tempRet0;
+ $1315 = $1313 | $1311;
+ $1316 = $1314 | $1312;
+ $1317 = (_bitshift64Lshr(($1101|0),($1102|0),61)|0);
+ $1318 = tempRet0;
+ $1319 = (_bitshift64Shl(($1101|0),($1102|0),3)|0);
+ $1320 = tempRet0;
+ $1321 = $1319 | $1317;
+ $1322 = $1320 | $1318;
+ $1323 = (_bitshift64Lshr(($1101|0),($1102|0),6)|0);
+ $1324 = tempRet0;
+ $1325 = $1321 ^ $1323;
+ $1326 = $1322 ^ $1324;
+ $1327 = $1325 ^ $1315;
+ $1328 = $1326 ^ $1316;
+ $1329 = (_bitshift64Lshr(($321|0),($322|0),1)|0);
+ $1330 = tempRet0;
+ $1331 = (_bitshift64Shl(($321|0),($322|0),63)|0);
+ $1332 = tempRet0;
+ $1333 = $1331 | $1329;
+ $1334 = $1332 | $1330;
+ $1335 = (_bitshift64Lshr(($321|0),($322|0),8)|0);
+ $1336 = tempRet0;
+ $1337 = (_bitshift64Shl(($321|0),($322|0),56)|0);
+ $1338 = tempRet0;
+ $1339 = $1337 | $1335;
+ $1340 = $1338 | $1336;
+ $1341 = (_bitshift64Lshr(($321|0),($322|0),7)|0);
+ $1342 = tempRet0;
+ $1343 = $1339 ^ $1341;
+ $1344 = $1340 ^ $1342;
+ $1345 = $1343 ^ $1333;
+ $1346 = $1344 ^ $1334;
+ $1347 = (_i64Add(($1345|0),($1346|0),($1203|0),($1204|0))|0);
+ $1348 = tempRet0;
+ $1349 = (_i64Add(($1347|0),($1348|0),($465|0),($466|0))|0);
+ $1350 = tempRet0;
+ $1351 = (_i64Add(($1349|0),($1350|0),($1327|0),($1328|0))|0);
+ $1352 = tempRet0;
+ $1353 = (_bitshift64Lshr(($1263|0),($1264|0),28)|0);
+ $1354 = tempRet0;
+ $1355 = (_bitshift64Shl(($1263|0),($1264|0),36)|0);
+ $1356 = tempRet0;
+ $1357 = $1355 | $1353;
+ $1358 = $1356 | $1354;
+ $1359 = (_bitshift64Lshr(($1263|0),($1264|0),34)|0);
+ $1360 = tempRet0;
+ $1361 = (_bitshift64Shl(($1263|0),($1264|0),30)|0);
+ $1362 = tempRet0;
+ $1363 = $1361 | $1359;
+ $1364 = $1362 | $1360;
+ $1365 = $1357 ^ $1363;
+ $1366 = $1358 ^ $1364;
+ $1367 = (_bitshift64Lshr(($1263|0),($1264|0),39)|0);
+ $1368 = tempRet0;
+ $1369 = (_bitshift64Shl(($1263|0),($1264|0),25)|0);
+ $1370 = tempRet0;
+ $1371 = $1369 | $1367;
+ $1372 = $1370 | $1368;
+ $1373 = $1365 ^ $1371;
+ $1374 = $1366 ^ $1372;
+ $1375 = $1137 ^ $1011;
+ $1376 = $1138 ^ $1012;
+ $1377 = $1263 & $1375;
+ $1378 = $1264 & $1376;
+ $1379 = $1137 & $1011;
+ $1380 = $1138 & $1012;
+ $1381 = $1377 ^ $1379;
+ $1382 = $1378 ^ $1380;
+ $1383 = (_i64Add(($1373|0),($1374|0),($1381|0),($1382|0))|0);
+ $1384 = tempRet0;
+ $1385 = (_i64Add(($1309|0),($1310|0),($885|0),($886|0))|0);
+ $1386 = tempRet0;
+ $1387 = (_i64Add(($1383|0),($1384|0),($1309|0),($1310|0))|0);
+ $1388 = tempRet0;
+ $1389 = (_bitshift64Lshr(($1385|0),($1386|0),14)|0);
+ $1390 = tempRet0;
+ $1391 = (_bitshift64Shl(($1385|0),($1386|0),50)|0);
+ $1392 = tempRet0;
+ $1393 = $1391 | $1389;
+ $1394 = $1392 | $1390;
+ $1395 = (_bitshift64Lshr(($1385|0),($1386|0),18)|0);
+ $1396 = tempRet0;
+ $1397 = (_bitshift64Shl(($1385|0),($1386|0),46)|0);
+ $1398 = tempRet0;
+ $1399 = $1397 | $1395;
+ $1400 = $1398 | $1396;
+ $1401 = $1393 ^ $1399;
+ $1402 = $1394 ^ $1400;
+ $1403 = (_bitshift64Lshr(($1385|0),($1386|0),41)|0);
+ $1404 = tempRet0;
+ $1405 = (_bitshift64Shl(($1385|0),($1386|0),23)|0);
+ $1406 = tempRet0;
+ $1407 = $1405 | $1403;
+ $1408 = $1406 | $1404;
+ $1409 = $1401 ^ $1407;
+ $1410 = $1402 ^ $1408;
+ $1411 = $1385 & $1261;
+ $1412 = $1386 & $1262;
+ $1413 = $1385 ^ -1;
+ $1414 = $1386 ^ -1;
+ $1415 = $1135 & $1413;
+ $1416 = $1136 & $1414;
+ $1417 = $1415 ^ $1411;
+ $1418 = $1416 ^ $1412;
+ $1419 = $$151221$i | 9;
+ $1420 = (8128 + ($1419<<3)|0);
+ $1421 = $1420;
+ $1422 = $1421;
+ $1423 = HEAP32[$1422>>2]|0;
+ $1424 = (($1421) + 4)|0;
+ $1425 = $1424;
+ $1426 = HEAP32[$1425>>2]|0;
+ $1427 = (_i64Add(($1423|0),($1426|0),($321|0),($322|0))|0);
+ $1428 = tempRet0;
+ $1429 = (_i64Add(($1427|0),($1428|0),($1009|0),($1010|0))|0);
+ $1430 = tempRet0;
+ $1431 = (_i64Add(($1429|0),($1430|0),($1417|0),($1418|0))|0);
+ $1432 = tempRet0;
+ $1433 = (_i64Add(($1431|0),($1432|0),($1409|0),($1410|0))|0);
+ $1434 = tempRet0;
+ $1435 = (_bitshift64Lshr(($1227|0),($1228|0),19)|0);
+ $1436 = tempRet0;
+ $1437 = (_bitshift64Shl(($1227|0),($1228|0),45)|0);
+ $1438 = tempRet0;
+ $1439 = $1437 | $1435;
+ $1440 = $1438 | $1436;
+ $1441 = (_bitshift64Lshr(($1227|0),($1228|0),61)|0);
+ $1442 = tempRet0;
+ $1443 = (_bitshift64Shl(($1227|0),($1228|0),3)|0);
+ $1444 = tempRet0;
+ $1445 = $1443 | $1441;
+ $1446 = $1444 | $1442;
+ $1447 = (_bitshift64Lshr(($1227|0),($1228|0),6)|0);
+ $1448 = tempRet0;
+ $1449 = $1445 ^ $1447;
+ $1450 = $1446 ^ $1448;
+ $1451 = $1449 ^ $1439;
+ $1452 = $1450 ^ $1440;
+ $1453 = (_bitshift64Lshr(($459|0),($460|0),1)|0);
+ $1454 = tempRet0;
+ $1455 = (_bitshift64Shl(($459|0),($460|0),63)|0);
+ $1456 = tempRet0;
+ $1457 = $1455 | $1453;
+ $1458 = $1456 | $1454;
+ $1459 = (_bitshift64Lshr(($459|0),($460|0),8)|0);
+ $1460 = tempRet0;
+ $1461 = (_bitshift64Shl(($459|0),($460|0),56)|0);
+ $1462 = tempRet0;
+ $1463 = $1461 | $1459;
+ $1464 = $1462 | $1460;
+ $1465 = (_bitshift64Lshr(($459|0),($460|0),7)|0);
+ $1466 = tempRet0;
+ $1467 = $1463 ^ $1465;
+ $1468 = $1464 ^ $1466;
+ $1469 = $1467 ^ $1457;
+ $1470 = $1468 ^ $1458;
+ $1471 = (_i64Add(($1469|0),($1470|0),($321|0),($322|0))|0);
+ $1472 = tempRet0;
+ $1473 = (_i64Add(($1471|0),($1472|0),($593|0),($594|0))|0);
+ $1474 = tempRet0;
+ $1475 = (_i64Add(($1473|0),($1474|0),($1451|0),($1452|0))|0);
+ $1476 = tempRet0;
+ $1477 = (_bitshift64Lshr(($1387|0),($1388|0),28)|0);
+ $1478 = tempRet0;
+ $1479 = (_bitshift64Shl(($1387|0),($1388|0),36)|0);
+ $1480 = tempRet0;
+ $1481 = $1479 | $1477;
+ $1482 = $1480 | $1478;
+ $1483 = (_bitshift64Lshr(($1387|0),($1388|0),34)|0);
+ $1484 = tempRet0;
+ $1485 = (_bitshift64Shl(($1387|0),($1388|0),30)|0);
+ $1486 = tempRet0;
+ $1487 = $1485 | $1483;
+ $1488 = $1486 | $1484;
+ $1489 = $1481 ^ $1487;
+ $1490 = $1482 ^ $1488;
+ $1491 = (_bitshift64Lshr(($1387|0),($1388|0),39)|0);
+ $1492 = tempRet0;
+ $1493 = (_bitshift64Shl(($1387|0),($1388|0),25)|0);
+ $1494 = tempRet0;
+ $1495 = $1493 | $1491;
+ $1496 = $1494 | $1492;
+ $1497 = $1489 ^ $1495;
+ $1498 = $1490 ^ $1496;
+ $1499 = $1263 ^ $1137;
+ $1500 = $1264 ^ $1138;
+ $1501 = $1387 & $1499;
+ $1502 = $1388 & $1500;
+ $1503 = $1263 & $1137;
+ $1504 = $1264 & $1138;
+ $1505 = $1501 ^ $1503;
+ $1506 = $1502 ^ $1504;
+ $1507 = (_i64Add(($1497|0),($1498|0),($1505|0),($1506|0))|0);
+ $1508 = tempRet0;
+ $1509 = (_i64Add(($1433|0),($1434|0),($1011|0),($1012|0))|0);
+ $1510 = tempRet0;
+ $1511 = (_i64Add(($1507|0),($1508|0),($1433|0),($1434|0))|0);
+ $1512 = tempRet0;
+ $1513 = (_bitshift64Lshr(($1509|0),($1510|0),14)|0);
+ $1514 = tempRet0;
+ $1515 = (_bitshift64Shl(($1509|0),($1510|0),50)|0);
+ $1516 = tempRet0;
+ $1517 = $1515 | $1513;
+ $1518 = $1516 | $1514;
+ $1519 = (_bitshift64Lshr(($1509|0),($1510|0),18)|0);
+ $1520 = tempRet0;
+ $1521 = (_bitshift64Shl(($1509|0),($1510|0),46)|0);
+ $1522 = tempRet0;
+ $1523 = $1521 | $1519;
+ $1524 = $1522 | $1520;
+ $1525 = $1517 ^ $1523;
+ $1526 = $1518 ^ $1524;
+ $1527 = (_bitshift64Lshr(($1509|0),($1510|0),41)|0);
+ $1528 = tempRet0;
+ $1529 = (_bitshift64Shl(($1509|0),($1510|0),23)|0);
+ $1530 = tempRet0;
+ $1531 = $1529 | $1527;
+ $1532 = $1530 | $1528;
+ $1533 = $1525 ^ $1531;
+ $1534 = $1526 ^ $1532;
+ $1535 = $1509 & $1385;
+ $1536 = $1510 & $1386;
+ $1537 = $1509 ^ -1;
+ $1538 = $1510 ^ -1;
+ $1539 = $1261 & $1537;
+ $1540 = $1262 & $1538;
+ $1541 = $1539 ^ $1535;
+ $1542 = $1540 ^ $1536;
+ $1543 = $$151221$i | 10;
+ $1544 = (8128 + ($1543<<3)|0);
+ $1545 = $1544;
+ $1546 = $1545;
+ $1547 = HEAP32[$1546>>2]|0;
+ $1548 = (($1545) + 4)|0;
+ $1549 = $1548;
+ $1550 = HEAP32[$1549>>2]|0;
+ $1551 = (_i64Add(($1547|0),($1550|0),($459|0),($460|0))|0);
+ $1552 = tempRet0;
+ $1553 = (_i64Add(($1551|0),($1552|0),($1135|0),($1136|0))|0);
+ $1554 = tempRet0;
+ $1555 = (_i64Add(($1553|0),($1554|0),($1541|0),($1542|0))|0);
+ $1556 = tempRet0;
+ $1557 = (_i64Add(($1555|0),($1556|0),($1533|0),($1534|0))|0);
+ $1558 = tempRet0;
+ $1559 = (_bitshift64Lshr(($1351|0),($1352|0),19)|0);
+ $1560 = tempRet0;
+ $1561 = (_bitshift64Shl(($1351|0),($1352|0),45)|0);
+ $1562 = tempRet0;
+ $1563 = $1561 | $1559;
+ $1564 = $1562 | $1560;
+ $1565 = (_bitshift64Lshr(($1351|0),($1352|0),61)|0);
+ $1566 = tempRet0;
+ $1567 = (_bitshift64Shl(($1351|0),($1352|0),3)|0);
+ $1568 = tempRet0;
+ $1569 = $1567 | $1565;
+ $1570 = $1568 | $1566;
+ $1571 = (_bitshift64Lshr(($1351|0),($1352|0),6)|0);
+ $1572 = tempRet0;
+ $1573 = $1569 ^ $1571;
+ $1574 = $1570 ^ $1572;
+ $1575 = $1573 ^ $1563;
+ $1576 = $1574 ^ $1564;
+ $1577 = (_bitshift64Lshr(($587|0),($588|0),1)|0);
+ $1578 = tempRet0;
+ $1579 = (_bitshift64Shl(($587|0),($588|0),63)|0);
+ $1580 = tempRet0;
+ $1581 = $1579 | $1577;
+ $1582 = $1580 | $1578;
+ $1583 = (_bitshift64Lshr(($587|0),($588|0),8)|0);
+ $1584 = tempRet0;
+ $1585 = (_bitshift64Shl(($587|0),($588|0),56)|0);
+ $1586 = tempRet0;
+ $1587 = $1585 | $1583;
+ $1588 = $1586 | $1584;
+ $1589 = (_bitshift64Lshr(($587|0),($588|0),7)|0);
+ $1590 = tempRet0;
+ $1591 = $1587 ^ $1589;
+ $1592 = $1588 ^ $1590;
+ $1593 = $1591 ^ $1581;
+ $1594 = $1592 ^ $1582;
+ $1595 = (_i64Add(($1593|0),($1594|0),($459|0),($460|0))|0);
+ $1596 = tempRet0;
+ $1597 = (_i64Add(($1595|0),($1596|0),($721|0),($722|0))|0);
+ $1598 = tempRet0;
+ $1599 = (_i64Add(($1597|0),($1598|0),($1575|0),($1576|0))|0);
+ $1600 = tempRet0;
+ $1601 = (_bitshift64Lshr(($1511|0),($1512|0),28)|0);
+ $1602 = tempRet0;
+ $1603 = (_bitshift64Shl(($1511|0),($1512|0),36)|0);
+ $1604 = tempRet0;
+ $1605 = $1603 | $1601;
+ $1606 = $1604 | $1602;
+ $1607 = (_bitshift64Lshr(($1511|0),($1512|0),34)|0);
+ $1608 = tempRet0;
+ $1609 = (_bitshift64Shl(($1511|0),($1512|0),30)|0);
+ $1610 = tempRet0;
+ $1611 = $1609 | $1607;
+ $1612 = $1610 | $1608;
+ $1613 = $1605 ^ $1611;
+ $1614 = $1606 ^ $1612;
+ $1615 = (_bitshift64Lshr(($1511|0),($1512|0),39)|0);
+ $1616 = tempRet0;
+ $1617 = (_bitshift64Shl(($1511|0),($1512|0),25)|0);
+ $1618 = tempRet0;
+ $1619 = $1617 | $1615;
+ $1620 = $1618 | $1616;
+ $1621 = $1613 ^ $1619;
+ $1622 = $1614 ^ $1620;
+ $1623 = $1387 ^ $1263;
+ $1624 = $1388 ^ $1264;
+ $1625 = $1511 & $1623;
+ $1626 = $1512 & $1624;
+ $1627 = $1387 & $1263;
+ $1628 = $1388 & $1264;
+ $1629 = $1625 ^ $1627;
+ $1630 = $1626 ^ $1628;
+ $1631 = (_i64Add(($1621|0),($1622|0),($1629|0),($1630|0))|0);
+ $1632 = tempRet0;
+ $1633 = (_i64Add(($1557|0),($1558|0),($1137|0),($1138|0))|0);
+ $1634 = tempRet0;
+ $1635 = (_i64Add(($1631|0),($1632|0),($1557|0),($1558|0))|0);
+ $1636 = tempRet0;
+ $1637 = (_bitshift64Lshr(($1633|0),($1634|0),14)|0);
+ $1638 = tempRet0;
+ $1639 = (_bitshift64Shl(($1633|0),($1634|0),50)|0);
+ $1640 = tempRet0;
+ $1641 = $1639 | $1637;
+ $1642 = $1640 | $1638;
+ $1643 = (_bitshift64Lshr(($1633|0),($1634|0),18)|0);
+ $1644 = tempRet0;
+ $1645 = (_bitshift64Shl(($1633|0),($1634|0),46)|0);
+ $1646 = tempRet0;
+ $1647 = $1645 | $1643;
+ $1648 = $1646 | $1644;
+ $1649 = $1641 ^ $1647;
+ $1650 = $1642 ^ $1648;
+ $1651 = (_bitshift64Lshr(($1633|0),($1634|0),41)|0);
+ $1652 = tempRet0;
+ $1653 = (_bitshift64Shl(($1633|0),($1634|0),23)|0);
+ $1654 = tempRet0;
+ $1655 = $1653 | $1651;
+ $1656 = $1654 | $1652;
+ $1657 = $1649 ^ $1655;
+ $1658 = $1650 ^ $1656;
+ $1659 = $1633 & $1509;
+ $1660 = $1634 & $1510;
+ $1661 = $1633 ^ -1;
+ $1662 = $1634 ^ -1;
+ $1663 = $1385 & $1661;
+ $1664 = $1386 & $1662;
+ $1665 = $1663 ^ $1659;
+ $1666 = $1664 ^ $1660;
+ $1667 = $$151221$i | 11;
+ $1668 = (8128 + ($1667<<3)|0);
+ $1669 = $1668;
+ $1670 = $1669;
+ $1671 = HEAP32[$1670>>2]|0;
+ $1672 = (($1669) + 4)|0;
+ $1673 = $1672;
+ $1674 = HEAP32[$1673>>2]|0;
+ $1675 = (_i64Add(($1671|0),($1674|0),($587|0),($588|0))|0);
+ $1676 = tempRet0;
+ $1677 = (_i64Add(($1675|0),($1676|0),($1261|0),($1262|0))|0);
+ $1678 = tempRet0;
+ $1679 = (_i64Add(($1677|0),($1678|0),($1665|0),($1666|0))|0);
+ $1680 = tempRet0;
+ $1681 = (_i64Add(($1679|0),($1680|0),($1657|0),($1658|0))|0);
+ $1682 = tempRet0;
+ $1683 = (_bitshift64Lshr(($1475|0),($1476|0),19)|0);
+ $1684 = tempRet0;
+ $1685 = (_bitshift64Shl(($1475|0),($1476|0),45)|0);
+ $1686 = tempRet0;
+ $1687 = $1685 | $1683;
+ $1688 = $1686 | $1684;
+ $1689 = (_bitshift64Lshr(($1475|0),($1476|0),61)|0);
+ $1690 = tempRet0;
+ $1691 = (_bitshift64Shl(($1475|0),($1476|0),3)|0);
+ $1692 = tempRet0;
+ $1693 = $1691 | $1689;
+ $1694 = $1692 | $1690;
+ $1695 = (_bitshift64Lshr(($1475|0),($1476|0),6)|0);
+ $1696 = tempRet0;
+ $1697 = $1693 ^ $1695;
+ $1698 = $1694 ^ $1696;
+ $1699 = $1697 ^ $1687;
+ $1700 = $1698 ^ $1688;
+ $1701 = (_bitshift64Lshr(($715|0),($716|0),1)|0);
+ $1702 = tempRet0;
+ $1703 = (_bitshift64Shl(($715|0),($716|0),63)|0);
+ $1704 = tempRet0;
+ $1705 = $1703 | $1701;
+ $1706 = $1704 | $1702;
+ $1707 = (_bitshift64Lshr(($715|0),($716|0),8)|0);
+ $1708 = tempRet0;
+ $1709 = (_bitshift64Shl(($715|0),($716|0),56)|0);
+ $1710 = tempRet0;
+ $1711 = $1709 | $1707;
+ $1712 = $1710 | $1708;
+ $1713 = (_bitshift64Lshr(($715|0),($716|0),7)|0);
+ $1714 = tempRet0;
+ $1715 = $1711 ^ $1713;
+ $1716 = $1712 ^ $1714;
+ $1717 = $1715 ^ $1705;
+ $1718 = $1716 ^ $1706;
+ $1719 = (_i64Add(($1717|0),($1718|0),($587|0),($588|0))|0);
+ $1720 = tempRet0;
+ $1721 = (_i64Add(($1719|0),($1720|0),($849|0),($850|0))|0);
+ $1722 = tempRet0;
+ $1723 = (_i64Add(($1721|0),($1722|0),($1699|0),($1700|0))|0);
+ $1724 = tempRet0;
+ $1725 = (_bitshift64Lshr(($1635|0),($1636|0),28)|0);
+ $1726 = tempRet0;
+ $1727 = (_bitshift64Shl(($1635|0),($1636|0),36)|0);
+ $1728 = tempRet0;
+ $1729 = $1727 | $1725;
+ $1730 = $1728 | $1726;
+ $1731 = (_bitshift64Lshr(($1635|0),($1636|0),34)|0);
+ $1732 = tempRet0;
+ $1733 = (_bitshift64Shl(($1635|0),($1636|0),30)|0);
+ $1734 = tempRet0;
+ $1735 = $1733 | $1731;
+ $1736 = $1734 | $1732;
+ $1737 = $1729 ^ $1735;
+ $1738 = $1730 ^ $1736;
+ $1739 = (_bitshift64Lshr(($1635|0),($1636|0),39)|0);
+ $1740 = tempRet0;
+ $1741 = (_bitshift64Shl(($1635|0),($1636|0),25)|0);
+ $1742 = tempRet0;
+ $1743 = $1741 | $1739;
+ $1744 = $1742 | $1740;
+ $1745 = $1737 ^ $1743;
+ $1746 = $1738 ^ $1744;
+ $1747 = $1511 ^ $1387;
+ $1748 = $1512 ^ $1388;
+ $1749 = $1635 & $1747;
+ $1750 = $1636 & $1748;
+ $1751 = $1511 & $1387;
+ $1752 = $1512 & $1388;
+ $1753 = $1749 ^ $1751;
+ $1754 = $1750 ^ $1752;
+ $1755 = (_i64Add(($1745|0),($1746|0),($1753|0),($1754|0))|0);
+ $1756 = tempRet0;
+ $1757 = (_i64Add(($1681|0),($1682|0),($1263|0),($1264|0))|0);
+ $1758 = tempRet0;
+ $1759 = (_i64Add(($1755|0),($1756|0),($1681|0),($1682|0))|0);
+ $1760 = tempRet0;
+ $1761 = (_bitshift64Lshr(($1757|0),($1758|0),14)|0);
+ $1762 = tempRet0;
+ $1763 = (_bitshift64Shl(($1757|0),($1758|0),50)|0);
+ $1764 = tempRet0;
+ $1765 = $1763 | $1761;
+ $1766 = $1764 | $1762;
+ $1767 = (_bitshift64Lshr(($1757|0),($1758|0),18)|0);
+ $1768 = tempRet0;
+ $1769 = (_bitshift64Shl(($1757|0),($1758|0),46)|0);
+ $1770 = tempRet0;
+ $1771 = $1769 | $1767;
+ $1772 = $1770 | $1768;
+ $1773 = $1765 ^ $1771;
+ $1774 = $1766 ^ $1772;
+ $1775 = (_bitshift64Lshr(($1757|0),($1758|0),41)|0);
+ $1776 = tempRet0;
+ $1777 = (_bitshift64Shl(($1757|0),($1758|0),23)|0);
+ $1778 = tempRet0;
+ $1779 = $1777 | $1775;
+ $1780 = $1778 | $1776;
+ $1781 = $1773 ^ $1779;
+ $1782 = $1774 ^ $1780;
+ $1783 = $1757 & $1633;
+ $1784 = $1758 & $1634;
+ $1785 = $1757 ^ -1;
+ $1786 = $1758 ^ -1;
+ $1787 = $1509 & $1785;
+ $1788 = $1510 & $1786;
+ $1789 = $1787 ^ $1783;
+ $1790 = $1788 ^ $1784;
+ $1791 = $$151221$i | 12;
+ $1792 = (8128 + ($1791<<3)|0);
+ $1793 = $1792;
+ $1794 = $1793;
+ $1795 = HEAP32[$1794>>2]|0;
+ $1796 = (($1793) + 4)|0;
+ $1797 = $1796;
+ $1798 = HEAP32[$1797>>2]|0;
+ $1799 = (_i64Add(($1795|0),($1798|0),($715|0),($716|0))|0);
+ $1800 = tempRet0;
+ $1801 = (_i64Add(($1799|0),($1800|0),($1385|0),($1386|0))|0);
+ $1802 = tempRet0;
+ $1803 = (_i64Add(($1801|0),($1802|0),($1789|0),($1790|0))|0);
+ $1804 = tempRet0;
+ $1805 = (_i64Add(($1803|0),($1804|0),($1781|0),($1782|0))|0);
+ $1806 = tempRet0;
+ $1807 = (_bitshift64Lshr(($1599|0),($1600|0),19)|0);
+ $1808 = tempRet0;
+ $1809 = (_bitshift64Shl(($1599|0),($1600|0),45)|0);
+ $1810 = tempRet0;
+ $1811 = $1809 | $1807;
+ $1812 = $1810 | $1808;
+ $1813 = (_bitshift64Lshr(($1599|0),($1600|0),61)|0);
+ $1814 = tempRet0;
+ $1815 = (_bitshift64Shl(($1599|0),($1600|0),3)|0);
+ $1816 = tempRet0;
+ $1817 = $1815 | $1813;
+ $1818 = $1816 | $1814;
+ $1819 = (_bitshift64Lshr(($1599|0),($1600|0),6)|0);
+ $1820 = tempRet0;
+ $1821 = $1817 ^ $1819;
+ $1822 = $1818 ^ $1820;
+ $1823 = $1821 ^ $1811;
+ $1824 = $1822 ^ $1812;
+ $1825 = (_bitshift64Lshr(($843|0),($844|0),1)|0);
+ $1826 = tempRet0;
+ $1827 = (_bitshift64Shl(($843|0),($844|0),63)|0);
+ $1828 = tempRet0;
+ $1829 = $1827 | $1825;
+ $1830 = $1828 | $1826;
+ $1831 = (_bitshift64Lshr(($843|0),($844|0),8)|0);
+ $1832 = tempRet0;
+ $1833 = (_bitshift64Shl(($843|0),($844|0),56)|0);
+ $1834 = tempRet0;
+ $1835 = $1833 | $1831;
+ $1836 = $1834 | $1832;
+ $1837 = (_bitshift64Lshr(($843|0),($844|0),7)|0);
+ $1838 = tempRet0;
+ $1839 = $1835 ^ $1837;
+ $1840 = $1836 ^ $1838;
+ $1841 = $1839 ^ $1829;
+ $1842 = $1840 ^ $1830;
+ $1843 = (_i64Add(($1841|0),($1842|0),($715|0),($716|0))|0);
+ $1844 = tempRet0;
+ $1845 = (_i64Add(($1843|0),($1844|0),($975|0),($976|0))|0);
+ $1846 = tempRet0;
+ $1847 = (_i64Add(($1845|0),($1846|0),($1823|0),($1824|0))|0);
+ $1848 = tempRet0;
+ $1849 = (_bitshift64Lshr(($1759|0),($1760|0),28)|0);
+ $1850 = tempRet0;
+ $1851 = (_bitshift64Shl(($1759|0),($1760|0),36)|0);
+ $1852 = tempRet0;
+ $1853 = $1851 | $1849;
+ $1854 = $1852 | $1850;
+ $1855 = (_bitshift64Lshr(($1759|0),($1760|0),34)|0);
+ $1856 = tempRet0;
+ $1857 = (_bitshift64Shl(($1759|0),($1760|0),30)|0);
+ $1858 = tempRet0;
+ $1859 = $1857 | $1855;
+ $1860 = $1858 | $1856;
+ $1861 = $1853 ^ $1859;
+ $1862 = $1854 ^ $1860;
+ $1863 = (_bitshift64Lshr(($1759|0),($1760|0),39)|0);
+ $1864 = tempRet0;
+ $1865 = (_bitshift64Shl(($1759|0),($1760|0),25)|0);
+ $1866 = tempRet0;
+ $1867 = $1865 | $1863;
+ $1868 = $1866 | $1864;
+ $1869 = $1861 ^ $1867;
+ $1870 = $1862 ^ $1868;
+ $1871 = $1635 ^ $1511;
+ $1872 = $1636 ^ $1512;
+ $1873 = $1759 & $1871;
+ $1874 = $1760 & $1872;
+ $1875 = $1635 & $1511;
+ $1876 = $1636 & $1512;
+ $1877 = $1873 ^ $1875;
+ $1878 = $1874 ^ $1876;
+ $1879 = (_i64Add(($1869|0),($1870|0),($1877|0),($1878|0))|0);
+ $1880 = tempRet0;
+ $1881 = (_i64Add(($1805|0),($1806|0),($1387|0),($1388|0))|0);
+ $1882 = tempRet0;
+ $1883 = (_i64Add(($1879|0),($1880|0),($1805|0),($1806|0))|0);
+ $1884 = tempRet0;
+ $1885 = (_bitshift64Lshr(($1881|0),($1882|0),14)|0);
+ $1886 = tempRet0;
+ $1887 = (_bitshift64Shl(($1881|0),($1882|0),50)|0);
+ $1888 = tempRet0;
+ $1889 = $1887 | $1885;
+ $1890 = $1888 | $1886;
+ $1891 = (_bitshift64Lshr(($1881|0),($1882|0),18)|0);
+ $1892 = tempRet0;
+ $1893 = (_bitshift64Shl(($1881|0),($1882|0),46)|0);
+ $1894 = tempRet0;
+ $1895 = $1893 | $1891;
+ $1896 = $1894 | $1892;
+ $1897 = $1889 ^ $1895;
+ $1898 = $1890 ^ $1896;
+ $1899 = (_bitshift64Lshr(($1881|0),($1882|0),41)|0);
+ $1900 = tempRet0;
+ $1901 = (_bitshift64Shl(($1881|0),($1882|0),23)|0);
+ $1902 = tempRet0;
+ $1903 = $1901 | $1899;
+ $1904 = $1902 | $1900;
+ $1905 = $1897 ^ $1903;
+ $1906 = $1898 ^ $1904;
+ $1907 = $1881 & $1757;
+ $1908 = $1882 & $1758;
+ $1909 = $1881 ^ -1;
+ $1910 = $1882 ^ -1;
+ $1911 = $1633 & $1909;
+ $1912 = $1634 & $1910;
+ $1913 = $1911 ^ $1907;
+ $1914 = $1912 ^ $1908;
+ $1915 = $$151221$i | 13;
+ $1916 = (8128 + ($1915<<3)|0);
+ $1917 = $1916;
+ $1918 = $1917;
+ $1919 = HEAP32[$1918>>2]|0;
+ $1920 = (($1917) + 4)|0;
+ $1921 = $1920;
+ $1922 = HEAP32[$1921>>2]|0;
+ $1923 = (_i64Add(($1919|0),($1922|0),($843|0),($844|0))|0);
+ $1924 = tempRet0;
+ $1925 = (_i64Add(($1923|0),($1924|0),($1509|0),($1510|0))|0);
+ $1926 = tempRet0;
+ $1927 = (_i64Add(($1925|0),($1926|0),($1913|0),($1914|0))|0);
+ $1928 = tempRet0;
+ $1929 = (_i64Add(($1927|0),($1928|0),($1905|0),($1906|0))|0);
+ $1930 = tempRet0;
+ $1931 = (_bitshift64Lshr(($1723|0),($1724|0),19)|0);
+ $1932 = tempRet0;
+ $1933 = (_bitshift64Shl(($1723|0),($1724|0),45)|0);
+ $1934 = tempRet0;
+ $1935 = $1933 | $1931;
+ $1936 = $1934 | $1932;
+ $1937 = (_bitshift64Lshr(($1723|0),($1724|0),61)|0);
+ $1938 = tempRet0;
+ $1939 = (_bitshift64Shl(($1723|0),($1724|0),3)|0);
+ $1940 = tempRet0;
+ $1941 = $1939 | $1937;
+ $1942 = $1940 | $1938;
+ $1943 = (_bitshift64Lshr(($1723|0),($1724|0),6)|0);
+ $1944 = tempRet0;
+ $1945 = $1941 ^ $1943;
+ $1946 = $1942 ^ $1944;
+ $1947 = $1945 ^ $1935;
+ $1948 = $1946 ^ $1936;
+ $1949 = (_bitshift64Lshr(($281|0),($282|0),1)|0);
+ $1950 = tempRet0;
+ $1951 = (_bitshift64Shl(($281|0),($282|0),63)|0);
+ $1952 = tempRet0;
+ $1953 = $1951 | $1949;
+ $1954 = $1952 | $1950;
+ $1955 = (_bitshift64Lshr(($281|0),($282|0),8)|0);
+ $1956 = tempRet0;
+ $1957 = (_bitshift64Shl(($281|0),($282|0),56)|0);
+ $1958 = tempRet0;
+ $1959 = $1957 | $1955;
+ $1960 = $1958 | $1956;
+ $1961 = (_bitshift64Lshr(($281|0),($282|0),7)|0);
+ $1962 = tempRet0;
+ $1963 = $1959 ^ $1961;
+ $1964 = $1960 ^ $1962;
+ $1965 = $1963 ^ $1953;
+ $1966 = $1964 ^ $1954;
+ $1967 = (_i64Add(($1965|0),($1966|0),($843|0),($844|0))|0);
+ $1968 = tempRet0;
+ $1969 = (_i64Add(($1967|0),($1968|0),($1101|0),($1102|0))|0);
+ $1970 = tempRet0;
+ $1971 = (_i64Add(($1969|0),($1970|0),($1947|0),($1948|0))|0);
+ $1972 = tempRet0;
+ $1973 = (_bitshift64Lshr(($1883|0),($1884|0),28)|0);
+ $1974 = tempRet0;
+ $1975 = (_bitshift64Shl(($1883|0),($1884|0),36)|0);
+ $1976 = tempRet0;
+ $1977 = $1975 | $1973;
+ $1978 = $1976 | $1974;
+ $1979 = (_bitshift64Lshr(($1883|0),($1884|0),34)|0);
+ $1980 = tempRet0;
+ $1981 = (_bitshift64Shl(($1883|0),($1884|0),30)|0);
+ $1982 = tempRet0;
+ $1983 = $1981 | $1979;
+ $1984 = $1982 | $1980;
+ $1985 = $1977 ^ $1983;
+ $1986 = $1978 ^ $1984;
+ $1987 = (_bitshift64Lshr(($1883|0),($1884|0),39)|0);
+ $1988 = tempRet0;
+ $1989 = (_bitshift64Shl(($1883|0),($1884|0),25)|0);
+ $1990 = tempRet0;
+ $1991 = $1989 | $1987;
+ $1992 = $1990 | $1988;
+ $1993 = $1985 ^ $1991;
+ $1994 = $1986 ^ $1992;
+ $1995 = $1759 ^ $1635;
+ $1996 = $1760 ^ $1636;
+ $1997 = $1883 & $1995;
+ $1998 = $1884 & $1996;
+ $1999 = $1759 & $1635;
+ $2000 = $1760 & $1636;
+ $2001 = $1997 ^ $1999;
+ $2002 = $1998 ^ $2000;
+ $2003 = (_i64Add(($1993|0),($1994|0),($2001|0),($2002|0))|0);
+ $2004 = tempRet0;
+ $2005 = (_i64Add(($1929|0),($1930|0),($1511|0),($1512|0))|0);
+ $2006 = tempRet0;
+ $2007 = (_i64Add(($2003|0),($2004|0),($1929|0),($1930|0))|0);
+ $2008 = tempRet0;
+ $2009 = (_bitshift64Lshr(($2005|0),($2006|0),14)|0);
+ $2010 = tempRet0;
+ $2011 = (_bitshift64Shl(($2005|0),($2006|0),50)|0);
+ $2012 = tempRet0;
+ $2013 = $2011 | $2009;
+ $2014 = $2012 | $2010;
+ $2015 = (_bitshift64Lshr(($2005|0),($2006|0),18)|0);
+ $2016 = tempRet0;
+ $2017 = (_bitshift64Shl(($2005|0),($2006|0),46)|0);
+ $2018 = tempRet0;
+ $2019 = $2017 | $2015;
+ $2020 = $2018 | $2016;
+ $2021 = $2013 ^ $2019;
+ $2022 = $2014 ^ $2020;
+ $2023 = (_bitshift64Lshr(($2005|0),($2006|0),41)|0);
+ $2024 = tempRet0;
+ $2025 = (_bitshift64Shl(($2005|0),($2006|0),23)|0);
+ $2026 = tempRet0;
+ $2027 = $2025 | $2023;
+ $2028 = $2026 | $2024;
+ $2029 = $2021 ^ $2027;
+ $2030 = $2022 ^ $2028;
+ $2031 = $2005 & $1881;
+ $2032 = $2006 & $1882;
+ $2033 = $2005 ^ -1;
+ $2034 = $2006 ^ -1;
+ $2035 = $1757 & $2033;
+ $2036 = $1758 & $2034;
+ $2037 = $2035 ^ $2031;
+ $2038 = $2036 ^ $2032;
+ $2039 = $$151221$i | 14;
+ $2040 = (8128 + ($2039<<3)|0);
+ $2041 = $2040;
+ $2042 = $2041;
+ $2043 = HEAP32[$2042>>2]|0;
+ $2044 = (($2041) + 4)|0;
+ $2045 = $2044;
+ $2046 = HEAP32[$2045>>2]|0;
+ $2047 = (_i64Add(($2043|0),($2046|0),($281|0),($282|0))|0);
+ $2048 = tempRet0;
+ $2049 = (_i64Add(($2047|0),($2048|0),($1633|0),($1634|0))|0);
+ $2050 = tempRet0;
+ $2051 = (_i64Add(($2049|0),($2050|0),($2037|0),($2038|0))|0);
+ $2052 = tempRet0;
+ $2053 = (_i64Add(($2051|0),($2052|0),($2029|0),($2030|0))|0);
+ $2054 = tempRet0;
+ $2055 = (_bitshift64Lshr(($1847|0),($1848|0),19)|0);
+ $2056 = tempRet0;
+ $2057 = (_bitshift64Shl(($1847|0),($1848|0),45)|0);
+ $2058 = tempRet0;
+ $2059 = $2057 | $2055;
+ $2060 = $2058 | $2056;
+ $2061 = (_bitshift64Lshr(($1847|0),($1848|0),61)|0);
+ $2062 = tempRet0;
+ $2063 = (_bitshift64Shl(($1847|0),($1848|0),3)|0);
+ $2064 = tempRet0;
+ $2065 = $2063 | $2061;
+ $2066 = $2064 | $2062;
+ $2067 = (_bitshift64Lshr(($1847|0),($1848|0),6)|0);
+ $2068 = tempRet0;
+ $2069 = $2065 ^ $2067;
+ $2070 = $2066 ^ $2068;
+ $2071 = $2069 ^ $2059;
+ $2072 = $2070 ^ $2060;
+ $2073 = (_bitshift64Lshr(($419|0),($420|0),1)|0);
+ $2074 = tempRet0;
+ $2075 = (_bitshift64Shl(($419|0),($420|0),63)|0);
+ $2076 = tempRet0;
+ $2077 = $2075 | $2073;
+ $2078 = $2076 | $2074;
+ $2079 = (_bitshift64Lshr(($419|0),($420|0),8)|0);
+ $2080 = tempRet0;
+ $2081 = (_bitshift64Shl(($419|0),($420|0),56)|0);
+ $2082 = tempRet0;
+ $2083 = $2081 | $2079;
+ $2084 = $2082 | $2080;
+ $2085 = (_bitshift64Lshr(($419|0),($420|0),7)|0);
+ $2086 = tempRet0;
+ $2087 = $2083 ^ $2085;
+ $2088 = $2084 ^ $2086;
+ $2089 = $2087 ^ $2077;
+ $2090 = $2088 ^ $2078;
+ $2091 = (_i64Add(($2089|0),($2090|0),($281|0),($282|0))|0);
+ $2092 = tempRet0;
+ $2093 = (_i64Add(($2091|0),($2092|0),($1227|0),($1228|0))|0);
+ $2094 = tempRet0;
+ $2095 = (_i64Add(($2093|0),($2094|0),($2071|0),($2072|0))|0);
+ $2096 = tempRet0;
+ $2097 = (_bitshift64Lshr(($2007|0),($2008|0),28)|0);
+ $2098 = tempRet0;
+ $2099 = (_bitshift64Shl(($2007|0),($2008|0),36)|0);
+ $2100 = tempRet0;
+ $2101 = $2099 | $2097;
+ $2102 = $2100 | $2098;
+ $2103 = (_bitshift64Lshr(($2007|0),($2008|0),34)|0);
+ $2104 = tempRet0;
+ $2105 = (_bitshift64Shl(($2007|0),($2008|0),30)|0);
+ $2106 = tempRet0;
+ $2107 = $2105 | $2103;
+ $2108 = $2106 | $2104;
+ $2109 = $2101 ^ $2107;
+ $2110 = $2102 ^ $2108;
+ $2111 = (_bitshift64Lshr(($2007|0),($2008|0),39)|0);
+ $2112 = tempRet0;
+ $2113 = (_bitshift64Shl(($2007|0),($2008|0),25)|0);
+ $2114 = tempRet0;
+ $2115 = $2113 | $2111;
+ $2116 = $2114 | $2112;
+ $2117 = $2109 ^ $2115;
+ $2118 = $2110 ^ $2116;
+ $2119 = $1883 ^ $1759;
+ $2120 = $1884 ^ $1760;
+ $2121 = $2007 & $2119;
+ $2122 = $2008 & $2120;
+ $2123 = $1883 & $1759;
+ $2124 = $1884 & $1760;
+ $2125 = $2121 ^ $2123;
+ $2126 = $2122 ^ $2124;
+ $2127 = (_i64Add(($2117|0),($2118|0),($2125|0),($2126|0))|0);
+ $2128 = tempRet0;
+ $2129 = (_i64Add(($2053|0),($2054|0),($1635|0),($1636|0))|0);
+ $2130 = tempRet0;
+ $2131 = (_i64Add(($2127|0),($2128|0),($2053|0),($2054|0))|0);
+ $2132 = tempRet0;
+ $2133 = (_bitshift64Lshr(($2129|0),($2130|0),14)|0);
+ $2134 = tempRet0;
+ $2135 = (_bitshift64Shl(($2129|0),($2130|0),50)|0);
+ $2136 = tempRet0;
+ $2137 = $2135 | $2133;
+ $2138 = $2136 | $2134;
+ $2139 = (_bitshift64Lshr(($2129|0),($2130|0),18)|0);
+ $2140 = tempRet0;
+ $2141 = (_bitshift64Shl(($2129|0),($2130|0),46)|0);
+ $2142 = tempRet0;
+ $2143 = $2141 | $2139;
+ $2144 = $2142 | $2140;
+ $2145 = $2137 ^ $2143;
+ $2146 = $2138 ^ $2144;
+ $2147 = (_bitshift64Lshr(($2129|0),($2130|0),41)|0);
+ $2148 = tempRet0;
+ $2149 = (_bitshift64Shl(($2129|0),($2130|0),23)|0);
+ $2150 = tempRet0;
+ $2151 = $2149 | $2147;
+ $2152 = $2150 | $2148;
+ $2153 = $2145 ^ $2151;
+ $2154 = $2146 ^ $2152;
+ $2155 = $2129 & $2005;
+ $2156 = $2130 & $2006;
+ $2157 = $2129 ^ -1;
+ $2158 = $2130 ^ -1;
+ $2159 = $1881 & $2157;
+ $2160 = $1882 & $2158;
+ $2161 = $2159 ^ $2155;
+ $2162 = $2160 ^ $2156;
+ $2163 = $$151221$i | 15;
+ $2164 = (8128 + ($2163<<3)|0);
+ $2165 = $2164;
+ $2166 = $2165;
+ $2167 = HEAP32[$2166>>2]|0;
+ $2168 = (($2165) + 4)|0;
+ $2169 = $2168;
+ $2170 = HEAP32[$2169>>2]|0;
+ $2171 = (_i64Add(($2167|0),($2170|0),($419|0),($420|0))|0);
+ $2172 = tempRet0;
+ $2173 = (_i64Add(($2171|0),($2172|0),($1757|0),($1758|0))|0);
+ $2174 = tempRet0;
+ $2175 = (_i64Add(($2173|0),($2174|0),($2161|0),($2162|0))|0);
+ $2176 = tempRet0;
+ $2177 = (_i64Add(($2175|0),($2176|0),($2153|0),($2154|0))|0);
+ $2178 = tempRet0;
+ $2179 = (_bitshift64Lshr(($1971|0),($1972|0),19)|0);
+ $2180 = tempRet0;
+ $2181 = (_bitshift64Shl(($1971|0),($1972|0),45)|0);
+ $2182 = tempRet0;
+ $2183 = $2181 | $2179;
+ $2184 = $2182 | $2180;
+ $2185 = (_bitshift64Lshr(($1971|0),($1972|0),61)|0);
+ $2186 = tempRet0;
+ $2187 = (_bitshift64Shl(($1971|0),($1972|0),3)|0);
+ $2188 = tempRet0;
+ $2189 = $2187 | $2185;
+ $2190 = $2188 | $2186;
+ $2191 = (_bitshift64Lshr(($1971|0),($1972|0),6)|0);
+ $2192 = tempRet0;
+ $2193 = $2189 ^ $2191;
+ $2194 = $2190 ^ $2192;
+ $2195 = $2193 ^ $2183;
+ $2196 = $2194 ^ $2184;
+ $2197 = (_bitshift64Lshr(($327|0),($328|0),1)|0);
+ $2198 = tempRet0;
+ $2199 = (_bitshift64Shl(($327|0),($328|0),63)|0);
+ $2200 = tempRet0;
+ $2201 = $2199 | $2197;
+ $2202 = $2200 | $2198;
+ $2203 = (_bitshift64Lshr(($327|0),($328|0),8)|0);
+ $2204 = tempRet0;
+ $2205 = (_bitshift64Shl(($327|0),($328|0),56)|0);
+ $2206 = tempRet0;
+ $2207 = $2205 | $2203;
+ $2208 = $2206 | $2204;
+ $2209 = (_bitshift64Lshr(($327|0),($328|0),7)|0);
+ $2210 = tempRet0;
+ $2211 = $2207 ^ $2209;
+ $2212 = $2208 ^ $2210;
+ $2213 = $2211 ^ $2201;
+ $2214 = $2212 ^ $2202;
+ $2215 = (_i64Add(($2213|0),($2214|0),($419|0),($420|0))|0);
+ $2216 = tempRet0;
+ $2217 = (_i64Add(($2215|0),($2216|0),($1351|0),($1352|0))|0);
+ $2218 = tempRet0;
+ $2219 = (_i64Add(($2217|0),($2218|0),($2195|0),($2196|0))|0);
+ $2220 = tempRet0;
+ $2221 = (_bitshift64Lshr(($2131|0),($2132|0),28)|0);
+ $2222 = tempRet0;
+ $2223 = (_bitshift64Shl(($2131|0),($2132|0),36)|0);
+ $2224 = tempRet0;
+ $2225 = $2223 | $2221;
+ $2226 = $2224 | $2222;
+ $2227 = (_bitshift64Lshr(($2131|0),($2132|0),34)|0);
+ $2228 = tempRet0;
+ $2229 = (_bitshift64Shl(($2131|0),($2132|0),30)|0);
+ $2230 = tempRet0;
+ $2231 = $2229 | $2227;
+ $2232 = $2230 | $2228;
+ $2233 = $2225 ^ $2231;
+ $2234 = $2226 ^ $2232;
+ $2235 = (_bitshift64Lshr(($2131|0),($2132|0),39)|0);
+ $2236 = tempRet0;
+ $2237 = (_bitshift64Shl(($2131|0),($2132|0),25)|0);
+ $2238 = tempRet0;
+ $2239 = $2237 | $2235;
+ $2240 = $2238 | $2236;
+ $2241 = $2233 ^ $2239;
+ $2242 = $2234 ^ $2240;
+ $2243 = $2007 ^ $1883;
+ $2244 = $2008 ^ $1884;
+ $2245 = $2131 & $2243;
+ $2246 = $2132 & $2244;
+ $2247 = $2007 & $1883;
+ $2248 = $2008 & $1884;
+ $2249 = $2245 ^ $2247;
+ $2250 = $2246 ^ $2248;
+ $2251 = (_i64Add(($2241|0),($2242|0),($2249|0),($2250|0))|0);
+ $2252 = tempRet0;
+ $2253 = (_i64Add(($2177|0),($2178|0),($1759|0),($1760|0))|0);
+ $2254 = tempRet0;
+ $2255 = (_i64Add(($2251|0),($2252|0),($2177|0),($2178|0))|0);
+ $2256 = tempRet0;
+ $2257 = (($$151221$i) + 16)|0;
+ $2258 = ($2257>>>0)<(64);
+ if ($2258) {
+ $$151221$i = $2257;$1077 = $1227;$1078 = $1228;$1203 = $1351;$1204 = $1352;$226 = $2253;$227 = $2254;$251 = $2129;$253 = $2130;$257 = $2005;$259 = $2006;$269 = $1881;$270 = $1882;$271 = $327;$272 = $328;$281 = $2095;$282 = $2096;$301 = $465;$302 = $466;$321 = $1475;$322 = $1476;$329 = $2255;$330 = $2256;$354 = $2007;$355 = $2131;$357 = $2008;$358 = $2132;$367 = $1883;$368 = $1884;$419 = $2219;$420 = $2220;$439 = $593;$440 = $594;$459 = $1599;$460 = $1600;$567 = $721;$568 = $722;$587 = $1723;$588 = $1724;$695 = $849;$696 = $850;$715 = $1847;$716 = $1848;$823 = $975;$824 = $976;$843 = $1971;$844 = $1972;$951 = $1101;$952 = $1102;
+ } else {
+ break;
+ }
+ }
+ $2259 = $3;
+ $2260 = $2259;
+ HEAP32[$2260>>2] = $327;
+ $2261 = (($2259) + 4)|0;
+ $2262 = $2261;
+ HEAP32[$2262>>2] = $328;
+ $2263 = $12;
+ $2264 = $2263;
+ HEAP32[$2264>>2] = $2095;
+ $2265 = (($2263) + 4)|0;
+ $2266 = $2265;
+ HEAP32[$2266>>2] = $2096;
+ $2267 = $13;
+ $2268 = $2267;
+ HEAP32[$2268>>2] = $1475;
+ $2269 = (($2267) + 4)|0;
+ $2270 = $2269;
+ HEAP32[$2270>>2] = $1476;
+ $2271 = $14;
+ $2272 = $2271;
+ HEAP32[$2272>>2] = $465;
+ $2273 = (($2271) + 4)|0;
+ $2274 = $2273;
+ HEAP32[$2274>>2] = $466;
+ $2275 = $15;
+ $2276 = $2275;
+ HEAP32[$2276>>2] = $2219;
+ $2277 = (($2275) + 4)|0;
+ $2278 = $2277;
+ HEAP32[$2278>>2] = $2220;
+ $2279 = $16;
+ $2280 = $2279;
+ HEAP32[$2280>>2] = $1599;
+ $2281 = (($2279) + 4)|0;
+ $2282 = $2281;
+ HEAP32[$2282>>2] = $1600;
+ $2283 = $17;
+ $2284 = $2283;
+ HEAP32[$2284>>2] = $593;
+ $2285 = (($2283) + 4)|0;
+ $2286 = $2285;
+ HEAP32[$2286>>2] = $594;
+ $2287 = $18;
+ $2288 = $2287;
+ HEAP32[$2288>>2] = $1723;
+ $2289 = (($2287) + 4)|0;
+ $2290 = $2289;
+ HEAP32[$2290>>2] = $1724;
+ $2291 = $19;
+ $2292 = $2291;
+ HEAP32[$2292>>2] = $721;
+ $2293 = (($2291) + 4)|0;
+ $2294 = $2293;
+ HEAP32[$2294>>2] = $722;
+ $2295 = $20;
+ $2296 = $2295;
+ HEAP32[$2296>>2] = $1847;
+ $2297 = (($2295) + 4)|0;
+ $2298 = $2297;
+ HEAP32[$2298>>2] = $1848;
+ $2299 = $21;
+ $2300 = $2299;
+ HEAP32[$2300>>2] = $849;
+ $2301 = (($2299) + 4)|0;
+ $2302 = $2301;
+ HEAP32[$2302>>2] = $850;
+ $2303 = $22;
+ $2304 = $2303;
+ HEAP32[$2304>>2] = $1971;
+ $2305 = (($2303) + 4)|0;
+ $2306 = $2305;
+ HEAP32[$2306>>2] = $1972;
+ $2307 = $23;
+ $2308 = $2307;
+ HEAP32[$2308>>2] = $975;
+ $2309 = (($2307) + 4)|0;
+ $2310 = $2309;
+ HEAP32[$2310>>2] = $976;
+ $2311 = $24;
+ $2312 = $2311;
+ HEAP32[$2312>>2] = $1101;
+ $2313 = (($2311) + 4)|0;
+ $2314 = $2313;
+ HEAP32[$2314>>2] = $1102;
+ $2315 = $25;
+ $2316 = $2315;
+ HEAP32[$2316>>2] = $1227;
+ $2317 = (($2315) + 4)|0;
+ $2318 = $2317;
+ HEAP32[$2318>>2] = $1228;
+ $2319 = $26;
+ $2320 = $2319;
+ HEAP32[$2320>>2] = $1351;
+ $2321 = (($2319) + 4)|0;
+ $2322 = $2321;
+ HEAP32[$2322>>2] = $1352;
+ $2323 = (_bitshift64Lshr(($2253|0),($2254|0),14)|0);
+ $2324 = tempRet0;
+ $2325 = (_bitshift64Shl(($2253|0),($2254|0),50)|0);
+ $2326 = tempRet0;
+ $2327 = $2325 | $2323;
+ $2328 = $2326 | $2324;
+ $2329 = (_bitshift64Lshr(($2253|0),($2254|0),18)|0);
+ $2330 = tempRet0;
+ $2331 = (_bitshift64Shl(($2253|0),($2254|0),46)|0);
+ $2332 = tempRet0;
+ $2333 = $2331 | $2329;
+ $2334 = $2332 | $2330;
+ $2335 = $2327 ^ $2333;
+ $2336 = $2328 ^ $2334;
+ $2337 = (_bitshift64Lshr(($2253|0),($2254|0),41)|0);
+ $2338 = tempRet0;
+ $2339 = (_bitshift64Shl(($2253|0),($2254|0),23)|0);
+ $2340 = tempRet0;
+ $2341 = $2339 | $2337;
+ $2342 = $2340 | $2338;
+ $2343 = $2335 ^ $2341;
+ $2344 = $2336 ^ $2342;
+ $2345 = $2253 & $2129;
+ $2346 = $2254 & $2130;
+ $2347 = $2253 ^ -1;
+ $2348 = $2254 ^ -1;
+ $2349 = $2005 & $2347;
+ $2350 = $2006 & $2348;
+ $2351 = $2349 ^ $2345;
+ $2352 = $2350 ^ $2346;
+ $2353 = (_i64Add(($327|0),($328|0),-366583396,-903397682)|0);
+ $2354 = tempRet0;
+ $2355 = (_i64Add(($2353|0),($2354|0),($1881|0),($1882|0))|0);
+ $2356 = tempRet0;
+ $2357 = (_i64Add(($2355|0),($2356|0),($2351|0),($2352|0))|0);
+ $2358 = tempRet0;
+ $2359 = (_i64Add(($2357|0),($2358|0),($2343|0),($2344|0))|0);
+ $2360 = tempRet0;
+ $2361 = (_bitshift64Lshr(($2255|0),($2256|0),28)|0);
+ $2362 = tempRet0;
+ $2363 = (_bitshift64Shl(($2255|0),($2256|0),36)|0);
+ $2364 = tempRet0;
+ $2365 = $2363 | $2361;
+ $2366 = $2364 | $2362;
+ $2367 = (_bitshift64Lshr(($2255|0),($2256|0),34)|0);
+ $2368 = tempRet0;
+ $2369 = (_bitshift64Shl(($2255|0),($2256|0),30)|0);
+ $2370 = tempRet0;
+ $2371 = $2369 | $2367;
+ $2372 = $2370 | $2368;
+ $2373 = $2365 ^ $2371;
+ $2374 = $2366 ^ $2372;
+ $2375 = (_bitshift64Lshr(($2255|0),($2256|0),39)|0);
+ $2376 = tempRet0;
+ $2377 = (_bitshift64Shl(($2255|0),($2256|0),25)|0);
+ $2378 = tempRet0;
+ $2379 = $2377 | $2375;
+ $2380 = $2378 | $2376;
+ $2381 = $2373 ^ $2379;
+ $2382 = $2374 ^ $2380;
+ $2383 = $2131 ^ $2007;
+ $2384 = $2132 ^ $2008;
+ $2385 = $2255 & $2383;
+ $2386 = $2256 & $2384;
+ $2387 = $2131 & $2007;
+ $2388 = $2132 & $2008;
+ $2389 = $2385 ^ $2387;
+ $2390 = $2386 ^ $2388;
+ $2391 = (_i64Add(($2381|0),($2382|0),($2389|0),($2390|0))|0);
+ $2392 = tempRet0;
+ $2393 = (_i64Add(($2359|0),($2360|0),($1883|0),($1884|0))|0);
+ $2394 = tempRet0;
+ $2395 = (_i64Add(($2391|0),($2392|0),($2359|0),($2360|0))|0);
+ $2396 = tempRet0;
+ $2397 = (_bitshift64Lshr(($2393|0),($2394|0),14)|0);
+ $2398 = tempRet0;
+ $2399 = (_bitshift64Shl(($2393|0),($2394|0),50)|0);
+ $2400 = tempRet0;
+ $2401 = $2399 | $2397;
+ $2402 = $2400 | $2398;
+ $2403 = (_bitshift64Lshr(($2393|0),($2394|0),18)|0);
+ $2404 = tempRet0;
+ $2405 = (_bitshift64Shl(($2393|0),($2394|0),46)|0);
+ $2406 = tempRet0;
+ $2407 = $2405 | $2403;
+ $2408 = $2406 | $2404;
+ $2409 = $2401 ^ $2407;
+ $2410 = $2402 ^ $2408;
+ $2411 = (_bitshift64Lshr(($2393|0),($2394|0),41)|0);
+ $2412 = tempRet0;
+ $2413 = (_bitshift64Shl(($2393|0),($2394|0),23)|0);
+ $2414 = tempRet0;
+ $2415 = $2413 | $2411;
+ $2416 = $2414 | $2412;
+ $2417 = $2409 ^ $2415;
+ $2418 = $2410 ^ $2416;
+ $2419 = $2393 & $2253;
+ $2420 = $2394 & $2254;
+ $2421 = $2393 ^ -1;
+ $2422 = $2394 ^ -1;
+ $2423 = $2129 & $2421;
+ $2424 = $2130 & $2422;
+ $2425 = $2423 ^ $2419;
+ $2426 = $2424 ^ $2420;
+ $2427 = (_i64Add(($465|0),($466|0),566280711,-779700025)|0);
+ $2428 = tempRet0;
+ $2429 = (_i64Add(($2427|0),($2428|0),($2005|0),($2006|0))|0);
+ $2430 = tempRet0;
+ $2431 = (_i64Add(($2429|0),($2430|0),($2425|0),($2426|0))|0);
+ $2432 = tempRet0;
+ $2433 = (_i64Add(($2431|0),($2432|0),($2417|0),($2418|0))|0);
+ $2434 = tempRet0;
+ $2435 = (_bitshift64Lshr(($2395|0),($2396|0),28)|0);
+ $2436 = tempRet0;
+ $2437 = (_bitshift64Shl(($2395|0),($2396|0),36)|0);
+ $2438 = tempRet0;
+ $2439 = $2437 | $2435;
+ $2440 = $2438 | $2436;
+ $2441 = (_bitshift64Lshr(($2395|0),($2396|0),34)|0);
+ $2442 = tempRet0;
+ $2443 = (_bitshift64Shl(($2395|0),($2396|0),30)|0);
+ $2444 = tempRet0;
+ $2445 = $2443 | $2441;
+ $2446 = $2444 | $2442;
+ $2447 = $2439 ^ $2445;
+ $2448 = $2440 ^ $2446;
+ $2449 = (_bitshift64Lshr(($2395|0),($2396|0),39)|0);
+ $2450 = tempRet0;
+ $2451 = (_bitshift64Shl(($2395|0),($2396|0),25)|0);
+ $2452 = tempRet0;
+ $2453 = $2451 | $2449;
+ $2454 = $2452 | $2450;
+ $2455 = $2447 ^ $2453;
+ $2456 = $2448 ^ $2454;
+ $2457 = $2255 ^ $2131;
+ $2458 = $2256 ^ $2132;
+ $2459 = $2395 & $2457;
+ $2460 = $2396 & $2458;
+ $2461 = $2255 & $2131;
+ $2462 = $2256 & $2132;
+ $2463 = $2459 ^ $2461;
+ $2464 = $2460 ^ $2462;
+ $2465 = (_i64Add(($2455|0),($2456|0),($2463|0),($2464|0))|0);
+ $2466 = tempRet0;
+ $2467 = (_i64Add(($2433|0),($2434|0),($2007|0),($2008|0))|0);
+ $2468 = tempRet0;
+ $2469 = (_i64Add(($2465|0),($2466|0),($2433|0),($2434|0))|0);
+ $2470 = tempRet0;
+ $2471 = (_bitshift64Lshr(($2467|0),($2468|0),14)|0);
+ $2472 = tempRet0;
+ $2473 = (_bitshift64Shl(($2467|0),($2468|0),50)|0);
+ $2474 = tempRet0;
+ $2475 = $2473 | $2471;
+ $2476 = $2474 | $2472;
+ $2477 = (_bitshift64Lshr(($2467|0),($2468|0),18)|0);
+ $2478 = tempRet0;
+ $2479 = (_bitshift64Shl(($2467|0),($2468|0),46)|0);
+ $2480 = tempRet0;
+ $2481 = $2479 | $2477;
+ $2482 = $2480 | $2478;
+ $2483 = $2475 ^ $2481;
+ $2484 = $2476 ^ $2482;
+ $2485 = (_bitshift64Lshr(($2467|0),($2468|0),41)|0);
+ $2486 = tempRet0;
+ $2487 = (_bitshift64Shl(($2467|0),($2468|0),23)|0);
+ $2488 = tempRet0;
+ $2489 = $2487 | $2485;
+ $2490 = $2488 | $2486;
+ $2491 = $2483 ^ $2489;
+ $2492 = $2484 ^ $2490;
+ $2493 = $2467 & $2393;
+ $2494 = $2468 & $2394;
+ $2495 = $2467 ^ -1;
+ $2496 = $2468 ^ -1;
+ $2497 = $2253 & $2495;
+ $2498 = $2254 & $2496;
+ $2499 = $2497 ^ $2493;
+ $2500 = $2498 ^ $2494;
+ $2501 = (_i64Add(($593|0),($594|0),-840897762,-354779690)|0);
+ $2502 = tempRet0;
+ $2503 = (_i64Add(($2501|0),($2502|0),($2129|0),($2130|0))|0);
+ $2504 = tempRet0;
+ $2505 = (_i64Add(($2503|0),($2504|0),($2499|0),($2500|0))|0);
+ $2506 = tempRet0;
+ $2507 = (_i64Add(($2505|0),($2506|0),($2491|0),($2492|0))|0);
+ $2508 = tempRet0;
+ $2509 = (_bitshift64Lshr(($2469|0),($2470|0),28)|0);
+ $2510 = tempRet0;
+ $2511 = (_bitshift64Shl(($2469|0),($2470|0),36)|0);
+ $2512 = tempRet0;
+ $2513 = $2511 | $2509;
+ $2514 = $2512 | $2510;
+ $2515 = (_bitshift64Lshr(($2469|0),($2470|0),34)|0);
+ $2516 = tempRet0;
+ $2517 = (_bitshift64Shl(($2469|0),($2470|0),30)|0);
+ $2518 = tempRet0;
+ $2519 = $2517 | $2515;
+ $2520 = $2518 | $2516;
+ $2521 = $2513 ^ $2519;
+ $2522 = $2514 ^ $2520;
+ $2523 = (_bitshift64Lshr(($2469|0),($2470|0),39)|0);
+ $2524 = tempRet0;
+ $2525 = (_bitshift64Shl(($2469|0),($2470|0),25)|0);
+ $2526 = tempRet0;
+ $2527 = $2525 | $2523;
+ $2528 = $2526 | $2524;
+ $2529 = $2521 ^ $2527;
+ $2530 = $2522 ^ $2528;
+ $2531 = $2395 ^ $2255;
+ $2532 = $2396 ^ $2256;
+ $2533 = $2469 & $2531;
+ $2534 = $2470 & $2532;
+ $2535 = $2395 & $2255;
+ $2536 = $2396 & $2256;
+ $2537 = $2533 ^ $2535;
+ $2538 = $2534 ^ $2536;
+ $2539 = (_i64Add(($2529|0),($2530|0),($2537|0),($2538|0))|0);
+ $2540 = tempRet0;
+ $2541 = (_i64Add(($2507|0),($2508|0),($2131|0),($2132|0))|0);
+ $2542 = tempRet0;
+ $2543 = (_i64Add(($2539|0),($2540|0),($2507|0),($2508|0))|0);
+ $2544 = tempRet0;
+ $2545 = (_bitshift64Lshr(($2541|0),($2542|0),14)|0);
+ $2546 = tempRet0;
+ $2547 = (_bitshift64Shl(($2541|0),($2542|0),50)|0);
+ $2548 = tempRet0;
+ $2549 = $2547 | $2545;
+ $2550 = $2548 | $2546;
+ $2551 = (_bitshift64Lshr(($2541|0),($2542|0),18)|0);
+ $2552 = tempRet0;
+ $2553 = (_bitshift64Shl(($2541|0),($2542|0),46)|0);
+ $2554 = tempRet0;
+ $2555 = $2553 | $2551;
+ $2556 = $2554 | $2552;
+ $2557 = $2549 ^ $2555;
+ $2558 = $2550 ^ $2556;
+ $2559 = (_bitshift64Lshr(($2541|0),($2542|0),41)|0);
+ $2560 = tempRet0;
+ $2561 = (_bitshift64Shl(($2541|0),($2542|0),23)|0);
+ $2562 = tempRet0;
+ $2563 = $2561 | $2559;
+ $2564 = $2562 | $2560;
+ $2565 = $2557 ^ $2563;
+ $2566 = $2558 ^ $2564;
+ $2567 = $2541 & $2467;
+ $2568 = $2542 & $2468;
+ $2569 = $2541 ^ -1;
+ $2570 = $2542 ^ -1;
+ $2571 = $2393 & $2569;
+ $2572 = $2394 & $2570;
+ $2573 = $2571 ^ $2567;
+ $2574 = $2572 ^ $2568;
+ $2575 = (_i64Add(($721|0),($722|0),-294727304,-176337025)|0);
+ $2576 = tempRet0;
+ $2577 = (_i64Add(($2575|0),($2576|0),($2253|0),($2254|0))|0);
+ $2578 = tempRet0;
+ $2579 = (_i64Add(($2577|0),($2578|0),($2573|0),($2574|0))|0);
+ $2580 = tempRet0;
+ $2581 = (_i64Add(($2579|0),($2580|0),($2565|0),($2566|0))|0);
+ $2582 = tempRet0;
+ $2583 = (_bitshift64Lshr(($2543|0),($2544|0),28)|0);
+ $2584 = tempRet0;
+ $2585 = (_bitshift64Shl(($2543|0),($2544|0),36)|0);
+ $2586 = tempRet0;
+ $2587 = $2585 | $2583;
+ $2588 = $2586 | $2584;
+ $2589 = (_bitshift64Lshr(($2543|0),($2544|0),34)|0);
+ $2590 = tempRet0;
+ $2591 = (_bitshift64Shl(($2543|0),($2544|0),30)|0);
+ $2592 = tempRet0;
+ $2593 = $2591 | $2589;
+ $2594 = $2592 | $2590;
+ $2595 = $2587 ^ $2593;
+ $2596 = $2588 ^ $2594;
+ $2597 = (_bitshift64Lshr(($2543|0),($2544|0),39)|0);
+ $2598 = tempRet0;
+ $2599 = (_bitshift64Shl(($2543|0),($2544|0),25)|0);
+ $2600 = tempRet0;
+ $2601 = $2599 | $2597;
+ $2602 = $2600 | $2598;
+ $2603 = $2595 ^ $2601;
+ $2604 = $2596 ^ $2602;
+ $2605 = $2469 ^ $2395;
+ $2606 = $2470 ^ $2396;
+ $2607 = $2543 & $2605;
+ $2608 = $2544 & $2606;
+ $2609 = $2469 & $2395;
+ $2610 = $2470 & $2396;
+ $2611 = $2607 ^ $2609;
+ $2612 = $2608 ^ $2610;
+ $2613 = (_i64Add(($2603|0),($2604|0),($2611|0),($2612|0))|0);
+ $2614 = tempRet0;
+ $2615 = (_i64Add(($2581|0),($2582|0),($2255|0),($2256|0))|0);
+ $2616 = tempRet0;
+ $2617 = (_i64Add(($2613|0),($2614|0),($2581|0),($2582|0))|0);
+ $2618 = tempRet0;
+ $2619 = (_bitshift64Lshr(($2615|0),($2616|0),14)|0);
+ $2620 = tempRet0;
+ $2621 = (_bitshift64Shl(($2615|0),($2616|0),50)|0);
+ $2622 = tempRet0;
+ $2623 = $2621 | $2619;
+ $2624 = $2622 | $2620;
+ $2625 = (_bitshift64Lshr(($2615|0),($2616|0),18)|0);
+ $2626 = tempRet0;
+ $2627 = (_bitshift64Shl(($2615|0),($2616|0),46)|0);
+ $2628 = tempRet0;
+ $2629 = $2627 | $2625;
+ $2630 = $2628 | $2626;
+ $2631 = $2623 ^ $2629;
+ $2632 = $2624 ^ $2630;
+ $2633 = (_bitshift64Lshr(($2615|0),($2616|0),41)|0);
+ $2634 = tempRet0;
+ $2635 = (_bitshift64Shl(($2615|0),($2616|0),23)|0);
+ $2636 = tempRet0;
+ $2637 = $2635 | $2633;
+ $2638 = $2636 | $2634;
+ $2639 = $2631 ^ $2637;
+ $2640 = $2632 ^ $2638;
+ $2641 = $2615 & $2541;
+ $2642 = $2616 & $2542;
+ $2643 = $2615 ^ -1;
+ $2644 = $2616 ^ -1;
+ $2645 = $2467 & $2643;
+ $2646 = $2468 & $2644;
+ $2647 = $2645 ^ $2641;
+ $2648 = $2646 ^ $2642;
+ $2649 = (_i64Add(($849|0),($850|0),1914138554,116418474)|0);
+ $2650 = tempRet0;
+ $2651 = (_i64Add(($2649|0),($2650|0),($2393|0),($2394|0))|0);
+ $2652 = tempRet0;
+ $2653 = (_i64Add(($2651|0),($2652|0),($2647|0),($2648|0))|0);
+ $2654 = tempRet0;
+ $2655 = (_i64Add(($2653|0),($2654|0),($2639|0),($2640|0))|0);
+ $2656 = tempRet0;
+ $2657 = (_bitshift64Lshr(($2617|0),($2618|0),28)|0);
+ $2658 = tempRet0;
+ $2659 = (_bitshift64Shl(($2617|0),($2618|0),36)|0);
+ $2660 = tempRet0;
+ $2661 = $2659 | $2657;
+ $2662 = $2660 | $2658;
+ $2663 = (_bitshift64Lshr(($2617|0),($2618|0),34)|0);
+ $2664 = tempRet0;
+ $2665 = (_bitshift64Shl(($2617|0),($2618|0),30)|0);
+ $2666 = tempRet0;
+ $2667 = $2665 | $2663;
+ $2668 = $2666 | $2664;
+ $2669 = $2661 ^ $2667;
+ $2670 = $2662 ^ $2668;
+ $2671 = (_bitshift64Lshr(($2617|0),($2618|0),39)|0);
+ $2672 = tempRet0;
+ $2673 = (_bitshift64Shl(($2617|0),($2618|0),25)|0);
+ $2674 = tempRet0;
+ $2675 = $2673 | $2671;
+ $2676 = $2674 | $2672;
+ $2677 = $2669 ^ $2675;
+ $2678 = $2670 ^ $2676;
+ $2679 = $2543 ^ $2469;
+ $2680 = $2544 ^ $2470;
+ $2681 = $2617 & $2679;
+ $2682 = $2618 & $2680;
+ $2683 = $2543 & $2469;
+ $2684 = $2544 & $2470;
+ $2685 = $2681 ^ $2683;
+ $2686 = $2682 ^ $2684;
+ $2687 = (_i64Add(($2677|0),($2678|0),($2685|0),($2686|0))|0);
+ $2688 = tempRet0;
+ $2689 = (_i64Add(($2655|0),($2656|0),($2395|0),($2396|0))|0);
+ $2690 = tempRet0;
+ $2691 = (_i64Add(($2687|0),($2688|0),($2655|0),($2656|0))|0);
+ $2692 = tempRet0;
+ $2693 = (_bitshift64Lshr(($2689|0),($2690|0),14)|0);
+ $2694 = tempRet0;
+ $2695 = (_bitshift64Shl(($2689|0),($2690|0),50)|0);
+ $2696 = tempRet0;
+ $2697 = $2695 | $2693;
+ $2698 = $2696 | $2694;
+ $2699 = (_bitshift64Lshr(($2689|0),($2690|0),18)|0);
+ $2700 = tempRet0;
+ $2701 = (_bitshift64Shl(($2689|0),($2690|0),46)|0);
+ $2702 = tempRet0;
+ $2703 = $2701 | $2699;
+ $2704 = $2702 | $2700;
+ $2705 = $2697 ^ $2703;
+ $2706 = $2698 ^ $2704;
+ $2707 = (_bitshift64Lshr(($2689|0),($2690|0),41)|0);
+ $2708 = tempRet0;
+ $2709 = (_bitshift64Shl(($2689|0),($2690|0),23)|0);
+ $2710 = tempRet0;
+ $2711 = $2709 | $2707;
+ $2712 = $2710 | $2708;
+ $2713 = $2705 ^ $2711;
+ $2714 = $2706 ^ $2712;
+ $2715 = $2689 & $2615;
+ $2716 = $2690 & $2616;
+ $2717 = $2689 ^ -1;
+ $2718 = $2690 ^ -1;
+ $2719 = $2541 & $2717;
+ $2720 = $2542 & $2718;
+ $2721 = $2719 ^ $2715;
+ $2722 = $2720 ^ $2716;
+ $2723 = (_i64Add(($975|0),($976|0),-1563912026,174292421)|0);
+ $2724 = tempRet0;
+ $2725 = (_i64Add(($2723|0),($2724|0),($2467|0),($2468|0))|0);
+ $2726 = tempRet0;
+ $2727 = (_i64Add(($2725|0),($2726|0),($2721|0),($2722|0))|0);
+ $2728 = tempRet0;
+ $2729 = (_i64Add(($2727|0),($2728|0),($2713|0),($2714|0))|0);
+ $2730 = tempRet0;
+ $2731 = (_bitshift64Lshr(($2691|0),($2692|0),28)|0);
+ $2732 = tempRet0;
+ $2733 = (_bitshift64Shl(($2691|0),($2692|0),36)|0);
+ $2734 = tempRet0;
+ $2735 = $2733 | $2731;
+ $2736 = $2734 | $2732;
+ $2737 = (_bitshift64Lshr(($2691|0),($2692|0),34)|0);
+ $2738 = tempRet0;
+ $2739 = (_bitshift64Shl(($2691|0),($2692|0),30)|0);
+ $2740 = tempRet0;
+ $2741 = $2739 | $2737;
+ $2742 = $2740 | $2738;
+ $2743 = $2735 ^ $2741;
+ $2744 = $2736 ^ $2742;
+ $2745 = (_bitshift64Lshr(($2691|0),($2692|0),39)|0);
+ $2746 = tempRet0;
+ $2747 = (_bitshift64Shl(($2691|0),($2692|0),25)|0);
+ $2748 = tempRet0;
+ $2749 = $2747 | $2745;
+ $2750 = $2748 | $2746;
+ $2751 = $2743 ^ $2749;
+ $2752 = $2744 ^ $2750;
+ $2753 = $2617 ^ $2543;
+ $2754 = $2618 ^ $2544;
+ $2755 = $2691 & $2753;
+ $2756 = $2692 & $2754;
+ $2757 = $2617 & $2543;
+ $2758 = $2618 & $2544;
+ $2759 = $2755 ^ $2757;
+ $2760 = $2756 ^ $2758;
+ $2761 = (_i64Add(($2751|0),($2752|0),($2759|0),($2760|0))|0);
+ $2762 = tempRet0;
+ $2763 = (_i64Add(($2729|0),($2730|0),($2469|0),($2470|0))|0);
+ $2764 = tempRet0;
+ $2765 = (_i64Add(($2761|0),($2762|0),($2729|0),($2730|0))|0);
+ $2766 = tempRet0;
+ $2767 = (_bitshift64Lshr(($2763|0),($2764|0),14)|0);
+ $2768 = tempRet0;
+ $2769 = (_bitshift64Shl(($2763|0),($2764|0),50)|0);
+ $2770 = tempRet0;
+ $2771 = $2769 | $2767;
+ $2772 = $2770 | $2768;
+ $2773 = (_bitshift64Lshr(($2763|0),($2764|0),18)|0);
+ $2774 = tempRet0;
+ $2775 = (_bitshift64Shl(($2763|0),($2764|0),46)|0);
+ $2776 = tempRet0;
+ $2777 = $2775 | $2773;
+ $2778 = $2776 | $2774;
+ $2779 = $2771 ^ $2777;
+ $2780 = $2772 ^ $2778;
+ $2781 = (_bitshift64Lshr(($2763|0),($2764|0),41)|0);
+ $2782 = tempRet0;
+ $2783 = (_bitshift64Shl(($2763|0),($2764|0),23)|0);
+ $2784 = tempRet0;
+ $2785 = $2783 | $2781;
+ $2786 = $2784 | $2782;
+ $2787 = $2779 ^ $2785;
+ $2788 = $2780 ^ $2786;
+ $2789 = $2763 & $2689;
+ $2790 = $2764 & $2690;
+ $2791 = $2763 ^ -1;
+ $2792 = $2764 ^ -1;
+ $2793 = $2615 & $2791;
+ $2794 = $2616 & $2792;
+ $2795 = $2793 ^ $2789;
+ $2796 = $2794 ^ $2790;
+ $2797 = (_i64Add(($1101|0),($1102|0),-1090974290,289380356)|0);
+ $2798 = tempRet0;
+ $2799 = (_i64Add(($2797|0),($2798|0),($2541|0),($2542|0))|0);
+ $2800 = tempRet0;
+ $2801 = (_i64Add(($2799|0),($2800|0),($2795|0),($2796|0))|0);
+ $2802 = tempRet0;
+ $2803 = (_i64Add(($2801|0),($2802|0),($2787|0),($2788|0))|0);
+ $2804 = tempRet0;
+ $2805 = (_bitshift64Lshr(($2765|0),($2766|0),28)|0);
+ $2806 = tempRet0;
+ $2807 = (_bitshift64Shl(($2765|0),($2766|0),36)|0);
+ $2808 = tempRet0;
+ $2809 = $2807 | $2805;
+ $2810 = $2808 | $2806;
+ $2811 = (_bitshift64Lshr(($2765|0),($2766|0),34)|0);
+ $2812 = tempRet0;
+ $2813 = (_bitshift64Shl(($2765|0),($2766|0),30)|0);
+ $2814 = tempRet0;
+ $2815 = $2813 | $2811;
+ $2816 = $2814 | $2812;
+ $2817 = $2809 ^ $2815;
+ $2818 = $2810 ^ $2816;
+ $2819 = (_bitshift64Lshr(($2765|0),($2766|0),39)|0);
+ $2820 = tempRet0;
+ $2821 = (_bitshift64Shl(($2765|0),($2766|0),25)|0);
+ $2822 = tempRet0;
+ $2823 = $2821 | $2819;
+ $2824 = $2822 | $2820;
+ $2825 = $2817 ^ $2823;
+ $2826 = $2818 ^ $2824;
+ $2827 = $2691 ^ $2617;
+ $2828 = $2692 ^ $2618;
+ $2829 = $2765 & $2827;
+ $2830 = $2766 & $2828;
+ $2831 = $2691 & $2617;
+ $2832 = $2692 & $2618;
+ $2833 = $2829 ^ $2831;
+ $2834 = $2830 ^ $2832;
+ $2835 = (_i64Add(($2825|0),($2826|0),($2833|0),($2834|0))|0);
+ $2836 = tempRet0;
+ $2837 = (_i64Add(($2803|0),($2804|0),($2543|0),($2544|0))|0);
+ $2838 = tempRet0;
+ $2839 = (_i64Add(($2835|0),($2836|0),($2803|0),($2804|0))|0);
+ $2840 = tempRet0;
+ $2841 = (_bitshift64Lshr(($2837|0),($2838|0),14)|0);
+ $2842 = tempRet0;
+ $2843 = (_bitshift64Shl(($2837|0),($2838|0),50)|0);
+ $2844 = tempRet0;
+ $2845 = $2843 | $2841;
+ $2846 = $2844 | $2842;
+ $2847 = (_bitshift64Lshr(($2837|0),($2838|0),18)|0);
+ $2848 = tempRet0;
+ $2849 = (_bitshift64Shl(($2837|0),($2838|0),46)|0);
+ $2850 = tempRet0;
+ $2851 = $2849 | $2847;
+ $2852 = $2850 | $2848;
+ $2853 = $2845 ^ $2851;
+ $2854 = $2846 ^ $2852;
+ $2855 = (_bitshift64Lshr(($2837|0),($2838|0),41)|0);
+ $2856 = tempRet0;
+ $2857 = (_bitshift64Shl(($2837|0),($2838|0),23)|0);
+ $2858 = tempRet0;
+ $2859 = $2857 | $2855;
+ $2860 = $2858 | $2856;
+ $2861 = $2853 ^ $2859;
+ $2862 = $2854 ^ $2860;
+ $2863 = $2837 & $2763;
+ $2864 = $2838 & $2764;
+ $2865 = $2837 ^ -1;
+ $2866 = $2838 ^ -1;
+ $2867 = $2689 & $2865;
+ $2868 = $2690 & $2866;
+ $2869 = $2867 ^ $2863;
+ $2870 = $2868 ^ $2864;
+ $2871 = (_i64Add(($1227|0),($1228|0),320620315,460393269)|0);
+ $2872 = tempRet0;
+ $2873 = (_i64Add(($2871|0),($2872|0),($2615|0),($2616|0))|0);
+ $2874 = tempRet0;
+ $2875 = (_i64Add(($2873|0),($2874|0),($2869|0),($2870|0))|0);
+ $2876 = tempRet0;
+ $2877 = (_i64Add(($2875|0),($2876|0),($2861|0),($2862|0))|0);
+ $2878 = tempRet0;
+ $2879 = (_bitshift64Lshr(($2839|0),($2840|0),28)|0);
+ $2880 = tempRet0;
+ $2881 = (_bitshift64Shl(($2839|0),($2840|0),36)|0);
+ $2882 = tempRet0;
+ $2883 = $2881 | $2879;
+ $2884 = $2882 | $2880;
+ $2885 = (_bitshift64Lshr(($2839|0),($2840|0),34)|0);
+ $2886 = tempRet0;
+ $2887 = (_bitshift64Shl(($2839|0),($2840|0),30)|0);
+ $2888 = tempRet0;
+ $2889 = $2887 | $2885;
+ $2890 = $2888 | $2886;
+ $2891 = $2883 ^ $2889;
+ $2892 = $2884 ^ $2890;
+ $2893 = (_bitshift64Lshr(($2839|0),($2840|0),39)|0);
+ $2894 = tempRet0;
+ $2895 = (_bitshift64Shl(($2839|0),($2840|0),25)|0);
+ $2896 = tempRet0;
+ $2897 = $2895 | $2893;
+ $2898 = $2896 | $2894;
+ $2899 = $2891 ^ $2897;
+ $2900 = $2892 ^ $2898;
+ $2901 = $2765 ^ $2691;
+ $2902 = $2766 ^ $2692;
+ $2903 = $2839 & $2901;
+ $2904 = $2840 & $2902;
+ $2905 = $2765 & $2691;
+ $2906 = $2766 & $2692;
+ $2907 = $2903 ^ $2905;
+ $2908 = $2904 ^ $2906;
+ $2909 = (_i64Add(($2899|0),($2900|0),($2907|0),($2908|0))|0);
+ $2910 = tempRet0;
+ $2911 = (_i64Add(($2877|0),($2878|0),($2617|0),($2618|0))|0);
+ $2912 = tempRet0;
+ $2913 = (_i64Add(($2909|0),($2910|0),($2877|0),($2878|0))|0);
+ $2914 = tempRet0;
+ $2915 = (_bitshift64Lshr(($2911|0),($2912|0),14)|0);
+ $2916 = tempRet0;
+ $2917 = (_bitshift64Shl(($2911|0),($2912|0),50)|0);
+ $2918 = tempRet0;
+ $2919 = $2917 | $2915;
+ $2920 = $2918 | $2916;
+ $2921 = (_bitshift64Lshr(($2911|0),($2912|0),18)|0);
+ $2922 = tempRet0;
+ $2923 = (_bitshift64Shl(($2911|0),($2912|0),46)|0);
+ $2924 = tempRet0;
+ $2925 = $2923 | $2921;
+ $2926 = $2924 | $2922;
+ $2927 = $2919 ^ $2925;
+ $2928 = $2920 ^ $2926;
+ $2929 = (_bitshift64Lshr(($2911|0),($2912|0),41)|0);
+ $2930 = tempRet0;
+ $2931 = (_bitshift64Shl(($2911|0),($2912|0),23)|0);
+ $2932 = tempRet0;
+ $2933 = $2931 | $2929;
+ $2934 = $2932 | $2930;
+ $2935 = $2927 ^ $2933;
+ $2936 = $2928 ^ $2934;
+ $2937 = $2911 & $2837;
+ $2938 = $2912 & $2838;
+ $2939 = $2911 ^ -1;
+ $2940 = $2912 ^ -1;
+ $2941 = $2763 & $2939;
+ $2942 = $2764 & $2940;
+ $2943 = $2941 ^ $2937;
+ $2944 = $2942 ^ $2938;
+ $2945 = (_i64Add(($1351|0),($1352|0),587496836,685471733)|0);
+ $2946 = tempRet0;
+ $2947 = (_i64Add(($2945|0),($2946|0),($2689|0),($2690|0))|0);
+ $2948 = tempRet0;
+ $2949 = (_i64Add(($2947|0),($2948|0),($2943|0),($2944|0))|0);
+ $2950 = tempRet0;
+ $2951 = (_i64Add(($2949|0),($2950|0),($2935|0),($2936|0))|0);
+ $2952 = tempRet0;
+ $2953 = (_bitshift64Lshr(($2913|0),($2914|0),28)|0);
+ $2954 = tempRet0;
+ $2955 = (_bitshift64Shl(($2913|0),($2914|0),36)|0);
+ $2956 = tempRet0;
+ $2957 = $2955 | $2953;
+ $2958 = $2956 | $2954;
+ $2959 = (_bitshift64Lshr(($2913|0),($2914|0),34)|0);
+ $2960 = tempRet0;
+ $2961 = (_bitshift64Shl(($2913|0),($2914|0),30)|0);
+ $2962 = tempRet0;
+ $2963 = $2961 | $2959;
+ $2964 = $2962 | $2960;
+ $2965 = $2957 ^ $2963;
+ $2966 = $2958 ^ $2964;
+ $2967 = (_bitshift64Lshr(($2913|0),($2914|0),39)|0);
+ $2968 = tempRet0;
+ $2969 = (_bitshift64Shl(($2913|0),($2914|0),25)|0);
+ $2970 = tempRet0;
+ $2971 = $2969 | $2967;
+ $2972 = $2970 | $2968;
+ $2973 = $2965 ^ $2971;
+ $2974 = $2966 ^ $2972;
+ $2975 = $2839 ^ $2765;
+ $2976 = $2840 ^ $2766;
+ $2977 = $2913 & $2975;
+ $2978 = $2914 & $2976;
+ $2979 = $2839 & $2765;
+ $2980 = $2840 & $2766;
+ $2981 = $2977 ^ $2979;
+ $2982 = $2978 ^ $2980;
+ $2983 = (_i64Add(($2973|0),($2974|0),($2981|0),($2982|0))|0);
+ $2984 = tempRet0;
+ $2985 = (_i64Add(($2951|0),($2952|0),($2691|0),($2692|0))|0);
+ $2986 = tempRet0;
+ $2987 = (_i64Add(($2983|0),($2984|0),($2951|0),($2952|0))|0);
+ $2988 = tempRet0;
+ $2989 = (_bitshift64Lshr(($2985|0),($2986|0),14)|0);
+ $2990 = tempRet0;
+ $2991 = (_bitshift64Shl(($2985|0),($2986|0),50)|0);
+ $2992 = tempRet0;
+ $2993 = $2991 | $2989;
+ $2994 = $2992 | $2990;
+ $2995 = (_bitshift64Lshr(($2985|0),($2986|0),18)|0);
+ $2996 = tempRet0;
+ $2997 = (_bitshift64Shl(($2985|0),($2986|0),46)|0);
+ $2998 = tempRet0;
+ $2999 = $2997 | $2995;
+ $3000 = $2998 | $2996;
+ $3001 = $2993 ^ $2999;
+ $3002 = $2994 ^ $3000;
+ $3003 = (_bitshift64Lshr(($2985|0),($2986|0),41)|0);
+ $3004 = tempRet0;
+ $3005 = (_bitshift64Shl(($2985|0),($2986|0),23)|0);
+ $3006 = tempRet0;
+ $3007 = $3005 | $3003;
+ $3008 = $3006 | $3004;
+ $3009 = $3001 ^ $3007;
+ $3010 = $3002 ^ $3008;
+ $3011 = $2985 & $2911;
+ $3012 = $2986 & $2912;
+ $3013 = $2985 ^ -1;
+ $3014 = $2986 ^ -1;
+ $3015 = $2837 & $3013;
+ $3016 = $2838 & $3014;
+ $3017 = $3015 ^ $3011;
+ $3018 = $3016 ^ $3012;
+ $3019 = (_i64Add(($1475|0),($1476|0),1086792851,852142971)|0);
+ $3020 = tempRet0;
+ $3021 = (_i64Add(($3019|0),($3020|0),($2763|0),($2764|0))|0);
+ $3022 = tempRet0;
+ $3023 = (_i64Add(($3021|0),($3022|0),($3017|0),($3018|0))|0);
+ $3024 = tempRet0;
+ $3025 = (_i64Add(($3023|0),($3024|0),($3009|0),($3010|0))|0);
+ $3026 = tempRet0;
+ $3027 = (_bitshift64Lshr(($2987|0),($2988|0),28)|0);
+ $3028 = tempRet0;
+ $3029 = (_bitshift64Shl(($2987|0),($2988|0),36)|0);
+ $3030 = tempRet0;
+ $3031 = $3029 | $3027;
+ $3032 = $3030 | $3028;
+ $3033 = (_bitshift64Lshr(($2987|0),($2988|0),34)|0);
+ $3034 = tempRet0;
+ $3035 = (_bitshift64Shl(($2987|0),($2988|0),30)|0);
+ $3036 = tempRet0;
+ $3037 = $3035 | $3033;
+ $3038 = $3036 | $3034;
+ $3039 = $3031 ^ $3037;
+ $3040 = $3032 ^ $3038;
+ $3041 = (_bitshift64Lshr(($2987|0),($2988|0),39)|0);
+ $3042 = tempRet0;
+ $3043 = (_bitshift64Shl(($2987|0),($2988|0),25)|0);
+ $3044 = tempRet0;
+ $3045 = $3043 | $3041;
+ $3046 = $3044 | $3042;
+ $3047 = $3039 ^ $3045;
+ $3048 = $3040 ^ $3046;
+ $3049 = $2913 ^ $2839;
+ $3050 = $2914 ^ $2840;
+ $3051 = $2987 & $3049;
+ $3052 = $2988 & $3050;
+ $3053 = $2913 & $2839;
+ $3054 = $2914 & $2840;
+ $3055 = $3051 ^ $3053;
+ $3056 = $3052 ^ $3054;
+ $3057 = (_i64Add(($3047|0),($3048|0),($3055|0),($3056|0))|0);
+ $3058 = tempRet0;
+ $3059 = (_i64Add(($3025|0),($3026|0),($2765|0),($2766|0))|0);
+ $3060 = tempRet0;
+ $3061 = (_i64Add(($3057|0),($3058|0),($3025|0),($3026|0))|0);
+ $3062 = tempRet0;
+ $3063 = (_bitshift64Lshr(($3059|0),($3060|0),14)|0);
+ $3064 = tempRet0;
+ $3065 = (_bitshift64Shl(($3059|0),($3060|0),50)|0);
+ $3066 = tempRet0;
+ $3067 = $3065 | $3063;
+ $3068 = $3066 | $3064;
+ $3069 = (_bitshift64Lshr(($3059|0),($3060|0),18)|0);
+ $3070 = tempRet0;
+ $3071 = (_bitshift64Shl(($3059|0),($3060|0),46)|0);
+ $3072 = tempRet0;
+ $3073 = $3071 | $3069;
+ $3074 = $3072 | $3070;
+ $3075 = $3067 ^ $3073;
+ $3076 = $3068 ^ $3074;
+ $3077 = (_bitshift64Lshr(($3059|0),($3060|0),41)|0);
+ $3078 = tempRet0;
+ $3079 = (_bitshift64Shl(($3059|0),($3060|0),23)|0);
+ $3080 = tempRet0;
+ $3081 = $3079 | $3077;
+ $3082 = $3080 | $3078;
+ $3083 = $3075 ^ $3081;
+ $3084 = $3076 ^ $3082;
+ $3085 = $3059 & $2985;
+ $3086 = $3060 & $2986;
+ $3087 = $3059 ^ -1;
+ $3088 = $3060 ^ -1;
+ $3089 = $2911 & $3087;
+ $3090 = $2912 & $3088;
+ $3091 = $3089 ^ $3085;
+ $3092 = $3090 ^ $3086;
+ $3093 = (_i64Add(($1599|0),($1600|0),365543100,1017036298)|0);
+ $3094 = tempRet0;
+ $3095 = (_i64Add(($3093|0),($3094|0),($2837|0),($2838|0))|0);
+ $3096 = tempRet0;
+ $3097 = (_i64Add(($3095|0),($3096|0),($3091|0),($3092|0))|0);
+ $3098 = tempRet0;
+ $3099 = (_i64Add(($3097|0),($3098|0),($3083|0),($3084|0))|0);
+ $3100 = tempRet0;
+ $3101 = (_bitshift64Lshr(($3061|0),($3062|0),28)|0);
+ $3102 = tempRet0;
+ $3103 = (_bitshift64Shl(($3061|0),($3062|0),36)|0);
+ $3104 = tempRet0;
+ $3105 = $3103 | $3101;
+ $3106 = $3104 | $3102;
+ $3107 = (_bitshift64Lshr(($3061|0),($3062|0),34)|0);
+ $3108 = tempRet0;
+ $3109 = (_bitshift64Shl(($3061|0),($3062|0),30)|0);
+ $3110 = tempRet0;
+ $3111 = $3109 | $3107;
+ $3112 = $3110 | $3108;
+ $3113 = $3105 ^ $3111;
+ $3114 = $3106 ^ $3112;
+ $3115 = (_bitshift64Lshr(($3061|0),($3062|0),39)|0);
+ $3116 = tempRet0;
+ $3117 = (_bitshift64Shl(($3061|0),($3062|0),25)|0);
+ $3118 = tempRet0;
+ $3119 = $3117 | $3115;
+ $3120 = $3118 | $3116;
+ $3121 = $3113 ^ $3119;
+ $3122 = $3114 ^ $3120;
+ $3123 = $2987 ^ $2913;
+ $3124 = $2988 ^ $2914;
+ $3125 = $3061 & $3123;
+ $3126 = $3062 & $3124;
+ $3127 = $2987 & $2913;
+ $3128 = $2988 & $2914;
+ $3129 = $3125 ^ $3127;
+ $3130 = $3126 ^ $3128;
+ $3131 = (_i64Add(($3121|0),($3122|0),($3129|0),($3130|0))|0);
+ $3132 = tempRet0;
+ $3133 = (_i64Add(($3099|0),($3100|0),($2839|0),($2840|0))|0);
+ $3134 = tempRet0;
+ $3135 = (_i64Add(($3131|0),($3132|0),($3099|0),($3100|0))|0);
+ $3136 = tempRet0;
+ $3137 = (_bitshift64Lshr(($3133|0),($3134|0),14)|0);
+ $3138 = tempRet0;
+ $3139 = (_bitshift64Shl(($3133|0),($3134|0),50)|0);
+ $3140 = tempRet0;
+ $3141 = $3139 | $3137;
+ $3142 = $3140 | $3138;
+ $3143 = (_bitshift64Lshr(($3133|0),($3134|0),18)|0);
+ $3144 = tempRet0;
+ $3145 = (_bitshift64Shl(($3133|0),($3134|0),46)|0);
+ $3146 = tempRet0;
+ $3147 = $3145 | $3143;
+ $3148 = $3146 | $3144;
+ $3149 = $3141 ^ $3147;
+ $3150 = $3142 ^ $3148;
+ $3151 = (_bitshift64Lshr(($3133|0),($3134|0),41)|0);
+ $3152 = tempRet0;
+ $3153 = (_bitshift64Shl(($3133|0),($3134|0),23)|0);
+ $3154 = tempRet0;
+ $3155 = $3153 | $3151;
+ $3156 = $3154 | $3152;
+ $3157 = $3149 ^ $3155;
+ $3158 = $3150 ^ $3156;
+ $3159 = $3133 & $3059;
+ $3160 = $3134 & $3060;
+ $3161 = $3133 ^ -1;
+ $3162 = $3134 ^ -1;
+ $3163 = $2985 & $3161;
+ $3164 = $2986 & $3162;
+ $3165 = $3163 ^ $3159;
+ $3166 = $3164 ^ $3160;
+ $3167 = (_i64Add(($1723|0),($1724|0),-1676669620,1126000580)|0);
+ $3168 = tempRet0;
+ $3169 = (_i64Add(($3167|0),($3168|0),($2911|0),($2912|0))|0);
+ $3170 = tempRet0;
+ $3171 = (_i64Add(($3169|0),($3170|0),($3165|0),($3166|0))|0);
+ $3172 = tempRet0;
+ $3173 = (_i64Add(($3171|0),($3172|0),($3157|0),($3158|0))|0);
+ $3174 = tempRet0;
+ $3175 = (_bitshift64Lshr(($3135|0),($3136|0),28)|0);
+ $3176 = tempRet0;
+ $3177 = (_bitshift64Shl(($3135|0),($3136|0),36)|0);
+ $3178 = tempRet0;
+ $3179 = $3177 | $3175;
+ $3180 = $3178 | $3176;
+ $3181 = (_bitshift64Lshr(($3135|0),($3136|0),34)|0);
+ $3182 = tempRet0;
+ $3183 = (_bitshift64Shl(($3135|0),($3136|0),30)|0);
+ $3184 = tempRet0;
+ $3185 = $3183 | $3181;
+ $3186 = $3184 | $3182;
+ $3187 = $3179 ^ $3185;
+ $3188 = $3180 ^ $3186;
+ $3189 = (_bitshift64Lshr(($3135|0),($3136|0),39)|0);
+ $3190 = tempRet0;
+ $3191 = (_bitshift64Shl(($3135|0),($3136|0),25)|0);
+ $3192 = tempRet0;
+ $3193 = $3191 | $3189;
+ $3194 = $3192 | $3190;
+ $3195 = $3187 ^ $3193;
+ $3196 = $3188 ^ $3194;
+ $3197 = $3061 ^ $2987;
+ $3198 = $3062 ^ $2988;
+ $3199 = $3135 & $3197;
+ $3200 = $3136 & $3198;
+ $3201 = $3061 & $2987;
+ $3202 = $3062 & $2988;
+ $3203 = $3199 ^ $3201;
+ $3204 = $3200 ^ $3202;
+ $3205 = (_i64Add(($3195|0),($3196|0),($3203|0),($3204|0))|0);
+ $3206 = tempRet0;
+ $3207 = (_i64Add(($3173|0),($3174|0),($2913|0),($2914|0))|0);
+ $3208 = tempRet0;
+ $3209 = (_i64Add(($3205|0),($3206|0),($3173|0),($3174|0))|0);
+ $3210 = tempRet0;
+ $3211 = (_bitshift64Lshr(($3207|0),($3208|0),14)|0);
+ $3212 = tempRet0;
+ $3213 = (_bitshift64Shl(($3207|0),($3208|0),50)|0);
+ $3214 = tempRet0;
+ $3215 = $3213 | $3211;
+ $3216 = $3214 | $3212;
+ $3217 = (_bitshift64Lshr(($3207|0),($3208|0),18)|0);
+ $3218 = tempRet0;
+ $3219 = (_bitshift64Shl(($3207|0),($3208|0),46)|0);
+ $3220 = tempRet0;
+ $3221 = $3219 | $3217;
+ $3222 = $3220 | $3218;
+ $3223 = $3215 ^ $3221;
+ $3224 = $3216 ^ $3222;
+ $3225 = (_bitshift64Lshr(($3207|0),($3208|0),41)|0);
+ $3226 = tempRet0;
+ $3227 = (_bitshift64Shl(($3207|0),($3208|0),23)|0);
+ $3228 = tempRet0;
+ $3229 = $3227 | $3225;
+ $3230 = $3228 | $3226;
+ $3231 = $3223 ^ $3229;
+ $3232 = $3224 ^ $3230;
+ $3233 = $3207 & $3133;
+ $3234 = $3208 & $3134;
+ $3235 = $3207 ^ -1;
+ $3236 = $3208 ^ -1;
+ $3237 = $3059 & $3235;
+ $3238 = $3060 & $3236;
+ $3239 = $3237 ^ $3233;
+ $3240 = $3238 ^ $3234;
+ $3241 = (_i64Add(($1847|0),($1848|0),-885112138,1288033470)|0);
+ $3242 = tempRet0;
+ $3243 = (_i64Add(($3241|0),($3242|0),($2985|0),($2986|0))|0);
+ $3244 = tempRet0;
+ $3245 = (_i64Add(($3243|0),($3244|0),($3239|0),($3240|0))|0);
+ $3246 = tempRet0;
+ $3247 = (_i64Add(($3245|0),($3246|0),($3231|0),($3232|0))|0);
+ $3248 = tempRet0;
+ $3249 = (_bitshift64Lshr(($3209|0),($3210|0),28)|0);
+ $3250 = tempRet0;
+ $3251 = (_bitshift64Shl(($3209|0),($3210|0),36)|0);
+ $3252 = tempRet0;
+ $3253 = $3251 | $3249;
+ $3254 = $3252 | $3250;
+ $3255 = (_bitshift64Lshr(($3209|0),($3210|0),34)|0);
+ $3256 = tempRet0;
+ $3257 = (_bitshift64Shl(($3209|0),($3210|0),30)|0);
+ $3258 = tempRet0;
+ $3259 = $3257 | $3255;
+ $3260 = $3258 | $3256;
+ $3261 = $3253 ^ $3259;
+ $3262 = $3254 ^ $3260;
+ $3263 = (_bitshift64Lshr(($3209|0),($3210|0),39)|0);
+ $3264 = tempRet0;
+ $3265 = (_bitshift64Shl(($3209|0),($3210|0),25)|0);
+ $3266 = tempRet0;
+ $3267 = $3265 | $3263;
+ $3268 = $3266 | $3264;
+ $3269 = $3261 ^ $3267;
+ $3270 = $3262 ^ $3268;
+ $3271 = $3135 ^ $3061;
+ $3272 = $3136 ^ $3062;
+ $3273 = $3209 & $3271;
+ $3274 = $3210 & $3272;
+ $3275 = $3135 & $3061;
+ $3276 = $3136 & $3062;
+ $3277 = $3273 ^ $3275;
+ $3278 = $3274 ^ $3276;
+ $3279 = (_i64Add(($3269|0),($3270|0),($3277|0),($3278|0))|0);
+ $3280 = tempRet0;
+ $3281 = (_i64Add(($3247|0),($3248|0),($2987|0),($2988|0))|0);
+ $3282 = tempRet0;
+ $3283 = (_i64Add(($3279|0),($3280|0),($3247|0),($3248|0))|0);
+ $3284 = tempRet0;
+ $3285 = (_bitshift64Lshr(($3281|0),($3282|0),14)|0);
+ $3286 = tempRet0;
+ $3287 = (_bitshift64Shl(($3281|0),($3282|0),50)|0);
+ $3288 = tempRet0;
+ $3289 = $3287 | $3285;
+ $3290 = $3288 | $3286;
+ $3291 = (_bitshift64Lshr(($3281|0),($3282|0),18)|0);
+ $3292 = tempRet0;
+ $3293 = (_bitshift64Shl(($3281|0),($3282|0),46)|0);
+ $3294 = tempRet0;
+ $3295 = $3293 | $3291;
+ $3296 = $3294 | $3292;
+ $3297 = $3289 ^ $3295;
+ $3298 = $3290 ^ $3296;
+ $3299 = (_bitshift64Lshr(($3281|0),($3282|0),41)|0);
+ $3300 = tempRet0;
+ $3301 = (_bitshift64Shl(($3281|0),($3282|0),23)|0);
+ $3302 = tempRet0;
+ $3303 = $3301 | $3299;
+ $3304 = $3302 | $3300;
+ $3305 = $3297 ^ $3303;
+ $3306 = $3298 ^ $3304;
+ $3307 = $3281 & $3207;
+ $3308 = $3282 & $3208;
+ $3309 = $3281 ^ -1;
+ $3310 = $3282 ^ -1;
+ $3311 = $3133 & $3309;
+ $3312 = $3134 & $3310;
+ $3313 = $3311 ^ $3307;
+ $3314 = $3312 ^ $3308;
+ $3315 = (_i64Add(($1971|0),($1972|0),-60457430,1501505948)|0);
+ $3316 = tempRet0;
+ $3317 = (_i64Add(($3315|0),($3316|0),($3059|0),($3060|0))|0);
+ $3318 = tempRet0;
+ $3319 = (_i64Add(($3317|0),($3318|0),($3313|0),($3314|0))|0);
+ $3320 = tempRet0;
+ $3321 = (_i64Add(($3319|0),($3320|0),($3305|0),($3306|0))|0);
+ $3322 = tempRet0;
+ $3323 = (_bitshift64Lshr(($3283|0),($3284|0),28)|0);
+ $3324 = tempRet0;
+ $3325 = (_bitshift64Shl(($3283|0),($3284|0),36)|0);
+ $3326 = tempRet0;
+ $3327 = $3325 | $3323;
+ $3328 = $3326 | $3324;
+ $3329 = (_bitshift64Lshr(($3283|0),($3284|0),34)|0);
+ $3330 = tempRet0;
+ $3331 = (_bitshift64Shl(($3283|0),($3284|0),30)|0);
+ $3332 = tempRet0;
+ $3333 = $3331 | $3329;
+ $3334 = $3332 | $3330;
+ $3335 = $3327 ^ $3333;
+ $3336 = $3328 ^ $3334;
+ $3337 = (_bitshift64Lshr(($3283|0),($3284|0),39)|0);
+ $3338 = tempRet0;
+ $3339 = (_bitshift64Shl(($3283|0),($3284|0),25)|0);
+ $3340 = tempRet0;
+ $3341 = $3339 | $3337;
+ $3342 = $3340 | $3338;
+ $3343 = $3335 ^ $3341;
+ $3344 = $3336 ^ $3342;
+ $3345 = $3209 ^ $3135;
+ $3346 = $3210 ^ $3136;
+ $3347 = $3283 & $3345;
+ $3348 = $3284 & $3346;
+ $3349 = $3209 & $3135;
+ $3350 = $3210 & $3136;
+ $3351 = $3347 ^ $3349;
+ $3352 = $3348 ^ $3350;
+ $3353 = (_i64Add(($3343|0),($3344|0),($3351|0),($3352|0))|0);
+ $3354 = tempRet0;
+ $3355 = (_i64Add(($3321|0),($3322|0),($3061|0),($3062|0))|0);
+ $3356 = tempRet0;
+ $3357 = (_i64Add(($3353|0),($3354|0),($3321|0),($3322|0))|0);
+ $3358 = tempRet0;
+ $3359 = (_bitshift64Lshr(($3355|0),($3356|0),14)|0);
+ $3360 = tempRet0;
+ $3361 = (_bitshift64Shl(($3355|0),($3356|0),50)|0);
+ $3362 = tempRet0;
+ $3363 = $3361 | $3359;
+ $3364 = $3362 | $3360;
+ $3365 = (_bitshift64Lshr(($3355|0),($3356|0),18)|0);
+ $3366 = tempRet0;
+ $3367 = (_bitshift64Shl(($3355|0),($3356|0),46)|0);
+ $3368 = tempRet0;
+ $3369 = $3367 | $3365;
+ $3370 = $3368 | $3366;
+ $3371 = $3363 ^ $3369;
+ $3372 = $3364 ^ $3370;
+ $3373 = (_bitshift64Lshr(($3355|0),($3356|0),41)|0);
+ $3374 = tempRet0;
+ $3375 = (_bitshift64Shl(($3355|0),($3356|0),23)|0);
+ $3376 = tempRet0;
+ $3377 = $3375 | $3373;
+ $3378 = $3376 | $3374;
+ $3379 = $3371 ^ $3377;
+ $3380 = $3372 ^ $3378;
+ $3381 = $3355 & $3281;
+ $3382 = $3356 & $3282;
+ $3383 = $3355 ^ -1;
+ $3384 = $3356 ^ -1;
+ $3385 = $3207 & $3383;
+ $3386 = $3208 & $3384;
+ $3387 = $3385 ^ $3381;
+ $3388 = $3386 ^ $3382;
+ $3389 = (_i64Add(($2095|0),($2096|0),987167468,1607167915)|0);
+ $3390 = tempRet0;
+ $3391 = (_i64Add(($3389|0),($3390|0),($3133|0),($3134|0))|0);
+ $3392 = tempRet0;
+ $3393 = (_i64Add(($3391|0),($3392|0),($3387|0),($3388|0))|0);
+ $3394 = tempRet0;
+ $3395 = (_i64Add(($3393|0),($3394|0),($3379|0),($3380|0))|0);
+ $3396 = tempRet0;
+ $3397 = (_bitshift64Lshr(($3357|0),($3358|0),28)|0);
+ $3398 = tempRet0;
+ $3399 = (_bitshift64Shl(($3357|0),($3358|0),36)|0);
+ $3400 = tempRet0;
+ $3401 = $3399 | $3397;
+ $3402 = $3400 | $3398;
+ $3403 = (_bitshift64Lshr(($3357|0),($3358|0),34)|0);
+ $3404 = tempRet0;
+ $3405 = (_bitshift64Shl(($3357|0),($3358|0),30)|0);
+ $3406 = tempRet0;
+ $3407 = $3405 | $3403;
+ $3408 = $3406 | $3404;
+ $3409 = $3401 ^ $3407;
+ $3410 = $3402 ^ $3408;
+ $3411 = (_bitshift64Lshr(($3357|0),($3358|0),39)|0);
+ $3412 = tempRet0;
+ $3413 = (_bitshift64Shl(($3357|0),($3358|0),25)|0);
+ $3414 = tempRet0;
+ $3415 = $3413 | $3411;
+ $3416 = $3414 | $3412;
+ $3417 = $3409 ^ $3415;
+ $3418 = $3410 ^ $3416;
+ $3419 = $3283 ^ $3209;
+ $3420 = $3284 ^ $3210;
+ $3421 = $3357 & $3419;
+ $3422 = $3358 & $3420;
+ $3423 = $3283 & $3209;
+ $3424 = $3284 & $3210;
+ $3425 = $3421 ^ $3423;
+ $3426 = $3422 ^ $3424;
+ $3427 = (_i64Add(($3417|0),($3418|0),($3425|0),($3426|0))|0);
+ $3428 = tempRet0;
+ $3429 = (_i64Add(($3395|0),($3396|0),($3135|0),($3136|0))|0);
+ $3430 = tempRet0;
+ $3431 = (_i64Add(($3427|0),($3428|0),($3395|0),($3396|0))|0);
+ $3432 = tempRet0;
+ $3433 = (_bitshift64Lshr(($3429|0),($3430|0),14)|0);
+ $3434 = tempRet0;
+ $3435 = (_bitshift64Shl(($3429|0),($3430|0),50)|0);
+ $3436 = tempRet0;
+ $3437 = $3435 | $3433;
+ $3438 = $3436 | $3434;
+ $3439 = (_bitshift64Lshr(($3429|0),($3430|0),18)|0);
+ $3440 = tempRet0;
+ $3441 = (_bitshift64Shl(($3429|0),($3430|0),46)|0);
+ $3442 = tempRet0;
+ $3443 = $3441 | $3439;
+ $3444 = $3442 | $3440;
+ $3445 = $3437 ^ $3443;
+ $3446 = $3438 ^ $3444;
+ $3447 = (_bitshift64Lshr(($3429|0),($3430|0),41)|0);
+ $3448 = tempRet0;
+ $3449 = (_bitshift64Shl(($3429|0),($3430|0),23)|0);
+ $3450 = tempRet0;
+ $3451 = $3449 | $3447;
+ $3452 = $3450 | $3448;
+ $3453 = $3445 ^ $3451;
+ $3454 = $3446 ^ $3452;
+ $3455 = $3429 & $3355;
+ $3456 = $3430 & $3356;
+ $3457 = $3429 ^ -1;
+ $3458 = $3430 ^ -1;
+ $3459 = $3281 & $3457;
+ $3460 = $3282 & $3458;
+ $3461 = $3459 ^ $3455;
+ $3462 = $3460 ^ $3456;
+ $3463 = (_i64Add(($2219|0),($2220|0),1246189591,1816402316)|0);
+ $3464 = tempRet0;
+ $3465 = (_i64Add(($3463|0),($3464|0),($3207|0),($3208|0))|0);
+ $3466 = tempRet0;
+ $3467 = (_i64Add(($3465|0),($3466|0),($3461|0),($3462|0))|0);
+ $3468 = tempRet0;
+ $3469 = (_i64Add(($3467|0),($3468|0),($3453|0),($3454|0))|0);
+ $3470 = tempRet0;
+ $3471 = (_bitshift64Lshr(($3431|0),($3432|0),28)|0);
+ $3472 = tempRet0;
+ $3473 = (_bitshift64Shl(($3431|0),($3432|0),36)|0);
+ $3474 = tempRet0;
+ $3475 = $3473 | $3471;
+ $3476 = $3474 | $3472;
+ $3477 = (_bitshift64Lshr(($3431|0),($3432|0),34)|0);
+ $3478 = tempRet0;
+ $3479 = (_bitshift64Shl(($3431|0),($3432|0),30)|0);
+ $3480 = tempRet0;
+ $3481 = $3479 | $3477;
+ $3482 = $3480 | $3478;
+ $3483 = $3475 ^ $3481;
+ $3484 = $3476 ^ $3482;
+ $3485 = (_bitshift64Lshr(($3431|0),($3432|0),39)|0);
+ $3486 = tempRet0;
+ $3487 = (_bitshift64Shl(($3431|0),($3432|0),25)|0);
+ $3488 = tempRet0;
+ $3489 = $3487 | $3485;
+ $3490 = $3488 | $3486;
+ $3491 = $3483 ^ $3489;
+ $3492 = $3484 ^ $3490;
+ $3493 = $3357 ^ $3283;
+ $3494 = $3358 ^ $3284;
+ $3495 = $3431 & $3493;
+ $3496 = $3432 & $3494;
+ $3497 = $3357 & $3283;
+ $3498 = $3358 & $3284;
+ $3499 = $3495 ^ $3497;
+ $3500 = $3496 ^ $3498;
+ $3503 = (_i64Add(($3499|0),($3500|0),($3501|0),($3502|0))|0);
+ $3504 = tempRet0;
+ $3505 = (_i64Add(($3503|0),($3504|0),($3491|0),($3492|0))|0);
+ $3506 = tempRet0;
+ $3507 = (_i64Add(($3505|0),($3506|0),($3469|0),($3470|0))|0);
+ $3508 = tempRet0;
+ $3509 = $4;
+ $3510 = $3509;
+ HEAP32[$3510>>2] = $3507;
+ $3511 = (($3509) + 4)|0;
+ $3512 = $3511;
+ HEAP32[$3512>>2] = $3508;
+ $3515 = (_i64Add(($3431|0),($3432|0),($3513|0),($3514|0))|0);
+ $3516 = tempRet0;
+ $3517 = $5;
+ $3518 = $3517;
+ HEAP32[$3518>>2] = $3515;
+ $3519 = (($3517) + 4)|0;
+ $3520 = $3519;
+ HEAP32[$3520>>2] = $3516;
+ $3523 = (_i64Add(($3357|0),($3358|0),($3521|0),($3522|0))|0);
+ $3524 = tempRet0;
+ $3525 = $6;
+ $3526 = $3525;
+ HEAP32[$3526>>2] = $3523;
+ $3527 = (($3525) + 4)|0;
+ $3528 = $3527;
+ HEAP32[$3528>>2] = $3524;
+ $3531 = (_i64Add(($3283|0),($3284|0),($3529|0),($3530|0))|0);
+ $3532 = tempRet0;
+ $3533 = $7;
+ $3534 = $3533;
+ HEAP32[$3534>>2] = $3531;
+ $3535 = (($3533) + 4)|0;
+ $3536 = $3535;
+ HEAP32[$3536>>2] = $3532;
+ $3539 = (_i64Add(($3209|0),($3210|0),($3537|0),($3538|0))|0);
+ $3540 = tempRet0;
+ $3541 = (_i64Add(($3539|0),($3540|0),($3469|0),($3470|0))|0);
+ $3542 = tempRet0;
+ $3543 = $8;
+ $3544 = $3543;
+ HEAP32[$3544>>2] = $3541;
+ $3545 = (($3543) + 4)|0;
+ $3546 = $3545;
+ HEAP32[$3546>>2] = $3542;
+ $3549 = (_i64Add(($3429|0),($3430|0),($3547|0),($3548|0))|0);
+ $3550 = tempRet0;
+ $3551 = $9;
+ $3552 = $3551;
+ HEAP32[$3552>>2] = $3549;
+ $3553 = (($3551) + 4)|0;
+ $3554 = $3553;
+ HEAP32[$3554>>2] = $3550;
+ $3557 = (_i64Add(($3355|0),($3356|0),($3555|0),($3556|0))|0);
+ $3558 = tempRet0;
+ $3559 = $10;
+ $3560 = $3559;
+ HEAP32[$3560>>2] = $3557;
+ $3561 = (($3559) + 4)|0;
+ $3562 = $3561;
+ HEAP32[$3562>>2] = $3558;
+ $3565 = (_i64Add(($3281|0),($3282|0),($3563|0),($3564|0))|0);
+ $3566 = tempRet0;
+ $3567 = $11;
+ $3568 = $3567;
+ HEAP32[$3568>>2] = $3565;
+ $3569 = (($3567) + 4)|0;
+ $3570 = $3569;
+ HEAP32[$3570>>2] = $3566;
+ $3571 = ((($$0)) + 128|0);
+ $3572 = (($$08) + -1)|0;
+ $3573 = ($3572|0)==(0);
+ if ($3573) {
+ break;
+ } else {
+ $$0 = $3571;$$08 = $3572;$3501 = $3507;$3502 = $3508;$3513 = $3515;$3514 = $3516;$3521 = $3523;$3522 = $3524;$3529 = $3531;$3530 = $3532;$3537 = $3541;$3538 = $3542;$3547 = $3549;$3548 = $3550;$3555 = $3557;$3556 = $3558;$3563 = $3565;$3564 = $3566;
+ }
+ }
+ STACKTOP = sp;return 220;
+}
+function _sha384_init($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
+ var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $5 = 0, $6 = 0;
+ var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $2 = ((($0)) + 160|0);
+ $3 = $2;
+ $4 = $3;
+ HEAP32[$4>>2] = -1056596264;
+ $5 = (($3) + 4)|0;
+ $6 = $5;
+ HEAP32[$6>>2] = -876896931;
+ $7 = ((($0)) + 168|0);
+ $8 = $7;
+ $9 = $8;
+ HEAP32[$9>>2] = 914150663;
+ $10 = (($8) + 4)|0;
+ $11 = $10;
+ HEAP32[$11>>2] = 1654270250;
+ $12 = ((($0)) + 176|0);
+ $13 = $12;
+ $14 = $13;
+ HEAP32[$14>>2] = 812702999;
+ $15 = (($13) + 4)|0;
+ $16 = $15;
+ HEAP32[$16>>2] = -1856437926;
+ $17 = ((($0)) + 184|0);
+ $18 = $17;
+ $19 = $18;
+ HEAP32[$19>>2] = -150054599;
+ $20 = (($18) + 4)|0;
+ $21 = $20;
+ HEAP32[$21>>2] = 355462360;
+ $22 = ((($0)) + 192|0);
+ $23 = $22;
+ $24 = $23;
+ HEAP32[$24>>2] = -4191439;
+ $25 = (($23) + 4)|0;
+ $26 = $25;
+ HEAP32[$26>>2] = 1731405415;
+ $27 = ((($0)) + 200|0);
+ $28 = $27;
+ $29 = $28;
+ HEAP32[$29>>2] = 1750603025;
+ $30 = (($28) + 4)|0;
+ $31 = $30;
+ HEAP32[$31>>2] = -1900787065;
+ $32 = ((($0)) + 208|0);
+ $33 = $32;
+ $34 = $33;
+ HEAP32[$34>>2] = 1694076839;
+ $35 = (($33) + 4)|0;
+ $36 = $35;
+ HEAP32[$36>>2] = -619958771;
+ $37 = ((($0)) + 216|0);
+ $38 = $37;
+ $39 = $38;
+ HEAP32[$39>>2] = -1090891868;
+ $40 = (($38) + 4)|0;
+ $41 = $40;
+ HEAP32[$41>>2] = 1203062813;
+ $42 = ((($0)) + 128|0);
+ $43 = ((($0)) + 148|0);
+ ;HEAP32[$42>>2]=0|0;HEAP32[$42+4>>2]=0|0;HEAP32[$42+8>>2]=0|0;HEAP32[$42+12>>2]=0|0;HEAP32[$42+16>>2]=0|0;
+ HEAP32[$43>>2] = 128;
+ $44 = ((($0)) + 152|0);
+ HEAP32[$44>>2] = 80;
+ return;
+}
+function _twofish_setkey($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $3 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $3 = (_do_twofish_setkey($0,$1,$2)|0);
+ ___gcry_burn_stack(47);
+ return ($3|0);
+}
+function _twofish_encrypt($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0;
+ var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $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;
+ var $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, $152 = 0, $153 = 0;
+ var $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, $170 = 0, $171 = 0;
+ var $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, $189 = 0, $19 = 0;
+ var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $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, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0;
+ var $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, $297 = 0, $298 = 0, $299 = 0;
+ var $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, $314 = 0, $315 = 0, $316 = 0;
+ var $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, $332 = 0, $333 = 0, $334 = 0;
+ var $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, $350 = 0, $351 = 0, $352 = 0;
+ var $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0;
+ var $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, $387 = 0, $388 = 0, $389 = 0;
+ var $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, $404 = 0, $405 = 0, $406 = 0;
+ var $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, $422 = 0, $423 = 0, $424 = 0;
+ var $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, $440 = 0, $441 = 0, $442 = 0;
+ var $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, $459 = 0, $46 = 0, $460 = 0;
+ var $461 = 0, $462 = 0, $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;
+ var $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, $495 = 0, $496 = 0, $497 = 0;
+ var $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, $512 = 0, $513 = 0, $514 = 0;
+ var $515 = 0, $516 = 0, $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;
+ var $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, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0;
+ var $551 = 0, $552 = 0, $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;
+ var $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, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0;
+ var $588 = 0, $589 = 0, $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;
+ var $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, $622 = 0;
+ var $623 = 0, $624 = 0, $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;
+ var $641 = 0, $642 = 0, $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;
+ var $66 = 0, $660 = 0, $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;
+ var $678 = 0, $679 = 0, $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;
+ var $696 = 0, $697 = 0, $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;
+ var $713 = 0, $714 = 0, $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;
+ var $731 = 0, $732 = 0, $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;
+ var $75 = 0, $750 = 0, $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;
+ var $768 = 0, $769 = 0, $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;
+ var $786 = 0, $787 = 0, $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;
+ var $803 = 0, $804 = 0, $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;
+ var $821 = 0, $822 = 0, $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;
+ var $84 = 0, $840 = 0, $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;
+ var $858 = 0, $859 = 0, $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;
+ var $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, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0;
+ var $894 = 0, $895 = 0, $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;
+ var $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, $927 = 0, $928 = 0, $929 = 0;
+ var $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0, $940 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $3 = ((($2)) + 3|0);
+ $4 = HEAP8[$3>>0]|0;
+ $5 = $4&255;
+ $6 = $5 << 24;
+ $7 = ((($2)) + 2|0);
+ $8 = HEAP8[$7>>0]|0;
+ $9 = $8&255;
+ $10 = $9 << 16;
+ $11 = $10 | $6;
+ $12 = ((($2)) + 1|0);
+ $13 = HEAP8[$12>>0]|0;
+ $14 = $13&255;
+ $15 = $14 << 8;
+ $16 = $11 | $15;
+ $17 = HEAP8[$2>>0]|0;
+ $18 = $17&255;
+ $19 = $16 | $18;
+ $20 = ((($0)) + 4096|0);
+ $21 = HEAP32[$20>>2]|0;
+ $22 = $19 ^ $21;
+ $23 = ((($2)) + 4|0);
+ $24 = ((($2)) + 7|0);
+ $25 = HEAP8[$24>>0]|0;
+ $26 = $25&255;
+ $27 = $26 << 24;
+ $28 = ((($2)) + 6|0);
+ $29 = HEAP8[$28>>0]|0;
+ $30 = $29&255;
+ $31 = $30 << 16;
+ $32 = $31 | $27;
+ $33 = ((($2)) + 5|0);
+ $34 = HEAP8[$33>>0]|0;
+ $35 = $34&255;
+ $36 = $35 << 8;
+ $37 = $32 | $36;
+ $38 = HEAP8[$23>>0]|0;
+ $39 = $38&255;
+ $40 = $37 | $39;
+ $41 = ((($0)) + 4100|0);
+ $42 = HEAP32[$41>>2]|0;
+ $43 = $40 ^ $42;
+ $44 = ((($2)) + 8|0);
+ $45 = ((($2)) + 11|0);
+ $46 = HEAP8[$45>>0]|0;
+ $47 = $46&255;
+ $48 = $47 << 24;
+ $49 = ((($2)) + 10|0);
+ $50 = HEAP8[$49>>0]|0;
+ $51 = $50&255;
+ $52 = $51 << 16;
+ $53 = $52 | $48;
+ $54 = ((($2)) + 9|0);
+ $55 = HEAP8[$54>>0]|0;
+ $56 = $55&255;
+ $57 = $56 << 8;
+ $58 = $53 | $57;
+ $59 = HEAP8[$44>>0]|0;
+ $60 = $59&255;
+ $61 = $58 | $60;
+ $62 = ((($0)) + 4104|0);
+ $63 = HEAP32[$62>>2]|0;
+ $64 = $61 ^ $63;
+ $65 = ((($2)) + 12|0);
+ $66 = ((($2)) + 15|0);
+ $67 = HEAP8[$66>>0]|0;
+ $68 = $67&255;
+ $69 = $68 << 24;
+ $70 = ((($2)) + 14|0);
+ $71 = HEAP8[$70>>0]|0;
+ $72 = $71&255;
+ $73 = $72 << 16;
+ $74 = $73 | $69;
+ $75 = ((($2)) + 13|0);
+ $76 = HEAP8[$75>>0]|0;
+ $77 = $76&255;
+ $78 = $77 << 8;
+ $79 = $74 | $78;
+ $80 = HEAP8[$65>>0]|0;
+ $81 = $80&255;
+ $82 = $79 | $81;
+ $83 = ((($0)) + 4108|0);
+ $84 = HEAP32[$83>>2]|0;
+ $85 = $82 ^ $84;
+ $86 = $22 & 255;
+ $87 = (($0) + ($86<<2)|0);
+ $88 = HEAP32[$87>>2]|0;
+ $89 = $22 >>> 8;
+ $90 = $89 & 255;
+ $91 = (((($0)) + 1024|0) + ($90<<2)|0);
+ $92 = HEAP32[$91>>2]|0;
+ $93 = $92 ^ $88;
+ $94 = $22 >>> 16;
+ $95 = $94 & 255;
+ $96 = (((($0)) + 2048|0) + ($95<<2)|0);
+ $97 = HEAP32[$96>>2]|0;
+ $98 = $93 ^ $97;
+ $99 = $22 >>> 24;
+ $100 = (((($0)) + 3072|0) + ($99<<2)|0);
+ $101 = HEAP32[$100>>2]|0;
+ $102 = $98 ^ $101;
+ $103 = $43 & 255;
+ $104 = (((($0)) + 1024|0) + ($103<<2)|0);
+ $105 = HEAP32[$104>>2]|0;
+ $106 = $43 >>> 8;
+ $107 = $106 & 255;
+ $108 = (((($0)) + 2048|0) + ($107<<2)|0);
+ $109 = HEAP32[$108>>2]|0;
+ $110 = $109 ^ $105;
+ $111 = $43 >>> 16;
+ $112 = $111 & 255;
+ $113 = (((($0)) + 3072|0) + ($112<<2)|0);
+ $114 = HEAP32[$113>>2]|0;
+ $115 = $110 ^ $114;
+ $116 = $43 >>> 24;
+ $117 = (($0) + ($116<<2)|0);
+ $118 = HEAP32[$117>>2]|0;
+ $119 = $115 ^ $118;
+ $120 = (($119) + ($102))|0;
+ $121 = ((($0)) + 4132|0);
+ $122 = HEAP32[$121>>2]|0;
+ $123 = (($119) + ($122))|0;
+ $124 = (($123) + ($120))|0;
+ $125 = ((($0)) + 4128|0);
+ $126 = HEAP32[$125>>2]|0;
+ $127 = (($120) + ($126))|0;
+ $128 = $64 ^ $127;
+ $129 = $128 >>> 1;
+ $130 = $128 << 31;
+ $131 = $129 | $130;
+ $132 = $85 << 1;
+ $133 = $85 >>> 31;
+ $134 = $132 | $133;
+ $135 = $124 ^ $134;
+ $136 = $129 & 255;
+ $137 = (($0) + ($136<<2)|0);
+ $138 = HEAP32[$137>>2]|0;
+ $139 = $128 >>> 9;
+ $140 = $139 & 255;
+ $141 = (((($0)) + 1024|0) + ($140<<2)|0);
+ $142 = HEAP32[$141>>2]|0;
+ $143 = $142 ^ $138;
+ $144 = $128 >>> 17;
+ $145 = $144 & 255;
+ $146 = (((($0)) + 2048|0) + ($145<<2)|0);
+ $147 = HEAP32[$146>>2]|0;
+ $148 = $143 ^ $147;
+ $149 = $131 >>> 24;
+ $150 = (((($0)) + 3072|0) + ($149<<2)|0);
+ $151 = HEAP32[$150>>2]|0;
+ $152 = $148 ^ $151;
+ $153 = $135 & 255;
+ $154 = (((($0)) + 1024|0) + ($153<<2)|0);
+ $155 = HEAP32[$154>>2]|0;
+ $156 = $135 >>> 8;
+ $157 = $156 & 255;
+ $158 = (((($0)) + 2048|0) + ($157<<2)|0);
+ $159 = HEAP32[$158>>2]|0;
+ $160 = $159 ^ $155;
+ $161 = $135 >>> 16;
+ $162 = $161 & 255;
+ $163 = (((($0)) + 3072|0) + ($162<<2)|0);
+ $164 = HEAP32[$163>>2]|0;
+ $165 = $160 ^ $164;
+ $166 = $135 >>> 24;
+ $167 = (($0) + ($166<<2)|0);
+ $168 = HEAP32[$167>>2]|0;
+ $169 = $165 ^ $168;
+ $170 = (($169) + ($152))|0;
+ $171 = ((($0)) + 4140|0);
+ $172 = HEAP32[$171>>2]|0;
+ $173 = (($169) + ($172))|0;
+ $174 = (($173) + ($170))|0;
+ $175 = ((($0)) + 4136|0);
+ $176 = HEAP32[$175>>2]|0;
+ $177 = (($170) + ($176))|0;
+ $178 = $177 ^ $22;
+ $179 = $178 >>> 1;
+ $180 = $178 << 31;
+ $181 = $179 | $180;
+ $182 = $43 << 1;
+ $183 = $43 >>> 31;
+ $184 = $182 | $183;
+ $185 = $174 ^ $184;
+ $186 = $179 & 255;
+ $187 = (($0) + ($186<<2)|0);
+ $188 = HEAP32[$187>>2]|0;
+ $189 = $178 >>> 9;
+ $190 = $189 & 255;
+ $191 = (((($0)) + 1024|0) + ($190<<2)|0);
+ $192 = HEAP32[$191>>2]|0;
+ $193 = $192 ^ $188;
+ $194 = $178 >>> 17;
+ $195 = $194 & 255;
+ $196 = (((($0)) + 2048|0) + ($195<<2)|0);
+ $197 = HEAP32[$196>>2]|0;
+ $198 = $193 ^ $197;
+ $199 = $181 >>> 24;
+ $200 = (((($0)) + 3072|0) + ($199<<2)|0);
+ $201 = HEAP32[$200>>2]|0;
+ $202 = $198 ^ $201;
+ $203 = $185 & 255;
+ $204 = (((($0)) + 1024|0) + ($203<<2)|0);
+ $205 = HEAP32[$204>>2]|0;
+ $206 = $185 >>> 8;
+ $207 = $206 & 255;
+ $208 = (((($0)) + 2048|0) + ($207<<2)|0);
+ $209 = HEAP32[$208>>2]|0;
+ $210 = $209 ^ $205;
+ $211 = $185 >>> 16;
+ $212 = $211 & 255;
+ $213 = (((($0)) + 3072|0) + ($212<<2)|0);
+ $214 = HEAP32[$213>>2]|0;
+ $215 = $210 ^ $214;
+ $216 = $185 >>> 24;
+ $217 = (($0) + ($216<<2)|0);
+ $218 = HEAP32[$217>>2]|0;
+ $219 = $215 ^ $218;
+ $220 = (($219) + ($202))|0;
+ $221 = ((($0)) + 4148|0);
+ $222 = HEAP32[$221>>2]|0;
+ $223 = (($219) + ($222))|0;
+ $224 = (($223) + ($220))|0;
+ $225 = ((($0)) + 4144|0);
+ $226 = HEAP32[$225>>2]|0;
+ $227 = (($220) + ($226))|0;
+ $228 = $227 ^ $131;
+ $229 = $228 >>> 1;
+ $230 = $228 << 31;
+ $231 = $229 | $230;
+ $232 = $135 << 1;
+ $233 = $135 >>> 31;
+ $234 = $232 | $233;
+ $235 = $224 ^ $234;
+ $236 = $229 & 255;
+ $237 = (($0) + ($236<<2)|0);
+ $238 = HEAP32[$237>>2]|0;
+ $239 = $228 >>> 9;
+ $240 = $239 & 255;
+ $241 = (((($0)) + 1024|0) + ($240<<2)|0);
+ $242 = HEAP32[$241>>2]|0;
+ $243 = $242 ^ $238;
+ $244 = $228 >>> 17;
+ $245 = $244 & 255;
+ $246 = (((($0)) + 2048|0) + ($245<<2)|0);
+ $247 = HEAP32[$246>>2]|0;
+ $248 = $243 ^ $247;
+ $249 = $231 >>> 24;
+ $250 = (((($0)) + 3072|0) + ($249<<2)|0);
+ $251 = HEAP32[$250>>2]|0;
+ $252 = $248 ^ $251;
+ $253 = $235 & 255;
+ $254 = (((($0)) + 1024|0) + ($253<<2)|0);
+ $255 = HEAP32[$254>>2]|0;
+ $256 = $235 >>> 8;
+ $257 = $256 & 255;
+ $258 = (((($0)) + 2048|0) + ($257<<2)|0);
+ $259 = HEAP32[$258>>2]|0;
+ $260 = $259 ^ $255;
+ $261 = $235 >>> 16;
+ $262 = $261 & 255;
+ $263 = (((($0)) + 3072|0) + ($262<<2)|0);
+ $264 = HEAP32[$263>>2]|0;
+ $265 = $260 ^ $264;
+ $266 = $235 >>> 24;
+ $267 = (($0) + ($266<<2)|0);
+ $268 = HEAP32[$267>>2]|0;
+ $269 = $265 ^ $268;
+ $270 = (($269) + ($252))|0;
+ $271 = ((($0)) + 4156|0);
+ $272 = HEAP32[$271>>2]|0;
+ $273 = (($269) + ($272))|0;
+ $274 = (($273) + ($270))|0;
+ $275 = ((($0)) + 4152|0);
+ $276 = HEAP32[$275>>2]|0;
+ $277 = (($270) + ($276))|0;
+ $278 = $277 ^ $181;
+ $279 = $278 >>> 1;
+ $280 = $278 << 31;
+ $281 = $279 | $280;
+ $282 = $185 << 1;
+ $283 = $185 >>> 31;
+ $284 = $282 | $283;
+ $285 = $274 ^ $284;
+ $286 = $279 & 255;
+ $287 = (($0) + ($286<<2)|0);
+ $288 = HEAP32[$287>>2]|0;
+ $289 = $278 >>> 9;
+ $290 = $289 & 255;
+ $291 = (((($0)) + 1024|0) + ($290<<2)|0);
+ $292 = HEAP32[$291>>2]|0;
+ $293 = $292 ^ $288;
+ $294 = $278 >>> 17;
+ $295 = $294 & 255;
+ $296 = (((($0)) + 2048|0) + ($295<<2)|0);
+ $297 = HEAP32[$296>>2]|0;
+ $298 = $293 ^ $297;
+ $299 = $281 >>> 24;
+ $300 = (((($0)) + 3072|0) + ($299<<2)|0);
+ $301 = HEAP32[$300>>2]|0;
+ $302 = $298 ^ $301;
+ $303 = $285 & 255;
+ $304 = (((($0)) + 1024|0) + ($303<<2)|0);
+ $305 = HEAP32[$304>>2]|0;
+ $306 = $285 >>> 8;
+ $307 = $306 & 255;
+ $308 = (((($0)) + 2048|0) + ($307<<2)|0);
+ $309 = HEAP32[$308>>2]|0;
+ $310 = $309 ^ $305;
+ $311 = $285 >>> 16;
+ $312 = $311 & 255;
+ $313 = (((($0)) + 3072|0) + ($312<<2)|0);
+ $314 = HEAP32[$313>>2]|0;
+ $315 = $310 ^ $314;
+ $316 = $285 >>> 24;
+ $317 = (($0) + ($316<<2)|0);
+ $318 = HEAP32[$317>>2]|0;
+ $319 = $315 ^ $318;
+ $320 = (($319) + ($302))|0;
+ $321 = ((($0)) + 4164|0);
+ $322 = HEAP32[$321>>2]|0;
+ $323 = (($319) + ($322))|0;
+ $324 = (($323) + ($320))|0;
+ $325 = ((($0)) + 4160|0);
+ $326 = HEAP32[$325>>2]|0;
+ $327 = (($320) + ($326))|0;
+ $328 = $327 ^ $231;
+ $329 = $328 >>> 1;
+ $330 = $328 << 31;
+ $331 = $329 | $330;
+ $332 = $235 << 1;
+ $333 = $235 >>> 31;
+ $334 = $332 | $333;
+ $335 = $324 ^ $334;
+ $336 = $329 & 255;
+ $337 = (($0) + ($336<<2)|0);
+ $338 = HEAP32[$337>>2]|0;
+ $339 = $328 >>> 9;
+ $340 = $339 & 255;
+ $341 = (((($0)) + 1024|0) + ($340<<2)|0);
+ $342 = HEAP32[$341>>2]|0;
+ $343 = $342 ^ $338;
+ $344 = $328 >>> 17;
+ $345 = $344 & 255;
+ $346 = (((($0)) + 2048|0) + ($345<<2)|0);
+ $347 = HEAP32[$346>>2]|0;
+ $348 = $343 ^ $347;
+ $349 = $331 >>> 24;
+ $350 = (((($0)) + 3072|0) + ($349<<2)|0);
+ $351 = HEAP32[$350>>2]|0;
+ $352 = $348 ^ $351;
+ $353 = $335 & 255;
+ $354 = (((($0)) + 1024|0) + ($353<<2)|0);
+ $355 = HEAP32[$354>>2]|0;
+ $356 = $335 >>> 8;
+ $357 = $356 & 255;
+ $358 = (((($0)) + 2048|0) + ($357<<2)|0);
+ $359 = HEAP32[$358>>2]|0;
+ $360 = $359 ^ $355;
+ $361 = $335 >>> 16;
+ $362 = $361 & 255;
+ $363 = (((($0)) + 3072|0) + ($362<<2)|0);
+ $364 = HEAP32[$363>>2]|0;
+ $365 = $360 ^ $364;
+ $366 = $335 >>> 24;
+ $367 = (($0) + ($366<<2)|0);
+ $368 = HEAP32[$367>>2]|0;
+ $369 = $365 ^ $368;
+ $370 = (($369) + ($352))|0;
+ $371 = ((($0)) + 4172|0);
+ $372 = HEAP32[$371>>2]|0;
+ $373 = (($369) + ($372))|0;
+ $374 = (($373) + ($370))|0;
+ $375 = ((($0)) + 4168|0);
+ $376 = HEAP32[$375>>2]|0;
+ $377 = (($370) + ($376))|0;
+ $378 = $377 ^ $281;
+ $379 = $378 >>> 1;
+ $380 = $378 << 31;
+ $381 = $379 | $380;
+ $382 = $285 << 1;
+ $383 = $285 >>> 31;
+ $384 = $382 | $383;
+ $385 = $374 ^ $384;
+ $386 = $379 & 255;
+ $387 = (($0) + ($386<<2)|0);
+ $388 = HEAP32[$387>>2]|0;
+ $389 = $378 >>> 9;
+ $390 = $389 & 255;
+ $391 = (((($0)) + 1024|0) + ($390<<2)|0);
+ $392 = HEAP32[$391>>2]|0;
+ $393 = $392 ^ $388;
+ $394 = $378 >>> 17;
+ $395 = $394 & 255;
+ $396 = (((($0)) + 2048|0) + ($395<<2)|0);
+ $397 = HEAP32[$396>>2]|0;
+ $398 = $393 ^ $397;
+ $399 = $381 >>> 24;
+ $400 = (((($0)) + 3072|0) + ($399<<2)|0);
+ $401 = HEAP32[$400>>2]|0;
+ $402 = $398 ^ $401;
+ $403 = $385 & 255;
+ $404 = (((($0)) + 1024|0) + ($403<<2)|0);
+ $405 = HEAP32[$404>>2]|0;
+ $406 = $385 >>> 8;
+ $407 = $406 & 255;
+ $408 = (((($0)) + 2048|0) + ($407<<2)|0);
+ $409 = HEAP32[$408>>2]|0;
+ $410 = $409 ^ $405;
+ $411 = $385 >>> 16;
+ $412 = $411 & 255;
+ $413 = (((($0)) + 3072|0) + ($412<<2)|0);
+ $414 = HEAP32[$413>>2]|0;
+ $415 = $410 ^ $414;
+ $416 = $385 >>> 24;
+ $417 = (($0) + ($416<<2)|0);
+ $418 = HEAP32[$417>>2]|0;
+ $419 = $415 ^ $418;
+ $420 = (($419) + ($402))|0;
+ $421 = ((($0)) + 4180|0);
+ $422 = HEAP32[$421>>2]|0;
+ $423 = (($419) + ($422))|0;
+ $424 = (($423) + ($420))|0;
+ $425 = ((($0)) + 4176|0);
+ $426 = HEAP32[$425>>2]|0;
+ $427 = (($420) + ($426))|0;
+ $428 = $427 ^ $331;
+ $429 = $428 >>> 1;
+ $430 = $428 << 31;
+ $431 = $429 | $430;
+ $432 = $335 << 1;
+ $433 = $335 >>> 31;
+ $434 = $432 | $433;
+ $435 = $424 ^ $434;
+ $436 = $429 & 255;
+ $437 = (($0) + ($436<<2)|0);
+ $438 = HEAP32[$437>>2]|0;
+ $439 = $428 >>> 9;
+ $440 = $439 & 255;
+ $441 = (((($0)) + 1024|0) + ($440<<2)|0);
+ $442 = HEAP32[$441>>2]|0;
+ $443 = $442 ^ $438;
+ $444 = $428 >>> 17;
+ $445 = $444 & 255;
+ $446 = (((($0)) + 2048|0) + ($445<<2)|0);
+ $447 = HEAP32[$446>>2]|0;
+ $448 = $443 ^ $447;
+ $449 = $431 >>> 24;
+ $450 = (((($0)) + 3072|0) + ($449<<2)|0);
+ $451 = HEAP32[$450>>2]|0;
+ $452 = $448 ^ $451;
+ $453 = $435 & 255;
+ $454 = (((($0)) + 1024|0) + ($453<<2)|0);
+ $455 = HEAP32[$454>>2]|0;
+ $456 = $435 >>> 8;
+ $457 = $456 & 255;
+ $458 = (((($0)) + 2048|0) + ($457<<2)|0);
+ $459 = HEAP32[$458>>2]|0;
+ $460 = $459 ^ $455;
+ $461 = $435 >>> 16;
+ $462 = $461 & 255;
+ $463 = (((($0)) + 3072|0) + ($462<<2)|0);
+ $464 = HEAP32[$463>>2]|0;
+ $465 = $460 ^ $464;
+ $466 = $435 >>> 24;
+ $467 = (($0) + ($466<<2)|0);
+ $468 = HEAP32[$467>>2]|0;
+ $469 = $465 ^ $468;
+ $470 = (($469) + ($452))|0;
+ $471 = ((($0)) + 4188|0);
+ $472 = HEAP32[$471>>2]|0;
+ $473 = (($469) + ($472))|0;
+ $474 = (($473) + ($470))|0;
+ $475 = ((($0)) + 4184|0);
+ $476 = HEAP32[$475>>2]|0;
+ $477 = (($470) + ($476))|0;
+ $478 = $477 ^ $381;
+ $479 = $478 >>> 1;
+ $480 = $478 << 31;
+ $481 = $479 | $480;
+ $482 = $385 << 1;
+ $483 = $385 >>> 31;
+ $484 = $482 | $483;
+ $485 = $474 ^ $484;
+ $486 = $479 & 255;
+ $487 = (($0) + ($486<<2)|0);
+ $488 = HEAP32[$487>>2]|0;
+ $489 = $478 >>> 9;
+ $490 = $489 & 255;
+ $491 = (((($0)) + 1024|0) + ($490<<2)|0);
+ $492 = HEAP32[$491>>2]|0;
+ $493 = $492 ^ $488;
+ $494 = $478 >>> 17;
+ $495 = $494 & 255;
+ $496 = (((($0)) + 2048|0) + ($495<<2)|0);
+ $497 = HEAP32[$496>>2]|0;
+ $498 = $493 ^ $497;
+ $499 = $481 >>> 24;
+ $500 = (((($0)) + 3072|0) + ($499<<2)|0);
+ $501 = HEAP32[$500>>2]|0;
+ $502 = $498 ^ $501;
+ $503 = $485 & 255;
+ $504 = (((($0)) + 1024|0) + ($503<<2)|0);
+ $505 = HEAP32[$504>>2]|0;
+ $506 = $485 >>> 8;
+ $507 = $506 & 255;
+ $508 = (((($0)) + 2048|0) + ($507<<2)|0);
+ $509 = HEAP32[$508>>2]|0;
+ $510 = $509 ^ $505;
+ $511 = $485 >>> 16;
+ $512 = $511 & 255;
+ $513 = (((($0)) + 3072|0) + ($512<<2)|0);
+ $514 = HEAP32[$513>>2]|0;
+ $515 = $510 ^ $514;
+ $516 = $485 >>> 24;
+ $517 = (($0) + ($516<<2)|0);
+ $518 = HEAP32[$517>>2]|0;
+ $519 = $515 ^ $518;
+ $520 = (($519) + ($502))|0;
+ $521 = ((($0)) + 4196|0);
+ $522 = HEAP32[$521>>2]|0;
+ $523 = (($519) + ($522))|0;
+ $524 = (($523) + ($520))|0;
+ $525 = ((($0)) + 4192|0);
+ $526 = HEAP32[$525>>2]|0;
+ $527 = (($520) + ($526))|0;
+ $528 = $527 ^ $431;
+ $529 = $528 >>> 1;
+ $530 = $528 << 31;
+ $531 = $529 | $530;
+ $532 = $435 << 1;
+ $533 = $435 >>> 31;
+ $534 = $532 | $533;
+ $535 = $524 ^ $534;
+ $536 = $529 & 255;
+ $537 = (($0) + ($536<<2)|0);
+ $538 = HEAP32[$537>>2]|0;
+ $539 = $528 >>> 9;
+ $540 = $539 & 255;
+ $541 = (((($0)) + 1024|0) + ($540<<2)|0);
+ $542 = HEAP32[$541>>2]|0;
+ $543 = $542 ^ $538;
+ $544 = $528 >>> 17;
+ $545 = $544 & 255;
+ $546 = (((($0)) + 2048|0) + ($545<<2)|0);
+ $547 = HEAP32[$546>>2]|0;
+ $548 = $543 ^ $547;
+ $549 = $531 >>> 24;
+ $550 = (((($0)) + 3072|0) + ($549<<2)|0);
+ $551 = HEAP32[$550>>2]|0;
+ $552 = $548 ^ $551;
+ $553 = $535 & 255;
+ $554 = (((($0)) + 1024|0) + ($553<<2)|0);
+ $555 = HEAP32[$554>>2]|0;
+ $556 = $535 >>> 8;
+ $557 = $556 & 255;
+ $558 = (((($0)) + 2048|0) + ($557<<2)|0);
+ $559 = HEAP32[$558>>2]|0;
+ $560 = $559 ^ $555;
+ $561 = $535 >>> 16;
+ $562 = $561 & 255;
+ $563 = (((($0)) + 3072|0) + ($562<<2)|0);
+ $564 = HEAP32[$563>>2]|0;
+ $565 = $560 ^ $564;
+ $566 = $535 >>> 24;
+ $567 = (($0) + ($566<<2)|0);
+ $568 = HEAP32[$567>>2]|0;
+ $569 = $565 ^ $568;
+ $570 = (($569) + ($552))|0;
+ $571 = ((($0)) + 4204|0);
+ $572 = HEAP32[$571>>2]|0;
+ $573 = (($569) + ($572))|0;
+ $574 = (($573) + ($570))|0;
+ $575 = ((($0)) + 4200|0);
+ $576 = HEAP32[$575>>2]|0;
+ $577 = (($570) + ($576))|0;
+ $578 = $577 ^ $481;
+ $579 = $578 >>> 1;
+ $580 = $578 << 31;
+ $581 = $579 | $580;
+ $582 = $485 << 1;
+ $583 = $485 >>> 31;
+ $584 = $582 | $583;
+ $585 = $574 ^ $584;
+ $586 = $579 & 255;
+ $587 = (($0) + ($586<<2)|0);
+ $588 = HEAP32[$587>>2]|0;
+ $589 = $578 >>> 9;
+ $590 = $589 & 255;
+ $591 = (((($0)) + 1024|0) + ($590<<2)|0);
+ $592 = HEAP32[$591>>2]|0;
+ $593 = $592 ^ $588;
+ $594 = $578 >>> 17;
+ $595 = $594 & 255;
+ $596 = (((($0)) + 2048|0) + ($595<<2)|0);
+ $597 = HEAP32[$596>>2]|0;
+ $598 = $593 ^ $597;
+ $599 = $581 >>> 24;
+ $600 = (((($0)) + 3072|0) + ($599<<2)|0);
+ $601 = HEAP32[$600>>2]|0;
+ $602 = $598 ^ $601;
+ $603 = $585 & 255;
+ $604 = (((($0)) + 1024|0) + ($603<<2)|0);
+ $605 = HEAP32[$604>>2]|0;
+ $606 = $585 >>> 8;
+ $607 = $606 & 255;
+ $608 = (((($0)) + 2048|0) + ($607<<2)|0);
+ $609 = HEAP32[$608>>2]|0;
+ $610 = $609 ^ $605;
+ $611 = $585 >>> 16;
+ $612 = $611 & 255;
+ $613 = (((($0)) + 3072|0) + ($612<<2)|0);
+ $614 = HEAP32[$613>>2]|0;
+ $615 = $610 ^ $614;
+ $616 = $585 >>> 24;
+ $617 = (($0) + ($616<<2)|0);
+ $618 = HEAP32[$617>>2]|0;
+ $619 = $615 ^ $618;
+ $620 = (($619) + ($602))|0;
+ $621 = ((($0)) + 4212|0);
+ $622 = HEAP32[$621>>2]|0;
+ $623 = (($619) + ($622))|0;
+ $624 = (($623) + ($620))|0;
+ $625 = ((($0)) + 4208|0);
+ $626 = HEAP32[$625>>2]|0;
+ $627 = (($620) + ($626))|0;
+ $628 = $627 ^ $531;
+ $629 = $628 >>> 1;
+ $630 = $628 << 31;
+ $631 = $629 | $630;
+ $632 = $535 << 1;
+ $633 = $535 >>> 31;
+ $634 = $632 | $633;
+ $635 = $624 ^ $634;
+ $636 = $629 & 255;
+ $637 = (($0) + ($636<<2)|0);
+ $638 = HEAP32[$637>>2]|0;
+ $639 = $628 >>> 9;
+ $640 = $639 & 255;
+ $641 = (((($0)) + 1024|0) + ($640<<2)|0);
+ $642 = HEAP32[$641>>2]|0;
+ $643 = $642 ^ $638;
+ $644 = $628 >>> 17;
+ $645 = $644 & 255;
+ $646 = (((($0)) + 2048|0) + ($645<<2)|0);
+ $647 = HEAP32[$646>>2]|0;
+ $648 = $643 ^ $647;
+ $649 = $631 >>> 24;
+ $650 = (((($0)) + 3072|0) + ($649<<2)|0);
+ $651 = HEAP32[$650>>2]|0;
+ $652 = $648 ^ $651;
+ $653 = $635 & 255;
+ $654 = (((($0)) + 1024|0) + ($653<<2)|0);
+ $655 = HEAP32[$654>>2]|0;
+ $656 = $635 >>> 8;
+ $657 = $656 & 255;
+ $658 = (((($0)) + 2048|0) + ($657<<2)|0);
+ $659 = HEAP32[$658>>2]|0;
+ $660 = $659 ^ $655;
+ $661 = $635 >>> 16;
+ $662 = $661 & 255;
+ $663 = (((($0)) + 3072|0) + ($662<<2)|0);
+ $664 = HEAP32[$663>>2]|0;
+ $665 = $660 ^ $664;
+ $666 = $635 >>> 24;
+ $667 = (($0) + ($666<<2)|0);
+ $668 = HEAP32[$667>>2]|0;
+ $669 = $665 ^ $668;
+ $670 = (($669) + ($652))|0;
+ $671 = ((($0)) + 4220|0);
+ $672 = HEAP32[$671>>2]|0;
+ $673 = (($669) + ($672))|0;
+ $674 = (($673) + ($670))|0;
+ $675 = ((($0)) + 4216|0);
+ $676 = HEAP32[$675>>2]|0;
+ $677 = (($670) + ($676))|0;
+ $678 = $677 ^ $581;
+ $679 = $678 >>> 1;
+ $680 = $678 << 31;
+ $681 = $679 | $680;
+ $682 = $585 << 1;
+ $683 = $585 >>> 31;
+ $684 = $682 | $683;
+ $685 = $674 ^ $684;
+ $686 = $679 & 255;
+ $687 = (($0) + ($686<<2)|0);
+ $688 = HEAP32[$687>>2]|0;
+ $689 = $678 >>> 9;
+ $690 = $689 & 255;
+ $691 = (((($0)) + 1024|0) + ($690<<2)|0);
+ $692 = HEAP32[$691>>2]|0;
+ $693 = $692 ^ $688;
+ $694 = $678 >>> 17;
+ $695 = $694 & 255;
+ $696 = (((($0)) + 2048|0) + ($695<<2)|0);
+ $697 = HEAP32[$696>>2]|0;
+ $698 = $693 ^ $697;
+ $699 = $681 >>> 24;
+ $700 = (((($0)) + 3072|0) + ($699<<2)|0);
+ $701 = HEAP32[$700>>2]|0;
+ $702 = $698 ^ $701;
+ $703 = $685 & 255;
+ $704 = (((($0)) + 1024|0) + ($703<<2)|0);
+ $705 = HEAP32[$704>>2]|0;
+ $706 = $685 >>> 8;
+ $707 = $706 & 255;
+ $708 = (((($0)) + 2048|0) + ($707<<2)|0);
+ $709 = HEAP32[$708>>2]|0;
+ $710 = $709 ^ $705;
+ $711 = $685 >>> 16;
+ $712 = $711 & 255;
+ $713 = (((($0)) + 3072|0) + ($712<<2)|0);
+ $714 = HEAP32[$713>>2]|0;
+ $715 = $710 ^ $714;
+ $716 = $685 >>> 24;
+ $717 = (($0) + ($716<<2)|0);
+ $718 = HEAP32[$717>>2]|0;
+ $719 = $715 ^ $718;
+ $720 = (($719) + ($702))|0;
+ $721 = ((($0)) + 4228|0);
+ $722 = HEAP32[$721>>2]|0;
+ $723 = (($719) + ($722))|0;
+ $724 = (($723) + ($720))|0;
+ $725 = ((($0)) + 4224|0);
+ $726 = HEAP32[$725>>2]|0;
+ $727 = (($720) + ($726))|0;
+ $728 = $727 ^ $631;
+ $729 = $728 >>> 1;
+ $730 = $728 << 31;
+ $731 = $729 | $730;
+ $732 = $635 << 1;
+ $733 = $635 >>> 31;
+ $734 = $732 | $733;
+ $735 = $724 ^ $734;
+ $736 = $729 & 255;
+ $737 = (($0) + ($736<<2)|0);
+ $738 = HEAP32[$737>>2]|0;
+ $739 = $728 >>> 9;
+ $740 = $739 & 255;
+ $741 = (((($0)) + 1024|0) + ($740<<2)|0);
+ $742 = HEAP32[$741>>2]|0;
+ $743 = $742 ^ $738;
+ $744 = $728 >>> 17;
+ $745 = $744 & 255;
+ $746 = (((($0)) + 2048|0) + ($745<<2)|0);
+ $747 = HEAP32[$746>>2]|0;
+ $748 = $743 ^ $747;
+ $749 = $731 >>> 24;
+ $750 = (((($0)) + 3072|0) + ($749<<2)|0);
+ $751 = HEAP32[$750>>2]|0;
+ $752 = $748 ^ $751;
+ $753 = $735 & 255;
+ $754 = (((($0)) + 1024|0) + ($753<<2)|0);
+ $755 = HEAP32[$754>>2]|0;
+ $756 = $735 >>> 8;
+ $757 = $756 & 255;
+ $758 = (((($0)) + 2048|0) + ($757<<2)|0);
+ $759 = HEAP32[$758>>2]|0;
+ $760 = $759 ^ $755;
+ $761 = $735 >>> 16;
+ $762 = $761 & 255;
+ $763 = (((($0)) + 3072|0) + ($762<<2)|0);
+ $764 = HEAP32[$763>>2]|0;
+ $765 = $760 ^ $764;
+ $766 = $735 >>> 24;
+ $767 = (($0) + ($766<<2)|0);
+ $768 = HEAP32[$767>>2]|0;
+ $769 = $765 ^ $768;
+ $770 = (($769) + ($752))|0;
+ $771 = ((($0)) + 4236|0);
+ $772 = HEAP32[$771>>2]|0;
+ $773 = (($769) + ($772))|0;
+ $774 = (($773) + ($770))|0;
+ $775 = ((($0)) + 4232|0);
+ $776 = HEAP32[$775>>2]|0;
+ $777 = (($770) + ($776))|0;
+ $778 = $777 ^ $681;
+ $779 = $778 >>> 1;
+ $780 = $778 << 31;
+ $781 = $779 | $780;
+ $782 = $685 << 1;
+ $783 = $685 >>> 31;
+ $784 = $782 | $783;
+ $785 = $774 ^ $784;
+ $786 = $779 & 255;
+ $787 = (($0) + ($786<<2)|0);
+ $788 = HEAP32[$787>>2]|0;
+ $789 = $778 >>> 9;
+ $790 = $789 & 255;
+ $791 = (((($0)) + 1024|0) + ($790<<2)|0);
+ $792 = HEAP32[$791>>2]|0;
+ $793 = $792 ^ $788;
+ $794 = $778 >>> 17;
+ $795 = $794 & 255;
+ $796 = (((($0)) + 2048|0) + ($795<<2)|0);
+ $797 = HEAP32[$796>>2]|0;
+ $798 = $793 ^ $797;
+ $799 = $781 >>> 24;
+ $800 = (((($0)) + 3072|0) + ($799<<2)|0);
+ $801 = HEAP32[$800>>2]|0;
+ $802 = $798 ^ $801;
+ $803 = $785 & 255;
+ $804 = (((($0)) + 1024|0) + ($803<<2)|0);
+ $805 = HEAP32[$804>>2]|0;
+ $806 = $785 >>> 8;
+ $807 = $806 & 255;
+ $808 = (((($0)) + 2048|0) + ($807<<2)|0);
+ $809 = HEAP32[$808>>2]|0;
+ $810 = $809 ^ $805;
+ $811 = $785 >>> 16;
+ $812 = $811 & 255;
+ $813 = (((($0)) + 3072|0) + ($812<<2)|0);
+ $814 = HEAP32[$813>>2]|0;
+ $815 = $810 ^ $814;
+ $816 = $785 >>> 24;
+ $817 = (($0) + ($816<<2)|0);
+ $818 = HEAP32[$817>>2]|0;
+ $819 = $815 ^ $818;
+ $820 = (($819) + ($802))|0;
+ $821 = ((($0)) + 4244|0);
+ $822 = HEAP32[$821>>2]|0;
+ $823 = (($819) + ($822))|0;
+ $824 = (($823) + ($820))|0;
+ $825 = ((($0)) + 4240|0);
+ $826 = HEAP32[$825>>2]|0;
+ $827 = (($820) + ($826))|0;
+ $828 = $827 ^ $731;
+ $829 = $828 >>> 1;
+ $830 = $828 << 31;
+ $831 = $829 | $830;
+ $832 = $735 << 1;
+ $833 = $735 >>> 31;
+ $834 = $832 | $833;
+ $835 = $824 ^ $834;
+ $836 = $829 & 255;
+ $837 = (($0) + ($836<<2)|0);
+ $838 = HEAP32[$837>>2]|0;
+ $839 = $828 >>> 9;
+ $840 = $839 & 255;
+ $841 = (((($0)) + 1024|0) + ($840<<2)|0);
+ $842 = HEAP32[$841>>2]|0;
+ $843 = $842 ^ $838;
+ $844 = $828 >>> 17;
+ $845 = $844 & 255;
+ $846 = (((($0)) + 2048|0) + ($845<<2)|0);
+ $847 = HEAP32[$846>>2]|0;
+ $848 = $843 ^ $847;
+ $849 = $831 >>> 24;
+ $850 = (((($0)) + 3072|0) + ($849<<2)|0);
+ $851 = HEAP32[$850>>2]|0;
+ $852 = $848 ^ $851;
+ $853 = $835 & 255;
+ $854 = (((($0)) + 1024|0) + ($853<<2)|0);
+ $855 = HEAP32[$854>>2]|0;
+ $856 = $835 >>> 8;
+ $857 = $856 & 255;
+ $858 = (((($0)) + 2048|0) + ($857<<2)|0);
+ $859 = HEAP32[$858>>2]|0;
+ $860 = $859 ^ $855;
+ $861 = $835 >>> 16;
+ $862 = $861 & 255;
+ $863 = (((($0)) + 3072|0) + ($862<<2)|0);
+ $864 = HEAP32[$863>>2]|0;
+ $865 = $860 ^ $864;
+ $866 = $835 >>> 24;
+ $867 = (($0) + ($866<<2)|0);
+ $868 = HEAP32[$867>>2]|0;
+ $869 = $865 ^ $868;
+ $870 = (($869) + ($852))|0;
+ $871 = ((($0)) + 4252|0);
+ $872 = HEAP32[$871>>2]|0;
+ $873 = (($869) + ($872))|0;
+ $874 = (($873) + ($870))|0;
+ $875 = ((($0)) + 4248|0);
+ $876 = HEAP32[$875>>2]|0;
+ $877 = (($870) + ($876))|0;
+ $878 = $877 ^ $781;
+ $879 = $878 >>> 1;
+ $880 = $878 << 31;
+ $881 = $879 | $880;
+ $882 = $785 << 1;
+ $883 = $785 >>> 31;
+ $884 = $882 | $883;
+ $885 = $874 ^ $884;
+ $886 = ((($0)) + 4112|0);
+ $887 = HEAP32[$886>>2]|0;
+ $888 = $887 ^ $831;
+ $889 = $888 >>> 24;
+ $890 = $889&255;
+ $891 = ((($1)) + 3|0);
+ HEAP8[$891>>0] = $890;
+ $892 = $888 >>> 16;
+ $893 = $892&255;
+ $894 = ((($1)) + 2|0);
+ HEAP8[$894>>0] = $893;
+ $895 = $888 >>> 8;
+ $896 = $895&255;
+ $897 = ((($1)) + 1|0);
+ HEAP8[$897>>0] = $896;
+ $898 = $888&255;
+ HEAP8[$1>>0] = $898;
+ $899 = ((($0)) + 4116|0);
+ $900 = HEAP32[$899>>2]|0;
+ $901 = $900 ^ $835;
+ $902 = ((($1)) + 4|0);
+ $903 = $901 >>> 24;
+ $904 = $903&255;
+ $905 = ((($1)) + 7|0);
+ HEAP8[$905>>0] = $904;
+ $906 = $901 >>> 16;
+ $907 = $906&255;
+ $908 = ((($1)) + 6|0);
+ HEAP8[$908>>0] = $907;
+ $909 = $901 >>> 8;
+ $910 = $909&255;
+ $911 = ((($1)) + 5|0);
+ HEAP8[$911>>0] = $910;
+ $912 = $901&255;
+ HEAP8[$902>>0] = $912;
+ $913 = ((($0)) + 4120|0);
+ $914 = HEAP32[$913>>2]|0;
+ $915 = $914 ^ $881;
+ $916 = ((($1)) + 8|0);
+ $917 = $915 >>> 24;
+ $918 = $917&255;
+ $919 = ((($1)) + 11|0);
+ HEAP8[$919>>0] = $918;
+ $920 = $915 >>> 16;
+ $921 = $920&255;
+ $922 = ((($1)) + 10|0);
+ HEAP8[$922>>0] = $921;
+ $923 = $915 >>> 8;
+ $924 = $923&255;
+ $925 = ((($1)) + 9|0);
+ HEAP8[$925>>0] = $924;
+ $926 = $915&255;
+ HEAP8[$916>>0] = $926;
+ $927 = ((($0)) + 4124|0);
+ $928 = HEAP32[$927>>2]|0;
+ $929 = $885 ^ $928;
+ $930 = ((($1)) + 12|0);
+ $931 = $929 >>> 24;
+ $932 = $931&255;
+ $933 = ((($1)) + 15|0);
+ HEAP8[$933>>0] = $932;
+ $934 = $929 >>> 16;
+ $935 = $934&255;
+ $936 = ((($1)) + 14|0);
+ HEAP8[$936>>0] = $935;
+ $937 = $929 >>> 8;
+ $938 = $937&255;
+ $939 = ((($1)) + 13|0);
+ HEAP8[$939>>0] = $938;
+ $940 = $929&255;
+ HEAP8[$930>>0] = $940;
+ return 36;
+}
+function _twofish_decrypt($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0;
+ var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $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;
+ var $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, $152 = 0, $153 = 0;
+ var $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, $170 = 0, $171 = 0;
+ var $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, $189 = 0, $19 = 0;
+ var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $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, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0;
+ var $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, $297 = 0, $298 = 0, $299 = 0;
+ var $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, $314 = 0, $315 = 0, $316 = 0;
+ var $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, $332 = 0, $333 = 0, $334 = 0;
+ var $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, $350 = 0, $351 = 0, $352 = 0;
+ var $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0;
+ var $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, $387 = 0, $388 = 0, $389 = 0;
+ var $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, $404 = 0, $405 = 0, $406 = 0;
+ var $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, $422 = 0, $423 = 0, $424 = 0;
+ var $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, $440 = 0, $441 = 0, $442 = 0;
+ var $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, $459 = 0, $46 = 0, $460 = 0;
+ var $461 = 0, $462 = 0, $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;
+ var $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, $495 = 0, $496 = 0, $497 = 0;
+ var $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, $512 = 0, $513 = 0, $514 = 0;
+ var $515 = 0, $516 = 0, $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;
+ var $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, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0;
+ var $551 = 0, $552 = 0, $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;
+ var $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, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0;
+ var $588 = 0, $589 = 0, $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;
+ var $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, $622 = 0;
+ var $623 = 0, $624 = 0, $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;
+ var $641 = 0, $642 = 0, $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;
+ var $66 = 0, $660 = 0, $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;
+ var $678 = 0, $679 = 0, $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;
+ var $696 = 0, $697 = 0, $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;
+ var $713 = 0, $714 = 0, $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;
+ var $731 = 0, $732 = 0, $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;
+ var $75 = 0, $750 = 0, $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;
+ var $768 = 0, $769 = 0, $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;
+ var $786 = 0, $787 = 0, $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;
+ var $803 = 0, $804 = 0, $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;
+ var $821 = 0, $822 = 0, $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;
+ var $84 = 0, $840 = 0, $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;
+ var $858 = 0, $859 = 0, $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;
+ var $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, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0;
+ var $894 = 0, $895 = 0, $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;
+ var $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, $927 = 0, $928 = 0, $929 = 0;
+ var $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0, $940 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $3 = ((($2)) + 3|0);
+ $4 = HEAP8[$3>>0]|0;
+ $5 = $4&255;
+ $6 = $5 << 24;
+ $7 = ((($2)) + 2|0);
+ $8 = HEAP8[$7>>0]|0;
+ $9 = $8&255;
+ $10 = $9 << 16;
+ $11 = $10 | $6;
+ $12 = ((($2)) + 1|0);
+ $13 = HEAP8[$12>>0]|0;
+ $14 = $13&255;
+ $15 = $14 << 8;
+ $16 = $11 | $15;
+ $17 = HEAP8[$2>>0]|0;
+ $18 = $17&255;
+ $19 = $16 | $18;
+ $20 = ((($0)) + 4112|0);
+ $21 = HEAP32[$20>>2]|0;
+ $22 = $19 ^ $21;
+ $23 = ((($2)) + 4|0);
+ $24 = ((($2)) + 7|0);
+ $25 = HEAP8[$24>>0]|0;
+ $26 = $25&255;
+ $27 = $26 << 24;
+ $28 = ((($2)) + 6|0);
+ $29 = HEAP8[$28>>0]|0;
+ $30 = $29&255;
+ $31 = $30 << 16;
+ $32 = $31 | $27;
+ $33 = ((($2)) + 5|0);
+ $34 = HEAP8[$33>>0]|0;
+ $35 = $34&255;
+ $36 = $35 << 8;
+ $37 = $32 | $36;
+ $38 = HEAP8[$23>>0]|0;
+ $39 = $38&255;
+ $40 = $37 | $39;
+ $41 = ((($0)) + 4116|0);
+ $42 = HEAP32[$41>>2]|0;
+ $43 = $40 ^ $42;
+ $44 = ((($2)) + 8|0);
+ $45 = ((($2)) + 11|0);
+ $46 = HEAP8[$45>>0]|0;
+ $47 = $46&255;
+ $48 = $47 << 24;
+ $49 = ((($2)) + 10|0);
+ $50 = HEAP8[$49>>0]|0;
+ $51 = $50&255;
+ $52 = $51 << 16;
+ $53 = $52 | $48;
+ $54 = ((($2)) + 9|0);
+ $55 = HEAP8[$54>>0]|0;
+ $56 = $55&255;
+ $57 = $56 << 8;
+ $58 = $53 | $57;
+ $59 = HEAP8[$44>>0]|0;
+ $60 = $59&255;
+ $61 = $58 | $60;
+ $62 = ((($0)) + 4120|0);
+ $63 = HEAP32[$62>>2]|0;
+ $64 = $61 ^ $63;
+ $65 = ((($2)) + 12|0);
+ $66 = ((($2)) + 15|0);
+ $67 = HEAP8[$66>>0]|0;
+ $68 = $67&255;
+ $69 = $68 << 24;
+ $70 = ((($2)) + 14|0);
+ $71 = HEAP8[$70>>0]|0;
+ $72 = $71&255;
+ $73 = $72 << 16;
+ $74 = $73 | $69;
+ $75 = ((($2)) + 13|0);
+ $76 = HEAP8[$75>>0]|0;
+ $77 = $76&255;
+ $78 = $77 << 8;
+ $79 = $74 | $78;
+ $80 = HEAP8[$65>>0]|0;
+ $81 = $80&255;
+ $82 = $79 | $81;
+ $83 = ((($0)) + 4124|0);
+ $84 = HEAP32[$83>>2]|0;
+ $85 = $82 ^ $84;
+ $86 = $22 & 255;
+ $87 = (($0) + ($86<<2)|0);
+ $88 = HEAP32[$87>>2]|0;
+ $89 = $22 >>> 8;
+ $90 = $89 & 255;
+ $91 = (((($0)) + 1024|0) + ($90<<2)|0);
+ $92 = HEAP32[$91>>2]|0;
+ $93 = $92 ^ $88;
+ $94 = $22 >>> 16;
+ $95 = $94 & 255;
+ $96 = (((($0)) + 2048|0) + ($95<<2)|0);
+ $97 = HEAP32[$96>>2]|0;
+ $98 = $93 ^ $97;
+ $99 = $22 >>> 24;
+ $100 = (((($0)) + 3072|0) + ($99<<2)|0);
+ $101 = HEAP32[$100>>2]|0;
+ $102 = $98 ^ $101;
+ $103 = $43 & 255;
+ $104 = (((($0)) + 1024|0) + ($103<<2)|0);
+ $105 = HEAP32[$104>>2]|0;
+ $106 = $43 >>> 8;
+ $107 = $106 & 255;
+ $108 = (((($0)) + 2048|0) + ($107<<2)|0);
+ $109 = HEAP32[$108>>2]|0;
+ $110 = $109 ^ $105;
+ $111 = $43 >>> 16;
+ $112 = $111 & 255;
+ $113 = (((($0)) + 3072|0) + ($112<<2)|0);
+ $114 = HEAP32[$113>>2]|0;
+ $115 = $110 ^ $114;
+ $116 = $43 >>> 24;
+ $117 = (($0) + ($116<<2)|0);
+ $118 = HEAP32[$117>>2]|0;
+ $119 = $115 ^ $118;
+ $120 = (($119) + ($102))|0;
+ $121 = ((($0)) + 4252|0);
+ $122 = HEAP32[$121>>2]|0;
+ $123 = (($122) + ($119))|0;
+ $124 = (($123) + ($120))|0;
+ $125 = $85 ^ $124;
+ $126 = $125 >>> 1;
+ $127 = $125 << 31;
+ $128 = $126 | $127;
+ $129 = $64 << 1;
+ $130 = $64 >>> 31;
+ $131 = $129 | $130;
+ $132 = ((($0)) + 4248|0);
+ $133 = HEAP32[$132>>2]|0;
+ $134 = (($120) + ($133))|0;
+ $135 = $134 ^ $131;
+ $136 = $135 & 255;
+ $137 = (($0) + ($136<<2)|0);
+ $138 = HEAP32[$137>>2]|0;
+ $139 = $135 >>> 8;
+ $140 = $139 & 255;
+ $141 = (((($0)) + 1024|0) + ($140<<2)|0);
+ $142 = HEAP32[$141>>2]|0;
+ $143 = $142 ^ $138;
+ $144 = $135 >>> 16;
+ $145 = $144 & 255;
+ $146 = (((($0)) + 2048|0) + ($145<<2)|0);
+ $147 = HEAP32[$146>>2]|0;
+ $148 = $143 ^ $147;
+ $149 = $135 >>> 24;
+ $150 = (((($0)) + 3072|0) + ($149<<2)|0);
+ $151 = HEAP32[$150>>2]|0;
+ $152 = $148 ^ $151;
+ $153 = $126 & 255;
+ $154 = (((($0)) + 1024|0) + ($153<<2)|0);
+ $155 = HEAP32[$154>>2]|0;
+ $156 = $125 >>> 9;
+ $157 = $156 & 255;
+ $158 = (((($0)) + 2048|0) + ($157<<2)|0);
+ $159 = HEAP32[$158>>2]|0;
+ $160 = $159 ^ $155;
+ $161 = $125 >>> 17;
+ $162 = $161 & 255;
+ $163 = (((($0)) + 3072|0) + ($162<<2)|0);
+ $164 = HEAP32[$163>>2]|0;
+ $165 = $160 ^ $164;
+ $166 = $128 >>> 24;
+ $167 = (($0) + ($166<<2)|0);
+ $168 = HEAP32[$167>>2]|0;
+ $169 = $165 ^ $168;
+ $170 = (($169) + ($152))|0;
+ $171 = ((($0)) + 4244|0);
+ $172 = HEAP32[$171>>2]|0;
+ $173 = (($172) + ($169))|0;
+ $174 = (($173) + ($170))|0;
+ $175 = $174 ^ $43;
+ $176 = $175 >>> 1;
+ $177 = $175 << 31;
+ $178 = $176 | $177;
+ $179 = $22 << 1;
+ $180 = $22 >>> 31;
+ $181 = $179 | $180;
+ $182 = ((($0)) + 4240|0);
+ $183 = HEAP32[$182>>2]|0;
+ $184 = (($170) + ($183))|0;
+ $185 = $184 ^ $181;
+ $186 = $185 & 255;
+ $187 = (($0) + ($186<<2)|0);
+ $188 = HEAP32[$187>>2]|0;
+ $189 = $185 >>> 8;
+ $190 = $189 & 255;
+ $191 = (((($0)) + 1024|0) + ($190<<2)|0);
+ $192 = HEAP32[$191>>2]|0;
+ $193 = $192 ^ $188;
+ $194 = $185 >>> 16;
+ $195 = $194 & 255;
+ $196 = (((($0)) + 2048|0) + ($195<<2)|0);
+ $197 = HEAP32[$196>>2]|0;
+ $198 = $193 ^ $197;
+ $199 = $185 >>> 24;
+ $200 = (((($0)) + 3072|0) + ($199<<2)|0);
+ $201 = HEAP32[$200>>2]|0;
+ $202 = $198 ^ $201;
+ $203 = $176 & 255;
+ $204 = (((($0)) + 1024|0) + ($203<<2)|0);
+ $205 = HEAP32[$204>>2]|0;
+ $206 = $175 >>> 9;
+ $207 = $206 & 255;
+ $208 = (((($0)) + 2048|0) + ($207<<2)|0);
+ $209 = HEAP32[$208>>2]|0;
+ $210 = $209 ^ $205;
+ $211 = $175 >>> 17;
+ $212 = $211 & 255;
+ $213 = (((($0)) + 3072|0) + ($212<<2)|0);
+ $214 = HEAP32[$213>>2]|0;
+ $215 = $210 ^ $214;
+ $216 = $178 >>> 24;
+ $217 = (($0) + ($216<<2)|0);
+ $218 = HEAP32[$217>>2]|0;
+ $219 = $215 ^ $218;
+ $220 = (($219) + ($202))|0;
+ $221 = ((($0)) + 4236|0);
+ $222 = HEAP32[$221>>2]|0;
+ $223 = (($222) + ($219))|0;
+ $224 = (($223) + ($220))|0;
+ $225 = $224 ^ $128;
+ $226 = $225 >>> 1;
+ $227 = $225 << 31;
+ $228 = $226 | $227;
+ $229 = $135 << 1;
+ $230 = $135 >>> 31;
+ $231 = $229 | $230;
+ $232 = ((($0)) + 4232|0);
+ $233 = HEAP32[$232>>2]|0;
+ $234 = (($220) + ($233))|0;
+ $235 = $234 ^ $231;
+ $236 = $235 & 255;
+ $237 = (($0) + ($236<<2)|0);
+ $238 = HEAP32[$237>>2]|0;
+ $239 = $235 >>> 8;
+ $240 = $239 & 255;
+ $241 = (((($0)) + 1024|0) + ($240<<2)|0);
+ $242 = HEAP32[$241>>2]|0;
+ $243 = $242 ^ $238;
+ $244 = $235 >>> 16;
+ $245 = $244 & 255;
+ $246 = (((($0)) + 2048|0) + ($245<<2)|0);
+ $247 = HEAP32[$246>>2]|0;
+ $248 = $243 ^ $247;
+ $249 = $235 >>> 24;
+ $250 = (((($0)) + 3072|0) + ($249<<2)|0);
+ $251 = HEAP32[$250>>2]|0;
+ $252 = $248 ^ $251;
+ $253 = $226 & 255;
+ $254 = (((($0)) + 1024|0) + ($253<<2)|0);
+ $255 = HEAP32[$254>>2]|0;
+ $256 = $225 >>> 9;
+ $257 = $256 & 255;
+ $258 = (((($0)) + 2048|0) + ($257<<2)|0);
+ $259 = HEAP32[$258>>2]|0;
+ $260 = $259 ^ $255;
+ $261 = $225 >>> 17;
+ $262 = $261 & 255;
+ $263 = (((($0)) + 3072|0) + ($262<<2)|0);
+ $264 = HEAP32[$263>>2]|0;
+ $265 = $260 ^ $264;
+ $266 = $228 >>> 24;
+ $267 = (($0) + ($266<<2)|0);
+ $268 = HEAP32[$267>>2]|0;
+ $269 = $265 ^ $268;
+ $270 = (($269) + ($252))|0;
+ $271 = ((($0)) + 4228|0);
+ $272 = HEAP32[$271>>2]|0;
+ $273 = (($272) + ($269))|0;
+ $274 = (($273) + ($270))|0;
+ $275 = $274 ^ $178;
+ $276 = $275 >>> 1;
+ $277 = $275 << 31;
+ $278 = $276 | $277;
+ $279 = $185 << 1;
+ $280 = $185 >>> 31;
+ $281 = $279 | $280;
+ $282 = ((($0)) + 4224|0);
+ $283 = HEAP32[$282>>2]|0;
+ $284 = (($270) + ($283))|0;
+ $285 = $284 ^ $281;
+ $286 = $285 & 255;
+ $287 = (($0) + ($286<<2)|0);
+ $288 = HEAP32[$287>>2]|0;
+ $289 = $285 >>> 8;
+ $290 = $289 & 255;
+ $291 = (((($0)) + 1024|0) + ($290<<2)|0);
+ $292 = HEAP32[$291>>2]|0;
+ $293 = $292 ^ $288;
+ $294 = $285 >>> 16;
+ $295 = $294 & 255;
+ $296 = (((($0)) + 2048|0) + ($295<<2)|0);
+ $297 = HEAP32[$296>>2]|0;
+ $298 = $293 ^ $297;
+ $299 = $285 >>> 24;
+ $300 = (((($0)) + 3072|0) + ($299<<2)|0);
+ $301 = HEAP32[$300>>2]|0;
+ $302 = $298 ^ $301;
+ $303 = $276 & 255;
+ $304 = (((($0)) + 1024|0) + ($303<<2)|0);
+ $305 = HEAP32[$304>>2]|0;
+ $306 = $275 >>> 9;
+ $307 = $306 & 255;
+ $308 = (((($0)) + 2048|0) + ($307<<2)|0);
+ $309 = HEAP32[$308>>2]|0;
+ $310 = $309 ^ $305;
+ $311 = $275 >>> 17;
+ $312 = $311 & 255;
+ $313 = (((($0)) + 3072|0) + ($312<<2)|0);
+ $314 = HEAP32[$313>>2]|0;
+ $315 = $310 ^ $314;
+ $316 = $278 >>> 24;
+ $317 = (($0) + ($316<<2)|0);
+ $318 = HEAP32[$317>>2]|0;
+ $319 = $315 ^ $318;
+ $320 = (($319) + ($302))|0;
+ $321 = ((($0)) + 4220|0);
+ $322 = HEAP32[$321>>2]|0;
+ $323 = (($322) + ($319))|0;
+ $324 = (($323) + ($320))|0;
+ $325 = $324 ^ $228;
+ $326 = $325 >>> 1;
+ $327 = $325 << 31;
+ $328 = $326 | $327;
+ $329 = $235 << 1;
+ $330 = $235 >>> 31;
+ $331 = $329 | $330;
+ $332 = ((($0)) + 4216|0);
+ $333 = HEAP32[$332>>2]|0;
+ $334 = (($320) + ($333))|0;
+ $335 = $334 ^ $331;
+ $336 = $335 & 255;
+ $337 = (($0) + ($336<<2)|0);
+ $338 = HEAP32[$337>>2]|0;
+ $339 = $335 >>> 8;
+ $340 = $339 & 255;
+ $341 = (((($0)) + 1024|0) + ($340<<2)|0);
+ $342 = HEAP32[$341>>2]|0;
+ $343 = $342 ^ $338;
+ $344 = $335 >>> 16;
+ $345 = $344 & 255;
+ $346 = (((($0)) + 2048|0) + ($345<<2)|0);
+ $347 = HEAP32[$346>>2]|0;
+ $348 = $343 ^ $347;
+ $349 = $335 >>> 24;
+ $350 = (((($0)) + 3072|0) + ($349<<2)|0);
+ $351 = HEAP32[$350>>2]|0;
+ $352 = $348 ^ $351;
+ $353 = $326 & 255;
+ $354 = (((($0)) + 1024|0) + ($353<<2)|0);
+ $355 = HEAP32[$354>>2]|0;
+ $356 = $325 >>> 9;
+ $357 = $356 & 255;
+ $358 = (((($0)) + 2048|0) + ($357<<2)|0);
+ $359 = HEAP32[$358>>2]|0;
+ $360 = $359 ^ $355;
+ $361 = $325 >>> 17;
+ $362 = $361 & 255;
+ $363 = (((($0)) + 3072|0) + ($362<<2)|0);
+ $364 = HEAP32[$363>>2]|0;
+ $365 = $360 ^ $364;
+ $366 = $328 >>> 24;
+ $367 = (($0) + ($366<<2)|0);
+ $368 = HEAP32[$367>>2]|0;
+ $369 = $365 ^ $368;
+ $370 = (($369) + ($352))|0;
+ $371 = ((($0)) + 4212|0);
+ $372 = HEAP32[$371>>2]|0;
+ $373 = (($372) + ($369))|0;
+ $374 = (($373) + ($370))|0;
+ $375 = $374 ^ $278;
+ $376 = $375 >>> 1;
+ $377 = $375 << 31;
+ $378 = $376 | $377;
+ $379 = $285 << 1;
+ $380 = $285 >>> 31;
+ $381 = $379 | $380;
+ $382 = ((($0)) + 4208|0);
+ $383 = HEAP32[$382>>2]|0;
+ $384 = (($370) + ($383))|0;
+ $385 = $384 ^ $381;
+ $386 = $385 & 255;
+ $387 = (($0) + ($386<<2)|0);
+ $388 = HEAP32[$387>>2]|0;
+ $389 = $385 >>> 8;
+ $390 = $389 & 255;
+ $391 = (((($0)) + 1024|0) + ($390<<2)|0);
+ $392 = HEAP32[$391>>2]|0;
+ $393 = $392 ^ $388;
+ $394 = $385 >>> 16;
+ $395 = $394 & 255;
+ $396 = (((($0)) + 2048|0) + ($395<<2)|0);
+ $397 = HEAP32[$396>>2]|0;
+ $398 = $393 ^ $397;
+ $399 = $385 >>> 24;
+ $400 = (((($0)) + 3072|0) + ($399<<2)|0);
+ $401 = HEAP32[$400>>2]|0;
+ $402 = $398 ^ $401;
+ $403 = $376 & 255;
+ $404 = (((($0)) + 1024|0) + ($403<<2)|0);
+ $405 = HEAP32[$404>>2]|0;
+ $406 = $375 >>> 9;
+ $407 = $406 & 255;
+ $408 = (((($0)) + 2048|0) + ($407<<2)|0);
+ $409 = HEAP32[$408>>2]|0;
+ $410 = $409 ^ $405;
+ $411 = $375 >>> 17;
+ $412 = $411 & 255;
+ $413 = (((($0)) + 3072|0) + ($412<<2)|0);
+ $414 = HEAP32[$413>>2]|0;
+ $415 = $410 ^ $414;
+ $416 = $378 >>> 24;
+ $417 = (($0) + ($416<<2)|0);
+ $418 = HEAP32[$417>>2]|0;
+ $419 = $415 ^ $418;
+ $420 = (($419) + ($402))|0;
+ $421 = ((($0)) + 4204|0);
+ $422 = HEAP32[$421>>2]|0;
+ $423 = (($422) + ($419))|0;
+ $424 = (($423) + ($420))|0;
+ $425 = $424 ^ $328;
+ $426 = $425 >>> 1;
+ $427 = $425 << 31;
+ $428 = $426 | $427;
+ $429 = $335 << 1;
+ $430 = $335 >>> 31;
+ $431 = $429 | $430;
+ $432 = ((($0)) + 4200|0);
+ $433 = HEAP32[$432>>2]|0;
+ $434 = (($420) + ($433))|0;
+ $435 = $434 ^ $431;
+ $436 = $435 & 255;
+ $437 = (($0) + ($436<<2)|0);
+ $438 = HEAP32[$437>>2]|0;
+ $439 = $435 >>> 8;
+ $440 = $439 & 255;
+ $441 = (((($0)) + 1024|0) + ($440<<2)|0);
+ $442 = HEAP32[$441>>2]|0;
+ $443 = $442 ^ $438;
+ $444 = $435 >>> 16;
+ $445 = $444 & 255;
+ $446 = (((($0)) + 2048|0) + ($445<<2)|0);
+ $447 = HEAP32[$446>>2]|0;
+ $448 = $443 ^ $447;
+ $449 = $435 >>> 24;
+ $450 = (((($0)) + 3072|0) + ($449<<2)|0);
+ $451 = HEAP32[$450>>2]|0;
+ $452 = $448 ^ $451;
+ $453 = $426 & 255;
+ $454 = (((($0)) + 1024|0) + ($453<<2)|0);
+ $455 = HEAP32[$454>>2]|0;
+ $456 = $425 >>> 9;
+ $457 = $456 & 255;
+ $458 = (((($0)) + 2048|0) + ($457<<2)|0);
+ $459 = HEAP32[$458>>2]|0;
+ $460 = $459 ^ $455;
+ $461 = $425 >>> 17;
+ $462 = $461 & 255;
+ $463 = (((($0)) + 3072|0) + ($462<<2)|0);
+ $464 = HEAP32[$463>>2]|0;
+ $465 = $460 ^ $464;
+ $466 = $428 >>> 24;
+ $467 = (($0) + ($466<<2)|0);
+ $468 = HEAP32[$467>>2]|0;
+ $469 = $465 ^ $468;
+ $470 = (($469) + ($452))|0;
+ $471 = ((($0)) + 4196|0);
+ $472 = HEAP32[$471>>2]|0;
+ $473 = (($472) + ($469))|0;
+ $474 = (($473) + ($470))|0;
+ $475 = $474 ^ $378;
+ $476 = $475 >>> 1;
+ $477 = $475 << 31;
+ $478 = $476 | $477;
+ $479 = $385 << 1;
+ $480 = $385 >>> 31;
+ $481 = $479 | $480;
+ $482 = ((($0)) + 4192|0);
+ $483 = HEAP32[$482>>2]|0;
+ $484 = (($470) + ($483))|0;
+ $485 = $484 ^ $481;
+ $486 = $485 & 255;
+ $487 = (($0) + ($486<<2)|0);
+ $488 = HEAP32[$487>>2]|0;
+ $489 = $485 >>> 8;
+ $490 = $489 & 255;
+ $491 = (((($0)) + 1024|0) + ($490<<2)|0);
+ $492 = HEAP32[$491>>2]|0;
+ $493 = $492 ^ $488;
+ $494 = $485 >>> 16;
+ $495 = $494 & 255;
+ $496 = (((($0)) + 2048|0) + ($495<<2)|0);
+ $497 = HEAP32[$496>>2]|0;
+ $498 = $493 ^ $497;
+ $499 = $485 >>> 24;
+ $500 = (((($0)) + 3072|0) + ($499<<2)|0);
+ $501 = HEAP32[$500>>2]|0;
+ $502 = $498 ^ $501;
+ $503 = $476 & 255;
+ $504 = (((($0)) + 1024|0) + ($503<<2)|0);
+ $505 = HEAP32[$504>>2]|0;
+ $506 = $475 >>> 9;
+ $507 = $506 & 255;
+ $508 = (((($0)) + 2048|0) + ($507<<2)|0);
+ $509 = HEAP32[$508>>2]|0;
+ $510 = $509 ^ $505;
+ $511 = $475 >>> 17;
+ $512 = $511 & 255;
+ $513 = (((($0)) + 3072|0) + ($512<<2)|0);
+ $514 = HEAP32[$513>>2]|0;
+ $515 = $510 ^ $514;
+ $516 = $478 >>> 24;
+ $517 = (($0) + ($516<<2)|0);
+ $518 = HEAP32[$517>>2]|0;
+ $519 = $515 ^ $518;
+ $520 = (($519) + ($502))|0;
+ $521 = ((($0)) + 4188|0);
+ $522 = HEAP32[$521>>2]|0;
+ $523 = (($522) + ($519))|0;
+ $524 = (($523) + ($520))|0;
+ $525 = $524 ^ $428;
+ $526 = $525 >>> 1;
+ $527 = $525 << 31;
+ $528 = $526 | $527;
+ $529 = $435 << 1;
+ $530 = $435 >>> 31;
+ $531 = $529 | $530;
+ $532 = ((($0)) + 4184|0);
+ $533 = HEAP32[$532>>2]|0;
+ $534 = (($520) + ($533))|0;
+ $535 = $534 ^ $531;
+ $536 = $535 & 255;
+ $537 = (($0) + ($536<<2)|0);
+ $538 = HEAP32[$537>>2]|0;
+ $539 = $535 >>> 8;
+ $540 = $539 & 255;
+ $541 = (((($0)) + 1024|0) + ($540<<2)|0);
+ $542 = HEAP32[$541>>2]|0;
+ $543 = $542 ^ $538;
+ $544 = $535 >>> 16;
+ $545 = $544 & 255;
+ $546 = (((($0)) + 2048|0) + ($545<<2)|0);
+ $547 = HEAP32[$546>>2]|0;
+ $548 = $543 ^ $547;
+ $549 = $535 >>> 24;
+ $550 = (((($0)) + 3072|0) + ($549<<2)|0);
+ $551 = HEAP32[$550>>2]|0;
+ $552 = $548 ^ $551;
+ $553 = $526 & 255;
+ $554 = (((($0)) + 1024|0) + ($553<<2)|0);
+ $555 = HEAP32[$554>>2]|0;
+ $556 = $525 >>> 9;
+ $557 = $556 & 255;
+ $558 = (((($0)) + 2048|0) + ($557<<2)|0);
+ $559 = HEAP32[$558>>2]|0;
+ $560 = $559 ^ $555;
+ $561 = $525 >>> 17;
+ $562 = $561 & 255;
+ $563 = (((($0)) + 3072|0) + ($562<<2)|0);
+ $564 = HEAP32[$563>>2]|0;
+ $565 = $560 ^ $564;
+ $566 = $528 >>> 24;
+ $567 = (($0) + ($566<<2)|0);
+ $568 = HEAP32[$567>>2]|0;
+ $569 = $565 ^ $568;
+ $570 = (($569) + ($552))|0;
+ $571 = ((($0)) + 4180|0);
+ $572 = HEAP32[$571>>2]|0;
+ $573 = (($572) + ($569))|0;
+ $574 = (($573) + ($570))|0;
+ $575 = $574 ^ $478;
+ $576 = $575 >>> 1;
+ $577 = $575 << 31;
+ $578 = $576 | $577;
+ $579 = $485 << 1;
+ $580 = $485 >>> 31;
+ $581 = $579 | $580;
+ $582 = ((($0)) + 4176|0);
+ $583 = HEAP32[$582>>2]|0;
+ $584 = (($570) + ($583))|0;
+ $585 = $584 ^ $581;
+ $586 = $585 & 255;
+ $587 = (($0) + ($586<<2)|0);
+ $588 = HEAP32[$587>>2]|0;
+ $589 = $585 >>> 8;
+ $590 = $589 & 255;
+ $591 = (((($0)) + 1024|0) + ($590<<2)|0);
+ $592 = HEAP32[$591>>2]|0;
+ $593 = $592 ^ $588;
+ $594 = $585 >>> 16;
+ $595 = $594 & 255;
+ $596 = (((($0)) + 2048|0) + ($595<<2)|0);
+ $597 = HEAP32[$596>>2]|0;
+ $598 = $593 ^ $597;
+ $599 = $585 >>> 24;
+ $600 = (((($0)) + 3072|0) + ($599<<2)|0);
+ $601 = HEAP32[$600>>2]|0;
+ $602 = $598 ^ $601;
+ $603 = $576 & 255;
+ $604 = (((($0)) + 1024|0) + ($603<<2)|0);
+ $605 = HEAP32[$604>>2]|0;
+ $606 = $575 >>> 9;
+ $607 = $606 & 255;
+ $608 = (((($0)) + 2048|0) + ($607<<2)|0);
+ $609 = HEAP32[$608>>2]|0;
+ $610 = $609 ^ $605;
+ $611 = $575 >>> 17;
+ $612 = $611 & 255;
+ $613 = (((($0)) + 3072|0) + ($612<<2)|0);
+ $614 = HEAP32[$613>>2]|0;
+ $615 = $610 ^ $614;
+ $616 = $578 >>> 24;
+ $617 = (($0) + ($616<<2)|0);
+ $618 = HEAP32[$617>>2]|0;
+ $619 = $615 ^ $618;
+ $620 = (($619) + ($602))|0;
+ $621 = ((($0)) + 4172|0);
+ $622 = HEAP32[$621>>2]|0;
+ $623 = (($622) + ($619))|0;
+ $624 = (($623) + ($620))|0;
+ $625 = $624 ^ $528;
+ $626 = $625 >>> 1;
+ $627 = $625 << 31;
+ $628 = $626 | $627;
+ $629 = $535 << 1;
+ $630 = $535 >>> 31;
+ $631 = $629 | $630;
+ $632 = ((($0)) + 4168|0);
+ $633 = HEAP32[$632>>2]|0;
+ $634 = (($620) + ($633))|0;
+ $635 = $634 ^ $631;
+ $636 = $635 & 255;
+ $637 = (($0) + ($636<<2)|0);
+ $638 = HEAP32[$637>>2]|0;
+ $639 = $635 >>> 8;
+ $640 = $639 & 255;
+ $641 = (((($0)) + 1024|0) + ($640<<2)|0);
+ $642 = HEAP32[$641>>2]|0;
+ $643 = $642 ^ $638;
+ $644 = $635 >>> 16;
+ $645 = $644 & 255;
+ $646 = (((($0)) + 2048|0) + ($645<<2)|0);
+ $647 = HEAP32[$646>>2]|0;
+ $648 = $643 ^ $647;
+ $649 = $635 >>> 24;
+ $650 = (((($0)) + 3072|0) + ($649<<2)|0);
+ $651 = HEAP32[$650>>2]|0;
+ $652 = $648 ^ $651;
+ $653 = $626 & 255;
+ $654 = (((($0)) + 1024|0) + ($653<<2)|0);
+ $655 = HEAP32[$654>>2]|0;
+ $656 = $625 >>> 9;
+ $657 = $656 & 255;
+ $658 = (((($0)) + 2048|0) + ($657<<2)|0);
+ $659 = HEAP32[$658>>2]|0;
+ $660 = $659 ^ $655;
+ $661 = $625 >>> 17;
+ $662 = $661 & 255;
+ $663 = (((($0)) + 3072|0) + ($662<<2)|0);
+ $664 = HEAP32[$663>>2]|0;
+ $665 = $660 ^ $664;
+ $666 = $628 >>> 24;
+ $667 = (($0) + ($666<<2)|0);
+ $668 = HEAP32[$667>>2]|0;
+ $669 = $665 ^ $668;
+ $670 = (($669) + ($652))|0;
+ $671 = ((($0)) + 4164|0);
+ $672 = HEAP32[$671>>2]|0;
+ $673 = (($672) + ($669))|0;
+ $674 = (($673) + ($670))|0;
+ $675 = $674 ^ $578;
+ $676 = $675 >>> 1;
+ $677 = $675 << 31;
+ $678 = $676 | $677;
+ $679 = $585 << 1;
+ $680 = $585 >>> 31;
+ $681 = $679 | $680;
+ $682 = ((($0)) + 4160|0);
+ $683 = HEAP32[$682>>2]|0;
+ $684 = (($670) + ($683))|0;
+ $685 = $684 ^ $681;
+ $686 = $685 & 255;
+ $687 = (($0) + ($686<<2)|0);
+ $688 = HEAP32[$687>>2]|0;
+ $689 = $685 >>> 8;
+ $690 = $689 & 255;
+ $691 = (((($0)) + 1024|0) + ($690<<2)|0);
+ $692 = HEAP32[$691>>2]|0;
+ $693 = $692 ^ $688;
+ $694 = $685 >>> 16;
+ $695 = $694 & 255;
+ $696 = (((($0)) + 2048|0) + ($695<<2)|0);
+ $697 = HEAP32[$696>>2]|0;
+ $698 = $693 ^ $697;
+ $699 = $685 >>> 24;
+ $700 = (((($0)) + 3072|0) + ($699<<2)|0);
+ $701 = HEAP32[$700>>2]|0;
+ $702 = $698 ^ $701;
+ $703 = $676 & 255;
+ $704 = (((($0)) + 1024|0) + ($703<<2)|0);
+ $705 = HEAP32[$704>>2]|0;
+ $706 = $675 >>> 9;
+ $707 = $706 & 255;
+ $708 = (((($0)) + 2048|0) + ($707<<2)|0);
+ $709 = HEAP32[$708>>2]|0;
+ $710 = $709 ^ $705;
+ $711 = $675 >>> 17;
+ $712 = $711 & 255;
+ $713 = (((($0)) + 3072|0) + ($712<<2)|0);
+ $714 = HEAP32[$713>>2]|0;
+ $715 = $710 ^ $714;
+ $716 = $678 >>> 24;
+ $717 = (($0) + ($716<<2)|0);
+ $718 = HEAP32[$717>>2]|0;
+ $719 = $715 ^ $718;
+ $720 = (($719) + ($702))|0;
+ $721 = ((($0)) + 4156|0);
+ $722 = HEAP32[$721>>2]|0;
+ $723 = (($722) + ($719))|0;
+ $724 = (($723) + ($720))|0;
+ $725 = $724 ^ $628;
+ $726 = $725 >>> 1;
+ $727 = $725 << 31;
+ $728 = $726 | $727;
+ $729 = $635 << 1;
+ $730 = $635 >>> 31;
+ $731 = $729 | $730;
+ $732 = ((($0)) + 4152|0);
+ $733 = HEAP32[$732>>2]|0;
+ $734 = (($720) + ($733))|0;
+ $735 = $734 ^ $731;
+ $736 = $735 & 255;
+ $737 = (($0) + ($736<<2)|0);
+ $738 = HEAP32[$737>>2]|0;
+ $739 = $735 >>> 8;
+ $740 = $739 & 255;
+ $741 = (((($0)) + 1024|0) + ($740<<2)|0);
+ $742 = HEAP32[$741>>2]|0;
+ $743 = $742 ^ $738;
+ $744 = $735 >>> 16;
+ $745 = $744 & 255;
+ $746 = (((($0)) + 2048|0) + ($745<<2)|0);
+ $747 = HEAP32[$746>>2]|0;
+ $748 = $743 ^ $747;
+ $749 = $735 >>> 24;
+ $750 = (((($0)) + 3072|0) + ($749<<2)|0);
+ $751 = HEAP32[$750>>2]|0;
+ $752 = $748 ^ $751;
+ $753 = $726 & 255;
+ $754 = (((($0)) + 1024|0) + ($753<<2)|0);
+ $755 = HEAP32[$754>>2]|0;
+ $756 = $725 >>> 9;
+ $757 = $756 & 255;
+ $758 = (((($0)) + 2048|0) + ($757<<2)|0);
+ $759 = HEAP32[$758>>2]|0;
+ $760 = $759 ^ $755;
+ $761 = $725 >>> 17;
+ $762 = $761 & 255;
+ $763 = (((($0)) + 3072|0) + ($762<<2)|0);
+ $764 = HEAP32[$763>>2]|0;
+ $765 = $760 ^ $764;
+ $766 = $728 >>> 24;
+ $767 = (($0) + ($766<<2)|0);
+ $768 = HEAP32[$767>>2]|0;
+ $769 = $765 ^ $768;
+ $770 = (($769) + ($752))|0;
+ $771 = ((($0)) + 4148|0);
+ $772 = HEAP32[$771>>2]|0;
+ $773 = (($772) + ($769))|0;
+ $774 = (($773) + ($770))|0;
+ $775 = $774 ^ $678;
+ $776 = $775 >>> 1;
+ $777 = $775 << 31;
+ $778 = $776 | $777;
+ $779 = $685 << 1;
+ $780 = $685 >>> 31;
+ $781 = $779 | $780;
+ $782 = ((($0)) + 4144|0);
+ $783 = HEAP32[$782>>2]|0;
+ $784 = (($770) + ($783))|0;
+ $785 = $784 ^ $781;
+ $786 = $785 & 255;
+ $787 = (($0) + ($786<<2)|0);
+ $788 = HEAP32[$787>>2]|0;
+ $789 = $785 >>> 8;
+ $790 = $789 & 255;
+ $791 = (((($0)) + 1024|0) + ($790<<2)|0);
+ $792 = HEAP32[$791>>2]|0;
+ $793 = $792 ^ $788;
+ $794 = $785 >>> 16;
+ $795 = $794 & 255;
+ $796 = (((($0)) + 2048|0) + ($795<<2)|0);
+ $797 = HEAP32[$796>>2]|0;
+ $798 = $793 ^ $797;
+ $799 = $785 >>> 24;
+ $800 = (((($0)) + 3072|0) + ($799<<2)|0);
+ $801 = HEAP32[$800>>2]|0;
+ $802 = $798 ^ $801;
+ $803 = $776 & 255;
+ $804 = (((($0)) + 1024|0) + ($803<<2)|0);
+ $805 = HEAP32[$804>>2]|0;
+ $806 = $775 >>> 9;
+ $807 = $806 & 255;
+ $808 = (((($0)) + 2048|0) + ($807<<2)|0);
+ $809 = HEAP32[$808>>2]|0;
+ $810 = $809 ^ $805;
+ $811 = $775 >>> 17;
+ $812 = $811 & 255;
+ $813 = (((($0)) + 3072|0) + ($812<<2)|0);
+ $814 = HEAP32[$813>>2]|0;
+ $815 = $810 ^ $814;
+ $816 = $778 >>> 24;
+ $817 = (($0) + ($816<<2)|0);
+ $818 = HEAP32[$817>>2]|0;
+ $819 = $815 ^ $818;
+ $820 = (($819) + ($802))|0;
+ $821 = ((($0)) + 4140|0);
+ $822 = HEAP32[$821>>2]|0;
+ $823 = (($822) + ($819))|0;
+ $824 = (($823) + ($820))|0;
+ $825 = $824 ^ $728;
+ $826 = $825 >>> 1;
+ $827 = $825 << 31;
+ $828 = $826 | $827;
+ $829 = $735 << 1;
+ $830 = $735 >>> 31;
+ $831 = $829 | $830;
+ $832 = ((($0)) + 4136|0);
+ $833 = HEAP32[$832>>2]|0;
+ $834 = (($820) + ($833))|0;
+ $835 = $834 ^ $831;
+ $836 = $835 & 255;
+ $837 = (($0) + ($836<<2)|0);
+ $838 = HEAP32[$837>>2]|0;
+ $839 = $835 >>> 8;
+ $840 = $839 & 255;
+ $841 = (((($0)) + 1024|0) + ($840<<2)|0);
+ $842 = HEAP32[$841>>2]|0;
+ $843 = $842 ^ $838;
+ $844 = $835 >>> 16;
+ $845 = $844 & 255;
+ $846 = (((($0)) + 2048|0) + ($845<<2)|0);
+ $847 = HEAP32[$846>>2]|0;
+ $848 = $843 ^ $847;
+ $849 = $835 >>> 24;
+ $850 = (((($0)) + 3072|0) + ($849<<2)|0);
+ $851 = HEAP32[$850>>2]|0;
+ $852 = $848 ^ $851;
+ $853 = $826 & 255;
+ $854 = (((($0)) + 1024|0) + ($853<<2)|0);
+ $855 = HEAP32[$854>>2]|0;
+ $856 = $825 >>> 9;
+ $857 = $856 & 255;
+ $858 = (((($0)) + 2048|0) + ($857<<2)|0);
+ $859 = HEAP32[$858>>2]|0;
+ $860 = $859 ^ $855;
+ $861 = $825 >>> 17;
+ $862 = $861 & 255;
+ $863 = (((($0)) + 3072|0) + ($862<<2)|0);
+ $864 = HEAP32[$863>>2]|0;
+ $865 = $860 ^ $864;
+ $866 = $828 >>> 24;
+ $867 = (($0) + ($866<<2)|0);
+ $868 = HEAP32[$867>>2]|0;
+ $869 = $865 ^ $868;
+ $870 = (($869) + ($852))|0;
+ $871 = ((($0)) + 4132|0);
+ $872 = HEAP32[$871>>2]|0;
+ $873 = (($872) + ($869))|0;
+ $874 = (($873) + ($870))|0;
+ $875 = $874 ^ $778;
+ $876 = $875 >>> 1;
+ $877 = $875 << 31;
+ $878 = $876 | $877;
+ $879 = $785 << 1;
+ $880 = $785 >>> 31;
+ $881 = $879 | $880;
+ $882 = ((($0)) + 4128|0);
+ $883 = HEAP32[$882>>2]|0;
+ $884 = (($870) + ($883))|0;
+ $885 = $884 ^ $881;
+ $886 = ((($0)) + 4096|0);
+ $887 = HEAP32[$886>>2]|0;
+ $888 = $887 ^ $835;
+ $889 = $888 >>> 24;
+ $890 = $889&255;
+ $891 = ((($1)) + 3|0);
+ HEAP8[$891>>0] = $890;
+ $892 = $888 >>> 16;
+ $893 = $892&255;
+ $894 = ((($1)) + 2|0);
+ HEAP8[$894>>0] = $893;
+ $895 = $888 >>> 8;
+ $896 = $895&255;
+ $897 = ((($1)) + 1|0);
+ HEAP8[$897>>0] = $896;
+ $898 = $888&255;
+ HEAP8[$1>>0] = $898;
+ $899 = ((($0)) + 4100|0);
+ $900 = HEAP32[$899>>2]|0;
+ $901 = $900 ^ $828;
+ $902 = ((($1)) + 4|0);
+ $903 = $901 >>> 24;
+ $904 = $903&255;
+ $905 = ((($1)) + 7|0);
+ HEAP8[$905>>0] = $904;
+ $906 = $901 >>> 16;
+ $907 = $906&255;
+ $908 = ((($1)) + 6|0);
+ HEAP8[$908>>0] = $907;
+ $909 = $901 >>> 8;
+ $910 = $909&255;
+ $911 = ((($1)) + 5|0);
+ HEAP8[$911>>0] = $910;
+ $912 = $901&255;
+ HEAP8[$902>>0] = $912;
+ $913 = ((($0)) + 4104|0);
+ $914 = HEAP32[$913>>2]|0;
+ $915 = $885 ^ $914;
+ $916 = ((($1)) + 8|0);
+ $917 = $915 >>> 24;
+ $918 = $917&255;
+ $919 = ((($1)) + 11|0);
+ HEAP8[$919>>0] = $918;
+ $920 = $915 >>> 16;
+ $921 = $920&255;
+ $922 = ((($1)) + 10|0);
+ HEAP8[$922>>0] = $921;
+ $923 = $915 >>> 8;
+ $924 = $923&255;
+ $925 = ((($1)) + 9|0);
+ HEAP8[$925>>0] = $924;
+ $926 = $915&255;
+ HEAP8[$916>>0] = $926;
+ $927 = ((($0)) + 4108|0);
+ $928 = HEAP32[$927>>2]|0;
+ $929 = $928 ^ $878;
+ $930 = ((($1)) + 12|0);
+ $931 = $929 >>> 24;
+ $932 = $931&255;
+ $933 = ((($1)) + 15|0);
+ HEAP8[$933>>0] = $932;
+ $934 = $929 >>> 16;
+ $935 = $934&255;
+ $936 = ((($1)) + 14|0);
+ HEAP8[$936>>0] = $935;
+ $937 = $929 >>> 8;
+ $938 = $937&255;
+ $939 = ((($1)) + 13|0);
+ HEAP8[$939>>0] = $938;
+ $940 = $929&255;
+ HEAP8[$930>>0] = $940;
+ return 36;
+}
+function _do_twofish_setkey($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$0$i$ph = 0, $$0$i1914 = 0, $$01787 = 0, $$01795 = 0, $$01803 = 0, $$01819 = 0, $$01827 = 0, $$01835 = 0, $$01851 = 0, $$01859 = 0, $$01867 = 0, $$01883 = 0, $$01891 = 0, $$01899 = 0, $$019071917 = 0, $$019091916 = 0, $$019111915 = 0, $$01913 = 0, $$1 = 0, $$11788 = 0;
+ var $$11796 = 0, $$11804 = 0, $$11812 = 0, $$11820 = 0, $$11828 = 0, $$11836 = 0, $$11844 = 0, $$11852 = 0, $$11860 = 0, $$11868 = 0, $$11876 = 0, $$11884 = 0, $$11892 = 0, $$11900 = 0, $$119081920 = 0, $$119101919 = 0, $$119121918 = 0, $$2 = 0, $$21789 = 0, $$21797 = 0;
+ var $$21805 = 0, $$21813 = 0, $$21821 = 0, $$21829 = 0, $$21837 = 0, $$21845 = 0, $$21853 = 0, $$21861 = 0, $$21869 = 0, $$21877 = 0, $$21885 = 0, $$21893 = 0, $$21901 = 0, $$3 = 0, $$31790 = 0, $$31798 = 0, $$31806 = 0, $$31814 = 0, $$31822 = 0, $$31830 = 0;
+ var $$31838 = 0, $$31846 = 0, $$31854 = 0, $$31862 = 0, $$31870 = 0, $$31878 = 0, $$31886 = 0, $$31894 = 0, $$31902 = 0, $$4 = 0, $$41791 = 0, $$41799 = 0, $$41807 = 0, $$41815 = 0, $$41823 = 0, $$41831 = 0, $$41839 = 0, $$41847 = 0, $$41855 = 0, $$41863 = 0;
+ var $$41871 = 0, $$41879 = 0, $$41887 = 0, $$41895 = 0, $$41903 = 0, $$5 = 0, $$51792 = 0, $$51800 = 0, $$51808 = 0, $$51816 = 0, $$51824 = 0, $$51832 = 0, $$51840 = 0, $$51848 = 0, $$51856 = 0, $$51864 = 0, $$51872 = 0, $$51880 = 0, $$51888 = 0, $$51896 = 0;
+ var $$51904 = 0, $$6 = 0, $$61793 = 0, $$61801 = 0, $$61809 = 0, $$61817 = 0, $$61825 = 0, $$61833 = 0, $$61841 = 0, $$61849 = 0, $$61857 = 0, $$61865 = 0, $$61873 = 0, $$61881 = 0, $$61889 = 0, $$61897 = 0, $$61905 = 0, $$7 = 0, $$71794 = 0, $$71802 = 0;
+ var $$71810 = 0, $$71818 = 0, $$71826 = 0, $$71834 = 0, $$71842 = 0, $$71850 = 0, $$71858 = 0, $$71866 = 0, $$71874 = 0, $$71882 = 0, $$71890 = 0, $$71898 = 0, $$71906 = 0, $$pr = 0, $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0, $1003 = 0;
+ var $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, $102 = 0, $1020 = 0, $1021 = 0;
+ var $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, $1038 = 0, $1039 = 0, $104 = 0;
+ var $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, $1056 = 0, $1057 = 0, $1058 = 0;
+ var $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, $1074 = 0, $1075 = 0, $1076 = 0;
+ var $1077 = 0, $1078 = 0, $1079 = 0, $108 = 0, $1080 = 0, $1081 = 0, $1082 = 0, $1083 = 0, $1084 = 0, $1085 = 0, $1086 = 0, $1087 = 0, $1088 = 0, $1089 = 0, $109 = 0, $1090 = 0, $1091 = 0, $1092 = 0, $1093 = 0, $1094 = 0;
+ var $1095 = 0, $1096 = 0, $1097 = 0, $1098 = 0, $1099 = 0, $11 = 0, $110 = 0, $1100 = 0, $1101 = 0, $1102 = 0, $1103 = 0, $1104 = 0, $1105 = 0, $1106 = 0, $1107 = 0, $1108 = 0, $1109 = 0, $111 = 0, $1110 = 0, $1111 = 0;
+ var $1112 = 0, $1113 = 0, $1114 = 0, $1115 = 0, $1116 = 0, $1117 = 0, $1118 = 0, $1119 = 0, $112 = 0, $1120 = 0, $1121 = 0, $1122 = 0, $1123 = 0, $1124 = 0, $1125 = 0, $1126 = 0, $1127 = 0, $1128 = 0, $1129 = 0, $113 = 0;
+ var $1130 = 0, $1131 = 0, $1132 = 0, $1133 = 0, $1134 = 0, $1135 = 0, $1136 = 0, $1137 = 0, $1138 = 0, $1139 = 0, $114 = 0, $1140 = 0, $1141 = 0, $1142 = 0, $1143 = 0, $1144 = 0, $1145 = 0, $1146 = 0, $1147 = 0, $1148 = 0;
+ var $1149 = 0, $115 = 0, $1150 = 0, $1151 = 0, $1152 = 0, $1153 = 0, $1154 = 0, $1155 = 0, $1156 = 0, $1157 = 0, $1158 = 0, $1159 = 0, $116 = 0, $1160 = 0, $1161 = 0, $1162 = 0, $1163 = 0, $1164 = 0, $1165 = 0, $1166 = 0;
+ var $1167 = 0, $1168 = 0, $1169 = 0, $117 = 0, $1170 = 0, $1171 = 0, $1172 = 0, $1173 = 0, $1174 = 0, $1175 = 0, $1176 = 0, $1177 = 0, $1178 = 0, $1179 = 0, $118 = 0, $1180 = 0, $1181 = 0, $1182 = 0, $1183 = 0, $1184 = 0;
+ var $1185 = 0, $1186 = 0, $1187 = 0, $1188 = 0, $1189 = 0, $119 = 0, $1190 = 0, $1191 = 0, $1192 = 0, $1193 = 0, $1194 = 0, $1195 = 0, $1196 = 0, $1197 = 0, $1198 = 0, $1199 = 0, $12 = 0, $120 = 0, $1200 = 0, $1201 = 0;
+ var $1202 = 0, $1203 = 0, $1204 = 0, $1205 = 0, $1206 = 0, $1207 = 0, $1208 = 0, $1209 = 0, $121 = 0, $1210 = 0, $1211 = 0, $1212 = 0, $1213 = 0, $1214 = 0, $1215 = 0, $1216 = 0, $1217 = 0, $1218 = 0, $1219 = 0, $122 = 0;
+ var $1220 = 0, $1221 = 0, $1222 = 0, $1223 = 0, $1224 = 0, $1225 = 0, $1226 = 0, $1227 = 0, $1228 = 0, $1229 = 0, $123 = 0, $1230 = 0, $1231 = 0, $1232 = 0, $1233 = 0, $1234 = 0, $1235 = 0, $1236 = 0, $1237 = 0, $1238 = 0;
+ var $1239 = 0, $124 = 0, $1240 = 0, $1241 = 0, $1242 = 0, $1243 = 0, $1244 = 0, $1245 = 0, $1246 = 0, $1247 = 0, $1248 = 0, $1249 = 0, $125 = 0, $1250 = 0, $1251 = 0, $1252 = 0, $1253 = 0, $1254 = 0, $1255 = 0, $1256 = 0;
+ var $1257 = 0, $1258 = 0, $1259 = 0, $126 = 0, $1260 = 0, $1261 = 0, $1262 = 0, $1263 = 0, $1264 = 0, $1265 = 0, $1266 = 0, $1267 = 0, $1268 = 0, $1269 = 0, $127 = 0, $1270 = 0, $1271 = 0, $1272 = 0, $1273 = 0, $1274 = 0;
+ var $1275 = 0, $1276 = 0, $1277 = 0, $1278 = 0, $1279 = 0, $128 = 0, $1280 = 0, $1281 = 0, $1282 = 0, $1283 = 0, $1284 = 0, $1285 = 0, $1286 = 0, $1287 = 0, $1288 = 0, $1289 = 0, $129 = 0, $1290 = 0, $1291 = 0, $1292 = 0;
+ var $1293 = 0, $1294 = 0, $1295 = 0, $1296 = 0, $1297 = 0, $1298 = 0, $1299 = 0, $13 = 0, $130 = 0, $1300 = 0, $1301 = 0, $1302 = 0, $1303 = 0, $1304 = 0, $1305 = 0, $1306 = 0, $1307 = 0, $1308 = 0, $1309 = 0, $131 = 0;
+ var $1310 = 0, $1311 = 0, $1312 = 0, $1313 = 0, $1314 = 0, $1315 = 0, $1316 = 0, $1317 = 0, $1318 = 0, $1319 = 0, $132 = 0, $1320 = 0, $1321 = 0, $1322 = 0, $1323 = 0, $1324 = 0, $1325 = 0, $1326 = 0, $1327 = 0, $1328 = 0;
+ var $1329 = 0, $133 = 0, $1330 = 0, $1331 = 0, $1332 = 0, $1333 = 0, $1334 = 0, $1335 = 0, $1336 = 0, $1337 = 0, $1338 = 0, $1339 = 0, $134 = 0, $1340 = 0, $1341 = 0, $1342 = 0, $1343 = 0, $1344 = 0, $1345 = 0, $1346 = 0;
+ var $1347 = 0, $1348 = 0, $1349 = 0, $135 = 0, $1350 = 0, $1351 = 0, $1352 = 0, $1353 = 0, $1354 = 0, $1355 = 0, $1356 = 0, $1357 = 0, $1358 = 0, $1359 = 0, $136 = 0, $1360 = 0, $1361 = 0, $1362 = 0, $1363 = 0, $1364 = 0;
+ var $1365 = 0, $1366 = 0, $1367 = 0, $1368 = 0, $1369 = 0, $137 = 0, $1370 = 0, $1371 = 0, $1372 = 0, $1373 = 0, $1374 = 0, $1375 = 0, $1376 = 0, $1377 = 0, $1378 = 0, $1379 = 0, $138 = 0, $1380 = 0, $1381 = 0, $1382 = 0;
+ var $1383 = 0, $1384 = 0, $1385 = 0, $1386 = 0, $1387 = 0, $1388 = 0, $1389 = 0, $139 = 0, $1390 = 0, $1391 = 0, $1392 = 0, $1393 = 0, $1394 = 0, $1395 = 0, $1396 = 0, $1397 = 0, $1398 = 0, $1399 = 0, $14 = 0, $140 = 0;
+ var $1400 = 0, $1401 = 0, $1402 = 0, $1403 = 0, $1404 = 0, $1405 = 0, $1406 = 0, $1407 = 0, $1408 = 0, $1409 = 0, $141 = 0, $1410 = 0, $1411 = 0, $1412 = 0, $1413 = 0, $1414 = 0, $1415 = 0, $1416 = 0, $1417 = 0, $1418 = 0;
+ var $1419 = 0, $142 = 0, $1420 = 0, $1421 = 0, $1422 = 0, $1423 = 0, $1424 = 0, $1425 = 0, $1426 = 0, $1427 = 0, $1428 = 0, $1429 = 0, $143 = 0, $1430 = 0, $1431 = 0, $1432 = 0, $1433 = 0, $1434 = 0, $1435 = 0, $1436 = 0;
+ var $1437 = 0, $1438 = 0, $1439 = 0, $144 = 0, $1440 = 0, $1441 = 0, $1442 = 0, $1443 = 0, $1444 = 0, $1445 = 0, $1446 = 0, $1447 = 0, $1448 = 0, $1449 = 0, $145 = 0, $1450 = 0, $1451 = 0, $1452 = 0, $1453 = 0, $1454 = 0;
+ var $1455 = 0, $1456 = 0, $1457 = 0, $1458 = 0, $1459 = 0, $146 = 0, $1460 = 0, $1461 = 0, $1462 = 0, $1463 = 0, $1464 = 0, $1465 = 0, $1466 = 0, $1467 = 0, $1468 = 0, $1469 = 0, $147 = 0, $1470 = 0, $1471 = 0, $1472 = 0;
+ var $1473 = 0, $1474 = 0, $1475 = 0, $1476 = 0, $1477 = 0, $1478 = 0, $1479 = 0, $148 = 0, $1480 = 0, $1481 = 0, $1482 = 0, $1483 = 0, $1484 = 0, $1485 = 0, $1486 = 0, $1487 = 0, $1488 = 0, $1489 = 0, $149 = 0, $1490 = 0;
+ var $1491 = 0, $1492 = 0, $1493 = 0, $1494 = 0, $1495 = 0, $1496 = 0, $1497 = 0, $1498 = 0, $1499 = 0, $15 = 0, $150 = 0, $1500 = 0, $1501 = 0, $1502 = 0, $1503 = 0, $1504 = 0, $1505 = 0, $1506 = 0, $1507 = 0, $1508 = 0;
+ var $1509 = 0, $151 = 0, $1510 = 0, $1511 = 0, $1512 = 0, $1513 = 0, $1514 = 0, $1515 = 0, $1516 = 0, $1517 = 0, $1518 = 0, $1519 = 0, $152 = 0, $1520 = 0, $1521 = 0, $1522 = 0, $1523 = 0, $1524 = 0, $1525 = 0, $1526 = 0;
+ var $1527 = 0, $1528 = 0, $1529 = 0, $153 = 0, $1530 = 0, $1531 = 0, $1532 = 0, $1533 = 0, $1534 = 0, $1535 = 0, $1536 = 0, $1537 = 0, $1538 = 0, $1539 = 0, $154 = 0, $1540 = 0, $1541 = 0, $1542 = 0, $1543 = 0, $1544 = 0;
+ var $1545 = 0, $1546 = 0, $1547 = 0, $1548 = 0, $1549 = 0, $155 = 0, $1550 = 0, $1551 = 0, $1552 = 0, $1553 = 0, $1554 = 0, $1555 = 0, $1556 = 0, $1557 = 0, $1558 = 0, $1559 = 0, $156 = 0, $1560 = 0, $1561 = 0, $1562 = 0;
+ var $1563 = 0, $1564 = 0, $1565 = 0, $1566 = 0, $1567 = 0, $1568 = 0, $1569 = 0, $157 = 0, $1570 = 0, $1571 = 0, $1572 = 0, $1573 = 0, $1574 = 0, $1575 = 0, $1576 = 0, $1577 = 0, $1578 = 0, $1579 = 0, $158 = 0, $1580 = 0;
+ var $1581 = 0, $1582 = 0, $1583 = 0, $1584 = 0, $1585 = 0, $1586 = 0, $1587 = 0, $1588 = 0, $1589 = 0, $159 = 0, $1590 = 0, $1591 = 0, $1592 = 0, $1593 = 0, $1594 = 0, $1595 = 0, $1596 = 0, $1597 = 0, $1598 = 0, $1599 = 0;
+ var $16 = 0, $160 = 0, $1600 = 0, $1601 = 0, $1602 = 0, $1603 = 0, $1604 = 0, $1605 = 0, $1606 = 0, $1607 = 0, $1608 = 0, $1609 = 0, $161 = 0, $1610 = 0, $1611 = 0, $1612 = 0, $1613 = 0, $1614 = 0, $1615 = 0, $1616 = 0;
+ var $1617 = 0, $1618 = 0, $1619 = 0, $162 = 0, $1620 = 0, $1621 = 0, $1622 = 0, $1623 = 0, $1624 = 0, $1625 = 0, $1626 = 0, $1627 = 0, $1628 = 0, $1629 = 0, $163 = 0, $1630 = 0, $1631 = 0, $1632 = 0, $1633 = 0, $1634 = 0;
+ var $1635 = 0, $1636 = 0, $1637 = 0, $1638 = 0, $1639 = 0, $164 = 0, $1640 = 0, $1641 = 0, $1642 = 0, $1643 = 0, $1644 = 0, $1645 = 0, $1646 = 0, $1647 = 0, $1648 = 0, $1649 = 0, $165 = 0, $1650 = 0, $1651 = 0, $1652 = 0;
+ var $1653 = 0, $1654 = 0, $1655 = 0, $1656 = 0, $1657 = 0, $1658 = 0, $1659 = 0, $166 = 0, $1660 = 0, $1661 = 0, $1662 = 0, $1663 = 0, $1664 = 0, $1665 = 0, $1666 = 0, $1667 = 0, $1668 = 0, $1669 = 0, $167 = 0, $1670 = 0;
+ var $1671 = 0, $1672 = 0, $1673 = 0, $1674 = 0, $1675 = 0, $1676 = 0, $1677 = 0, $1678 = 0, $1679 = 0, $168 = 0, $1680 = 0, $1681 = 0, $1682 = 0, $1683 = 0, $1684 = 0, $1685 = 0, $1686 = 0, $1687 = 0, $1688 = 0, $1689 = 0;
+ var $169 = 0, $1690 = 0, $1691 = 0, $1692 = 0, $1693 = 0, $1694 = 0, $1695 = 0, $1696 = 0, $1697 = 0, $1698 = 0, $1699 = 0, $17 = 0, $170 = 0, $1700 = 0, $1701 = 0, $1702 = 0, $1703 = 0, $1704 = 0, $1705 = 0, $1706 = 0;
+ var $1707 = 0, $1708 = 0, $1709 = 0, $171 = 0, $1710 = 0, $1711 = 0, $1712 = 0, $1713 = 0, $1714 = 0, $1715 = 0, $1716 = 0, $1717 = 0, $1718 = 0, $1719 = 0, $172 = 0, $1720 = 0, $1721 = 0, $1722 = 0, $1723 = 0, $1724 = 0;
+ var $1725 = 0, $1726 = 0, $1727 = 0, $1728 = 0, $1729 = 0, $173 = 0, $1730 = 0, $1731 = 0, $1732 = 0, $1733 = 0, $1734 = 0, $1735 = 0, $1736 = 0, $1737 = 0, $1738 = 0, $1739 = 0, $174 = 0, $1740 = 0, $1741 = 0, $1742 = 0;
+ var $1743 = 0, $1744 = 0, $1745 = 0, $1746 = 0, $1747 = 0, $1748 = 0, $1749 = 0, $175 = 0, $1750 = 0, $1751 = 0, $1752 = 0, $1753 = 0, $1754 = 0, $1755 = 0, $1756 = 0, $1757 = 0, $1758 = 0, $1759 = 0, $176 = 0, $1760 = 0;
+ var $1761 = 0, $1762 = 0, $1763 = 0, $1764 = 0, $1765 = 0, $1766 = 0, $1767 = 0, $1768 = 0, $1769 = 0, $177 = 0, $1770 = 0, $1771 = 0, $1772 = 0, $1773 = 0, $1774 = 0, $1775 = 0, $1776 = 0, $1777 = 0, $1778 = 0, $1779 = 0;
+ var $178 = 0, $1780 = 0, $1781 = 0, $1782 = 0, $1783 = 0, $1784 = 0, $1785 = 0, $1786 = 0, $1787 = 0, $1788 = 0, $1789 = 0, $179 = 0, $1790 = 0, $1791 = 0, $1792 = 0, $1793 = 0, $1794 = 0, $1795 = 0, $1796 = 0, $1797 = 0;
+ var $1798 = 0, $1799 = 0, $18 = 0, $180 = 0, $1800 = 0, $1801 = 0, $1802 = 0, $1803 = 0, $1804 = 0, $1805 = 0, $1806 = 0, $1807 = 0, $1808 = 0, $1809 = 0, $181 = 0, $1810 = 0, $1811 = 0, $1812 = 0, $1813 = 0, $1814 = 0;
+ var $1815 = 0, $1816 = 0, $1817 = 0, $1818 = 0, $1819 = 0, $182 = 0, $1820 = 0, $1821 = 0, $1822 = 0, $1823 = 0, $1824 = 0, $1825 = 0, $1826 = 0, $1827 = 0, $1828 = 0, $1829 = 0, $183 = 0, $1830 = 0, $1831 = 0, $1832 = 0;
+ var $1833 = 0, $1834 = 0, $1835 = 0, $1836 = 0, $1837 = 0, $1838 = 0, $1839 = 0, $184 = 0, $1840 = 0, $1841 = 0, $1842 = 0, $1843 = 0, $1844 = 0, $1845 = 0, $1846 = 0, $1847 = 0, $1848 = 0, $1849 = 0, $185 = 0, $1850 = 0;
+ var $1851 = 0, $1852 = 0, $1853 = 0, $1854 = 0, $1855 = 0, $1856 = 0, $1857 = 0, $1858 = 0, $1859 = 0, $186 = 0, $1860 = 0, $1861 = 0, $1862 = 0, $1863 = 0, $1864 = 0, $1865 = 0, $1866 = 0, $1867 = 0, $1868 = 0, $1869 = 0;
+ var $187 = 0, $1870 = 0, $1871 = 0, $1872 = 0, $1873 = 0, $1874 = 0, $1875 = 0, $1876 = 0, $1877 = 0, $1878 = 0, $1879 = 0, $188 = 0, $1880 = 0, $1881 = 0, $1882 = 0, $1883 = 0, $1884 = 0, $1885 = 0, $1886 = 0, $1887 = 0;
+ var $1888 = 0, $1889 = 0, $189 = 0, $1890 = 0, $1891 = 0, $1892 = 0, $1893 = 0, $1894 = 0, $1895 = 0, $1896 = 0, $1897 = 0, $1898 = 0, $1899 = 0, $19 = 0, $190 = 0, $1900 = 0, $1901 = 0, $1902 = 0, $1903 = 0, $1904 = 0;
+ var $1905 = 0, $1906 = 0, $1907 = 0, $1908 = 0, $1909 = 0, $191 = 0, $1910 = 0, $1911 = 0, $1912 = 0, $1913 = 0, $1914 = 0, $1915 = 0, $1916 = 0, $1917 = 0, $1918 = 0, $1919 = 0, $192 = 0, $1920 = 0, $1921 = 0, $1922 = 0;
+ var $1923 = 0, $1924 = 0, $1925 = 0, $1926 = 0, $1927 = 0, $1928 = 0, $1929 = 0, $193 = 0, $1930 = 0, $1931 = 0, $1932 = 0, $1933 = 0, $1934 = 0, $1935 = 0, $1936 = 0, $1937 = 0, $1938 = 0, $1939 = 0, $194 = 0, $1940 = 0;
+ var $1941 = 0, $1942 = 0, $1943 = 0, $1944 = 0, $1945 = 0, $1946 = 0, $1947 = 0, $1948 = 0, $1949 = 0, $195 = 0, $1950 = 0, $1951 = 0, $1952 = 0, $1953 = 0, $1954 = 0, $1955 = 0, $1956 = 0, $1957 = 0, $1958 = 0, $1959 = 0;
+ var $196 = 0, $1960 = 0, $1961 = 0, $1962 = 0, $1963 = 0, $1964 = 0, $1965 = 0, $1966 = 0, $1967 = 0, $1968 = 0, $1969 = 0, $197 = 0, $1970 = 0, $1971 = 0, $1972 = 0, $1973 = 0, $1974 = 0, $1975 = 0, $1976 = 0, $1977 = 0;
+ var $1978 = 0, $1979 = 0, $198 = 0, $1980 = 0, $1981 = 0, $1982 = 0, $1983 = 0, $1984 = 0, $1985 = 0, $1986 = 0, $1987 = 0, $1988 = 0, $1989 = 0, $199 = 0, $1990 = 0, $1991 = 0, $1992 = 0, $1993 = 0, $1994 = 0, $1995 = 0;
+ var $1996 = 0, $1997 = 0, $1998 = 0, $1999 = 0, $20 = 0, $200 = 0, $2000 = 0, $2001 = 0, $2002 = 0, $2003 = 0, $2004 = 0, $2005 = 0, $2006 = 0, $2007 = 0, $2008 = 0, $2009 = 0, $201 = 0, $2010 = 0, $2011 = 0, $2012 = 0;
+ var $2013 = 0, $2014 = 0, $2015 = 0, $2016 = 0, $2017 = 0, $2018 = 0, $2019 = 0, $202 = 0, $2020 = 0, $2021 = 0, $2022 = 0, $2023 = 0, $2024 = 0, $2025 = 0, $2026 = 0, $2027 = 0, $2028 = 0, $2029 = 0, $203 = 0, $2030 = 0;
+ var $2031 = 0, $2032 = 0, $2033 = 0, $2034 = 0, $2035 = 0, $2036 = 0, $2037 = 0, $2038 = 0, $2039 = 0, $204 = 0, $2040 = 0, $2041 = 0, $2042 = 0, $2043 = 0, $2044 = 0, $2045 = 0, $2046 = 0, $2047 = 0, $2048 = 0, $2049 = 0;
+ var $205 = 0, $2050 = 0, $2051 = 0, $2052 = 0, $2053 = 0, $2054 = 0, $2055 = 0, $2056 = 0, $2057 = 0, $2058 = 0, $2059 = 0, $206 = 0, $2060 = 0, $2061 = 0, $2062 = 0, $2063 = 0, $2064 = 0, $2065 = 0, $2066 = 0, $2067 = 0;
+ var $2068 = 0, $2069 = 0, $207 = 0, $2070 = 0, $2071 = 0, $2072 = 0, $2073 = 0, $2074 = 0, $2075 = 0, $2076 = 0, $2077 = 0, $2078 = 0, $2079 = 0, $208 = 0, $2080 = 0, $2081 = 0, $2082 = 0, $2083 = 0, $2084 = 0, $2085 = 0;
+ var $2086 = 0, $2087 = 0, $2088 = 0, $2089 = 0, $209 = 0, $2090 = 0, $2091 = 0, $2092 = 0, $2093 = 0, $2094 = 0, $2095 = 0, $2096 = 0, $2097 = 0, $2098 = 0, $2099 = 0, $21 = 0, $210 = 0, $2100 = 0, $2101 = 0, $2102 = 0;
+ var $2103 = 0, $2104 = 0, $2105 = 0, $2106 = 0, $2107 = 0, $2108 = 0, $2109 = 0, $211 = 0, $2110 = 0, $2111 = 0, $2112 = 0, $2113 = 0, $2114 = 0, $2115 = 0, $2116 = 0, $2117 = 0, $2118 = 0, $2119 = 0, $212 = 0, $2120 = 0;
+ var $2121 = 0, $2122 = 0, $2123 = 0, $2124 = 0, $2125 = 0, $2126 = 0, $2127 = 0, $2128 = 0, $2129 = 0, $213 = 0, $2130 = 0, $2131 = 0, $2132 = 0, $2133 = 0, $2134 = 0, $2135 = 0, $2136 = 0, $2137 = 0, $2138 = 0, $2139 = 0;
+ var $214 = 0, $2140 = 0, $2141 = 0, $2142 = 0, $2143 = 0, $2144 = 0, $2145 = 0, $2146 = 0, $2147 = 0, $2148 = 0, $2149 = 0, $215 = 0, $2150 = 0, $2151 = 0, $2152 = 0, $2153 = 0, $2154 = 0, $2155 = 0, $2156 = 0, $2157 = 0;
+ var $2158 = 0, $2159 = 0, $216 = 0, $2160 = 0, $2161 = 0, $2162 = 0, $2163 = 0, $2164 = 0, $2165 = 0, $2166 = 0, $2167 = 0, $2168 = 0, $2169 = 0, $217 = 0, $2170 = 0, $2171 = 0, $2172 = 0, $2173 = 0, $2174 = 0, $2175 = 0;
+ var $2176 = 0, $2177 = 0, $2178 = 0, $2179 = 0, $218 = 0, $2180 = 0, $2181 = 0, $2182 = 0, $2183 = 0, $2184 = 0, $2185 = 0, $2186 = 0, $2187 = 0, $2188 = 0, $2189 = 0, $219 = 0, $2190 = 0, $2191 = 0, $2192 = 0, $2193 = 0;
+ var $2194 = 0, $2195 = 0, $2196 = 0, $2197 = 0, $2198 = 0, $2199 = 0, $22 = 0, $220 = 0, $2200 = 0, $2201 = 0, $2202 = 0, $2203 = 0, $2204 = 0, $2205 = 0, $2206 = 0, $2207 = 0, $2208 = 0, $2209 = 0, $221 = 0, $2210 = 0;
+ var $2211 = 0, $2212 = 0, $2213 = 0, $2214 = 0, $2215 = 0, $2216 = 0, $2217 = 0, $2218 = 0, $2219 = 0, $222 = 0, $2220 = 0, $2221 = 0, $2222 = 0, $2223 = 0, $2224 = 0, $2225 = 0, $2226 = 0, $2227 = 0, $2228 = 0, $2229 = 0;
+ var $223 = 0, $2230 = 0, $2231 = 0, $2232 = 0, $2233 = 0, $2234 = 0, $2235 = 0, $2236 = 0, $2237 = 0, $2238 = 0, $2239 = 0, $224 = 0, $2240 = 0, $2241 = 0, $2242 = 0, $2243 = 0, $2244 = 0, $2245 = 0, $2246 = 0, $2247 = 0;
+ var $2248 = 0, $2249 = 0, $225 = 0, $2250 = 0, $2251 = 0, $2252 = 0, $2253 = 0, $2254 = 0, $2255 = 0, $2256 = 0, $2257 = 0, $2258 = 0, $2259 = 0, $226 = 0, $2260 = 0, $2261 = 0, $2262 = 0, $2263 = 0, $2264 = 0, $2265 = 0;
+ var $2266 = 0, $2267 = 0, $2268 = 0, $2269 = 0, $227 = 0, $2270 = 0, $2271 = 0, $2272 = 0, $2273 = 0, $2274 = 0, $2275 = 0, $2276 = 0, $2277 = 0, $2278 = 0, $2279 = 0, $228 = 0, $2280 = 0, $2281 = 0, $2282 = 0, $2283 = 0;
+ var $2284 = 0, $2285 = 0, $2286 = 0, $2287 = 0, $2288 = 0, $2289 = 0, $229 = 0, $2290 = 0, $2291 = 0, $2292 = 0, $2293 = 0, $2294 = 0, $2295 = 0, $2296 = 0, $2297 = 0, $2298 = 0, $2299 = 0, $23 = 0, $230 = 0, $2300 = 0;
+ var $2301 = 0, $2302 = 0, $2303 = 0, $2304 = 0, $2305 = 0, $2306 = 0, $2307 = 0, $2308 = 0, $2309 = 0, $231 = 0, $2310 = 0, $2311 = 0, $2312 = 0, $2313 = 0, $2314 = 0, $2315 = 0, $2316 = 0, $2317 = 0, $2318 = 0, $2319 = 0;
+ var $232 = 0, $2320 = 0, $2321 = 0, $2322 = 0, $2323 = 0, $2324 = 0, $2325 = 0, $2326 = 0, $2327 = 0, $2328 = 0, $2329 = 0, $233 = 0, $2330 = 0, $2331 = 0, $2332 = 0, $2333 = 0, $2334 = 0, $2335 = 0, $2336 = 0, $2337 = 0;
+ var $2338 = 0, $2339 = 0, $234 = 0, $2340 = 0, $2341 = 0, $2342 = 0, $2343 = 0, $2344 = 0, $2345 = 0, $2346 = 0, $2347 = 0, $2348 = 0, $2349 = 0, $235 = 0, $2350 = 0, $2351 = 0, $2352 = 0, $2353 = 0, $2354 = 0, $2355 = 0;
+ var $2356 = 0, $2357 = 0, $2358 = 0, $2359 = 0, $236 = 0, $2360 = 0, $2361 = 0, $2362 = 0, $2363 = 0, $2364 = 0, $2365 = 0, $2366 = 0, $2367 = 0, $2368 = 0, $2369 = 0, $237 = 0, $2370 = 0, $2371 = 0, $2372 = 0, $2373 = 0;
+ var $2374 = 0, $2375 = 0, $2376 = 0, $2377 = 0, $2378 = 0, $2379 = 0, $238 = 0, $2380 = 0, $2381 = 0, $2382 = 0, $2383 = 0, $2384 = 0, $2385 = 0, $2386 = 0, $2387 = 0, $2388 = 0, $2389 = 0, $239 = 0, $2390 = 0, $2391 = 0;
+ var $2392 = 0, $2393 = 0, $2394 = 0, $2395 = 0, $2396 = 0, $2397 = 0, $2398 = 0, $2399 = 0, $24 = 0, $240 = 0, $2400 = 0, $2401 = 0, $2402 = 0, $2403 = 0, $2404 = 0, $2405 = 0, $2406 = 0, $2407 = 0, $2408 = 0, $2409 = 0;
+ var $241 = 0, $2410 = 0, $2411 = 0, $2412 = 0, $2413 = 0, $2414 = 0, $2415 = 0, $2416 = 0, $2417 = 0, $2418 = 0, $2419 = 0, $242 = 0, $2420 = 0, $2421 = 0, $2422 = 0, $2423 = 0, $2424 = 0, $2425 = 0, $2426 = 0, $2427 = 0;
+ var $2428 = 0, $2429 = 0, $243 = 0, $2430 = 0, $2431 = 0, $2432 = 0, $2433 = 0, $2434 = 0, $2435 = 0, $2436 = 0, $2437 = 0, $2438 = 0, $2439 = 0, $244 = 0, $2440 = 0, $2441 = 0, $2442 = 0, $2443 = 0, $2444 = 0, $2445 = 0;
+ var $2446 = 0, $2447 = 0, $2448 = 0, $2449 = 0, $245 = 0, $2450 = 0, $2451 = 0, $2452 = 0, $2453 = 0, $2454 = 0, $2455 = 0, $2456 = 0, $2457 = 0, $2458 = 0, $2459 = 0, $246 = 0, $2460 = 0, $2461 = 0, $2462 = 0, $2463 = 0;
+ var $2464 = 0, $2465 = 0, $2466 = 0, $2467 = 0, $2468 = 0, $2469 = 0, $247 = 0, $2470 = 0, $2471 = 0, $2472 = 0, $2473 = 0, $2474 = 0, $2475 = 0, $2476 = 0, $2477 = 0, $2478 = 0, $2479 = 0, $248 = 0, $2480 = 0, $2481 = 0;
+ var $2482 = 0, $2483 = 0, $2484 = 0, $2485 = 0, $2486 = 0, $2487 = 0, $2488 = 0, $2489 = 0, $249 = 0, $2490 = 0, $2491 = 0, $2492 = 0, $2493 = 0, $2494 = 0, $2495 = 0, $2496 = 0, $2497 = 0, $2498 = 0, $2499 = 0, $25 = 0;
+ var $250 = 0, $2500 = 0, $2501 = 0, $2502 = 0, $2503 = 0, $2504 = 0, $2505 = 0, $2506 = 0, $2507 = 0, $2508 = 0, $2509 = 0, $251 = 0, $2510 = 0, $2511 = 0, $2512 = 0, $2513 = 0, $2514 = 0, $2515 = 0, $2516 = 0, $2517 = 0;
+ var $2518 = 0, $2519 = 0, $252 = 0, $2520 = 0, $2521 = 0, $2522 = 0, $2523 = 0, $2524 = 0, $2525 = 0, $2526 = 0, $2527 = 0, $2528 = 0, $2529 = 0, $253 = 0, $2530 = 0, $2531 = 0, $2532 = 0, $2533 = 0, $2534 = 0, $2535 = 0;
+ var $2536 = 0, $2537 = 0, $2538 = 0, $2539 = 0, $254 = 0, $2540 = 0, $2541 = 0, $2542 = 0, $2543 = 0, $2544 = 0, $2545 = 0, $2546 = 0, $2547 = 0, $2548 = 0, $2549 = 0, $255 = 0, $2550 = 0, $2551 = 0, $2552 = 0, $2553 = 0;
+ var $2554 = 0, $2555 = 0, $2556 = 0, $2557 = 0, $2558 = 0, $2559 = 0, $256 = 0, $2560 = 0, $2561 = 0, $2562 = 0, $2563 = 0, $2564 = 0, $2565 = 0, $2566 = 0, $2567 = 0, $2568 = 0, $2569 = 0, $257 = 0, $2570 = 0, $2571 = 0;
+ var $2572 = 0, $2573 = 0, $2574 = 0, $2575 = 0, $2576 = 0, $2577 = 0, $2578 = 0, $2579 = 0, $258 = 0, $2580 = 0, $2581 = 0, $2582 = 0, $2583 = 0, $2584 = 0, $2585 = 0, $2586 = 0, $2587 = 0, $2588 = 0, $2589 = 0, $259 = 0;
+ var $2590 = 0, $2591 = 0, $2592 = 0, $2593 = 0, $2594 = 0, $2595 = 0, $2596 = 0, $2597 = 0, $2598 = 0, $2599 = 0, $26 = 0, $260 = 0, $2600 = 0, $2601 = 0, $2602 = 0, $2603 = 0, $2604 = 0, $2605 = 0, $2606 = 0, $2607 = 0;
+ var $2608 = 0, $2609 = 0, $261 = 0, $2610 = 0, $2611 = 0, $2612 = 0, $2613 = 0, $2614 = 0, $2615 = 0, $2616 = 0, $2617 = 0, $2618 = 0, $2619 = 0, $262 = 0, $2620 = 0, $2621 = 0, $2622 = 0, $2623 = 0, $2624 = 0, $2625 = 0;
+ var $2626 = 0, $2627 = 0, $2628 = 0, $2629 = 0, $263 = 0, $2630 = 0, $2631 = 0, $2632 = 0, $2633 = 0, $2634 = 0, $2635 = 0, $2636 = 0, $2637 = 0, $2638 = 0, $2639 = 0, $264 = 0, $2640 = 0, $2641 = 0, $2642 = 0, $2643 = 0;
+ var $2644 = 0, $2645 = 0, $2646 = 0, $2647 = 0, $2648 = 0, $2649 = 0, $265 = 0, $2650 = 0, $2651 = 0, $2652 = 0, $2653 = 0, $2654 = 0, $2655 = 0, $2656 = 0, $2657 = 0, $2658 = 0, $2659 = 0, $266 = 0, $2660 = 0, $2661 = 0;
+ var $2662 = 0, $2663 = 0, $2664 = 0, $2665 = 0, $2666 = 0, $2667 = 0, $2668 = 0, $2669 = 0, $267 = 0, $2670 = 0, $2671 = 0, $2672 = 0, $2673 = 0, $2674 = 0, $2675 = 0, $2676 = 0, $2677 = 0, $2678 = 0, $2679 = 0, $268 = 0;
+ var $2680 = 0, $2681 = 0, $2682 = 0, $2683 = 0, $2684 = 0, $2685 = 0, $2686 = 0, $2687 = 0, $2688 = 0, $2689 = 0, $269 = 0, $2690 = 0, $2691 = 0, $2692 = 0, $2693 = 0, $2694 = 0, $2695 = 0, $2696 = 0, $2697 = 0, $2698 = 0;
+ var $2699 = 0, $27 = 0, $270 = 0, $2700 = 0, $2701 = 0, $2702 = 0, $2703 = 0, $2704 = 0, $2705 = 0, $2706 = 0, $2707 = 0, $2708 = 0, $2709 = 0, $271 = 0, $2710 = 0, $2711 = 0, $2712 = 0, $2713 = 0, $2714 = 0, $2715 = 0;
+ var $2716 = 0, $2717 = 0, $2718 = 0, $2719 = 0, $272 = 0, $2720 = 0, $2721 = 0, $2722 = 0, $2723 = 0, $2724 = 0, $2725 = 0, $2726 = 0, $2727 = 0, $2728 = 0, $2729 = 0, $273 = 0, $2730 = 0, $2731 = 0, $2732 = 0, $2733 = 0;
+ var $2734 = 0, $2735 = 0, $2736 = 0, $2737 = 0, $2738 = 0, $2739 = 0, $274 = 0, $2740 = 0, $2741 = 0, $2742 = 0, $2743 = 0, $2744 = 0, $2745 = 0, $2746 = 0, $2747 = 0, $2748 = 0, $2749 = 0, $275 = 0, $2750 = 0, $2751 = 0;
+ var $2752 = 0, $2753 = 0, $2754 = 0, $2755 = 0, $2756 = 0, $2757 = 0, $2758 = 0, $2759 = 0, $276 = 0, $2760 = 0, $2761 = 0, $2762 = 0, $2763 = 0, $2764 = 0, $2765 = 0, $2766 = 0, $2767 = 0, $2768 = 0, $2769 = 0, $277 = 0;
+ var $2770 = 0, $2771 = 0, $2772 = 0, $2773 = 0, $2774 = 0, $2775 = 0, $2776 = 0, $2777 = 0, $2778 = 0, $2779 = 0, $278 = 0, $2780 = 0, $2781 = 0, $2782 = 0, $2783 = 0, $2784 = 0, $2785 = 0, $2786 = 0, $2787 = 0, $2788 = 0;
+ var $2789 = 0, $279 = 0, $2790 = 0, $2791 = 0, $2792 = 0, $2793 = 0, $2794 = 0, $2795 = 0, $2796 = 0, $2797 = 0, $2798 = 0, $2799 = 0, $28 = 0, $280 = 0, $2800 = 0, $2801 = 0, $2802 = 0, $2803 = 0, $2804 = 0, $2805 = 0;
+ var $2806 = 0, $2807 = 0, $2808 = 0, $2809 = 0, $281 = 0, $2810 = 0, $2811 = 0, $2812 = 0, $2813 = 0, $2814 = 0, $2815 = 0, $2816 = 0, $2817 = 0, $2818 = 0, $2819 = 0, $282 = 0, $2820 = 0, $2821 = 0, $2822 = 0, $2823 = 0;
+ var $2824 = 0, $2825 = 0, $2826 = 0, $2827 = 0, $2828 = 0, $2829 = 0, $283 = 0, $2830 = 0, $2831 = 0, $2832 = 0, $2833 = 0, $2834 = 0, $2835 = 0, $2836 = 0, $2837 = 0, $2838 = 0, $2839 = 0, $284 = 0, $2840 = 0, $2841 = 0;
+ var $2842 = 0, $2843 = 0, $2844 = 0, $2845 = 0, $2846 = 0, $2847 = 0, $2848 = 0, $2849 = 0, $285 = 0, $2850 = 0, $2851 = 0, $2852 = 0, $2853 = 0, $2854 = 0, $2855 = 0, $2856 = 0, $2857 = 0, $2858 = 0, $2859 = 0, $286 = 0;
+ var $2860 = 0, $2861 = 0, $2862 = 0, $2863 = 0, $2864 = 0, $2865 = 0, $2866 = 0, $2867 = 0, $2868 = 0, $2869 = 0, $287 = 0, $2870 = 0, $2871 = 0, $2872 = 0, $2873 = 0, $2874 = 0, $2875 = 0, $2876 = 0, $2877 = 0, $2878 = 0;
+ var $2879 = 0, $288 = 0, $2880 = 0, $2881 = 0, $2882 = 0, $2883 = 0, $2884 = 0, $2885 = 0, $2886 = 0, $2887 = 0, $2888 = 0, $2889 = 0, $289 = 0, $2890 = 0, $2891 = 0, $2892 = 0, $2893 = 0, $2894 = 0, $2895 = 0, $2896 = 0;
+ var $2897 = 0, $2898 = 0, $2899 = 0, $29 = 0, $290 = 0, $2900 = 0, $2901 = 0, $2902 = 0, $2903 = 0, $2904 = 0, $2905 = 0, $2906 = 0, $2907 = 0, $2908 = 0, $2909 = 0, $291 = 0, $2910 = 0, $2911 = 0, $2912 = 0, $2913 = 0;
+ var $2914 = 0, $2915 = 0, $2916 = 0, $2917 = 0, $2918 = 0, $2919 = 0, $292 = 0, $2920 = 0, $2921 = 0, $2922 = 0, $2923 = 0, $2924 = 0, $2925 = 0, $2926 = 0, $2927 = 0, $2928 = 0, $2929 = 0, $293 = 0, $2930 = 0, $2931 = 0;
+ var $2932 = 0, $2933 = 0, $2934 = 0, $2935 = 0, $2936 = 0, $2937 = 0, $2938 = 0, $2939 = 0, $294 = 0, $2940 = 0, $2941 = 0, $2942 = 0, $2943 = 0, $2944 = 0, $2945 = 0, $2946 = 0, $2947 = 0, $2948 = 0, $2949 = 0, $295 = 0;
+ var $2950 = 0, $2951 = 0, $2952 = 0, $2953 = 0, $2954 = 0, $2955 = 0, $2956 = 0, $2957 = 0, $2958 = 0, $2959 = 0, $296 = 0, $2960 = 0, $2961 = 0, $2962 = 0, $2963 = 0, $2964 = 0, $2965 = 0, $2966 = 0, $2967 = 0, $2968 = 0;
+ var $2969 = 0, $297 = 0, $2970 = 0, $2971 = 0, $2972 = 0, $2973 = 0, $2974 = 0, $2975 = 0, $2976 = 0, $2977 = 0, $2978 = 0, $2979 = 0, $298 = 0, $2980 = 0, $2981 = 0, $2982 = 0, $2983 = 0, $2984 = 0, $2985 = 0, $2986 = 0;
+ var $2987 = 0, $2988 = 0, $2989 = 0, $299 = 0, $2990 = 0, $2991 = 0, $2992 = 0, $2993 = 0, $2994 = 0, $2995 = 0, $2996 = 0, $2997 = 0, $2998 = 0, $2999 = 0, $3 = 0, $30 = 0, $300 = 0, $3000 = 0, $3001 = 0, $3002 = 0;
+ var $3003 = 0, $3004 = 0, $3005 = 0, $3006 = 0, $3007 = 0, $3008 = 0, $3009 = 0, $301 = 0, $3010 = 0, $3011 = 0, $3012 = 0, $3013 = 0, $3014 = 0, $3015 = 0, $3016 = 0, $3017 = 0, $3018 = 0, $3019 = 0, $302 = 0, $3020 = 0;
+ var $3021 = 0, $3022 = 0, $3023 = 0, $3024 = 0, $3025 = 0, $3026 = 0, $3027 = 0, $3028 = 0, $3029 = 0, $303 = 0, $3030 = 0, $3031 = 0, $3032 = 0, $3033 = 0, $3034 = 0, $3035 = 0, $3036 = 0, $3037 = 0, $3038 = 0, $3039 = 0;
+ var $304 = 0, $3040 = 0, $3041 = 0, $3042 = 0, $3043 = 0, $3044 = 0, $3045 = 0, $3046 = 0, $3047 = 0, $3048 = 0, $3049 = 0, $305 = 0, $3050 = 0, $3051 = 0, $3052 = 0, $3053 = 0, $3054 = 0, $3055 = 0, $3056 = 0, $3057 = 0;
+ var $3058 = 0, $3059 = 0, $306 = 0, $3060 = 0, $3061 = 0, $3062 = 0, $3063 = 0, $3064 = 0, $3065 = 0, $3066 = 0, $3067 = 0, $3068 = 0, $3069 = 0, $307 = 0, $3070 = 0, $3071 = 0, $3072 = 0, $3073 = 0, $3074 = 0, $3075 = 0;
+ var $3076 = 0, $3077 = 0, $3078 = 0, $3079 = 0, $308 = 0, $3080 = 0, $3081 = 0, $3082 = 0, $3083 = 0, $3084 = 0, $3085 = 0, $3086 = 0, $3087 = 0, $3088 = 0, $3089 = 0, $309 = 0, $3090 = 0, $3091 = 0, $3092 = 0, $3093 = 0;
+ var $3094 = 0, $3095 = 0, $3096 = 0, $3097 = 0, $3098 = 0, $3099 = 0, $31 = 0, $310 = 0, $3100 = 0, $3101 = 0, $3102 = 0, $3103 = 0, $3104 = 0, $3105 = 0, $3106 = 0, $3107 = 0, $3108 = 0, $3109 = 0, $311 = 0, $3110 = 0;
+ var $3111 = 0, $3112 = 0, $3113 = 0, $3114 = 0, $3115 = 0, $3116 = 0, $3117 = 0, $3118 = 0, $3119 = 0, $312 = 0, $3120 = 0, $3121 = 0, $3122 = 0, $3123 = 0, $3124 = 0, $3125 = 0, $3126 = 0, $3127 = 0, $3128 = 0, $3129 = 0;
+ var $313 = 0, $3130 = 0, $3131 = 0, $3132 = 0, $3133 = 0, $3134 = 0, $3135 = 0, $3136 = 0, $3137 = 0, $3138 = 0, $3139 = 0, $314 = 0, $3140 = 0, $3141 = 0, $3142 = 0, $3143 = 0, $3144 = 0, $3145 = 0, $3146 = 0, $3147 = 0;
+ var $3148 = 0, $3149 = 0, $315 = 0, $3150 = 0, $3151 = 0, $3152 = 0, $3153 = 0, $3154 = 0, $3155 = 0, $3156 = 0, $3157 = 0, $3158 = 0, $3159 = 0, $316 = 0, $3160 = 0, $3161 = 0, $3162 = 0, $3163 = 0, $3164 = 0, $3165 = 0;
+ var $3166 = 0, $3167 = 0, $3168 = 0, $3169 = 0, $317 = 0, $3170 = 0, $3171 = 0, $3172 = 0, $3173 = 0, $3174 = 0, $3175 = 0, $3176 = 0, $3177 = 0, $3178 = 0, $3179 = 0, $318 = 0, $3180 = 0, $3181 = 0, $3182 = 0, $3183 = 0;
+ var $3184 = 0, $3185 = 0, $3186 = 0, $3187 = 0, $3188 = 0, $3189 = 0, $319 = 0, $3190 = 0, $3191 = 0, $3192 = 0, $3193 = 0, $3194 = 0, $3195 = 0, $3196 = 0, $3197 = 0, $3198 = 0, $3199 = 0, $32 = 0, $320 = 0, $3200 = 0;
+ var $3201 = 0, $3202 = 0, $3203 = 0, $3204 = 0, $3205 = 0, $3206 = 0, $3207 = 0, $3208 = 0, $3209 = 0, $321 = 0, $3210 = 0, $3211 = 0, $3212 = 0, $3213 = 0, $3214 = 0, $3215 = 0, $3216 = 0, $3217 = 0, $3218 = 0, $3219 = 0;
+ var $322 = 0, $3220 = 0, $3221 = 0, $3222 = 0, $3223 = 0, $3224 = 0, $3225 = 0, $3226 = 0, $3227 = 0, $3228 = 0, $3229 = 0, $323 = 0, $3230 = 0, $3231 = 0, $3232 = 0, $3233 = 0, $3234 = 0, $3235 = 0, $3236 = 0, $3237 = 0;
+ var $3238 = 0, $3239 = 0, $324 = 0, $3240 = 0, $3241 = 0, $3242 = 0, $3243 = 0, $3244 = 0, $3245 = 0, $3246 = 0, $3247 = 0, $3248 = 0, $3249 = 0, $325 = 0, $3250 = 0, $3251 = 0, $3252 = 0, $3253 = 0, $3254 = 0, $3255 = 0;
+ var $3256 = 0, $3257 = 0, $3258 = 0, $3259 = 0, $326 = 0, $3260 = 0, $3261 = 0, $3262 = 0, $3263 = 0, $3264 = 0, $3265 = 0, $3266 = 0, $3267 = 0, $3268 = 0, $3269 = 0, $327 = 0, $3270 = 0, $3271 = 0, $3272 = 0, $3273 = 0;
+ var $3274 = 0, $3275 = 0, $3276 = 0, $3277 = 0, $3278 = 0, $3279 = 0, $328 = 0, $3280 = 0, $3281 = 0, $3282 = 0, $3283 = 0, $3284 = 0, $3285 = 0, $3286 = 0, $3287 = 0, $3288 = 0, $3289 = 0, $329 = 0, $3290 = 0, $3291 = 0;
+ var $3292 = 0, $3293 = 0, $3294 = 0, $3295 = 0, $3296 = 0, $3297 = 0, $3298 = 0, $3299 = 0, $33 = 0, $330 = 0, $3300 = 0, $3301 = 0, $3302 = 0, $3303 = 0, $3304 = 0, $3305 = 0, $3306 = 0, $3307 = 0, $3308 = 0, $3309 = 0;
+ var $331 = 0, $3310 = 0, $3311 = 0, $3312 = 0, $3313 = 0, $3314 = 0, $3315 = 0, $3316 = 0, $3317 = 0, $3318 = 0, $3319 = 0, $332 = 0, $3320 = 0, $3321 = 0, $3322 = 0, $3323 = 0, $3324 = 0, $3325 = 0, $3326 = 0, $3327 = 0;
+ var $3328 = 0, $3329 = 0, $333 = 0, $3330 = 0, $3331 = 0, $3332 = 0, $3333 = 0, $3334 = 0, $3335 = 0, $3336 = 0, $3337 = 0, $3338 = 0, $3339 = 0, $334 = 0, $3340 = 0, $3341 = 0, $3342 = 0, $3343 = 0, $3344 = 0, $3345 = 0;
+ var $3346 = 0, $3347 = 0, $3348 = 0, $3349 = 0, $335 = 0, $3350 = 0, $3351 = 0, $3352 = 0, $3353 = 0, $3354 = 0, $3355 = 0, $3356 = 0, $3357 = 0, $3358 = 0, $3359 = 0, $336 = 0, $3360 = 0, $3361 = 0, $3362 = 0, $3363 = 0;
+ var $3364 = 0, $3365 = 0, $3366 = 0, $3367 = 0, $3368 = 0, $3369 = 0, $337 = 0, $3370 = 0, $3371 = 0, $3372 = 0, $3373 = 0, $3374 = 0, $3375 = 0, $3376 = 0, $3377 = 0, $3378 = 0, $3379 = 0, $338 = 0, $3380 = 0, $3381 = 0;
+ var $3382 = 0, $3383 = 0, $3384 = 0, $3385 = 0, $3386 = 0, $3387 = 0, $3388 = 0, $3389 = 0, $339 = 0, $3390 = 0, $3391 = 0, $3392 = 0, $3393 = 0, $3394 = 0, $3395 = 0, $3396 = 0, $3397 = 0, $3398 = 0, $3399 = 0, $34 = 0;
+ var $340 = 0, $3400 = 0, $3401 = 0, $3402 = 0, $3403 = 0, $3404 = 0, $3405 = 0, $3406 = 0, $3407 = 0, $3408 = 0, $3409 = 0, $341 = 0, $3410 = 0, $3411 = 0, $3412 = 0, $3413 = 0, $3414 = 0, $3415 = 0, $3416 = 0, $3417 = 0;
+ var $3418 = 0, $3419 = 0, $342 = 0, $3420 = 0, $3421 = 0, $3422 = 0, $3423 = 0, $3424 = 0, $3425 = 0, $3426 = 0, $3427 = 0, $3428 = 0, $3429 = 0, $343 = 0, $3430 = 0, $3431 = 0, $3432 = 0, $3433 = 0, $3434 = 0, $3435 = 0;
+ var $3436 = 0, $3437 = 0, $3438 = 0, $3439 = 0, $344 = 0, $3440 = 0, $3441 = 0, $3442 = 0, $3443 = 0, $3444 = 0, $3445 = 0, $3446 = 0, $3447 = 0, $3448 = 0, $3449 = 0, $345 = 0, $3450 = 0, $3451 = 0, $3452 = 0, $3453 = 0;
+ var $3454 = 0, $3455 = 0, $3456 = 0, $3457 = 0, $3458 = 0, $3459 = 0, $346 = 0, $3460 = 0, $3461 = 0, $3462 = 0, $3463 = 0, $3464 = 0, $3465 = 0, $3466 = 0, $3467 = 0, $3468 = 0, $3469 = 0, $347 = 0, $3470 = 0, $3471 = 0;
+ var $3472 = 0, $3473 = 0, $3474 = 0, $3475 = 0, $3476 = 0, $3477 = 0, $3478 = 0, $3479 = 0, $348 = 0, $3480 = 0, $3481 = 0, $3482 = 0, $3483 = 0, $3484 = 0, $3485 = 0, $3486 = 0, $3487 = 0, $3488 = 0, $3489 = 0, $349 = 0;
+ var $3490 = 0, $3491 = 0, $3492 = 0, $3493 = 0, $3494 = 0, $3495 = 0, $3496 = 0, $3497 = 0, $3498 = 0, $3499 = 0, $35 = 0, $350 = 0, $3500 = 0, $3501 = 0, $3502 = 0, $3503 = 0, $3504 = 0, $3505 = 0, $3506 = 0, $3507 = 0;
+ var $3508 = 0, $3509 = 0, $351 = 0, $3510 = 0, $3511 = 0, $3512 = 0, $3513 = 0, $3514 = 0, $3515 = 0, $3516 = 0, $3517 = 0, $3518 = 0, $3519 = 0, $352 = 0, $3520 = 0, $3521 = 0, $3522 = 0, $3523 = 0, $3524 = 0, $3525 = 0;
+ var $3526 = 0, $3527 = 0, $3528 = 0, $3529 = 0, $353 = 0, $3530 = 0, $3531 = 0, $3532 = 0, $3533 = 0, $3534 = 0, $3535 = 0, $3536 = 0, $3537 = 0, $3538 = 0, $3539 = 0, $354 = 0, $3540 = 0, $3541 = 0, $3542 = 0, $3543 = 0;
+ var $3544 = 0, $3545 = 0, $3546 = 0, $3547 = 0, $3548 = 0, $3549 = 0, $355 = 0, $3550 = 0, $3551 = 0, $3552 = 0, $3553 = 0, $3554 = 0, $3555 = 0, $3556 = 0, $3557 = 0, $3558 = 0, $3559 = 0, $356 = 0, $3560 = 0, $3561 = 0;
+ var $3562 = 0, $3563 = 0, $3564 = 0, $3565 = 0, $3566 = 0, $3567 = 0, $3568 = 0, $3569 = 0, $357 = 0, $3570 = 0, $3571 = 0, $3572 = 0, $3573 = 0, $3574 = 0, $3575 = 0, $3576 = 0, $3577 = 0, $3578 = 0, $3579 = 0, $358 = 0;
+ var $3580 = 0, $3581 = 0, $3582 = 0, $3583 = 0, $3584 = 0, $3585 = 0, $3586 = 0, $3587 = 0, $3588 = 0, $3589 = 0, $359 = 0, $3590 = 0, $3591 = 0, $3592 = 0, $3593 = 0, $3594 = 0, $3595 = 0, $3596 = 0, $3597 = 0, $3598 = 0;
+ var $3599 = 0, $36 = 0, $360 = 0, $3600 = 0, $3601 = 0, $3602 = 0, $3603 = 0, $3604 = 0, $3605 = 0, $3606 = 0, $3607 = 0, $3608 = 0, $3609 = 0, $361 = 0, $3610 = 0, $3611 = 0, $3612 = 0, $3613 = 0, $3614 = 0, $3615 = 0;
+ var $3616 = 0, $3617 = 0, $3618 = 0, $3619 = 0, $362 = 0, $3620 = 0, $3621 = 0, $3622 = 0, $3623 = 0, $3624 = 0, $3625 = 0, $3626 = 0, $3627 = 0, $3628 = 0, $3629 = 0, $363 = 0, $3630 = 0, $3631 = 0, $3632 = 0, $3633 = 0;
+ var $3634 = 0, $3635 = 0, $3636 = 0, $3637 = 0, $3638 = 0, $3639 = 0, $364 = 0, $3640 = 0, $3641 = 0, $3642 = 0, $3643 = 0, $3644 = 0, $3645 = 0, $3646 = 0, $3647 = 0, $3648 = 0, $3649 = 0, $365 = 0, $3650 = 0, $3651 = 0;
+ var $3652 = 0, $3653 = 0, $3654 = 0, $3655 = 0, $3656 = 0, $3657 = 0, $3658 = 0, $3659 = 0, $366 = 0, $3660 = 0, $3661 = 0, $3662 = 0, $3663 = 0, $3664 = 0, $3665 = 0, $3666 = 0, $3667 = 0, $3668 = 0, $3669 = 0, $367 = 0;
+ var $3670 = 0, $3671 = 0, $3672 = 0, $3673 = 0, $3674 = 0, $3675 = 0, $3676 = 0, $3677 = 0, $3678 = 0, $3679 = 0, $368 = 0, $3680 = 0, $3681 = 0, $3682 = 0, $3683 = 0, $3684 = 0, $3685 = 0, $3686 = 0, $3687 = 0, $3688 = 0;
+ var $3689 = 0, $369 = 0, $3690 = 0, $3691 = 0, $3692 = 0, $3693 = 0, $3694 = 0, $3695 = 0, $3696 = 0, $3697 = 0, $3698 = 0, $3699 = 0, $37 = 0, $370 = 0, $3700 = 0, $3701 = 0, $3702 = 0, $3703 = 0, $3704 = 0, $3705 = 0;
+ var $3706 = 0, $3707 = 0, $3708 = 0, $3709 = 0, $371 = 0, $3710 = 0, $3711 = 0, $3712 = 0, $3713 = 0, $3714 = 0, $3715 = 0, $3716 = 0, $3717 = 0, $3718 = 0, $3719 = 0, $372 = 0, $3720 = 0, $3721 = 0, $3722 = 0, $3723 = 0;
+ var $3724 = 0, $3725 = 0, $3726 = 0, $3727 = 0, $3728 = 0, $3729 = 0, $373 = 0, $3730 = 0, $3731 = 0, $3732 = 0, $3733 = 0, $3734 = 0, $3735 = 0, $3736 = 0, $3737 = 0, $3738 = 0, $3739 = 0, $374 = 0, $3740 = 0, $3741 = 0;
+ var $3742 = 0, $3743 = 0, $3744 = 0, $3745 = 0, $3746 = 0, $3747 = 0, $3748 = 0, $3749 = 0, $375 = 0, $3750 = 0, $3751 = 0, $3752 = 0, $3753 = 0, $3754 = 0, $3755 = 0, $3756 = 0, $3757 = 0, $3758 = 0, $3759 = 0, $376 = 0;
+ var $3760 = 0, $3761 = 0, $3762 = 0, $3763 = 0, $3764 = 0, $3765 = 0, $3766 = 0, $3767 = 0, $3768 = 0, $3769 = 0, $377 = 0, $3770 = 0, $3771 = 0, $3772 = 0, $3773 = 0, $3774 = 0, $3775 = 0, $3776 = 0, $3777 = 0, $3778 = 0;
+ var $3779 = 0, $378 = 0, $3780 = 0, $3781 = 0, $3782 = 0, $3783 = 0, $3784 = 0, $3785 = 0, $3786 = 0, $3787 = 0, $3788 = 0, $3789 = 0, $379 = 0, $3790 = 0, $3791 = 0, $3792 = 0, $3793 = 0, $3794 = 0, $3795 = 0, $3796 = 0;
+ var $3797 = 0, $3798 = 0, $3799 = 0, $38 = 0, $380 = 0, $3800 = 0, $3801 = 0, $3802 = 0, $3803 = 0, $3804 = 0, $3805 = 0, $3806 = 0, $3807 = 0, $3808 = 0, $3809 = 0, $381 = 0, $3810 = 0, $3811 = 0, $3812 = 0, $3813 = 0;
+ var $3814 = 0, $3815 = 0, $3816 = 0, $3817 = 0, $3818 = 0, $3819 = 0, $382 = 0, $3820 = 0, $3821 = 0, $3822 = 0, $3823 = 0, $3824 = 0, $3825 = 0, $3826 = 0, $3827 = 0, $3828 = 0, $3829 = 0, $383 = 0, $3830 = 0, $3831 = 0;
+ var $3832 = 0, $3833 = 0, $3834 = 0, $3835 = 0, $3836 = 0, $3837 = 0, $3838 = 0, $3839 = 0, $384 = 0, $3840 = 0, $3841 = 0, $3842 = 0, $3843 = 0, $3844 = 0, $3845 = 0, $3846 = 0, $3847 = 0, $3848 = 0, $3849 = 0, $385 = 0;
+ var $3850 = 0, $3851 = 0, $3852 = 0, $3853 = 0, $3854 = 0, $3855 = 0, $3856 = 0, $3857 = 0, $3858 = 0, $3859 = 0, $386 = 0, $3860 = 0, $3861 = 0, $3862 = 0, $3863 = 0, $3864 = 0, $3865 = 0, $3866 = 0, $3867 = 0, $3868 = 0;
+ var $3869 = 0, $387 = 0, $3870 = 0, $3871 = 0, $3872 = 0, $3873 = 0, $3874 = 0, $3875 = 0, $3876 = 0, $3877 = 0, $3878 = 0, $3879 = 0, $388 = 0, $3880 = 0, $3881 = 0, $3882 = 0, $3883 = 0, $3884 = 0, $3885 = 0, $3886 = 0;
+ var $3887 = 0, $3888 = 0, $3889 = 0, $389 = 0, $3890 = 0, $3891 = 0, $3892 = 0, $3893 = 0, $3894 = 0, $3895 = 0, $3896 = 0, $3897 = 0, $3898 = 0, $3899 = 0, $39 = 0, $390 = 0, $3900 = 0, $3901 = 0, $3902 = 0, $3903 = 0;
+ var $3904 = 0, $3905 = 0, $3906 = 0, $3907 = 0, $3908 = 0, $3909 = 0, $391 = 0, $3910 = 0, $3911 = 0, $3912 = 0, $3913 = 0, $3914 = 0, $3915 = 0, $3916 = 0, $3917 = 0, $3918 = 0, $3919 = 0, $392 = 0, $3920 = 0, $3921 = 0;
+ var $3922 = 0, $3923 = 0, $3924 = 0, $3925 = 0, $3926 = 0, $3927 = 0, $3928 = 0, $3929 = 0, $393 = 0, $3930 = 0, $3931 = 0, $3932 = 0, $3933 = 0, $3934 = 0, $3935 = 0, $3936 = 0, $3937 = 0, $3938 = 0, $3939 = 0, $394 = 0;
+ var $3940 = 0, $3941 = 0, $3942 = 0, $3943 = 0, $3944 = 0, $3945 = 0, $3946 = 0, $3947 = 0, $3948 = 0, $3949 = 0, $395 = 0, $3950 = 0, $3951 = 0, $3952 = 0, $3953 = 0, $3954 = 0, $3955 = 0, $3956 = 0, $3957 = 0, $3958 = 0;
+ var $3959 = 0, $396 = 0, $3960 = 0, $3961 = 0, $3962 = 0, $3963 = 0, $3964 = 0, $3965 = 0, $3966 = 0, $3967 = 0, $3968 = 0, $3969 = 0, $397 = 0, $3970 = 0, $3971 = 0, $3972 = 0, $3973 = 0, $3974 = 0, $3975 = 0, $3976 = 0;
+ var $3977 = 0, $3978 = 0, $3979 = 0, $398 = 0, $3980 = 0, $3981 = 0, $3982 = 0, $3983 = 0, $3984 = 0, $3985 = 0, $3986 = 0, $3987 = 0, $3988 = 0, $3989 = 0, $399 = 0, $3990 = 0, $3991 = 0, $3992 = 0, $3993 = 0, $3994 = 0;
+ var $3995 = 0, $3996 = 0, $3997 = 0, $3998 = 0, $3999 = 0, $4 = 0, $40 = 0, $400 = 0, $4000 = 0, $4001 = 0, $4002 = 0, $4003 = 0, $4004 = 0, $4005 = 0, $4006 = 0, $4007 = 0, $4008 = 0, $4009 = 0, $401 = 0, $4010 = 0;
+ var $4011 = 0, $4012 = 0, $4013 = 0, $4014 = 0, $4015 = 0, $4016 = 0, $4017 = 0, $4018 = 0, $4019 = 0, $402 = 0, $4020 = 0, $4021 = 0, $4022 = 0, $4023 = 0, $4024 = 0, $4025 = 0, $4026 = 0, $4027 = 0, $4028 = 0, $4029 = 0;
+ var $403 = 0, $4030 = 0, $4031 = 0, $4032 = 0, $4033 = 0, $4034 = 0, $4035 = 0, $4036 = 0, $4037 = 0, $4038 = 0, $4039 = 0, $404 = 0, $4040 = 0, $4041 = 0, $4042 = 0, $4043 = 0, $4044 = 0, $4045 = 0, $4046 = 0, $4047 = 0;
+ var $4048 = 0, $4049 = 0, $405 = 0, $4050 = 0, $4051 = 0, $4052 = 0, $4053 = 0, $4054 = 0, $4055 = 0, $4056 = 0, $4057 = 0, $4058 = 0, $4059 = 0, $406 = 0, $4060 = 0, $4061 = 0, $4062 = 0, $4063 = 0, $4064 = 0, $4065 = 0;
+ var $4066 = 0, $4067 = 0, $4068 = 0, $4069 = 0, $407 = 0, $4070 = 0, $4071 = 0, $4072 = 0, $4073 = 0, $4074 = 0, $4075 = 0, $4076 = 0, $4077 = 0, $4078 = 0, $4079 = 0, $408 = 0, $4080 = 0, $4081 = 0, $4082 = 0, $4083 = 0;
+ var $4084 = 0, $4085 = 0, $4086 = 0, $4087 = 0, $4088 = 0, $4089 = 0, $409 = 0, $4090 = 0, $4091 = 0, $4092 = 0, $4093 = 0, $4094 = 0, $4095 = 0, $4096 = 0, $4097 = 0, $4098 = 0, $4099 = 0, $41 = 0, $410 = 0, $4100 = 0;
+ var $4101 = 0, $4102 = 0, $4103 = 0, $4104 = 0, $4105 = 0, $4106 = 0, $4107 = 0, $4108 = 0, $4109 = 0, $411 = 0, $4110 = 0, $4111 = 0, $4112 = 0, $4113 = 0, $4114 = 0, $4115 = 0, $4116 = 0, $4117 = 0, $4118 = 0, $4119 = 0;
+ var $412 = 0, $4120 = 0, $4121 = 0, $4122 = 0, $4123 = 0, $4124 = 0, $4125 = 0, $4126 = 0, $4127 = 0, $4128 = 0, $4129 = 0, $413 = 0, $4130 = 0, $4131 = 0, $4132 = 0, $4133 = 0, $4134 = 0, $4135 = 0, $4136 = 0, $4137 = 0;
+ var $4138 = 0, $4139 = 0, $414 = 0, $4140 = 0, $4141 = 0, $4142 = 0, $4143 = 0, $4144 = 0, $4145 = 0, $4146 = 0, $4147 = 0, $4148 = 0, $4149 = 0, $415 = 0, $4150 = 0, $4151 = 0, $4152 = 0, $4153 = 0, $4154 = 0, $4155 = 0;
+ var $4156 = 0, $4157 = 0, $4158 = 0, $4159 = 0, $416 = 0, $4160 = 0, $4161 = 0, $4162 = 0, $4163 = 0, $4164 = 0, $4165 = 0, $4166 = 0, $4167 = 0, $4168 = 0, $4169 = 0, $417 = 0, $4170 = 0, $4171 = 0, $4172 = 0, $4173 = 0;
+ var $4174 = 0, $4175 = 0, $4176 = 0, $4177 = 0, $4178 = 0, $4179 = 0, $418 = 0, $4180 = 0, $4181 = 0, $4182 = 0, $4183 = 0, $4184 = 0, $4185 = 0, $4186 = 0, $4187 = 0, $4188 = 0, $4189 = 0, $419 = 0, $4190 = 0, $4191 = 0;
+ var $4192 = 0, $4193 = 0, $4194 = 0, $4195 = 0, $4196 = 0, $4197 = 0, $4198 = 0, $4199 = 0, $42 = 0, $420 = 0, $4200 = 0, $4201 = 0, $4202 = 0, $4203 = 0, $4204 = 0, $4205 = 0, $4206 = 0, $4207 = 0, $4208 = 0, $4209 = 0;
+ var $421 = 0, $4210 = 0, $4211 = 0, $4212 = 0, $4213 = 0, $4214 = 0, $4215 = 0, $4216 = 0, $4217 = 0, $4218 = 0, $4219 = 0, $422 = 0, $4220 = 0, $4221 = 0, $4222 = 0, $4223 = 0, $4224 = 0, $4225 = 0, $4226 = 0, $4227 = 0;
+ var $4228 = 0, $4229 = 0, $423 = 0, $4230 = 0, $4231 = 0, $4232 = 0, $4233 = 0, $4234 = 0, $4235 = 0, $4236 = 0, $4237 = 0, $4238 = 0, $4239 = 0, $424 = 0, $4240 = 0, $4241 = 0, $4242 = 0, $4243 = 0, $4244 = 0, $4245 = 0;
+ var $4246 = 0, $4247 = 0, $4248 = 0, $4249 = 0, $425 = 0, $4250 = 0, $4251 = 0, $4252 = 0, $4253 = 0, $4254 = 0, $4255 = 0, $4256 = 0, $4257 = 0, $4258 = 0, $4259 = 0, $426 = 0, $4260 = 0, $4261 = 0, $4262 = 0, $4263 = 0;
+ var $4264 = 0, $4265 = 0, $4266 = 0, $4267 = 0, $4268 = 0, $4269 = 0, $427 = 0, $4270 = 0, $4271 = 0, $4272 = 0, $4273 = 0, $4274 = 0, $4275 = 0, $4276 = 0, $4277 = 0, $4278 = 0, $4279 = 0, $428 = 0, $4280 = 0, $4281 = 0;
+ var $4282 = 0, $4283 = 0, $4284 = 0, $4285 = 0, $4286 = 0, $4287 = 0, $4288 = 0, $4289 = 0, $429 = 0, $4290 = 0, $4291 = 0, $4292 = 0, $4293 = 0, $4294 = 0, $4295 = 0, $4296 = 0, $4297 = 0, $4298 = 0, $4299 = 0, $43 = 0;
+ var $430 = 0, $4300 = 0, $4301 = 0, $4302 = 0, $4303 = 0, $4304 = 0, $4305 = 0, $4306 = 0, $4307 = 0, $4308 = 0, $4309 = 0, $431 = 0, $4310 = 0, $4311 = 0, $4312 = 0, $4313 = 0, $4314 = 0, $4315 = 0, $4316 = 0, $4317 = 0;
+ var $4318 = 0, $4319 = 0, $432 = 0, $4320 = 0, $4321 = 0, $4322 = 0, $4323 = 0, $4324 = 0, $4325 = 0, $4326 = 0, $4327 = 0, $4328 = 0, $4329 = 0, $433 = 0, $4330 = 0, $4331 = 0, $4332 = 0, $4333 = 0, $4334 = 0, $4335 = 0;
+ var $4336 = 0, $4337 = 0, $4338 = 0, $4339 = 0, $434 = 0, $4340 = 0, $4341 = 0, $4342 = 0, $4343 = 0, $4344 = 0, $4345 = 0, $4346 = 0, $4347 = 0, $4348 = 0, $4349 = 0, $435 = 0, $4350 = 0, $4351 = 0, $4352 = 0, $4353 = 0;
+ var $4354 = 0, $4355 = 0, $4356 = 0, $4357 = 0, $4358 = 0, $4359 = 0, $436 = 0, $4360 = 0, $4361 = 0, $4362 = 0, $4363 = 0, $4364 = 0, $4365 = 0, $4366 = 0, $4367 = 0, $4368 = 0, $4369 = 0, $437 = 0, $4370 = 0, $4371 = 0;
+ var $4372 = 0, $4373 = 0, $4374 = 0, $4375 = 0, $4376 = 0, $4377 = 0, $4378 = 0, $4379 = 0, $438 = 0, $4380 = 0, $4381 = 0, $4382 = 0, $4383 = 0, $4384 = 0, $4385 = 0, $4386 = 0, $4387 = 0, $4388 = 0, $4389 = 0, $439 = 0;
+ var $4390 = 0, $4391 = 0, $4392 = 0, $4393 = 0, $4394 = 0, $4395 = 0, $4396 = 0, $4397 = 0, $4398 = 0, $4399 = 0, $44 = 0, $440 = 0, $4400 = 0, $4401 = 0, $4402 = 0, $4403 = 0, $4404 = 0, $4405 = 0, $4406 = 0, $4407 = 0;
+ var $4408 = 0, $4409 = 0, $441 = 0, $4410 = 0, $4411 = 0, $4412 = 0, $4413 = 0, $4414 = 0, $4415 = 0, $4416 = 0, $4417 = 0, $4418 = 0, $4419 = 0, $442 = 0, $4420 = 0, $4421 = 0, $4422 = 0, $4423 = 0, $4424 = 0, $4425 = 0;
+ var $4426 = 0, $4427 = 0, $4428 = 0, $4429 = 0, $443 = 0, $4430 = 0, $4431 = 0, $4432 = 0, $4433 = 0, $4434 = 0, $4435 = 0, $4436 = 0, $4437 = 0, $4438 = 0, $4439 = 0, $444 = 0, $4440 = 0, $4441 = 0, $4442 = 0, $4443 = 0;
+ var $4444 = 0, $4445 = 0, $4446 = 0, $4447 = 0, $4448 = 0, $4449 = 0, $445 = 0, $4450 = 0, $4451 = 0, $4452 = 0, $4453 = 0, $4454 = 0, $4455 = 0, $4456 = 0, $4457 = 0, $4458 = 0, $4459 = 0, $446 = 0, $4460 = 0, $4461 = 0;
+ var $4462 = 0, $4463 = 0, $4464 = 0, $4465 = 0, $4466 = 0, $4467 = 0, $4468 = 0, $4469 = 0, $447 = 0, $4470 = 0, $4471 = 0, $4472 = 0, $4473 = 0, $4474 = 0, $4475 = 0, $4476 = 0, $4477 = 0, $4478 = 0, $4479 = 0, $448 = 0;
+ var $4480 = 0, $4481 = 0, $4482 = 0, $4483 = 0, $4484 = 0, $4485 = 0, $4486 = 0, $4487 = 0, $4488 = 0, $4489 = 0, $449 = 0, $4490 = 0, $4491 = 0, $4492 = 0, $4493 = 0, $4494 = 0, $4495 = 0, $4496 = 0, $4497 = 0, $4498 = 0;
+ var $4499 = 0, $45 = 0, $450 = 0, $4500 = 0, $4501 = 0, $4502 = 0, $4503 = 0, $4504 = 0, $4505 = 0, $4506 = 0, $4507 = 0, $4508 = 0, $4509 = 0, $451 = 0, $4510 = 0, $4511 = 0, $4512 = 0, $4513 = 0, $4514 = 0, $4515 = 0;
+ var $4516 = 0, $4517 = 0, $4518 = 0, $4519 = 0, $452 = 0, $4520 = 0, $4521 = 0, $4522 = 0, $4523 = 0, $4524 = 0, $4525 = 0, $4526 = 0, $4527 = 0, $4528 = 0, $4529 = 0, $453 = 0, $4530 = 0, $4531 = 0, $4532 = 0, $4533 = 0;
+ var $4534 = 0, $4535 = 0, $4536 = 0, $4537 = 0, $4538 = 0, $4539 = 0, $454 = 0, $4540 = 0, $4541 = 0, $4542 = 0, $4543 = 0, $4544 = 0, $4545 = 0, $4546 = 0, $4547 = 0, $4548 = 0, $4549 = 0, $455 = 0, $4550 = 0, $4551 = 0;
+ var $4552 = 0, $4553 = 0, $4554 = 0, $4555 = 0, $4556 = 0, $4557 = 0, $4558 = 0, $4559 = 0, $456 = 0, $4560 = 0, $4561 = 0, $4562 = 0, $4563 = 0, $4564 = 0, $4565 = 0, $4566 = 0, $4567 = 0, $4568 = 0, $4569 = 0, $457 = 0;
+ var $4570 = 0, $4571 = 0, $4572 = 0, $4573 = 0, $4574 = 0, $4575 = 0, $4576 = 0, $4577 = 0, $4578 = 0, $4579 = 0, $458 = 0, $4580 = 0, $4581 = 0, $4582 = 0, $4583 = 0, $4584 = 0, $4585 = 0, $4586 = 0, $4587 = 0, $4588 = 0;
+ var $4589 = 0, $459 = 0, $4590 = 0, $4591 = 0, $4592 = 0, $4593 = 0, $4594 = 0, $4595 = 0, $4596 = 0, $4597 = 0, $4598 = 0, $4599 = 0, $46 = 0, $460 = 0, $4600 = 0, $4601 = 0, $4602 = 0, $4603 = 0, $4604 = 0, $4605 = 0;
+ var $4606 = 0, $4607 = 0, $4608 = 0, $4609 = 0, $461 = 0, $4610 = 0, $4611 = 0, $4612 = 0, $4613 = 0, $4614 = 0, $4615 = 0, $4616 = 0, $4617 = 0, $4618 = 0, $4619 = 0, $462 = 0, $4620 = 0, $4621 = 0, $4622 = 0, $4623 = 0;
+ var $4624 = 0, $4625 = 0, $4626 = 0, $4627 = 0, $4628 = 0, $4629 = 0, $463 = 0, $4630 = 0, $4631 = 0, $4632 = 0, $4633 = 0, $4634 = 0, $4635 = 0, $4636 = 0, $4637 = 0, $4638 = 0, $4639 = 0, $464 = 0, $4640 = 0, $4641 = 0;
+ var $4642 = 0, $4643 = 0, $4644 = 0, $4645 = 0, $4646 = 0, $4647 = 0, $4648 = 0, $4649 = 0, $465 = 0, $4650 = 0, $4651 = 0, $4652 = 0, $4653 = 0, $4654 = 0, $4655 = 0, $4656 = 0, $4657 = 0, $4658 = 0, $4659 = 0, $466 = 0;
+ var $4660 = 0, $4661 = 0, $4662 = 0, $4663 = 0, $4664 = 0, $4665 = 0, $4666 = 0, $4667 = 0, $4668 = 0, $4669 = 0, $467 = 0, $4670 = 0, $4671 = 0, $4672 = 0, $4673 = 0, $4674 = 0, $4675 = 0, $4676 = 0, $4677 = 0, $4678 = 0;
+ var $4679 = 0, $468 = 0, $4680 = 0, $4681 = 0, $4682 = 0, $4683 = 0, $4684 = 0, $4685 = 0, $4686 = 0, $4687 = 0, $4688 = 0, $4689 = 0, $469 = 0, $4690 = 0, $4691 = 0, $4692 = 0, $4693 = 0, $4694 = 0, $4695 = 0, $4696 = 0;
+ var $4697 = 0, $4698 = 0, $4699 = 0, $47 = 0, $470 = 0, $4700 = 0, $4701 = 0, $4702 = 0, $4703 = 0, $4704 = 0, $4705 = 0, $4706 = 0, $4707 = 0, $4708 = 0, $4709 = 0, $471 = 0, $4710 = 0, $4711 = 0, $4712 = 0, $4713 = 0;
+ var $4714 = 0, $4715 = 0, $4716 = 0, $4717 = 0, $4718 = 0, $4719 = 0, $472 = 0, $4720 = 0, $4721 = 0, $4722 = 0, $4723 = 0, $4724 = 0, $4725 = 0, $4726 = 0, $4727 = 0, $4728 = 0, $4729 = 0, $473 = 0, $4730 = 0, $4731 = 0;
+ var $4732 = 0, $4733 = 0, $4734 = 0, $4735 = 0, $4736 = 0, $4737 = 0, $4738 = 0, $4739 = 0, $474 = 0, $4740 = 0, $4741 = 0, $4742 = 0, $4743 = 0, $4744 = 0, $4745 = 0, $4746 = 0, $4747 = 0, $4748 = 0, $4749 = 0, $475 = 0;
+ var $4750 = 0, $4751 = 0, $4752 = 0, $4753 = 0, $4754 = 0, $4755 = 0, $4756 = 0, $4757 = 0, $4758 = 0, $4759 = 0, $476 = 0, $4760 = 0, $4761 = 0, $4762 = 0, $4763 = 0, $4764 = 0, $4765 = 0, $4766 = 0, $4767 = 0, $4768 = 0;
+ var $4769 = 0, $477 = 0, $4770 = 0, $4771 = 0, $4772 = 0, $4773 = 0, $4774 = 0, $4775 = 0, $4776 = 0, $4777 = 0, $4778 = 0, $4779 = 0, $478 = 0, $4780 = 0, $4781 = 0, $4782 = 0, $4783 = 0, $4784 = 0, $4785 = 0, $4786 = 0;
+ var $4787 = 0, $4788 = 0, $4789 = 0, $479 = 0, $4790 = 0, $4791 = 0, $4792 = 0, $4793 = 0, $4794 = 0, $4795 = 0, $4796 = 0, $4797 = 0, $4798 = 0, $4799 = 0, $48 = 0, $480 = 0, $4800 = 0, $4801 = 0, $4802 = 0, $4803 = 0;
+ var $4804 = 0, $4805 = 0, $4806 = 0, $4807 = 0, $4808 = 0, $4809 = 0, $481 = 0, $4810 = 0, $4811 = 0, $4812 = 0, $4813 = 0, $4814 = 0, $4815 = 0, $4816 = 0, $4817 = 0, $4818 = 0, $4819 = 0, $482 = 0, $4820 = 0, $4821 = 0;
+ var $4822 = 0, $4823 = 0, $4824 = 0, $4825 = 0, $4826 = 0, $4827 = 0, $4828 = 0, $4829 = 0, $483 = 0, $4830 = 0, $4831 = 0, $4832 = 0, $4833 = 0, $4834 = 0, $4835 = 0, $4836 = 0, $4837 = 0, $4838 = 0, $4839 = 0, $484 = 0;
+ var $4840 = 0, $4841 = 0, $4842 = 0, $4843 = 0, $4844 = 0, $4845 = 0, $4846 = 0, $4847 = 0, $4848 = 0, $4849 = 0, $485 = 0, $4850 = 0, $4851 = 0, $4852 = 0, $4853 = 0, $4854 = 0, $4855 = 0, $4856 = 0, $4857 = 0, $4858 = 0;
+ var $4859 = 0, $486 = 0, $4860 = 0, $4861 = 0, $4862 = 0, $4863 = 0, $4864 = 0, $4865 = 0, $4866 = 0, $4867 = 0, $4868 = 0, $4869 = 0, $487 = 0, $4870 = 0, $4871 = 0, $4872 = 0, $4873 = 0, $4874 = 0, $4875 = 0, $4876 = 0;
+ var $4877 = 0, $4878 = 0, $4879 = 0, $488 = 0, $4880 = 0, $4881 = 0, $4882 = 0, $4883 = 0, $4884 = 0, $4885 = 0, $4886 = 0, $4887 = 0, $4888 = 0, $4889 = 0, $489 = 0, $4890 = 0, $4891 = 0, $4892 = 0, $4893 = 0, $4894 = 0;
+ var $4895 = 0, $4896 = 0, $4897 = 0, $4898 = 0, $4899 = 0, $49 = 0, $490 = 0, $4900 = 0, $4901 = 0, $4902 = 0, $4903 = 0, $4904 = 0, $4905 = 0, $4906 = 0, $4907 = 0, $4908 = 0, $4909 = 0, $491 = 0, $4910 = 0, $4911 = 0;
+ var $4912 = 0, $4913 = 0, $4914 = 0, $4915 = 0, $4916 = 0, $4917 = 0, $4918 = 0, $4919 = 0, $492 = 0, $4920 = 0, $4921 = 0, $4922 = 0, $4923 = 0, $4924 = 0, $4925 = 0, $4926 = 0, $4927 = 0, $4928 = 0, $4929 = 0, $493 = 0;
+ var $4930 = 0, $4931 = 0, $4932 = 0, $4933 = 0, $4934 = 0, $4935 = 0, $4936 = 0, $4937 = 0, $4938 = 0, $4939 = 0, $494 = 0, $4940 = 0, $4941 = 0, $4942 = 0, $4943 = 0, $4944 = 0, $4945 = 0, $4946 = 0, $4947 = 0, $4948 = 0;
+ var $4949 = 0, $495 = 0, $4950 = 0, $4951 = 0, $4952 = 0, $4953 = 0, $4954 = 0, $4955 = 0, $4956 = 0, $4957 = 0, $4958 = 0, $4959 = 0, $496 = 0, $4960 = 0, $4961 = 0, $4962 = 0, $4963 = 0, $4964 = 0, $4965 = 0, $4966 = 0;
+ var $4967 = 0, $4968 = 0, $4969 = 0, $497 = 0, $4970 = 0, $4971 = 0, $4972 = 0, $4973 = 0, $4974 = 0, $4975 = 0, $4976 = 0, $4977 = 0, $4978 = 0, $4979 = 0, $498 = 0, $4980 = 0, $4981 = 0, $4982 = 0, $4983 = 0, $4984 = 0;
+ var $4985 = 0, $4986 = 0, $4987 = 0, $4988 = 0, $4989 = 0, $499 = 0, $4990 = 0, $4991 = 0, $4992 = 0, $4993 = 0, $4994 = 0, $4995 = 0, $4996 = 0, $4997 = 0, $4998 = 0, $4999 = 0, $5 = 0, $50 = 0, $500 = 0, $5000 = 0;
+ var $5001 = 0, $5002 = 0, $5003 = 0, $5004 = 0, $5005 = 0, $5006 = 0, $5007 = 0, $5008 = 0, $5009 = 0, $501 = 0, $5010 = 0, $5011 = 0, $5012 = 0, $5013 = 0, $5014 = 0, $5015 = 0, $5016 = 0, $5017 = 0, $5018 = 0, $5019 = 0;
+ var $502 = 0, $5020 = 0, $5021 = 0, $5022 = 0, $5023 = 0, $5024 = 0, $5025 = 0, $5026 = 0, $5027 = 0, $5028 = 0, $5029 = 0, $503 = 0, $5030 = 0, $5031 = 0, $5032 = 0, $5033 = 0, $5034 = 0, $5035 = 0, $5036 = 0, $5037 = 0;
+ var $5038 = 0, $5039 = 0, $504 = 0, $5040 = 0, $5041 = 0, $5042 = 0, $5043 = 0, $5044 = 0, $5045 = 0, $5046 = 0, $5047 = 0, $5048 = 0, $5049 = 0, $505 = 0, $5050 = 0, $5051 = 0, $5052 = 0, $5053 = 0, $5054 = 0, $5055 = 0;
+ var $5056 = 0, $5057 = 0, $5058 = 0, $5059 = 0, $506 = 0, $5060 = 0, $5061 = 0, $5062 = 0, $5063 = 0, $5064 = 0, $5065 = 0, $5066 = 0, $5067 = 0, $5068 = 0, $5069 = 0, $507 = 0, $5070 = 0, $5071 = 0, $5072 = 0, $5073 = 0;
+ var $5074 = 0, $5075 = 0, $5076 = 0, $5077 = 0, $5078 = 0, $5079 = 0, $508 = 0, $5080 = 0, $5081 = 0, $5082 = 0, $5083 = 0, $5084 = 0, $5085 = 0, $5086 = 0, $5087 = 0, $5088 = 0, $5089 = 0, $509 = 0, $5090 = 0, $5091 = 0;
+ var $5092 = 0, $5093 = 0, $5094 = 0, $5095 = 0, $5096 = 0, $5097 = 0, $5098 = 0, $5099 = 0, $51 = 0, $510 = 0, $5100 = 0, $5101 = 0, $5102 = 0, $5103 = 0, $5104 = 0, $5105 = 0, $5106 = 0, $5107 = 0, $5108 = 0, $5109 = 0;
+ var $511 = 0, $5110 = 0, $5111 = 0, $5112 = 0, $5113 = 0, $5114 = 0, $5115 = 0, $5116 = 0, $5117 = 0, $5118 = 0, $5119 = 0, $512 = 0, $5120 = 0, $5121 = 0, $5122 = 0, $5123 = 0, $5124 = 0, $5125 = 0, $5126 = 0, $5127 = 0;
+ var $5128 = 0, $5129 = 0, $513 = 0, $5130 = 0, $5131 = 0, $5132 = 0, $5133 = 0, $5134 = 0, $5135 = 0, $5136 = 0, $5137 = 0, $5138 = 0, $5139 = 0, $514 = 0, $5140 = 0, $5141 = 0, $5142 = 0, $5143 = 0, $5144 = 0, $5145 = 0;
+ var $5146 = 0, $5147 = 0, $5148 = 0, $5149 = 0, $515 = 0, $5150 = 0, $5151 = 0, $5152 = 0, $5153 = 0, $5154 = 0, $5155 = 0, $5156 = 0, $5157 = 0, $5158 = 0, $5159 = 0, $516 = 0, $5160 = 0, $5161 = 0, $5162 = 0, $5163 = 0;
+ var $5164 = 0, $5165 = 0, $5166 = 0, $5167 = 0, $5168 = 0, $5169 = 0, $517 = 0, $5170 = 0, $5171 = 0, $5172 = 0, $5173 = 0, $5174 = 0, $5175 = 0, $5176 = 0, $5177 = 0, $5178 = 0, $5179 = 0, $518 = 0, $5180 = 0, $5181 = 0;
+ var $5182 = 0, $5183 = 0, $5184 = 0, $5185 = 0, $5186 = 0, $5187 = 0, $5188 = 0, $5189 = 0, $519 = 0, $5190 = 0, $5191 = 0, $5192 = 0, $5193 = 0, $5194 = 0, $5195 = 0, $5196 = 0, $5197 = 0, $5198 = 0, $5199 = 0, $52 = 0;
+ var $520 = 0, $5200 = 0, $5201 = 0, $5202 = 0, $5203 = 0, $5204 = 0, $5205 = 0, $5206 = 0, $5207 = 0, $5208 = 0, $5209 = 0, $521 = 0, $5210 = 0, $5211 = 0, $5212 = 0, $5213 = 0, $5214 = 0, $5215 = 0, $5216 = 0, $5217 = 0;
+ var $5218 = 0, $5219 = 0, $522 = 0, $5220 = 0, $5221 = 0, $5222 = 0, $5223 = 0, $5224 = 0, $5225 = 0, $5226 = 0, $5227 = 0, $5228 = 0, $5229 = 0, $523 = 0, $5230 = 0, $5231 = 0, $5232 = 0, $5233 = 0, $5234 = 0, $5235 = 0;
+ var $5236 = 0, $5237 = 0, $5238 = 0, $5239 = 0, $524 = 0, $5240 = 0, $5241 = 0, $5242 = 0, $5243 = 0, $5244 = 0, $5245 = 0, $5246 = 0, $5247 = 0, $5248 = 0, $5249 = 0, $525 = 0, $5250 = 0, $5251 = 0, $5252 = 0, $5253 = 0;
+ var $5254 = 0, $5255 = 0, $5256 = 0, $5257 = 0, $5258 = 0, $5259 = 0, $526 = 0, $5260 = 0, $5261 = 0, $5262 = 0, $5263 = 0, $5264 = 0, $5265 = 0, $5266 = 0, $5267 = 0, $5268 = 0, $5269 = 0, $527 = 0, $5270 = 0, $5271 = 0;
+ var $5272 = 0, $5273 = 0, $5274 = 0, $5275 = 0, $5276 = 0, $5277 = 0, $5278 = 0, $5279 = 0, $528 = 0, $5280 = 0, $5281 = 0, $5282 = 0, $5283 = 0, $5284 = 0, $5285 = 0, $5286 = 0, $5287 = 0, $5288 = 0, $5289 = 0, $529 = 0;
+ var $5290 = 0, $5291 = 0, $5292 = 0, $5293 = 0, $5294 = 0, $5295 = 0, $5296 = 0, $5297 = 0, $5298 = 0, $5299 = 0, $53 = 0, $530 = 0, $5300 = 0, $5301 = 0, $5302 = 0, $5303 = 0, $5304 = 0, $5305 = 0, $5306 = 0, $5307 = 0;
+ var $5308 = 0, $5309 = 0, $531 = 0, $5310 = 0, $5311 = 0, $5312 = 0, $5313 = 0, $5314 = 0, $5315 = 0, $5316 = 0, $5317 = 0, $5318 = 0, $5319 = 0, $532 = 0, $5320 = 0, $5321 = 0, $5322 = 0, $5323 = 0, $5324 = 0, $5325 = 0;
+ var $5326 = 0, $5327 = 0, $5328 = 0, $5329 = 0, $533 = 0, $5330 = 0, $5331 = 0, $5332 = 0, $5333 = 0, $5334 = 0, $5335 = 0, $5336 = 0, $5337 = 0, $5338 = 0, $5339 = 0, $534 = 0, $5340 = 0, $5341 = 0, $5342 = 0, $5343 = 0;
+ var $5344 = 0, $5345 = 0, $5346 = 0, $5347 = 0, $5348 = 0, $5349 = 0, $535 = 0, $5350 = 0, $5351 = 0, $5352 = 0, $5353 = 0, $5354 = 0, $5355 = 0, $5356 = 0, $5357 = 0, $5358 = 0, $5359 = 0, $536 = 0, $5360 = 0, $5361 = 0;
+ var $5362 = 0, $5363 = 0, $5364 = 0, $5365 = 0, $5366 = 0, $5367 = 0, $5368 = 0, $5369 = 0, $537 = 0, $5370 = 0, $5371 = 0, $5372 = 0, $5373 = 0, $5374 = 0, $5375 = 0, $5376 = 0, $5377 = 0, $5378 = 0, $5379 = 0, $538 = 0;
+ var $5380 = 0, $5381 = 0, $5382 = 0, $5383 = 0, $5384 = 0, $5385 = 0, $5386 = 0, $5387 = 0, $5388 = 0, $5389 = 0, $539 = 0, $5390 = 0, $5391 = 0, $5392 = 0, $5393 = 0, $5394 = 0, $5395 = 0, $5396 = 0, $5397 = 0, $5398 = 0;
+ var $5399 = 0, $54 = 0, $540 = 0, $5400 = 0, $5401 = 0, $5402 = 0, $5403 = 0, $5404 = 0, $5405 = 0, $5406 = 0, $5407 = 0, $5408 = 0, $5409 = 0, $541 = 0, $5410 = 0, $5411 = 0, $5412 = 0, $5413 = 0, $5414 = 0, $5415 = 0;
+ var $5416 = 0, $5417 = 0, $5418 = 0, $5419 = 0, $542 = 0, $5420 = 0, $5421 = 0, $5422 = 0, $5423 = 0, $5424 = 0, $5425 = 0, $5426 = 0, $5427 = 0, $5428 = 0, $5429 = 0, $543 = 0, $5430 = 0, $5431 = 0, $5432 = 0, $5433 = 0;
+ var $5434 = 0, $5435 = 0, $5436 = 0, $5437 = 0, $5438 = 0, $5439 = 0, $544 = 0, $5440 = 0, $5441 = 0, $5442 = 0, $5443 = 0, $5444 = 0, $5445 = 0, $5446 = 0, $5447 = 0, $5448 = 0, $5449 = 0, $545 = 0, $5450 = 0, $5451 = 0;
+ var $5452 = 0, $5453 = 0, $5454 = 0, $5455 = 0, $5456 = 0, $5457 = 0, $5458 = 0, $5459 = 0, $546 = 0, $5460 = 0, $5461 = 0, $5462 = 0, $5463 = 0, $5464 = 0, $5465 = 0, $5466 = 0, $5467 = 0, $5468 = 0, $5469 = 0, $547 = 0;
+ var $5470 = 0, $5471 = 0, $5472 = 0, $5473 = 0, $5474 = 0, $5475 = 0, $5476 = 0, $5477 = 0, $5478 = 0, $5479 = 0, $548 = 0, $5480 = 0, $5481 = 0, $5482 = 0, $5483 = 0, $5484 = 0, $5485 = 0, $5486 = 0, $5487 = 0, $5488 = 0;
+ var $5489 = 0, $549 = 0, $5490 = 0, $5491 = 0, $5492 = 0, $5493 = 0, $5494 = 0, $5495 = 0, $5496 = 0, $5497 = 0, $5498 = 0, $5499 = 0, $55 = 0, $550 = 0, $5500 = 0, $5501 = 0, $5502 = 0, $5503 = 0, $5504 = 0, $5505 = 0;
+ var $5506 = 0, $5507 = 0, $5508 = 0, $5509 = 0, $551 = 0, $5510 = 0, $5511 = 0, $5512 = 0, $5513 = 0, $5514 = 0, $5515 = 0, $5516 = 0, $5517 = 0, $5518 = 0, $5519 = 0, $552 = 0, $5520 = 0, $5521 = 0, $5522 = 0, $5523 = 0;
+ var $5524 = 0, $5525 = 0, $5526 = 0, $5527 = 0, $5528 = 0, $5529 = 0, $553 = 0, $5530 = 0, $5531 = 0, $5532 = 0, $5533 = 0, $5534 = 0, $5535 = 0, $5536 = 0, $5537 = 0, $5538 = 0, $5539 = 0, $554 = 0, $5540 = 0, $5541 = 0;
+ var $5542 = 0, $5543 = 0, $5544 = 0, $5545 = 0, $5546 = 0, $5547 = 0, $5548 = 0, $5549 = 0, $555 = 0, $5550 = 0, $5551 = 0, $5552 = 0, $5553 = 0, $5554 = 0, $5555 = 0, $5556 = 0, $5557 = 0, $5558 = 0, $5559 = 0, $556 = 0;
+ var $5560 = 0, $5561 = 0, $5562 = 0, $5563 = 0, $5564 = 0, $5565 = 0, $5566 = 0, $5567 = 0, $5568 = 0, $5569 = 0, $557 = 0, $5570 = 0, $5571 = 0, $5572 = 0, $5573 = 0, $5574 = 0, $5575 = 0, $5576 = 0, $5577 = 0, $5578 = 0;
+ var $5579 = 0, $558 = 0, $5580 = 0, $5581 = 0, $5582 = 0, $5583 = 0, $5584 = 0, $5585 = 0, $5586 = 0, $5587 = 0, $5588 = 0, $5589 = 0, $559 = 0, $5590 = 0, $5591 = 0, $5592 = 0, $5593 = 0, $5594 = 0, $5595 = 0, $5596 = 0;
+ var $5597 = 0, $5598 = 0, $5599 = 0, $56 = 0, $560 = 0, $5600 = 0, $5601 = 0, $5602 = 0, $5603 = 0, $5604 = 0, $5605 = 0, $5606 = 0, $5607 = 0, $5608 = 0, $5609 = 0, $561 = 0, $5610 = 0, $5611 = 0, $5612 = 0, $5613 = 0;
+ var $5614 = 0, $5615 = 0, $5616 = 0, $5617 = 0, $5618 = 0, $5619 = 0, $562 = 0, $5620 = 0, $5621 = 0, $5622 = 0, $5623 = 0, $5624 = 0, $5625 = 0, $5626 = 0, $5627 = 0, $5628 = 0, $5629 = 0, $563 = 0, $5630 = 0, $5631 = 0;
+ var $5632 = 0, $5633 = 0, $5634 = 0, $5635 = 0, $5636 = 0, $5637 = 0, $5638 = 0, $5639 = 0, $564 = 0, $5640 = 0, $5641 = 0, $5642 = 0, $5643 = 0, $5644 = 0, $5645 = 0, $5646 = 0, $5647 = 0, $5648 = 0, $5649 = 0, $565 = 0;
+ var $5650 = 0, $5651 = 0, $5652 = 0, $5653 = 0, $5654 = 0, $5655 = 0, $5656 = 0, $5657 = 0, $5658 = 0, $5659 = 0, $566 = 0, $5660 = 0, $5661 = 0, $5662 = 0, $5663 = 0, $5664 = 0, $5665 = 0, $5666 = 0, $5667 = 0, $5668 = 0;
+ var $5669 = 0, $567 = 0, $5670 = 0, $5671 = 0, $5672 = 0, $5673 = 0, $5674 = 0, $5675 = 0, $5676 = 0, $5677 = 0, $5678 = 0, $5679 = 0, $568 = 0, $5680 = 0, $5681 = 0, $5682 = 0, $5683 = 0, $5684 = 0, $5685 = 0, $5686 = 0;
+ var $5687 = 0, $5688 = 0, $5689 = 0, $569 = 0, $5690 = 0, $5691 = 0, $5692 = 0, $5693 = 0, $5694 = 0, $5695 = 0, $5696 = 0, $5697 = 0, $5698 = 0, $5699 = 0, $57 = 0, $570 = 0, $5700 = 0, $5701 = 0, $5702 = 0, $5703 = 0;
+ var $5704 = 0, $5705 = 0, $5706 = 0, $5707 = 0, $5708 = 0, $5709 = 0, $571 = 0, $5710 = 0, $5711 = 0, $5712 = 0, $5713 = 0, $5714 = 0, $5715 = 0, $5716 = 0, $5717 = 0, $5718 = 0, $5719 = 0, $572 = 0, $5720 = 0, $5721 = 0;
+ var $5722 = 0, $5723 = 0, $5724 = 0, $5725 = 0, $5726 = 0, $5727 = 0, $5728 = 0, $5729 = 0, $573 = 0, $5730 = 0, $5731 = 0, $5732 = 0, $5733 = 0, $5734 = 0, $5735 = 0, $5736 = 0, $5737 = 0, $5738 = 0, $5739 = 0, $574 = 0;
+ var $5740 = 0, $5741 = 0, $5742 = 0, $5743 = 0, $5744 = 0, $5745 = 0, $5746 = 0, $5747 = 0, $5748 = 0, $5749 = 0, $575 = 0, $5750 = 0, $5751 = 0, $5752 = 0, $5753 = 0, $5754 = 0, $5755 = 0, $5756 = 0, $5757 = 0, $5758 = 0;
+ var $5759 = 0, $576 = 0, $5760 = 0, $5761 = 0, $5762 = 0, $5763 = 0, $5764 = 0, $5765 = 0, $5766 = 0, $5767 = 0, $5768 = 0, $5769 = 0, $577 = 0, $5770 = 0, $5771 = 0, $5772 = 0, $5773 = 0, $5774 = 0, $5775 = 0, $5776 = 0;
+ var $5777 = 0, $5778 = 0, $5779 = 0, $578 = 0, $5780 = 0, $5781 = 0, $5782 = 0, $5783 = 0, $5784 = 0, $5785 = 0, $5786 = 0, $5787 = 0, $5788 = 0, $5789 = 0, $579 = 0, $5790 = 0, $5791 = 0, $5792 = 0, $5793 = 0, $5794 = 0;
+ var $5795 = 0, $5796 = 0, $5797 = 0, $5798 = 0, $5799 = 0, $58 = 0, $580 = 0, $5800 = 0, $5801 = 0, $5802 = 0, $5803 = 0, $5804 = 0, $5805 = 0, $5806 = 0, $5807 = 0, $5808 = 0, $5809 = 0, $581 = 0, $5810 = 0, $5811 = 0;
+ var $5812 = 0, $5813 = 0, $5814 = 0, $5815 = 0, $5816 = 0, $5817 = 0, $5818 = 0, $5819 = 0, $582 = 0, $5820 = 0, $5821 = 0, $5822 = 0, $5823 = 0, $5824 = 0, $5825 = 0, $5826 = 0, $5827 = 0, $5828 = 0, $5829 = 0, $583 = 0;
+ var $5830 = 0, $5831 = 0, $5832 = 0, $5833 = 0, $5834 = 0, $5835 = 0, $5836 = 0, $5837 = 0, $5838 = 0, $5839 = 0, $584 = 0, $5840 = 0, $5841 = 0, $5842 = 0, $5843 = 0, $5844 = 0, $5845 = 0, $5846 = 0, $5847 = 0, $5848 = 0;
+ var $5849 = 0, $585 = 0, $5850 = 0, $5851 = 0, $5852 = 0, $5853 = 0, $5854 = 0, $5855 = 0, $5856 = 0, $5857 = 0, $5858 = 0, $5859 = 0, $586 = 0, $5860 = 0, $5861 = 0, $5862 = 0, $5863 = 0, $5864 = 0, $5865 = 0, $5866 = 0;
+ var $5867 = 0, $5868 = 0, $5869 = 0, $587 = 0, $5870 = 0, $5871 = 0, $5872 = 0, $5873 = 0, $5874 = 0, $5875 = 0, $5876 = 0, $5877 = 0, $5878 = 0, $5879 = 0, $588 = 0, $5880 = 0, $5881 = 0, $5882 = 0, $5883 = 0, $5884 = 0;
+ var $5885 = 0, $5886 = 0, $5887 = 0, $5888 = 0, $5889 = 0, $589 = 0, $5890 = 0, $5891 = 0, $5892 = 0, $5893 = 0, $5894 = 0, $5895 = 0, $5896 = 0, $5897 = 0, $5898 = 0, $5899 = 0, $59 = 0, $590 = 0, $5900 = 0, $5901 = 0;
+ var $5902 = 0, $5903 = 0, $5904 = 0, $5905 = 0, $5906 = 0, $5907 = 0, $5908 = 0, $5909 = 0, $591 = 0, $5910 = 0, $5911 = 0, $5912 = 0, $5913 = 0, $5914 = 0, $5915 = 0, $5916 = 0, $5917 = 0, $5918 = 0, $5919 = 0, $592 = 0;
+ var $5920 = 0, $5921 = 0, $5922 = 0, $5923 = 0, $5924 = 0, $5925 = 0, $5926 = 0, $5927 = 0, $5928 = 0, $5929 = 0, $593 = 0, $5930 = 0, $5931 = 0, $5932 = 0, $5933 = 0, $5934 = 0, $5935 = 0, $5936 = 0, $5937 = 0, $5938 = 0;
+ var $5939 = 0, $594 = 0, $5940 = 0, $5941 = 0, $5942 = 0, $5943 = 0, $5944 = 0, $5945 = 0, $5946 = 0, $5947 = 0, $5948 = 0, $5949 = 0, $595 = 0, $5950 = 0, $5951 = 0, $5952 = 0, $5953 = 0, $5954 = 0, $5955 = 0, $5956 = 0;
+ var $5957 = 0, $5958 = 0, $5959 = 0, $596 = 0, $5960 = 0, $5961 = 0, $5962 = 0, $5963 = 0, $5964 = 0, $5965 = 0, $5966 = 0, $5967 = 0, $5968 = 0, $5969 = 0, $597 = 0, $5970 = 0, $5971 = 0, $5972 = 0, $5973 = 0, $5974 = 0;
+ var $5975 = 0, $5976 = 0, $5977 = 0, $5978 = 0, $5979 = 0, $598 = 0, $5980 = 0, $5981 = 0, $5982 = 0, $5983 = 0, $5984 = 0, $5985 = 0, $5986 = 0, $5987 = 0, $5988 = 0, $5989 = 0, $599 = 0, $5990 = 0, $5991 = 0, $5992 = 0;
+ var $5993 = 0, $5994 = 0, $5995 = 0, $5996 = 0, $5997 = 0, $5998 = 0, $5999 = 0, $6 = 0, $60 = 0, $600 = 0, $6000 = 0, $6001 = 0, $6002 = 0, $6003 = 0, $6004 = 0, $6005 = 0, $6006 = 0, $6007 = 0, $6008 = 0, $6009 = 0;
+ var $601 = 0, $6010 = 0, $6011 = 0, $6012 = 0, $6013 = 0, $6014 = 0, $6015 = 0, $6016 = 0, $6017 = 0, $6018 = 0, $6019 = 0, $602 = 0, $6020 = 0, $6021 = 0, $6022 = 0, $6023 = 0, $6024 = 0, $6025 = 0, $6026 = 0, $6027 = 0;
+ var $6028 = 0, $6029 = 0, $603 = 0, $6030 = 0, $6031 = 0, $6032 = 0, $6033 = 0, $6034 = 0, $6035 = 0, $6036 = 0, $6037 = 0, $6038 = 0, $6039 = 0, $604 = 0, $6040 = 0, $6041 = 0, $6042 = 0, $6043 = 0, $6044 = 0, $6045 = 0;
+ var $6046 = 0, $6047 = 0, $6048 = 0, $6049 = 0, $605 = 0, $6050 = 0, $6051 = 0, $6052 = 0, $6053 = 0, $6054 = 0, $6055 = 0, $6056 = 0, $6057 = 0, $6058 = 0, $6059 = 0, $606 = 0, $6060 = 0, $6061 = 0, $6062 = 0, $6063 = 0;
+ var $6064 = 0, $6065 = 0, $6066 = 0, $6067 = 0, $6068 = 0, $6069 = 0, $607 = 0, $6070 = 0, $6071 = 0, $6072 = 0, $6073 = 0, $6074 = 0, $6075 = 0, $6076 = 0, $6077 = 0, $6078 = 0, $6079 = 0, $608 = 0, $6080 = 0, $6081 = 0;
+ var $6082 = 0, $6083 = 0, $6084 = 0, $6085 = 0, $6086 = 0, $6087 = 0, $6088 = 0, $6089 = 0, $609 = 0, $6090 = 0, $6091 = 0, $6092 = 0, $6093 = 0, $6094 = 0, $6095 = 0, $6096 = 0, $6097 = 0, $6098 = 0, $6099 = 0, $61 = 0;
+ var $610 = 0, $6100 = 0, $6101 = 0, $6102 = 0, $6103 = 0, $6104 = 0, $6105 = 0, $6106 = 0, $6107 = 0, $6108 = 0, $6109 = 0, $611 = 0, $6110 = 0, $6111 = 0, $6112 = 0, $6113 = 0, $6114 = 0, $6115 = 0, $6116 = 0, $6117 = 0;
+ var $6118 = 0, $6119 = 0, $612 = 0, $6120 = 0, $6121 = 0, $6122 = 0, $6123 = 0, $6124 = 0, $6125 = 0, $6126 = 0, $6127 = 0, $6128 = 0, $6129 = 0, $613 = 0, $6130 = 0, $6131 = 0, $6132 = 0, $6133 = 0, $6134 = 0, $6135 = 0;
+ var $6136 = 0, $6137 = 0, $6138 = 0, $6139 = 0, $614 = 0, $6140 = 0, $6141 = 0, $6142 = 0, $6143 = 0, $6144 = 0, $6145 = 0, $6146 = 0, $6147 = 0, $6148 = 0, $6149 = 0, $615 = 0, $6150 = 0, $6151 = 0, $6152 = 0, $6153 = 0;
+ var $6154 = 0, $6155 = 0, $6156 = 0, $6157 = 0, $6158 = 0, $6159 = 0, $616 = 0, $6160 = 0, $6161 = 0, $6162 = 0, $6163 = 0, $6164 = 0, $6165 = 0, $6166 = 0, $6167 = 0, $6168 = 0, $6169 = 0, $617 = 0, $6170 = 0, $6171 = 0;
+ var $6172 = 0, $6173 = 0, $6174 = 0, $6175 = 0, $6176 = 0, $6177 = 0, $6178 = 0, $6179 = 0, $618 = 0, $6180 = 0, $6181 = 0, $6182 = 0, $6183 = 0, $6184 = 0, $6185 = 0, $6186 = 0, $6187 = 0, $6188 = 0, $6189 = 0, $619 = 0;
+ var $6190 = 0, $6191 = 0, $6192 = 0, $6193 = 0, $6194 = 0, $6195 = 0, $6196 = 0, $6197 = 0, $6198 = 0, $6199 = 0, $62 = 0, $620 = 0, $6200 = 0, $6201 = 0, $6202 = 0, $6203 = 0, $6204 = 0, $6205 = 0, $6206 = 0, $6207 = 0;
+ var $6208 = 0, $6209 = 0, $621 = 0, $6210 = 0, $6211 = 0, $6212 = 0, $6213 = 0, $6214 = 0, $6215 = 0, $6216 = 0, $6217 = 0, $6218 = 0, $6219 = 0, $622 = 0, $6220 = 0, $6221 = 0, $6222 = 0, $6223 = 0, $6224 = 0, $6225 = 0;
+ var $6226 = 0, $6227 = 0, $6228 = 0, $6229 = 0, $623 = 0, $6230 = 0, $6231 = 0, $6232 = 0, $6233 = 0, $6234 = 0, $6235 = 0, $6236 = 0, $6237 = 0, $6238 = 0, $6239 = 0, $624 = 0, $6240 = 0, $6241 = 0, $6242 = 0, $6243 = 0;
+ var $6244 = 0, $6245 = 0, $6246 = 0, $6247 = 0, $6248 = 0, $6249 = 0, $625 = 0, $6250 = 0, $6251 = 0, $6252 = 0, $6253 = 0, $6254 = 0, $6255 = 0, $6256 = 0, $6257 = 0, $6258 = 0, $6259 = 0, $626 = 0, $6260 = 0, $6261 = 0;
+ var $6262 = 0, $6263 = 0, $6264 = 0, $6265 = 0, $6266 = 0, $6267 = 0, $6268 = 0, $6269 = 0, $627 = 0, $6270 = 0, $6271 = 0, $6272 = 0, $6273 = 0, $6274 = 0, $6275 = 0, $6276 = 0, $6277 = 0, $6278 = 0, $6279 = 0, $628 = 0;
+ var $6280 = 0, $6281 = 0, $6282 = 0, $6283 = 0, $6284 = 0, $6285 = 0, $6286 = 0, $6287 = 0, $6288 = 0, $6289 = 0, $629 = 0, $6290 = 0, $6291 = 0, $6292 = 0, $6293 = 0, $6294 = 0, $6295 = 0, $6296 = 0, $6297 = 0, $6298 = 0;
+ var $6299 = 0, $63 = 0, $630 = 0, $6300 = 0, $6301 = 0, $6302 = 0, $6303 = 0, $6304 = 0, $6305 = 0, $6306 = 0, $6307 = 0, $6308 = 0, $6309 = 0, $631 = 0, $6310 = 0, $6311 = 0, $6312 = 0, $6313 = 0, $6314 = 0, $632 = 0;
+ var $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0;
+ var $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0;
+ var $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0;
+ var $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0;
+ var $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0;
+ var $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0;
+ var $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0;
+ var $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0;
+ var $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0;
+ var $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0;
+ var $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0;
+ var $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0;
+ var $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0;
+ var $868 = 0, $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0;
+ var $886 = 0, $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0;
+ var $903 = 0, $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0;
+ var $921 = 0, $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0;
+ var $94 = 0, $940 = 0, $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0;
+ var $958 = 0, $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $967 = 0, $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0, $972 = 0, $973 = 0, $974 = 0, $975 = 0;
+ var $976 = 0, $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0;
+ var $994 = 0, $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $exitcond = 0, $exitcond1921 = 0, $vararg_buffer = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 4288|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(4288|0);
+ $vararg_buffer = sp + 16|0;
+ $3 = sp + 24|0;
+ $4 = sp;
+ $5 = (($2) + -16)|0;
+ $6 = $5 | 16;
+ $7 = ($6|0)==(16);
+ if (!($7)) {
+ $$01913 = 44;
+ STACKTOP = sp;return ($$01913|0);
+ }
+ $8 = HEAP32[18118]|0;
+ $9 = ($8|0)==(0);
+ do {
+ if ($9) {
+ HEAP32[18118] = 1;
+ (_do_twofish_setkey($3,8800,16)|0);
+ ___gcry_burn_stack(47);
+ (_twofish_encrypt($3,$4,8816)|0);
+ $10 = (_memcmp($4,8832,16)|0);
+ $11 = ($10|0)==(0);
+ if ($11) {
+ (_twofish_decrypt($3,$4,$4)|0);
+ $12 = (_memcmp($4,8816,16)|0);
+ $13 = ($12|0)==(0);
+ if ($13) {
+ (_do_twofish_setkey($3,8848,32)|0);
+ ___gcry_burn_stack(47);
+ (_twofish_encrypt($3,$4,8880)|0);
+ $14 = (_memcmp($4,8896,16)|0);
+ $15 = ($14|0)==(0);
+ if ($15) {
+ (_twofish_decrypt($3,$4,$4)|0);
+ $16 = (_memcmp($4,8880,16)|0);
+ $17 = ($16|0)==(0);
+ if ($17) {
+ $18 = (__gcry_selftest_helper_ctr(63524,32,33,70,4,16,4256)|0);
+ $19 = ($18|0)==(0|0);
+ if ($19) {
+ $20 = (__gcry_selftest_helper_cbc(63524,32,33,68,5,16,4256)|0);
+ $21 = ($20|0)==(0|0);
+ if ($21) {
+ $22 = (__gcry_selftest_helper_cfb(63524,32,33,69,5,16,4256)|0);
+ HEAP32[18119] = $22;
+ $23 = ($22|0)==(0|0);
+ if ($23) {
+ break;
+ } else {
+ $$0$i1914 = $22;
+ }
+ } else {
+ $$0$i$ph = $20;
+ label = 9;
+ }
+ } else {
+ $$0$i$ph = $18;
+ label = 9;
+ }
+ } else {
+ $$0$i$ph = 63532;
+ label = 9;
+ }
+ } else {
+ $$0$i$ph = 63568;
+ label = 9;
+ }
+ } else {
+ $$0$i$ph = 63604;
+ label = 9;
+ }
+ } else {
+ $$0$i$ph = 63640;
+ label = 9;
+ }
+ if ((label|0) == 9) {
+ HEAP32[18119] = $$0$i$ph;
+ $$0$i1914 = $$0$i$ph;
+ }
+ HEAP32[$vararg_buffer>>2] = $$0$i1914;
+ __gcry_log_error(63676,$vararg_buffer);
+ label = 12;
+ } else {
+ label = 12;
+ }
+ } while(0);
+ if ((label|0) == 12) {
+ $$pr = HEAP32[18119]|0;
+ $24 = ($$pr|0)==(0|0);
+ if (!($24)) {
+ $$01913 = 50;
+ STACKTOP = sp;return ($$01913|0);
+ }
+ }
+ $25 = HEAP8[$1>>0]|0;
+ $26 = ($25<<24>>24)==(0);
+ if ($26) {
+ $$01883 = 0;$$01891 = 0;$$01899 = 0;
+ } else {
+ $27 = $25&255;
+ $28 = (($27) + -1)|0;
+ $29 = (8912 + ($28)|0);
+ $30 = HEAP8[$29>>0]|0;
+ $31 = $30&255;
+ $32 = (9168 + ($31)|0);
+ $33 = HEAP8[$32>>0]|0;
+ $34 = (($31) + 45)|0;
+ $35 = (9168 + ($34)|0);
+ $36 = HEAP8[$35>>0]|0;
+ $37 = (($31) + 1)|0;
+ $38 = (9168 + ($37)|0);
+ $39 = HEAP8[$38>>0]|0;
+ $$01883 = $39;$$01891 = $36;$$01899 = $33;
+ }
+ $40 = ((($1)) + 1|0);
+ $41 = HEAP8[$40>>0]|0;
+ $42 = ($41<<24>>24)==(0);
+ if ($42) {
+ $$11876 = $$01891;$$11884 = $$01883;$$11892 = $$01891;$$11900 = $$01899;
+ } else {
+ $43 = $41&255;
+ $44 = (($43) + -1)|0;
+ $45 = (8912 + ($44)|0);
+ $46 = HEAP8[$45>>0]|0;
+ $47 = $46&255;
+ $48 = (($47) + 45)|0;
+ $49 = (9168 + ($48)|0);
+ $50 = HEAP8[$49>>0]|0;
+ $51 = $50 ^ $$01899;
+ $52 = (($47) + 164)|0;
+ $53 = (9168 + ($52)|0);
+ $54 = HEAP8[$53>>0]|0;
+ $55 = $54 ^ $$01891;
+ $56 = (($47) + 68)|0;
+ $57 = (9168 + ($56)|0);
+ $58 = HEAP8[$57>>0]|0;
+ $59 = $58 ^ $$01883;
+ $60 = (($47) + 138)|0;
+ $61 = (9168 + ($60)|0);
+ $62 = HEAP8[$61>>0]|0;
+ $63 = $62 ^ $$01891;
+ $$11876 = $63;$$11884 = $59;$$11892 = $55;$$11900 = $51;
+ }
+ $64 = ((($1)) + 2|0);
+ $65 = HEAP8[$64>>0]|0;
+ $66 = ($65<<24>>24)==(0);
+ if ($66) {
+ $$21877 = $$11876;$$21885 = $$11884;$$21893 = $$11892;$$21901 = $$11900;
+ } else {
+ $67 = $65&255;
+ $68 = (($67) + -1)|0;
+ $69 = (8912 + ($68)|0);
+ $70 = HEAP8[$69>>0]|0;
+ $71 = $70&255;
+ $72 = (($71) + 138)|0;
+ $73 = (9168 + ($72)|0);
+ $74 = HEAP8[$73>>0]|0;
+ $75 = $74 ^ $$11900;
+ $76 = (($71) + 213)|0;
+ $77 = (9168 + ($76)|0);
+ $78 = HEAP8[$77>>0]|0;
+ $79 = $78 ^ $$11892;
+ $80 = (($71) + 191)|0;
+ $81 = (9168 + ($80)|0);
+ $82 = HEAP8[$81>>0]|0;
+ $83 = $82 ^ $$11884;
+ $84 = (($71) + 209)|0;
+ $85 = (9168 + ($84)|0);
+ $86 = HEAP8[$85>>0]|0;
+ $87 = $86 ^ $$11876;
+ $$21877 = $87;$$21885 = $83;$$21893 = $79;$$21901 = $75;
+ }
+ $88 = ((($1)) + 3|0);
+ $89 = HEAP8[$88>>0]|0;
+ $90 = ($89<<24>>24)==(0);
+ if ($90) {
+ $$31878 = $$21877;$$31886 = $$21885;$$31894 = $$21893;$$31902 = $$21901;
+ } else {
+ $91 = $89&255;
+ $92 = (($91) + -1)|0;
+ $93 = (8912 + ($92)|0);
+ $94 = HEAP8[$93>>0]|0;
+ $95 = $94&255;
+ $96 = (($95) + 209)|0;
+ $97 = (9168 + ($96)|0);
+ $98 = HEAP8[$97>>0]|0;
+ $99 = $98 ^ $$21901;
+ $100 = (($95) + 127)|0;
+ $101 = (9168 + ($100)|0);
+ $102 = HEAP8[$101>>0]|0;
+ $103 = $102 ^ $$21893;
+ $104 = (($95) + 61)|0;
+ $105 = (9168 + ($104)|0);
+ $106 = HEAP8[$105>>0]|0;
+ $107 = $106 ^ $$21885;
+ $108 = (($95) + 153)|0;
+ $109 = (9168 + ($108)|0);
+ $110 = HEAP8[$109>>0]|0;
+ $111 = $110 ^ $$21877;
+ $$31878 = $111;$$31886 = $107;$$31894 = $103;$$31902 = $99;
+ }
+ $112 = ((($1)) + 4|0);
+ $113 = HEAP8[$112>>0]|0;
+ $114 = ($113<<24>>24)==(0);
+ if ($114) {
+ $$41879 = $$31878;$$41887 = $$31886;$$41895 = $$31894;$$41903 = $$31902;
+ } else {
+ $115 = $113&255;
+ $116 = (($115) + -1)|0;
+ $117 = (8912 + ($116)|0);
+ $118 = HEAP8[$117>>0]|0;
+ $119 = $118&255;
+ $120 = (($119) + 153)|0;
+ $121 = (9168 + ($120)|0);
+ $122 = HEAP8[$121>>0]|0;
+ $123 = $122 ^ $$31902;
+ $124 = (($119) + 70)|0;
+ $125 = (9168 + ($124)|0);
+ $126 = HEAP8[$125>>0]|0;
+ $127 = $126 ^ $$31894;
+ $128 = (($119) + 102)|0;
+ $129 = (9168 + ($128)|0);
+ $130 = HEAP8[$129>>0]|0;
+ $131 = $130 ^ $$31886;
+ $132 = (($119) + 150)|0;
+ $133 = (9168 + ($132)|0);
+ $134 = HEAP8[$133>>0]|0;
+ $135 = $134 ^ $$31878;
+ $$41879 = $135;$$41887 = $131;$$41895 = $127;$$41903 = $123;
+ }
+ $136 = ((($1)) + 5|0);
+ $137 = HEAP8[$136>>0]|0;
+ $138 = ($137<<24>>24)==(0);
+ if ($138) {
+ $$51880 = $$41879;$$51888 = $$41887;$$51896 = $$41895;$$51904 = $$41903;
+ } else {
+ $139 = $137&255;
+ $140 = (($139) + -1)|0;
+ $141 = (8912 + ($140)|0);
+ $142 = HEAP8[$141>>0]|0;
+ $143 = $142&255;
+ $144 = (($143) + 150)|0;
+ $145 = (9168 + ($144)|0);
+ $146 = HEAP8[$145>>0]|0;
+ $147 = $146 ^ $$41903;
+ $148 = (($143) + 60)|0;
+ $149 = (9168 + ($148)|0);
+ $150 = HEAP8[$149>>0]|0;
+ $151 = $150 ^ $$41895;
+ $152 = (($143) + 91)|0;
+ $153 = (9168 + ($152)|0);
+ $154 = HEAP8[$153>>0]|0;
+ $155 = $154 ^ $$41887;
+ $156 = (($143) + 237)|0;
+ $157 = (9168 + ($156)|0);
+ $158 = HEAP8[$157>>0]|0;
+ $159 = $158 ^ $$41879;
+ $$51880 = $159;$$51888 = $155;$$51896 = $151;$$51904 = $147;
+ }
+ $160 = ((($1)) + 6|0);
+ $161 = HEAP8[$160>>0]|0;
+ $162 = ($161<<24>>24)==(0);
+ if ($162) {
+ $$61881 = $$51880;$$61889 = $$51888;$$61897 = $$51896;$$61905 = $$51904;
+ } else {
+ $163 = $161&255;
+ $164 = (($163) + -1)|0;
+ $165 = (8912 + ($164)|0);
+ $166 = HEAP8[$165>>0]|0;
+ $167 = $166&255;
+ $168 = (($167) + 237)|0;
+ $169 = (9168 + ($168)|0);
+ $170 = HEAP8[$169>>0]|0;
+ $171 = $170 ^ $$51904;
+ $172 = (($167) + 55)|0;
+ $173 = (9168 + ($172)|0);
+ $174 = HEAP8[$173>>0]|0;
+ $175 = $174 ^ $$51896;
+ $176 = (($167) + 79)|0;
+ $177 = (9168 + ($176)|0);
+ $178 = HEAP8[$177>>0]|0;
+ $179 = $178 ^ $$51888;
+ $180 = (($167) + 224)|0;
+ $181 = (9168 + ($180)|0);
+ $182 = HEAP8[$181>>0]|0;
+ $183 = $182 ^ $$51880;
+ $$61881 = $183;$$61889 = $179;$$61897 = $175;$$61905 = $171;
+ }
+ $184 = ((($1)) + 7|0);
+ $185 = HEAP8[$184>>0]|0;
+ $186 = ($185<<24>>24)==(0);
+ if ($186) {
+ $$71882 = $$61881;$$71890 = $$61889;$$71898 = $$61897;$$71906 = $$61905;
+ } else {
+ $187 = $185&255;
+ $188 = (($187) + -1)|0;
+ $189 = (8912 + ($188)|0);
+ $190 = HEAP8[$189>>0]|0;
+ $191 = $190&255;
+ $192 = (($191) + 224)|0;
+ $193 = (9168 + ($192)|0);
+ $194 = HEAP8[$193>>0]|0;
+ $195 = $194 ^ $$61905;
+ $196 = (($191) + 208)|0;
+ $197 = (9168 + ($196)|0);
+ $198 = HEAP8[$197>>0]|0;
+ $199 = $198 ^ $$61897;
+ $200 = (($191) + 140)|0;
+ $201 = (9168 + ($200)|0);
+ $202 = HEAP8[$201>>0]|0;
+ $203 = $202 ^ $$61889;
+ $204 = (($191) + 23)|0;
+ $205 = (9168 + ($204)|0);
+ $206 = HEAP8[$205>>0]|0;
+ $207 = $206 ^ $$61881;
+ $$71882 = $207;$$71890 = $203;$$71898 = $199;$$71906 = $195;
+ }
+ $208 = ((($1)) + 8|0);
+ $209 = HEAP8[$208>>0]|0;
+ $210 = ($209<<24>>24)==(0);
+ if ($210) {
+ $$01851 = 0;$$01859 = 0;$$01867 = 0;
+ } else {
+ $211 = $209&255;
+ $212 = (($211) + -1)|0;
+ $213 = (8912 + ($212)|0);
+ $214 = HEAP8[$213>>0]|0;
+ $215 = $214&255;
+ $216 = (9168 + ($215)|0);
+ $217 = HEAP8[$216>>0]|0;
+ $218 = (($215) + 45)|0;
+ $219 = (9168 + ($218)|0);
+ $220 = HEAP8[$219>>0]|0;
+ $221 = (($215) + 1)|0;
+ $222 = (9168 + ($221)|0);
+ $223 = HEAP8[$222>>0]|0;
+ $$01851 = $223;$$01859 = $220;$$01867 = $217;
+ }
+ $224 = ((($1)) + 9|0);
+ $225 = HEAP8[$224>>0]|0;
+ $226 = ($225<<24>>24)==(0);
+ if ($226) {
+ $$11844 = $$01859;$$11852 = $$01851;$$11860 = $$01859;$$11868 = $$01867;
+ } else {
+ $227 = $225&255;
+ $228 = (($227) + -1)|0;
+ $229 = (8912 + ($228)|0);
+ $230 = HEAP8[$229>>0]|0;
+ $231 = $230&255;
+ $232 = (($231) + 45)|0;
+ $233 = (9168 + ($232)|0);
+ $234 = HEAP8[$233>>0]|0;
+ $235 = $234 ^ $$01867;
+ $236 = (($231) + 164)|0;
+ $237 = (9168 + ($236)|0);
+ $238 = HEAP8[$237>>0]|0;
+ $239 = $238 ^ $$01859;
+ $240 = (($231) + 68)|0;
+ $241 = (9168 + ($240)|0);
+ $242 = HEAP8[$241>>0]|0;
+ $243 = $242 ^ $$01851;
+ $244 = (($231) + 138)|0;
+ $245 = (9168 + ($244)|0);
+ $246 = HEAP8[$245>>0]|0;
+ $247 = $246 ^ $$01859;
+ $$11844 = $247;$$11852 = $243;$$11860 = $239;$$11868 = $235;
+ }
+ $248 = ((($1)) + 10|0);
+ $249 = HEAP8[$248>>0]|0;
+ $250 = ($249<<24>>24)==(0);
+ if ($250) {
+ $$21845 = $$11844;$$21853 = $$11852;$$21861 = $$11860;$$21869 = $$11868;
+ } else {
+ $251 = $249&255;
+ $252 = (($251) + -1)|0;
+ $253 = (8912 + ($252)|0);
+ $254 = HEAP8[$253>>0]|0;
+ $255 = $254&255;
+ $256 = (($255) + 138)|0;
+ $257 = (9168 + ($256)|0);
+ $258 = HEAP8[$257>>0]|0;
+ $259 = $258 ^ $$11868;
+ $260 = (($255) + 213)|0;
+ $261 = (9168 + ($260)|0);
+ $262 = HEAP8[$261>>0]|0;
+ $263 = $262 ^ $$11860;
+ $264 = (($255) + 191)|0;
+ $265 = (9168 + ($264)|0);
+ $266 = HEAP8[$265>>0]|0;
+ $267 = $266 ^ $$11852;
+ $268 = (($255) + 209)|0;
+ $269 = (9168 + ($268)|0);
+ $270 = HEAP8[$269>>0]|0;
+ $271 = $270 ^ $$11844;
+ $$21845 = $271;$$21853 = $267;$$21861 = $263;$$21869 = $259;
+ }
+ $272 = ((($1)) + 11|0);
+ $273 = HEAP8[$272>>0]|0;
+ $274 = ($273<<24>>24)==(0);
+ if ($274) {
+ $$31846 = $$21845;$$31854 = $$21853;$$31862 = $$21861;$$31870 = $$21869;
+ } else {
+ $275 = $273&255;
+ $276 = (($275) + -1)|0;
+ $277 = (8912 + ($276)|0);
+ $278 = HEAP8[$277>>0]|0;
+ $279 = $278&255;
+ $280 = (($279) + 209)|0;
+ $281 = (9168 + ($280)|0);
+ $282 = HEAP8[$281>>0]|0;
+ $283 = $282 ^ $$21869;
+ $284 = (($279) + 127)|0;
+ $285 = (9168 + ($284)|0);
+ $286 = HEAP8[$285>>0]|0;
+ $287 = $286 ^ $$21861;
+ $288 = (($279) + 61)|0;
+ $289 = (9168 + ($288)|0);
+ $290 = HEAP8[$289>>0]|0;
+ $291 = $290 ^ $$21853;
+ $292 = (($279) + 153)|0;
+ $293 = (9168 + ($292)|0);
+ $294 = HEAP8[$293>>0]|0;
+ $295 = $294 ^ $$21845;
+ $$31846 = $295;$$31854 = $291;$$31862 = $287;$$31870 = $283;
+ }
+ $296 = ((($1)) + 12|0);
+ $297 = HEAP8[$296>>0]|0;
+ $298 = ($297<<24>>24)==(0);
+ if ($298) {
+ $$41847 = $$31846;$$41855 = $$31854;$$41863 = $$31862;$$41871 = $$31870;
+ } else {
+ $299 = $297&255;
+ $300 = (($299) + -1)|0;
+ $301 = (8912 + ($300)|0);
+ $302 = HEAP8[$301>>0]|0;
+ $303 = $302&255;
+ $304 = (($303) + 153)|0;
+ $305 = (9168 + ($304)|0);
+ $306 = HEAP8[$305>>0]|0;
+ $307 = $306 ^ $$31870;
+ $308 = (($303) + 70)|0;
+ $309 = (9168 + ($308)|0);
+ $310 = HEAP8[$309>>0]|0;
+ $311 = $310 ^ $$31862;
+ $312 = (($303) + 102)|0;
+ $313 = (9168 + ($312)|0);
+ $314 = HEAP8[$313>>0]|0;
+ $315 = $314 ^ $$31854;
+ $316 = (($303) + 150)|0;
+ $317 = (9168 + ($316)|0);
+ $318 = HEAP8[$317>>0]|0;
+ $319 = $318 ^ $$31846;
+ $$41847 = $319;$$41855 = $315;$$41863 = $311;$$41871 = $307;
+ }
+ $320 = ((($1)) + 13|0);
+ $321 = HEAP8[$320>>0]|0;
+ $322 = ($321<<24>>24)==(0);
+ if ($322) {
+ $$51848 = $$41847;$$51856 = $$41855;$$51864 = $$41863;$$51872 = $$41871;
+ } else {
+ $323 = $321&255;
+ $324 = (($323) + -1)|0;
+ $325 = (8912 + ($324)|0);
+ $326 = HEAP8[$325>>0]|0;
+ $327 = $326&255;
+ $328 = (($327) + 150)|0;
+ $329 = (9168 + ($328)|0);
+ $330 = HEAP8[$329>>0]|0;
+ $331 = $330 ^ $$41871;
+ $332 = (($327) + 60)|0;
+ $333 = (9168 + ($332)|0);
+ $334 = HEAP8[$333>>0]|0;
+ $335 = $334 ^ $$41863;
+ $336 = (($327) + 91)|0;
+ $337 = (9168 + ($336)|0);
+ $338 = HEAP8[$337>>0]|0;
+ $339 = $338 ^ $$41855;
+ $340 = (($327) + 237)|0;
+ $341 = (9168 + ($340)|0);
+ $342 = HEAP8[$341>>0]|0;
+ $343 = $342 ^ $$41847;
+ $$51848 = $343;$$51856 = $339;$$51864 = $335;$$51872 = $331;
+ }
+ $344 = ((($1)) + 14|0);
+ $345 = HEAP8[$344>>0]|0;
+ $346 = ($345<<24>>24)==(0);
+ if ($346) {
+ $$61849 = $$51848;$$61857 = $$51856;$$61865 = $$51864;$$61873 = $$51872;
+ } else {
+ $347 = $345&255;
+ $348 = (($347) + -1)|0;
+ $349 = (8912 + ($348)|0);
+ $350 = HEAP8[$349>>0]|0;
+ $351 = $350&255;
+ $352 = (($351) + 237)|0;
+ $353 = (9168 + ($352)|0);
+ $354 = HEAP8[$353>>0]|0;
+ $355 = $354 ^ $$51872;
+ $356 = (($351) + 55)|0;
+ $357 = (9168 + ($356)|0);
+ $358 = HEAP8[$357>>0]|0;
+ $359 = $358 ^ $$51864;
+ $360 = (($351) + 79)|0;
+ $361 = (9168 + ($360)|0);
+ $362 = HEAP8[$361>>0]|0;
+ $363 = $362 ^ $$51856;
+ $364 = (($351) + 224)|0;
+ $365 = (9168 + ($364)|0);
+ $366 = HEAP8[$365>>0]|0;
+ $367 = $366 ^ $$51848;
+ $$61849 = $367;$$61857 = $363;$$61865 = $359;$$61873 = $355;
+ }
+ $368 = ((($1)) + 15|0);
+ $369 = HEAP8[$368>>0]|0;
+ $370 = ($369<<24>>24)==(0);
+ if ($370) {
+ $$71850 = $$61849;$$71858 = $$61857;$$71866 = $$61865;$$71874 = $$61873;
+ } else {
+ $371 = $369&255;
+ $372 = (($371) + -1)|0;
+ $373 = (8912 + ($372)|0);
+ $374 = HEAP8[$373>>0]|0;
+ $375 = $374&255;
+ $376 = (($375) + 224)|0;
+ $377 = (9168 + ($376)|0);
+ $378 = HEAP8[$377>>0]|0;
+ $379 = $378 ^ $$61873;
+ $380 = (($375) + 208)|0;
+ $381 = (9168 + ($380)|0);
+ $382 = HEAP8[$381>>0]|0;
+ $383 = $382 ^ $$61865;
+ $384 = (($375) + 140)|0;
+ $385 = (9168 + ($384)|0);
+ $386 = HEAP8[$385>>0]|0;
+ $387 = $386 ^ $$61857;
+ $388 = (($375) + 23)|0;
+ $389 = (9168 + ($388)|0);
+ $390 = HEAP8[$389>>0]|0;
+ $391 = $390 ^ $$61849;
+ $$71850 = $391;$$71858 = $387;$$71866 = $383;$$71874 = $379;
+ }
+ $392 = ($2|0)==(32);
+ if (!($392)) {
+ $$119081920 = 1;$$119101919 = 0;$$119121918 = 0;
+ while(1) {
+ $4354 = (9664 + ($$119101919)|0);
+ $4355 = HEAP8[$4354>>0]|0;
+ $4356 = $4355 ^ $$71906;
+ $4357 = $4356&255;
+ $4358 = (10432 + ($4357)|0);
+ $4359 = HEAP8[$4358>>0]|0;
+ $4360 = $4359 ^ $$71874;
+ $4361 = $4360&255;
+ $4362 = (10688 + ($4361<<2)|0);
+ $4363 = HEAP32[$4362>>2]|0;
+ $4364 = (($0) + ($$119121918<<2)|0);
+ HEAP32[$4364>>2] = $4363;
+ $4365 = (9664 + ($$119081920)|0);
+ $4366 = HEAP8[$4365>>0]|0;
+ $4367 = $4366 ^ $$71898;
+ $4368 = $4367&255;
+ $4369 = (10432 + ($4368)|0);
+ $4370 = HEAP8[$4369>>0]|0;
+ $4371 = $4370 ^ $$71866;
+ $4372 = $4371&255;
+ $4373 = (11712 + ($4372<<2)|0);
+ $4374 = HEAP32[$4373>>2]|0;
+ $4375 = (((($0)) + 1024|0) + ($$119121918<<2)|0);
+ HEAP32[$4375>>2] = $4374;
+ $4376 = $4355 ^ $$71890;
+ $4377 = $4376&255;
+ $4378 = (10176 + ($4377)|0);
+ $4379 = HEAP8[$4378>>0]|0;
+ $4380 = $4379 ^ $$71858;
+ $4381 = $4380&255;
+ $4382 = (12736 + ($4381<<2)|0);
+ $4383 = HEAP32[$4382>>2]|0;
+ $4384 = (((($0)) + 2048|0) + ($$119121918<<2)|0);
+ HEAP32[$4384>>2] = $4383;
+ $4385 = $4366 ^ $$71882;
+ $4386 = $4385&255;
+ $4387 = (10176 + ($4386)|0);
+ $4388 = HEAP8[$4387>>0]|0;
+ $4389 = $4388 ^ $$71850;
+ $4390 = $4389&255;
+ $4391 = (13760 + ($4390<<2)|0);
+ $4392 = HEAP32[$4391>>2]|0;
+ $4393 = (((($0)) + 3072|0) + ($$119121918<<2)|0);
+ HEAP32[$4393>>2] = $4392;
+ $4394 = (($$119121918) + 1)|0;
+ $4395 = (($$119101919) + 2)|0;
+ $4396 = (($$119081920) + 2)|0;
+ $exitcond1921 = ($4394|0)==(256);
+ if ($exitcond1921) {
+ break;
+ } else {
+ $$119081920 = $4396;$$119101919 = $4395;$$119121918 = $4394;
+ }
+ }
+ $4397 = HEAP8[$208>>0]|0;
+ $4398 = $4397 ^ -87;
+ $4399 = $4398&255;
+ $4400 = (10432 + ($4399)|0);
+ $4401 = HEAP8[$4400>>0]|0;
+ $4402 = HEAP8[$1>>0]|0;
+ $4403 = $4402 ^ $4401;
+ $4404 = $4403&255;
+ $4405 = (10688 + ($4404<<2)|0);
+ $4406 = HEAP32[$4405>>2]|0;
+ $4407 = HEAP8[$224>>0]|0;
+ $4408 = $4407 ^ 117;
+ $4409 = $4408&255;
+ $4410 = (10432 + ($4409)|0);
+ $4411 = HEAP8[$4410>>0]|0;
+ $4412 = HEAP8[$40>>0]|0;
+ $4413 = $4412 ^ $4411;
+ $4414 = $4413&255;
+ $4415 = (11712 + ($4414<<2)|0);
+ $4416 = HEAP32[$4415>>2]|0;
+ $4417 = $4416 ^ $4406;
+ $4418 = HEAP8[$248>>0]|0;
+ $4419 = $4418 ^ -87;
+ $4420 = $4419&255;
+ $4421 = (10176 + ($4420)|0);
+ $4422 = HEAP8[$4421>>0]|0;
+ $4423 = HEAP8[$64>>0]|0;
+ $4424 = $4423 ^ $4422;
+ $4425 = $4424&255;
+ $4426 = (12736 + ($4425<<2)|0);
+ $4427 = HEAP32[$4426>>2]|0;
+ $4428 = $4417 ^ $4427;
+ $4429 = HEAP8[$272>>0]|0;
+ $4430 = $4429 ^ 117;
+ $4431 = $4430&255;
+ $4432 = (10176 + ($4431)|0);
+ $4433 = HEAP8[$4432>>0]|0;
+ $4434 = HEAP8[$88>>0]|0;
+ $4435 = $4434 ^ $4433;
+ $4436 = $4435&255;
+ $4437 = (13760 + ($4436<<2)|0);
+ $4438 = HEAP32[$4437>>2]|0;
+ $4439 = $4428 ^ $4438;
+ $4440 = HEAP8[$296>>0]|0;
+ $4441 = $4440 ^ 103;
+ $4442 = $4441&255;
+ $4443 = (10432 + ($4442)|0);
+ $4444 = HEAP8[$4443>>0]|0;
+ $4445 = HEAP8[$112>>0]|0;
+ $4446 = $4445 ^ $4444;
+ $4447 = $4446&255;
+ $4448 = (10688 + ($4447<<2)|0);
+ $4449 = HEAP32[$4448>>2]|0;
+ $4450 = HEAP8[$320>>0]|0;
+ $4451 = $4450 ^ -13;
+ $4452 = $4451&255;
+ $4453 = (10432 + ($4452)|0);
+ $4454 = HEAP8[$4453>>0]|0;
+ $4455 = HEAP8[$136>>0]|0;
+ $4456 = $4455 ^ $4454;
+ $4457 = $4456&255;
+ $4458 = (11712 + ($4457<<2)|0);
+ $4459 = HEAP32[$4458>>2]|0;
+ $4460 = $4459 ^ $4449;
+ $4461 = HEAP8[$344>>0]|0;
+ $4462 = $4461 ^ 103;
+ $4463 = $4462&255;
+ $4464 = (10176 + ($4463)|0);
+ $4465 = HEAP8[$4464>>0]|0;
+ $4466 = HEAP8[$160>>0]|0;
+ $4467 = $4466 ^ $4465;
+ $4468 = $4467&255;
+ $4469 = (12736 + ($4468<<2)|0);
+ $4470 = HEAP32[$4469>>2]|0;
+ $4471 = $4460 ^ $4470;
+ $4472 = HEAP8[$368>>0]|0;
+ $4473 = $4472 ^ -13;
+ $4474 = $4473&255;
+ $4475 = (10176 + ($4474)|0);
+ $4476 = HEAP8[$4475>>0]|0;
+ $4477 = HEAP8[$184>>0]|0;
+ $4478 = $4477 ^ $4476;
+ $4479 = $4478&255;
+ $4480 = (13760 + ($4479<<2)|0);
+ $4481 = HEAP32[$4480>>2]|0;
+ $4482 = $4471 ^ $4481;
+ $4483 = $4482 << 8;
+ $4484 = $4482 >>> 24;
+ $4485 = $4483 | $4484;
+ $4486 = (($4485) + ($4439))|0;
+ $4487 = (($4486) + ($4485))|0;
+ $4488 = ((($0)) + 4096|0);
+ HEAP32[$4488>>2] = $4486;
+ $4489 = $4487 << 9;
+ $4490 = $4487 >>> 23;
+ $4491 = $4489 | $4490;
+ $4492 = ((($0)) + 4100|0);
+ HEAP32[$4492>>2] = $4491;
+ $4493 = HEAP8[$208>>0]|0;
+ $4494 = $4493 ^ -77;
+ $4495 = $4494&255;
+ $4496 = (10432 + ($4495)|0);
+ $4497 = HEAP8[$4496>>0]|0;
+ $4498 = HEAP8[$1>>0]|0;
+ $4499 = $4498 ^ $4497;
+ $4500 = $4499&255;
+ $4501 = (10688 + ($4500<<2)|0);
+ $4502 = HEAP32[$4501>>2]|0;
+ $4503 = HEAP8[$224>>0]|0;
+ $4504 = $4503 ^ -58;
+ $4505 = $4504&255;
+ $4506 = (10432 + ($4505)|0);
+ $4507 = HEAP8[$4506>>0]|0;
+ $4508 = HEAP8[$40>>0]|0;
+ $4509 = $4508 ^ $4507;
+ $4510 = $4509&255;
+ $4511 = (11712 + ($4510<<2)|0);
+ $4512 = HEAP32[$4511>>2]|0;
+ $4513 = $4512 ^ $4502;
+ $4514 = HEAP8[$248>>0]|0;
+ $4515 = $4514 ^ -77;
+ $4516 = $4515&255;
+ $4517 = (10176 + ($4516)|0);
+ $4518 = HEAP8[$4517>>0]|0;
+ $4519 = HEAP8[$64>>0]|0;
+ $4520 = $4519 ^ $4518;
+ $4521 = $4520&255;
+ $4522 = (12736 + ($4521<<2)|0);
+ $4523 = HEAP32[$4522>>2]|0;
+ $4524 = $4513 ^ $4523;
+ $4525 = HEAP8[$272>>0]|0;
+ $4526 = $4525 ^ -58;
+ $4527 = $4526&255;
+ $4528 = (10176 + ($4527)|0);
+ $4529 = HEAP8[$4528>>0]|0;
+ $4530 = HEAP8[$88>>0]|0;
+ $4531 = $4530 ^ $4529;
+ $4532 = $4531&255;
+ $4533 = (13760 + ($4532<<2)|0);
+ $4534 = HEAP32[$4533>>2]|0;
+ $4535 = $4524 ^ $4534;
+ $4536 = HEAP8[$296>>0]|0;
+ $4537 = $4536 ^ -24;
+ $4538 = $4537&255;
+ $4539 = (10432 + ($4538)|0);
+ $4540 = HEAP8[$4539>>0]|0;
+ $4541 = HEAP8[$112>>0]|0;
+ $4542 = $4541 ^ $4540;
+ $4543 = $4542&255;
+ $4544 = (10688 + ($4543<<2)|0);
+ $4545 = HEAP32[$4544>>2]|0;
+ $4546 = HEAP8[$320>>0]|0;
+ $4547 = $4546 ^ -12;
+ $4548 = $4547&255;
+ $4549 = (10432 + ($4548)|0);
+ $4550 = HEAP8[$4549>>0]|0;
+ $4551 = HEAP8[$136>>0]|0;
+ $4552 = $4551 ^ $4550;
+ $4553 = $4552&255;
+ $4554 = (11712 + ($4553<<2)|0);
+ $4555 = HEAP32[$4554>>2]|0;
+ $4556 = $4555 ^ $4545;
+ $4557 = HEAP8[$344>>0]|0;
+ $4558 = $4557 ^ -24;
+ $4559 = $4558&255;
+ $4560 = (10176 + ($4559)|0);
+ $4561 = HEAP8[$4560>>0]|0;
+ $4562 = HEAP8[$160>>0]|0;
+ $4563 = $4562 ^ $4561;
+ $4564 = $4563&255;
+ $4565 = (12736 + ($4564<<2)|0);
+ $4566 = HEAP32[$4565>>2]|0;
+ $4567 = $4556 ^ $4566;
+ $4568 = HEAP8[$368>>0]|0;
+ $4569 = $4568 ^ -12;
+ $4570 = $4569&255;
+ $4571 = (10176 + ($4570)|0);
+ $4572 = HEAP8[$4571>>0]|0;
+ $4573 = HEAP8[$184>>0]|0;
+ $4574 = $4573 ^ $4572;
+ $4575 = $4574&255;
+ $4576 = (13760 + ($4575<<2)|0);
+ $4577 = HEAP32[$4576>>2]|0;
+ $4578 = $4567 ^ $4577;
+ $4579 = $4578 << 8;
+ $4580 = $4578 >>> 24;
+ $4581 = $4579 | $4580;
+ $4582 = (($4581) + ($4535))|0;
+ $4583 = (($4582) + ($4581))|0;
+ $4584 = ((($0)) + 4104|0);
+ HEAP32[$4584>>2] = $4582;
+ $4585 = $4583 << 9;
+ $4586 = $4583 >>> 23;
+ $4587 = $4585 | $4586;
+ $4588 = ((($0)) + 4108|0);
+ HEAP32[$4588>>2] = $4587;
+ $4589 = HEAP8[$208>>0]|0;
+ $4590 = $4589 ^ 4;
+ $4591 = $4590&255;
+ $4592 = (10432 + ($4591)|0);
+ $4593 = HEAP8[$4592>>0]|0;
+ $4594 = HEAP8[$1>>0]|0;
+ $4595 = $4594 ^ $4593;
+ $4596 = $4595&255;
+ $4597 = (10688 + ($4596<<2)|0);
+ $4598 = HEAP32[$4597>>2]|0;
+ $4599 = HEAP8[$224>>0]|0;
+ $4600 = $4599 ^ -37;
+ $4601 = $4600&255;
+ $4602 = (10432 + ($4601)|0);
+ $4603 = HEAP8[$4602>>0]|0;
+ $4604 = HEAP8[$40>>0]|0;
+ $4605 = $4604 ^ $4603;
+ $4606 = $4605&255;
+ $4607 = (11712 + ($4606<<2)|0);
+ $4608 = HEAP32[$4607>>2]|0;
+ $4609 = $4608 ^ $4598;
+ $4610 = HEAP8[$248>>0]|0;
+ $4611 = $4610 ^ 4;
+ $4612 = $4611&255;
+ $4613 = (10176 + ($4612)|0);
+ $4614 = HEAP8[$4613>>0]|0;
+ $4615 = HEAP8[$64>>0]|0;
+ $4616 = $4615 ^ $4614;
+ $4617 = $4616&255;
+ $4618 = (12736 + ($4617<<2)|0);
+ $4619 = HEAP32[$4618>>2]|0;
+ $4620 = $4609 ^ $4619;
+ $4621 = HEAP8[$272>>0]|0;
+ $4622 = $4621 ^ -37;
+ $4623 = $4622&255;
+ $4624 = (10176 + ($4623)|0);
+ $4625 = HEAP8[$4624>>0]|0;
+ $4626 = HEAP8[$88>>0]|0;
+ $4627 = $4626 ^ $4625;
+ $4628 = $4627&255;
+ $4629 = (13760 + ($4628<<2)|0);
+ $4630 = HEAP32[$4629>>2]|0;
+ $4631 = $4620 ^ $4630;
+ $4632 = HEAP8[$296>>0]|0;
+ $4633 = $4632 ^ -3;
+ $4634 = $4633&255;
+ $4635 = (10432 + ($4634)|0);
+ $4636 = HEAP8[$4635>>0]|0;
+ $4637 = HEAP8[$112>>0]|0;
+ $4638 = $4637 ^ $4636;
+ $4639 = $4638&255;
+ $4640 = (10688 + ($4639<<2)|0);
+ $4641 = HEAP32[$4640>>2]|0;
+ $4642 = HEAP8[$320>>0]|0;
+ $4643 = $4642 ^ 123;
+ $4644 = $4643&255;
+ $4645 = (10432 + ($4644)|0);
+ $4646 = HEAP8[$4645>>0]|0;
+ $4647 = HEAP8[$136>>0]|0;
+ $4648 = $4647 ^ $4646;
+ $4649 = $4648&255;
+ $4650 = (11712 + ($4649<<2)|0);
+ $4651 = HEAP32[$4650>>2]|0;
+ $4652 = $4651 ^ $4641;
+ $4653 = HEAP8[$344>>0]|0;
+ $4654 = $4653 ^ -3;
+ $4655 = $4654&255;
+ $4656 = (10176 + ($4655)|0);
+ $4657 = HEAP8[$4656>>0]|0;
+ $4658 = HEAP8[$160>>0]|0;
+ $4659 = $4658 ^ $4657;
+ $4660 = $4659&255;
+ $4661 = (12736 + ($4660<<2)|0);
+ $4662 = HEAP32[$4661>>2]|0;
+ $4663 = $4652 ^ $4662;
+ $4664 = HEAP8[$368>>0]|0;
+ $4665 = $4664 ^ 123;
+ $4666 = $4665&255;
+ $4667 = (10176 + ($4666)|0);
+ $4668 = HEAP8[$4667>>0]|0;
+ $4669 = HEAP8[$184>>0]|0;
+ $4670 = $4669 ^ $4668;
+ $4671 = $4670&255;
+ $4672 = (13760 + ($4671<<2)|0);
+ $4673 = HEAP32[$4672>>2]|0;
+ $4674 = $4663 ^ $4673;
+ $4675 = $4674 << 8;
+ $4676 = $4674 >>> 24;
+ $4677 = $4675 | $4676;
+ $4678 = (($4677) + ($4631))|0;
+ $4679 = (($4678) + ($4677))|0;
+ $4680 = ((($0)) + 4112|0);
+ HEAP32[$4680>>2] = $4678;
+ $4681 = $4679 << 9;
+ $4682 = $4679 >>> 23;
+ $4683 = $4681 | $4682;
+ $4684 = ((($0)) + 4116|0);
+ HEAP32[$4684>>2] = $4683;
+ $4685 = HEAP8[$208>>0]|0;
+ $4686 = $4685 ^ -93;
+ $4687 = $4686&255;
+ $4688 = (10432 + ($4687)|0);
+ $4689 = HEAP8[$4688>>0]|0;
+ $4690 = HEAP8[$1>>0]|0;
+ $4691 = $4690 ^ $4689;
+ $4692 = $4691&255;
+ $4693 = (10688 + ($4692<<2)|0);
+ $4694 = HEAP32[$4693>>2]|0;
+ $4695 = HEAP8[$224>>0]|0;
+ $4696 = $4695 ^ -5;
+ $4697 = $4696&255;
+ $4698 = (10432 + ($4697)|0);
+ $4699 = HEAP8[$4698>>0]|0;
+ $4700 = HEAP8[$40>>0]|0;
+ $4701 = $4700 ^ $4699;
+ $4702 = $4701&255;
+ $4703 = (11712 + ($4702<<2)|0);
+ $4704 = HEAP32[$4703>>2]|0;
+ $4705 = $4704 ^ $4694;
+ $4706 = HEAP8[$248>>0]|0;
+ $4707 = $4706 ^ -93;
+ $4708 = $4707&255;
+ $4709 = (10176 + ($4708)|0);
+ $4710 = HEAP8[$4709>>0]|0;
+ $4711 = HEAP8[$64>>0]|0;
+ $4712 = $4711 ^ $4710;
+ $4713 = $4712&255;
+ $4714 = (12736 + ($4713<<2)|0);
+ $4715 = HEAP32[$4714>>2]|0;
+ $4716 = $4705 ^ $4715;
+ $4717 = HEAP8[$272>>0]|0;
+ $4718 = $4717 ^ -5;
+ $4719 = $4718&255;
+ $4720 = (10176 + ($4719)|0);
+ $4721 = HEAP8[$4720>>0]|0;
+ $4722 = HEAP8[$88>>0]|0;
+ $4723 = $4722 ^ $4721;
+ $4724 = $4723&255;
+ $4725 = (13760 + ($4724<<2)|0);
+ $4726 = HEAP32[$4725>>2]|0;
+ $4727 = $4716 ^ $4726;
+ $4728 = HEAP8[$296>>0]|0;
+ $4729 = $4728 ^ 118;
+ $4730 = $4729&255;
+ $4731 = (10432 + ($4730)|0);
+ $4732 = HEAP8[$4731>>0]|0;
+ $4733 = HEAP8[$112>>0]|0;
+ $4734 = $4733 ^ $4732;
+ $4735 = $4734&255;
+ $4736 = (10688 + ($4735<<2)|0);
+ $4737 = HEAP32[$4736>>2]|0;
+ $4738 = HEAP8[$320>>0]|0;
+ $4739 = $4738 ^ -56;
+ $4740 = $4739&255;
+ $4741 = (10432 + ($4740)|0);
+ $4742 = HEAP8[$4741>>0]|0;
+ $4743 = HEAP8[$136>>0]|0;
+ $4744 = $4743 ^ $4742;
+ $4745 = $4744&255;
+ $4746 = (11712 + ($4745<<2)|0);
+ $4747 = HEAP32[$4746>>2]|0;
+ $4748 = $4747 ^ $4737;
+ $4749 = HEAP8[$344>>0]|0;
+ $4750 = $4749 ^ 118;
+ $4751 = $4750&255;
+ $4752 = (10176 + ($4751)|0);
+ $4753 = HEAP8[$4752>>0]|0;
+ $4754 = HEAP8[$160>>0]|0;
+ $4755 = $4754 ^ $4753;
+ $4756 = $4755&255;
+ $4757 = (12736 + ($4756<<2)|0);
+ $4758 = HEAP32[$4757>>2]|0;
+ $4759 = $4748 ^ $4758;
+ $4760 = HEAP8[$368>>0]|0;
+ $4761 = $4760 ^ -56;
+ $4762 = $4761&255;
+ $4763 = (10176 + ($4762)|0);
+ $4764 = HEAP8[$4763>>0]|0;
+ $4765 = HEAP8[$184>>0]|0;
+ $4766 = $4765 ^ $4764;
+ $4767 = $4766&255;
+ $4768 = (13760 + ($4767<<2)|0);
+ $4769 = HEAP32[$4768>>2]|0;
+ $4770 = $4759 ^ $4769;
+ $4771 = $4770 << 8;
+ $4772 = $4770 >>> 24;
+ $4773 = $4771 | $4772;
+ $4774 = (($4773) + ($4727))|0;
+ $4775 = (($4774) + ($4773))|0;
+ $4776 = ((($0)) + 4120|0);
+ HEAP32[$4776>>2] = $4774;
+ $4777 = $4775 << 9;
+ $4778 = $4775 >>> 23;
+ $4779 = $4777 | $4778;
+ $4780 = ((($0)) + 4124|0);
+ HEAP32[$4780>>2] = $4779;
+ $4781 = HEAP8[$208>>0]|0;
+ $4782 = $4781 ^ -102;
+ $4783 = $4782&255;
+ $4784 = (10432 + ($4783)|0);
+ $4785 = HEAP8[$4784>>0]|0;
+ $4786 = HEAP8[$1>>0]|0;
+ $4787 = $4786 ^ $4785;
+ $4788 = $4787&255;
+ $4789 = (10688 + ($4788<<2)|0);
+ $4790 = HEAP32[$4789>>2]|0;
+ $4791 = HEAP8[$224>>0]|0;
+ $4792 = $4791 ^ 74;
+ $4793 = $4792&255;
+ $4794 = (10432 + ($4793)|0);
+ $4795 = HEAP8[$4794>>0]|0;
+ $4796 = HEAP8[$40>>0]|0;
+ $4797 = $4796 ^ $4795;
+ $4798 = $4797&255;
+ $4799 = (11712 + ($4798<<2)|0);
+ $4800 = HEAP32[$4799>>2]|0;
+ $4801 = $4800 ^ $4790;
+ $4802 = HEAP8[$248>>0]|0;
+ $4803 = $4802 ^ -102;
+ $4804 = $4803&255;
+ $4805 = (10176 + ($4804)|0);
+ $4806 = HEAP8[$4805>>0]|0;
+ $4807 = HEAP8[$64>>0]|0;
+ $4808 = $4807 ^ $4806;
+ $4809 = $4808&255;
+ $4810 = (12736 + ($4809<<2)|0);
+ $4811 = HEAP32[$4810>>2]|0;
+ $4812 = $4801 ^ $4811;
+ $4813 = HEAP8[$272>>0]|0;
+ $4814 = $4813 ^ 74;
+ $4815 = $4814&255;
+ $4816 = (10176 + ($4815)|0);
+ $4817 = HEAP8[$4816>>0]|0;
+ $4818 = HEAP8[$88>>0]|0;
+ $4819 = $4818 ^ $4817;
+ $4820 = $4819&255;
+ $4821 = (13760 + ($4820<<2)|0);
+ $4822 = HEAP32[$4821>>2]|0;
+ $4823 = $4812 ^ $4822;
+ $4824 = HEAP8[$296>>0]|0;
+ $4825 = $4824 ^ -110;
+ $4826 = $4825&255;
+ $4827 = (10432 + ($4826)|0);
+ $4828 = HEAP8[$4827>>0]|0;
+ $4829 = HEAP8[$112>>0]|0;
+ $4830 = $4829 ^ $4828;
+ $4831 = $4830&255;
+ $4832 = (10688 + ($4831<<2)|0);
+ $4833 = HEAP32[$4832>>2]|0;
+ $4834 = HEAP8[$320>>0]|0;
+ $4835 = $4834 ^ -45;
+ $4836 = $4835&255;
+ $4837 = (10432 + ($4836)|0);
+ $4838 = HEAP8[$4837>>0]|0;
+ $4839 = HEAP8[$136>>0]|0;
+ $4840 = $4839 ^ $4838;
+ $4841 = $4840&255;
+ $4842 = (11712 + ($4841<<2)|0);
+ $4843 = HEAP32[$4842>>2]|0;
+ $4844 = $4843 ^ $4833;
+ $4845 = HEAP8[$344>>0]|0;
+ $4846 = $4845 ^ -110;
+ $4847 = $4846&255;
+ $4848 = (10176 + ($4847)|0);
+ $4849 = HEAP8[$4848>>0]|0;
+ $4850 = HEAP8[$160>>0]|0;
+ $4851 = $4850 ^ $4849;
+ $4852 = $4851&255;
+ $4853 = (12736 + ($4852<<2)|0);
+ $4854 = HEAP32[$4853>>2]|0;
+ $4855 = $4844 ^ $4854;
+ $4856 = HEAP8[$368>>0]|0;
+ $4857 = $4856 ^ -45;
+ $4858 = $4857&255;
+ $4859 = (10176 + ($4858)|0);
+ $4860 = HEAP8[$4859>>0]|0;
+ $4861 = HEAP8[$184>>0]|0;
+ $4862 = $4861 ^ $4860;
+ $4863 = $4862&255;
+ $4864 = (13760 + ($4863<<2)|0);
+ $4865 = HEAP32[$4864>>2]|0;
+ $4866 = $4855 ^ $4865;
+ $4867 = $4866 << 8;
+ $4868 = $4866 >>> 24;
+ $4869 = $4867 | $4868;
+ $4870 = (($4869) + ($4823))|0;
+ $4871 = (($4870) + ($4869))|0;
+ $4872 = ((($0)) + 4128|0);
+ HEAP32[$4872>>2] = $4870;
+ $4873 = $4871 << 9;
+ $4874 = $4871 >>> 23;
+ $4875 = $4873 | $4874;
+ $4876 = ((($0)) + 4132|0);
+ HEAP32[$4876>>2] = $4875;
+ $4877 = HEAP8[$208>>0]|0;
+ $4878 = $4877 ^ -128;
+ $4879 = $4878&255;
+ $4880 = (10432 + ($4879)|0);
+ $4881 = HEAP8[$4880>>0]|0;
+ $4882 = HEAP8[$1>>0]|0;
+ $4883 = $4882 ^ $4881;
+ $4884 = $4883&255;
+ $4885 = (10688 + ($4884<<2)|0);
+ $4886 = HEAP32[$4885>>2]|0;
+ $4887 = HEAP8[$224>>0]|0;
+ $4888 = $4887 ^ -26;
+ $4889 = $4888&255;
+ $4890 = (10432 + ($4889)|0);
+ $4891 = HEAP8[$4890>>0]|0;
+ $4892 = HEAP8[$40>>0]|0;
+ $4893 = $4892 ^ $4891;
+ $4894 = $4893&255;
+ $4895 = (11712 + ($4894<<2)|0);
+ $4896 = HEAP32[$4895>>2]|0;
+ $4897 = $4896 ^ $4886;
+ $4898 = HEAP8[$248>>0]|0;
+ $4899 = $4898 ^ -128;
+ $4900 = $4899&255;
+ $4901 = (10176 + ($4900)|0);
+ $4902 = HEAP8[$4901>>0]|0;
+ $4903 = HEAP8[$64>>0]|0;
+ $4904 = $4903 ^ $4902;
+ $4905 = $4904&255;
+ $4906 = (12736 + ($4905<<2)|0);
+ $4907 = HEAP32[$4906>>2]|0;
+ $4908 = $4897 ^ $4907;
+ $4909 = HEAP8[$272>>0]|0;
+ $4910 = $4909 ^ -26;
+ $4911 = $4910&255;
+ $4912 = (10176 + ($4911)|0);
+ $4913 = HEAP8[$4912>>0]|0;
+ $4914 = HEAP8[$88>>0]|0;
+ $4915 = $4914 ^ $4913;
+ $4916 = $4915&255;
+ $4917 = (13760 + ($4916<<2)|0);
+ $4918 = HEAP32[$4917>>2]|0;
+ $4919 = $4908 ^ $4918;
+ $4920 = HEAP8[$296>>0]|0;
+ $4921 = $4920 ^ 120;
+ $4922 = $4921&255;
+ $4923 = (10432 + ($4922)|0);
+ $4924 = HEAP8[$4923>>0]|0;
+ $4925 = HEAP8[$112>>0]|0;
+ $4926 = $4925 ^ $4924;
+ $4927 = $4926&255;
+ $4928 = (10688 + ($4927<<2)|0);
+ $4929 = HEAP32[$4928>>2]|0;
+ $4930 = HEAP8[$320>>0]|0;
+ $4931 = $4930 ^ 107;
+ $4932 = $4931&255;
+ $4933 = (10432 + ($4932)|0);
+ $4934 = HEAP8[$4933>>0]|0;
+ $4935 = HEAP8[$136>>0]|0;
+ $4936 = $4935 ^ $4934;
+ $4937 = $4936&255;
+ $4938 = (11712 + ($4937<<2)|0);
+ $4939 = HEAP32[$4938>>2]|0;
+ $4940 = $4939 ^ $4929;
+ $4941 = HEAP8[$344>>0]|0;
+ $4942 = $4941 ^ 120;
+ $4943 = $4942&255;
+ $4944 = (10176 + ($4943)|0);
+ $4945 = HEAP8[$4944>>0]|0;
+ $4946 = HEAP8[$160>>0]|0;
+ $4947 = $4946 ^ $4945;
+ $4948 = $4947&255;
+ $4949 = (12736 + ($4948<<2)|0);
+ $4950 = HEAP32[$4949>>2]|0;
+ $4951 = $4940 ^ $4950;
+ $4952 = HEAP8[$368>>0]|0;
+ $4953 = $4952 ^ 107;
+ $4954 = $4953&255;
+ $4955 = (10176 + ($4954)|0);
+ $4956 = HEAP8[$4955>>0]|0;
+ $4957 = HEAP8[$184>>0]|0;
+ $4958 = $4957 ^ $4956;
+ $4959 = $4958&255;
+ $4960 = (13760 + ($4959<<2)|0);
+ $4961 = HEAP32[$4960>>2]|0;
+ $4962 = $4951 ^ $4961;
+ $4963 = $4962 << 8;
+ $4964 = $4962 >>> 24;
+ $4965 = $4963 | $4964;
+ $4966 = (($4965) + ($4919))|0;
+ $4967 = (($4966) + ($4965))|0;
+ $4968 = ((($0)) + 4136|0);
+ HEAP32[$4968>>2] = $4966;
+ $4969 = $4967 << 9;
+ $4970 = $4967 >>> 23;
+ $4971 = $4969 | $4970;
+ $4972 = ((($0)) + 4140|0);
+ HEAP32[$4972>>2] = $4971;
+ $4973 = HEAP8[$208>>0]|0;
+ $4974 = $4973 ^ -28;
+ $4975 = $4974&255;
+ $4976 = (10432 + ($4975)|0);
+ $4977 = HEAP8[$4976>>0]|0;
+ $4978 = HEAP8[$1>>0]|0;
+ $4979 = $4978 ^ $4977;
+ $4980 = $4979&255;
+ $4981 = (10688 + ($4980<<2)|0);
+ $4982 = HEAP32[$4981>>2]|0;
+ $4983 = HEAP8[$224>>0]|0;
+ $4984 = $4983 ^ 69;
+ $4985 = $4984&255;
+ $4986 = (10432 + ($4985)|0);
+ $4987 = HEAP8[$4986>>0]|0;
+ $4988 = HEAP8[$40>>0]|0;
+ $4989 = $4988 ^ $4987;
+ $4990 = $4989&255;
+ $4991 = (11712 + ($4990<<2)|0);
+ $4992 = HEAP32[$4991>>2]|0;
+ $4993 = $4992 ^ $4982;
+ $4994 = HEAP8[$248>>0]|0;
+ $4995 = $4994 ^ -28;
+ $4996 = $4995&255;
+ $4997 = (10176 + ($4996)|0);
+ $4998 = HEAP8[$4997>>0]|0;
+ $4999 = HEAP8[$64>>0]|0;
+ $5000 = $4999 ^ $4998;
+ $5001 = $5000&255;
+ $5002 = (12736 + ($5001<<2)|0);
+ $5003 = HEAP32[$5002>>2]|0;
+ $5004 = $4993 ^ $5003;
+ $5005 = HEAP8[$272>>0]|0;
+ $5006 = $5005 ^ 69;
+ $5007 = $5006&255;
+ $5008 = (10176 + ($5007)|0);
+ $5009 = HEAP8[$5008>>0]|0;
+ $5010 = HEAP8[$88>>0]|0;
+ $5011 = $5010 ^ $5009;
+ $5012 = $5011&255;
+ $5013 = (13760 + ($5012<<2)|0);
+ $5014 = HEAP32[$5013>>2]|0;
+ $5015 = $5004 ^ $5014;
+ $5016 = HEAP8[$296>>0]|0;
+ $5017 = $5016 ^ -35;
+ $5018 = $5017&255;
+ $5019 = (10432 + ($5018)|0);
+ $5020 = HEAP8[$5019>>0]|0;
+ $5021 = HEAP8[$112>>0]|0;
+ $5022 = $5021 ^ $5020;
+ $5023 = $5022&255;
+ $5024 = (10688 + ($5023<<2)|0);
+ $5025 = HEAP32[$5024>>2]|0;
+ $5026 = HEAP8[$320>>0]|0;
+ $5027 = $5026 ^ 125;
+ $5028 = $5027&255;
+ $5029 = (10432 + ($5028)|0);
+ $5030 = HEAP8[$5029>>0]|0;
+ $5031 = HEAP8[$136>>0]|0;
+ $5032 = $5031 ^ $5030;
+ $5033 = $5032&255;
+ $5034 = (11712 + ($5033<<2)|0);
+ $5035 = HEAP32[$5034>>2]|0;
+ $5036 = $5035 ^ $5025;
+ $5037 = HEAP8[$344>>0]|0;
+ $5038 = $5037 ^ -35;
+ $5039 = $5038&255;
+ $5040 = (10176 + ($5039)|0);
+ $5041 = HEAP8[$5040>>0]|0;
+ $5042 = HEAP8[$160>>0]|0;
+ $5043 = $5042 ^ $5041;
+ $5044 = $5043&255;
+ $5045 = (12736 + ($5044<<2)|0);
+ $5046 = HEAP32[$5045>>2]|0;
+ $5047 = $5036 ^ $5046;
+ $5048 = HEAP8[$368>>0]|0;
+ $5049 = $5048 ^ 125;
+ $5050 = $5049&255;
+ $5051 = (10176 + ($5050)|0);
+ $5052 = HEAP8[$5051>>0]|0;
+ $5053 = HEAP8[$184>>0]|0;
+ $5054 = $5053 ^ $5052;
+ $5055 = $5054&255;
+ $5056 = (13760 + ($5055<<2)|0);
+ $5057 = HEAP32[$5056>>2]|0;
+ $5058 = $5047 ^ $5057;
+ $5059 = $5058 << 8;
+ $5060 = $5058 >>> 24;
+ $5061 = $5059 | $5060;
+ $5062 = (($5061) + ($5015))|0;
+ $5063 = (($5062) + ($5061))|0;
+ $5064 = ((($0)) + 4144|0);
+ HEAP32[$5064>>2] = $5062;
+ $5065 = $5063 << 9;
+ $5066 = $5063 >>> 23;
+ $5067 = $5065 | $5066;
+ $5068 = ((($0)) + 4148|0);
+ HEAP32[$5068>>2] = $5067;
+ $5069 = HEAP8[$208>>0]|0;
+ $5070 = $5069 ^ -47;
+ $5071 = $5070&255;
+ $5072 = (10432 + ($5071)|0);
+ $5073 = HEAP8[$5072>>0]|0;
+ $5074 = HEAP8[$1>>0]|0;
+ $5075 = $5074 ^ $5073;
+ $5076 = $5075&255;
+ $5077 = (10688 + ($5076<<2)|0);
+ $5078 = HEAP32[$5077>>2]|0;
+ $5079 = HEAP8[$224>>0]|0;
+ $5080 = $5079 ^ -24;
+ $5081 = $5080&255;
+ $5082 = (10432 + ($5081)|0);
+ $5083 = HEAP8[$5082>>0]|0;
+ $5084 = HEAP8[$40>>0]|0;
+ $5085 = $5084 ^ $5083;
+ $5086 = $5085&255;
+ $5087 = (11712 + ($5086<<2)|0);
+ $5088 = HEAP32[$5087>>2]|0;
+ $5089 = $5088 ^ $5078;
+ $5090 = HEAP8[$248>>0]|0;
+ $5091 = $5090 ^ -47;
+ $5092 = $5091&255;
+ $5093 = (10176 + ($5092)|0);
+ $5094 = HEAP8[$5093>>0]|0;
+ $5095 = HEAP8[$64>>0]|0;
+ $5096 = $5095 ^ $5094;
+ $5097 = $5096&255;
+ $5098 = (12736 + ($5097<<2)|0);
+ $5099 = HEAP32[$5098>>2]|0;
+ $5100 = $5089 ^ $5099;
+ $5101 = HEAP8[$272>>0]|0;
+ $5102 = $5101 ^ -24;
+ $5103 = $5102&255;
+ $5104 = (10176 + ($5103)|0);
+ $5105 = HEAP8[$5104>>0]|0;
+ $5106 = HEAP8[$88>>0]|0;
+ $5107 = $5106 ^ $5105;
+ $5108 = $5107&255;
+ $5109 = (13760 + ($5108<<2)|0);
+ $5110 = HEAP32[$5109>>2]|0;
+ $5111 = $5100 ^ $5110;
+ $5112 = HEAP8[$296>>0]|0;
+ $5113 = $5112 ^ 56;
+ $5114 = $5113&255;
+ $5115 = (10432 + ($5114)|0);
+ $5116 = HEAP8[$5115>>0]|0;
+ $5117 = HEAP8[$112>>0]|0;
+ $5118 = $5117 ^ $5116;
+ $5119 = $5118&255;
+ $5120 = (10688 + ($5119<<2)|0);
+ $5121 = HEAP32[$5120>>2]|0;
+ $5122 = HEAP8[$320>>0]|0;
+ $5123 = $5122 ^ 75;
+ $5124 = $5123&255;
+ $5125 = (10432 + ($5124)|0);
+ $5126 = HEAP8[$5125>>0]|0;
+ $5127 = HEAP8[$136>>0]|0;
+ $5128 = $5127 ^ $5126;
+ $5129 = $5128&255;
+ $5130 = (11712 + ($5129<<2)|0);
+ $5131 = HEAP32[$5130>>2]|0;
+ $5132 = $5131 ^ $5121;
+ $5133 = HEAP8[$344>>0]|0;
+ $5134 = $5133 ^ 56;
+ $5135 = $5134&255;
+ $5136 = (10176 + ($5135)|0);
+ $5137 = HEAP8[$5136>>0]|0;
+ $5138 = HEAP8[$160>>0]|0;
+ $5139 = $5138 ^ $5137;
+ $5140 = $5139&255;
+ $5141 = (12736 + ($5140<<2)|0);
+ $5142 = HEAP32[$5141>>2]|0;
+ $5143 = $5132 ^ $5142;
+ $5144 = HEAP8[$368>>0]|0;
+ $5145 = $5144 ^ 75;
+ $5146 = $5145&255;
+ $5147 = (10176 + ($5146)|0);
+ $5148 = HEAP8[$5147>>0]|0;
+ $5149 = HEAP8[$184>>0]|0;
+ $5150 = $5149 ^ $5148;
+ $5151 = $5150&255;
+ $5152 = (13760 + ($5151<<2)|0);
+ $5153 = HEAP32[$5152>>2]|0;
+ $5154 = $5143 ^ $5153;
+ $5155 = $5154 << 8;
+ $5156 = $5154 >>> 24;
+ $5157 = $5155 | $5156;
+ $5158 = (($5157) + ($5111))|0;
+ $5159 = (($5158) + ($5157))|0;
+ $5160 = ((($0)) + 4152|0);
+ HEAP32[$5160>>2] = $5158;
+ $5161 = $5159 << 9;
+ $5162 = $5159 >>> 23;
+ $5163 = $5161 | $5162;
+ $5164 = ((($0)) + 4156|0);
+ HEAP32[$5164>>2] = $5163;
+ $5165 = HEAP8[$208>>0]|0;
+ $5166 = $5165 ^ 13;
+ $5167 = $5166&255;
+ $5168 = (10432 + ($5167)|0);
+ $5169 = HEAP8[$5168>>0]|0;
+ $5170 = HEAP8[$1>>0]|0;
+ $5171 = $5170 ^ $5169;
+ $5172 = $5171&255;
+ $5173 = (10688 + ($5172<<2)|0);
+ $5174 = HEAP32[$5173>>2]|0;
+ $5175 = HEAP8[$224>>0]|0;
+ $5176 = $5175 ^ -42;
+ $5177 = $5176&255;
+ $5178 = (10432 + ($5177)|0);
+ $5179 = HEAP8[$5178>>0]|0;
+ $5180 = HEAP8[$40>>0]|0;
+ $5181 = $5180 ^ $5179;
+ $5182 = $5181&255;
+ $5183 = (11712 + ($5182<<2)|0);
+ $5184 = HEAP32[$5183>>2]|0;
+ $5185 = $5184 ^ $5174;
+ $5186 = HEAP8[$248>>0]|0;
+ $5187 = $5186 ^ 13;
+ $5188 = $5187&255;
+ $5189 = (10176 + ($5188)|0);
+ $5190 = HEAP8[$5189>>0]|0;
+ $5191 = HEAP8[$64>>0]|0;
+ $5192 = $5191 ^ $5190;
+ $5193 = $5192&255;
+ $5194 = (12736 + ($5193<<2)|0);
+ $5195 = HEAP32[$5194>>2]|0;
+ $5196 = $5185 ^ $5195;
+ $5197 = HEAP8[$272>>0]|0;
+ $5198 = $5197 ^ -42;
+ $5199 = $5198&255;
+ $5200 = (10176 + ($5199)|0);
+ $5201 = HEAP8[$5200>>0]|0;
+ $5202 = HEAP8[$88>>0]|0;
+ $5203 = $5202 ^ $5201;
+ $5204 = $5203&255;
+ $5205 = (13760 + ($5204<<2)|0);
+ $5206 = HEAP32[$5205>>2]|0;
+ $5207 = $5196 ^ $5206;
+ $5208 = HEAP8[$296>>0]|0;
+ $5209 = $5208 ^ -58;
+ $5210 = $5209&255;
+ $5211 = (10432 + ($5210)|0);
+ $5212 = HEAP8[$5211>>0]|0;
+ $5213 = HEAP8[$112>>0]|0;
+ $5214 = $5213 ^ $5212;
+ $5215 = $5214&255;
+ $5216 = (10688 + ($5215<<2)|0);
+ $5217 = HEAP32[$5216>>2]|0;
+ $5218 = HEAP8[$320>>0]|0;
+ $5219 = $5218 ^ 50;
+ $5220 = $5219&255;
+ $5221 = (10432 + ($5220)|0);
+ $5222 = HEAP8[$5221>>0]|0;
+ $5223 = HEAP8[$136>>0]|0;
+ $5224 = $5223 ^ $5222;
+ $5225 = $5224&255;
+ $5226 = (11712 + ($5225<<2)|0);
+ $5227 = HEAP32[$5226>>2]|0;
+ $5228 = $5227 ^ $5217;
+ $5229 = HEAP8[$344>>0]|0;
+ $5230 = $5229 ^ -58;
+ $5231 = $5230&255;
+ $5232 = (10176 + ($5231)|0);
+ $5233 = HEAP8[$5232>>0]|0;
+ $5234 = HEAP8[$160>>0]|0;
+ $5235 = $5234 ^ $5233;
+ $5236 = $5235&255;
+ $5237 = (12736 + ($5236<<2)|0);
+ $5238 = HEAP32[$5237>>2]|0;
+ $5239 = $5228 ^ $5238;
+ $5240 = HEAP8[$368>>0]|0;
+ $5241 = $5240 ^ 50;
+ $5242 = $5241&255;
+ $5243 = (10176 + ($5242)|0);
+ $5244 = HEAP8[$5243>>0]|0;
+ $5245 = HEAP8[$184>>0]|0;
+ $5246 = $5245 ^ $5244;
+ $5247 = $5246&255;
+ $5248 = (13760 + ($5247<<2)|0);
+ $5249 = HEAP32[$5248>>2]|0;
+ $5250 = $5239 ^ $5249;
+ $5251 = $5250 << 8;
+ $5252 = $5250 >>> 24;
+ $5253 = $5251 | $5252;
+ $5254 = (($5253) + ($5207))|0;
+ $5255 = (($5254) + ($5253))|0;
+ $5256 = ((($0)) + 4160|0);
+ HEAP32[$5256>>2] = $5254;
+ $5257 = $5255 << 9;
+ $5258 = $5255 >>> 23;
+ $5259 = $5257 | $5258;
+ $5260 = ((($0)) + 4164|0);
+ HEAP32[$5260>>2] = $5259;
+ $5261 = HEAP8[$208>>0]|0;
+ $5262 = $5261 ^ 53;
+ $5263 = $5262&255;
+ $5264 = (10432 + ($5263)|0);
+ $5265 = HEAP8[$5264>>0]|0;
+ $5266 = HEAP8[$1>>0]|0;
+ $5267 = $5266 ^ $5265;
+ $5268 = $5267&255;
+ $5269 = (10688 + ($5268<<2)|0);
+ $5270 = HEAP32[$5269>>2]|0;
+ $5271 = HEAP8[$224>>0]|0;
+ $5272 = $5271 ^ -40;
+ $5273 = $5272&255;
+ $5274 = (10432 + ($5273)|0);
+ $5275 = HEAP8[$5274>>0]|0;
+ $5276 = HEAP8[$40>>0]|0;
+ $5277 = $5276 ^ $5275;
+ $5278 = $5277&255;
+ $5279 = (11712 + ($5278<<2)|0);
+ $5280 = HEAP32[$5279>>2]|0;
+ $5281 = $5280 ^ $5270;
+ $5282 = HEAP8[$248>>0]|0;
+ $5283 = $5282 ^ 53;
+ $5284 = $5283&255;
+ $5285 = (10176 + ($5284)|0);
+ $5286 = HEAP8[$5285>>0]|0;
+ $5287 = HEAP8[$64>>0]|0;
+ $5288 = $5287 ^ $5286;
+ $5289 = $5288&255;
+ $5290 = (12736 + ($5289<<2)|0);
+ $5291 = HEAP32[$5290>>2]|0;
+ $5292 = $5281 ^ $5291;
+ $5293 = HEAP8[$272>>0]|0;
+ $5294 = $5293 ^ -40;
+ $5295 = $5294&255;
+ $5296 = (10176 + ($5295)|0);
+ $5297 = HEAP8[$5296>>0]|0;
+ $5298 = HEAP8[$88>>0]|0;
+ $5299 = $5298 ^ $5297;
+ $5300 = $5299&255;
+ $5301 = (13760 + ($5300<<2)|0);
+ $5302 = HEAP32[$5301>>2]|0;
+ $5303 = $5292 ^ $5302;
+ $5304 = HEAP8[$296>>0]|0;
+ $5305 = $5304 ^ -104;
+ $5306 = $5305&255;
+ $5307 = (10432 + ($5306)|0);
+ $5308 = HEAP8[$5307>>0]|0;
+ $5309 = HEAP8[$112>>0]|0;
+ $5310 = $5309 ^ $5308;
+ $5311 = $5310&255;
+ $5312 = (10688 + ($5311<<2)|0);
+ $5313 = HEAP32[$5312>>2]|0;
+ $5314 = HEAP8[$320>>0]|0;
+ $5315 = $5314 ^ -3;
+ $5316 = $5315&255;
+ $5317 = (10432 + ($5316)|0);
+ $5318 = HEAP8[$5317>>0]|0;
+ $5319 = HEAP8[$136>>0]|0;
+ $5320 = $5319 ^ $5318;
+ $5321 = $5320&255;
+ $5322 = (11712 + ($5321<<2)|0);
+ $5323 = HEAP32[$5322>>2]|0;
+ $5324 = $5323 ^ $5313;
+ $5325 = HEAP8[$344>>0]|0;
+ $5326 = $5325 ^ -104;
+ $5327 = $5326&255;
+ $5328 = (10176 + ($5327)|0);
+ $5329 = HEAP8[$5328>>0]|0;
+ $5330 = HEAP8[$160>>0]|0;
+ $5331 = $5330 ^ $5329;
+ $5332 = $5331&255;
+ $5333 = (12736 + ($5332<<2)|0);
+ $5334 = HEAP32[$5333>>2]|0;
+ $5335 = $5324 ^ $5334;
+ $5336 = HEAP8[$368>>0]|0;
+ $5337 = $5336 ^ -3;
+ $5338 = $5337&255;
+ $5339 = (10176 + ($5338)|0);
+ $5340 = HEAP8[$5339>>0]|0;
+ $5341 = HEAP8[$184>>0]|0;
+ $5342 = $5341 ^ $5340;
+ $5343 = $5342&255;
+ $5344 = (13760 + ($5343<<2)|0);
+ $5345 = HEAP32[$5344>>2]|0;
+ $5346 = $5335 ^ $5345;
+ $5347 = $5346 << 8;
+ $5348 = $5346 >>> 24;
+ $5349 = $5347 | $5348;
+ $5350 = (($5349) + ($5303))|0;
+ $5351 = (($5350) + ($5349))|0;
+ $5352 = ((($0)) + 4168|0);
+ HEAP32[$5352>>2] = $5350;
+ $5353 = $5351 << 9;
+ $5354 = $5351 >>> 23;
+ $5355 = $5353 | $5354;
+ $5356 = ((($0)) + 4172|0);
+ HEAP32[$5356>>2] = $5355;
+ $5357 = HEAP8[$208>>0]|0;
+ $5358 = $5357 ^ 24;
+ $5359 = $5358&255;
+ $5360 = (10432 + ($5359)|0);
+ $5361 = HEAP8[$5360>>0]|0;
+ $5362 = HEAP8[$1>>0]|0;
+ $5363 = $5362 ^ $5361;
+ $5364 = $5363&255;
+ $5365 = (10688 + ($5364<<2)|0);
+ $5366 = HEAP32[$5365>>2]|0;
+ $5367 = HEAP8[$224>>0]|0;
+ $5368 = $5367 ^ 55;
+ $5369 = $5368&255;
+ $5370 = (10432 + ($5369)|0);
+ $5371 = HEAP8[$5370>>0]|0;
+ $5372 = HEAP8[$40>>0]|0;
+ $5373 = $5372 ^ $5371;
+ $5374 = $5373&255;
+ $5375 = (11712 + ($5374<<2)|0);
+ $5376 = HEAP32[$5375>>2]|0;
+ $5377 = $5376 ^ $5366;
+ $5378 = HEAP8[$248>>0]|0;
+ $5379 = $5378 ^ 24;
+ $5380 = $5379&255;
+ $5381 = (10176 + ($5380)|0);
+ $5382 = HEAP8[$5381>>0]|0;
+ $5383 = HEAP8[$64>>0]|0;
+ $5384 = $5383 ^ $5382;
+ $5385 = $5384&255;
+ $5386 = (12736 + ($5385<<2)|0);
+ $5387 = HEAP32[$5386>>2]|0;
+ $5388 = $5377 ^ $5387;
+ $5389 = HEAP8[$272>>0]|0;
+ $5390 = $5389 ^ 55;
+ $5391 = $5390&255;
+ $5392 = (10176 + ($5391)|0);
+ $5393 = HEAP8[$5392>>0]|0;
+ $5394 = HEAP8[$88>>0]|0;
+ $5395 = $5394 ^ $5393;
+ $5396 = $5395&255;
+ $5397 = (13760 + ($5396<<2)|0);
+ $5398 = HEAP32[$5397>>2]|0;
+ $5399 = $5388 ^ $5398;
+ $5400 = HEAP8[$296>>0]|0;
+ $5401 = $5400 ^ -9;
+ $5402 = $5401&255;
+ $5403 = (10432 + ($5402)|0);
+ $5404 = HEAP8[$5403>>0]|0;
+ $5405 = HEAP8[$112>>0]|0;
+ $5406 = $5405 ^ $5404;
+ $5407 = $5406&255;
+ $5408 = (10688 + ($5407<<2)|0);
+ $5409 = HEAP32[$5408>>2]|0;
+ $5410 = HEAP8[$320>>0]|0;
+ $5411 = $5410 ^ 113;
+ $5412 = $5411&255;
+ $5413 = (10432 + ($5412)|0);
+ $5414 = HEAP8[$5413>>0]|0;
+ $5415 = HEAP8[$136>>0]|0;
+ $5416 = $5415 ^ $5414;
+ $5417 = $5416&255;
+ $5418 = (11712 + ($5417<<2)|0);
+ $5419 = HEAP32[$5418>>2]|0;
+ $5420 = $5419 ^ $5409;
+ $5421 = HEAP8[$344>>0]|0;
+ $5422 = $5421 ^ -9;
+ $5423 = $5422&255;
+ $5424 = (10176 + ($5423)|0);
+ $5425 = HEAP8[$5424>>0]|0;
+ $5426 = HEAP8[$160>>0]|0;
+ $5427 = $5426 ^ $5425;
+ $5428 = $5427&255;
+ $5429 = (12736 + ($5428<<2)|0);
+ $5430 = HEAP32[$5429>>2]|0;
+ $5431 = $5420 ^ $5430;
+ $5432 = HEAP8[$368>>0]|0;
+ $5433 = $5432 ^ 113;
+ $5434 = $5433&255;
+ $5435 = (10176 + ($5434)|0);
+ $5436 = HEAP8[$5435>>0]|0;
+ $5437 = HEAP8[$184>>0]|0;
+ $5438 = $5437 ^ $5436;
+ $5439 = $5438&255;
+ $5440 = (13760 + ($5439<<2)|0);
+ $5441 = HEAP32[$5440>>2]|0;
+ $5442 = $5431 ^ $5441;
+ $5443 = $5442 << 8;
+ $5444 = $5442 >>> 24;
+ $5445 = $5443 | $5444;
+ $5446 = (($5445) + ($5399))|0;
+ $5447 = (($5446) + ($5445))|0;
+ $5448 = ((($0)) + 4176|0);
+ HEAP32[$5448>>2] = $5446;
+ $5449 = $5447 << 9;
+ $5450 = $5447 >>> 23;
+ $5451 = $5449 | $5450;
+ $5452 = ((($0)) + 4180|0);
+ HEAP32[$5452>>2] = $5451;
+ $5453 = HEAP8[$208>>0]|0;
+ $5454 = $5453 ^ -20;
+ $5455 = $5454&255;
+ $5456 = (10432 + ($5455)|0);
+ $5457 = HEAP8[$5456>>0]|0;
+ $5458 = HEAP8[$1>>0]|0;
+ $5459 = $5458 ^ $5457;
+ $5460 = $5459&255;
+ $5461 = (10688 + ($5460<<2)|0);
+ $5462 = HEAP32[$5461>>2]|0;
+ $5463 = HEAP8[$224>>0]|0;
+ $5464 = $5463 ^ -15;
+ $5465 = $5464&255;
+ $5466 = (10432 + ($5465)|0);
+ $5467 = HEAP8[$5466>>0]|0;
+ $5468 = HEAP8[$40>>0]|0;
+ $5469 = $5468 ^ $5467;
+ $5470 = $5469&255;
+ $5471 = (11712 + ($5470<<2)|0);
+ $5472 = HEAP32[$5471>>2]|0;
+ $5473 = $5472 ^ $5462;
+ $5474 = HEAP8[$248>>0]|0;
+ $5475 = $5474 ^ -20;
+ $5476 = $5475&255;
+ $5477 = (10176 + ($5476)|0);
+ $5478 = HEAP8[$5477>>0]|0;
+ $5479 = HEAP8[$64>>0]|0;
+ $5480 = $5479 ^ $5478;
+ $5481 = $5480&255;
+ $5482 = (12736 + ($5481<<2)|0);
+ $5483 = HEAP32[$5482>>2]|0;
+ $5484 = $5473 ^ $5483;
+ $5485 = HEAP8[$272>>0]|0;
+ $5486 = $5485 ^ -15;
+ $5487 = $5486&255;
+ $5488 = (10176 + ($5487)|0);
+ $5489 = HEAP8[$5488>>0]|0;
+ $5490 = HEAP8[$88>>0]|0;
+ $5491 = $5490 ^ $5489;
+ $5492 = $5491&255;
+ $5493 = (13760 + ($5492<<2)|0);
+ $5494 = HEAP32[$5493>>2]|0;
+ $5495 = $5484 ^ $5494;
+ $5496 = HEAP8[$296>>0]|0;
+ $5497 = $5496 ^ 108;
+ $5498 = $5497&255;
+ $5499 = (10432 + ($5498)|0);
+ $5500 = HEAP8[$5499>>0]|0;
+ $5501 = HEAP8[$112>>0]|0;
+ $5502 = $5501 ^ $5500;
+ $5503 = $5502&255;
+ $5504 = (10688 + ($5503<<2)|0);
+ $5505 = HEAP32[$5504>>2]|0;
+ $5506 = HEAP8[$320>>0]|0;
+ $5507 = $5506 ^ -31;
+ $5508 = $5507&255;
+ $5509 = (10432 + ($5508)|0);
+ $5510 = HEAP8[$5509>>0]|0;
+ $5511 = HEAP8[$136>>0]|0;
+ $5512 = $5511 ^ $5510;
+ $5513 = $5512&255;
+ $5514 = (11712 + ($5513<<2)|0);
+ $5515 = HEAP32[$5514>>2]|0;
+ $5516 = $5515 ^ $5505;
+ $5517 = HEAP8[$344>>0]|0;
+ $5518 = $5517 ^ 108;
+ $5519 = $5518&255;
+ $5520 = (10176 + ($5519)|0);
+ $5521 = HEAP8[$5520>>0]|0;
+ $5522 = HEAP8[$160>>0]|0;
+ $5523 = $5522 ^ $5521;
+ $5524 = $5523&255;
+ $5525 = (12736 + ($5524<<2)|0);
+ $5526 = HEAP32[$5525>>2]|0;
+ $5527 = $5516 ^ $5526;
+ $5528 = HEAP8[$368>>0]|0;
+ $5529 = $5528 ^ -31;
+ $5530 = $5529&255;
+ $5531 = (10176 + ($5530)|0);
+ $5532 = HEAP8[$5531>>0]|0;
+ $5533 = HEAP8[$184>>0]|0;
+ $5534 = $5533 ^ $5532;
+ $5535 = $5534&255;
+ $5536 = (13760 + ($5535<<2)|0);
+ $5537 = HEAP32[$5536>>2]|0;
+ $5538 = $5527 ^ $5537;
+ $5539 = $5538 << 8;
+ $5540 = $5538 >>> 24;
+ $5541 = $5539 | $5540;
+ $5542 = (($5541) + ($5495))|0;
+ $5543 = (($5542) + ($5541))|0;
+ $5544 = ((($0)) + 4184|0);
+ HEAP32[$5544>>2] = $5542;
+ $5545 = $5543 << 9;
+ $5546 = $5543 >>> 23;
+ $5547 = $5545 | $5546;
+ $5548 = ((($0)) + 4188|0);
+ HEAP32[$5548>>2] = $5547;
+ $5549 = HEAP8[$208>>0]|0;
+ $5550 = $5549 ^ 67;
+ $5551 = $5550&255;
+ $5552 = (10432 + ($5551)|0);
+ $5553 = HEAP8[$5552>>0]|0;
+ $5554 = HEAP8[$1>>0]|0;
+ $5555 = $5554 ^ $5553;
+ $5556 = $5555&255;
+ $5557 = (10688 + ($5556<<2)|0);
+ $5558 = HEAP32[$5557>>2]|0;
+ $5559 = HEAP8[$224>>0]|0;
+ $5560 = $5559 ^ 48;
+ $5561 = $5560&255;
+ $5562 = (10432 + ($5561)|0);
+ $5563 = HEAP8[$5562>>0]|0;
+ $5564 = HEAP8[$40>>0]|0;
+ $5565 = $5564 ^ $5563;
+ $5566 = $5565&255;
+ $5567 = (11712 + ($5566<<2)|0);
+ $5568 = HEAP32[$5567>>2]|0;
+ $5569 = $5568 ^ $5558;
+ $5570 = HEAP8[$248>>0]|0;
+ $5571 = $5570 ^ 67;
+ $5572 = $5571&255;
+ $5573 = (10176 + ($5572)|0);
+ $5574 = HEAP8[$5573>>0]|0;
+ $5575 = HEAP8[$64>>0]|0;
+ $5576 = $5575 ^ $5574;
+ $5577 = $5576&255;
+ $5578 = (12736 + ($5577<<2)|0);
+ $5579 = HEAP32[$5578>>2]|0;
+ $5580 = $5569 ^ $5579;
+ $5581 = HEAP8[$272>>0]|0;
+ $5582 = $5581 ^ 48;
+ $5583 = $5582&255;
+ $5584 = (10176 + ($5583)|0);
+ $5585 = HEAP8[$5584>>0]|0;
+ $5586 = HEAP8[$88>>0]|0;
+ $5587 = $5586 ^ $5585;
+ $5588 = $5587&255;
+ $5589 = (13760 + ($5588<<2)|0);
+ $5590 = HEAP32[$5589>>2]|0;
+ $5591 = $5580 ^ $5590;
+ $5592 = HEAP8[$296>>0]|0;
+ $5593 = $5592 ^ 117;
+ $5594 = $5593&255;
+ $5595 = (10432 + ($5594)|0);
+ $5596 = HEAP8[$5595>>0]|0;
+ $5597 = HEAP8[$112>>0]|0;
+ $5598 = $5597 ^ $5596;
+ $5599 = $5598&255;
+ $5600 = (10688 + ($5599<<2)|0);
+ $5601 = HEAP32[$5600>>2]|0;
+ $5602 = HEAP8[$320>>0]|0;
+ $5603 = $5602 ^ 15;
+ $5604 = $5603&255;
+ $5605 = (10432 + ($5604)|0);
+ $5606 = HEAP8[$5605>>0]|0;
+ $5607 = HEAP8[$136>>0]|0;
+ $5608 = $5607 ^ $5606;
+ $5609 = $5608&255;
+ $5610 = (11712 + ($5609<<2)|0);
+ $5611 = HEAP32[$5610>>2]|0;
+ $5612 = $5611 ^ $5601;
+ $5613 = HEAP8[$344>>0]|0;
+ $5614 = $5613 ^ 117;
+ $5615 = $5614&255;
+ $5616 = (10176 + ($5615)|0);
+ $5617 = HEAP8[$5616>>0]|0;
+ $5618 = HEAP8[$160>>0]|0;
+ $5619 = $5618 ^ $5617;
+ $5620 = $5619&255;
+ $5621 = (12736 + ($5620<<2)|0);
+ $5622 = HEAP32[$5621>>2]|0;
+ $5623 = $5612 ^ $5622;
+ $5624 = HEAP8[$368>>0]|0;
+ $5625 = $5624 ^ 15;
+ $5626 = $5625&255;
+ $5627 = (10176 + ($5626)|0);
+ $5628 = HEAP8[$5627>>0]|0;
+ $5629 = HEAP8[$184>>0]|0;
+ $5630 = $5629 ^ $5628;
+ $5631 = $5630&255;
+ $5632 = (13760 + ($5631<<2)|0);
+ $5633 = HEAP32[$5632>>2]|0;
+ $5634 = $5623 ^ $5633;
+ $5635 = $5634 << 8;
+ $5636 = $5634 >>> 24;
+ $5637 = $5635 | $5636;
+ $5638 = (($5637) + ($5591))|0;
+ $5639 = (($5638) + ($5637))|0;
+ $5640 = ((($0)) + 4192|0);
+ HEAP32[$5640>>2] = $5638;
+ $5641 = $5639 << 9;
+ $5642 = $5639 >>> 23;
+ $5643 = $5641 | $5642;
+ $5644 = ((($0)) + 4196|0);
+ HEAP32[$5644>>2] = $5643;
+ $5645 = HEAP8[$208>>0]|0;
+ $5646 = $5645 ^ 55;
+ $5647 = $5646&255;
+ $5648 = (10432 + ($5647)|0);
+ $5649 = HEAP8[$5648>>0]|0;
+ $5650 = HEAP8[$1>>0]|0;
+ $5651 = $5650 ^ $5649;
+ $5652 = $5651&255;
+ $5653 = (10688 + ($5652<<2)|0);
+ $5654 = HEAP32[$5653>>2]|0;
+ $5655 = HEAP8[$224>>0]|0;
+ $5656 = $5655 ^ -8;
+ $5657 = $5656&255;
+ $5658 = (10432 + ($5657)|0);
+ $5659 = HEAP8[$5658>>0]|0;
+ $5660 = HEAP8[$40>>0]|0;
+ $5661 = $5660 ^ $5659;
+ $5662 = $5661&255;
+ $5663 = (11712 + ($5662<<2)|0);
+ $5664 = HEAP32[$5663>>2]|0;
+ $5665 = $5664 ^ $5654;
+ $5666 = HEAP8[$248>>0]|0;
+ $5667 = $5666 ^ 55;
+ $5668 = $5667&255;
+ $5669 = (10176 + ($5668)|0);
+ $5670 = HEAP8[$5669>>0]|0;
+ $5671 = HEAP8[$64>>0]|0;
+ $5672 = $5671 ^ $5670;
+ $5673 = $5672&255;
+ $5674 = (12736 + ($5673<<2)|0);
+ $5675 = HEAP32[$5674>>2]|0;
+ $5676 = $5665 ^ $5675;
+ $5677 = HEAP8[$272>>0]|0;
+ $5678 = $5677 ^ -8;
+ $5679 = $5678&255;
+ $5680 = (10176 + ($5679)|0);
+ $5681 = HEAP8[$5680>>0]|0;
+ $5682 = HEAP8[$88>>0]|0;
+ $5683 = $5682 ^ $5681;
+ $5684 = $5683&255;
+ $5685 = (13760 + ($5684<<2)|0);
+ $5686 = HEAP32[$5685>>2]|0;
+ $5687 = $5676 ^ $5686;
+ $5688 = HEAP8[$296>>0]|0;
+ $5689 = $5688 ^ 38;
+ $5690 = $5689&255;
+ $5691 = (10432 + ($5690)|0);
+ $5692 = HEAP8[$5691>>0]|0;
+ $5693 = HEAP8[$112>>0]|0;
+ $5694 = $5693 ^ $5692;
+ $5695 = $5694&255;
+ $5696 = (10688 + ($5695<<2)|0);
+ $5697 = HEAP32[$5696>>2]|0;
+ $5698 = HEAP8[$320>>0]|0;
+ $5699 = $5698 ^ 27;
+ $5700 = $5699&255;
+ $5701 = (10432 + ($5700)|0);
+ $5702 = HEAP8[$5701>>0]|0;
+ $5703 = HEAP8[$136>>0]|0;
+ $5704 = $5703 ^ $5702;
+ $5705 = $5704&255;
+ $5706 = (11712 + ($5705<<2)|0);
+ $5707 = HEAP32[$5706>>2]|0;
+ $5708 = $5707 ^ $5697;
+ $5709 = HEAP8[$344>>0]|0;
+ $5710 = $5709 ^ 38;
+ $5711 = $5710&255;
+ $5712 = (10176 + ($5711)|0);
+ $5713 = HEAP8[$5712>>0]|0;
+ $5714 = HEAP8[$160>>0]|0;
+ $5715 = $5714 ^ $5713;
+ $5716 = $5715&255;
+ $5717 = (12736 + ($5716<<2)|0);
+ $5718 = HEAP32[$5717>>2]|0;
+ $5719 = $5708 ^ $5718;
+ $5720 = HEAP8[$368>>0]|0;
+ $5721 = $5720 ^ 27;
+ $5722 = $5721&255;
+ $5723 = (10176 + ($5722)|0);
+ $5724 = HEAP8[$5723>>0]|0;
+ $5725 = HEAP8[$184>>0]|0;
+ $5726 = $5725 ^ $5724;
+ $5727 = $5726&255;
+ $5728 = (13760 + ($5727<<2)|0);
+ $5729 = HEAP32[$5728>>2]|0;
+ $5730 = $5719 ^ $5729;
+ $5731 = $5730 << 8;
+ $5732 = $5730 >>> 24;
+ $5733 = $5731 | $5732;
+ $5734 = (($5733) + ($5687))|0;
+ $5735 = (($5734) + ($5733))|0;
+ $5736 = ((($0)) + 4200|0);
+ HEAP32[$5736>>2] = $5734;
+ $5737 = $5735 << 9;
+ $5738 = $5735 >>> 23;
+ $5739 = $5737 | $5738;
+ $5740 = ((($0)) + 4204|0);
+ HEAP32[$5740>>2] = $5739;
+ $5741 = HEAP8[$208>>0]|0;
+ $5742 = $5741 ^ -6;
+ $5743 = $5742&255;
+ $5744 = (10432 + ($5743)|0);
+ $5745 = HEAP8[$5744>>0]|0;
+ $5746 = HEAP8[$1>>0]|0;
+ $5747 = $5746 ^ $5745;
+ $5748 = $5747&255;
+ $5749 = (10688 + ($5748<<2)|0);
+ $5750 = HEAP32[$5749>>2]|0;
+ $5751 = HEAP8[$224>>0]|0;
+ $5752 = $5751 ^ -121;
+ $5753 = $5752&255;
+ $5754 = (10432 + ($5753)|0);
+ $5755 = HEAP8[$5754>>0]|0;
+ $5756 = HEAP8[$40>>0]|0;
+ $5757 = $5756 ^ $5755;
+ $5758 = $5757&255;
+ $5759 = (11712 + ($5758<<2)|0);
+ $5760 = HEAP32[$5759>>2]|0;
+ $5761 = $5760 ^ $5750;
+ $5762 = HEAP8[$248>>0]|0;
+ $5763 = $5762 ^ -6;
+ $5764 = $5763&255;
+ $5765 = (10176 + ($5764)|0);
+ $5766 = HEAP8[$5765>>0]|0;
+ $5767 = HEAP8[$64>>0]|0;
+ $5768 = $5767 ^ $5766;
+ $5769 = $5768&255;
+ $5770 = (12736 + ($5769<<2)|0);
+ $5771 = HEAP32[$5770>>2]|0;
+ $5772 = $5761 ^ $5771;
+ $5773 = HEAP8[$272>>0]|0;
+ $5774 = $5773 ^ -121;
+ $5775 = $5774&255;
+ $5776 = (10176 + ($5775)|0);
+ $5777 = HEAP8[$5776>>0]|0;
+ $5778 = HEAP8[$88>>0]|0;
+ $5779 = $5778 ^ $5777;
+ $5780 = $5779&255;
+ $5781 = (13760 + ($5780<<2)|0);
+ $5782 = HEAP32[$5781>>2]|0;
+ $5783 = $5772 ^ $5782;
+ $5784 = HEAP8[$296>>0]|0;
+ $5785 = $5784 ^ 19;
+ $5786 = $5785&255;
+ $5787 = (10432 + ($5786)|0);
+ $5788 = HEAP8[$5787>>0]|0;
+ $5789 = HEAP8[$112>>0]|0;
+ $5790 = $5789 ^ $5788;
+ $5791 = $5790&255;
+ $5792 = (10688 + ($5791<<2)|0);
+ $5793 = HEAP32[$5792>>2]|0;
+ $5794 = HEAP8[$320>>0]|0;
+ $5795 = $5794 ^ -6;
+ $5796 = $5795&255;
+ $5797 = (10432 + ($5796)|0);
+ $5798 = HEAP8[$5797>>0]|0;
+ $5799 = HEAP8[$136>>0]|0;
+ $5800 = $5799 ^ $5798;
+ $5801 = $5800&255;
+ $5802 = (11712 + ($5801<<2)|0);
+ $5803 = HEAP32[$5802>>2]|0;
+ $5804 = $5803 ^ $5793;
+ $5805 = HEAP8[$344>>0]|0;
+ $5806 = $5805 ^ 19;
+ $5807 = $5806&255;
+ $5808 = (10176 + ($5807)|0);
+ $5809 = HEAP8[$5808>>0]|0;
+ $5810 = HEAP8[$160>>0]|0;
+ $5811 = $5810 ^ $5809;
+ $5812 = $5811&255;
+ $5813 = (12736 + ($5812<<2)|0);
+ $5814 = HEAP32[$5813>>2]|0;
+ $5815 = $5804 ^ $5814;
+ $5816 = HEAP8[$368>>0]|0;
+ $5817 = $5816 ^ -6;
+ $5818 = $5817&255;
+ $5819 = (10176 + ($5818)|0);
+ $5820 = HEAP8[$5819>>0]|0;
+ $5821 = HEAP8[$184>>0]|0;
+ $5822 = $5821 ^ $5820;
+ $5823 = $5822&255;
+ $5824 = (13760 + ($5823<<2)|0);
+ $5825 = HEAP32[$5824>>2]|0;
+ $5826 = $5815 ^ $5825;
+ $5827 = $5826 << 8;
+ $5828 = $5826 >>> 24;
+ $5829 = $5827 | $5828;
+ $5830 = (($5829) + ($5783))|0;
+ $5831 = (($5830) + ($5829))|0;
+ $5832 = ((($0)) + 4208|0);
+ HEAP32[$5832>>2] = $5830;
+ $5833 = $5831 << 9;
+ $5834 = $5831 >>> 23;
+ $5835 = $5833 | $5834;
+ $5836 = ((($0)) + 4212|0);
+ HEAP32[$5836>>2] = $5835;
+ $5837 = HEAP8[$208>>0]|0;
+ $5838 = $5837 ^ -108;
+ $5839 = $5838&255;
+ $5840 = (10432 + ($5839)|0);
+ $5841 = HEAP8[$5840>>0]|0;
+ $5842 = HEAP8[$1>>0]|0;
+ $5843 = $5842 ^ $5841;
+ $5844 = $5843&255;
+ $5845 = (10688 + ($5844<<2)|0);
+ $5846 = HEAP32[$5845>>2]|0;
+ $5847 = HEAP8[$224>>0]|0;
+ $5848 = $5847 ^ 6;
+ $5849 = $5848&255;
+ $5850 = (10432 + ($5849)|0);
+ $5851 = HEAP8[$5850>>0]|0;
+ $5852 = HEAP8[$40>>0]|0;
+ $5853 = $5852 ^ $5851;
+ $5854 = $5853&255;
+ $5855 = (11712 + ($5854<<2)|0);
+ $5856 = HEAP32[$5855>>2]|0;
+ $5857 = $5856 ^ $5846;
+ $5858 = HEAP8[$248>>0]|0;
+ $5859 = $5858 ^ -108;
+ $5860 = $5859&255;
+ $5861 = (10176 + ($5860)|0);
+ $5862 = HEAP8[$5861>>0]|0;
+ $5863 = HEAP8[$64>>0]|0;
+ $5864 = $5863 ^ $5862;
+ $5865 = $5864&255;
+ $5866 = (12736 + ($5865<<2)|0);
+ $5867 = HEAP32[$5866>>2]|0;
+ $5868 = $5857 ^ $5867;
+ $5869 = HEAP8[$272>>0]|0;
+ $5870 = $5869 ^ 6;
+ $5871 = $5870&255;
+ $5872 = (10176 + ($5871)|0);
+ $5873 = HEAP8[$5872>>0]|0;
+ $5874 = HEAP8[$88>>0]|0;
+ $5875 = $5874 ^ $5873;
+ $5876 = $5875&255;
+ $5877 = (13760 + ($5876<<2)|0);
+ $5878 = HEAP32[$5877>>2]|0;
+ $5879 = $5868 ^ $5878;
+ $5880 = HEAP8[$296>>0]|0;
+ $5881 = $5880 ^ 72;
+ $5882 = $5881&255;
+ $5883 = (10432 + ($5882)|0);
+ $5884 = HEAP8[$5883>>0]|0;
+ $5885 = HEAP8[$112>>0]|0;
+ $5886 = $5885 ^ $5884;
+ $5887 = $5886&255;
+ $5888 = (10688 + ($5887<<2)|0);
+ $5889 = HEAP32[$5888>>2]|0;
+ $5890 = HEAP8[$320>>0]|0;
+ $5891 = $5890 ^ 63;
+ $5892 = $5891&255;
+ $5893 = (10432 + ($5892)|0);
+ $5894 = HEAP8[$5893>>0]|0;
+ $5895 = HEAP8[$136>>0]|0;
+ $5896 = $5895 ^ $5894;
+ $5897 = $5896&255;
+ $5898 = (11712 + ($5897<<2)|0);
+ $5899 = HEAP32[$5898>>2]|0;
+ $5900 = $5899 ^ $5889;
+ $5901 = HEAP8[$344>>0]|0;
+ $5902 = $5901 ^ 72;
+ $5903 = $5902&255;
+ $5904 = (10176 + ($5903)|0);
+ $5905 = HEAP8[$5904>>0]|0;
+ $5906 = HEAP8[$160>>0]|0;
+ $5907 = $5906 ^ $5905;
+ $5908 = $5907&255;
+ $5909 = (12736 + ($5908<<2)|0);
+ $5910 = HEAP32[$5909>>2]|0;
+ $5911 = $5900 ^ $5910;
+ $5912 = HEAP8[$368>>0]|0;
+ $5913 = $5912 ^ 63;
+ $5914 = $5913&255;
+ $5915 = (10176 + ($5914)|0);
+ $5916 = HEAP8[$5915>>0]|0;
+ $5917 = HEAP8[$184>>0]|0;
+ $5918 = $5917 ^ $5916;
+ $5919 = $5918&255;
+ $5920 = (13760 + ($5919<<2)|0);
+ $5921 = HEAP32[$5920>>2]|0;
+ $5922 = $5911 ^ $5921;
+ $5923 = $5922 << 8;
+ $5924 = $5922 >>> 24;
+ $5925 = $5923 | $5924;
+ $5926 = (($5925) + ($5879))|0;
+ $5927 = (($5926) + ($5925))|0;
+ $5928 = ((($0)) + 4216|0);
+ HEAP32[$5928>>2] = $5926;
+ $5929 = $5927 << 9;
+ $5930 = $5927 >>> 23;
+ $5931 = $5929 | $5930;
+ $5932 = ((($0)) + 4220|0);
+ HEAP32[$5932>>2] = $5931;
+ $5933 = HEAP8[$208>>0]|0;
+ $5934 = $5933 ^ -14;
+ $5935 = $5934&255;
+ $5936 = (10432 + ($5935)|0);
+ $5937 = HEAP8[$5936>>0]|0;
+ $5938 = HEAP8[$1>>0]|0;
+ $5939 = $5938 ^ $5937;
+ $5940 = $5939&255;
+ $5941 = (10688 + ($5940<<2)|0);
+ $5942 = HEAP32[$5941>>2]|0;
+ $5943 = HEAP8[$224>>0]|0;
+ $5944 = $5943 ^ 94;
+ $5945 = $5944&255;
+ $5946 = (10432 + ($5945)|0);
+ $5947 = HEAP8[$5946>>0]|0;
+ $5948 = HEAP8[$40>>0]|0;
+ $5949 = $5948 ^ $5947;
+ $5950 = $5949&255;
+ $5951 = (11712 + ($5950<<2)|0);
+ $5952 = HEAP32[$5951>>2]|0;
+ $5953 = $5952 ^ $5942;
+ $5954 = HEAP8[$248>>0]|0;
+ $5955 = $5954 ^ -14;
+ $5956 = $5955&255;
+ $5957 = (10176 + ($5956)|0);
+ $5958 = HEAP8[$5957>>0]|0;
+ $5959 = HEAP8[$64>>0]|0;
+ $5960 = $5959 ^ $5958;
+ $5961 = $5960&255;
+ $5962 = (12736 + ($5961<<2)|0);
+ $5963 = HEAP32[$5962>>2]|0;
+ $5964 = $5953 ^ $5963;
+ $5965 = HEAP8[$272>>0]|0;
+ $5966 = $5965 ^ 94;
+ $5967 = $5966&255;
+ $5968 = (10176 + ($5967)|0);
+ $5969 = HEAP8[$5968>>0]|0;
+ $5970 = HEAP8[$88>>0]|0;
+ $5971 = $5970 ^ $5969;
+ $5972 = $5971&255;
+ $5973 = (13760 + ($5972<<2)|0);
+ $5974 = HEAP32[$5973>>2]|0;
+ $5975 = $5964 ^ $5974;
+ $5976 = HEAP8[$296>>0]|0;
+ $5977 = $5976 ^ -48;
+ $5978 = $5977&255;
+ $5979 = (10432 + ($5978)|0);
+ $5980 = HEAP8[$5979>>0]|0;
+ $5981 = HEAP8[$112>>0]|0;
+ $5982 = $5981 ^ $5980;
+ $5983 = $5982&255;
+ $5984 = (10688 + ($5983<<2)|0);
+ $5985 = HEAP32[$5984>>2]|0;
+ $5986 = HEAP8[$320>>0]|0;
+ $5987 = $5986 ^ -70;
+ $5988 = $5987&255;
+ $5989 = (10432 + ($5988)|0);
+ $5990 = HEAP8[$5989>>0]|0;
+ $5991 = HEAP8[$136>>0]|0;
+ $5992 = $5991 ^ $5990;
+ $5993 = $5992&255;
+ $5994 = (11712 + ($5993<<2)|0);
+ $5995 = HEAP32[$5994>>2]|0;
+ $5996 = $5995 ^ $5985;
+ $5997 = HEAP8[$344>>0]|0;
+ $5998 = $5997 ^ -48;
+ $5999 = $5998&255;
+ $6000 = (10176 + ($5999)|0);
+ $6001 = HEAP8[$6000>>0]|0;
+ $6002 = HEAP8[$160>>0]|0;
+ $6003 = $6002 ^ $6001;
+ $6004 = $6003&255;
+ $6005 = (12736 + ($6004<<2)|0);
+ $6006 = HEAP32[$6005>>2]|0;
+ $6007 = $5996 ^ $6006;
+ $6008 = HEAP8[$368>>0]|0;
+ $6009 = $6008 ^ -70;
+ $6010 = $6009&255;
+ $6011 = (10176 + ($6010)|0);
+ $6012 = HEAP8[$6011>>0]|0;
+ $6013 = HEAP8[$184>>0]|0;
+ $6014 = $6013 ^ $6012;
+ $6015 = $6014&255;
+ $6016 = (13760 + ($6015<<2)|0);
+ $6017 = HEAP32[$6016>>2]|0;
+ $6018 = $6007 ^ $6017;
+ $6019 = $6018 << 8;
+ $6020 = $6018 >>> 24;
+ $6021 = $6019 | $6020;
+ $6022 = (($6021) + ($5975))|0;
+ $6023 = (($6022) + ($6021))|0;
+ $6024 = ((($0)) + 4224|0);
+ HEAP32[$6024>>2] = $6022;
+ $6025 = $6023 << 9;
+ $6026 = $6023 >>> 23;
+ $6027 = $6025 | $6026;
+ $6028 = ((($0)) + 4228|0);
+ HEAP32[$6028>>2] = $6027;
+ $6029 = HEAP8[$208>>0]|0;
+ $6030 = $6029 ^ -117;
+ $6031 = $6030&255;
+ $6032 = (10432 + ($6031)|0);
+ $6033 = HEAP8[$6032>>0]|0;
+ $6034 = HEAP8[$1>>0]|0;
+ $6035 = $6034 ^ $6033;
+ $6036 = $6035&255;
+ $6037 = (10688 + ($6036<<2)|0);
+ $6038 = HEAP32[$6037>>2]|0;
+ $6039 = HEAP8[$224>>0]|0;
+ $6040 = $6039 ^ -82;
+ $6041 = $6040&255;
+ $6042 = (10432 + ($6041)|0);
+ $6043 = HEAP8[$6042>>0]|0;
+ $6044 = HEAP8[$40>>0]|0;
+ $6045 = $6044 ^ $6043;
+ $6046 = $6045&255;
+ $6047 = (11712 + ($6046<<2)|0);
+ $6048 = HEAP32[$6047>>2]|0;
+ $6049 = $6048 ^ $6038;
+ $6050 = HEAP8[$248>>0]|0;
+ $6051 = $6050 ^ -117;
+ $6052 = $6051&255;
+ $6053 = (10176 + ($6052)|0);
+ $6054 = HEAP8[$6053>>0]|0;
+ $6055 = HEAP8[$64>>0]|0;
+ $6056 = $6055 ^ $6054;
+ $6057 = $6056&255;
+ $6058 = (12736 + ($6057<<2)|0);
+ $6059 = HEAP32[$6058>>2]|0;
+ $6060 = $6049 ^ $6059;
+ $6061 = HEAP8[$272>>0]|0;
+ $6062 = $6061 ^ -82;
+ $6063 = $6062&255;
+ $6064 = (10176 + ($6063)|0);
+ $6065 = HEAP8[$6064>>0]|0;
+ $6066 = HEAP8[$88>>0]|0;
+ $6067 = $6066 ^ $6065;
+ $6068 = $6067&255;
+ $6069 = (13760 + ($6068<<2)|0);
+ $6070 = HEAP32[$6069>>2]|0;
+ $6071 = $6060 ^ $6070;
+ $6072 = HEAP8[$296>>0]|0;
+ $6073 = $6072 ^ 48;
+ $6074 = $6073&255;
+ $6075 = (10432 + ($6074)|0);
+ $6076 = HEAP8[$6075>>0]|0;
+ $6077 = HEAP8[$112>>0]|0;
+ $6078 = $6077 ^ $6076;
+ $6079 = $6078&255;
+ $6080 = (10688 + ($6079<<2)|0);
+ $6081 = HEAP32[$6080>>2]|0;
+ $6082 = HEAP8[$320>>0]|0;
+ $6083 = $6082 ^ 91;
+ $6084 = $6083&255;
+ $6085 = (10432 + ($6084)|0);
+ $6086 = HEAP8[$6085>>0]|0;
+ $6087 = HEAP8[$136>>0]|0;
+ $6088 = $6087 ^ $6086;
+ $6089 = $6088&255;
+ $6090 = (11712 + ($6089<<2)|0);
+ $6091 = HEAP32[$6090>>2]|0;
+ $6092 = $6091 ^ $6081;
+ $6093 = HEAP8[$344>>0]|0;
+ $6094 = $6093 ^ 48;
+ $6095 = $6094&255;
+ $6096 = (10176 + ($6095)|0);
+ $6097 = HEAP8[$6096>>0]|0;
+ $6098 = HEAP8[$160>>0]|0;
+ $6099 = $6098 ^ $6097;
+ $6100 = $6099&255;
+ $6101 = (12736 + ($6100<<2)|0);
+ $6102 = HEAP32[$6101>>2]|0;
+ $6103 = $6092 ^ $6102;
+ $6104 = HEAP8[$368>>0]|0;
+ $6105 = $6104 ^ 91;
+ $6106 = $6105&255;
+ $6107 = (10176 + ($6106)|0);
+ $6108 = HEAP8[$6107>>0]|0;
+ $6109 = HEAP8[$184>>0]|0;
+ $6110 = $6109 ^ $6108;
+ $6111 = $6110&255;
+ $6112 = (13760 + ($6111<<2)|0);
+ $6113 = HEAP32[$6112>>2]|0;
+ $6114 = $6103 ^ $6113;
+ $6115 = $6114 << 8;
+ $6116 = $6114 >>> 24;
+ $6117 = $6115 | $6116;
+ $6118 = (($6117) + ($6071))|0;
+ $6119 = (($6118) + ($6117))|0;
+ $6120 = ((($0)) + 4232|0);
+ HEAP32[$6120>>2] = $6118;
+ $6121 = $6119 << 9;
+ $6122 = $6119 >>> 23;
+ $6123 = $6121 | $6122;
+ $6124 = ((($0)) + 4236|0);
+ HEAP32[$6124>>2] = $6123;
+ $6125 = HEAP8[$208>>0]|0;
+ $6126 = $6125 ^ -124;
+ $6127 = $6126&255;
+ $6128 = (10432 + ($6127)|0);
+ $6129 = HEAP8[$6128>>0]|0;
+ $6130 = HEAP8[$1>>0]|0;
+ $6131 = $6130 ^ $6129;
+ $6132 = $6131&255;
+ $6133 = (10688 + ($6132<<2)|0);
+ $6134 = HEAP32[$6133>>2]|0;
+ $6135 = HEAP8[$224>>0]|0;
+ $6136 = $6135 ^ -118;
+ $6137 = $6136&255;
+ $6138 = (10432 + ($6137)|0);
+ $6139 = HEAP8[$6138>>0]|0;
+ $6140 = HEAP8[$40>>0]|0;
+ $6141 = $6140 ^ $6139;
+ $6142 = $6141&255;
+ $6143 = (11712 + ($6142<<2)|0);
+ $6144 = HEAP32[$6143>>2]|0;
+ $6145 = $6144 ^ $6134;
+ $6146 = HEAP8[$248>>0]|0;
+ $6147 = $6146 ^ -124;
+ $6148 = $6147&255;
+ $6149 = (10176 + ($6148)|0);
+ $6150 = HEAP8[$6149>>0]|0;
+ $6151 = HEAP8[$64>>0]|0;
+ $6152 = $6151 ^ $6150;
+ $6153 = $6152&255;
+ $6154 = (12736 + ($6153<<2)|0);
+ $6155 = HEAP32[$6154>>2]|0;
+ $6156 = $6145 ^ $6155;
+ $6157 = HEAP8[$272>>0]|0;
+ $6158 = $6157 ^ -118;
+ $6159 = $6158&255;
+ $6160 = (10176 + ($6159)|0);
+ $6161 = HEAP8[$6160>>0]|0;
+ $6162 = HEAP8[$88>>0]|0;
+ $6163 = $6162 ^ $6161;
+ $6164 = $6163&255;
+ $6165 = (13760 + ($6164<<2)|0);
+ $6166 = HEAP32[$6165>>2]|0;
+ $6167 = $6156 ^ $6166;
+ $6168 = HEAP8[$296>>0]|0;
+ $6169 = $6168 ^ 84;
+ $6170 = $6169&255;
+ $6171 = (10432 + ($6170)|0);
+ $6172 = HEAP8[$6171>>0]|0;
+ $6173 = HEAP8[$112>>0]|0;
+ $6174 = $6173 ^ $6172;
+ $6175 = $6174&255;
+ $6176 = (10688 + ($6175<<2)|0);
+ $6177 = HEAP32[$6176>>2]|0;
+ $6178 = HEAP8[$320>>0]|0;
+ $6179 = $6178&255;
+ $6180 = (10432 + ($6179)|0);
+ $6181 = HEAP8[$6180>>0]|0;
+ $6182 = HEAP8[$136>>0]|0;
+ $6183 = $6182 ^ $6181;
+ $6184 = $6183&255;
+ $6185 = (11712 + ($6184<<2)|0);
+ $6186 = HEAP32[$6185>>2]|0;
+ $6187 = $6186 ^ $6177;
+ $6188 = HEAP8[$344>>0]|0;
+ $6189 = $6188 ^ 84;
+ $6190 = $6189&255;
+ $6191 = (10176 + ($6190)|0);
+ $6192 = HEAP8[$6191>>0]|0;
+ $6193 = HEAP8[$160>>0]|0;
+ $6194 = $6193 ^ $6192;
+ $6195 = $6194&255;
+ $6196 = (12736 + ($6195<<2)|0);
+ $6197 = HEAP32[$6196>>2]|0;
+ $6198 = $6187 ^ $6197;
+ $6199 = HEAP8[$368>>0]|0;
+ $6200 = $6199&255;
+ $6201 = (10176 + ($6200)|0);
+ $6202 = HEAP8[$6201>>0]|0;
+ $6203 = HEAP8[$184>>0]|0;
+ $6204 = $6203 ^ $6202;
+ $6205 = $6204&255;
+ $6206 = (13760 + ($6205<<2)|0);
+ $6207 = HEAP32[$6206>>2]|0;
+ $6208 = $6198 ^ $6207;
+ $6209 = $6208 << 8;
+ $6210 = $6208 >>> 24;
+ $6211 = $6209 | $6210;
+ $6212 = (($6211) + ($6167))|0;
+ $6213 = (($6212) + ($6211))|0;
+ $6214 = ((($0)) + 4240|0);
+ HEAP32[$6214>>2] = $6212;
+ $6215 = $6213 << 9;
+ $6216 = $6213 >>> 23;
+ $6217 = $6215 | $6216;
+ $6218 = ((($0)) + 4244|0);
+ HEAP32[$6218>>2] = $6217;
+ $6219 = HEAP8[$208>>0]|0;
+ $6220 = $6219 ^ -33;
+ $6221 = $6220&255;
+ $6222 = (10432 + ($6221)|0);
+ $6223 = HEAP8[$6222>>0]|0;
+ $6224 = HEAP8[$1>>0]|0;
+ $6225 = $6224 ^ $6223;
+ $6226 = $6225&255;
+ $6227 = (10688 + ($6226<<2)|0);
+ $6228 = HEAP32[$6227>>2]|0;
+ $6229 = HEAP8[$224>>0]|0;
+ $6230 = $6229 ^ -68;
+ $6231 = $6230&255;
+ $6232 = (10432 + ($6231)|0);
+ $6233 = HEAP8[$6232>>0]|0;
+ $6234 = HEAP8[$40>>0]|0;
+ $6235 = $6234 ^ $6233;
+ $6236 = $6235&255;
+ $6237 = (11712 + ($6236<<2)|0);
+ $6238 = HEAP32[$6237>>2]|0;
+ $6239 = $6238 ^ $6228;
+ $6240 = HEAP8[$248>>0]|0;
+ $6241 = $6240 ^ -33;
+ $6242 = $6241&255;
+ $6243 = (10176 + ($6242)|0);
+ $6244 = HEAP8[$6243>>0]|0;
+ $6245 = HEAP8[$64>>0]|0;
+ $6246 = $6245 ^ $6244;
+ $6247 = $6246&255;
+ $6248 = (12736 + ($6247<<2)|0);
+ $6249 = HEAP32[$6248>>2]|0;
+ $6250 = $6239 ^ $6249;
+ $6251 = HEAP8[$272>>0]|0;
+ $6252 = $6251 ^ -68;
+ $6253 = $6252&255;
+ $6254 = (10176 + ($6253)|0);
+ $6255 = HEAP8[$6254>>0]|0;
+ $6256 = HEAP8[$88>>0]|0;
+ $6257 = $6256 ^ $6255;
+ $6258 = $6257&255;
+ $6259 = (13760 + ($6258<<2)|0);
+ $6260 = HEAP32[$6259>>2]|0;
+ $6261 = $6250 ^ $6260;
+ $6262 = HEAP8[$296>>0]|0;
+ $6263 = $6262 ^ 35;
+ $6264 = $6263&255;
+ $6265 = (10432 + ($6264)|0);
+ $6266 = HEAP8[$6265>>0]|0;
+ $6267 = HEAP8[$112>>0]|0;
+ $6268 = $6267 ^ $6266;
+ $6269 = $6268&255;
+ $6270 = (10688 + ($6269<<2)|0);
+ $6271 = HEAP32[$6270>>2]|0;
+ $6272 = HEAP8[$320>>0]|0;
+ $6273 = $6272 ^ -99;
+ $6274 = $6273&255;
+ $6275 = (10432 + ($6274)|0);
+ $6276 = HEAP8[$6275>>0]|0;
+ $6277 = HEAP8[$136>>0]|0;
+ $6278 = $6277 ^ $6276;
+ $6279 = $6278&255;
+ $6280 = (11712 + ($6279<<2)|0);
+ $6281 = HEAP32[$6280>>2]|0;
+ $6282 = $6281 ^ $6271;
+ $6283 = HEAP8[$344>>0]|0;
+ $6284 = $6283 ^ 35;
+ $6285 = $6284&255;
+ $6286 = (10176 + ($6285)|0);
+ $6287 = HEAP8[$6286>>0]|0;
+ $6288 = HEAP8[$160>>0]|0;
+ $6289 = $6288 ^ $6287;
+ $6290 = $6289&255;
+ $6291 = (12736 + ($6290<<2)|0);
+ $6292 = HEAP32[$6291>>2]|0;
+ $6293 = $6282 ^ $6292;
+ $6294 = HEAP8[$368>>0]|0;
+ $6295 = $6294 ^ -99;
+ $6296 = $6295&255;
+ $6297 = (10176 + ($6296)|0);
+ $6298 = HEAP8[$6297>>0]|0;
+ $6299 = HEAP8[$184>>0]|0;
+ $6300 = $6299 ^ $6298;
+ $6301 = $6300&255;
+ $6302 = (13760 + ($6301<<2)|0);
+ $6303 = HEAP32[$6302>>2]|0;
+ $6304 = $6293 ^ $6303;
+ $6305 = $6304 << 8;
+ $6306 = $6304 >>> 24;
+ $6307 = $6305 | $6306;
+ $6308 = (($6307) + ($6261))|0;
+ $6309 = (($6308) + ($6307))|0;
+ $6310 = ((($0)) + 4248|0);
+ HEAP32[$6310>>2] = $6308;
+ $6311 = $6309 << 9;
+ $6312 = $6309 >>> 23;
+ $6313 = $6311 | $6312;
+ $6314 = ((($0)) + 4252|0);
+ HEAP32[$6314>>2] = $6313;
+ $$01913 = 0;
+ STACKTOP = sp;return ($$01913|0);
+ }
+ $393 = ((($1)) + 16|0);
+ $394 = HEAP8[$393>>0]|0;
+ $395 = ($394<<24>>24)==(0);
+ if ($395) {
+ $$01819 = 0;$$01827 = 0;$$01835 = 0;
+ } else {
+ $396 = $394&255;
+ $397 = (($396) + -1)|0;
+ $398 = (8912 + ($397)|0);
+ $399 = HEAP8[$398>>0]|0;
+ $400 = $399&255;
+ $401 = (9168 + ($400)|0);
+ $402 = HEAP8[$401>>0]|0;
+ $403 = (($400) + 45)|0;
+ $404 = (9168 + ($403)|0);
+ $405 = HEAP8[$404>>0]|0;
+ $406 = (($400) + 1)|0;
+ $407 = (9168 + ($406)|0);
+ $408 = HEAP8[$407>>0]|0;
+ $$01819 = $408;$$01827 = $405;$$01835 = $402;
+ }
+ $409 = ((($1)) + 17|0);
+ $410 = HEAP8[$409>>0]|0;
+ $411 = ($410<<24>>24)==(0);
+ if ($411) {
+ $$11812 = $$01827;$$11820 = $$01819;$$11828 = $$01827;$$11836 = $$01835;
+ } else {
+ $412 = $410&255;
+ $413 = (($412) + -1)|0;
+ $414 = (8912 + ($413)|0);
+ $415 = HEAP8[$414>>0]|0;
+ $416 = $415&255;
+ $417 = (($416) + 45)|0;
+ $418 = (9168 + ($417)|0);
+ $419 = HEAP8[$418>>0]|0;
+ $420 = $419 ^ $$01835;
+ $421 = (($416) + 164)|0;
+ $422 = (9168 + ($421)|0);
+ $423 = HEAP8[$422>>0]|0;
+ $424 = $423 ^ $$01827;
+ $425 = (($416) + 68)|0;
+ $426 = (9168 + ($425)|0);
+ $427 = HEAP8[$426>>0]|0;
+ $428 = $427 ^ $$01819;
+ $429 = (($416) + 138)|0;
+ $430 = (9168 + ($429)|0);
+ $431 = HEAP8[$430>>0]|0;
+ $432 = $431 ^ $$01827;
+ $$11812 = $432;$$11820 = $428;$$11828 = $424;$$11836 = $420;
+ }
+ $433 = ((($1)) + 18|0);
+ $434 = HEAP8[$433>>0]|0;
+ $435 = ($434<<24>>24)==(0);
+ if ($435) {
+ $$21813 = $$11812;$$21821 = $$11820;$$21829 = $$11828;$$21837 = $$11836;
+ } else {
+ $436 = $434&255;
+ $437 = (($436) + -1)|0;
+ $438 = (8912 + ($437)|0);
+ $439 = HEAP8[$438>>0]|0;
+ $440 = $439&255;
+ $441 = (($440) + 138)|0;
+ $442 = (9168 + ($441)|0);
+ $443 = HEAP8[$442>>0]|0;
+ $444 = $443 ^ $$11836;
+ $445 = (($440) + 213)|0;
+ $446 = (9168 + ($445)|0);
+ $447 = HEAP8[$446>>0]|0;
+ $448 = $447 ^ $$11828;
+ $449 = (($440) + 191)|0;
+ $450 = (9168 + ($449)|0);
+ $451 = HEAP8[$450>>0]|0;
+ $452 = $451 ^ $$11820;
+ $453 = (($440) + 209)|0;
+ $454 = (9168 + ($453)|0);
+ $455 = HEAP8[$454>>0]|0;
+ $456 = $455 ^ $$11812;
+ $$21813 = $456;$$21821 = $452;$$21829 = $448;$$21837 = $444;
+ }
+ $457 = ((($1)) + 19|0);
+ $458 = HEAP8[$457>>0]|0;
+ $459 = ($458<<24>>24)==(0);
+ if ($459) {
+ $$31814 = $$21813;$$31822 = $$21821;$$31830 = $$21829;$$31838 = $$21837;
+ } else {
+ $460 = $458&255;
+ $461 = (($460) + -1)|0;
+ $462 = (8912 + ($461)|0);
+ $463 = HEAP8[$462>>0]|0;
+ $464 = $463&255;
+ $465 = (($464) + 209)|0;
+ $466 = (9168 + ($465)|0);
+ $467 = HEAP8[$466>>0]|0;
+ $468 = $467 ^ $$21837;
+ $469 = (($464) + 127)|0;
+ $470 = (9168 + ($469)|0);
+ $471 = HEAP8[$470>>0]|0;
+ $472 = $471 ^ $$21829;
+ $473 = (($464) + 61)|0;
+ $474 = (9168 + ($473)|0);
+ $475 = HEAP8[$474>>0]|0;
+ $476 = $475 ^ $$21821;
+ $477 = (($464) + 153)|0;
+ $478 = (9168 + ($477)|0);
+ $479 = HEAP8[$478>>0]|0;
+ $480 = $479 ^ $$21813;
+ $$31814 = $480;$$31822 = $476;$$31830 = $472;$$31838 = $468;
+ }
+ $481 = ((($1)) + 20|0);
+ $482 = HEAP8[$481>>0]|0;
+ $483 = ($482<<24>>24)==(0);
+ if ($483) {
+ $$41815 = $$31814;$$41823 = $$31822;$$41831 = $$31830;$$41839 = $$31838;
+ } else {
+ $484 = $482&255;
+ $485 = (($484) + -1)|0;
+ $486 = (8912 + ($485)|0);
+ $487 = HEAP8[$486>>0]|0;
+ $488 = $487&255;
+ $489 = (($488) + 153)|0;
+ $490 = (9168 + ($489)|0);
+ $491 = HEAP8[$490>>0]|0;
+ $492 = $491 ^ $$31838;
+ $493 = (($488) + 70)|0;
+ $494 = (9168 + ($493)|0);
+ $495 = HEAP8[$494>>0]|0;
+ $496 = $495 ^ $$31830;
+ $497 = (($488) + 102)|0;
+ $498 = (9168 + ($497)|0);
+ $499 = HEAP8[$498>>0]|0;
+ $500 = $499 ^ $$31822;
+ $501 = (($488) + 150)|0;
+ $502 = (9168 + ($501)|0);
+ $503 = HEAP8[$502>>0]|0;
+ $504 = $503 ^ $$31814;
+ $$41815 = $504;$$41823 = $500;$$41831 = $496;$$41839 = $492;
+ }
+ $505 = ((($1)) + 21|0);
+ $506 = HEAP8[$505>>0]|0;
+ $507 = ($506<<24>>24)==(0);
+ if ($507) {
+ $$51816 = $$41815;$$51824 = $$41823;$$51832 = $$41831;$$51840 = $$41839;
+ } else {
+ $508 = $506&255;
+ $509 = (($508) + -1)|0;
+ $510 = (8912 + ($509)|0);
+ $511 = HEAP8[$510>>0]|0;
+ $512 = $511&255;
+ $513 = (($512) + 150)|0;
+ $514 = (9168 + ($513)|0);
+ $515 = HEAP8[$514>>0]|0;
+ $516 = $515 ^ $$41839;
+ $517 = (($512) + 60)|0;
+ $518 = (9168 + ($517)|0);
+ $519 = HEAP8[$518>>0]|0;
+ $520 = $519 ^ $$41831;
+ $521 = (($512) + 91)|0;
+ $522 = (9168 + ($521)|0);
+ $523 = HEAP8[$522>>0]|0;
+ $524 = $523 ^ $$41823;
+ $525 = (($512) + 237)|0;
+ $526 = (9168 + ($525)|0);
+ $527 = HEAP8[$526>>0]|0;
+ $528 = $527 ^ $$41815;
+ $$51816 = $528;$$51824 = $524;$$51832 = $520;$$51840 = $516;
+ }
+ $529 = ((($1)) + 22|0);
+ $530 = HEAP8[$529>>0]|0;
+ $531 = ($530<<24>>24)==(0);
+ if ($531) {
+ $$61817 = $$51816;$$61825 = $$51824;$$61833 = $$51832;$$61841 = $$51840;
+ } else {
+ $532 = $530&255;
+ $533 = (($532) + -1)|0;
+ $534 = (8912 + ($533)|0);
+ $535 = HEAP8[$534>>0]|0;
+ $536 = $535&255;
+ $537 = (($536) + 237)|0;
+ $538 = (9168 + ($537)|0);
+ $539 = HEAP8[$538>>0]|0;
+ $540 = $539 ^ $$51840;
+ $541 = (($536) + 55)|0;
+ $542 = (9168 + ($541)|0);
+ $543 = HEAP8[$542>>0]|0;
+ $544 = $543 ^ $$51832;
+ $545 = (($536) + 79)|0;
+ $546 = (9168 + ($545)|0);
+ $547 = HEAP8[$546>>0]|0;
+ $548 = $547 ^ $$51824;
+ $549 = (($536) + 224)|0;
+ $550 = (9168 + ($549)|0);
+ $551 = HEAP8[$550>>0]|0;
+ $552 = $551 ^ $$51816;
+ $$61817 = $552;$$61825 = $548;$$61833 = $544;$$61841 = $540;
+ }
+ $553 = ((($1)) + 23|0);
+ $554 = HEAP8[$553>>0]|0;
+ $555 = ($554<<24>>24)==(0);
+ if ($555) {
+ $$71818 = $$61817;$$71826 = $$61825;$$71834 = $$61833;$$71842 = $$61841;
+ } else {
+ $556 = $554&255;
+ $557 = (($556) + -1)|0;
+ $558 = (8912 + ($557)|0);
+ $559 = HEAP8[$558>>0]|0;
+ $560 = $559&255;
+ $561 = (($560) + 224)|0;
+ $562 = (9168 + ($561)|0);
+ $563 = HEAP8[$562>>0]|0;
+ $564 = $563 ^ $$61841;
+ $565 = (($560) + 208)|0;
+ $566 = (9168 + ($565)|0);
+ $567 = HEAP8[$566>>0]|0;
+ $568 = $567 ^ $$61833;
+ $569 = (($560) + 140)|0;
+ $570 = (9168 + ($569)|0);
+ $571 = HEAP8[$570>>0]|0;
+ $572 = $571 ^ $$61825;
+ $573 = (($560) + 23)|0;
+ $574 = (9168 + ($573)|0);
+ $575 = HEAP8[$574>>0]|0;
+ $576 = $575 ^ $$61817;
+ $$71818 = $576;$$71826 = $572;$$71834 = $568;$$71842 = $564;
+ }
+ $577 = ((($1)) + 24|0);
+ $578 = HEAP8[$577>>0]|0;
+ $579 = ($578<<24>>24)==(0);
+ if ($579) {
+ $$01787 = 0;$$01795 = 0;$$01803 = 0;
+ } else {
+ $580 = $578&255;
+ $581 = (($580) + -1)|0;
+ $582 = (8912 + ($581)|0);
+ $583 = HEAP8[$582>>0]|0;
+ $584 = $583&255;
+ $585 = (9168 + ($584)|0);
+ $586 = HEAP8[$585>>0]|0;
+ $587 = (($584) + 45)|0;
+ $588 = (9168 + ($587)|0);
+ $589 = HEAP8[$588>>0]|0;
+ $590 = (($584) + 1)|0;
+ $591 = (9168 + ($590)|0);
+ $592 = HEAP8[$591>>0]|0;
+ $$01787 = $592;$$01795 = $589;$$01803 = $586;
+ }
+ $593 = ((($1)) + 25|0);
+ $594 = HEAP8[$593>>0]|0;
+ $595 = ($594<<24>>24)==(0);
+ if ($595) {
+ $$1 = $$01795;$$11788 = $$01787;$$11796 = $$01795;$$11804 = $$01803;
+ } else {
+ $596 = $594&255;
+ $597 = (($596) + -1)|0;
+ $598 = (8912 + ($597)|0);
+ $599 = HEAP8[$598>>0]|0;
+ $600 = $599&255;
+ $601 = (($600) + 45)|0;
+ $602 = (9168 + ($601)|0);
+ $603 = HEAP8[$602>>0]|0;
+ $604 = $603 ^ $$01803;
+ $605 = (($600) + 164)|0;
+ $606 = (9168 + ($605)|0);
+ $607 = HEAP8[$606>>0]|0;
+ $608 = $607 ^ $$01795;
+ $609 = (($600) + 68)|0;
+ $610 = (9168 + ($609)|0);
+ $611 = HEAP8[$610>>0]|0;
+ $612 = $611 ^ $$01787;
+ $613 = (($600) + 138)|0;
+ $614 = (9168 + ($613)|0);
+ $615 = HEAP8[$614>>0]|0;
+ $616 = $615 ^ $$01795;
+ $$1 = $616;$$11788 = $612;$$11796 = $608;$$11804 = $604;
+ }
+ $617 = ((($1)) + 26|0);
+ $618 = HEAP8[$617>>0]|0;
+ $619 = ($618<<24>>24)==(0);
+ if ($619) {
+ $$2 = $$1;$$21789 = $$11788;$$21797 = $$11796;$$21805 = $$11804;
+ } else {
+ $620 = $618&255;
+ $621 = (($620) + -1)|0;
+ $622 = (8912 + ($621)|0);
+ $623 = HEAP8[$622>>0]|0;
+ $624 = $623&255;
+ $625 = (($624) + 138)|0;
+ $626 = (9168 + ($625)|0);
+ $627 = HEAP8[$626>>0]|0;
+ $628 = $627 ^ $$11804;
+ $629 = (($624) + 213)|0;
+ $630 = (9168 + ($629)|0);
+ $631 = HEAP8[$630>>0]|0;
+ $632 = $631 ^ $$11796;
+ $633 = (($624) + 191)|0;
+ $634 = (9168 + ($633)|0);
+ $635 = HEAP8[$634>>0]|0;
+ $636 = $635 ^ $$11788;
+ $637 = (($624) + 209)|0;
+ $638 = (9168 + ($637)|0);
+ $639 = HEAP8[$638>>0]|0;
+ $640 = $639 ^ $$1;
+ $$2 = $640;$$21789 = $636;$$21797 = $632;$$21805 = $628;
+ }
+ $641 = ((($1)) + 27|0);
+ $642 = HEAP8[$641>>0]|0;
+ $643 = ($642<<24>>24)==(0);
+ if ($643) {
+ $$3 = $$2;$$31790 = $$21789;$$31798 = $$21797;$$31806 = $$21805;
+ } else {
+ $644 = $642&255;
+ $645 = (($644) + -1)|0;
+ $646 = (8912 + ($645)|0);
+ $647 = HEAP8[$646>>0]|0;
+ $648 = $647&255;
+ $649 = (($648) + 209)|0;
+ $650 = (9168 + ($649)|0);
+ $651 = HEAP8[$650>>0]|0;
+ $652 = $651 ^ $$21805;
+ $653 = (($648) + 127)|0;
+ $654 = (9168 + ($653)|0);
+ $655 = HEAP8[$654>>0]|0;
+ $656 = $655 ^ $$21797;
+ $657 = (($648) + 61)|0;
+ $658 = (9168 + ($657)|0);
+ $659 = HEAP8[$658>>0]|0;
+ $660 = $659 ^ $$21789;
+ $661 = (($648) + 153)|0;
+ $662 = (9168 + ($661)|0);
+ $663 = HEAP8[$662>>0]|0;
+ $664 = $663 ^ $$2;
+ $$3 = $664;$$31790 = $660;$$31798 = $656;$$31806 = $652;
+ }
+ $665 = ((($1)) + 28|0);
+ $666 = HEAP8[$665>>0]|0;
+ $667 = ($666<<24>>24)==(0);
+ if ($667) {
+ $$4 = $$3;$$41791 = $$31790;$$41799 = $$31798;$$41807 = $$31806;
+ } else {
+ $668 = $666&255;
+ $669 = (($668) + -1)|0;
+ $670 = (8912 + ($669)|0);
+ $671 = HEAP8[$670>>0]|0;
+ $672 = $671&255;
+ $673 = (($672) + 153)|0;
+ $674 = (9168 + ($673)|0);
+ $675 = HEAP8[$674>>0]|0;
+ $676 = $675 ^ $$31806;
+ $677 = (($672) + 70)|0;
+ $678 = (9168 + ($677)|0);
+ $679 = HEAP8[$678>>0]|0;
+ $680 = $679 ^ $$31798;
+ $681 = (($672) + 102)|0;
+ $682 = (9168 + ($681)|0);
+ $683 = HEAP8[$682>>0]|0;
+ $684 = $683 ^ $$31790;
+ $685 = (($672) + 150)|0;
+ $686 = (9168 + ($685)|0);
+ $687 = HEAP8[$686>>0]|0;
+ $688 = $687 ^ $$3;
+ $$4 = $688;$$41791 = $684;$$41799 = $680;$$41807 = $676;
+ }
+ $689 = ((($1)) + 29|0);
+ $690 = HEAP8[$689>>0]|0;
+ $691 = ($690<<24>>24)==(0);
+ if ($691) {
+ $$5 = $$4;$$51792 = $$41791;$$51800 = $$41799;$$51808 = $$41807;
+ } else {
+ $692 = $690&255;
+ $693 = (($692) + -1)|0;
+ $694 = (8912 + ($693)|0);
+ $695 = HEAP8[$694>>0]|0;
+ $696 = $695&255;
+ $697 = (($696) + 150)|0;
+ $698 = (9168 + ($697)|0);
+ $699 = HEAP8[$698>>0]|0;
+ $700 = $699 ^ $$41807;
+ $701 = (($696) + 60)|0;
+ $702 = (9168 + ($701)|0);
+ $703 = HEAP8[$702>>0]|0;
+ $704 = $703 ^ $$41799;
+ $705 = (($696) + 91)|0;
+ $706 = (9168 + ($705)|0);
+ $707 = HEAP8[$706>>0]|0;
+ $708 = $707 ^ $$41791;
+ $709 = (($696) + 237)|0;
+ $710 = (9168 + ($709)|0);
+ $711 = HEAP8[$710>>0]|0;
+ $712 = $711 ^ $$4;
+ $$5 = $712;$$51792 = $708;$$51800 = $704;$$51808 = $700;
+ }
+ $713 = ((($1)) + 30|0);
+ $714 = HEAP8[$713>>0]|0;
+ $715 = ($714<<24>>24)==(0);
+ if ($715) {
+ $$6 = $$5;$$61793 = $$51792;$$61801 = $$51800;$$61809 = $$51808;
+ } else {
+ $716 = $714&255;
+ $717 = (($716) + -1)|0;
+ $718 = (8912 + ($717)|0);
+ $719 = HEAP8[$718>>0]|0;
+ $720 = $719&255;
+ $721 = (($720) + 237)|0;
+ $722 = (9168 + ($721)|0);
+ $723 = HEAP8[$722>>0]|0;
+ $724 = $723 ^ $$51808;
+ $725 = (($720) + 55)|0;
+ $726 = (9168 + ($725)|0);
+ $727 = HEAP8[$726>>0]|0;
+ $728 = $727 ^ $$51800;
+ $729 = (($720) + 79)|0;
+ $730 = (9168 + ($729)|0);
+ $731 = HEAP8[$730>>0]|0;
+ $732 = $731 ^ $$51792;
+ $733 = (($720) + 224)|0;
+ $734 = (9168 + ($733)|0);
+ $735 = HEAP8[$734>>0]|0;
+ $736 = $735 ^ $$5;
+ $$6 = $736;$$61793 = $732;$$61801 = $728;$$61809 = $724;
+ }
+ $737 = ((($1)) + 31|0);
+ $738 = HEAP8[$737>>0]|0;
+ $739 = ($738<<24>>24)==(0);
+ if ($739) {
+ $$7 = $$6;$$71794 = $$61793;$$71802 = $$61801;$$71810 = $$61809;
+ } else {
+ $740 = $738&255;
+ $741 = (($740) + -1)|0;
+ $742 = (8912 + ($741)|0);
+ $743 = HEAP8[$742>>0]|0;
+ $744 = $743&255;
+ $745 = (($744) + 224)|0;
+ $746 = (9168 + ($745)|0);
+ $747 = HEAP8[$746>>0]|0;
+ $748 = $747 ^ $$61809;
+ $749 = (($744) + 208)|0;
+ $750 = (9168 + ($749)|0);
+ $751 = HEAP8[$750>>0]|0;
+ $752 = $751 ^ $$61801;
+ $753 = (($744) + 140)|0;
+ $754 = (9168 + ($753)|0);
+ $755 = HEAP8[$754>>0]|0;
+ $756 = $755 ^ $$61793;
+ $757 = (($744) + 23)|0;
+ $758 = (9168 + ($757)|0);
+ $759 = HEAP8[$758>>0]|0;
+ $760 = $759 ^ $$6;
+ $$7 = $760;$$71794 = $756;$$71802 = $752;$$71810 = $748;
+ }
+ $$019071917 = 1;$$019091916 = 0;$$019111915 = 0;
+ while(1) {
+ $761 = (9664 + ($$019071917)|0);
+ $762 = HEAP8[$761>>0]|0;
+ $763 = $762 ^ $$71906;
+ $764 = $763&255;
+ $765 = (10176 + ($764)|0);
+ $766 = HEAP8[$765>>0]|0;
+ $767 = $766 ^ $$71874;
+ $768 = $767&255;
+ $769 = (10432 + ($768)|0);
+ $770 = HEAP8[$769>>0]|0;
+ $771 = $770 ^ $$71842;
+ $772 = $771&255;
+ $773 = (10432 + ($772)|0);
+ $774 = HEAP8[$773>>0]|0;
+ $775 = $774 ^ $$71810;
+ $776 = $775&255;
+ $777 = (10688 + ($776<<2)|0);
+ $778 = HEAP32[$777>>2]|0;
+ $779 = (($0) + ($$019111915<<2)|0);
+ HEAP32[$779>>2] = $778;
+ $780 = (9664 + ($$019091916)|0);
+ $781 = HEAP8[$780>>0]|0;
+ $782 = $781 ^ $$71898;
+ $783 = $782&255;
+ $784 = (10176 + ($783)|0);
+ $785 = HEAP8[$784>>0]|0;
+ $786 = $785 ^ $$71866;
+ $787 = $786&255;
+ $788 = (10176 + ($787)|0);
+ $789 = HEAP8[$788>>0]|0;
+ $790 = $789 ^ $$71834;
+ $791 = $790&255;
+ $792 = (10432 + ($791)|0);
+ $793 = HEAP8[$792>>0]|0;
+ $794 = $793 ^ $$71802;
+ $795 = $794&255;
+ $796 = (11712 + ($795<<2)|0);
+ $797 = HEAP32[$796>>2]|0;
+ $798 = (((($0)) + 1024|0) + ($$019111915<<2)|0);
+ HEAP32[$798>>2] = $797;
+ $799 = $781 ^ $$71890;
+ $800 = $799&255;
+ $801 = (10432 + ($800)|0);
+ $802 = HEAP8[$801>>0]|0;
+ $803 = $802 ^ $$71858;
+ $804 = $803&255;
+ $805 = (10432 + ($804)|0);
+ $806 = HEAP8[$805>>0]|0;
+ $807 = $806 ^ $$71826;
+ $808 = $807&255;
+ $809 = (10176 + ($808)|0);
+ $810 = HEAP8[$809>>0]|0;
+ $811 = $810 ^ $$71794;
+ $812 = $811&255;
+ $813 = (12736 + ($812<<2)|0);
+ $814 = HEAP32[$813>>2]|0;
+ $815 = (((($0)) + 2048|0) + ($$019111915<<2)|0);
+ HEAP32[$815>>2] = $814;
+ $816 = $762 ^ $$71882;
+ $817 = $816&255;
+ $818 = (10432 + ($817)|0);
+ $819 = HEAP8[$818>>0]|0;
+ $820 = $819 ^ $$71850;
+ $821 = $820&255;
+ $822 = (10176 + ($821)|0);
+ $823 = HEAP8[$822>>0]|0;
+ $824 = $823 ^ $$71818;
+ $825 = $824&255;
+ $826 = (10176 + ($825)|0);
+ $827 = HEAP8[$826>>0]|0;
+ $828 = $827 ^ $$7;
+ $829 = $828&255;
+ $830 = (13760 + ($829<<2)|0);
+ $831 = HEAP32[$830>>2]|0;
+ $832 = (((($0)) + 3072|0) + ($$019111915<<2)|0);
+ HEAP32[$832>>2] = $831;
+ $833 = (($$019111915) + 1)|0;
+ $834 = (($$019091916) + 2)|0;
+ $835 = (($$019071917) + 2)|0;
+ $exitcond = ($833|0)==(256);
+ if ($exitcond) {
+ break;
+ } else {
+ $$019071917 = $835;$$019091916 = $834;$$019111915 = $833;
+ }
+ }
+ $836 = HEAP8[$577>>0]|0;
+ $837 = $836 ^ 117;
+ $838 = $837&255;
+ $839 = (10176 + ($838)|0);
+ $840 = HEAP8[$839>>0]|0;
+ $841 = HEAP8[$393>>0]|0;
+ $842 = $841 ^ $840;
+ $843 = $842&255;
+ $844 = (10432 + ($843)|0);
+ $845 = HEAP8[$844>>0]|0;
+ $846 = HEAP8[$208>>0]|0;
+ $847 = $846 ^ $845;
+ $848 = $847&255;
+ $849 = (10432 + ($848)|0);
+ $850 = HEAP8[$849>>0]|0;
+ $851 = HEAP8[$1>>0]|0;
+ $852 = $851 ^ $850;
+ $853 = $852&255;
+ $854 = (10688 + ($853<<2)|0);
+ $855 = HEAP32[$854>>2]|0;
+ $856 = HEAP8[$593>>0]|0;
+ $857 = $856 ^ -87;
+ $858 = $857&255;
+ $859 = (10176 + ($858)|0);
+ $860 = HEAP8[$859>>0]|0;
+ $861 = HEAP8[$409>>0]|0;
+ $862 = $861 ^ $860;
+ $863 = $862&255;
+ $864 = (10176 + ($863)|0);
+ $865 = HEAP8[$864>>0]|0;
+ $866 = HEAP8[$224>>0]|0;
+ $867 = $866 ^ $865;
+ $868 = $867&255;
+ $869 = (10432 + ($868)|0);
+ $870 = HEAP8[$869>>0]|0;
+ $871 = HEAP8[$40>>0]|0;
+ $872 = $871 ^ $870;
+ $873 = $872&255;
+ $874 = (11712 + ($873<<2)|0);
+ $875 = HEAP32[$874>>2]|0;
+ $876 = $875 ^ $855;
+ $877 = HEAP8[$617>>0]|0;
+ $878 = $877 ^ -87;
+ $879 = $878&255;
+ $880 = (10432 + ($879)|0);
+ $881 = HEAP8[$880>>0]|0;
+ $882 = HEAP8[$433>>0]|0;
+ $883 = $882 ^ $881;
+ $884 = $883&255;
+ $885 = (10432 + ($884)|0);
+ $886 = HEAP8[$885>>0]|0;
+ $887 = HEAP8[$248>>0]|0;
+ $888 = $887 ^ $886;
+ $889 = $888&255;
+ $890 = (10176 + ($889)|0);
+ $891 = HEAP8[$890>>0]|0;
+ $892 = HEAP8[$64>>0]|0;
+ $893 = $892 ^ $891;
+ $894 = $893&255;
+ $895 = (12736 + ($894<<2)|0);
+ $896 = HEAP32[$895>>2]|0;
+ $897 = $876 ^ $896;
+ $898 = HEAP8[$641>>0]|0;
+ $899 = $898 ^ 117;
+ $900 = $899&255;
+ $901 = (10432 + ($900)|0);
+ $902 = HEAP8[$901>>0]|0;
+ $903 = HEAP8[$457>>0]|0;
+ $904 = $903 ^ $902;
+ $905 = $904&255;
+ $906 = (10176 + ($905)|0);
+ $907 = HEAP8[$906>>0]|0;
+ $908 = HEAP8[$272>>0]|0;
+ $909 = $908 ^ $907;
+ $910 = $909&255;
+ $911 = (10176 + ($910)|0);
+ $912 = HEAP8[$911>>0]|0;
+ $913 = HEAP8[$88>>0]|0;
+ $914 = $913 ^ $912;
+ $915 = $914&255;
+ $916 = (13760 + ($915<<2)|0);
+ $917 = HEAP32[$916>>2]|0;
+ $918 = $897 ^ $917;
+ $919 = HEAP8[$665>>0]|0;
+ $920 = $919 ^ -13;
+ $921 = $920&255;
+ $922 = (10176 + ($921)|0);
+ $923 = HEAP8[$922>>0]|0;
+ $924 = HEAP8[$481>>0]|0;
+ $925 = $924 ^ $923;
+ $926 = $925&255;
+ $927 = (10432 + ($926)|0);
+ $928 = HEAP8[$927>>0]|0;
+ $929 = HEAP8[$296>>0]|0;
+ $930 = $929 ^ $928;
+ $931 = $930&255;
+ $932 = (10432 + ($931)|0);
+ $933 = HEAP8[$932>>0]|0;
+ $934 = HEAP8[$112>>0]|0;
+ $935 = $934 ^ $933;
+ $936 = $935&255;
+ $937 = (10688 + ($936<<2)|0);
+ $938 = HEAP32[$937>>2]|0;
+ $939 = HEAP8[$689>>0]|0;
+ $940 = $939 ^ 103;
+ $941 = $940&255;
+ $942 = (10176 + ($941)|0);
+ $943 = HEAP8[$942>>0]|0;
+ $944 = HEAP8[$505>>0]|0;
+ $945 = $944 ^ $943;
+ $946 = $945&255;
+ $947 = (10176 + ($946)|0);
+ $948 = HEAP8[$947>>0]|0;
+ $949 = HEAP8[$320>>0]|0;
+ $950 = $949 ^ $948;
+ $951 = $950&255;
+ $952 = (10432 + ($951)|0);
+ $953 = HEAP8[$952>>0]|0;
+ $954 = HEAP8[$136>>0]|0;
+ $955 = $954 ^ $953;
+ $956 = $955&255;
+ $957 = (11712 + ($956<<2)|0);
+ $958 = HEAP32[$957>>2]|0;
+ $959 = $958 ^ $938;
+ $960 = HEAP8[$713>>0]|0;
+ $961 = $960 ^ 103;
+ $962 = $961&255;
+ $963 = (10432 + ($962)|0);
+ $964 = HEAP8[$963>>0]|0;
+ $965 = HEAP8[$529>>0]|0;
+ $966 = $965 ^ $964;
+ $967 = $966&255;
+ $968 = (10432 + ($967)|0);
+ $969 = HEAP8[$968>>0]|0;
+ $970 = HEAP8[$344>>0]|0;
+ $971 = $970 ^ $969;
+ $972 = $971&255;
+ $973 = (10176 + ($972)|0);
+ $974 = HEAP8[$973>>0]|0;
+ $975 = HEAP8[$160>>0]|0;
+ $976 = $975 ^ $974;
+ $977 = $976&255;
+ $978 = (12736 + ($977<<2)|0);
+ $979 = HEAP32[$978>>2]|0;
+ $980 = $959 ^ $979;
+ $981 = HEAP8[$737>>0]|0;
+ $982 = $981 ^ -13;
+ $983 = $982&255;
+ $984 = (10432 + ($983)|0);
+ $985 = HEAP8[$984>>0]|0;
+ $986 = HEAP8[$553>>0]|0;
+ $987 = $986 ^ $985;
+ $988 = $987&255;
+ $989 = (10176 + ($988)|0);
+ $990 = HEAP8[$989>>0]|0;
+ $991 = HEAP8[$368>>0]|0;
+ $992 = $991 ^ $990;
+ $993 = $992&255;
+ $994 = (10176 + ($993)|0);
+ $995 = HEAP8[$994>>0]|0;
+ $996 = HEAP8[$184>>0]|0;
+ $997 = $996 ^ $995;
+ $998 = $997&255;
+ $999 = (13760 + ($998<<2)|0);
+ $1000 = HEAP32[$999>>2]|0;
+ $1001 = $980 ^ $1000;
+ $1002 = $1001 << 8;
+ $1003 = $1001 >>> 24;
+ $1004 = $1002 | $1003;
+ $1005 = (($1004) + ($918))|0;
+ $1006 = (($1005) + ($1004))|0;
+ $1007 = ((($0)) + 4096|0);
+ HEAP32[$1007>>2] = $1005;
+ $1008 = $1006 << 9;
+ $1009 = $1006 >>> 23;
+ $1010 = $1008 | $1009;
+ $1011 = ((($0)) + 4100|0);
+ HEAP32[$1011>>2] = $1010;
+ $1012 = HEAP8[$577>>0]|0;
+ $1013 = $1012 ^ -58;
+ $1014 = $1013&255;
+ $1015 = (10176 + ($1014)|0);
+ $1016 = HEAP8[$1015>>0]|0;
+ $1017 = HEAP8[$393>>0]|0;
+ $1018 = $1017 ^ $1016;
+ $1019 = $1018&255;
+ $1020 = (10432 + ($1019)|0);
+ $1021 = HEAP8[$1020>>0]|0;
+ $1022 = HEAP8[$208>>0]|0;
+ $1023 = $1022 ^ $1021;
+ $1024 = $1023&255;
+ $1025 = (10432 + ($1024)|0);
+ $1026 = HEAP8[$1025>>0]|0;
+ $1027 = HEAP8[$1>>0]|0;
+ $1028 = $1027 ^ $1026;
+ $1029 = $1028&255;
+ $1030 = (10688 + ($1029<<2)|0);
+ $1031 = HEAP32[$1030>>2]|0;
+ $1032 = HEAP8[$593>>0]|0;
+ $1033 = $1032 ^ -77;
+ $1034 = $1033&255;
+ $1035 = (10176 + ($1034)|0);
+ $1036 = HEAP8[$1035>>0]|0;
+ $1037 = HEAP8[$409>>0]|0;
+ $1038 = $1037 ^ $1036;
+ $1039 = $1038&255;
+ $1040 = (10176 + ($1039)|0);
+ $1041 = HEAP8[$1040>>0]|0;
+ $1042 = HEAP8[$224>>0]|0;
+ $1043 = $1042 ^ $1041;
+ $1044 = $1043&255;
+ $1045 = (10432 + ($1044)|0);
+ $1046 = HEAP8[$1045>>0]|0;
+ $1047 = HEAP8[$40>>0]|0;
+ $1048 = $1047 ^ $1046;
+ $1049 = $1048&255;
+ $1050 = (11712 + ($1049<<2)|0);
+ $1051 = HEAP32[$1050>>2]|0;
+ $1052 = $1051 ^ $1031;
+ $1053 = HEAP8[$617>>0]|0;
+ $1054 = $1053 ^ -77;
+ $1055 = $1054&255;
+ $1056 = (10432 + ($1055)|0);
+ $1057 = HEAP8[$1056>>0]|0;
+ $1058 = HEAP8[$433>>0]|0;
+ $1059 = $1058 ^ $1057;
+ $1060 = $1059&255;
+ $1061 = (10432 + ($1060)|0);
+ $1062 = HEAP8[$1061>>0]|0;
+ $1063 = HEAP8[$248>>0]|0;
+ $1064 = $1063 ^ $1062;
+ $1065 = $1064&255;
+ $1066 = (10176 + ($1065)|0);
+ $1067 = HEAP8[$1066>>0]|0;
+ $1068 = HEAP8[$64>>0]|0;
+ $1069 = $1068 ^ $1067;
+ $1070 = $1069&255;
+ $1071 = (12736 + ($1070<<2)|0);
+ $1072 = HEAP32[$1071>>2]|0;
+ $1073 = $1052 ^ $1072;
+ $1074 = HEAP8[$641>>0]|0;
+ $1075 = $1074 ^ -58;
+ $1076 = $1075&255;
+ $1077 = (10432 + ($1076)|0);
+ $1078 = HEAP8[$1077>>0]|0;
+ $1079 = HEAP8[$457>>0]|0;
+ $1080 = $1079 ^ $1078;
+ $1081 = $1080&255;
+ $1082 = (10176 + ($1081)|0);
+ $1083 = HEAP8[$1082>>0]|0;
+ $1084 = HEAP8[$272>>0]|0;
+ $1085 = $1084 ^ $1083;
+ $1086 = $1085&255;
+ $1087 = (10176 + ($1086)|0);
+ $1088 = HEAP8[$1087>>0]|0;
+ $1089 = HEAP8[$88>>0]|0;
+ $1090 = $1089 ^ $1088;
+ $1091 = $1090&255;
+ $1092 = (13760 + ($1091<<2)|0);
+ $1093 = HEAP32[$1092>>2]|0;
+ $1094 = $1073 ^ $1093;
+ $1095 = HEAP8[$665>>0]|0;
+ $1096 = $1095 ^ -12;
+ $1097 = $1096&255;
+ $1098 = (10176 + ($1097)|0);
+ $1099 = HEAP8[$1098>>0]|0;
+ $1100 = HEAP8[$481>>0]|0;
+ $1101 = $1100 ^ $1099;
+ $1102 = $1101&255;
+ $1103 = (10432 + ($1102)|0);
+ $1104 = HEAP8[$1103>>0]|0;
+ $1105 = HEAP8[$296>>0]|0;
+ $1106 = $1105 ^ $1104;
+ $1107 = $1106&255;
+ $1108 = (10432 + ($1107)|0);
+ $1109 = HEAP8[$1108>>0]|0;
+ $1110 = HEAP8[$112>>0]|0;
+ $1111 = $1110 ^ $1109;
+ $1112 = $1111&255;
+ $1113 = (10688 + ($1112<<2)|0);
+ $1114 = HEAP32[$1113>>2]|0;
+ $1115 = HEAP8[$689>>0]|0;
+ $1116 = $1115 ^ -24;
+ $1117 = $1116&255;
+ $1118 = (10176 + ($1117)|0);
+ $1119 = HEAP8[$1118>>0]|0;
+ $1120 = HEAP8[$505>>0]|0;
+ $1121 = $1120 ^ $1119;
+ $1122 = $1121&255;
+ $1123 = (10176 + ($1122)|0);
+ $1124 = HEAP8[$1123>>0]|0;
+ $1125 = HEAP8[$320>>0]|0;
+ $1126 = $1125 ^ $1124;
+ $1127 = $1126&255;
+ $1128 = (10432 + ($1127)|0);
+ $1129 = HEAP8[$1128>>0]|0;
+ $1130 = HEAP8[$136>>0]|0;
+ $1131 = $1130 ^ $1129;
+ $1132 = $1131&255;
+ $1133 = (11712 + ($1132<<2)|0);
+ $1134 = HEAP32[$1133>>2]|0;
+ $1135 = $1134 ^ $1114;
+ $1136 = HEAP8[$713>>0]|0;
+ $1137 = $1136 ^ -24;
+ $1138 = $1137&255;
+ $1139 = (10432 + ($1138)|0);
+ $1140 = HEAP8[$1139>>0]|0;
+ $1141 = HEAP8[$529>>0]|0;
+ $1142 = $1141 ^ $1140;
+ $1143 = $1142&255;
+ $1144 = (10432 + ($1143)|0);
+ $1145 = HEAP8[$1144>>0]|0;
+ $1146 = HEAP8[$344>>0]|0;
+ $1147 = $1146 ^ $1145;
+ $1148 = $1147&255;
+ $1149 = (10176 + ($1148)|0);
+ $1150 = HEAP8[$1149>>0]|0;
+ $1151 = HEAP8[$160>>0]|0;
+ $1152 = $1151 ^ $1150;
+ $1153 = $1152&255;
+ $1154 = (12736 + ($1153<<2)|0);
+ $1155 = HEAP32[$1154>>2]|0;
+ $1156 = $1135 ^ $1155;
+ $1157 = HEAP8[$737>>0]|0;
+ $1158 = $1157 ^ -12;
+ $1159 = $1158&255;
+ $1160 = (10432 + ($1159)|0);
+ $1161 = HEAP8[$1160>>0]|0;
+ $1162 = HEAP8[$553>>0]|0;
+ $1163 = $1162 ^ $1161;
+ $1164 = $1163&255;
+ $1165 = (10176 + ($1164)|0);
+ $1166 = HEAP8[$1165>>0]|0;
+ $1167 = HEAP8[$368>>0]|0;
+ $1168 = $1167 ^ $1166;
+ $1169 = $1168&255;
+ $1170 = (10176 + ($1169)|0);
+ $1171 = HEAP8[$1170>>0]|0;
+ $1172 = HEAP8[$184>>0]|0;
+ $1173 = $1172 ^ $1171;
+ $1174 = $1173&255;
+ $1175 = (13760 + ($1174<<2)|0);
+ $1176 = HEAP32[$1175>>2]|0;
+ $1177 = $1156 ^ $1176;
+ $1178 = $1177 << 8;
+ $1179 = $1177 >>> 24;
+ $1180 = $1178 | $1179;
+ $1181 = (($1180) + ($1094))|0;
+ $1182 = (($1181) + ($1180))|0;
+ $1183 = ((($0)) + 4104|0);
+ HEAP32[$1183>>2] = $1181;
+ $1184 = $1182 << 9;
+ $1185 = $1182 >>> 23;
+ $1186 = $1184 | $1185;
+ $1187 = ((($0)) + 4108|0);
+ HEAP32[$1187>>2] = $1186;
+ $1188 = HEAP8[$577>>0]|0;
+ $1189 = $1188 ^ -37;
+ $1190 = $1189&255;
+ $1191 = (10176 + ($1190)|0);
+ $1192 = HEAP8[$1191>>0]|0;
+ $1193 = HEAP8[$393>>0]|0;
+ $1194 = $1193 ^ $1192;
+ $1195 = $1194&255;
+ $1196 = (10432 + ($1195)|0);
+ $1197 = HEAP8[$1196>>0]|0;
+ $1198 = HEAP8[$208>>0]|0;
+ $1199 = $1198 ^ $1197;
+ $1200 = $1199&255;
+ $1201 = (10432 + ($1200)|0);
+ $1202 = HEAP8[$1201>>0]|0;
+ $1203 = HEAP8[$1>>0]|0;
+ $1204 = $1203 ^ $1202;
+ $1205 = $1204&255;
+ $1206 = (10688 + ($1205<<2)|0);
+ $1207 = HEAP32[$1206>>2]|0;
+ $1208 = HEAP8[$593>>0]|0;
+ $1209 = $1208 ^ 4;
+ $1210 = $1209&255;
+ $1211 = (10176 + ($1210)|0);
+ $1212 = HEAP8[$1211>>0]|0;
+ $1213 = HEAP8[$409>>0]|0;
+ $1214 = $1213 ^ $1212;
+ $1215 = $1214&255;
+ $1216 = (10176 + ($1215)|0);
+ $1217 = HEAP8[$1216>>0]|0;
+ $1218 = HEAP8[$224>>0]|0;
+ $1219 = $1218 ^ $1217;
+ $1220 = $1219&255;
+ $1221 = (10432 + ($1220)|0);
+ $1222 = HEAP8[$1221>>0]|0;
+ $1223 = HEAP8[$40>>0]|0;
+ $1224 = $1223 ^ $1222;
+ $1225 = $1224&255;
+ $1226 = (11712 + ($1225<<2)|0);
+ $1227 = HEAP32[$1226>>2]|0;
+ $1228 = $1227 ^ $1207;
+ $1229 = HEAP8[$617>>0]|0;
+ $1230 = $1229 ^ 4;
+ $1231 = $1230&255;
+ $1232 = (10432 + ($1231)|0);
+ $1233 = HEAP8[$1232>>0]|0;
+ $1234 = HEAP8[$433>>0]|0;
+ $1235 = $1234 ^ $1233;
+ $1236 = $1235&255;
+ $1237 = (10432 + ($1236)|0);
+ $1238 = HEAP8[$1237>>0]|0;
+ $1239 = HEAP8[$248>>0]|0;
+ $1240 = $1239 ^ $1238;
+ $1241 = $1240&255;
+ $1242 = (10176 + ($1241)|0);
+ $1243 = HEAP8[$1242>>0]|0;
+ $1244 = HEAP8[$64>>0]|0;
+ $1245 = $1244 ^ $1243;
+ $1246 = $1245&255;
+ $1247 = (12736 + ($1246<<2)|0);
+ $1248 = HEAP32[$1247>>2]|0;
+ $1249 = $1228 ^ $1248;
+ $1250 = HEAP8[$641>>0]|0;
+ $1251 = $1250 ^ -37;
+ $1252 = $1251&255;
+ $1253 = (10432 + ($1252)|0);
+ $1254 = HEAP8[$1253>>0]|0;
+ $1255 = HEAP8[$457>>0]|0;
+ $1256 = $1255 ^ $1254;
+ $1257 = $1256&255;
+ $1258 = (10176 + ($1257)|0);
+ $1259 = HEAP8[$1258>>0]|0;
+ $1260 = HEAP8[$272>>0]|0;
+ $1261 = $1260 ^ $1259;
+ $1262 = $1261&255;
+ $1263 = (10176 + ($1262)|0);
+ $1264 = HEAP8[$1263>>0]|0;
+ $1265 = HEAP8[$88>>0]|0;
+ $1266 = $1265 ^ $1264;
+ $1267 = $1266&255;
+ $1268 = (13760 + ($1267<<2)|0);
+ $1269 = HEAP32[$1268>>2]|0;
+ $1270 = $1249 ^ $1269;
+ $1271 = HEAP8[$665>>0]|0;
+ $1272 = $1271 ^ 123;
+ $1273 = $1272&255;
+ $1274 = (10176 + ($1273)|0);
+ $1275 = HEAP8[$1274>>0]|0;
+ $1276 = HEAP8[$481>>0]|0;
+ $1277 = $1276 ^ $1275;
+ $1278 = $1277&255;
+ $1279 = (10432 + ($1278)|0);
+ $1280 = HEAP8[$1279>>0]|0;
+ $1281 = HEAP8[$296>>0]|0;
+ $1282 = $1281 ^ $1280;
+ $1283 = $1282&255;
+ $1284 = (10432 + ($1283)|0);
+ $1285 = HEAP8[$1284>>0]|0;
+ $1286 = HEAP8[$112>>0]|0;
+ $1287 = $1286 ^ $1285;
+ $1288 = $1287&255;
+ $1289 = (10688 + ($1288<<2)|0);
+ $1290 = HEAP32[$1289>>2]|0;
+ $1291 = HEAP8[$689>>0]|0;
+ $1292 = $1291 ^ -3;
+ $1293 = $1292&255;
+ $1294 = (10176 + ($1293)|0);
+ $1295 = HEAP8[$1294>>0]|0;
+ $1296 = HEAP8[$505>>0]|0;
+ $1297 = $1296 ^ $1295;
+ $1298 = $1297&255;
+ $1299 = (10176 + ($1298)|0);
+ $1300 = HEAP8[$1299>>0]|0;
+ $1301 = HEAP8[$320>>0]|0;
+ $1302 = $1301 ^ $1300;
+ $1303 = $1302&255;
+ $1304 = (10432 + ($1303)|0);
+ $1305 = HEAP8[$1304>>0]|0;
+ $1306 = HEAP8[$136>>0]|0;
+ $1307 = $1306 ^ $1305;
+ $1308 = $1307&255;
+ $1309 = (11712 + ($1308<<2)|0);
+ $1310 = HEAP32[$1309>>2]|0;
+ $1311 = $1310 ^ $1290;
+ $1312 = HEAP8[$713>>0]|0;
+ $1313 = $1312 ^ -3;
+ $1314 = $1313&255;
+ $1315 = (10432 + ($1314)|0);
+ $1316 = HEAP8[$1315>>0]|0;
+ $1317 = HEAP8[$529>>0]|0;
+ $1318 = $1317 ^ $1316;
+ $1319 = $1318&255;
+ $1320 = (10432 + ($1319)|0);
+ $1321 = HEAP8[$1320>>0]|0;
+ $1322 = HEAP8[$344>>0]|0;
+ $1323 = $1322 ^ $1321;
+ $1324 = $1323&255;
+ $1325 = (10176 + ($1324)|0);
+ $1326 = HEAP8[$1325>>0]|0;
+ $1327 = HEAP8[$160>>0]|0;
+ $1328 = $1327 ^ $1326;
+ $1329 = $1328&255;
+ $1330 = (12736 + ($1329<<2)|0);
+ $1331 = HEAP32[$1330>>2]|0;
+ $1332 = $1311 ^ $1331;
+ $1333 = HEAP8[$737>>0]|0;
+ $1334 = $1333 ^ 123;
+ $1335 = $1334&255;
+ $1336 = (10432 + ($1335)|0);
+ $1337 = HEAP8[$1336>>0]|0;
+ $1338 = HEAP8[$553>>0]|0;
+ $1339 = $1338 ^ $1337;
+ $1340 = $1339&255;
+ $1341 = (10176 + ($1340)|0);
+ $1342 = HEAP8[$1341>>0]|0;
+ $1343 = HEAP8[$368>>0]|0;
+ $1344 = $1343 ^ $1342;
+ $1345 = $1344&255;
+ $1346 = (10176 + ($1345)|0);
+ $1347 = HEAP8[$1346>>0]|0;
+ $1348 = HEAP8[$184>>0]|0;
+ $1349 = $1348 ^ $1347;
+ $1350 = $1349&255;
+ $1351 = (13760 + ($1350<<2)|0);
+ $1352 = HEAP32[$1351>>2]|0;
+ $1353 = $1332 ^ $1352;
+ $1354 = $1353 << 8;
+ $1355 = $1353 >>> 24;
+ $1356 = $1354 | $1355;
+ $1357 = (($1356) + ($1270))|0;
+ $1358 = (($1357) + ($1356))|0;
+ $1359 = ((($0)) + 4112|0);
+ HEAP32[$1359>>2] = $1357;
+ $1360 = $1358 << 9;
+ $1361 = $1358 >>> 23;
+ $1362 = $1360 | $1361;
+ $1363 = ((($0)) + 4116|0);
+ HEAP32[$1363>>2] = $1362;
+ $1364 = HEAP8[$577>>0]|0;
+ $1365 = $1364 ^ -5;
+ $1366 = $1365&255;
+ $1367 = (10176 + ($1366)|0);
+ $1368 = HEAP8[$1367>>0]|0;
+ $1369 = HEAP8[$393>>0]|0;
+ $1370 = $1369 ^ $1368;
+ $1371 = $1370&255;
+ $1372 = (10432 + ($1371)|0);
+ $1373 = HEAP8[$1372>>0]|0;
+ $1374 = HEAP8[$208>>0]|0;
+ $1375 = $1374 ^ $1373;
+ $1376 = $1375&255;
+ $1377 = (10432 + ($1376)|0);
+ $1378 = HEAP8[$1377>>0]|0;
+ $1379 = HEAP8[$1>>0]|0;
+ $1380 = $1379 ^ $1378;
+ $1381 = $1380&255;
+ $1382 = (10688 + ($1381<<2)|0);
+ $1383 = HEAP32[$1382>>2]|0;
+ $1384 = HEAP8[$593>>0]|0;
+ $1385 = $1384 ^ -93;
+ $1386 = $1385&255;
+ $1387 = (10176 + ($1386)|0);
+ $1388 = HEAP8[$1387>>0]|0;
+ $1389 = HEAP8[$409>>0]|0;
+ $1390 = $1389 ^ $1388;
+ $1391 = $1390&255;
+ $1392 = (10176 + ($1391)|0);
+ $1393 = HEAP8[$1392>>0]|0;
+ $1394 = HEAP8[$224>>0]|0;
+ $1395 = $1394 ^ $1393;
+ $1396 = $1395&255;
+ $1397 = (10432 + ($1396)|0);
+ $1398 = HEAP8[$1397>>0]|0;
+ $1399 = HEAP8[$40>>0]|0;
+ $1400 = $1399 ^ $1398;
+ $1401 = $1400&255;
+ $1402 = (11712 + ($1401<<2)|0);
+ $1403 = HEAP32[$1402>>2]|0;
+ $1404 = $1403 ^ $1383;
+ $1405 = HEAP8[$617>>0]|0;
+ $1406 = $1405 ^ -93;
+ $1407 = $1406&255;
+ $1408 = (10432 + ($1407)|0);
+ $1409 = HEAP8[$1408>>0]|0;
+ $1410 = HEAP8[$433>>0]|0;
+ $1411 = $1410 ^ $1409;
+ $1412 = $1411&255;
+ $1413 = (10432 + ($1412)|0);
+ $1414 = HEAP8[$1413>>0]|0;
+ $1415 = HEAP8[$248>>0]|0;
+ $1416 = $1415 ^ $1414;
+ $1417 = $1416&255;
+ $1418 = (10176 + ($1417)|0);
+ $1419 = HEAP8[$1418>>0]|0;
+ $1420 = HEAP8[$64>>0]|0;
+ $1421 = $1420 ^ $1419;
+ $1422 = $1421&255;
+ $1423 = (12736 + ($1422<<2)|0);
+ $1424 = HEAP32[$1423>>2]|0;
+ $1425 = $1404 ^ $1424;
+ $1426 = HEAP8[$641>>0]|0;
+ $1427 = $1426 ^ -5;
+ $1428 = $1427&255;
+ $1429 = (10432 + ($1428)|0);
+ $1430 = HEAP8[$1429>>0]|0;
+ $1431 = HEAP8[$457>>0]|0;
+ $1432 = $1431 ^ $1430;
+ $1433 = $1432&255;
+ $1434 = (10176 + ($1433)|0);
+ $1435 = HEAP8[$1434>>0]|0;
+ $1436 = HEAP8[$272>>0]|0;
+ $1437 = $1436 ^ $1435;
+ $1438 = $1437&255;
+ $1439 = (10176 + ($1438)|0);
+ $1440 = HEAP8[$1439>>0]|0;
+ $1441 = HEAP8[$88>>0]|0;
+ $1442 = $1441 ^ $1440;
+ $1443 = $1442&255;
+ $1444 = (13760 + ($1443<<2)|0);
+ $1445 = HEAP32[$1444>>2]|0;
+ $1446 = $1425 ^ $1445;
+ $1447 = HEAP8[$665>>0]|0;
+ $1448 = $1447 ^ -56;
+ $1449 = $1448&255;
+ $1450 = (10176 + ($1449)|0);
+ $1451 = HEAP8[$1450>>0]|0;
+ $1452 = HEAP8[$481>>0]|0;
+ $1453 = $1452 ^ $1451;
+ $1454 = $1453&255;
+ $1455 = (10432 + ($1454)|0);
+ $1456 = HEAP8[$1455>>0]|0;
+ $1457 = HEAP8[$296>>0]|0;
+ $1458 = $1457 ^ $1456;
+ $1459 = $1458&255;
+ $1460 = (10432 + ($1459)|0);
+ $1461 = HEAP8[$1460>>0]|0;
+ $1462 = HEAP8[$112>>0]|0;
+ $1463 = $1462 ^ $1461;
+ $1464 = $1463&255;
+ $1465 = (10688 + ($1464<<2)|0);
+ $1466 = HEAP32[$1465>>2]|0;
+ $1467 = HEAP8[$689>>0]|0;
+ $1468 = $1467 ^ 118;
+ $1469 = $1468&255;
+ $1470 = (10176 + ($1469)|0);
+ $1471 = HEAP8[$1470>>0]|0;
+ $1472 = HEAP8[$505>>0]|0;
+ $1473 = $1472 ^ $1471;
+ $1474 = $1473&255;
+ $1475 = (10176 + ($1474)|0);
+ $1476 = HEAP8[$1475>>0]|0;
+ $1477 = HEAP8[$320>>0]|0;
+ $1478 = $1477 ^ $1476;
+ $1479 = $1478&255;
+ $1480 = (10432 + ($1479)|0);
+ $1481 = HEAP8[$1480>>0]|0;
+ $1482 = HEAP8[$136>>0]|0;
+ $1483 = $1482 ^ $1481;
+ $1484 = $1483&255;
+ $1485 = (11712 + ($1484<<2)|0);
+ $1486 = HEAP32[$1485>>2]|0;
+ $1487 = $1486 ^ $1466;
+ $1488 = HEAP8[$713>>0]|0;
+ $1489 = $1488 ^ 118;
+ $1490 = $1489&255;
+ $1491 = (10432 + ($1490)|0);
+ $1492 = HEAP8[$1491>>0]|0;
+ $1493 = HEAP8[$529>>0]|0;
+ $1494 = $1493 ^ $1492;
+ $1495 = $1494&255;
+ $1496 = (10432 + ($1495)|0);
+ $1497 = HEAP8[$1496>>0]|0;
+ $1498 = HEAP8[$344>>0]|0;
+ $1499 = $1498 ^ $1497;
+ $1500 = $1499&255;
+ $1501 = (10176 + ($1500)|0);
+ $1502 = HEAP8[$1501>>0]|0;
+ $1503 = HEAP8[$160>>0]|0;
+ $1504 = $1503 ^ $1502;
+ $1505 = $1504&255;
+ $1506 = (12736 + ($1505<<2)|0);
+ $1507 = HEAP32[$1506>>2]|0;
+ $1508 = $1487 ^ $1507;
+ $1509 = HEAP8[$737>>0]|0;
+ $1510 = $1509 ^ -56;
+ $1511 = $1510&255;
+ $1512 = (10432 + ($1511)|0);
+ $1513 = HEAP8[$1512>>0]|0;
+ $1514 = HEAP8[$553>>0]|0;
+ $1515 = $1514 ^ $1513;
+ $1516 = $1515&255;
+ $1517 = (10176 + ($1516)|0);
+ $1518 = HEAP8[$1517>>0]|0;
+ $1519 = HEAP8[$368>>0]|0;
+ $1520 = $1519 ^ $1518;
+ $1521 = $1520&255;
+ $1522 = (10176 + ($1521)|0);
+ $1523 = HEAP8[$1522>>0]|0;
+ $1524 = HEAP8[$184>>0]|0;
+ $1525 = $1524 ^ $1523;
+ $1526 = $1525&255;
+ $1527 = (13760 + ($1526<<2)|0);
+ $1528 = HEAP32[$1527>>2]|0;
+ $1529 = $1508 ^ $1528;
+ $1530 = $1529 << 8;
+ $1531 = $1529 >>> 24;
+ $1532 = $1530 | $1531;
+ $1533 = (($1532) + ($1446))|0;
+ $1534 = (($1533) + ($1532))|0;
+ $1535 = ((($0)) + 4120|0);
+ HEAP32[$1535>>2] = $1533;
+ $1536 = $1534 << 9;
+ $1537 = $1534 >>> 23;
+ $1538 = $1536 | $1537;
+ $1539 = ((($0)) + 4124|0);
+ HEAP32[$1539>>2] = $1538;
+ $1540 = HEAP8[$577>>0]|0;
+ $1541 = $1540 ^ 74;
+ $1542 = $1541&255;
+ $1543 = (10176 + ($1542)|0);
+ $1544 = HEAP8[$1543>>0]|0;
+ $1545 = HEAP8[$393>>0]|0;
+ $1546 = $1545 ^ $1544;
+ $1547 = $1546&255;
+ $1548 = (10432 + ($1547)|0);
+ $1549 = HEAP8[$1548>>0]|0;
+ $1550 = HEAP8[$208>>0]|0;
+ $1551 = $1550 ^ $1549;
+ $1552 = $1551&255;
+ $1553 = (10432 + ($1552)|0);
+ $1554 = HEAP8[$1553>>0]|0;
+ $1555 = HEAP8[$1>>0]|0;
+ $1556 = $1555 ^ $1554;
+ $1557 = $1556&255;
+ $1558 = (10688 + ($1557<<2)|0);
+ $1559 = HEAP32[$1558>>2]|0;
+ $1560 = HEAP8[$593>>0]|0;
+ $1561 = $1560 ^ -102;
+ $1562 = $1561&255;
+ $1563 = (10176 + ($1562)|0);
+ $1564 = HEAP8[$1563>>0]|0;
+ $1565 = HEAP8[$409>>0]|0;
+ $1566 = $1565 ^ $1564;
+ $1567 = $1566&255;
+ $1568 = (10176 + ($1567)|0);
+ $1569 = HEAP8[$1568>>0]|0;
+ $1570 = HEAP8[$224>>0]|0;
+ $1571 = $1570 ^ $1569;
+ $1572 = $1571&255;
+ $1573 = (10432 + ($1572)|0);
+ $1574 = HEAP8[$1573>>0]|0;
+ $1575 = HEAP8[$40>>0]|0;
+ $1576 = $1575 ^ $1574;
+ $1577 = $1576&255;
+ $1578 = (11712 + ($1577<<2)|0);
+ $1579 = HEAP32[$1578>>2]|0;
+ $1580 = $1579 ^ $1559;
+ $1581 = HEAP8[$617>>0]|0;
+ $1582 = $1581 ^ -102;
+ $1583 = $1582&255;
+ $1584 = (10432 + ($1583)|0);
+ $1585 = HEAP8[$1584>>0]|0;
+ $1586 = HEAP8[$433>>0]|0;
+ $1587 = $1586 ^ $1585;
+ $1588 = $1587&255;
+ $1589 = (10432 + ($1588)|0);
+ $1590 = HEAP8[$1589>>0]|0;
+ $1591 = HEAP8[$248>>0]|0;
+ $1592 = $1591 ^ $1590;
+ $1593 = $1592&255;
+ $1594 = (10176 + ($1593)|0);
+ $1595 = HEAP8[$1594>>0]|0;
+ $1596 = HEAP8[$64>>0]|0;
+ $1597 = $1596 ^ $1595;
+ $1598 = $1597&255;
+ $1599 = (12736 + ($1598<<2)|0);
+ $1600 = HEAP32[$1599>>2]|0;
+ $1601 = $1580 ^ $1600;
+ $1602 = HEAP8[$641>>0]|0;
+ $1603 = $1602 ^ 74;
+ $1604 = $1603&255;
+ $1605 = (10432 + ($1604)|0);
+ $1606 = HEAP8[$1605>>0]|0;
+ $1607 = HEAP8[$457>>0]|0;
+ $1608 = $1607 ^ $1606;
+ $1609 = $1608&255;
+ $1610 = (10176 + ($1609)|0);
+ $1611 = HEAP8[$1610>>0]|0;
+ $1612 = HEAP8[$272>>0]|0;
+ $1613 = $1612 ^ $1611;
+ $1614 = $1613&255;
+ $1615 = (10176 + ($1614)|0);
+ $1616 = HEAP8[$1615>>0]|0;
+ $1617 = HEAP8[$88>>0]|0;
+ $1618 = $1617 ^ $1616;
+ $1619 = $1618&255;
+ $1620 = (13760 + ($1619<<2)|0);
+ $1621 = HEAP32[$1620>>2]|0;
+ $1622 = $1601 ^ $1621;
+ $1623 = HEAP8[$665>>0]|0;
+ $1624 = $1623 ^ -45;
+ $1625 = $1624&255;
+ $1626 = (10176 + ($1625)|0);
+ $1627 = HEAP8[$1626>>0]|0;
+ $1628 = HEAP8[$481>>0]|0;
+ $1629 = $1628 ^ $1627;
+ $1630 = $1629&255;
+ $1631 = (10432 + ($1630)|0);
+ $1632 = HEAP8[$1631>>0]|0;
+ $1633 = HEAP8[$296>>0]|0;
+ $1634 = $1633 ^ $1632;
+ $1635 = $1634&255;
+ $1636 = (10432 + ($1635)|0);
+ $1637 = HEAP8[$1636>>0]|0;
+ $1638 = HEAP8[$112>>0]|0;
+ $1639 = $1638 ^ $1637;
+ $1640 = $1639&255;
+ $1641 = (10688 + ($1640<<2)|0);
+ $1642 = HEAP32[$1641>>2]|0;
+ $1643 = HEAP8[$689>>0]|0;
+ $1644 = $1643 ^ -110;
+ $1645 = $1644&255;
+ $1646 = (10176 + ($1645)|0);
+ $1647 = HEAP8[$1646>>0]|0;
+ $1648 = HEAP8[$505>>0]|0;
+ $1649 = $1648 ^ $1647;
+ $1650 = $1649&255;
+ $1651 = (10176 + ($1650)|0);
+ $1652 = HEAP8[$1651>>0]|0;
+ $1653 = HEAP8[$320>>0]|0;
+ $1654 = $1653 ^ $1652;
+ $1655 = $1654&255;
+ $1656 = (10432 + ($1655)|0);
+ $1657 = HEAP8[$1656>>0]|0;
+ $1658 = HEAP8[$136>>0]|0;
+ $1659 = $1658 ^ $1657;
+ $1660 = $1659&255;
+ $1661 = (11712 + ($1660<<2)|0);
+ $1662 = HEAP32[$1661>>2]|0;
+ $1663 = $1662 ^ $1642;
+ $1664 = HEAP8[$713>>0]|0;
+ $1665 = $1664 ^ -110;
+ $1666 = $1665&255;
+ $1667 = (10432 + ($1666)|0);
+ $1668 = HEAP8[$1667>>0]|0;
+ $1669 = HEAP8[$529>>0]|0;
+ $1670 = $1669 ^ $1668;
+ $1671 = $1670&255;
+ $1672 = (10432 + ($1671)|0);
+ $1673 = HEAP8[$1672>>0]|0;
+ $1674 = HEAP8[$344>>0]|0;
+ $1675 = $1674 ^ $1673;
+ $1676 = $1675&255;
+ $1677 = (10176 + ($1676)|0);
+ $1678 = HEAP8[$1677>>0]|0;
+ $1679 = HEAP8[$160>>0]|0;
+ $1680 = $1679 ^ $1678;
+ $1681 = $1680&255;
+ $1682 = (12736 + ($1681<<2)|0);
+ $1683 = HEAP32[$1682>>2]|0;
+ $1684 = $1663 ^ $1683;
+ $1685 = HEAP8[$737>>0]|0;
+ $1686 = $1685 ^ -45;
+ $1687 = $1686&255;
+ $1688 = (10432 + ($1687)|0);
+ $1689 = HEAP8[$1688>>0]|0;
+ $1690 = HEAP8[$553>>0]|0;
+ $1691 = $1690 ^ $1689;
+ $1692 = $1691&255;
+ $1693 = (10176 + ($1692)|0);
+ $1694 = HEAP8[$1693>>0]|0;
+ $1695 = HEAP8[$368>>0]|0;
+ $1696 = $1695 ^ $1694;
+ $1697 = $1696&255;
+ $1698 = (10176 + ($1697)|0);
+ $1699 = HEAP8[$1698>>0]|0;
+ $1700 = HEAP8[$184>>0]|0;
+ $1701 = $1700 ^ $1699;
+ $1702 = $1701&255;
+ $1703 = (13760 + ($1702<<2)|0);
+ $1704 = HEAP32[$1703>>2]|0;
+ $1705 = $1684 ^ $1704;
+ $1706 = $1705 << 8;
+ $1707 = $1705 >>> 24;
+ $1708 = $1706 | $1707;
+ $1709 = (($1708) + ($1622))|0;
+ $1710 = (($1709) + ($1708))|0;
+ $1711 = ((($0)) + 4128|0);
+ HEAP32[$1711>>2] = $1709;
+ $1712 = $1710 << 9;
+ $1713 = $1710 >>> 23;
+ $1714 = $1712 | $1713;
+ $1715 = ((($0)) + 4132|0);
+ HEAP32[$1715>>2] = $1714;
+ $1716 = HEAP8[$577>>0]|0;
+ $1717 = $1716 ^ -26;
+ $1718 = $1717&255;
+ $1719 = (10176 + ($1718)|0);
+ $1720 = HEAP8[$1719>>0]|0;
+ $1721 = HEAP8[$393>>0]|0;
+ $1722 = $1721 ^ $1720;
+ $1723 = $1722&255;
+ $1724 = (10432 + ($1723)|0);
+ $1725 = HEAP8[$1724>>0]|0;
+ $1726 = HEAP8[$208>>0]|0;
+ $1727 = $1726 ^ $1725;
+ $1728 = $1727&255;
+ $1729 = (10432 + ($1728)|0);
+ $1730 = HEAP8[$1729>>0]|0;
+ $1731 = HEAP8[$1>>0]|0;
+ $1732 = $1731 ^ $1730;
+ $1733 = $1732&255;
+ $1734 = (10688 + ($1733<<2)|0);
+ $1735 = HEAP32[$1734>>2]|0;
+ $1736 = HEAP8[$593>>0]|0;
+ $1737 = $1736 ^ -128;
+ $1738 = $1737&255;
+ $1739 = (10176 + ($1738)|0);
+ $1740 = HEAP8[$1739>>0]|0;
+ $1741 = HEAP8[$409>>0]|0;
+ $1742 = $1741 ^ $1740;
+ $1743 = $1742&255;
+ $1744 = (10176 + ($1743)|0);
+ $1745 = HEAP8[$1744>>0]|0;
+ $1746 = HEAP8[$224>>0]|0;
+ $1747 = $1746 ^ $1745;
+ $1748 = $1747&255;
+ $1749 = (10432 + ($1748)|0);
+ $1750 = HEAP8[$1749>>0]|0;
+ $1751 = HEAP8[$40>>0]|0;
+ $1752 = $1751 ^ $1750;
+ $1753 = $1752&255;
+ $1754 = (11712 + ($1753<<2)|0);
+ $1755 = HEAP32[$1754>>2]|0;
+ $1756 = $1755 ^ $1735;
+ $1757 = HEAP8[$617>>0]|0;
+ $1758 = $1757 ^ -128;
+ $1759 = $1758&255;
+ $1760 = (10432 + ($1759)|0);
+ $1761 = HEAP8[$1760>>0]|0;
+ $1762 = HEAP8[$433>>0]|0;
+ $1763 = $1762 ^ $1761;
+ $1764 = $1763&255;
+ $1765 = (10432 + ($1764)|0);
+ $1766 = HEAP8[$1765>>0]|0;
+ $1767 = HEAP8[$248>>0]|0;
+ $1768 = $1767 ^ $1766;
+ $1769 = $1768&255;
+ $1770 = (10176 + ($1769)|0);
+ $1771 = HEAP8[$1770>>0]|0;
+ $1772 = HEAP8[$64>>0]|0;
+ $1773 = $1772 ^ $1771;
+ $1774 = $1773&255;
+ $1775 = (12736 + ($1774<<2)|0);
+ $1776 = HEAP32[$1775>>2]|0;
+ $1777 = $1756 ^ $1776;
+ $1778 = HEAP8[$641>>0]|0;
+ $1779 = $1778 ^ -26;
+ $1780 = $1779&255;
+ $1781 = (10432 + ($1780)|0);
+ $1782 = HEAP8[$1781>>0]|0;
+ $1783 = HEAP8[$457>>0]|0;
+ $1784 = $1783 ^ $1782;
+ $1785 = $1784&255;
+ $1786 = (10176 + ($1785)|0);
+ $1787 = HEAP8[$1786>>0]|0;
+ $1788 = HEAP8[$272>>0]|0;
+ $1789 = $1788 ^ $1787;
+ $1790 = $1789&255;
+ $1791 = (10176 + ($1790)|0);
+ $1792 = HEAP8[$1791>>0]|0;
+ $1793 = HEAP8[$88>>0]|0;
+ $1794 = $1793 ^ $1792;
+ $1795 = $1794&255;
+ $1796 = (13760 + ($1795<<2)|0);
+ $1797 = HEAP32[$1796>>2]|0;
+ $1798 = $1777 ^ $1797;
+ $1799 = HEAP8[$665>>0]|0;
+ $1800 = $1799 ^ 107;
+ $1801 = $1800&255;
+ $1802 = (10176 + ($1801)|0);
+ $1803 = HEAP8[$1802>>0]|0;
+ $1804 = HEAP8[$481>>0]|0;
+ $1805 = $1804 ^ $1803;
+ $1806 = $1805&255;
+ $1807 = (10432 + ($1806)|0);
+ $1808 = HEAP8[$1807>>0]|0;
+ $1809 = HEAP8[$296>>0]|0;
+ $1810 = $1809 ^ $1808;
+ $1811 = $1810&255;
+ $1812 = (10432 + ($1811)|0);
+ $1813 = HEAP8[$1812>>0]|0;
+ $1814 = HEAP8[$112>>0]|0;
+ $1815 = $1814 ^ $1813;
+ $1816 = $1815&255;
+ $1817 = (10688 + ($1816<<2)|0);
+ $1818 = HEAP32[$1817>>2]|0;
+ $1819 = HEAP8[$689>>0]|0;
+ $1820 = $1819 ^ 120;
+ $1821 = $1820&255;
+ $1822 = (10176 + ($1821)|0);
+ $1823 = HEAP8[$1822>>0]|0;
+ $1824 = HEAP8[$505>>0]|0;
+ $1825 = $1824 ^ $1823;
+ $1826 = $1825&255;
+ $1827 = (10176 + ($1826)|0);
+ $1828 = HEAP8[$1827>>0]|0;
+ $1829 = HEAP8[$320>>0]|0;
+ $1830 = $1829 ^ $1828;
+ $1831 = $1830&255;
+ $1832 = (10432 + ($1831)|0);
+ $1833 = HEAP8[$1832>>0]|0;
+ $1834 = HEAP8[$136>>0]|0;
+ $1835 = $1834 ^ $1833;
+ $1836 = $1835&255;
+ $1837 = (11712 + ($1836<<2)|0);
+ $1838 = HEAP32[$1837>>2]|0;
+ $1839 = $1838 ^ $1818;
+ $1840 = HEAP8[$713>>0]|0;
+ $1841 = $1840 ^ 120;
+ $1842 = $1841&255;
+ $1843 = (10432 + ($1842)|0);
+ $1844 = HEAP8[$1843>>0]|0;
+ $1845 = HEAP8[$529>>0]|0;
+ $1846 = $1845 ^ $1844;
+ $1847 = $1846&255;
+ $1848 = (10432 + ($1847)|0);
+ $1849 = HEAP8[$1848>>0]|0;
+ $1850 = HEAP8[$344>>0]|0;
+ $1851 = $1850 ^ $1849;
+ $1852 = $1851&255;
+ $1853 = (10176 + ($1852)|0);
+ $1854 = HEAP8[$1853>>0]|0;
+ $1855 = HEAP8[$160>>0]|0;
+ $1856 = $1855 ^ $1854;
+ $1857 = $1856&255;
+ $1858 = (12736 + ($1857<<2)|0);
+ $1859 = HEAP32[$1858>>2]|0;
+ $1860 = $1839 ^ $1859;
+ $1861 = HEAP8[$737>>0]|0;
+ $1862 = $1861 ^ 107;
+ $1863 = $1862&255;
+ $1864 = (10432 + ($1863)|0);
+ $1865 = HEAP8[$1864>>0]|0;
+ $1866 = HEAP8[$553>>0]|0;
+ $1867 = $1866 ^ $1865;
+ $1868 = $1867&255;
+ $1869 = (10176 + ($1868)|0);
+ $1870 = HEAP8[$1869>>0]|0;
+ $1871 = HEAP8[$368>>0]|0;
+ $1872 = $1871 ^ $1870;
+ $1873 = $1872&255;
+ $1874 = (10176 + ($1873)|0);
+ $1875 = HEAP8[$1874>>0]|0;
+ $1876 = HEAP8[$184>>0]|0;
+ $1877 = $1876 ^ $1875;
+ $1878 = $1877&255;
+ $1879 = (13760 + ($1878<<2)|0);
+ $1880 = HEAP32[$1879>>2]|0;
+ $1881 = $1860 ^ $1880;
+ $1882 = $1881 << 8;
+ $1883 = $1881 >>> 24;
+ $1884 = $1882 | $1883;
+ $1885 = (($1884) + ($1798))|0;
+ $1886 = (($1885) + ($1884))|0;
+ $1887 = ((($0)) + 4136|0);
+ HEAP32[$1887>>2] = $1885;
+ $1888 = $1886 << 9;
+ $1889 = $1886 >>> 23;
+ $1890 = $1888 | $1889;
+ $1891 = ((($0)) + 4140|0);
+ HEAP32[$1891>>2] = $1890;
+ $1892 = HEAP8[$577>>0]|0;
+ $1893 = $1892 ^ 69;
+ $1894 = $1893&255;
+ $1895 = (10176 + ($1894)|0);
+ $1896 = HEAP8[$1895>>0]|0;
+ $1897 = HEAP8[$393>>0]|0;
+ $1898 = $1897 ^ $1896;
+ $1899 = $1898&255;
+ $1900 = (10432 + ($1899)|0);
+ $1901 = HEAP8[$1900>>0]|0;
+ $1902 = HEAP8[$208>>0]|0;
+ $1903 = $1902 ^ $1901;
+ $1904 = $1903&255;
+ $1905 = (10432 + ($1904)|0);
+ $1906 = HEAP8[$1905>>0]|0;
+ $1907 = HEAP8[$1>>0]|0;
+ $1908 = $1907 ^ $1906;
+ $1909 = $1908&255;
+ $1910 = (10688 + ($1909<<2)|0);
+ $1911 = HEAP32[$1910>>2]|0;
+ $1912 = HEAP8[$593>>0]|0;
+ $1913 = $1912 ^ -28;
+ $1914 = $1913&255;
+ $1915 = (10176 + ($1914)|0);
+ $1916 = HEAP8[$1915>>0]|0;
+ $1917 = HEAP8[$409>>0]|0;
+ $1918 = $1917 ^ $1916;
+ $1919 = $1918&255;
+ $1920 = (10176 + ($1919)|0);
+ $1921 = HEAP8[$1920>>0]|0;
+ $1922 = HEAP8[$224>>0]|0;
+ $1923 = $1922 ^ $1921;
+ $1924 = $1923&255;
+ $1925 = (10432 + ($1924)|0);
+ $1926 = HEAP8[$1925>>0]|0;
+ $1927 = HEAP8[$40>>0]|0;
+ $1928 = $1927 ^ $1926;
+ $1929 = $1928&255;
+ $1930 = (11712 + ($1929<<2)|0);
+ $1931 = HEAP32[$1930>>2]|0;
+ $1932 = $1931 ^ $1911;
+ $1933 = HEAP8[$617>>0]|0;
+ $1934 = $1933 ^ -28;
+ $1935 = $1934&255;
+ $1936 = (10432 + ($1935)|0);
+ $1937 = HEAP8[$1936>>0]|0;
+ $1938 = HEAP8[$433>>0]|0;
+ $1939 = $1938 ^ $1937;
+ $1940 = $1939&255;
+ $1941 = (10432 + ($1940)|0);
+ $1942 = HEAP8[$1941>>0]|0;
+ $1943 = HEAP8[$248>>0]|0;
+ $1944 = $1943 ^ $1942;
+ $1945 = $1944&255;
+ $1946 = (10176 + ($1945)|0);
+ $1947 = HEAP8[$1946>>0]|0;
+ $1948 = HEAP8[$64>>0]|0;
+ $1949 = $1948 ^ $1947;
+ $1950 = $1949&255;
+ $1951 = (12736 + ($1950<<2)|0);
+ $1952 = HEAP32[$1951>>2]|0;
+ $1953 = $1932 ^ $1952;
+ $1954 = HEAP8[$641>>0]|0;
+ $1955 = $1954 ^ 69;
+ $1956 = $1955&255;
+ $1957 = (10432 + ($1956)|0);
+ $1958 = HEAP8[$1957>>0]|0;
+ $1959 = HEAP8[$457>>0]|0;
+ $1960 = $1959 ^ $1958;
+ $1961 = $1960&255;
+ $1962 = (10176 + ($1961)|0);
+ $1963 = HEAP8[$1962>>0]|0;
+ $1964 = HEAP8[$272>>0]|0;
+ $1965 = $1964 ^ $1963;
+ $1966 = $1965&255;
+ $1967 = (10176 + ($1966)|0);
+ $1968 = HEAP8[$1967>>0]|0;
+ $1969 = HEAP8[$88>>0]|0;
+ $1970 = $1969 ^ $1968;
+ $1971 = $1970&255;
+ $1972 = (13760 + ($1971<<2)|0);
+ $1973 = HEAP32[$1972>>2]|0;
+ $1974 = $1953 ^ $1973;
+ $1975 = HEAP8[$665>>0]|0;
+ $1976 = $1975 ^ 125;
+ $1977 = $1976&255;
+ $1978 = (10176 + ($1977)|0);
+ $1979 = HEAP8[$1978>>0]|0;
+ $1980 = HEAP8[$481>>0]|0;
+ $1981 = $1980 ^ $1979;
+ $1982 = $1981&255;
+ $1983 = (10432 + ($1982)|0);
+ $1984 = HEAP8[$1983>>0]|0;
+ $1985 = HEAP8[$296>>0]|0;
+ $1986 = $1985 ^ $1984;
+ $1987 = $1986&255;
+ $1988 = (10432 + ($1987)|0);
+ $1989 = HEAP8[$1988>>0]|0;
+ $1990 = HEAP8[$112>>0]|0;
+ $1991 = $1990 ^ $1989;
+ $1992 = $1991&255;
+ $1993 = (10688 + ($1992<<2)|0);
+ $1994 = HEAP32[$1993>>2]|0;
+ $1995 = HEAP8[$689>>0]|0;
+ $1996 = $1995 ^ -35;
+ $1997 = $1996&255;
+ $1998 = (10176 + ($1997)|0);
+ $1999 = HEAP8[$1998>>0]|0;
+ $2000 = HEAP8[$505>>0]|0;
+ $2001 = $2000 ^ $1999;
+ $2002 = $2001&255;
+ $2003 = (10176 + ($2002)|0);
+ $2004 = HEAP8[$2003>>0]|0;
+ $2005 = HEAP8[$320>>0]|0;
+ $2006 = $2005 ^ $2004;
+ $2007 = $2006&255;
+ $2008 = (10432 + ($2007)|0);
+ $2009 = HEAP8[$2008>>0]|0;
+ $2010 = HEAP8[$136>>0]|0;
+ $2011 = $2010 ^ $2009;
+ $2012 = $2011&255;
+ $2013 = (11712 + ($2012<<2)|0);
+ $2014 = HEAP32[$2013>>2]|0;
+ $2015 = $2014 ^ $1994;
+ $2016 = HEAP8[$713>>0]|0;
+ $2017 = $2016 ^ -35;
+ $2018 = $2017&255;
+ $2019 = (10432 + ($2018)|0);
+ $2020 = HEAP8[$2019>>0]|0;
+ $2021 = HEAP8[$529>>0]|0;
+ $2022 = $2021 ^ $2020;
+ $2023 = $2022&255;
+ $2024 = (10432 + ($2023)|0);
+ $2025 = HEAP8[$2024>>0]|0;
+ $2026 = HEAP8[$344>>0]|0;
+ $2027 = $2026 ^ $2025;
+ $2028 = $2027&255;
+ $2029 = (10176 + ($2028)|0);
+ $2030 = HEAP8[$2029>>0]|0;
+ $2031 = HEAP8[$160>>0]|0;
+ $2032 = $2031 ^ $2030;
+ $2033 = $2032&255;
+ $2034 = (12736 + ($2033<<2)|0);
+ $2035 = HEAP32[$2034>>2]|0;
+ $2036 = $2015 ^ $2035;
+ $2037 = HEAP8[$737>>0]|0;
+ $2038 = $2037 ^ 125;
+ $2039 = $2038&255;
+ $2040 = (10432 + ($2039)|0);
+ $2041 = HEAP8[$2040>>0]|0;
+ $2042 = HEAP8[$553>>0]|0;
+ $2043 = $2042 ^ $2041;
+ $2044 = $2043&255;
+ $2045 = (10176 + ($2044)|0);
+ $2046 = HEAP8[$2045>>0]|0;
+ $2047 = HEAP8[$368>>0]|0;
+ $2048 = $2047 ^ $2046;
+ $2049 = $2048&255;
+ $2050 = (10176 + ($2049)|0);
+ $2051 = HEAP8[$2050>>0]|0;
+ $2052 = HEAP8[$184>>0]|0;
+ $2053 = $2052 ^ $2051;
+ $2054 = $2053&255;
+ $2055 = (13760 + ($2054<<2)|0);
+ $2056 = HEAP32[$2055>>2]|0;
+ $2057 = $2036 ^ $2056;
+ $2058 = $2057 << 8;
+ $2059 = $2057 >>> 24;
+ $2060 = $2058 | $2059;
+ $2061 = (($2060) + ($1974))|0;
+ $2062 = (($2061) + ($2060))|0;
+ $2063 = ((($0)) + 4144|0);
+ HEAP32[$2063>>2] = $2061;
+ $2064 = $2062 << 9;
+ $2065 = $2062 >>> 23;
+ $2066 = $2064 | $2065;
+ $2067 = ((($0)) + 4148|0);
+ HEAP32[$2067>>2] = $2066;
+ $2068 = HEAP8[$577>>0]|0;
+ $2069 = $2068 ^ -24;
+ $2070 = $2069&255;
+ $2071 = (10176 + ($2070)|0);
+ $2072 = HEAP8[$2071>>0]|0;
+ $2073 = HEAP8[$393>>0]|0;
+ $2074 = $2073 ^ $2072;
+ $2075 = $2074&255;
+ $2076 = (10432 + ($2075)|0);
+ $2077 = HEAP8[$2076>>0]|0;
+ $2078 = HEAP8[$208>>0]|0;
+ $2079 = $2078 ^ $2077;
+ $2080 = $2079&255;
+ $2081 = (10432 + ($2080)|0);
+ $2082 = HEAP8[$2081>>0]|0;
+ $2083 = HEAP8[$1>>0]|0;
+ $2084 = $2083 ^ $2082;
+ $2085 = $2084&255;
+ $2086 = (10688 + ($2085<<2)|0);
+ $2087 = HEAP32[$2086>>2]|0;
+ $2088 = HEAP8[$593>>0]|0;
+ $2089 = $2088 ^ -47;
+ $2090 = $2089&255;
+ $2091 = (10176 + ($2090)|0);
+ $2092 = HEAP8[$2091>>0]|0;
+ $2093 = HEAP8[$409>>0]|0;
+ $2094 = $2093 ^ $2092;
+ $2095 = $2094&255;
+ $2096 = (10176 + ($2095)|0);
+ $2097 = HEAP8[$2096>>0]|0;
+ $2098 = HEAP8[$224>>0]|0;
+ $2099 = $2098 ^ $2097;
+ $2100 = $2099&255;
+ $2101 = (10432 + ($2100)|0);
+ $2102 = HEAP8[$2101>>0]|0;
+ $2103 = HEAP8[$40>>0]|0;
+ $2104 = $2103 ^ $2102;
+ $2105 = $2104&255;
+ $2106 = (11712 + ($2105<<2)|0);
+ $2107 = HEAP32[$2106>>2]|0;
+ $2108 = $2107 ^ $2087;
+ $2109 = HEAP8[$617>>0]|0;
+ $2110 = $2109 ^ -47;
+ $2111 = $2110&255;
+ $2112 = (10432 + ($2111)|0);
+ $2113 = HEAP8[$2112>>0]|0;
+ $2114 = HEAP8[$433>>0]|0;
+ $2115 = $2114 ^ $2113;
+ $2116 = $2115&255;
+ $2117 = (10432 + ($2116)|0);
+ $2118 = HEAP8[$2117>>0]|0;
+ $2119 = HEAP8[$248>>0]|0;
+ $2120 = $2119 ^ $2118;
+ $2121 = $2120&255;
+ $2122 = (10176 + ($2121)|0);
+ $2123 = HEAP8[$2122>>0]|0;
+ $2124 = HEAP8[$64>>0]|0;
+ $2125 = $2124 ^ $2123;
+ $2126 = $2125&255;
+ $2127 = (12736 + ($2126<<2)|0);
+ $2128 = HEAP32[$2127>>2]|0;
+ $2129 = $2108 ^ $2128;
+ $2130 = HEAP8[$641>>0]|0;
+ $2131 = $2130 ^ -24;
+ $2132 = $2131&255;
+ $2133 = (10432 + ($2132)|0);
+ $2134 = HEAP8[$2133>>0]|0;
+ $2135 = HEAP8[$457>>0]|0;
+ $2136 = $2135 ^ $2134;
+ $2137 = $2136&255;
+ $2138 = (10176 + ($2137)|0);
+ $2139 = HEAP8[$2138>>0]|0;
+ $2140 = HEAP8[$272>>0]|0;
+ $2141 = $2140 ^ $2139;
+ $2142 = $2141&255;
+ $2143 = (10176 + ($2142)|0);
+ $2144 = HEAP8[$2143>>0]|0;
+ $2145 = HEAP8[$88>>0]|0;
+ $2146 = $2145 ^ $2144;
+ $2147 = $2146&255;
+ $2148 = (13760 + ($2147<<2)|0);
+ $2149 = HEAP32[$2148>>2]|0;
+ $2150 = $2129 ^ $2149;
+ $2151 = HEAP8[$665>>0]|0;
+ $2152 = $2151 ^ 75;
+ $2153 = $2152&255;
+ $2154 = (10176 + ($2153)|0);
+ $2155 = HEAP8[$2154>>0]|0;
+ $2156 = HEAP8[$481>>0]|0;
+ $2157 = $2156 ^ $2155;
+ $2158 = $2157&255;
+ $2159 = (10432 + ($2158)|0);
+ $2160 = HEAP8[$2159>>0]|0;
+ $2161 = HEAP8[$296>>0]|0;
+ $2162 = $2161 ^ $2160;
+ $2163 = $2162&255;
+ $2164 = (10432 + ($2163)|0);
+ $2165 = HEAP8[$2164>>0]|0;
+ $2166 = HEAP8[$112>>0]|0;
+ $2167 = $2166 ^ $2165;
+ $2168 = $2167&255;
+ $2169 = (10688 + ($2168<<2)|0);
+ $2170 = HEAP32[$2169>>2]|0;
+ $2171 = HEAP8[$689>>0]|0;
+ $2172 = $2171 ^ 56;
+ $2173 = $2172&255;
+ $2174 = (10176 + ($2173)|0);
+ $2175 = HEAP8[$2174>>0]|0;
+ $2176 = HEAP8[$505>>0]|0;
+ $2177 = $2176 ^ $2175;
+ $2178 = $2177&255;
+ $2179 = (10176 + ($2178)|0);
+ $2180 = HEAP8[$2179>>0]|0;
+ $2181 = HEAP8[$320>>0]|0;
+ $2182 = $2181 ^ $2180;
+ $2183 = $2182&255;
+ $2184 = (10432 + ($2183)|0);
+ $2185 = HEAP8[$2184>>0]|0;
+ $2186 = HEAP8[$136>>0]|0;
+ $2187 = $2186 ^ $2185;
+ $2188 = $2187&255;
+ $2189 = (11712 + ($2188<<2)|0);
+ $2190 = HEAP32[$2189>>2]|0;
+ $2191 = $2190 ^ $2170;
+ $2192 = HEAP8[$713>>0]|0;
+ $2193 = $2192 ^ 56;
+ $2194 = $2193&255;
+ $2195 = (10432 + ($2194)|0);
+ $2196 = HEAP8[$2195>>0]|0;
+ $2197 = HEAP8[$529>>0]|0;
+ $2198 = $2197 ^ $2196;
+ $2199 = $2198&255;
+ $2200 = (10432 + ($2199)|0);
+ $2201 = HEAP8[$2200>>0]|0;
+ $2202 = HEAP8[$344>>0]|0;
+ $2203 = $2202 ^ $2201;
+ $2204 = $2203&255;
+ $2205 = (10176 + ($2204)|0);
+ $2206 = HEAP8[$2205>>0]|0;
+ $2207 = HEAP8[$160>>0]|0;
+ $2208 = $2207 ^ $2206;
+ $2209 = $2208&255;
+ $2210 = (12736 + ($2209<<2)|0);
+ $2211 = HEAP32[$2210>>2]|0;
+ $2212 = $2191 ^ $2211;
+ $2213 = HEAP8[$737>>0]|0;
+ $2214 = $2213 ^ 75;
+ $2215 = $2214&255;
+ $2216 = (10432 + ($2215)|0);
+ $2217 = HEAP8[$2216>>0]|0;
+ $2218 = HEAP8[$553>>0]|0;
+ $2219 = $2218 ^ $2217;
+ $2220 = $2219&255;
+ $2221 = (10176 + ($2220)|0);
+ $2222 = HEAP8[$2221>>0]|0;
+ $2223 = HEAP8[$368>>0]|0;
+ $2224 = $2223 ^ $2222;
+ $2225 = $2224&255;
+ $2226 = (10176 + ($2225)|0);
+ $2227 = HEAP8[$2226>>0]|0;
+ $2228 = HEAP8[$184>>0]|0;
+ $2229 = $2228 ^ $2227;
+ $2230 = $2229&255;
+ $2231 = (13760 + ($2230<<2)|0);
+ $2232 = HEAP32[$2231>>2]|0;
+ $2233 = $2212 ^ $2232;
+ $2234 = $2233 << 8;
+ $2235 = $2233 >>> 24;
+ $2236 = $2234 | $2235;
+ $2237 = (($2236) + ($2150))|0;
+ $2238 = (($2237) + ($2236))|0;
+ $2239 = ((($0)) + 4152|0);
+ HEAP32[$2239>>2] = $2237;
+ $2240 = $2238 << 9;
+ $2241 = $2238 >>> 23;
+ $2242 = $2240 | $2241;
+ $2243 = ((($0)) + 4156|0);
+ HEAP32[$2243>>2] = $2242;
+ $2244 = HEAP8[$577>>0]|0;
+ $2245 = $2244 ^ -42;
+ $2246 = $2245&255;
+ $2247 = (10176 + ($2246)|0);
+ $2248 = HEAP8[$2247>>0]|0;
+ $2249 = HEAP8[$393>>0]|0;
+ $2250 = $2249 ^ $2248;
+ $2251 = $2250&255;
+ $2252 = (10432 + ($2251)|0);
+ $2253 = HEAP8[$2252>>0]|0;
+ $2254 = HEAP8[$208>>0]|0;
+ $2255 = $2254 ^ $2253;
+ $2256 = $2255&255;
+ $2257 = (10432 + ($2256)|0);
+ $2258 = HEAP8[$2257>>0]|0;
+ $2259 = HEAP8[$1>>0]|0;
+ $2260 = $2259 ^ $2258;
+ $2261 = $2260&255;
+ $2262 = (10688 + ($2261<<2)|0);
+ $2263 = HEAP32[$2262>>2]|0;
+ $2264 = HEAP8[$593>>0]|0;
+ $2265 = $2264 ^ 13;
+ $2266 = $2265&255;
+ $2267 = (10176 + ($2266)|0);
+ $2268 = HEAP8[$2267>>0]|0;
+ $2269 = HEAP8[$409>>0]|0;
+ $2270 = $2269 ^ $2268;
+ $2271 = $2270&255;
+ $2272 = (10176 + ($2271)|0);
+ $2273 = HEAP8[$2272>>0]|0;
+ $2274 = HEAP8[$224>>0]|0;
+ $2275 = $2274 ^ $2273;
+ $2276 = $2275&255;
+ $2277 = (10432 + ($2276)|0);
+ $2278 = HEAP8[$2277>>0]|0;
+ $2279 = HEAP8[$40>>0]|0;
+ $2280 = $2279 ^ $2278;
+ $2281 = $2280&255;
+ $2282 = (11712 + ($2281<<2)|0);
+ $2283 = HEAP32[$2282>>2]|0;
+ $2284 = $2283 ^ $2263;
+ $2285 = HEAP8[$617>>0]|0;
+ $2286 = $2285 ^ 13;
+ $2287 = $2286&255;
+ $2288 = (10432 + ($2287)|0);
+ $2289 = HEAP8[$2288>>0]|0;
+ $2290 = HEAP8[$433>>0]|0;
+ $2291 = $2290 ^ $2289;
+ $2292 = $2291&255;
+ $2293 = (10432 + ($2292)|0);
+ $2294 = HEAP8[$2293>>0]|0;
+ $2295 = HEAP8[$248>>0]|0;
+ $2296 = $2295 ^ $2294;
+ $2297 = $2296&255;
+ $2298 = (10176 + ($2297)|0);
+ $2299 = HEAP8[$2298>>0]|0;
+ $2300 = HEAP8[$64>>0]|0;
+ $2301 = $2300 ^ $2299;
+ $2302 = $2301&255;
+ $2303 = (12736 + ($2302<<2)|0);
+ $2304 = HEAP32[$2303>>2]|0;
+ $2305 = $2284 ^ $2304;
+ $2306 = HEAP8[$641>>0]|0;
+ $2307 = $2306 ^ -42;
+ $2308 = $2307&255;
+ $2309 = (10432 + ($2308)|0);
+ $2310 = HEAP8[$2309>>0]|0;
+ $2311 = HEAP8[$457>>0]|0;
+ $2312 = $2311 ^ $2310;
+ $2313 = $2312&255;
+ $2314 = (10176 + ($2313)|0);
+ $2315 = HEAP8[$2314>>0]|0;
+ $2316 = HEAP8[$272>>0]|0;
+ $2317 = $2316 ^ $2315;
+ $2318 = $2317&255;
+ $2319 = (10176 + ($2318)|0);
+ $2320 = HEAP8[$2319>>0]|0;
+ $2321 = HEAP8[$88>>0]|0;
+ $2322 = $2321 ^ $2320;
+ $2323 = $2322&255;
+ $2324 = (13760 + ($2323<<2)|0);
+ $2325 = HEAP32[$2324>>2]|0;
+ $2326 = $2305 ^ $2325;
+ $2327 = HEAP8[$665>>0]|0;
+ $2328 = $2327 ^ 50;
+ $2329 = $2328&255;
+ $2330 = (10176 + ($2329)|0);
+ $2331 = HEAP8[$2330>>0]|0;
+ $2332 = HEAP8[$481>>0]|0;
+ $2333 = $2332 ^ $2331;
+ $2334 = $2333&255;
+ $2335 = (10432 + ($2334)|0);
+ $2336 = HEAP8[$2335>>0]|0;
+ $2337 = HEAP8[$296>>0]|0;
+ $2338 = $2337 ^ $2336;
+ $2339 = $2338&255;
+ $2340 = (10432 + ($2339)|0);
+ $2341 = HEAP8[$2340>>0]|0;
+ $2342 = HEAP8[$112>>0]|0;
+ $2343 = $2342 ^ $2341;
+ $2344 = $2343&255;
+ $2345 = (10688 + ($2344<<2)|0);
+ $2346 = HEAP32[$2345>>2]|0;
+ $2347 = HEAP8[$689>>0]|0;
+ $2348 = $2347 ^ -58;
+ $2349 = $2348&255;
+ $2350 = (10176 + ($2349)|0);
+ $2351 = HEAP8[$2350>>0]|0;
+ $2352 = HEAP8[$505>>0]|0;
+ $2353 = $2352 ^ $2351;
+ $2354 = $2353&255;
+ $2355 = (10176 + ($2354)|0);
+ $2356 = HEAP8[$2355>>0]|0;
+ $2357 = HEAP8[$320>>0]|0;
+ $2358 = $2357 ^ $2356;
+ $2359 = $2358&255;
+ $2360 = (10432 + ($2359)|0);
+ $2361 = HEAP8[$2360>>0]|0;
+ $2362 = HEAP8[$136>>0]|0;
+ $2363 = $2362 ^ $2361;
+ $2364 = $2363&255;
+ $2365 = (11712 + ($2364<<2)|0);
+ $2366 = HEAP32[$2365>>2]|0;
+ $2367 = $2366 ^ $2346;
+ $2368 = HEAP8[$713>>0]|0;
+ $2369 = $2368 ^ -58;
+ $2370 = $2369&255;
+ $2371 = (10432 + ($2370)|0);
+ $2372 = HEAP8[$2371>>0]|0;
+ $2373 = HEAP8[$529>>0]|0;
+ $2374 = $2373 ^ $2372;
+ $2375 = $2374&255;
+ $2376 = (10432 + ($2375)|0);
+ $2377 = HEAP8[$2376>>0]|0;
+ $2378 = HEAP8[$344>>0]|0;
+ $2379 = $2378 ^ $2377;
+ $2380 = $2379&255;
+ $2381 = (10176 + ($2380)|0);
+ $2382 = HEAP8[$2381>>0]|0;
+ $2383 = HEAP8[$160>>0]|0;
+ $2384 = $2383 ^ $2382;
+ $2385 = $2384&255;
+ $2386 = (12736 + ($2385<<2)|0);
+ $2387 = HEAP32[$2386>>2]|0;
+ $2388 = $2367 ^ $2387;
+ $2389 = HEAP8[$737>>0]|0;
+ $2390 = $2389 ^ 50;
+ $2391 = $2390&255;
+ $2392 = (10432 + ($2391)|0);
+ $2393 = HEAP8[$2392>>0]|0;
+ $2394 = HEAP8[$553>>0]|0;
+ $2395 = $2394 ^ $2393;
+ $2396 = $2395&255;
+ $2397 = (10176 + ($2396)|0);
+ $2398 = HEAP8[$2397>>0]|0;
+ $2399 = HEAP8[$368>>0]|0;
+ $2400 = $2399 ^ $2398;
+ $2401 = $2400&255;
+ $2402 = (10176 + ($2401)|0);
+ $2403 = HEAP8[$2402>>0]|0;
+ $2404 = HEAP8[$184>>0]|0;
+ $2405 = $2404 ^ $2403;
+ $2406 = $2405&255;
+ $2407 = (13760 + ($2406<<2)|0);
+ $2408 = HEAP32[$2407>>2]|0;
+ $2409 = $2388 ^ $2408;
+ $2410 = $2409 << 8;
+ $2411 = $2409 >>> 24;
+ $2412 = $2410 | $2411;
+ $2413 = (($2412) + ($2326))|0;
+ $2414 = (($2413) + ($2412))|0;
+ $2415 = ((($0)) + 4160|0);
+ HEAP32[$2415>>2] = $2413;
+ $2416 = $2414 << 9;
+ $2417 = $2414 >>> 23;
+ $2418 = $2416 | $2417;
+ $2419 = ((($0)) + 4164|0);
+ HEAP32[$2419>>2] = $2418;
+ $2420 = HEAP8[$577>>0]|0;
+ $2421 = $2420 ^ -40;
+ $2422 = $2421&255;
+ $2423 = (10176 + ($2422)|0);
+ $2424 = HEAP8[$2423>>0]|0;
+ $2425 = HEAP8[$393>>0]|0;
+ $2426 = $2425 ^ $2424;
+ $2427 = $2426&255;
+ $2428 = (10432 + ($2427)|0);
+ $2429 = HEAP8[$2428>>0]|0;
+ $2430 = HEAP8[$208>>0]|0;
+ $2431 = $2430 ^ $2429;
+ $2432 = $2431&255;
+ $2433 = (10432 + ($2432)|0);
+ $2434 = HEAP8[$2433>>0]|0;
+ $2435 = HEAP8[$1>>0]|0;
+ $2436 = $2435 ^ $2434;
+ $2437 = $2436&255;
+ $2438 = (10688 + ($2437<<2)|0);
+ $2439 = HEAP32[$2438>>2]|0;
+ $2440 = HEAP8[$593>>0]|0;
+ $2441 = $2440 ^ 53;
+ $2442 = $2441&255;
+ $2443 = (10176 + ($2442)|0);
+ $2444 = HEAP8[$2443>>0]|0;
+ $2445 = HEAP8[$409>>0]|0;
+ $2446 = $2445 ^ $2444;
+ $2447 = $2446&255;
+ $2448 = (10176 + ($2447)|0);
+ $2449 = HEAP8[$2448>>0]|0;
+ $2450 = HEAP8[$224>>0]|0;
+ $2451 = $2450 ^ $2449;
+ $2452 = $2451&255;
+ $2453 = (10432 + ($2452)|0);
+ $2454 = HEAP8[$2453>>0]|0;
+ $2455 = HEAP8[$40>>0]|0;
+ $2456 = $2455 ^ $2454;
+ $2457 = $2456&255;
+ $2458 = (11712 + ($2457<<2)|0);
+ $2459 = HEAP32[$2458>>2]|0;
+ $2460 = $2459 ^ $2439;
+ $2461 = HEAP8[$617>>0]|0;
+ $2462 = $2461 ^ 53;
+ $2463 = $2462&255;
+ $2464 = (10432 + ($2463)|0);
+ $2465 = HEAP8[$2464>>0]|0;
+ $2466 = HEAP8[$433>>0]|0;
+ $2467 = $2466 ^ $2465;
+ $2468 = $2467&255;
+ $2469 = (10432 + ($2468)|0);
+ $2470 = HEAP8[$2469>>0]|0;
+ $2471 = HEAP8[$248>>0]|0;
+ $2472 = $2471 ^ $2470;
+ $2473 = $2472&255;
+ $2474 = (10176 + ($2473)|0);
+ $2475 = HEAP8[$2474>>0]|0;
+ $2476 = HEAP8[$64>>0]|0;
+ $2477 = $2476 ^ $2475;
+ $2478 = $2477&255;
+ $2479 = (12736 + ($2478<<2)|0);
+ $2480 = HEAP32[$2479>>2]|0;
+ $2481 = $2460 ^ $2480;
+ $2482 = HEAP8[$641>>0]|0;
+ $2483 = $2482 ^ -40;
+ $2484 = $2483&255;
+ $2485 = (10432 + ($2484)|0);
+ $2486 = HEAP8[$2485>>0]|0;
+ $2487 = HEAP8[$457>>0]|0;
+ $2488 = $2487 ^ $2486;
+ $2489 = $2488&255;
+ $2490 = (10176 + ($2489)|0);
+ $2491 = HEAP8[$2490>>0]|0;
+ $2492 = HEAP8[$272>>0]|0;
+ $2493 = $2492 ^ $2491;
+ $2494 = $2493&255;
+ $2495 = (10176 + ($2494)|0);
+ $2496 = HEAP8[$2495>>0]|0;
+ $2497 = HEAP8[$88>>0]|0;
+ $2498 = $2497 ^ $2496;
+ $2499 = $2498&255;
+ $2500 = (13760 + ($2499<<2)|0);
+ $2501 = HEAP32[$2500>>2]|0;
+ $2502 = $2481 ^ $2501;
+ $2503 = HEAP8[$665>>0]|0;
+ $2504 = $2503 ^ -3;
+ $2505 = $2504&255;
+ $2506 = (10176 + ($2505)|0);
+ $2507 = HEAP8[$2506>>0]|0;
+ $2508 = HEAP8[$481>>0]|0;
+ $2509 = $2508 ^ $2507;
+ $2510 = $2509&255;
+ $2511 = (10432 + ($2510)|0);
+ $2512 = HEAP8[$2511>>0]|0;
+ $2513 = HEAP8[$296>>0]|0;
+ $2514 = $2513 ^ $2512;
+ $2515 = $2514&255;
+ $2516 = (10432 + ($2515)|0);
+ $2517 = HEAP8[$2516>>0]|0;
+ $2518 = HEAP8[$112>>0]|0;
+ $2519 = $2518 ^ $2517;
+ $2520 = $2519&255;
+ $2521 = (10688 + ($2520<<2)|0);
+ $2522 = HEAP32[$2521>>2]|0;
+ $2523 = HEAP8[$689>>0]|0;
+ $2524 = $2523 ^ -104;
+ $2525 = $2524&255;
+ $2526 = (10176 + ($2525)|0);
+ $2527 = HEAP8[$2526>>0]|0;
+ $2528 = HEAP8[$505>>0]|0;
+ $2529 = $2528 ^ $2527;
+ $2530 = $2529&255;
+ $2531 = (10176 + ($2530)|0);
+ $2532 = HEAP8[$2531>>0]|0;
+ $2533 = HEAP8[$320>>0]|0;
+ $2534 = $2533 ^ $2532;
+ $2535 = $2534&255;
+ $2536 = (10432 + ($2535)|0);
+ $2537 = HEAP8[$2536>>0]|0;
+ $2538 = HEAP8[$136>>0]|0;
+ $2539 = $2538 ^ $2537;
+ $2540 = $2539&255;
+ $2541 = (11712 + ($2540<<2)|0);
+ $2542 = HEAP32[$2541>>2]|0;
+ $2543 = $2542 ^ $2522;
+ $2544 = HEAP8[$713>>0]|0;
+ $2545 = $2544 ^ -104;
+ $2546 = $2545&255;
+ $2547 = (10432 + ($2546)|0);
+ $2548 = HEAP8[$2547>>0]|0;
+ $2549 = HEAP8[$529>>0]|0;
+ $2550 = $2549 ^ $2548;
+ $2551 = $2550&255;
+ $2552 = (10432 + ($2551)|0);
+ $2553 = HEAP8[$2552>>0]|0;
+ $2554 = HEAP8[$344>>0]|0;
+ $2555 = $2554 ^ $2553;
+ $2556 = $2555&255;
+ $2557 = (10176 + ($2556)|0);
+ $2558 = HEAP8[$2557>>0]|0;
+ $2559 = HEAP8[$160>>0]|0;
+ $2560 = $2559 ^ $2558;
+ $2561 = $2560&255;
+ $2562 = (12736 + ($2561<<2)|0);
+ $2563 = HEAP32[$2562>>2]|0;
+ $2564 = $2543 ^ $2563;
+ $2565 = HEAP8[$737>>0]|0;
+ $2566 = $2565 ^ -3;
+ $2567 = $2566&255;
+ $2568 = (10432 + ($2567)|0);
+ $2569 = HEAP8[$2568>>0]|0;
+ $2570 = HEAP8[$553>>0]|0;
+ $2571 = $2570 ^ $2569;
+ $2572 = $2571&255;
+ $2573 = (10176 + ($2572)|0);
+ $2574 = HEAP8[$2573>>0]|0;
+ $2575 = HEAP8[$368>>0]|0;
+ $2576 = $2575 ^ $2574;
+ $2577 = $2576&255;
+ $2578 = (10176 + ($2577)|0);
+ $2579 = HEAP8[$2578>>0]|0;
+ $2580 = HEAP8[$184>>0]|0;
+ $2581 = $2580 ^ $2579;
+ $2582 = $2581&255;
+ $2583 = (13760 + ($2582<<2)|0);
+ $2584 = HEAP32[$2583>>2]|0;
+ $2585 = $2564 ^ $2584;
+ $2586 = $2585 << 8;
+ $2587 = $2585 >>> 24;
+ $2588 = $2586 | $2587;
+ $2589 = (($2588) + ($2502))|0;
+ $2590 = (($2589) + ($2588))|0;
+ $2591 = ((($0)) + 4168|0);
+ HEAP32[$2591>>2] = $2589;
+ $2592 = $2590 << 9;
+ $2593 = $2590 >>> 23;
+ $2594 = $2592 | $2593;
+ $2595 = ((($0)) + 4172|0);
+ HEAP32[$2595>>2] = $2594;
+ $2596 = HEAP8[$577>>0]|0;
+ $2597 = $2596 ^ 55;
+ $2598 = $2597&255;
+ $2599 = (10176 + ($2598)|0);
+ $2600 = HEAP8[$2599>>0]|0;
+ $2601 = HEAP8[$393>>0]|0;
+ $2602 = $2601 ^ $2600;
+ $2603 = $2602&255;
+ $2604 = (10432 + ($2603)|0);
+ $2605 = HEAP8[$2604>>0]|0;
+ $2606 = HEAP8[$208>>0]|0;
+ $2607 = $2606 ^ $2605;
+ $2608 = $2607&255;
+ $2609 = (10432 + ($2608)|0);
+ $2610 = HEAP8[$2609>>0]|0;
+ $2611 = HEAP8[$1>>0]|0;
+ $2612 = $2611 ^ $2610;
+ $2613 = $2612&255;
+ $2614 = (10688 + ($2613<<2)|0);
+ $2615 = HEAP32[$2614>>2]|0;
+ $2616 = HEAP8[$593>>0]|0;
+ $2617 = $2616 ^ 24;
+ $2618 = $2617&255;
+ $2619 = (10176 + ($2618)|0);
+ $2620 = HEAP8[$2619>>0]|0;
+ $2621 = HEAP8[$409>>0]|0;
+ $2622 = $2621 ^ $2620;
+ $2623 = $2622&255;
+ $2624 = (10176 + ($2623)|0);
+ $2625 = HEAP8[$2624>>0]|0;
+ $2626 = HEAP8[$224>>0]|0;
+ $2627 = $2626 ^ $2625;
+ $2628 = $2627&255;
+ $2629 = (10432 + ($2628)|0);
+ $2630 = HEAP8[$2629>>0]|0;
+ $2631 = HEAP8[$40>>0]|0;
+ $2632 = $2631 ^ $2630;
+ $2633 = $2632&255;
+ $2634 = (11712 + ($2633<<2)|0);
+ $2635 = HEAP32[$2634>>2]|0;
+ $2636 = $2635 ^ $2615;
+ $2637 = HEAP8[$617>>0]|0;
+ $2638 = $2637 ^ 24;
+ $2639 = $2638&255;
+ $2640 = (10432 + ($2639)|0);
+ $2641 = HEAP8[$2640>>0]|0;
+ $2642 = HEAP8[$433>>0]|0;
+ $2643 = $2642 ^ $2641;
+ $2644 = $2643&255;
+ $2645 = (10432 + ($2644)|0);
+ $2646 = HEAP8[$2645>>0]|0;
+ $2647 = HEAP8[$248>>0]|0;
+ $2648 = $2647 ^ $2646;
+ $2649 = $2648&255;
+ $2650 = (10176 + ($2649)|0);
+ $2651 = HEAP8[$2650>>0]|0;
+ $2652 = HEAP8[$64>>0]|0;
+ $2653 = $2652 ^ $2651;
+ $2654 = $2653&255;
+ $2655 = (12736 + ($2654<<2)|0);
+ $2656 = HEAP32[$2655>>2]|0;
+ $2657 = $2636 ^ $2656;
+ $2658 = HEAP8[$641>>0]|0;
+ $2659 = $2658 ^ 55;
+ $2660 = $2659&255;
+ $2661 = (10432 + ($2660)|0);
+ $2662 = HEAP8[$2661>>0]|0;
+ $2663 = HEAP8[$457>>0]|0;
+ $2664 = $2663 ^ $2662;
+ $2665 = $2664&255;
+ $2666 = (10176 + ($2665)|0);
+ $2667 = HEAP8[$2666>>0]|0;
+ $2668 = HEAP8[$272>>0]|0;
+ $2669 = $2668 ^ $2667;
+ $2670 = $2669&255;
+ $2671 = (10176 + ($2670)|0);
+ $2672 = HEAP8[$2671>>0]|0;
+ $2673 = HEAP8[$88>>0]|0;
+ $2674 = $2673 ^ $2672;
+ $2675 = $2674&255;
+ $2676 = (13760 + ($2675<<2)|0);
+ $2677 = HEAP32[$2676>>2]|0;
+ $2678 = $2657 ^ $2677;
+ $2679 = HEAP8[$665>>0]|0;
+ $2680 = $2679 ^ 113;
+ $2681 = $2680&255;
+ $2682 = (10176 + ($2681)|0);
+ $2683 = HEAP8[$2682>>0]|0;
+ $2684 = HEAP8[$481>>0]|0;
+ $2685 = $2684 ^ $2683;
+ $2686 = $2685&255;
+ $2687 = (10432 + ($2686)|0);
+ $2688 = HEAP8[$2687>>0]|0;
+ $2689 = HEAP8[$296>>0]|0;
+ $2690 = $2689 ^ $2688;
+ $2691 = $2690&255;
+ $2692 = (10432 + ($2691)|0);
+ $2693 = HEAP8[$2692>>0]|0;
+ $2694 = HEAP8[$112>>0]|0;
+ $2695 = $2694 ^ $2693;
+ $2696 = $2695&255;
+ $2697 = (10688 + ($2696<<2)|0);
+ $2698 = HEAP32[$2697>>2]|0;
+ $2699 = HEAP8[$689>>0]|0;
+ $2700 = $2699 ^ -9;
+ $2701 = $2700&255;
+ $2702 = (10176 + ($2701)|0);
+ $2703 = HEAP8[$2702>>0]|0;
+ $2704 = HEAP8[$505>>0]|0;
+ $2705 = $2704 ^ $2703;
+ $2706 = $2705&255;
+ $2707 = (10176 + ($2706)|0);
+ $2708 = HEAP8[$2707>>0]|0;
+ $2709 = HEAP8[$320>>0]|0;
+ $2710 = $2709 ^ $2708;
+ $2711 = $2710&255;
+ $2712 = (10432 + ($2711)|0);
+ $2713 = HEAP8[$2712>>0]|0;
+ $2714 = HEAP8[$136>>0]|0;
+ $2715 = $2714 ^ $2713;
+ $2716 = $2715&255;
+ $2717 = (11712 + ($2716<<2)|0);
+ $2718 = HEAP32[$2717>>2]|0;
+ $2719 = $2718 ^ $2698;
+ $2720 = HEAP8[$713>>0]|0;
+ $2721 = $2720 ^ -9;
+ $2722 = $2721&255;
+ $2723 = (10432 + ($2722)|0);
+ $2724 = HEAP8[$2723>>0]|0;
+ $2725 = HEAP8[$529>>0]|0;
+ $2726 = $2725 ^ $2724;
+ $2727 = $2726&255;
+ $2728 = (10432 + ($2727)|0);
+ $2729 = HEAP8[$2728>>0]|0;
+ $2730 = HEAP8[$344>>0]|0;
+ $2731 = $2730 ^ $2729;
+ $2732 = $2731&255;
+ $2733 = (10176 + ($2732)|0);
+ $2734 = HEAP8[$2733>>0]|0;
+ $2735 = HEAP8[$160>>0]|0;
+ $2736 = $2735 ^ $2734;
+ $2737 = $2736&255;
+ $2738 = (12736 + ($2737<<2)|0);
+ $2739 = HEAP32[$2738>>2]|0;
+ $2740 = $2719 ^ $2739;
+ $2741 = HEAP8[$737>>0]|0;
+ $2742 = $2741 ^ 113;
+ $2743 = $2742&255;
+ $2744 = (10432 + ($2743)|0);
+ $2745 = HEAP8[$2744>>0]|0;
+ $2746 = HEAP8[$553>>0]|0;
+ $2747 = $2746 ^ $2745;
+ $2748 = $2747&255;
+ $2749 = (10176 + ($2748)|0);
+ $2750 = HEAP8[$2749>>0]|0;
+ $2751 = HEAP8[$368>>0]|0;
+ $2752 = $2751 ^ $2750;
+ $2753 = $2752&255;
+ $2754 = (10176 + ($2753)|0);
+ $2755 = HEAP8[$2754>>0]|0;
+ $2756 = HEAP8[$184>>0]|0;
+ $2757 = $2756 ^ $2755;
+ $2758 = $2757&255;
+ $2759 = (13760 + ($2758<<2)|0);
+ $2760 = HEAP32[$2759>>2]|0;
+ $2761 = $2740 ^ $2760;
+ $2762 = $2761 << 8;
+ $2763 = $2761 >>> 24;
+ $2764 = $2762 | $2763;
+ $2765 = (($2764) + ($2678))|0;
+ $2766 = (($2765) + ($2764))|0;
+ $2767 = ((($0)) + 4176|0);
+ HEAP32[$2767>>2] = $2765;
+ $2768 = $2766 << 9;
+ $2769 = $2766 >>> 23;
+ $2770 = $2768 | $2769;
+ $2771 = ((($0)) + 4180|0);
+ HEAP32[$2771>>2] = $2770;
+ $2772 = HEAP8[$577>>0]|0;
+ $2773 = $2772 ^ -15;
+ $2774 = $2773&255;
+ $2775 = (10176 + ($2774)|0);
+ $2776 = HEAP8[$2775>>0]|0;
+ $2777 = HEAP8[$393>>0]|0;
+ $2778 = $2777 ^ $2776;
+ $2779 = $2778&255;
+ $2780 = (10432 + ($2779)|0);
+ $2781 = HEAP8[$2780>>0]|0;
+ $2782 = HEAP8[$208>>0]|0;
+ $2783 = $2782 ^ $2781;
+ $2784 = $2783&255;
+ $2785 = (10432 + ($2784)|0);
+ $2786 = HEAP8[$2785>>0]|0;
+ $2787 = HEAP8[$1>>0]|0;
+ $2788 = $2787 ^ $2786;
+ $2789 = $2788&255;
+ $2790 = (10688 + ($2789<<2)|0);
+ $2791 = HEAP32[$2790>>2]|0;
+ $2792 = HEAP8[$593>>0]|0;
+ $2793 = $2792 ^ -20;
+ $2794 = $2793&255;
+ $2795 = (10176 + ($2794)|0);
+ $2796 = HEAP8[$2795>>0]|0;
+ $2797 = HEAP8[$409>>0]|0;
+ $2798 = $2797 ^ $2796;
+ $2799 = $2798&255;
+ $2800 = (10176 + ($2799)|0);
+ $2801 = HEAP8[$2800>>0]|0;
+ $2802 = HEAP8[$224>>0]|0;
+ $2803 = $2802 ^ $2801;
+ $2804 = $2803&255;
+ $2805 = (10432 + ($2804)|0);
+ $2806 = HEAP8[$2805>>0]|0;
+ $2807 = HEAP8[$40>>0]|0;
+ $2808 = $2807 ^ $2806;
+ $2809 = $2808&255;
+ $2810 = (11712 + ($2809<<2)|0);
+ $2811 = HEAP32[$2810>>2]|0;
+ $2812 = $2811 ^ $2791;
+ $2813 = HEAP8[$617>>0]|0;
+ $2814 = $2813 ^ -20;
+ $2815 = $2814&255;
+ $2816 = (10432 + ($2815)|0);
+ $2817 = HEAP8[$2816>>0]|0;
+ $2818 = HEAP8[$433>>0]|0;
+ $2819 = $2818 ^ $2817;
+ $2820 = $2819&255;
+ $2821 = (10432 + ($2820)|0);
+ $2822 = HEAP8[$2821>>0]|0;
+ $2823 = HEAP8[$248>>0]|0;
+ $2824 = $2823 ^ $2822;
+ $2825 = $2824&255;
+ $2826 = (10176 + ($2825)|0);
+ $2827 = HEAP8[$2826>>0]|0;
+ $2828 = HEAP8[$64>>0]|0;
+ $2829 = $2828 ^ $2827;
+ $2830 = $2829&255;
+ $2831 = (12736 + ($2830<<2)|0);
+ $2832 = HEAP32[$2831>>2]|0;
+ $2833 = $2812 ^ $2832;
+ $2834 = HEAP8[$641>>0]|0;
+ $2835 = $2834 ^ -15;
+ $2836 = $2835&255;
+ $2837 = (10432 + ($2836)|0);
+ $2838 = HEAP8[$2837>>0]|0;
+ $2839 = HEAP8[$457>>0]|0;
+ $2840 = $2839 ^ $2838;
+ $2841 = $2840&255;
+ $2842 = (10176 + ($2841)|0);
+ $2843 = HEAP8[$2842>>0]|0;
+ $2844 = HEAP8[$272>>0]|0;
+ $2845 = $2844 ^ $2843;
+ $2846 = $2845&255;
+ $2847 = (10176 + ($2846)|0);
+ $2848 = HEAP8[$2847>>0]|0;
+ $2849 = HEAP8[$88>>0]|0;
+ $2850 = $2849 ^ $2848;
+ $2851 = $2850&255;
+ $2852 = (13760 + ($2851<<2)|0);
+ $2853 = HEAP32[$2852>>2]|0;
+ $2854 = $2833 ^ $2853;
+ $2855 = HEAP8[$665>>0]|0;
+ $2856 = $2855 ^ -31;
+ $2857 = $2856&255;
+ $2858 = (10176 + ($2857)|0);
+ $2859 = HEAP8[$2858>>0]|0;
+ $2860 = HEAP8[$481>>0]|0;
+ $2861 = $2860 ^ $2859;
+ $2862 = $2861&255;
+ $2863 = (10432 + ($2862)|0);
+ $2864 = HEAP8[$2863>>0]|0;
+ $2865 = HEAP8[$296>>0]|0;
+ $2866 = $2865 ^ $2864;
+ $2867 = $2866&255;
+ $2868 = (10432 + ($2867)|0);
+ $2869 = HEAP8[$2868>>0]|0;
+ $2870 = HEAP8[$112>>0]|0;
+ $2871 = $2870 ^ $2869;
+ $2872 = $2871&255;
+ $2873 = (10688 + ($2872<<2)|0);
+ $2874 = HEAP32[$2873>>2]|0;
+ $2875 = HEAP8[$689>>0]|0;
+ $2876 = $2875 ^ 108;
+ $2877 = $2876&255;
+ $2878 = (10176 + ($2877)|0);
+ $2879 = HEAP8[$2878>>0]|0;
+ $2880 = HEAP8[$505>>0]|0;
+ $2881 = $2880 ^ $2879;
+ $2882 = $2881&255;
+ $2883 = (10176 + ($2882)|0);
+ $2884 = HEAP8[$2883>>0]|0;
+ $2885 = HEAP8[$320>>0]|0;
+ $2886 = $2885 ^ $2884;
+ $2887 = $2886&255;
+ $2888 = (10432 + ($2887)|0);
+ $2889 = HEAP8[$2888>>0]|0;
+ $2890 = HEAP8[$136>>0]|0;
+ $2891 = $2890 ^ $2889;
+ $2892 = $2891&255;
+ $2893 = (11712 + ($2892<<2)|0);
+ $2894 = HEAP32[$2893>>2]|0;
+ $2895 = $2894 ^ $2874;
+ $2896 = HEAP8[$713>>0]|0;
+ $2897 = $2896 ^ 108;
+ $2898 = $2897&255;
+ $2899 = (10432 + ($2898)|0);
+ $2900 = HEAP8[$2899>>0]|0;
+ $2901 = HEAP8[$529>>0]|0;
+ $2902 = $2901 ^ $2900;
+ $2903 = $2902&255;
+ $2904 = (10432 + ($2903)|0);
+ $2905 = HEAP8[$2904>>0]|0;
+ $2906 = HEAP8[$344>>0]|0;
+ $2907 = $2906 ^ $2905;
+ $2908 = $2907&255;
+ $2909 = (10176 + ($2908)|0);
+ $2910 = HEAP8[$2909>>0]|0;
+ $2911 = HEAP8[$160>>0]|0;
+ $2912 = $2911 ^ $2910;
+ $2913 = $2912&255;
+ $2914 = (12736 + ($2913<<2)|0);
+ $2915 = HEAP32[$2914>>2]|0;
+ $2916 = $2895 ^ $2915;
+ $2917 = HEAP8[$737>>0]|0;
+ $2918 = $2917 ^ -31;
+ $2919 = $2918&255;
+ $2920 = (10432 + ($2919)|0);
+ $2921 = HEAP8[$2920>>0]|0;
+ $2922 = HEAP8[$553>>0]|0;
+ $2923 = $2922 ^ $2921;
+ $2924 = $2923&255;
+ $2925 = (10176 + ($2924)|0);
+ $2926 = HEAP8[$2925>>0]|0;
+ $2927 = HEAP8[$368>>0]|0;
+ $2928 = $2927 ^ $2926;
+ $2929 = $2928&255;
+ $2930 = (10176 + ($2929)|0);
+ $2931 = HEAP8[$2930>>0]|0;
+ $2932 = HEAP8[$184>>0]|0;
+ $2933 = $2932 ^ $2931;
+ $2934 = $2933&255;
+ $2935 = (13760 + ($2934<<2)|0);
+ $2936 = HEAP32[$2935>>2]|0;
+ $2937 = $2916 ^ $2936;
+ $2938 = $2937 << 8;
+ $2939 = $2937 >>> 24;
+ $2940 = $2938 | $2939;
+ $2941 = (($2940) + ($2854))|0;
+ $2942 = (($2941) + ($2940))|0;
+ $2943 = ((($0)) + 4184|0);
+ HEAP32[$2943>>2] = $2941;
+ $2944 = $2942 << 9;
+ $2945 = $2942 >>> 23;
+ $2946 = $2944 | $2945;
+ $2947 = ((($0)) + 4188|0);
+ HEAP32[$2947>>2] = $2946;
+ $2948 = HEAP8[$577>>0]|0;
+ $2949 = $2948 ^ 48;
+ $2950 = $2949&255;
+ $2951 = (10176 + ($2950)|0);
+ $2952 = HEAP8[$2951>>0]|0;
+ $2953 = HEAP8[$393>>0]|0;
+ $2954 = $2953 ^ $2952;
+ $2955 = $2954&255;
+ $2956 = (10432 + ($2955)|0);
+ $2957 = HEAP8[$2956>>0]|0;
+ $2958 = HEAP8[$208>>0]|0;
+ $2959 = $2958 ^ $2957;
+ $2960 = $2959&255;
+ $2961 = (10432 + ($2960)|0);
+ $2962 = HEAP8[$2961>>0]|0;
+ $2963 = HEAP8[$1>>0]|0;
+ $2964 = $2963 ^ $2962;
+ $2965 = $2964&255;
+ $2966 = (10688 + ($2965<<2)|0);
+ $2967 = HEAP32[$2966>>2]|0;
+ $2968 = HEAP8[$593>>0]|0;
+ $2969 = $2968 ^ 67;
+ $2970 = $2969&255;
+ $2971 = (10176 + ($2970)|0);
+ $2972 = HEAP8[$2971>>0]|0;
+ $2973 = HEAP8[$409>>0]|0;
+ $2974 = $2973 ^ $2972;
+ $2975 = $2974&255;
+ $2976 = (10176 + ($2975)|0);
+ $2977 = HEAP8[$2976>>0]|0;
+ $2978 = HEAP8[$224>>0]|0;
+ $2979 = $2978 ^ $2977;
+ $2980 = $2979&255;
+ $2981 = (10432 + ($2980)|0);
+ $2982 = HEAP8[$2981>>0]|0;
+ $2983 = HEAP8[$40>>0]|0;
+ $2984 = $2983 ^ $2982;
+ $2985 = $2984&255;
+ $2986 = (11712 + ($2985<<2)|0);
+ $2987 = HEAP32[$2986>>2]|0;
+ $2988 = $2987 ^ $2967;
+ $2989 = HEAP8[$617>>0]|0;
+ $2990 = $2989 ^ 67;
+ $2991 = $2990&255;
+ $2992 = (10432 + ($2991)|0);
+ $2993 = HEAP8[$2992>>0]|0;
+ $2994 = HEAP8[$433>>0]|0;
+ $2995 = $2994 ^ $2993;
+ $2996 = $2995&255;
+ $2997 = (10432 + ($2996)|0);
+ $2998 = HEAP8[$2997>>0]|0;
+ $2999 = HEAP8[$248>>0]|0;
+ $3000 = $2999 ^ $2998;
+ $3001 = $3000&255;
+ $3002 = (10176 + ($3001)|0);
+ $3003 = HEAP8[$3002>>0]|0;
+ $3004 = HEAP8[$64>>0]|0;
+ $3005 = $3004 ^ $3003;
+ $3006 = $3005&255;
+ $3007 = (12736 + ($3006<<2)|0);
+ $3008 = HEAP32[$3007>>2]|0;
+ $3009 = $2988 ^ $3008;
+ $3010 = HEAP8[$641>>0]|0;
+ $3011 = $3010 ^ 48;
+ $3012 = $3011&255;
+ $3013 = (10432 + ($3012)|0);
+ $3014 = HEAP8[$3013>>0]|0;
+ $3015 = HEAP8[$457>>0]|0;
+ $3016 = $3015 ^ $3014;
+ $3017 = $3016&255;
+ $3018 = (10176 + ($3017)|0);
+ $3019 = HEAP8[$3018>>0]|0;
+ $3020 = HEAP8[$272>>0]|0;
+ $3021 = $3020 ^ $3019;
+ $3022 = $3021&255;
+ $3023 = (10176 + ($3022)|0);
+ $3024 = HEAP8[$3023>>0]|0;
+ $3025 = HEAP8[$88>>0]|0;
+ $3026 = $3025 ^ $3024;
+ $3027 = $3026&255;
+ $3028 = (13760 + ($3027<<2)|0);
+ $3029 = HEAP32[$3028>>2]|0;
+ $3030 = $3009 ^ $3029;
+ $3031 = HEAP8[$665>>0]|0;
+ $3032 = $3031 ^ 15;
+ $3033 = $3032&255;
+ $3034 = (10176 + ($3033)|0);
+ $3035 = HEAP8[$3034>>0]|0;
+ $3036 = HEAP8[$481>>0]|0;
+ $3037 = $3036 ^ $3035;
+ $3038 = $3037&255;
+ $3039 = (10432 + ($3038)|0);
+ $3040 = HEAP8[$3039>>0]|0;
+ $3041 = HEAP8[$296>>0]|0;
+ $3042 = $3041 ^ $3040;
+ $3043 = $3042&255;
+ $3044 = (10432 + ($3043)|0);
+ $3045 = HEAP8[$3044>>0]|0;
+ $3046 = HEAP8[$112>>0]|0;
+ $3047 = $3046 ^ $3045;
+ $3048 = $3047&255;
+ $3049 = (10688 + ($3048<<2)|0);
+ $3050 = HEAP32[$3049>>2]|0;
+ $3051 = HEAP8[$689>>0]|0;
+ $3052 = $3051 ^ 117;
+ $3053 = $3052&255;
+ $3054 = (10176 + ($3053)|0);
+ $3055 = HEAP8[$3054>>0]|0;
+ $3056 = HEAP8[$505>>0]|0;
+ $3057 = $3056 ^ $3055;
+ $3058 = $3057&255;
+ $3059 = (10176 + ($3058)|0);
+ $3060 = HEAP8[$3059>>0]|0;
+ $3061 = HEAP8[$320>>0]|0;
+ $3062 = $3061 ^ $3060;
+ $3063 = $3062&255;
+ $3064 = (10432 + ($3063)|0);
+ $3065 = HEAP8[$3064>>0]|0;
+ $3066 = HEAP8[$136>>0]|0;
+ $3067 = $3066 ^ $3065;
+ $3068 = $3067&255;
+ $3069 = (11712 + ($3068<<2)|0);
+ $3070 = HEAP32[$3069>>2]|0;
+ $3071 = $3070 ^ $3050;
+ $3072 = HEAP8[$713>>0]|0;
+ $3073 = $3072 ^ 117;
+ $3074 = $3073&255;
+ $3075 = (10432 + ($3074)|0);
+ $3076 = HEAP8[$3075>>0]|0;
+ $3077 = HEAP8[$529>>0]|0;
+ $3078 = $3077 ^ $3076;
+ $3079 = $3078&255;
+ $3080 = (10432 + ($3079)|0);
+ $3081 = HEAP8[$3080>>0]|0;
+ $3082 = HEAP8[$344>>0]|0;
+ $3083 = $3082 ^ $3081;
+ $3084 = $3083&255;
+ $3085 = (10176 + ($3084)|0);
+ $3086 = HEAP8[$3085>>0]|0;
+ $3087 = HEAP8[$160>>0]|0;
+ $3088 = $3087 ^ $3086;
+ $3089 = $3088&255;
+ $3090 = (12736 + ($3089<<2)|0);
+ $3091 = HEAP32[$3090>>2]|0;
+ $3092 = $3071 ^ $3091;
+ $3093 = HEAP8[$737>>0]|0;
+ $3094 = $3093 ^ 15;
+ $3095 = $3094&255;
+ $3096 = (10432 + ($3095)|0);
+ $3097 = HEAP8[$3096>>0]|0;
+ $3098 = HEAP8[$553>>0]|0;
+ $3099 = $3098 ^ $3097;
+ $3100 = $3099&255;
+ $3101 = (10176 + ($3100)|0);
+ $3102 = HEAP8[$3101>>0]|0;
+ $3103 = HEAP8[$368>>0]|0;
+ $3104 = $3103 ^ $3102;
+ $3105 = $3104&255;
+ $3106 = (10176 + ($3105)|0);
+ $3107 = HEAP8[$3106>>0]|0;
+ $3108 = HEAP8[$184>>0]|0;
+ $3109 = $3108 ^ $3107;
+ $3110 = $3109&255;
+ $3111 = (13760 + ($3110<<2)|0);
+ $3112 = HEAP32[$3111>>2]|0;
+ $3113 = $3092 ^ $3112;
+ $3114 = $3113 << 8;
+ $3115 = $3113 >>> 24;
+ $3116 = $3114 | $3115;
+ $3117 = (($3116) + ($3030))|0;
+ $3118 = (($3117) + ($3116))|0;
+ $3119 = ((($0)) + 4192|0);
+ HEAP32[$3119>>2] = $3117;
+ $3120 = $3118 << 9;
+ $3121 = $3118 >>> 23;
+ $3122 = $3120 | $3121;
+ $3123 = ((($0)) + 4196|0);
+ HEAP32[$3123>>2] = $3122;
+ $3124 = HEAP8[$577>>0]|0;
+ $3125 = $3124 ^ -8;
+ $3126 = $3125&255;
+ $3127 = (10176 + ($3126)|0);
+ $3128 = HEAP8[$3127>>0]|0;
+ $3129 = HEAP8[$393>>0]|0;
+ $3130 = $3129 ^ $3128;
+ $3131 = $3130&255;
+ $3132 = (10432 + ($3131)|0);
+ $3133 = HEAP8[$3132>>0]|0;
+ $3134 = HEAP8[$208>>0]|0;
+ $3135 = $3134 ^ $3133;
+ $3136 = $3135&255;
+ $3137 = (10432 + ($3136)|0);
+ $3138 = HEAP8[$3137>>0]|0;
+ $3139 = HEAP8[$1>>0]|0;
+ $3140 = $3139 ^ $3138;
+ $3141 = $3140&255;
+ $3142 = (10688 + ($3141<<2)|0);
+ $3143 = HEAP32[$3142>>2]|0;
+ $3144 = HEAP8[$593>>0]|0;
+ $3145 = $3144 ^ 55;
+ $3146 = $3145&255;
+ $3147 = (10176 + ($3146)|0);
+ $3148 = HEAP8[$3147>>0]|0;
+ $3149 = HEAP8[$409>>0]|0;
+ $3150 = $3149 ^ $3148;
+ $3151 = $3150&255;
+ $3152 = (10176 + ($3151)|0);
+ $3153 = HEAP8[$3152>>0]|0;
+ $3154 = HEAP8[$224>>0]|0;
+ $3155 = $3154 ^ $3153;
+ $3156 = $3155&255;
+ $3157 = (10432 + ($3156)|0);
+ $3158 = HEAP8[$3157>>0]|0;
+ $3159 = HEAP8[$40>>0]|0;
+ $3160 = $3159 ^ $3158;
+ $3161 = $3160&255;
+ $3162 = (11712 + ($3161<<2)|0);
+ $3163 = HEAP32[$3162>>2]|0;
+ $3164 = $3163 ^ $3143;
+ $3165 = HEAP8[$617>>0]|0;
+ $3166 = $3165 ^ 55;
+ $3167 = $3166&255;
+ $3168 = (10432 + ($3167)|0);
+ $3169 = HEAP8[$3168>>0]|0;
+ $3170 = HEAP8[$433>>0]|0;
+ $3171 = $3170 ^ $3169;
+ $3172 = $3171&255;
+ $3173 = (10432 + ($3172)|0);
+ $3174 = HEAP8[$3173>>0]|0;
+ $3175 = HEAP8[$248>>0]|0;
+ $3176 = $3175 ^ $3174;
+ $3177 = $3176&255;
+ $3178 = (10176 + ($3177)|0);
+ $3179 = HEAP8[$3178>>0]|0;
+ $3180 = HEAP8[$64>>0]|0;
+ $3181 = $3180 ^ $3179;
+ $3182 = $3181&255;
+ $3183 = (12736 + ($3182<<2)|0);
+ $3184 = HEAP32[$3183>>2]|0;
+ $3185 = $3164 ^ $3184;
+ $3186 = HEAP8[$641>>0]|0;
+ $3187 = $3186 ^ -8;
+ $3188 = $3187&255;
+ $3189 = (10432 + ($3188)|0);
+ $3190 = HEAP8[$3189>>0]|0;
+ $3191 = HEAP8[$457>>0]|0;
+ $3192 = $3191 ^ $3190;
+ $3193 = $3192&255;
+ $3194 = (10176 + ($3193)|0);
+ $3195 = HEAP8[$3194>>0]|0;
+ $3196 = HEAP8[$272>>0]|0;
+ $3197 = $3196 ^ $3195;
+ $3198 = $3197&255;
+ $3199 = (10176 + ($3198)|0);
+ $3200 = HEAP8[$3199>>0]|0;
+ $3201 = HEAP8[$88>>0]|0;
+ $3202 = $3201 ^ $3200;
+ $3203 = $3202&255;
+ $3204 = (13760 + ($3203<<2)|0);
+ $3205 = HEAP32[$3204>>2]|0;
+ $3206 = $3185 ^ $3205;
+ $3207 = HEAP8[$665>>0]|0;
+ $3208 = $3207 ^ 27;
+ $3209 = $3208&255;
+ $3210 = (10176 + ($3209)|0);
+ $3211 = HEAP8[$3210>>0]|0;
+ $3212 = HEAP8[$481>>0]|0;
+ $3213 = $3212 ^ $3211;
+ $3214 = $3213&255;
+ $3215 = (10432 + ($3214)|0);
+ $3216 = HEAP8[$3215>>0]|0;
+ $3217 = HEAP8[$296>>0]|0;
+ $3218 = $3217 ^ $3216;
+ $3219 = $3218&255;
+ $3220 = (10432 + ($3219)|0);
+ $3221 = HEAP8[$3220>>0]|0;
+ $3222 = HEAP8[$112>>0]|0;
+ $3223 = $3222 ^ $3221;
+ $3224 = $3223&255;
+ $3225 = (10688 + ($3224<<2)|0);
+ $3226 = HEAP32[$3225>>2]|0;
+ $3227 = HEAP8[$689>>0]|0;
+ $3228 = $3227 ^ 38;
+ $3229 = $3228&255;
+ $3230 = (10176 + ($3229)|0);
+ $3231 = HEAP8[$3230>>0]|0;
+ $3232 = HEAP8[$505>>0]|0;
+ $3233 = $3232 ^ $3231;
+ $3234 = $3233&255;
+ $3235 = (10176 + ($3234)|0);
+ $3236 = HEAP8[$3235>>0]|0;
+ $3237 = HEAP8[$320>>0]|0;
+ $3238 = $3237 ^ $3236;
+ $3239 = $3238&255;
+ $3240 = (10432 + ($3239)|0);
+ $3241 = HEAP8[$3240>>0]|0;
+ $3242 = HEAP8[$136>>0]|0;
+ $3243 = $3242 ^ $3241;
+ $3244 = $3243&255;
+ $3245 = (11712 + ($3244<<2)|0);
+ $3246 = HEAP32[$3245>>2]|0;
+ $3247 = $3246 ^ $3226;
+ $3248 = HEAP8[$713>>0]|0;
+ $3249 = $3248 ^ 38;
+ $3250 = $3249&255;
+ $3251 = (10432 + ($3250)|0);
+ $3252 = HEAP8[$3251>>0]|0;
+ $3253 = HEAP8[$529>>0]|0;
+ $3254 = $3253 ^ $3252;
+ $3255 = $3254&255;
+ $3256 = (10432 + ($3255)|0);
+ $3257 = HEAP8[$3256>>0]|0;
+ $3258 = HEAP8[$344>>0]|0;
+ $3259 = $3258 ^ $3257;
+ $3260 = $3259&255;
+ $3261 = (10176 + ($3260)|0);
+ $3262 = HEAP8[$3261>>0]|0;
+ $3263 = HEAP8[$160>>0]|0;
+ $3264 = $3263 ^ $3262;
+ $3265 = $3264&255;
+ $3266 = (12736 + ($3265<<2)|0);
+ $3267 = HEAP32[$3266>>2]|0;
+ $3268 = $3247 ^ $3267;
+ $3269 = HEAP8[$737>>0]|0;
+ $3270 = $3269 ^ 27;
+ $3271 = $3270&255;
+ $3272 = (10432 + ($3271)|0);
+ $3273 = HEAP8[$3272>>0]|0;
+ $3274 = HEAP8[$553>>0]|0;
+ $3275 = $3274 ^ $3273;
+ $3276 = $3275&255;
+ $3277 = (10176 + ($3276)|0);
+ $3278 = HEAP8[$3277>>0]|0;
+ $3279 = HEAP8[$368>>0]|0;
+ $3280 = $3279 ^ $3278;
+ $3281 = $3280&255;
+ $3282 = (10176 + ($3281)|0);
+ $3283 = HEAP8[$3282>>0]|0;
+ $3284 = HEAP8[$184>>0]|0;
+ $3285 = $3284 ^ $3283;
+ $3286 = $3285&255;
+ $3287 = (13760 + ($3286<<2)|0);
+ $3288 = HEAP32[$3287>>2]|0;
+ $3289 = $3268 ^ $3288;
+ $3290 = $3289 << 8;
+ $3291 = $3289 >>> 24;
+ $3292 = $3290 | $3291;
+ $3293 = (($3292) + ($3206))|0;
+ $3294 = (($3293) + ($3292))|0;
+ $3295 = ((($0)) + 4200|0);
+ HEAP32[$3295>>2] = $3293;
+ $3296 = $3294 << 9;
+ $3297 = $3294 >>> 23;
+ $3298 = $3296 | $3297;
+ $3299 = ((($0)) + 4204|0);
+ HEAP32[$3299>>2] = $3298;
+ $3300 = HEAP8[$577>>0]|0;
+ $3301 = $3300 ^ -121;
+ $3302 = $3301&255;
+ $3303 = (10176 + ($3302)|0);
+ $3304 = HEAP8[$3303>>0]|0;
+ $3305 = HEAP8[$393>>0]|0;
+ $3306 = $3305 ^ $3304;
+ $3307 = $3306&255;
+ $3308 = (10432 + ($3307)|0);
+ $3309 = HEAP8[$3308>>0]|0;
+ $3310 = HEAP8[$208>>0]|0;
+ $3311 = $3310 ^ $3309;
+ $3312 = $3311&255;
+ $3313 = (10432 + ($3312)|0);
+ $3314 = HEAP8[$3313>>0]|0;
+ $3315 = HEAP8[$1>>0]|0;
+ $3316 = $3315 ^ $3314;
+ $3317 = $3316&255;
+ $3318 = (10688 + ($3317<<2)|0);
+ $3319 = HEAP32[$3318>>2]|0;
+ $3320 = HEAP8[$593>>0]|0;
+ $3321 = $3320 ^ -6;
+ $3322 = $3321&255;
+ $3323 = (10176 + ($3322)|0);
+ $3324 = HEAP8[$3323>>0]|0;
+ $3325 = HEAP8[$409>>0]|0;
+ $3326 = $3325 ^ $3324;
+ $3327 = $3326&255;
+ $3328 = (10176 + ($3327)|0);
+ $3329 = HEAP8[$3328>>0]|0;
+ $3330 = HEAP8[$224>>0]|0;
+ $3331 = $3330 ^ $3329;
+ $3332 = $3331&255;
+ $3333 = (10432 + ($3332)|0);
+ $3334 = HEAP8[$3333>>0]|0;
+ $3335 = HEAP8[$40>>0]|0;
+ $3336 = $3335 ^ $3334;
+ $3337 = $3336&255;
+ $3338 = (11712 + ($3337<<2)|0);
+ $3339 = HEAP32[$3338>>2]|0;
+ $3340 = $3339 ^ $3319;
+ $3341 = HEAP8[$617>>0]|0;
+ $3342 = $3341 ^ -6;
+ $3343 = $3342&255;
+ $3344 = (10432 + ($3343)|0);
+ $3345 = HEAP8[$3344>>0]|0;
+ $3346 = HEAP8[$433>>0]|0;
+ $3347 = $3346 ^ $3345;
+ $3348 = $3347&255;
+ $3349 = (10432 + ($3348)|0);
+ $3350 = HEAP8[$3349>>0]|0;
+ $3351 = HEAP8[$248>>0]|0;
+ $3352 = $3351 ^ $3350;
+ $3353 = $3352&255;
+ $3354 = (10176 + ($3353)|0);
+ $3355 = HEAP8[$3354>>0]|0;
+ $3356 = HEAP8[$64>>0]|0;
+ $3357 = $3356 ^ $3355;
+ $3358 = $3357&255;
+ $3359 = (12736 + ($3358<<2)|0);
+ $3360 = HEAP32[$3359>>2]|0;
+ $3361 = $3340 ^ $3360;
+ $3362 = HEAP8[$641>>0]|0;
+ $3363 = $3362 ^ -121;
+ $3364 = $3363&255;
+ $3365 = (10432 + ($3364)|0);
+ $3366 = HEAP8[$3365>>0]|0;
+ $3367 = HEAP8[$457>>0]|0;
+ $3368 = $3367 ^ $3366;
+ $3369 = $3368&255;
+ $3370 = (10176 + ($3369)|0);
+ $3371 = HEAP8[$3370>>0]|0;
+ $3372 = HEAP8[$272>>0]|0;
+ $3373 = $3372 ^ $3371;
+ $3374 = $3373&255;
+ $3375 = (10176 + ($3374)|0);
+ $3376 = HEAP8[$3375>>0]|0;
+ $3377 = HEAP8[$88>>0]|0;
+ $3378 = $3377 ^ $3376;
+ $3379 = $3378&255;
+ $3380 = (13760 + ($3379<<2)|0);
+ $3381 = HEAP32[$3380>>2]|0;
+ $3382 = $3361 ^ $3381;
+ $3383 = HEAP8[$665>>0]|0;
+ $3384 = $3383 ^ -6;
+ $3385 = $3384&255;
+ $3386 = (10176 + ($3385)|0);
+ $3387 = HEAP8[$3386>>0]|0;
+ $3388 = HEAP8[$481>>0]|0;
+ $3389 = $3388 ^ $3387;
+ $3390 = $3389&255;
+ $3391 = (10432 + ($3390)|0);
+ $3392 = HEAP8[$3391>>0]|0;
+ $3393 = HEAP8[$296>>0]|0;
+ $3394 = $3393 ^ $3392;
+ $3395 = $3394&255;
+ $3396 = (10432 + ($3395)|0);
+ $3397 = HEAP8[$3396>>0]|0;
+ $3398 = HEAP8[$112>>0]|0;
+ $3399 = $3398 ^ $3397;
+ $3400 = $3399&255;
+ $3401 = (10688 + ($3400<<2)|0);
+ $3402 = HEAP32[$3401>>2]|0;
+ $3403 = HEAP8[$689>>0]|0;
+ $3404 = $3403 ^ 19;
+ $3405 = $3404&255;
+ $3406 = (10176 + ($3405)|0);
+ $3407 = HEAP8[$3406>>0]|0;
+ $3408 = HEAP8[$505>>0]|0;
+ $3409 = $3408 ^ $3407;
+ $3410 = $3409&255;
+ $3411 = (10176 + ($3410)|0);
+ $3412 = HEAP8[$3411>>0]|0;
+ $3413 = HEAP8[$320>>0]|0;
+ $3414 = $3413 ^ $3412;
+ $3415 = $3414&255;
+ $3416 = (10432 + ($3415)|0);
+ $3417 = HEAP8[$3416>>0]|0;
+ $3418 = HEAP8[$136>>0]|0;
+ $3419 = $3418 ^ $3417;
+ $3420 = $3419&255;
+ $3421 = (11712 + ($3420<<2)|0);
+ $3422 = HEAP32[$3421>>2]|0;
+ $3423 = $3422 ^ $3402;
+ $3424 = HEAP8[$713>>0]|0;
+ $3425 = $3424 ^ 19;
+ $3426 = $3425&255;
+ $3427 = (10432 + ($3426)|0);
+ $3428 = HEAP8[$3427>>0]|0;
+ $3429 = HEAP8[$529>>0]|0;
+ $3430 = $3429 ^ $3428;
+ $3431 = $3430&255;
+ $3432 = (10432 + ($3431)|0);
+ $3433 = HEAP8[$3432>>0]|0;
+ $3434 = HEAP8[$344>>0]|0;
+ $3435 = $3434 ^ $3433;
+ $3436 = $3435&255;
+ $3437 = (10176 + ($3436)|0);
+ $3438 = HEAP8[$3437>>0]|0;
+ $3439 = HEAP8[$160>>0]|0;
+ $3440 = $3439 ^ $3438;
+ $3441 = $3440&255;
+ $3442 = (12736 + ($3441<<2)|0);
+ $3443 = HEAP32[$3442>>2]|0;
+ $3444 = $3423 ^ $3443;
+ $3445 = HEAP8[$737>>0]|0;
+ $3446 = $3445 ^ -6;
+ $3447 = $3446&255;
+ $3448 = (10432 + ($3447)|0);
+ $3449 = HEAP8[$3448>>0]|0;
+ $3450 = HEAP8[$553>>0]|0;
+ $3451 = $3450 ^ $3449;
+ $3452 = $3451&255;
+ $3453 = (10176 + ($3452)|0);
+ $3454 = HEAP8[$3453>>0]|0;
+ $3455 = HEAP8[$368>>0]|0;
+ $3456 = $3455 ^ $3454;
+ $3457 = $3456&255;
+ $3458 = (10176 + ($3457)|0);
+ $3459 = HEAP8[$3458>>0]|0;
+ $3460 = HEAP8[$184>>0]|0;
+ $3461 = $3460 ^ $3459;
+ $3462 = $3461&255;
+ $3463 = (13760 + ($3462<<2)|0);
+ $3464 = HEAP32[$3463>>2]|0;
+ $3465 = $3444 ^ $3464;
+ $3466 = $3465 << 8;
+ $3467 = $3465 >>> 24;
+ $3468 = $3466 | $3467;
+ $3469 = (($3468) + ($3382))|0;
+ $3470 = (($3469) + ($3468))|0;
+ $3471 = ((($0)) + 4208|0);
+ HEAP32[$3471>>2] = $3469;
+ $3472 = $3470 << 9;
+ $3473 = $3470 >>> 23;
+ $3474 = $3472 | $3473;
+ $3475 = ((($0)) + 4212|0);
+ HEAP32[$3475>>2] = $3474;
+ $3476 = HEAP8[$577>>0]|0;
+ $3477 = $3476 ^ 6;
+ $3478 = $3477&255;
+ $3479 = (10176 + ($3478)|0);
+ $3480 = HEAP8[$3479>>0]|0;
+ $3481 = HEAP8[$393>>0]|0;
+ $3482 = $3481 ^ $3480;
+ $3483 = $3482&255;
+ $3484 = (10432 + ($3483)|0);
+ $3485 = HEAP8[$3484>>0]|0;
+ $3486 = HEAP8[$208>>0]|0;
+ $3487 = $3486 ^ $3485;
+ $3488 = $3487&255;
+ $3489 = (10432 + ($3488)|0);
+ $3490 = HEAP8[$3489>>0]|0;
+ $3491 = HEAP8[$1>>0]|0;
+ $3492 = $3491 ^ $3490;
+ $3493 = $3492&255;
+ $3494 = (10688 + ($3493<<2)|0);
+ $3495 = HEAP32[$3494>>2]|0;
+ $3496 = HEAP8[$593>>0]|0;
+ $3497 = $3496 ^ -108;
+ $3498 = $3497&255;
+ $3499 = (10176 + ($3498)|0);
+ $3500 = HEAP8[$3499>>0]|0;
+ $3501 = HEAP8[$409>>0]|0;
+ $3502 = $3501 ^ $3500;
+ $3503 = $3502&255;
+ $3504 = (10176 + ($3503)|0);
+ $3505 = HEAP8[$3504>>0]|0;
+ $3506 = HEAP8[$224>>0]|0;
+ $3507 = $3506 ^ $3505;
+ $3508 = $3507&255;
+ $3509 = (10432 + ($3508)|0);
+ $3510 = HEAP8[$3509>>0]|0;
+ $3511 = HEAP8[$40>>0]|0;
+ $3512 = $3511 ^ $3510;
+ $3513 = $3512&255;
+ $3514 = (11712 + ($3513<<2)|0);
+ $3515 = HEAP32[$3514>>2]|0;
+ $3516 = $3515 ^ $3495;
+ $3517 = HEAP8[$617>>0]|0;
+ $3518 = $3517 ^ -108;
+ $3519 = $3518&255;
+ $3520 = (10432 + ($3519)|0);
+ $3521 = HEAP8[$3520>>0]|0;
+ $3522 = HEAP8[$433>>0]|0;
+ $3523 = $3522 ^ $3521;
+ $3524 = $3523&255;
+ $3525 = (10432 + ($3524)|0);
+ $3526 = HEAP8[$3525>>0]|0;
+ $3527 = HEAP8[$248>>0]|0;
+ $3528 = $3527 ^ $3526;
+ $3529 = $3528&255;
+ $3530 = (10176 + ($3529)|0);
+ $3531 = HEAP8[$3530>>0]|0;
+ $3532 = HEAP8[$64>>0]|0;
+ $3533 = $3532 ^ $3531;
+ $3534 = $3533&255;
+ $3535 = (12736 + ($3534<<2)|0);
+ $3536 = HEAP32[$3535>>2]|0;
+ $3537 = $3516 ^ $3536;
+ $3538 = HEAP8[$641>>0]|0;
+ $3539 = $3538 ^ 6;
+ $3540 = $3539&255;
+ $3541 = (10432 + ($3540)|0);
+ $3542 = HEAP8[$3541>>0]|0;
+ $3543 = HEAP8[$457>>0]|0;
+ $3544 = $3543 ^ $3542;
+ $3545 = $3544&255;
+ $3546 = (10176 + ($3545)|0);
+ $3547 = HEAP8[$3546>>0]|0;
+ $3548 = HEAP8[$272>>0]|0;
+ $3549 = $3548 ^ $3547;
+ $3550 = $3549&255;
+ $3551 = (10176 + ($3550)|0);
+ $3552 = HEAP8[$3551>>0]|0;
+ $3553 = HEAP8[$88>>0]|0;
+ $3554 = $3553 ^ $3552;
+ $3555 = $3554&255;
+ $3556 = (13760 + ($3555<<2)|0);
+ $3557 = HEAP32[$3556>>2]|0;
+ $3558 = $3537 ^ $3557;
+ $3559 = HEAP8[$665>>0]|0;
+ $3560 = $3559 ^ 63;
+ $3561 = $3560&255;
+ $3562 = (10176 + ($3561)|0);
+ $3563 = HEAP8[$3562>>0]|0;
+ $3564 = HEAP8[$481>>0]|0;
+ $3565 = $3564 ^ $3563;
+ $3566 = $3565&255;
+ $3567 = (10432 + ($3566)|0);
+ $3568 = HEAP8[$3567>>0]|0;
+ $3569 = HEAP8[$296>>0]|0;
+ $3570 = $3569 ^ $3568;
+ $3571 = $3570&255;
+ $3572 = (10432 + ($3571)|0);
+ $3573 = HEAP8[$3572>>0]|0;
+ $3574 = HEAP8[$112>>0]|0;
+ $3575 = $3574 ^ $3573;
+ $3576 = $3575&255;
+ $3577 = (10688 + ($3576<<2)|0);
+ $3578 = HEAP32[$3577>>2]|0;
+ $3579 = HEAP8[$689>>0]|0;
+ $3580 = $3579 ^ 72;
+ $3581 = $3580&255;
+ $3582 = (10176 + ($3581)|0);
+ $3583 = HEAP8[$3582>>0]|0;
+ $3584 = HEAP8[$505>>0]|0;
+ $3585 = $3584 ^ $3583;
+ $3586 = $3585&255;
+ $3587 = (10176 + ($3586)|0);
+ $3588 = HEAP8[$3587>>0]|0;
+ $3589 = HEAP8[$320>>0]|0;
+ $3590 = $3589 ^ $3588;
+ $3591 = $3590&255;
+ $3592 = (10432 + ($3591)|0);
+ $3593 = HEAP8[$3592>>0]|0;
+ $3594 = HEAP8[$136>>0]|0;
+ $3595 = $3594 ^ $3593;
+ $3596 = $3595&255;
+ $3597 = (11712 + ($3596<<2)|0);
+ $3598 = HEAP32[$3597>>2]|0;
+ $3599 = $3598 ^ $3578;
+ $3600 = HEAP8[$713>>0]|0;
+ $3601 = $3600 ^ 72;
+ $3602 = $3601&255;
+ $3603 = (10432 + ($3602)|0);
+ $3604 = HEAP8[$3603>>0]|0;
+ $3605 = HEAP8[$529>>0]|0;
+ $3606 = $3605 ^ $3604;
+ $3607 = $3606&255;
+ $3608 = (10432 + ($3607)|0);
+ $3609 = HEAP8[$3608>>0]|0;
+ $3610 = HEAP8[$344>>0]|0;
+ $3611 = $3610 ^ $3609;
+ $3612 = $3611&255;
+ $3613 = (10176 + ($3612)|0);
+ $3614 = HEAP8[$3613>>0]|0;
+ $3615 = HEAP8[$160>>0]|0;
+ $3616 = $3615 ^ $3614;
+ $3617 = $3616&255;
+ $3618 = (12736 + ($3617<<2)|0);
+ $3619 = HEAP32[$3618>>2]|0;
+ $3620 = $3599 ^ $3619;
+ $3621 = HEAP8[$737>>0]|0;
+ $3622 = $3621 ^ 63;
+ $3623 = $3622&255;
+ $3624 = (10432 + ($3623)|0);
+ $3625 = HEAP8[$3624>>0]|0;
+ $3626 = HEAP8[$553>>0]|0;
+ $3627 = $3626 ^ $3625;
+ $3628 = $3627&255;
+ $3629 = (10176 + ($3628)|0);
+ $3630 = HEAP8[$3629>>0]|0;
+ $3631 = HEAP8[$368>>0]|0;
+ $3632 = $3631 ^ $3630;
+ $3633 = $3632&255;
+ $3634 = (10176 + ($3633)|0);
+ $3635 = HEAP8[$3634>>0]|0;
+ $3636 = HEAP8[$184>>0]|0;
+ $3637 = $3636 ^ $3635;
+ $3638 = $3637&255;
+ $3639 = (13760 + ($3638<<2)|0);
+ $3640 = HEAP32[$3639>>2]|0;
+ $3641 = $3620 ^ $3640;
+ $3642 = $3641 << 8;
+ $3643 = $3641 >>> 24;
+ $3644 = $3642 | $3643;
+ $3645 = (($3644) + ($3558))|0;
+ $3646 = (($3645) + ($3644))|0;
+ $3647 = ((($0)) + 4216|0);
+ HEAP32[$3647>>2] = $3645;
+ $3648 = $3646 << 9;
+ $3649 = $3646 >>> 23;
+ $3650 = $3648 | $3649;
+ $3651 = ((($0)) + 4220|0);
+ HEAP32[$3651>>2] = $3650;
+ $3652 = HEAP8[$577>>0]|0;
+ $3653 = $3652 ^ 94;
+ $3654 = $3653&255;
+ $3655 = (10176 + ($3654)|0);
+ $3656 = HEAP8[$3655>>0]|0;
+ $3657 = HEAP8[$393>>0]|0;
+ $3658 = $3657 ^ $3656;
+ $3659 = $3658&255;
+ $3660 = (10432 + ($3659)|0);
+ $3661 = HEAP8[$3660>>0]|0;
+ $3662 = HEAP8[$208>>0]|0;
+ $3663 = $3662 ^ $3661;
+ $3664 = $3663&255;
+ $3665 = (10432 + ($3664)|0);
+ $3666 = HEAP8[$3665>>0]|0;
+ $3667 = HEAP8[$1>>0]|0;
+ $3668 = $3667 ^ $3666;
+ $3669 = $3668&255;
+ $3670 = (10688 + ($3669<<2)|0);
+ $3671 = HEAP32[$3670>>2]|0;
+ $3672 = HEAP8[$593>>0]|0;
+ $3673 = $3672 ^ -14;
+ $3674 = $3673&255;
+ $3675 = (10176 + ($3674)|0);
+ $3676 = HEAP8[$3675>>0]|0;
+ $3677 = HEAP8[$409>>0]|0;
+ $3678 = $3677 ^ $3676;
+ $3679 = $3678&255;
+ $3680 = (10176 + ($3679)|0);
+ $3681 = HEAP8[$3680>>0]|0;
+ $3682 = HEAP8[$224>>0]|0;
+ $3683 = $3682 ^ $3681;
+ $3684 = $3683&255;
+ $3685 = (10432 + ($3684)|0);
+ $3686 = HEAP8[$3685>>0]|0;
+ $3687 = HEAP8[$40>>0]|0;
+ $3688 = $3687 ^ $3686;
+ $3689 = $3688&255;
+ $3690 = (11712 + ($3689<<2)|0);
+ $3691 = HEAP32[$3690>>2]|0;
+ $3692 = $3691 ^ $3671;
+ $3693 = HEAP8[$617>>0]|0;
+ $3694 = $3693 ^ -14;
+ $3695 = $3694&255;
+ $3696 = (10432 + ($3695)|0);
+ $3697 = HEAP8[$3696>>0]|0;
+ $3698 = HEAP8[$433>>0]|0;
+ $3699 = $3698 ^ $3697;
+ $3700 = $3699&255;
+ $3701 = (10432 + ($3700)|0);
+ $3702 = HEAP8[$3701>>0]|0;
+ $3703 = HEAP8[$248>>0]|0;
+ $3704 = $3703 ^ $3702;
+ $3705 = $3704&255;
+ $3706 = (10176 + ($3705)|0);
+ $3707 = HEAP8[$3706>>0]|0;
+ $3708 = HEAP8[$64>>0]|0;
+ $3709 = $3708 ^ $3707;
+ $3710 = $3709&255;
+ $3711 = (12736 + ($3710<<2)|0);
+ $3712 = HEAP32[$3711>>2]|0;
+ $3713 = $3692 ^ $3712;
+ $3714 = HEAP8[$641>>0]|0;
+ $3715 = $3714 ^ 94;
+ $3716 = $3715&255;
+ $3717 = (10432 + ($3716)|0);
+ $3718 = HEAP8[$3717>>0]|0;
+ $3719 = HEAP8[$457>>0]|0;
+ $3720 = $3719 ^ $3718;
+ $3721 = $3720&255;
+ $3722 = (10176 + ($3721)|0);
+ $3723 = HEAP8[$3722>>0]|0;
+ $3724 = HEAP8[$272>>0]|0;
+ $3725 = $3724 ^ $3723;
+ $3726 = $3725&255;
+ $3727 = (10176 + ($3726)|0);
+ $3728 = HEAP8[$3727>>0]|0;
+ $3729 = HEAP8[$88>>0]|0;
+ $3730 = $3729 ^ $3728;
+ $3731 = $3730&255;
+ $3732 = (13760 + ($3731<<2)|0);
+ $3733 = HEAP32[$3732>>2]|0;
+ $3734 = $3713 ^ $3733;
+ $3735 = HEAP8[$665>>0]|0;
+ $3736 = $3735 ^ -70;
+ $3737 = $3736&255;
+ $3738 = (10176 + ($3737)|0);
+ $3739 = HEAP8[$3738>>0]|0;
+ $3740 = HEAP8[$481>>0]|0;
+ $3741 = $3740 ^ $3739;
+ $3742 = $3741&255;
+ $3743 = (10432 + ($3742)|0);
+ $3744 = HEAP8[$3743>>0]|0;
+ $3745 = HEAP8[$296>>0]|0;
+ $3746 = $3745 ^ $3744;
+ $3747 = $3746&255;
+ $3748 = (10432 + ($3747)|0);
+ $3749 = HEAP8[$3748>>0]|0;
+ $3750 = HEAP8[$112>>0]|0;
+ $3751 = $3750 ^ $3749;
+ $3752 = $3751&255;
+ $3753 = (10688 + ($3752<<2)|0);
+ $3754 = HEAP32[$3753>>2]|0;
+ $3755 = HEAP8[$689>>0]|0;
+ $3756 = $3755 ^ -48;
+ $3757 = $3756&255;
+ $3758 = (10176 + ($3757)|0);
+ $3759 = HEAP8[$3758>>0]|0;
+ $3760 = HEAP8[$505>>0]|0;
+ $3761 = $3760 ^ $3759;
+ $3762 = $3761&255;
+ $3763 = (10176 + ($3762)|0);
+ $3764 = HEAP8[$3763>>0]|0;
+ $3765 = HEAP8[$320>>0]|0;
+ $3766 = $3765 ^ $3764;
+ $3767 = $3766&255;
+ $3768 = (10432 + ($3767)|0);
+ $3769 = HEAP8[$3768>>0]|0;
+ $3770 = HEAP8[$136>>0]|0;
+ $3771 = $3770 ^ $3769;
+ $3772 = $3771&255;
+ $3773 = (11712 + ($3772<<2)|0);
+ $3774 = HEAP32[$3773>>2]|0;
+ $3775 = $3774 ^ $3754;
+ $3776 = HEAP8[$713>>0]|0;
+ $3777 = $3776 ^ -48;
+ $3778 = $3777&255;
+ $3779 = (10432 + ($3778)|0);
+ $3780 = HEAP8[$3779>>0]|0;
+ $3781 = HEAP8[$529>>0]|0;
+ $3782 = $3781 ^ $3780;
+ $3783 = $3782&255;
+ $3784 = (10432 + ($3783)|0);
+ $3785 = HEAP8[$3784>>0]|0;
+ $3786 = HEAP8[$344>>0]|0;
+ $3787 = $3786 ^ $3785;
+ $3788 = $3787&255;
+ $3789 = (10176 + ($3788)|0);
+ $3790 = HEAP8[$3789>>0]|0;
+ $3791 = HEAP8[$160>>0]|0;
+ $3792 = $3791 ^ $3790;
+ $3793 = $3792&255;
+ $3794 = (12736 + ($3793<<2)|0);
+ $3795 = HEAP32[$3794>>2]|0;
+ $3796 = $3775 ^ $3795;
+ $3797 = HEAP8[$737>>0]|0;
+ $3798 = $3797 ^ -70;
+ $3799 = $3798&255;
+ $3800 = (10432 + ($3799)|0);
+ $3801 = HEAP8[$3800>>0]|0;
+ $3802 = HEAP8[$553>>0]|0;
+ $3803 = $3802 ^ $3801;
+ $3804 = $3803&255;
+ $3805 = (10176 + ($3804)|0);
+ $3806 = HEAP8[$3805>>0]|0;
+ $3807 = HEAP8[$368>>0]|0;
+ $3808 = $3807 ^ $3806;
+ $3809 = $3808&255;
+ $3810 = (10176 + ($3809)|0);
+ $3811 = HEAP8[$3810>>0]|0;
+ $3812 = HEAP8[$184>>0]|0;
+ $3813 = $3812 ^ $3811;
+ $3814 = $3813&255;
+ $3815 = (13760 + ($3814<<2)|0);
+ $3816 = HEAP32[$3815>>2]|0;
+ $3817 = $3796 ^ $3816;
+ $3818 = $3817 << 8;
+ $3819 = $3817 >>> 24;
+ $3820 = $3818 | $3819;
+ $3821 = (($3820) + ($3734))|0;
+ $3822 = (($3821) + ($3820))|0;
+ $3823 = ((($0)) + 4224|0);
+ HEAP32[$3823>>2] = $3821;
+ $3824 = $3822 << 9;
+ $3825 = $3822 >>> 23;
+ $3826 = $3824 | $3825;
+ $3827 = ((($0)) + 4228|0);
+ HEAP32[$3827>>2] = $3826;
+ $3828 = HEAP8[$577>>0]|0;
+ $3829 = $3828 ^ -82;
+ $3830 = $3829&255;
+ $3831 = (10176 + ($3830)|0);
+ $3832 = HEAP8[$3831>>0]|0;
+ $3833 = HEAP8[$393>>0]|0;
+ $3834 = $3833 ^ $3832;
+ $3835 = $3834&255;
+ $3836 = (10432 + ($3835)|0);
+ $3837 = HEAP8[$3836>>0]|0;
+ $3838 = HEAP8[$208>>0]|0;
+ $3839 = $3838 ^ $3837;
+ $3840 = $3839&255;
+ $3841 = (10432 + ($3840)|0);
+ $3842 = HEAP8[$3841>>0]|0;
+ $3843 = HEAP8[$1>>0]|0;
+ $3844 = $3843 ^ $3842;
+ $3845 = $3844&255;
+ $3846 = (10688 + ($3845<<2)|0);
+ $3847 = HEAP32[$3846>>2]|0;
+ $3848 = HEAP8[$593>>0]|0;
+ $3849 = $3848 ^ -117;
+ $3850 = $3849&255;
+ $3851 = (10176 + ($3850)|0);
+ $3852 = HEAP8[$3851>>0]|0;
+ $3853 = HEAP8[$409>>0]|0;
+ $3854 = $3853 ^ $3852;
+ $3855 = $3854&255;
+ $3856 = (10176 + ($3855)|0);
+ $3857 = HEAP8[$3856>>0]|0;
+ $3858 = HEAP8[$224>>0]|0;
+ $3859 = $3858 ^ $3857;
+ $3860 = $3859&255;
+ $3861 = (10432 + ($3860)|0);
+ $3862 = HEAP8[$3861>>0]|0;
+ $3863 = HEAP8[$40>>0]|0;
+ $3864 = $3863 ^ $3862;
+ $3865 = $3864&255;
+ $3866 = (11712 + ($3865<<2)|0);
+ $3867 = HEAP32[$3866>>2]|0;
+ $3868 = $3867 ^ $3847;
+ $3869 = HEAP8[$617>>0]|0;
+ $3870 = $3869 ^ -117;
+ $3871 = $3870&255;
+ $3872 = (10432 + ($3871)|0);
+ $3873 = HEAP8[$3872>>0]|0;
+ $3874 = HEAP8[$433>>0]|0;
+ $3875 = $3874 ^ $3873;
+ $3876 = $3875&255;
+ $3877 = (10432 + ($3876)|0);
+ $3878 = HEAP8[$3877>>0]|0;
+ $3879 = HEAP8[$248>>0]|0;
+ $3880 = $3879 ^ $3878;
+ $3881 = $3880&255;
+ $3882 = (10176 + ($3881)|0);
+ $3883 = HEAP8[$3882>>0]|0;
+ $3884 = HEAP8[$64>>0]|0;
+ $3885 = $3884 ^ $3883;
+ $3886 = $3885&255;
+ $3887 = (12736 + ($3886<<2)|0);
+ $3888 = HEAP32[$3887>>2]|0;
+ $3889 = $3868 ^ $3888;
+ $3890 = HEAP8[$641>>0]|0;
+ $3891 = $3890 ^ -82;
+ $3892 = $3891&255;
+ $3893 = (10432 + ($3892)|0);
+ $3894 = HEAP8[$3893>>0]|0;
+ $3895 = HEAP8[$457>>0]|0;
+ $3896 = $3895 ^ $3894;
+ $3897 = $3896&255;
+ $3898 = (10176 + ($3897)|0);
+ $3899 = HEAP8[$3898>>0]|0;
+ $3900 = HEAP8[$272>>0]|0;
+ $3901 = $3900 ^ $3899;
+ $3902 = $3901&255;
+ $3903 = (10176 + ($3902)|0);
+ $3904 = HEAP8[$3903>>0]|0;
+ $3905 = HEAP8[$88>>0]|0;
+ $3906 = $3905 ^ $3904;
+ $3907 = $3906&255;
+ $3908 = (13760 + ($3907<<2)|0);
+ $3909 = HEAP32[$3908>>2]|0;
+ $3910 = $3889 ^ $3909;
+ $3911 = HEAP8[$665>>0]|0;
+ $3912 = $3911 ^ 91;
+ $3913 = $3912&255;
+ $3914 = (10176 + ($3913)|0);
+ $3915 = HEAP8[$3914>>0]|0;
+ $3916 = HEAP8[$481>>0]|0;
+ $3917 = $3916 ^ $3915;
+ $3918 = $3917&255;
+ $3919 = (10432 + ($3918)|0);
+ $3920 = HEAP8[$3919>>0]|0;
+ $3921 = HEAP8[$296>>0]|0;
+ $3922 = $3921 ^ $3920;
+ $3923 = $3922&255;
+ $3924 = (10432 + ($3923)|0);
+ $3925 = HEAP8[$3924>>0]|0;
+ $3926 = HEAP8[$112>>0]|0;
+ $3927 = $3926 ^ $3925;
+ $3928 = $3927&255;
+ $3929 = (10688 + ($3928<<2)|0);
+ $3930 = HEAP32[$3929>>2]|0;
+ $3931 = HEAP8[$689>>0]|0;
+ $3932 = $3931 ^ 48;
+ $3933 = $3932&255;
+ $3934 = (10176 + ($3933)|0);
+ $3935 = HEAP8[$3934>>0]|0;
+ $3936 = HEAP8[$505>>0]|0;
+ $3937 = $3936 ^ $3935;
+ $3938 = $3937&255;
+ $3939 = (10176 + ($3938)|0);
+ $3940 = HEAP8[$3939>>0]|0;
+ $3941 = HEAP8[$320>>0]|0;
+ $3942 = $3941 ^ $3940;
+ $3943 = $3942&255;
+ $3944 = (10432 + ($3943)|0);
+ $3945 = HEAP8[$3944>>0]|0;
+ $3946 = HEAP8[$136>>0]|0;
+ $3947 = $3946 ^ $3945;
+ $3948 = $3947&255;
+ $3949 = (11712 + ($3948<<2)|0);
+ $3950 = HEAP32[$3949>>2]|0;
+ $3951 = $3950 ^ $3930;
+ $3952 = HEAP8[$713>>0]|0;
+ $3953 = $3952 ^ 48;
+ $3954 = $3953&255;
+ $3955 = (10432 + ($3954)|0);
+ $3956 = HEAP8[$3955>>0]|0;
+ $3957 = HEAP8[$529>>0]|0;
+ $3958 = $3957 ^ $3956;
+ $3959 = $3958&255;
+ $3960 = (10432 + ($3959)|0);
+ $3961 = HEAP8[$3960>>0]|0;
+ $3962 = HEAP8[$344>>0]|0;
+ $3963 = $3962 ^ $3961;
+ $3964 = $3963&255;
+ $3965 = (10176 + ($3964)|0);
+ $3966 = HEAP8[$3965>>0]|0;
+ $3967 = HEAP8[$160>>0]|0;
+ $3968 = $3967 ^ $3966;
+ $3969 = $3968&255;
+ $3970 = (12736 + ($3969<<2)|0);
+ $3971 = HEAP32[$3970>>2]|0;
+ $3972 = $3951 ^ $3971;
+ $3973 = HEAP8[$737>>0]|0;
+ $3974 = $3973 ^ 91;
+ $3975 = $3974&255;
+ $3976 = (10432 + ($3975)|0);
+ $3977 = HEAP8[$3976>>0]|0;
+ $3978 = HEAP8[$553>>0]|0;
+ $3979 = $3978 ^ $3977;
+ $3980 = $3979&255;
+ $3981 = (10176 + ($3980)|0);
+ $3982 = HEAP8[$3981>>0]|0;
+ $3983 = HEAP8[$368>>0]|0;
+ $3984 = $3983 ^ $3982;
+ $3985 = $3984&255;
+ $3986 = (10176 + ($3985)|0);
+ $3987 = HEAP8[$3986>>0]|0;
+ $3988 = HEAP8[$184>>0]|0;
+ $3989 = $3988 ^ $3987;
+ $3990 = $3989&255;
+ $3991 = (13760 + ($3990<<2)|0);
+ $3992 = HEAP32[$3991>>2]|0;
+ $3993 = $3972 ^ $3992;
+ $3994 = $3993 << 8;
+ $3995 = $3993 >>> 24;
+ $3996 = $3994 | $3995;
+ $3997 = (($3996) + ($3910))|0;
+ $3998 = (($3997) + ($3996))|0;
+ $3999 = ((($0)) + 4232|0);
+ HEAP32[$3999>>2] = $3997;
+ $4000 = $3998 << 9;
+ $4001 = $3998 >>> 23;
+ $4002 = $4000 | $4001;
+ $4003 = ((($0)) + 4236|0);
+ HEAP32[$4003>>2] = $4002;
+ $4004 = HEAP8[$577>>0]|0;
+ $4005 = $4004 ^ -118;
+ $4006 = $4005&255;
+ $4007 = (10176 + ($4006)|0);
+ $4008 = HEAP8[$4007>>0]|0;
+ $4009 = HEAP8[$393>>0]|0;
+ $4010 = $4009 ^ $4008;
+ $4011 = $4010&255;
+ $4012 = (10432 + ($4011)|0);
+ $4013 = HEAP8[$4012>>0]|0;
+ $4014 = HEAP8[$208>>0]|0;
+ $4015 = $4014 ^ $4013;
+ $4016 = $4015&255;
+ $4017 = (10432 + ($4016)|0);
+ $4018 = HEAP8[$4017>>0]|0;
+ $4019 = HEAP8[$1>>0]|0;
+ $4020 = $4019 ^ $4018;
+ $4021 = $4020&255;
+ $4022 = (10688 + ($4021<<2)|0);
+ $4023 = HEAP32[$4022>>2]|0;
+ $4024 = HEAP8[$593>>0]|0;
+ $4025 = $4024 ^ -124;
+ $4026 = $4025&255;
+ $4027 = (10176 + ($4026)|0);
+ $4028 = HEAP8[$4027>>0]|0;
+ $4029 = HEAP8[$409>>0]|0;
+ $4030 = $4029 ^ $4028;
+ $4031 = $4030&255;
+ $4032 = (10176 + ($4031)|0);
+ $4033 = HEAP8[$4032>>0]|0;
+ $4034 = HEAP8[$224>>0]|0;
+ $4035 = $4034 ^ $4033;
+ $4036 = $4035&255;
+ $4037 = (10432 + ($4036)|0);
+ $4038 = HEAP8[$4037>>0]|0;
+ $4039 = HEAP8[$40>>0]|0;
+ $4040 = $4039 ^ $4038;
+ $4041 = $4040&255;
+ $4042 = (11712 + ($4041<<2)|0);
+ $4043 = HEAP32[$4042>>2]|0;
+ $4044 = $4043 ^ $4023;
+ $4045 = HEAP8[$617>>0]|0;
+ $4046 = $4045 ^ -124;
+ $4047 = $4046&255;
+ $4048 = (10432 + ($4047)|0);
+ $4049 = HEAP8[$4048>>0]|0;
+ $4050 = HEAP8[$433>>0]|0;
+ $4051 = $4050 ^ $4049;
+ $4052 = $4051&255;
+ $4053 = (10432 + ($4052)|0);
+ $4054 = HEAP8[$4053>>0]|0;
+ $4055 = HEAP8[$248>>0]|0;
+ $4056 = $4055 ^ $4054;
+ $4057 = $4056&255;
+ $4058 = (10176 + ($4057)|0);
+ $4059 = HEAP8[$4058>>0]|0;
+ $4060 = HEAP8[$64>>0]|0;
+ $4061 = $4060 ^ $4059;
+ $4062 = $4061&255;
+ $4063 = (12736 + ($4062<<2)|0);
+ $4064 = HEAP32[$4063>>2]|0;
+ $4065 = $4044 ^ $4064;
+ $4066 = HEAP8[$641>>0]|0;
+ $4067 = $4066 ^ -118;
+ $4068 = $4067&255;
+ $4069 = (10432 + ($4068)|0);
+ $4070 = HEAP8[$4069>>0]|0;
+ $4071 = HEAP8[$457>>0]|0;
+ $4072 = $4071 ^ $4070;
+ $4073 = $4072&255;
+ $4074 = (10176 + ($4073)|0);
+ $4075 = HEAP8[$4074>>0]|0;
+ $4076 = HEAP8[$272>>0]|0;
+ $4077 = $4076 ^ $4075;
+ $4078 = $4077&255;
+ $4079 = (10176 + ($4078)|0);
+ $4080 = HEAP8[$4079>>0]|0;
+ $4081 = HEAP8[$88>>0]|0;
+ $4082 = $4081 ^ $4080;
+ $4083 = $4082&255;
+ $4084 = (13760 + ($4083<<2)|0);
+ $4085 = HEAP32[$4084>>2]|0;
+ $4086 = $4065 ^ $4085;
+ $4087 = HEAP8[$665>>0]|0;
+ $4088 = $4087&255;
+ $4089 = (10176 + ($4088)|0);
+ $4090 = HEAP8[$4089>>0]|0;
+ $4091 = HEAP8[$481>>0]|0;
+ $4092 = $4091 ^ $4090;
+ $4093 = $4092&255;
+ $4094 = (10432 + ($4093)|0);
+ $4095 = HEAP8[$4094>>0]|0;
+ $4096 = HEAP8[$296>>0]|0;
+ $4097 = $4096 ^ $4095;
+ $4098 = $4097&255;
+ $4099 = (10432 + ($4098)|0);
+ $4100 = HEAP8[$4099>>0]|0;
+ $4101 = HEAP8[$112>>0]|0;
+ $4102 = $4101 ^ $4100;
+ $4103 = $4102&255;
+ $4104 = (10688 + ($4103<<2)|0);
+ $4105 = HEAP32[$4104>>2]|0;
+ $4106 = HEAP8[$689>>0]|0;
+ $4107 = $4106 ^ 84;
+ $4108 = $4107&255;
+ $4109 = (10176 + ($4108)|0);
+ $4110 = HEAP8[$4109>>0]|0;
+ $4111 = HEAP8[$505>>0]|0;
+ $4112 = $4111 ^ $4110;
+ $4113 = $4112&255;
+ $4114 = (10176 + ($4113)|0);
+ $4115 = HEAP8[$4114>>0]|0;
+ $4116 = HEAP8[$320>>0]|0;
+ $4117 = $4116 ^ $4115;
+ $4118 = $4117&255;
+ $4119 = (10432 + ($4118)|0);
+ $4120 = HEAP8[$4119>>0]|0;
+ $4121 = HEAP8[$136>>0]|0;
+ $4122 = $4121 ^ $4120;
+ $4123 = $4122&255;
+ $4124 = (11712 + ($4123<<2)|0);
+ $4125 = HEAP32[$4124>>2]|0;
+ $4126 = $4125 ^ $4105;
+ $4127 = HEAP8[$713>>0]|0;
+ $4128 = $4127 ^ 84;
+ $4129 = $4128&255;
+ $4130 = (10432 + ($4129)|0);
+ $4131 = HEAP8[$4130>>0]|0;
+ $4132 = HEAP8[$529>>0]|0;
+ $4133 = $4132 ^ $4131;
+ $4134 = $4133&255;
+ $4135 = (10432 + ($4134)|0);
+ $4136 = HEAP8[$4135>>0]|0;
+ $4137 = HEAP8[$344>>0]|0;
+ $4138 = $4137 ^ $4136;
+ $4139 = $4138&255;
+ $4140 = (10176 + ($4139)|0);
+ $4141 = HEAP8[$4140>>0]|0;
+ $4142 = HEAP8[$160>>0]|0;
+ $4143 = $4142 ^ $4141;
+ $4144 = $4143&255;
+ $4145 = (12736 + ($4144<<2)|0);
+ $4146 = HEAP32[$4145>>2]|0;
+ $4147 = $4126 ^ $4146;
+ $4148 = HEAP8[$737>>0]|0;
+ $4149 = $4148&255;
+ $4150 = (10432 + ($4149)|0);
+ $4151 = HEAP8[$4150>>0]|0;
+ $4152 = HEAP8[$553>>0]|0;
+ $4153 = $4152 ^ $4151;
+ $4154 = $4153&255;
+ $4155 = (10176 + ($4154)|0);
+ $4156 = HEAP8[$4155>>0]|0;
+ $4157 = HEAP8[$368>>0]|0;
+ $4158 = $4157 ^ $4156;
+ $4159 = $4158&255;
+ $4160 = (10176 + ($4159)|0);
+ $4161 = HEAP8[$4160>>0]|0;
+ $4162 = HEAP8[$184>>0]|0;
+ $4163 = $4162 ^ $4161;
+ $4164 = $4163&255;
+ $4165 = (13760 + ($4164<<2)|0);
+ $4166 = HEAP32[$4165>>2]|0;
+ $4167 = $4147 ^ $4166;
+ $4168 = $4167 << 8;
+ $4169 = $4167 >>> 24;
+ $4170 = $4168 | $4169;
+ $4171 = (($4170) + ($4086))|0;
+ $4172 = (($4171) + ($4170))|0;
+ $4173 = ((($0)) + 4240|0);
+ HEAP32[$4173>>2] = $4171;
+ $4174 = $4172 << 9;
+ $4175 = $4172 >>> 23;
+ $4176 = $4174 | $4175;
+ $4177 = ((($0)) + 4244|0);
+ HEAP32[$4177>>2] = $4176;
+ $4178 = HEAP8[$577>>0]|0;
+ $4179 = $4178 ^ -68;
+ $4180 = $4179&255;
+ $4181 = (10176 + ($4180)|0);
+ $4182 = HEAP8[$4181>>0]|0;
+ $4183 = HEAP8[$393>>0]|0;
+ $4184 = $4183 ^ $4182;
+ $4185 = $4184&255;
+ $4186 = (10432 + ($4185)|0);
+ $4187 = HEAP8[$4186>>0]|0;
+ $4188 = HEAP8[$208>>0]|0;
+ $4189 = $4188 ^ $4187;
+ $4190 = $4189&255;
+ $4191 = (10432 + ($4190)|0);
+ $4192 = HEAP8[$4191>>0]|0;
+ $4193 = HEAP8[$1>>0]|0;
+ $4194 = $4193 ^ $4192;
+ $4195 = $4194&255;
+ $4196 = (10688 + ($4195<<2)|0);
+ $4197 = HEAP32[$4196>>2]|0;
+ $4198 = HEAP8[$593>>0]|0;
+ $4199 = $4198 ^ -33;
+ $4200 = $4199&255;
+ $4201 = (10176 + ($4200)|0);
+ $4202 = HEAP8[$4201>>0]|0;
+ $4203 = HEAP8[$409>>0]|0;
+ $4204 = $4203 ^ $4202;
+ $4205 = $4204&255;
+ $4206 = (10176 + ($4205)|0);
+ $4207 = HEAP8[$4206>>0]|0;
+ $4208 = HEAP8[$224>>0]|0;
+ $4209 = $4208 ^ $4207;
+ $4210 = $4209&255;
+ $4211 = (10432 + ($4210)|0);
+ $4212 = HEAP8[$4211>>0]|0;
+ $4213 = HEAP8[$40>>0]|0;
+ $4214 = $4213 ^ $4212;
+ $4215 = $4214&255;
+ $4216 = (11712 + ($4215<<2)|0);
+ $4217 = HEAP32[$4216>>2]|0;
+ $4218 = $4217 ^ $4197;
+ $4219 = HEAP8[$617>>0]|0;
+ $4220 = $4219 ^ -33;
+ $4221 = $4220&255;
+ $4222 = (10432 + ($4221)|0);
+ $4223 = HEAP8[$4222>>0]|0;
+ $4224 = HEAP8[$433>>0]|0;
+ $4225 = $4224 ^ $4223;
+ $4226 = $4225&255;
+ $4227 = (10432 + ($4226)|0);
+ $4228 = HEAP8[$4227>>0]|0;
+ $4229 = HEAP8[$248>>0]|0;
+ $4230 = $4229 ^ $4228;
+ $4231 = $4230&255;
+ $4232 = (10176 + ($4231)|0);
+ $4233 = HEAP8[$4232>>0]|0;
+ $4234 = HEAP8[$64>>0]|0;
+ $4235 = $4234 ^ $4233;
+ $4236 = $4235&255;
+ $4237 = (12736 + ($4236<<2)|0);
+ $4238 = HEAP32[$4237>>2]|0;
+ $4239 = $4218 ^ $4238;
+ $4240 = HEAP8[$641>>0]|0;
+ $4241 = $4240 ^ -68;
+ $4242 = $4241&255;
+ $4243 = (10432 + ($4242)|0);
+ $4244 = HEAP8[$4243>>0]|0;
+ $4245 = HEAP8[$457>>0]|0;
+ $4246 = $4245 ^ $4244;
+ $4247 = $4246&255;
+ $4248 = (10176 + ($4247)|0);
+ $4249 = HEAP8[$4248>>0]|0;
+ $4250 = HEAP8[$272>>0]|0;
+ $4251 = $4250 ^ $4249;
+ $4252 = $4251&255;
+ $4253 = (10176 + ($4252)|0);
+ $4254 = HEAP8[$4253>>0]|0;
+ $4255 = HEAP8[$88>>0]|0;
+ $4256 = $4255 ^ $4254;
+ $4257 = $4256&255;
+ $4258 = (13760 + ($4257<<2)|0);
+ $4259 = HEAP32[$4258>>2]|0;
+ $4260 = $4239 ^ $4259;
+ $4261 = HEAP8[$665>>0]|0;
+ $4262 = $4261 ^ -99;
+ $4263 = $4262&255;
+ $4264 = (10176 + ($4263)|0);
+ $4265 = HEAP8[$4264>>0]|0;
+ $4266 = HEAP8[$481>>0]|0;
+ $4267 = $4266 ^ $4265;
+ $4268 = $4267&255;
+ $4269 = (10432 + ($4268)|0);
+ $4270 = HEAP8[$4269>>0]|0;
+ $4271 = HEAP8[$296>>0]|0;
+ $4272 = $4271 ^ $4270;
+ $4273 = $4272&255;
+ $4274 = (10432 + ($4273)|0);
+ $4275 = HEAP8[$4274>>0]|0;
+ $4276 = HEAP8[$112>>0]|0;
+ $4277 = $4276 ^ $4275;
+ $4278 = $4277&255;
+ $4279 = (10688 + ($4278<<2)|0);
+ $4280 = HEAP32[$4279>>2]|0;
+ $4281 = HEAP8[$689>>0]|0;
+ $4282 = $4281 ^ 35;
+ $4283 = $4282&255;
+ $4284 = (10176 + ($4283)|0);
+ $4285 = HEAP8[$4284>>0]|0;
+ $4286 = HEAP8[$505>>0]|0;
+ $4287 = $4286 ^ $4285;
+ $4288 = $4287&255;
+ $4289 = (10176 + ($4288)|0);
+ $4290 = HEAP8[$4289>>0]|0;
+ $4291 = HEAP8[$320>>0]|0;
+ $4292 = $4291 ^ $4290;
+ $4293 = $4292&255;
+ $4294 = (10432 + ($4293)|0);
+ $4295 = HEAP8[$4294>>0]|0;
+ $4296 = HEAP8[$136>>0]|0;
+ $4297 = $4296 ^ $4295;
+ $4298 = $4297&255;
+ $4299 = (11712 + ($4298<<2)|0);
+ $4300 = HEAP32[$4299>>2]|0;
+ $4301 = $4300 ^ $4280;
+ $4302 = HEAP8[$713>>0]|0;
+ $4303 = $4302 ^ 35;
+ $4304 = $4303&255;
+ $4305 = (10432 + ($4304)|0);
+ $4306 = HEAP8[$4305>>0]|0;
+ $4307 = HEAP8[$529>>0]|0;
+ $4308 = $4307 ^ $4306;
+ $4309 = $4308&255;
+ $4310 = (10432 + ($4309)|0);
+ $4311 = HEAP8[$4310>>0]|0;
+ $4312 = HEAP8[$344>>0]|0;
+ $4313 = $4312 ^ $4311;
+ $4314 = $4313&255;
+ $4315 = (10176 + ($4314)|0);
+ $4316 = HEAP8[$4315>>0]|0;
+ $4317 = HEAP8[$160>>0]|0;
+ $4318 = $4317 ^ $4316;
+ $4319 = $4318&255;
+ $4320 = (12736 + ($4319<<2)|0);
+ $4321 = HEAP32[$4320>>2]|0;
+ $4322 = $4301 ^ $4321;
+ $4323 = HEAP8[$737>>0]|0;
+ $4324 = $4323 ^ -99;
+ $4325 = $4324&255;
+ $4326 = (10432 + ($4325)|0);
+ $4327 = HEAP8[$4326>>0]|0;
+ $4328 = HEAP8[$553>>0]|0;
+ $4329 = $4328 ^ $4327;
+ $4330 = $4329&255;
+ $4331 = (10176 + ($4330)|0);
+ $4332 = HEAP8[$4331>>0]|0;
+ $4333 = HEAP8[$368>>0]|0;
+ $4334 = $4333 ^ $4332;
+ $4335 = $4334&255;
+ $4336 = (10176 + ($4335)|0);
+ $4337 = HEAP8[$4336>>0]|0;
+ $4338 = HEAP8[$184>>0]|0;
+ $4339 = $4338 ^ $4337;
+ $4340 = $4339&255;
+ $4341 = (13760 + ($4340<<2)|0);
+ $4342 = HEAP32[$4341>>2]|0;
+ $4343 = $4322 ^ $4342;
+ $4344 = $4343 << 8;
+ $4345 = $4343 >>> 24;
+ $4346 = $4344 | $4345;
+ $4347 = (($4346) + ($4260))|0;
+ $4348 = (($4347) + ($4346))|0;
+ $4349 = ((($0)) + 4248|0);
+ HEAP32[$4349>>2] = $4347;
+ $4350 = $4348 << 9;
+ $4351 = $4348 >>> 23;
+ $4352 = $4350 | $4351;
+ $4353 = ((($0)) + 4252|0);
+ HEAP32[$4353>>2] = $4352;
+ $$01913 = 0;
+ STACKTOP = sp;return ($$01913|0);
+}
+function __gcry_twofish_ctr_enc($0,$1,$2,$3,$4) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ var $$06183 = 0, $$06780 = 0, $$068$lcssa = 0, $$06882 = 0, $$07081 = 0, $$084 = 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;
+ var $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0;
+ var $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $15 = 0, $16 = 0, $17 = 0;
+ var $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0;
+ var $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0;
+ var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0;
+ var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0;
+ var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $spec$select = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $5 = sp;
+ $6 = ($4|0)==(0);
+ if ($6) {
+ $$068$lcssa = 0;
+ $137 = $5;
+ $138 = $137;
+ HEAP32[$138>>2] = 0;
+ $139 = (($137) + 4)|0;
+ $140 = $139;
+ HEAP32[$140>>2] = 0;
+ $141 = ((($5)) + 8|0);
+ $142 = $141;
+ $143 = $142;
+ HEAP32[$143>>2] = 0;
+ $144 = (($142) + 4)|0;
+ $145 = $144;
+ HEAP32[$145>>2] = 0;
+ ___gcry_burn_stack($$068$lcssa);
+ STACKTOP = sp;return;
+ }
+ $7 = ((($5)) + 4|0);
+ $8 = ((($5)) + 8|0);
+ $9 = ((($5)) + 12|0);
+ $10 = ((($5)) + 1|0);
+ $11 = ((($5)) + 2|0);
+ $12 = ((($5)) + 3|0);
+ $13 = ((($5)) + 4|0);
+ $14 = ((($5)) + 5|0);
+ $15 = ((($5)) + 6|0);
+ $16 = ((($5)) + 7|0);
+ $17 = ((($5)) + 8|0);
+ $18 = ((($5)) + 9|0);
+ $19 = ((($5)) + 10|0);
+ $20 = ((($5)) + 11|0);
+ $21 = ((($5)) + 12|0);
+ $22 = ((($5)) + 13|0);
+ $23 = ((($5)) + 14|0);
+ $24 = ((($5)) + 15|0);
+ $$06183 = $2;$$06882 = 0;$$07081 = $3;$$084 = $4;
+ while(1) {
+ (_twofish_encrypt($0,$5,$1)|0);
+ $25 = ($$06882>>>0)>(36);
+ $spec$select = $25 ? $$06882 : 36;
+ $26 = $$06183;
+ $27 = $$07081;
+ $28 = $26 | $27;
+ $29 = $28 & 3;
+ $30 = ($29|0)==(0);
+ if ($30) {
+ $31 = HEAP32[$5>>2]|0;
+ $32 = ((($$07081)) + 4|0);
+ $33 = HEAP32[$$07081>>2]|0;
+ $34 = $33 ^ $31;
+ $35 = ((($$06183)) + 4|0);
+ HEAP32[$$06183>>2] = $34;
+ $36 = HEAP32[$7>>2]|0;
+ $37 = ((($$07081)) + 8|0);
+ $38 = HEAP32[$32>>2]|0;
+ $39 = $38 ^ $36;
+ $40 = ((($$06183)) + 8|0);
+ HEAP32[$35>>2] = $39;
+ $41 = HEAP32[$8>>2]|0;
+ $42 = ((($$07081)) + 12|0);
+ $43 = HEAP32[$37>>2]|0;
+ $44 = $43 ^ $41;
+ $45 = ((($$06183)) + 12|0);
+ HEAP32[$40>>2] = $44;
+ $46 = HEAP32[$9>>2]|0;
+ $47 = HEAP32[$42>>2]|0;
+ $48 = $47 ^ $46;
+ HEAP32[$45>>2] = $48;
+ } else {
+ $49 = HEAP8[$5>>0]|0;
+ $50 = ((($$07081)) + 1|0);
+ $51 = HEAP8[$$07081>>0]|0;
+ $52 = $51 ^ $49;
+ $53 = ((($$06183)) + 1|0);
+ HEAP8[$$06183>>0] = $52;
+ $54 = HEAP8[$10>>0]|0;
+ $55 = ((($$07081)) + 2|0);
+ $56 = HEAP8[$50>>0]|0;
+ $57 = $56 ^ $54;
+ $58 = ((($$06183)) + 2|0);
+ HEAP8[$53>>0] = $57;
+ $59 = HEAP8[$11>>0]|0;
+ $60 = ((($$07081)) + 3|0);
+ $61 = HEAP8[$55>>0]|0;
+ $62 = $61 ^ $59;
+ $63 = ((($$06183)) + 3|0);
+ HEAP8[$58>>0] = $62;
+ $64 = HEAP8[$12>>0]|0;
+ $65 = ((($$07081)) + 4|0);
+ $66 = HEAP8[$60>>0]|0;
+ $67 = $66 ^ $64;
+ $68 = ((($$06183)) + 4|0);
+ HEAP8[$63>>0] = $67;
+ $69 = HEAP8[$13>>0]|0;
+ $70 = ((($$07081)) + 5|0);
+ $71 = HEAP8[$65>>0]|0;
+ $72 = $71 ^ $69;
+ $73 = ((($$06183)) + 5|0);
+ HEAP8[$68>>0] = $72;
+ $74 = HEAP8[$14>>0]|0;
+ $75 = ((($$07081)) + 6|0);
+ $76 = HEAP8[$70>>0]|0;
+ $77 = $76 ^ $74;
+ $78 = ((($$06183)) + 6|0);
+ HEAP8[$73>>0] = $77;
+ $79 = HEAP8[$15>>0]|0;
+ $80 = ((($$07081)) + 7|0);
+ $81 = HEAP8[$75>>0]|0;
+ $82 = $81 ^ $79;
+ $83 = ((($$06183)) + 7|0);
+ HEAP8[$78>>0] = $82;
+ $84 = HEAP8[$16>>0]|0;
+ $85 = ((($$07081)) + 8|0);
+ $86 = HEAP8[$80>>0]|0;
+ $87 = $86 ^ $84;
+ $88 = ((($$06183)) + 8|0);
+ HEAP8[$83>>0] = $87;
+ $89 = HEAP8[$17>>0]|0;
+ $90 = ((($$07081)) + 9|0);
+ $91 = HEAP8[$85>>0]|0;
+ $92 = $91 ^ $89;
+ $93 = ((($$06183)) + 9|0);
+ HEAP8[$88>>0] = $92;
+ $94 = HEAP8[$18>>0]|0;
+ $95 = ((($$07081)) + 10|0);
+ $96 = HEAP8[$90>>0]|0;
+ $97 = $96 ^ $94;
+ $98 = ((($$06183)) + 10|0);
+ HEAP8[$93>>0] = $97;
+ $99 = HEAP8[$19>>0]|0;
+ $100 = ((($$07081)) + 11|0);
+ $101 = HEAP8[$95>>0]|0;
+ $102 = $101 ^ $99;
+ $103 = ((($$06183)) + 11|0);
+ HEAP8[$98>>0] = $102;
+ $104 = HEAP8[$20>>0]|0;
+ $105 = ((($$07081)) + 12|0);
+ $106 = HEAP8[$100>>0]|0;
+ $107 = $106 ^ $104;
+ $108 = ((($$06183)) + 12|0);
+ HEAP8[$103>>0] = $107;
+ $109 = HEAP8[$21>>0]|0;
+ $110 = ((($$07081)) + 13|0);
+ $111 = HEAP8[$105>>0]|0;
+ $112 = $111 ^ $109;
+ $113 = ((($$06183)) + 13|0);
+ HEAP8[$108>>0] = $112;
+ $114 = HEAP8[$22>>0]|0;
+ $115 = ((($$07081)) + 14|0);
+ $116 = HEAP8[$110>>0]|0;
+ $117 = $116 ^ $114;
+ $118 = ((($$06183)) + 14|0);
+ HEAP8[$113>>0] = $117;
+ $119 = HEAP8[$23>>0]|0;
+ $120 = ((($$07081)) + 15|0);
+ $121 = HEAP8[$115>>0]|0;
+ $122 = $121 ^ $119;
+ $123 = ((($$06183)) + 15|0);
+ HEAP8[$118>>0] = $122;
+ $124 = HEAP8[$24>>0]|0;
+ $125 = HEAP8[$120>>0]|0;
+ $126 = $125 ^ $124;
+ HEAP8[$123>>0] = $126;
+ }
+ $127 = ((($$06183)) + 16|0);
+ $$06780 = 16;
+ while(1) {
+ $128 = (($$06780) + -1)|0;
+ $129 = (($1) + ($128)|0);
+ $130 = HEAP8[$129>>0]|0;
+ $131 = (($130) + 1)<<24>>24;
+ HEAP8[$129>>0] = $131;
+ $132 = ($131<<24>>24)==(0);
+ $133 = ($$06780>>>0)>(1);
+ $or$cond = $132 & $133;
+ if ($or$cond) {
+ $$06780 = $128;
+ } else {
+ break;
+ }
+ }
+ $134 = ((($$07081)) + 16|0);
+ $135 = (($$084) + -1)|0;
+ $136 = ($135|0)==(0);
+ if ($136) {
+ $$068$lcssa = $spec$select;
+ break;
+ } else {
+ $$06183 = $127;$$06882 = $spec$select;$$07081 = $134;$$084 = $135;
+ }
+ }
+ $137 = $5;
+ $138 = $137;
+ HEAP32[$138>>2] = 0;
+ $139 = (($137) + 4)|0;
+ $140 = $139;
+ HEAP32[$140>>2] = 0;
+ $141 = ((($5)) + 8|0);
+ $142 = $141;
+ $143 = $142;
+ HEAP32[$143>>2] = 0;
+ $144 = (($142) + 4)|0;
+ $145 = $144;
+ HEAP32[$145>>2] = 0;
+ ___gcry_burn_stack($$068$lcssa);
+ STACKTOP = sp;return;
+}
+function __gcry_twofish_cbc_dec($0,$1,$2,$3,$4) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ var $$05474 = 0, $$060$lcssa = 0, $$06073 = 0, $$06272 = 0, $$075 = 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;
+ var $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0;
+ var $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0;
+ var $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0;
+ var $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0;
+ var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $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, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0;
+ var $spec$select = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $5 = sp;
+ $6 = ($4|0)==(0);
+ if ($6) {
+ $$060$lcssa = 0;
+ $171 = $5;
+ $172 = $171;
+ HEAP32[$172>>2] = 0;
+ $173 = (($171) + 4)|0;
+ $174 = $173;
+ HEAP32[$174>>2] = 0;
+ $175 = ((($5)) + 8|0);
+ $176 = $175;
+ $177 = $176;
+ HEAP32[$177>>2] = 0;
+ $178 = (($176) + 4)|0;
+ $179 = $178;
+ HEAP32[$179>>2] = 0;
+ ___gcry_burn_stack($$060$lcssa);
+ STACKTOP = sp;return;
+ }
+ $7 = $1;
+ $8 = ((($5)) + 4|0);
+ $9 = ((($1)) + 4|0);
+ $10 = ((($5)) + 8|0);
+ $11 = ((($1)) + 8|0);
+ $12 = ((($5)) + 12|0);
+ $13 = ((($1)) + 12|0);
+ $14 = ((($5)) + 1|0);
+ $15 = ((($1)) + 1|0);
+ $16 = ((($5)) + 2|0);
+ $17 = ((($1)) + 2|0);
+ $18 = ((($5)) + 3|0);
+ $19 = ((($1)) + 3|0);
+ $20 = ((($5)) + 4|0);
+ $21 = ((($1)) + 4|0);
+ $22 = ((($5)) + 5|0);
+ $23 = ((($1)) + 5|0);
+ $24 = ((($5)) + 6|0);
+ $25 = ((($1)) + 6|0);
+ $26 = ((($5)) + 7|0);
+ $27 = ((($1)) + 7|0);
+ $28 = ((($5)) + 8|0);
+ $29 = ((($1)) + 8|0);
+ $30 = ((($5)) + 9|0);
+ $31 = ((($1)) + 9|0);
+ $32 = ((($5)) + 10|0);
+ $33 = ((($1)) + 10|0);
+ $34 = ((($5)) + 11|0);
+ $35 = ((($1)) + 11|0);
+ $36 = ((($5)) + 12|0);
+ $37 = ((($1)) + 12|0);
+ $38 = ((($5)) + 13|0);
+ $39 = ((($1)) + 13|0);
+ $40 = ((($5)) + 14|0);
+ $41 = ((($1)) + 14|0);
+ $42 = ((($5)) + 15|0);
+ $43 = ((($1)) + 15|0);
+ $$05474 = $2;$$06073 = 0;$$06272 = $3;$$075 = $4;
+ while(1) {
+ (_twofish_decrypt($0,$5,$$06272)|0);
+ $44 = ($$06073>>>0)>(36);
+ $spec$select = $44 ? $$06073 : 36;
+ $45 = $$06272;
+ $46 = $$05474;
+ $47 = $45 | $7;
+ $48 = $47 | $46;
+ $49 = $48 & 3;
+ $50 = ($49|0)==(0);
+ if ($50) {
+ $51 = ((($$06272)) + 4|0);
+ $52 = HEAP32[$$06272>>2]|0;
+ $53 = HEAP32[$1>>2]|0;
+ $54 = HEAP32[$5>>2]|0;
+ $55 = $54 ^ $53;
+ $56 = ((($$05474)) + 4|0);
+ HEAP32[$$05474>>2] = $55;
+ HEAP32[$1>>2] = $52;
+ $57 = ((($$06272)) + 8|0);
+ $58 = HEAP32[$51>>2]|0;
+ $59 = HEAP32[$9>>2]|0;
+ $60 = HEAP32[$8>>2]|0;
+ $61 = $60 ^ $59;
+ $62 = ((($$05474)) + 8|0);
+ HEAP32[$56>>2] = $61;
+ HEAP32[$9>>2] = $58;
+ $63 = ((($$06272)) + 12|0);
+ $64 = HEAP32[$57>>2]|0;
+ $65 = HEAP32[$11>>2]|0;
+ $66 = HEAP32[$10>>2]|0;
+ $67 = $66 ^ $65;
+ $68 = ((($$05474)) + 12|0);
+ HEAP32[$62>>2] = $67;
+ HEAP32[$11>>2] = $64;
+ $69 = HEAP32[$63>>2]|0;
+ $70 = HEAP32[$13>>2]|0;
+ $71 = HEAP32[$12>>2]|0;
+ $72 = $71 ^ $70;
+ HEAP32[$68>>2] = $72;
+ HEAP32[$13>>2] = $69;
+ } else {
+ $73 = ((($$06272)) + 1|0);
+ $74 = HEAP8[$$06272>>0]|0;
+ $75 = HEAP8[$1>>0]|0;
+ $76 = HEAP8[$5>>0]|0;
+ $77 = $76 ^ $75;
+ $78 = ((($$05474)) + 1|0);
+ HEAP8[$$05474>>0] = $77;
+ HEAP8[$1>>0] = $74;
+ $79 = ((($$06272)) + 2|0);
+ $80 = HEAP8[$73>>0]|0;
+ $81 = HEAP8[$15>>0]|0;
+ $82 = HEAP8[$14>>0]|0;
+ $83 = $82 ^ $81;
+ $84 = ((($$05474)) + 2|0);
+ HEAP8[$78>>0] = $83;
+ HEAP8[$15>>0] = $80;
+ $85 = ((($$06272)) + 3|0);
+ $86 = HEAP8[$79>>0]|0;
+ $87 = HEAP8[$17>>0]|0;
+ $88 = HEAP8[$16>>0]|0;
+ $89 = $88 ^ $87;
+ $90 = ((($$05474)) + 3|0);
+ HEAP8[$84>>0] = $89;
+ HEAP8[$17>>0] = $86;
+ $91 = ((($$06272)) + 4|0);
+ $92 = HEAP8[$85>>0]|0;
+ $93 = HEAP8[$19>>0]|0;
+ $94 = HEAP8[$18>>0]|0;
+ $95 = $94 ^ $93;
+ $96 = ((($$05474)) + 4|0);
+ HEAP8[$90>>0] = $95;
+ HEAP8[$19>>0] = $92;
+ $97 = ((($$06272)) + 5|0);
+ $98 = HEAP8[$91>>0]|0;
+ $99 = HEAP8[$21>>0]|0;
+ $100 = HEAP8[$20>>0]|0;
+ $101 = $100 ^ $99;
+ $102 = ((($$05474)) + 5|0);
+ HEAP8[$96>>0] = $101;
+ HEAP8[$21>>0] = $98;
+ $103 = ((($$06272)) + 6|0);
+ $104 = HEAP8[$97>>0]|0;
+ $105 = HEAP8[$23>>0]|0;
+ $106 = HEAP8[$22>>0]|0;
+ $107 = $106 ^ $105;
+ $108 = ((($$05474)) + 6|0);
+ HEAP8[$102>>0] = $107;
+ HEAP8[$23>>0] = $104;
+ $109 = ((($$06272)) + 7|0);
+ $110 = HEAP8[$103>>0]|0;
+ $111 = HEAP8[$25>>0]|0;
+ $112 = HEAP8[$24>>0]|0;
+ $113 = $112 ^ $111;
+ $114 = ((($$05474)) + 7|0);
+ HEAP8[$108>>0] = $113;
+ HEAP8[$25>>0] = $110;
+ $115 = ((($$06272)) + 8|0);
+ $116 = HEAP8[$109>>0]|0;
+ $117 = HEAP8[$27>>0]|0;
+ $118 = HEAP8[$26>>0]|0;
+ $119 = $118 ^ $117;
+ $120 = ((($$05474)) + 8|0);
+ HEAP8[$114>>0] = $119;
+ HEAP8[$27>>0] = $116;
+ $121 = ((($$06272)) + 9|0);
+ $122 = HEAP8[$115>>0]|0;
+ $123 = HEAP8[$29>>0]|0;
+ $124 = HEAP8[$28>>0]|0;
+ $125 = $124 ^ $123;
+ $126 = ((($$05474)) + 9|0);
+ HEAP8[$120>>0] = $125;
+ HEAP8[$29>>0] = $122;
+ $127 = ((($$06272)) + 10|0);
+ $128 = HEAP8[$121>>0]|0;
+ $129 = HEAP8[$31>>0]|0;
+ $130 = HEAP8[$30>>0]|0;
+ $131 = $130 ^ $129;
+ $132 = ((($$05474)) + 10|0);
+ HEAP8[$126>>0] = $131;
+ HEAP8[$31>>0] = $128;
+ $133 = ((($$06272)) + 11|0);
+ $134 = HEAP8[$127>>0]|0;
+ $135 = HEAP8[$33>>0]|0;
+ $136 = HEAP8[$32>>0]|0;
+ $137 = $136 ^ $135;
+ $138 = ((($$05474)) + 11|0);
+ HEAP8[$132>>0] = $137;
+ HEAP8[$33>>0] = $134;
+ $139 = ((($$06272)) + 12|0);
+ $140 = HEAP8[$133>>0]|0;
+ $141 = HEAP8[$35>>0]|0;
+ $142 = HEAP8[$34>>0]|0;
+ $143 = $142 ^ $141;
+ $144 = ((($$05474)) + 12|0);
+ HEAP8[$138>>0] = $143;
+ HEAP8[$35>>0] = $140;
+ $145 = ((($$06272)) + 13|0);
+ $146 = HEAP8[$139>>0]|0;
+ $147 = HEAP8[$37>>0]|0;
+ $148 = HEAP8[$36>>0]|0;
+ $149 = $148 ^ $147;
+ $150 = ((($$05474)) + 13|0);
+ HEAP8[$144>>0] = $149;
+ HEAP8[$37>>0] = $146;
+ $151 = ((($$06272)) + 14|0);
+ $152 = HEAP8[$145>>0]|0;
+ $153 = HEAP8[$39>>0]|0;
+ $154 = HEAP8[$38>>0]|0;
+ $155 = $154 ^ $153;
+ $156 = ((($$05474)) + 14|0);
+ HEAP8[$150>>0] = $155;
+ HEAP8[$39>>0] = $152;
+ $157 = ((($$06272)) + 15|0);
+ $158 = HEAP8[$151>>0]|0;
+ $159 = HEAP8[$41>>0]|0;
+ $160 = HEAP8[$40>>0]|0;
+ $161 = $160 ^ $159;
+ $162 = ((($$05474)) + 15|0);
+ HEAP8[$156>>0] = $161;
+ HEAP8[$41>>0] = $158;
+ $163 = HEAP8[$157>>0]|0;
+ $164 = HEAP8[$43>>0]|0;
+ $165 = HEAP8[$42>>0]|0;
+ $166 = $165 ^ $164;
+ HEAP8[$162>>0] = $166;
+ HEAP8[$43>>0] = $163;
+ }
+ $167 = ((($$06272)) + 16|0);
+ $168 = ((($$05474)) + 16|0);
+ $169 = (($$075) + -1)|0;
+ $170 = ($169|0)==(0);
+ if ($170) {
+ $$060$lcssa = $spec$select;
+ break;
+ } else {
+ $$05474 = $168;$$06073 = $spec$select;$$06272 = $167;$$075 = $169;
+ }
+ }
+ $171 = $5;
+ $172 = $171;
+ HEAP32[$172>>2] = 0;
+ $173 = (($171) + 4)|0;
+ $174 = $173;
+ HEAP32[$174>>2] = 0;
+ $175 = ((($5)) + 8|0);
+ $176 = $175;
+ $177 = $176;
+ HEAP32[$177>>2] = 0;
+ $178 = (($176) + 4)|0;
+ $179 = $178;
+ HEAP32[$179>>2] = 0;
+ ___gcry_burn_stack($$060$lcssa);
+ STACKTOP = sp;return;
+}
+function __gcry_twofish_cfb_dec($0,$1,$2,$3,$4) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ var $$0$lcssa = 0, $$02530 = 0, $$02629 = 0, $$02728 = 0, $$031 = 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;
+ var $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $13 = 0, $14 = 0, $15 = 0;
+ var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0;
+ var $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0;
+ var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0;
+ var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0;
+ var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $spec$select = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $5 = ($4|0)==(0);
+ if ($5) {
+ $$0$lcssa = 0;
+ ___gcry_burn_stack($$0$lcssa);
+ return;
+ }
+ $6 = $1;
+ $7 = ((($1)) + 4|0);
+ $8 = ((($1)) + 8|0);
+ $9 = ((($1)) + 12|0);
+ $10 = ((($1)) + 1|0);
+ $11 = ((($1)) + 2|0);
+ $12 = ((($1)) + 3|0);
+ $13 = ((($1)) + 5|0);
+ $14 = ((($1)) + 6|0);
+ $15 = ((($1)) + 7|0);
+ $16 = ((($1)) + 9|0);
+ $17 = ((($1)) + 10|0);
+ $18 = ((($1)) + 11|0);
+ $19 = ((($1)) + 13|0);
+ $20 = ((($1)) + 14|0);
+ $21 = ((($1)) + 15|0);
+ $$02530 = $4;$$02629 = $3;$$02728 = $2;$$031 = 0;
+ while(1) {
+ (_twofish_encrypt($0,$1,$1)|0);
+ $22 = ($$031>>>0)>(36);
+ $spec$select = $22 ? $$031 : 36;
+ $23 = $$02629;
+ $24 = $$02728;
+ $25 = $24 | $6;
+ $26 = $25 | $23;
+ $27 = $26 & 3;
+ $28 = ($27|0)==(0);
+ if ($28) {
+ $29 = ((($$02629)) + 4|0);
+ $30 = HEAP32[$$02629>>2]|0;
+ $31 = HEAP32[$1>>2]|0;
+ $32 = $31 ^ $30;
+ $33 = ((($$02728)) + 4|0);
+ HEAP32[$$02728>>2] = $32;
+ HEAP32[$1>>2] = $30;
+ $34 = ((($$02629)) + 8|0);
+ $35 = HEAP32[$29>>2]|0;
+ $36 = HEAP32[$7>>2]|0;
+ $37 = $36 ^ $35;
+ $38 = ((($$02728)) + 8|0);
+ HEAP32[$33>>2] = $37;
+ HEAP32[$7>>2] = $35;
+ $39 = ((($$02629)) + 12|0);
+ $40 = HEAP32[$34>>2]|0;
+ $41 = HEAP32[$8>>2]|0;
+ $42 = $41 ^ $40;
+ $43 = ((($$02728)) + 12|0);
+ HEAP32[$38>>2] = $42;
+ HEAP32[$8>>2] = $40;
+ $44 = HEAP32[$39>>2]|0;
+ $45 = HEAP32[$9>>2]|0;
+ $46 = $45 ^ $44;
+ HEAP32[$43>>2] = $46;
+ HEAP32[$9>>2] = $44;
+ } else {
+ $47 = ((($$02629)) + 1|0);
+ $48 = HEAP8[$$02629>>0]|0;
+ $49 = HEAP8[$1>>0]|0;
+ $50 = $49 ^ $48;
+ $51 = ((($$02728)) + 1|0);
+ HEAP8[$$02728>>0] = $50;
+ HEAP8[$1>>0] = $48;
+ $52 = ((($$02629)) + 2|0);
+ $53 = HEAP8[$47>>0]|0;
+ $54 = HEAP8[$10>>0]|0;
+ $55 = $54 ^ $53;
+ $56 = ((($$02728)) + 2|0);
+ HEAP8[$51>>0] = $55;
+ HEAP8[$10>>0] = $53;
+ $57 = ((($$02629)) + 3|0);
+ $58 = HEAP8[$52>>0]|0;
+ $59 = HEAP8[$11>>0]|0;
+ $60 = $59 ^ $58;
+ $61 = ((($$02728)) + 3|0);
+ HEAP8[$56>>0] = $60;
+ HEAP8[$11>>0] = $58;
+ $62 = ((($$02629)) + 4|0);
+ $63 = HEAP8[$57>>0]|0;
+ $64 = HEAP8[$12>>0]|0;
+ $65 = $64 ^ $63;
+ $66 = ((($$02728)) + 4|0);
+ HEAP8[$61>>0] = $65;
+ HEAP8[$12>>0] = $63;
+ $67 = ((($$02629)) + 5|0);
+ $68 = HEAP8[$62>>0]|0;
+ $69 = HEAP8[$7>>0]|0;
+ $70 = $69 ^ $68;
+ $71 = ((($$02728)) + 5|0);
+ HEAP8[$66>>0] = $70;
+ HEAP8[$7>>0] = $68;
+ $72 = ((($$02629)) + 6|0);
+ $73 = HEAP8[$67>>0]|0;
+ $74 = HEAP8[$13>>0]|0;
+ $75 = $74 ^ $73;
+ $76 = ((($$02728)) + 6|0);
+ HEAP8[$71>>0] = $75;
+ HEAP8[$13>>0] = $73;
+ $77 = ((($$02629)) + 7|0);
+ $78 = HEAP8[$72>>0]|0;
+ $79 = HEAP8[$14>>0]|0;
+ $80 = $79 ^ $78;
+ $81 = ((($$02728)) + 7|0);
+ HEAP8[$76>>0] = $80;
+ HEAP8[$14>>0] = $78;
+ $82 = ((($$02629)) + 8|0);
+ $83 = HEAP8[$77>>0]|0;
+ $84 = HEAP8[$15>>0]|0;
+ $85 = $84 ^ $83;
+ $86 = ((($$02728)) + 8|0);
+ HEAP8[$81>>0] = $85;
+ HEAP8[$15>>0] = $83;
+ $87 = ((($$02629)) + 9|0);
+ $88 = HEAP8[$82>>0]|0;
+ $89 = HEAP8[$8>>0]|0;
+ $90 = $89 ^ $88;
+ $91 = ((($$02728)) + 9|0);
+ HEAP8[$86>>0] = $90;
+ HEAP8[$8>>0] = $88;
+ $92 = ((($$02629)) + 10|0);
+ $93 = HEAP8[$87>>0]|0;
+ $94 = HEAP8[$16>>0]|0;
+ $95 = $94 ^ $93;
+ $96 = ((($$02728)) + 10|0);
+ HEAP8[$91>>0] = $95;
+ HEAP8[$16>>0] = $93;
+ $97 = ((($$02629)) + 11|0);
+ $98 = HEAP8[$92>>0]|0;
+ $99 = HEAP8[$17>>0]|0;
+ $100 = $99 ^ $98;
+ $101 = ((($$02728)) + 11|0);
+ HEAP8[$96>>0] = $100;
+ HEAP8[$17>>0] = $98;
+ $102 = ((($$02629)) + 12|0);
+ $103 = HEAP8[$97>>0]|0;
+ $104 = HEAP8[$18>>0]|0;
+ $105 = $104 ^ $103;
+ $106 = ((($$02728)) + 12|0);
+ HEAP8[$101>>0] = $105;
+ HEAP8[$18>>0] = $103;
+ $107 = ((($$02629)) + 13|0);
+ $108 = HEAP8[$102>>0]|0;
+ $109 = HEAP8[$9>>0]|0;
+ $110 = $109 ^ $108;
+ $111 = ((($$02728)) + 13|0);
+ HEAP8[$106>>0] = $110;
+ HEAP8[$9>>0] = $108;
+ $112 = ((($$02629)) + 14|0);
+ $113 = HEAP8[$107>>0]|0;
+ $114 = HEAP8[$19>>0]|0;
+ $115 = $114 ^ $113;
+ $116 = ((($$02728)) + 14|0);
+ HEAP8[$111>>0] = $115;
+ HEAP8[$19>>0] = $113;
+ $117 = ((($$02629)) + 15|0);
+ $118 = HEAP8[$112>>0]|0;
+ $119 = HEAP8[$20>>0]|0;
+ $120 = $119 ^ $118;
+ $121 = ((($$02728)) + 15|0);
+ HEAP8[$116>>0] = $120;
+ HEAP8[$20>>0] = $118;
+ $122 = HEAP8[$117>>0]|0;
+ $123 = HEAP8[$21>>0]|0;
+ $124 = $123 ^ $122;
+ HEAP8[$121>>0] = $124;
+ HEAP8[$21>>0] = $122;
+ }
+ $125 = ((($$02728)) + 16|0);
+ $126 = ((($$02629)) + 16|0);
+ $127 = (($$02530) + -1)|0;
+ $128 = ($127|0)==(0);
+ if ($128) {
+ $$0$lcssa = $spec$select;
+ break;
+ } else {
+ $$02530 = $127;$$02629 = $126;$$02728 = $125;$$031 = $spec$select;
+ }
+ }
+ ___gcry_burn_stack($$0$lcssa);
+ return;
+}
+function __gcry_register_random_progress($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ HEAP32[18120] = $0;
+ HEAP32[18121] = $1;
+ return;
+}
+function __gcry_random_progress($0,$1,$2,$3) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ var $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $4 = HEAP32[18120]|0;
+ $5 = ($4|0)==(0|0);
+ if ($5) {
+ return;
+ }
+ $6 = HEAP32[18121]|0;
+ FUNCTION_TABLE_viiiii[$4 & 127]($6,$0,$1,$2,$3);
+ return;
+}
+function __gcry_set_preferred_rng_type($0) {
+ $0 = $0|0;
+ var $1 = 0, $2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ L1: do {
+ switch ($0|0) {
+ case 0: {
+ HEAP32[18122] = 1;
+ break;
+ }
+ case 1: {
+ HEAP32[18123] = 1;
+ break;
+ }
+ default: {
+ $1 = HEAP32[18122]|0;
+ $2 = ($1|0)==(0);
+ if ($2) {
+ switch ($0|0) {
+ case 2: {
+ HEAP32[18124] = 1;
+ break L1;
+ break;
+ }
+ case 3: {
+ HEAP32[18125] = 1;
+ break L1;
+ break;
+ }
+ default: {
+ break L1;
+ }
+ }
+ }
+ }
+ }
+ } while(0);
+ return;
+}
+function __gcry_random_initialize($0) {
+ $0 = $0|0;
+ var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = (__gcry_fips_mode()|0);
+ $2 = ($1|0)==(0);
+ if (!($2)) {
+ __gcry_rngfips_initialize($0);
+ return;
+ }
+ $3 = HEAP32[18123]|0;
+ $4 = ($3|0)==(0);
+ if (!($4)) {
+ __gcry_rngcsprng_initialize($0);
+ return;
+ }
+ $5 = HEAP32[18124]|0;
+ $6 = ($5|0)==(0);
+ if (!($6)) {
+ __gcry_rngfips_initialize($0);
+ return;
+ }
+ $7 = HEAP32[18125]|0;
+ $8 = ($7|0)==(0);
+ if ($8) {
+ __gcry_rngcsprng_initialize($0);
+ return;
+ } else {
+ __gcry_rngsystem_initialize($0);
+ return;
+ }
+}
+function __gcry_random_close_fds() {
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = (__gcry_fips_mode()|0);
+ $1 = ($0|0)==(0);
+ if (!($1)) {
+ __gcry_rngfips_close_fds();
+ return;
+ }
+ $2 = HEAP32[18123]|0;
+ $3 = ($2|0)==(0);
+ if (!($3)) {
+ __gcry_rngcsprng_close_fds();
+ return;
+ }
+ $4 = HEAP32[18124]|0;
+ $5 = ($4|0)==(0);
+ if (!($5)) {
+ __gcry_rngfips_close_fds();
+ return;
+ }
+ $6 = HEAP32[18125]|0;
+ $7 = ($6|0)==(0);
+ if ($7) {
+ __gcry_rngcsprng_close_fds();
+ return;
+ } else {
+ __gcry_rngsystem_close_fds();
+ return;
+ }
+}
+function __gcry_get_rng_type($0) {
+ $0 = $0|0;
+ var $$ = 0, $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = ($0|0)==(0);
+ if ($1) {
+ $2 = (__gcry_fips_mode()|0);
+ $3 = ($2|0)==(0);
+ if ($3) {
+ label = 3;
+ } else {
+ $$0 = 2;
+ }
+ } else {
+ label = 3;
+ }
+ if ((label|0) == 3) {
+ $4 = HEAP32[18123]|0;
+ $5 = ($4|0)==(0);
+ if ($5) {
+ $6 = HEAP32[18124]|0;
+ $7 = ($6|0)==(0);
+ if ($7) {
+ $8 = HEAP32[18125]|0;
+ $9 = ($8|0)==(0);
+ $$ = $9 ? 1 : 3;
+ $$0 = $$;
+ } else {
+ $$0 = 2;
+ }
+ } else {
+ $$0 = 1;
+ }
+ }
+ return ($$0|0);
+}
+function __gcry_random_dump_stats() {
+ var $0 = 0, $1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = (__gcry_fips_mode()|0);
+ $1 = ($0|0)==(0);
+ if ($1) {
+ __gcry_rngcsprng_dump_stats();
+ return;
+ } else {
+ return;
+ }
+}
+function __gcry_secure_random_alloc() {
+ var $0 = 0, $1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = (__gcry_fips_mode()|0);
+ $1 = ($0|0)==(0);
+ if (!($1)) {
+ return;
+ }
+ __gcry_rngcsprng_secure_alloc();
+ return;
+}
+function __gcry_enable_quick_random_gen() {
+ var $0 = 0, $1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = (__gcry_fips_mode()|0);
+ $1 = ($0|0)==(0);
+ if (!($1)) {
+ return;
+ }
+ __gcry_rngcsprng_enable_quick_gen();
+ return;
+}
+function __gcry_set_random_daemon_socket($0) {
+ $0 = $0|0;
+ var $1 = 0, $2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = (__gcry_fips_mode()|0);
+ $2 = ($1|0)==(0);
+ if (!($2)) {
+ return;
+ }
+ return;
+}
+function __gcry_use_random_daemon($0) {
+ $0 = $0|0;
+ var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = (__gcry_fips_mode()|0);
+ $2 = ($1|0)==(0);
+ if (!($2)) {
+ $$0 = 0;
+ return ($$0|0);
+ }
+ $3 = (__gcry_rngcsprng_use_daemon($0)|0);
+ $$0 = $3;
+ return ($$0|0);
+}
+function __gcry_random_is_faked() {
+ var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = (__gcry_fips_mode()|0);
+ $1 = ($0|0)==(0);
+ if ($1) {
+ $3 = (__gcry_rngcsprng_is_faked()|0);
+ $$0 = $3;
+ return ($$0|0);
+ } else {
+ $2 = (__gcry_rngfips_is_faked()|0);
+ $$0 = $2;
+ return ($$0|0);
+ }
+ return (0)|0;
+}
+function __gcry_random_bytes($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $2 = (__gcry_xmalloc($0)|0);
+ _do_randomize($2,$0,$1);
+ return ($2|0);
+}
+function _do_randomize($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $3 = (__gcry_fips_mode()|0);
+ $4 = ($3|0)==(0);
+ if (!($4)) {
+ __gcry_rngfips_randomize($0,$1,$2);
+ return;
+ }
+ $5 = HEAP32[18123]|0;
+ $6 = ($5|0)==(0);
+ if (!($6)) {
+ __gcry_rngcsprng_randomize($0,$1,$2);
+ return;
+ }
+ $7 = HEAP32[18124]|0;
+ $8 = ($7|0)==(0);
+ if (!($8)) {
+ __gcry_rngfips_randomize($0,$1,$2);
+ return;
+ }
+ $9 = HEAP32[18125]|0;
+ $10 = ($9|0)==(0);
+ if ($10) {
+ __gcry_rngcsprng_randomize($0,$1,$2);
+ return;
+ } else {
+ __gcry_rngsystem_randomize($0,$1,$2);
+ return;
+ }
+}
+function __gcry_random_bytes_secure($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $2 = (__gcry_xmalloc_secure($0)|0);
+ _do_randomize($2,$0,$1);
+ return ($2|0);
+}
+function __gcry_randomize($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ _do_randomize($0,$1,$2);
+ return;
+}
+function __gcry_set_random_seed_file($0) {
+ $0 = $0|0;
+ var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = (__gcry_fips_mode()|0);
+ $2 = ($1|0)==(0);
+ if (!($2)) {
+ return;
+ }
+ $3 = HEAP32[18123]|0;
+ $4 = ($3|0)==(0);
+ if (!($4)) {
+ __gcry_rngcsprng_set_seed_file($0);
+ return;
+ }
+ $5 = HEAP32[18124]|0;
+ $6 = HEAP32[18125]|0;
+ $7 = $6 | $5;
+ $8 = ($7|0)==(0);
+ if (!($8)) {
+ return;
+ }
+ __gcry_rngcsprng_set_seed_file($0);
+ return;
+}
+function __gcry_update_random_seed_file() {
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = (__gcry_fips_mode()|0);
+ $1 = ($0|0)==(0);
+ if (!($1)) {
+ return;
+ }
+ $2 = HEAP32[18123]|0;
+ $3 = ($2|0)==(0);
+ if (!($3)) {
+ __gcry_rngcsprng_update_seed_file();
+ return;
+ }
+ $4 = HEAP32[18124]|0;
+ $5 = HEAP32[18125]|0;
+ $6 = $5 | $4;
+ $7 = ($6|0)==(0);
+ if (!($7)) {
+ return;
+ }
+ __gcry_rngcsprng_update_seed_file();
+ return;
+}
+function __gcry_fast_random_poll() {
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = (__gcry_fips_mode()|0);
+ $1 = ($0|0)==(0);
+ if (!($1)) {
+ return;
+ }
+ $2 = HEAP32[18123]|0;
+ $3 = ($2|0)==(0);
+ if (!($3)) {
+ __gcry_rngcsprng_fast_poll();
+ return;
+ }
+ $4 = HEAP32[18124]|0;
+ $5 = HEAP32[18125]|0;
+ $6 = $5 | $4;
+ $7 = ($6|0)==(0);
+ if (!($7)) {
+ return;
+ }
+ __gcry_rngcsprng_fast_poll();
+ return;
+}
+function __gcry_create_nonce($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $$0$$0$22 = 0, $$0$$0$23 = 0, $$0$$0$24 = 0, $$0$$0$25 = 0, $$03537 = 0, $$038 = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $vararg_buffer1 = sp + 8|0;
+ $vararg_buffer = sp;
+ $2 = sp + 12|0;
+ $3 = (__gcry_fips_mode()|0);
+ $4 = ($3|0)==(0);
+ if (!($4)) {
+ __gcry_rngfips_create_nonce($0,$1);
+ STACKTOP = sp;return;
+ }
+ $5 = (__gcry_fips_mode()|0);
+ $6 = ($5|0)==(0);
+ do {
+ if ($6) {
+ $7 = HEAP32[18123]|0;
+ $8 = ($7|0)==(0);
+ if (!($8)) {
+ __gcry_rngcsprng_initialize(1);
+ break;
+ }
+ $9 = HEAP32[18124]|0;
+ $10 = ($9|0)==(0);
+ if (!($10)) {
+ __gcry_rngfips_initialize(1);
+ break;
+ }
+ $11 = HEAP32[18125]|0;
+ $12 = ($11|0)==(0);
+ if ($12) {
+ __gcry_rngcsprng_initialize(1);
+ break;
+ } else {
+ __gcry_rngsystem_initialize(1);
+ break;
+ }
+ } else {
+ __gcry_rngfips_initialize(1);
+ }
+ } while(0);
+ $13 = (_gpgrt_lock_lock(40064)|0);
+ $14 = ($13|0)==(0);
+ if (!($14)) {
+ $15 = (_gpg_strerror($13)|0);
+ HEAP32[$vararg_buffer>>2] = $15;
+ __gcry_log_fatal(63691,$vararg_buffer);
+ // unreachable;
+ }
+ $16 = (_getpid()|0);
+ HEAP32[$2>>2] = $16;
+ $17 = HEAP32[18126]|0;
+ $18 = ($17|0)==(0);
+ if ($18) {
+ $19 = (_time((0|0))|0);
+ $$0$$0$22 = HEAP32[$2>>2]|0;
+ $$0$$0$23 = HEAP32[$2>>2]|0;
+ HEAP32[18127] = $$0$$0$23;
+ HEAP32[17780] = $$0$$0$22;
+ HEAP32[(71124)>>2] = $19;
+ _do_randomize((71140),8,0);
+ HEAP32[18126] = 1;
+ } else {
+ $20 = HEAP32[18127]|0;
+ $$0$$0$24 = HEAP32[$2>>2]|0;
+ $21 = ($20|0)==($$0$$0$24|0);
+ if (!($21)) {
+ _do_randomize((71140),8,0);
+ $$0$$0$25 = HEAP32[$2>>2]|0;
+ HEAP32[18127] = $$0$$0$25;
+ }
+ }
+ $22 = ($1|0)==(0);
+ if (!($22)) {
+ $$03537 = $0;$$038 = $1;
+ while(1) {
+ __gcry_sha1_hash_buffer(71120,71120,28);
+ $23 = ($$038>>>0)<(20);
+ $24 = $23 ? $$038 : 20;
+ _memcpy(($$03537|0),(71120|0),($24|0))|0;
+ $25 = (($$038) - ($24))|0;
+ $26 = (($$03537) + ($24)|0);
+ $27 = ($25|0)==(0);
+ if ($27) {
+ break;
+ } else {
+ $$03537 = $26;$$038 = $25;
+ }
+ }
+ }
+ $28 = (_gpgrt_lock_unlock(40064)|0);
+ $29 = ($28|0)==(0);
+ if ($29) {
+ STACKTOP = sp;return;
+ } else {
+ $30 = (_gpg_strerror($28)|0);
+ HEAP32[$vararg_buffer1>>2] = $30;
+ __gcry_log_fatal(63736,$vararg_buffer1);
+ // unreachable;
+ }
+}
+function __gcry_random_selftest($0) {
+ $0 = $0|0;
+ var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = (__gcry_fips_mode()|0);
+ $2 = ($1|0)==(0);
+ if ($2) {
+ $$0 = 0;
+ return ($$0|0);
+ }
+ $3 = (__gcry_rngfips_selftest($0)|0);
+ $$0 = $3;
+ return ($$0|0);
+}
+function __gcry_random_init_external_test($0,$1,$2,$3,$4,$5,$6,$7) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ $5 = $5|0;
+ $6 = $6|0;
+ $7 = $7|0;
+ var $$0 = 0, $10 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $8 = (__gcry_fips_mode()|0);
+ $9 = ($8|0)==(0);
+ if ($9) {
+ $$0 = 60;
+ return ($$0|0);
+ }
+ $10 = (__gcry_rngfips_init_external_test($0,$1,$2,$3,$4,$5,$6,$7)|0);
+ $$0 = $10;
+ return ($$0|0);
+}
+function __gcry_random_run_external_test($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$0 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $3 = (__gcry_fips_mode()|0);
+ $4 = ($3|0)==(0);
+ if ($4) {
+ $$0 = 60;
+ return ($$0|0);
+ }
+ $5 = (__gcry_rngfips_run_external_test($0,$1,$2)|0);
+ $$0 = $5;
+ return ($$0|0);
+}
+function __gcry_random_deinit_external_test($0) {
+ $0 = $0|0;
+ var $1 = 0, $2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = (__gcry_fips_mode()|0);
+ $2 = ($1|0)==(0);
+ if ($2) {
+ return;
+ }
+ __gcry_rngfips_deinit_external_test($0);
+ return;
+}
+function __gcry_mpi_point_log($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$0192127 = 0, $$01922 = 0, $$02426 = 0, $$025 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
+ var $26 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0);
+ $vararg_buffer1 = sp + 112|0;
+ $vararg_buffer = sp + 104|0;
+ $3 = sp;
+ $4 = ($1|0)==(0|0);
+ if ($4) {
+ HEAP32[$vararg_buffer>>2] = $0;
+ (_snprintf($3,99,63781,$vararg_buffer)|0);
+ __gcry_log_printmpi($3,0);
+ STACKTOP = sp;return;
+ }
+ HEAP32[$vararg_buffer1>>2] = $0;
+ (_snprintf($3,99,63786,$vararg_buffer1)|0);
+ $5 = ($2|0)!=(0|0);
+ if ($5) {
+ $6 = (__gcry_mpi_new(0)|0);
+ $7 = (__gcry_mpi_new(0)|0);
+ $8 = (__gcry_mpi_ec_get_affine($6,$7,$1,$2)|0);
+ $9 = ($8|0)==(0);
+ if ($9) {
+ $10 = (_strlen($3)|0);
+ $11 = (($10) + -1)|0;
+ $12 = (($3) + ($11)|0);
+ HEAP8[$12>>0] = 120;
+ __gcry_log_printmpi($3,$6);
+ $13 = (_strlen($3)|0);
+ $14 = (($13) + -1)|0;
+ $15 = (($3) + ($14)|0);
+ HEAP8[$15>>0] = 121;
+ __gcry_log_printmpi($3,$7);
+ $$0192127 = $6;$$02426 = $7;
+ } else {
+ $$01922 = $6;$$025 = $7;
+ label = 6;
+ }
+ } else {
+ $$01922 = 0;$$025 = 0;
+ label = 6;
+ }
+ if ((label|0) == 6) {
+ $16 = HEAP32[$1>>2]|0;
+ __gcry_log_printmpi($3,$16);
+ $17 = (_strlen($3)|0);
+ $18 = (($17) + -1)|0;
+ $19 = (($3) + ($18)|0);
+ HEAP8[$19>>0] = 89;
+ $20 = ((($1)) + 4|0);
+ $21 = HEAP32[$20>>2]|0;
+ __gcry_log_printmpi($3,$21);
+ $22 = (_strlen($3)|0);
+ $23 = (($22) + -1)|0;
+ $24 = (($3) + ($23)|0);
+ HEAP8[$24>>0] = 90;
+ $25 = ((($1)) + 8|0);
+ $26 = HEAP32[$25>>2]|0;
+ __gcry_log_printmpi($3,$26);
+ if ($5) {
+ $$0192127 = $$01922;$$02426 = $$025;
+ } else {
+ STACKTOP = sp;return;
+ }
+ }
+ __gcry_mpi_release($$0192127);
+ __gcry_mpi_release($$02426);
+ STACKTOP = sp;return;
+}
+function __gcry_mpi_ec_get_affine($0,$1,$2,$3) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
+ var $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
+ var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_ptr3 = 0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
+ $vararg_buffer4 = sp + 16|0;
+ $vararg_buffer1 = sp + 8|0;
+ $vararg_buffer = sp;
+ $4 = ((($2)) + 8|0);
+ $5 = HEAP32[$4>>2]|0;
+ $6 = (__gcry_mpi_cmp_ui($5,0)|0);
+ $7 = ($6|0)==(0);
+ if ($7) {
+ $$0 = -1;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $8 = HEAP32[$3>>2]|0;
+ switch ($8|0) {
+ case 0: {
+ $9 = (__gcry_mpi_new(0)|0);
+ $10 = (__gcry_mpi_new(0)|0);
+ $11 = HEAP32[$4>>2]|0;
+ $12 = ((($3)) + 16|0);
+ $13 = HEAP32[$12>>2]|0;
+ $14 = (__gcry_mpi_invm($9,$11,$13)|0);
+ $15 = ($14|0)==(0);
+ if ($15) {
+ __gcry_log_error(63791,$vararg_buffer);
+ __gcry_log_printmpi(63825,$11);
+ $16 = HEAP32[$12>>2]|0;
+ __gcry_log_printmpi(63829,$16);
+ }
+ __gcry_mpi_mul($10,$9,$9);
+ $17 = ((($3)) + 60|0);
+ $18 = HEAP32[$17>>2]|0;
+ $19 = ($18|0)==(0|0);
+ if ($19) {
+ $20 = HEAP32[$12>>2]|0;
+ __gcry_mpi_mod($10,$10,$20);
+ } else {
+ __gcry_mpi_mod_barrett($10,$10,$18);
+ }
+ $21 = ($0|0)==(0|0);
+ do {
+ if (!($21)) {
+ $22 = HEAP32[$2>>2]|0;
+ __gcry_mpi_mul($0,$22,$10);
+ $23 = HEAP32[$17>>2]|0;
+ $24 = ($23|0)==(0|0);
+ if ($24) {
+ $25 = HEAP32[$12>>2]|0;
+ __gcry_mpi_mod($0,$0,$25);
+ break;
+ } else {
+ __gcry_mpi_mod_barrett($0,$0,$23);
+ break;
+ }
+ }
+ } while(0);
+ $26 = ($1|0)==(0|0);
+ if (!($26)) {
+ $27 = (__gcry_mpi_new(0)|0);
+ __gcry_mpi_mul($27,$10,$9);
+ $28 = HEAP32[$17>>2]|0;
+ $29 = ($28|0)==(0|0);
+ if ($29) {
+ $30 = HEAP32[$12>>2]|0;
+ __gcry_mpi_mod($27,$27,$30);
+ } else {
+ __gcry_mpi_mod_barrett($27,$27,$28);
+ }
+ $31 = ((($2)) + 4|0);
+ $32 = HEAP32[$31>>2]|0;
+ __gcry_mpi_mul($1,$32,$27);
+ $33 = HEAP32[$17>>2]|0;
+ $34 = ($33|0)==(0|0);
+ if ($34) {
+ $35 = HEAP32[$12>>2]|0;
+ __gcry_mpi_mod($1,$1,$35);
+ } else {
+ __gcry_mpi_mod_barrett($1,$1,$33);
+ }
+ __gcry_mpi_free($27);
+ }
+ __gcry_mpi_free($10);
+ __gcry_mpi_free($9);
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+ break;
+ }
+ case 1: {
+ $36 = ($0|0)==(0|0);
+ if (!($36)) {
+ $37 = HEAP32[$2>>2]|0;
+ (__gcry_mpi_set($0,$37)|0);
+ }
+ $38 = ($1|0)==(0|0);
+ if ($38) {
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+ } else {
+ HEAP32[$vararg_buffer1>>2] = 63882;
+ $vararg_ptr3 = ((($vararg_buffer1)) + 4|0);
+ HEAP32[$vararg_ptr3>>2] = 63906;
+ __gcry_log_fatal(63833,$vararg_buffer1);
+ // unreachable;
+ }
+ break;
+ }
+ case 2: {
+ $39 = (__gcry_mpi_new(0)|0);
+ $40 = HEAP32[$4>>2]|0;
+ $41 = ((($3)) + 16|0);
+ $42 = HEAP32[$41>>2]|0;
+ $43 = (__gcry_mpi_invm($39,$40,$42)|0);
+ $44 = ($43|0)==(0);
+ if ($44) {
+ __gcry_log_error(63791,$vararg_buffer4);
+ __gcry_log_printmpi(63825,$40);
+ $45 = HEAP32[$41>>2]|0;
+ __gcry_log_printmpi(63829,$45);
+ }
+ $46 = ($0|0)==(0|0);
+ do {
+ if (!($46)) {
+ $47 = HEAP32[$2>>2]|0;
+ __gcry_mpi_mul($0,$47,$39);
+ $48 = ((($3)) + 60|0);
+ $49 = HEAP32[$48>>2]|0;
+ $50 = ($49|0)==(0|0);
+ if ($50) {
+ $51 = HEAP32[$41>>2]|0;
+ __gcry_mpi_mod($0,$0,$51);
+ break;
+ } else {
+ __gcry_mpi_mod_barrett($0,$0,$49);
+ break;
+ }
+ }
+ } while(0);
+ $52 = ($1|0)==(0|0);
+ do {
+ if (!($52)) {
+ $53 = ((($2)) + 4|0);
+ $54 = HEAP32[$53>>2]|0;
+ __gcry_mpi_mul($1,$54,$39);
+ $55 = ((($3)) + 60|0);
+ $56 = HEAP32[$55>>2]|0;
+ $57 = ($56|0)==(0|0);
+ if ($57) {
+ $58 = HEAP32[$41>>2]|0;
+ __gcry_mpi_mod($1,$1,$58);
+ break;
+ } else {
+ __gcry_mpi_mod_barrett($1,$1,$56);
+ break;
+ }
+ }
+ } while(0);
+ __gcry_mpi_release($39);
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+ break;
+ }
+ default: {
+ $$0 = -1;
+ STACKTOP = sp;return ($$0|0);
+ }
+ }
+ return (0)|0;
+}
+function __gcry_mpi_point_new($0) {
+ $0 = $0|0;
+ var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = (__gcry_xmalloc(12)|0);
+ $2 = (__gcry_mpi_new(0)|0);
+ HEAP32[$1>>2] = $2;
+ $3 = (__gcry_mpi_new(0)|0);
+ $4 = ((($1)) + 4|0);
+ HEAP32[$4>>2] = $3;
+ $5 = (__gcry_mpi_new(0)|0);
+ $6 = ((($1)) + 8|0);
+ HEAP32[$6>>2] = $5;
+ return ($1|0);
+}
+function __gcry_mpi_point_init($0) {
+ $0 = $0|0;
+ var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = (__gcry_mpi_new(0)|0);
+ HEAP32[$0>>2] = $1;
+ $2 = (__gcry_mpi_new(0)|0);
+ $3 = ((($0)) + 4|0);
+ HEAP32[$3>>2] = $2;
+ $4 = (__gcry_mpi_new(0)|0);
+ $5 = ((($0)) + 8|0);
+ HEAP32[$5>>2] = $4;
+ return;
+}
+function __gcry_mpi_point_release($0) {
+ $0 = $0|0;
+ var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = ($0|0)==(0|0);
+ if ($1) {
+ return;
+ }
+ $2 = HEAP32[$0>>2]|0;
+ __gcry_mpi_free($2);
+ HEAP32[$0>>2] = 0;
+ $3 = ((($0)) + 4|0);
+ $4 = HEAP32[$3>>2]|0;
+ __gcry_mpi_free($4);
+ HEAP32[$3>>2] = 0;
+ $5 = ((($0)) + 8|0);
+ $6 = HEAP32[$5>>2]|0;
+ __gcry_mpi_free($6);
+ HEAP32[$5>>2] = 0;
+ __gcry_free($0);
+ return;
+}
+function __gcry_mpi_point_free_parts($0) {
+ $0 = $0|0;
+ var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = HEAP32[$0>>2]|0;
+ __gcry_mpi_free($1);
+ HEAP32[$0>>2] = 0;
+ $2 = ((($0)) + 4|0);
+ $3 = HEAP32[$2>>2]|0;
+ __gcry_mpi_free($3);
+ HEAP32[$2>>2] = 0;
+ $4 = ((($0)) + 8|0);
+ $5 = HEAP32[$4>>2]|0;
+ __gcry_mpi_free($5);
+ HEAP32[$4>>2] = 0;
+ return;
+}
+function __gcry_mpi_point_set($0,$1,$2,$3) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $4 = ($0|0)==(0|0);
+ if ($4) {
+ $5 = (__gcry_xmalloc(12)|0);
+ $6 = (__gcry_mpi_new(0)|0);
+ HEAP32[$5>>2] = $6;
+ $7 = (__gcry_mpi_new(0)|0);
+ $8 = ((($5)) + 4|0);
+ HEAP32[$8>>2] = $7;
+ $9 = (__gcry_mpi_new(0)|0);
+ $10 = ((($5)) + 8|0);
+ HEAP32[$10>>2] = $9;
+ $$0 = $5;
+ } else {
+ $$0 = $0;
+ }
+ $11 = ($1|0)==(0|0);
+ $12 = HEAP32[$$0>>2]|0;
+ if ($11) {
+ __gcry_mpi_clear($12);
+ } else {
+ (__gcry_mpi_set($12,$1)|0);
+ }
+ $13 = ($2|0)==(0|0);
+ $14 = ((($$0)) + 4|0);
+ $15 = HEAP32[$14>>2]|0;
+ if ($13) {
+ __gcry_mpi_clear($15);
+ } else {
+ (__gcry_mpi_set($15,$2)|0);
+ }
+ $16 = ($3|0)==(0|0);
+ $17 = ((($$0)) + 8|0);
+ $18 = HEAP32[$17>>2]|0;
+ if ($16) {
+ __gcry_mpi_clear($18);
+ return ($$0|0);
+ } else {
+ (__gcry_mpi_set($18,$3)|0);
+ return ($$0|0);
+ }
+ return (0)|0;
+}
+function __gcry_mpi_point_snatch_set($0,$1,$2,$3) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $4 = ($0|0)==(0|0);
+ if ($4) {
+ $5 = (__gcry_xmalloc(12)|0);
+ $6 = (__gcry_mpi_new(0)|0);
+ HEAP32[$5>>2] = $6;
+ $7 = (__gcry_mpi_new(0)|0);
+ $8 = ((($5)) + 4|0);
+ HEAP32[$8>>2] = $7;
+ $9 = (__gcry_mpi_new(0)|0);
+ $10 = ((($5)) + 8|0);
+ HEAP32[$10>>2] = $9;
+ $$0 = $5;
+ } else {
+ $$0 = $0;
+ }
+ $11 = ($1|0)==(0|0);
+ $12 = HEAP32[$$0>>2]|0;
+ if ($11) {
+ __gcry_mpi_clear($12);
+ } else {
+ __gcry_mpi_snatch($12,$1);
+ }
+ $13 = ($2|0)==(0|0);
+ $14 = ((($$0)) + 4|0);
+ $15 = HEAP32[$14>>2]|0;
+ if ($13) {
+ __gcry_mpi_clear($15);
+ } else {
+ __gcry_mpi_snatch($15,$2);
+ }
+ $16 = ($3|0)==(0|0);
+ $17 = ((($$0)) + 8|0);
+ $18 = HEAP32[$17>>2]|0;
+ if ($16) {
+ __gcry_mpi_clear($18);
+ return ($$0|0);
+ } else {
+ __gcry_mpi_snatch($18,$3);
+ return ($$0|0);
+ }
+ return (0)|0;
+}
+function __gcry_mpi_ec_p_internal_new($0,$1,$2,$3,$4,$5) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ $5 = $5|0;
+ var $6 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $6 = (__gcry_xcalloc(1,108)|0);
+ _ec_p_init($6,$0,$1,$2,$3,$4,$5);
+ return ($6|0);
+}
+function _ec_p_init($0,$1,$2,$3,$4,$5,$6) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ $5 = $5|0;
+ $6 = $6|0;
+ var $$ = 0, $$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
+ var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
+ var $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0;
+ var sp = 0;
+ sp = STACKTOP;
+ $7 = HEAP32[18128]|0;
+ $8 = ($7|0)==(0);
+ if ($8) {
+ $9 = (_getenv((63917|0))|0);
+ $10 = ($9|0)==(0|0);
+ $$ = $10 ? -1 : 1;
+ HEAP32[18128] = $$;
+ }
+ HEAP32[$0>>2] = $1;
+ $11 = ((($0)) + 4|0);
+ HEAP32[$11>>2] = $2;
+ $12 = ((($0)) + 8|0);
+ HEAP32[$12>>2] = $3;
+ $13 = ($2|0)==(1);
+ if ($13) {
+ $$sink = 256;
+ } else {
+ $14 = (__gcry_mpi_get_nbits($4)|0);
+ $$sink = $14;
+ }
+ $15 = ((($0)) + 12|0);
+ HEAP32[$15>>2] = $$sink;
+ $16 = (__gcry_mpi_copy($4)|0);
+ $17 = ((($0)) + 16|0);
+ HEAP32[$17>>2] = $16;
+ $18 = (__gcry_mpi_copy($5)|0);
+ $19 = ((($0)) + 20|0);
+ HEAP32[$19>>2] = $18;
+ $20 = (__gcry_mpi_copy($6)|0);
+ $21 = ((($0)) + 24|0);
+ HEAP32[$21>>2] = $20;
+ $22 = HEAP32[18128]|0;
+ $23 = ($22|0)>(0);
+ if ($23) {
+ $24 = HEAP32[$17>>2]|0;
+ $25 = (__gcry_mpi_barrett_init($24,0)|0);
+ $27 = $25;
+ } else {
+ $27 = 0;
+ }
+ $26 = ((($0)) + 60|0);
+ HEAP32[$26>>2] = $27;
+ $28 = ((($0)) + 48|0);
+ $29 = HEAP8[$28>>0]|0;
+ $30 = $29 & -4;
+ HEAP8[$28>>0] = $30;
+ $31 = HEAP32[$17>>2]|0;
+ $32 = (__gcry_mpi_alloc_like($31)|0);
+ $33 = ((($0)) + 64|0);
+ HEAP32[$33>>2] = $32;
+ $34 = HEAP32[$17>>2]|0;
+ $35 = (__gcry_mpi_alloc_like($34)|0);
+ $36 = ((($0)) + 68|0);
+ HEAP32[$36>>2] = $35;
+ $37 = HEAP32[$17>>2]|0;
+ $38 = (__gcry_mpi_alloc_like($37)|0);
+ $39 = ((($0)) + 72|0);
+ HEAP32[$39>>2] = $38;
+ $40 = HEAP32[$17>>2]|0;
+ $41 = (__gcry_mpi_alloc_like($40)|0);
+ $42 = ((($0)) + 76|0);
+ HEAP32[$42>>2] = $41;
+ $43 = HEAP32[$17>>2]|0;
+ $44 = (__gcry_mpi_alloc_like($43)|0);
+ $45 = ((($0)) + 80|0);
+ HEAP32[$45>>2] = $44;
+ $46 = HEAP32[$17>>2]|0;
+ $47 = (__gcry_mpi_alloc_like($46)|0);
+ $48 = ((($0)) + 84|0);
+ HEAP32[$48>>2] = $47;
+ $49 = HEAP32[$17>>2]|0;
+ $50 = (__gcry_mpi_alloc_like($49)|0);
+ $51 = ((($0)) + 88|0);
+ HEAP32[$51>>2] = $50;
+ $52 = HEAP32[$17>>2]|0;
+ $53 = (__gcry_mpi_alloc_like($52)|0);
+ $54 = ((($0)) + 92|0);
+ HEAP32[$54>>2] = $53;
+ $55 = HEAP32[$17>>2]|0;
+ $56 = (__gcry_mpi_alloc_like($55)|0);
+ $57 = ((($0)) + 96|0);
+ HEAP32[$57>>2] = $56;
+ $58 = HEAP32[$17>>2]|0;
+ $59 = (__gcry_mpi_alloc_like($58)|0);
+ $60 = ((($0)) + 100|0);
+ HEAP32[$60>>2] = $59;
+ $61 = HEAP32[$17>>2]|0;
+ $62 = (__gcry_mpi_alloc_like($61)|0);
+ $63 = ((($0)) + 104|0);
+ HEAP32[$63>>2] = $62;
+ return;
+}
+function __gcry_mpi_ec_p_new($0,$1,$2,$3,$4,$5,$6) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ $5 = $5|0;
+ $6 = $6|0;
+ var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ HEAP32[$0>>2] = 0;
+ $7 = ($4|0)!=(0|0);
+ $8 = ($5|0)!=(0|0);
+ $or$cond = $7 & $8;
+ if (!($or$cond)) {
+ $$0 = 32816;
+ return ($$0|0);
+ }
+ $9 = (__gcry_ctx_alloc(1,108,81)|0);
+ $10 = ($9|0)==(0|0);
+ if ($10) {
+ $11 = (_gpg_err_code_from_syserror()|0);
+ $$0 = $11;
+ return ($$0|0);
+ } else {
+ $12 = (__gcry_ctx_get_pointer($9,1)|0);
+ _ec_p_init($12,$1,$2,$3,$4,$5,$6);
+ HEAP32[$0>>2] = $9;
+ $$0 = 0;
+ return ($$0|0);
+ }
+ return (0)|0;
+}
+function _ec_deinit($0) {
+ $0 = $0|0;
+ var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
+ var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
+ var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = ((($0)) + 60|0);
+ $2 = HEAP32[$1>>2]|0;
+ __gcry_mpi_barrett_free($2);
+ $3 = ((($0)) + 16|0);
+ $4 = HEAP32[$3>>2]|0;
+ __gcry_mpi_free($4);
+ $5 = ((($0)) + 20|0);
+ $6 = HEAP32[$5>>2]|0;
+ __gcry_mpi_free($6);
+ $7 = ((($0)) + 24|0);
+ $8 = HEAP32[$7>>2]|0;
+ __gcry_mpi_free($8);
+ $9 = ((($0)) + 28|0);
+ $10 = HEAP32[$9>>2]|0;
+ $11 = ($10|0)==(0|0);
+ if (!($11)) {
+ $12 = HEAP32[$10>>2]|0;
+ __gcry_mpi_free($12);
+ HEAP32[$10>>2] = 0;
+ $13 = ((($10)) + 4|0);
+ $14 = HEAP32[$13>>2]|0;
+ __gcry_mpi_free($14);
+ HEAP32[$13>>2] = 0;
+ $15 = ((($10)) + 8|0);
+ $16 = HEAP32[$15>>2]|0;
+ __gcry_mpi_free($16);
+ HEAP32[$15>>2] = 0;
+ __gcry_free($10);
+ }
+ $17 = ((($0)) + 32|0);
+ $18 = HEAP32[$17>>2]|0;
+ __gcry_mpi_free($18);
+ $19 = ((($0)) + 36|0);
+ $20 = HEAP32[$19>>2]|0;
+ __gcry_mpi_free($20);
+ $21 = ((($0)) + 40|0);
+ $22 = HEAP32[$21>>2]|0;
+ $23 = ($22|0)==(0|0);
+ if (!($23)) {
+ $24 = HEAP32[$22>>2]|0;
+ __gcry_mpi_free($24);
+ HEAP32[$22>>2] = 0;
+ $25 = ((($22)) + 4|0);
+ $26 = HEAP32[$25>>2]|0;
+ __gcry_mpi_free($26);
+ HEAP32[$25>>2] = 0;
+ $27 = ((($22)) + 8|0);
+ $28 = HEAP32[$27>>2]|0;
+ __gcry_mpi_free($28);
+ HEAP32[$27>>2] = 0;
+ __gcry_free($22);
+ }
+ $29 = ((($0)) + 44|0);
+ $30 = HEAP32[$29>>2]|0;
+ __gcry_mpi_free($30);
+ $31 = ((($0)) + 56|0);
+ $32 = HEAP32[$31>>2]|0;
+ __gcry_mpi_free($32);
+ $33 = ((($0)) + 64|0);
+ $34 = HEAP32[$33>>2]|0;
+ __gcry_mpi_free($34);
+ $35 = ((($0)) + 68|0);
+ $36 = HEAP32[$35>>2]|0;
+ __gcry_mpi_free($36);
+ $37 = ((($0)) + 72|0);
+ $38 = HEAP32[$37>>2]|0;
+ __gcry_mpi_free($38);
+ $39 = ((($0)) + 76|0);
+ $40 = HEAP32[$39>>2]|0;
+ __gcry_mpi_free($40);
+ $41 = ((($0)) + 80|0);
+ $42 = HEAP32[$41>>2]|0;
+ __gcry_mpi_free($42);
+ $43 = ((($0)) + 84|0);
+ $44 = HEAP32[$43>>2]|0;
+ __gcry_mpi_free($44);
+ $45 = ((($0)) + 88|0);
+ $46 = HEAP32[$45>>2]|0;
+ __gcry_mpi_free($46);
+ $47 = ((($0)) + 92|0);
+ $48 = HEAP32[$47>>2]|0;
+ __gcry_mpi_free($48);
+ $49 = ((($0)) + 96|0);
+ $50 = HEAP32[$49>>2]|0;
+ __gcry_mpi_free($50);
+ $51 = ((($0)) + 100|0);
+ $52 = HEAP32[$51>>2]|0;
+ __gcry_mpi_free($52);
+ $53 = ((($0)) + 104|0);
+ $54 = HEAP32[$53>>2]|0;
+ __gcry_mpi_free($54);
+ return;
+}
+function __gcry_mpi_ec_free($0) {
+ $0 = $0|0;
+ var $1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = ($0|0)==(0|0);
+ if ($1) {
+ return;
+ }
+ _ec_deinit($0);
+ __gcry_free($0);
+ return;
+}
+function __gcry_mpi_ec_get_mpi($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $3 = 0, $4 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $3 = (__gcry_ctx_get_pointer($1,1)|0);
+ $4 = (__gcry_ecc_get_mpi($0,$3,$2)|0);
+ return ($4|0);
+}
+function __gcry_mpi_ec_get_point($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $3 = 0, $4 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $3 = (__gcry_ctx_get_pointer($1,1)|0);
+ $4 = (__gcry_ecc_get_point($0,$3)|0);
+ return ($4|0);
+}
+function __gcry_mpi_ec_dup_point($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$idx$pre$phi$iZZ2D = 0, $$idx$val$i = 0, $$pre$i = 0, $$pre$i$i = 0, $$pre$phi$i$iZ2D = 0, $$pre$phi$iZ2D = 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;
+ var $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0;
+ var $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0;
+ var $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0;
+ var $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0;
+ var $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0;
+ var $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0;
+ var $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0;
+ var $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0;
+ var $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 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, label = 0, sp = 0;
+ sp = STACKTOP;
+ $3 = HEAP32[$2>>2]|0;
+ switch ($3|0) {
+ case 0: {
+ $4 = ((($1)) + 4|0);
+ $5 = HEAP32[$4>>2]|0;
+ $6 = (__gcry_mpi_cmp_ui($5,0)|0);
+ $7 = ($6|0)==(0);
+ if (!($7)) {
+ $8 = ((($1)) + 8|0);
+ $9 = HEAP32[$8>>2]|0;
+ $10 = (__gcry_mpi_cmp_ui($9,0)|0);
+ $11 = ($10|0)==(0);
+ if (!($11)) {
+ $17 = ((($2)) + 48|0);
+ $18 = HEAP8[$17>>0]|0;
+ $19 = $18 & 1;
+ $20 = ($19<<24>>24)==(0);
+ if ($20) {
+ $21 = $18 | 1;
+ HEAP8[$17>>0] = $21;
+ $22 = ((($2)) + 16|0);
+ $23 = HEAP32[$22>>2]|0;
+ $24 = (__gcry_mpi_alloc_like($23)|0);
+ $25 = HEAP32[$22>>2]|0;
+ __gcry_mpi_sub_ui($24,$25,3);
+ $26 = ((($2)) + 20|0);
+ $27 = HEAP32[$26>>2]|0;
+ $28 = (__gcry_mpi_cmp($27,$24)|0);
+ $29 = ($28|0)==(0);
+ $30 = $29&1;
+ $31 = ((($2)) + 52|0);
+ HEAP32[$31>>2] = $30;
+ __gcry_mpi_free($24);
+ $$pre$phi$i$iZ2D = $31;
+ } else {
+ $$pre$i$i = ((($2)) + 52|0);
+ $$pre$phi$i$iZ2D = $$pre$i$i;
+ }
+ $32 = HEAP32[$$pre$phi$i$iZ2D>>2]|0;
+ $33 = ($32|0)==(0);
+ $34 = ((($2)) + 64|0);
+ do {
+ if ($33) {
+ $66 = ((($2)) + 76|0);
+ $67 = HEAP32[$66>>2]|0;
+ $68 = HEAP32[$1>>2]|0;
+ __gcry_mpi_mul($67,$68,$68);
+ $69 = ((($2)) + 60|0);
+ $70 = HEAP32[$69>>2]|0;
+ $71 = ($70|0)==(0|0);
+ if ($71) {
+ $72 = ((($2)) + 16|0);
+ $73 = HEAP32[$72>>2]|0;
+ __gcry_mpi_mod($67,$67,$73);
+ } else {
+ __gcry_mpi_mod_barrett($67,$67,$70);
+ }
+ $74 = HEAP32[$66>>2]|0;
+ $75 = (__gcry_mpi_const(3)|0);
+ __gcry_mpi_mul($74,$74,$75);
+ $76 = HEAP32[$69>>2]|0;
+ $77 = ($76|0)==(0|0);
+ if ($77) {
+ $78 = ((($2)) + 16|0);
+ $79 = HEAP32[$78>>2]|0;
+ __gcry_mpi_mod($74,$74,$79);
+ $$idx$pre$phi$iZZ2D = $78;
+ } else {
+ __gcry_mpi_mod_barrett($74,$74,$76);
+ $$pre$i = ((($2)) + 16|0);
+ $$idx$pre$phi$iZZ2D = $$pre$i;
+ }
+ $80 = HEAP32[$34>>2]|0;
+ $81 = HEAP32[$8>>2]|0;
+ $82 = (__gcry_mpi_const(4)|0);
+ $$idx$val$i = HEAP32[$$idx$pre$phi$iZZ2D>>2]|0;
+ __gcry_mpi_powm($80,$81,$82,$$idx$val$i);
+ $83 = HEAP32[$34>>2]|0;
+ $84 = ((($2)) + 20|0);
+ $85 = HEAP32[$84>>2]|0;
+ __gcry_mpi_mul($83,$83,$85);
+ $86 = HEAP32[$69>>2]|0;
+ $87 = ($86|0)==(0|0);
+ if ($87) {
+ $88 = HEAP32[$$idx$pre$phi$iZZ2D>>2]|0;
+ __gcry_mpi_mod($83,$83,$88);
+ } else {
+ __gcry_mpi_mod_barrett($83,$83,$86);
+ }
+ $89 = HEAP32[$66>>2]|0;
+ $90 = HEAP32[$34>>2]|0;
+ __gcry_mpi_add($89,$89,$90);
+ $91 = HEAP32[$69>>2]|0;
+ $92 = ($91|0)==(0|0);
+ if ($92) {
+ $93 = HEAP32[$$idx$pre$phi$iZZ2D>>2]|0;
+ __gcry_mpi_mod($89,$89,$93);
+ $$pre$phi$iZ2D = $69;
+ break;
+ } else {
+ __gcry_mpi_mod_barrett($89,$89,$91);
+ $$pre$phi$iZ2D = $69;
+ break;
+ }
+ } else {
+ $35 = HEAP32[$34>>2]|0;
+ $36 = HEAP32[$8>>2]|0;
+ __gcry_mpi_mul($35,$36,$36);
+ $37 = ((($2)) + 60|0);
+ $38 = HEAP32[$37>>2]|0;
+ $39 = ($38|0)==(0|0);
+ if ($39) {
+ $40 = ((($2)) + 16|0);
+ $41 = HEAP32[$40>>2]|0;
+ __gcry_mpi_mod($35,$35,$41);
+ } else {
+ __gcry_mpi_mod_barrett($35,$35,$38);
+ }
+ $42 = ((($2)) + 76|0);
+ $43 = HEAP32[$42>>2]|0;
+ $44 = HEAP32[$1>>2]|0;
+ $45 = HEAP32[$34>>2]|0;
+ __gcry_mpi_sub($43,$44,$45);
+ $46 = HEAP32[$42>>2]|0;
+ $47 = (__gcry_mpi_const(3)|0);
+ __gcry_mpi_mul($46,$46,$47);
+ $48 = HEAP32[$37>>2]|0;
+ $49 = ($48|0)==(0|0);
+ if ($49) {
+ $50 = ((($2)) + 16|0);
+ $51 = HEAP32[$50>>2]|0;
+ __gcry_mpi_mod($46,$46,$51);
+ } else {
+ __gcry_mpi_mod_barrett($46,$46,$48);
+ }
+ $52 = ((($2)) + 68|0);
+ $53 = HEAP32[$52>>2]|0;
+ $54 = HEAP32[$1>>2]|0;
+ $55 = HEAP32[$34>>2]|0;
+ __gcry_mpi_add($53,$54,$55);
+ $56 = HEAP32[$37>>2]|0;
+ $57 = ($56|0)==(0|0);
+ if ($57) {
+ $58 = ((($2)) + 16|0);
+ $59 = HEAP32[$58>>2]|0;
+ __gcry_mpi_mod($53,$53,$59);
+ } else {
+ __gcry_mpi_mod_barrett($53,$53,$56);
+ }
+ $60 = HEAP32[$42>>2]|0;
+ $61 = HEAP32[$52>>2]|0;
+ __gcry_mpi_mul($60,$60,$61);
+ $62 = HEAP32[$37>>2]|0;
+ $63 = ($62|0)==(0|0);
+ if ($63) {
+ $64 = ((($2)) + 16|0);
+ $65 = HEAP32[$64>>2]|0;
+ __gcry_mpi_mod($60,$60,$65);
+ $$pre$phi$iZ2D = $37;
+ break;
+ } else {
+ __gcry_mpi_mod_barrett($60,$60,$62);
+ $$pre$phi$iZ2D = $37;
+ break;
+ }
+ }
+ } while(0);
+ $94 = ((($0)) + 8|0);
+ $95 = HEAP32[$94>>2]|0;
+ $96 = HEAP32[$4>>2]|0;
+ $97 = HEAP32[$8>>2]|0;
+ __gcry_mpi_mul($95,$96,$97);
+ $98 = HEAP32[$$pre$phi$iZ2D>>2]|0;
+ $99 = ($98|0)==(0|0);
+ if ($99) {
+ $100 = ((($2)) + 16|0);
+ $101 = HEAP32[$100>>2]|0;
+ __gcry_mpi_mod($95,$95,$101);
+ } else {
+ __gcry_mpi_mod_barrett($95,$95,$98);
+ }
+ $102 = HEAP32[$94>>2]|0;
+ __gcry_mpi_lshift($102,$102,1);
+ $103 = HEAP32[$$pre$phi$iZ2D>>2]|0;
+ $104 = ($103|0)==(0|0);
+ if ($104) {
+ $105 = ((($2)) + 16|0);
+ $106 = HEAP32[$105>>2]|0;
+ __gcry_mpi_mod($102,$102,$106);
+ } else {
+ __gcry_mpi_mod_barrett($102,$102,$103);
+ }
+ $107 = ((($2)) + 68|0);
+ $108 = HEAP32[$107>>2]|0;
+ $109 = HEAP32[$4>>2]|0;
+ __gcry_mpi_mul($108,$109,$109);
+ $110 = HEAP32[$$pre$phi$iZ2D>>2]|0;
+ $111 = ($110|0)==(0|0);
+ if ($111) {
+ $112 = ((($2)) + 16|0);
+ $113 = HEAP32[$112>>2]|0;
+ __gcry_mpi_mod($108,$108,$113);
+ } else {
+ __gcry_mpi_mod_barrett($108,$108,$110);
+ }
+ $114 = ((($2)) + 80|0);
+ $115 = HEAP32[$114>>2]|0;
+ $116 = HEAP32[$107>>2]|0;
+ $117 = HEAP32[$1>>2]|0;
+ __gcry_mpi_mul($115,$116,$117);
+ $118 = HEAP32[$$pre$phi$iZ2D>>2]|0;
+ $119 = ($118|0)==(0|0);
+ if ($119) {
+ $120 = ((($2)) + 16|0);
+ $121 = HEAP32[$120>>2]|0;
+ __gcry_mpi_mod($115,$115,$121);
+ } else {
+ __gcry_mpi_mod_barrett($115,$115,$118);
+ }
+ $122 = HEAP32[$114>>2]|0;
+ $123 = (__gcry_mpi_const(4)|0);
+ __gcry_mpi_mul($122,$122,$123);
+ $124 = HEAP32[$$pre$phi$iZ2D>>2]|0;
+ $125 = ($124|0)==(0|0);
+ if ($125) {
+ $126 = ((($2)) + 16|0);
+ $127 = HEAP32[$126>>2]|0;
+ __gcry_mpi_mod($122,$122,$127);
+ } else {
+ __gcry_mpi_mod_barrett($122,$122,$124);
+ }
+ $128 = HEAP32[$0>>2]|0;
+ $129 = ((($2)) + 76|0);
+ $130 = HEAP32[$129>>2]|0;
+ __gcry_mpi_mul($128,$130,$130);
+ $131 = HEAP32[$$pre$phi$iZ2D>>2]|0;
+ $132 = ($131|0)==(0|0);
+ if ($132) {
+ $133 = ((($2)) + 16|0);
+ $134 = HEAP32[$133>>2]|0;
+ __gcry_mpi_mod($128,$128,$134);
+ } else {
+ __gcry_mpi_mod_barrett($128,$128,$131);
+ }
+ $135 = HEAP32[$34>>2]|0;
+ $136 = HEAP32[$114>>2]|0;
+ __gcry_mpi_lshift($135,$136,1);
+ $137 = HEAP32[$$pre$phi$iZ2D>>2]|0;
+ $138 = ($137|0)==(0|0);
+ if ($138) {
+ $139 = ((($2)) + 16|0);
+ $140 = HEAP32[$139>>2]|0;
+ __gcry_mpi_mod($135,$135,$140);
+ } else {
+ __gcry_mpi_mod_barrett($135,$135,$137);
+ }
+ $141 = HEAP32[$0>>2]|0;
+ $142 = HEAP32[$34>>2]|0;
+ __gcry_mpi_sub($141,$141,$142);
+ $143 = HEAP32[$107>>2]|0;
+ __gcry_mpi_mul($143,$143,$143);
+ $144 = HEAP32[$$pre$phi$iZ2D>>2]|0;
+ $145 = ($144|0)==(0|0);
+ if ($145) {
+ $146 = ((($2)) + 16|0);
+ $147 = HEAP32[$146>>2]|0;
+ __gcry_mpi_mod($143,$143,$147);
+ } else {
+ __gcry_mpi_mod_barrett($143,$143,$144);
+ }
+ $148 = ((($2)) + 84|0);
+ $149 = HEAP32[$148>>2]|0;
+ $150 = HEAP32[$107>>2]|0;
+ $151 = (__gcry_mpi_const(5)|0);
+ __gcry_mpi_mul($149,$150,$151);
+ $152 = HEAP32[$$pre$phi$iZ2D>>2]|0;
+ $153 = ($152|0)==(0|0);
+ if ($153) {
+ $154 = ((($2)) + 16|0);
+ $155 = HEAP32[$154>>2]|0;
+ __gcry_mpi_mod($149,$149,$155);
+ } else {
+ __gcry_mpi_mod_barrett($149,$149,$152);
+ }
+ $156 = ((($0)) + 4|0);
+ $157 = HEAP32[$156>>2]|0;
+ $158 = HEAP32[$114>>2]|0;
+ $159 = HEAP32[$0>>2]|0;
+ __gcry_mpi_sub($157,$158,$159);
+ $160 = HEAP32[$156>>2]|0;
+ $161 = HEAP32[$129>>2]|0;
+ __gcry_mpi_mul($160,$160,$161);
+ $162 = HEAP32[$$pre$phi$iZ2D>>2]|0;
+ $163 = ($162|0)==(0|0);
+ if ($163) {
+ $164 = ((($2)) + 16|0);
+ $165 = HEAP32[$164>>2]|0;
+ __gcry_mpi_mod($160,$160,$165);
+ } else {
+ __gcry_mpi_mod_barrett($160,$160,$162);
+ }
+ $166 = HEAP32[$156>>2]|0;
+ $167 = HEAP32[$148>>2]|0;
+ __gcry_mpi_sub($166,$166,$167);
+ return;
+ }
+ }
+ $12 = HEAP32[$0>>2]|0;
+ (__gcry_mpi_set_ui($12,1)|0);
+ $13 = ((($0)) + 4|0);
+ $14 = HEAP32[$13>>2]|0;
+ (__gcry_mpi_set_ui($14,1)|0);
+ $15 = ((($0)) + 8|0);
+ $16 = HEAP32[$15>>2]|0;
+ (__gcry_mpi_set_ui($16,0)|0);
+ return;
+ break;
+ }
+ case 1: {
+ _dup_point_montgomery();
+ // unreachable;
+ break;
+ }
+ case 2: {
+ $168 = ((($2)) + 64|0);
+ $169 = HEAP32[$168>>2]|0;
+ $170 = HEAP32[$1>>2]|0;
+ $171 = ((($1)) + 4|0);
+ $172 = HEAP32[$171>>2]|0;
+ __gcry_mpi_add($169,$170,$172);
+ $173 = ((($2)) + 60|0);
+ $174 = HEAP32[$173>>2]|0;
+ $175 = ($174|0)==(0|0);
+ if ($175) {
+ $176 = ((($2)) + 16|0);
+ $177 = HEAP32[$176>>2]|0;
+ __gcry_mpi_mod($169,$169,$177);
+ } else {
+ __gcry_mpi_mod_barrett($169,$169,$174);
+ }
+ $178 = HEAP32[$168>>2]|0;
+ __gcry_mpi_mul($178,$178,$178);
+ $179 = HEAP32[$173>>2]|0;
+ $180 = ($179|0)==(0|0);
+ if ($180) {
+ $181 = ((($2)) + 16|0);
+ $182 = HEAP32[$181>>2]|0;
+ __gcry_mpi_mod($178,$178,$182);
+ } else {
+ __gcry_mpi_mod_barrett($178,$178,$179);
+ }
+ $183 = ((($2)) + 68|0);
+ $184 = HEAP32[$183>>2]|0;
+ $185 = HEAP32[$1>>2]|0;
+ __gcry_mpi_mul($184,$185,$185);
+ $186 = HEAP32[$173>>2]|0;
+ $187 = ($186|0)==(0|0);
+ if ($187) {
+ $188 = ((($2)) + 16|0);
+ $189 = HEAP32[$188>>2]|0;
+ __gcry_mpi_mod($184,$184,$189);
+ } else {
+ __gcry_mpi_mod_barrett($184,$184,$186);
+ }
+ $190 = ((($2)) + 72|0);
+ $191 = HEAP32[$190>>2]|0;
+ $192 = HEAP32[$171>>2]|0;
+ __gcry_mpi_mul($191,$192,$192);
+ $193 = HEAP32[$173>>2]|0;
+ $194 = ($193|0)==(0|0);
+ if ($194) {
+ $195 = ((($2)) + 16|0);
+ $196 = HEAP32[$195>>2]|0;
+ __gcry_mpi_mod($191,$191,$196);
+ } else {
+ __gcry_mpi_mod_barrett($191,$191,$193);
+ }
+ $197 = ((($2)) + 4|0);
+ $198 = HEAP32[$197>>2]|0;
+ $199 = ($198|0)==(1);
+ $200 = ((($2)) + 76|0);
+ $201 = HEAP32[$200>>2]|0;
+ do {
+ if ($199) {
+ $202 = HEAP32[$183>>2]|0;
+ (__gcry_mpi_set($201,$202)|0);
+ $203 = HEAP32[$200>>2]|0;
+ __gcry_mpi_neg($203,$203);
+ } else {
+ $204 = ((($2)) + 20|0);
+ $205 = HEAP32[$204>>2]|0;
+ $206 = HEAP32[$183>>2]|0;
+ __gcry_mpi_mul($201,$205,$206);
+ $207 = HEAP32[$173>>2]|0;
+ $208 = ($207|0)==(0|0);
+ if ($208) {
+ $209 = ((($2)) + 16|0);
+ $210 = HEAP32[$209>>2]|0;
+ __gcry_mpi_mod($201,$201,$210);
+ break;
+ } else {
+ __gcry_mpi_mod_barrett($201,$201,$207);
+ break;
+ }
+ }
+ } while(0);
+ $211 = ((($2)) + 80|0);
+ $212 = HEAP32[$211>>2]|0;
+ $213 = HEAP32[$200>>2]|0;
+ $214 = HEAP32[$190>>2]|0;
+ __gcry_mpi_add($212,$213,$214);
+ $215 = HEAP32[$173>>2]|0;
+ $216 = ($215|0)==(0|0);
+ if ($216) {
+ $217 = ((($2)) + 16|0);
+ $218 = HEAP32[$217>>2]|0;
+ __gcry_mpi_mod($212,$212,$218);
+ } else {
+ __gcry_mpi_mod_barrett($212,$212,$215);
+ }
+ $219 = ((($2)) + 84|0);
+ $220 = HEAP32[$219>>2]|0;
+ $221 = ((($1)) + 8|0);
+ $222 = HEAP32[$221>>2]|0;
+ __gcry_mpi_mul($220,$222,$222);
+ $223 = HEAP32[$173>>2]|0;
+ $224 = ($223|0)==(0|0);
+ if ($224) {
+ $225 = ((($2)) + 16|0);
+ $226 = HEAP32[$225>>2]|0;
+ __gcry_mpi_mod($220,$220,$226);
+ } else {
+ __gcry_mpi_mod_barrett($220,$220,$223);
+ }
+ $227 = ((($2)) + 88|0);
+ $228 = HEAP32[$227>>2]|0;
+ $229 = HEAP32[$219>>2]|0;
+ __gcry_mpi_lshift($228,$229,1);
+ $230 = HEAP32[$173>>2]|0;
+ $231 = ($230|0)==(0|0);
+ if ($231) {
+ $232 = ((($2)) + 16|0);
+ $233 = HEAP32[$232>>2]|0;
+ __gcry_mpi_mod($228,$228,$233);
+ } else {
+ __gcry_mpi_mod_barrett($228,$228,$230);
+ }
+ $234 = HEAP32[$227>>2]|0;
+ $235 = HEAP32[$211>>2]|0;
+ __gcry_mpi_sub($234,$235,$234);
+ $236 = HEAP32[$0>>2]|0;
+ $237 = HEAP32[$168>>2]|0;
+ $238 = HEAP32[$183>>2]|0;
+ __gcry_mpi_sub($236,$237,$238);
+ $239 = HEAP32[$0>>2]|0;
+ $240 = HEAP32[$190>>2]|0;
+ __gcry_mpi_sub($239,$239,$240);
+ $241 = HEAP32[$0>>2]|0;
+ $242 = HEAP32[$227>>2]|0;
+ __gcry_mpi_mul($241,$241,$242);
+ $243 = HEAP32[$173>>2]|0;
+ $244 = ($243|0)==(0|0);
+ if ($244) {
+ $245 = ((($2)) + 16|0);
+ $246 = HEAP32[$245>>2]|0;
+ __gcry_mpi_mod($241,$241,$246);
+ } else {
+ __gcry_mpi_mod_barrett($241,$241,$243);
+ }
+ $247 = ((($0)) + 4|0);
+ $248 = HEAP32[$247>>2]|0;
+ $249 = HEAP32[$200>>2]|0;
+ $250 = HEAP32[$190>>2]|0;
+ __gcry_mpi_sub($248,$249,$250);
+ $251 = HEAP32[$247>>2]|0;
+ $252 = HEAP32[$211>>2]|0;
+ __gcry_mpi_mul($251,$251,$252);
+ $253 = HEAP32[$173>>2]|0;
+ $254 = ($253|0)==(0|0);
+ if ($254) {
+ $255 = ((($2)) + 16|0);
+ $256 = HEAP32[$255>>2]|0;
+ __gcry_mpi_mod($251,$251,$256);
+ } else {
+ __gcry_mpi_mod_barrett($251,$251,$253);
+ }
+ $257 = ((($0)) + 8|0);
+ $258 = HEAP32[$257>>2]|0;
+ $259 = HEAP32[$211>>2]|0;
+ $260 = HEAP32[$227>>2]|0;
+ __gcry_mpi_mul($258,$259,$260);
+ $261 = HEAP32[$173>>2]|0;
+ $262 = ($261|0)==(0|0);
+ if ($262) {
+ $263 = ((($2)) + 16|0);
+ $264 = HEAP32[$263>>2]|0;
+ __gcry_mpi_mod($258,$258,$264);
+ return;
+ } else {
+ __gcry_mpi_mod_barrett($258,$258,$261);
+ return;
+ }
+ break;
+ }
+ default: {
+ return;
+ }
+ }
+}
+function _dup_point_montgomery() {
+ var $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $vararg_buffer = sp;
+ HEAP32[$vararg_buffer>>2] = 63958;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 63906;
+ __gcry_log_fatal(63932,$vararg_buffer);
+ // unreachable;
+}
+function __gcry_mpi_ec_add_points($0,$1,$2,$3) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ var $$idx$val$i = 0, $$idx129$val$i = 0, $$idx130$i = 0, $$idx130$val$i = 0, $$pre$i = 0, $$pre$i$i = 0, $$pre$phi$i$iZ2D = 0, $$pre$phi$iZ2D = 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;
+ var $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0;
+ var $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0;
+ var $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0;
+ var $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0;
+ var $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0;
+ var $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
+ var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0;
+ var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0;
+ var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $vararg_buffer = 0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $vararg_buffer = sp;
+ $4 = HEAP32[$3>>2]|0;
+ switch ($4|0) {
+ case 0: {
+ $5 = HEAP32[$1>>2]|0;
+ $6 = HEAP32[$2>>2]|0;
+ $7 = (__gcry_mpi_cmp($5,$6)|0);
+ $8 = ($7|0)==(0);
+ if ($8) {
+ $9 = ((($1)) + 4|0);
+ $10 = HEAP32[$9>>2]|0;
+ $11 = ((($2)) + 4|0);
+ $12 = HEAP32[$11>>2]|0;
+ $13 = (__gcry_mpi_cmp($10,$12)|0);
+ $14 = ($13|0)==(0);
+ if ($14) {
+ $15 = ((($1)) + 8|0);
+ $16 = HEAP32[$15>>2]|0;
+ $17 = ((($2)) + 8|0);
+ $18 = HEAP32[$17>>2]|0;
+ $19 = (__gcry_mpi_cmp($16,$18)|0);
+ $20 = ($19|0)==(0);
+ if ($20) {
+ __gcry_mpi_ec_dup_point($0,$1,$3);
+ STACKTOP = sp;return;
+ }
+ }
+ }
+ $21 = ((($1)) + 8|0);
+ $22 = HEAP32[$21>>2]|0;
+ $23 = (__gcry_mpi_cmp_ui($22,0)|0);
+ $24 = ($23|0)==(0);
+ if ($24) {
+ $25 = HEAP32[$0>>2]|0;
+ $26 = HEAP32[$2>>2]|0;
+ (__gcry_mpi_set($25,$26)|0);
+ $27 = ((($0)) + 4|0);
+ $28 = HEAP32[$27>>2]|0;
+ $29 = ((($2)) + 4|0);
+ $30 = HEAP32[$29>>2]|0;
+ (__gcry_mpi_set($28,$30)|0);
+ $31 = ((($0)) + 8|0);
+ $32 = HEAP32[$31>>2]|0;
+ $33 = ((($2)) + 8|0);
+ $34 = HEAP32[$33>>2]|0;
+ (__gcry_mpi_set($32,$34)|0);
+ STACKTOP = sp;return;
+ }
+ $35 = ((($2)) + 8|0);
+ $36 = HEAP32[$35>>2]|0;
+ $37 = (__gcry_mpi_cmp_ui($36,0)|0);
+ $38 = ($37|0)==(0);
+ if ($38) {
+ $39 = HEAP32[$0>>2]|0;
+ $40 = HEAP32[$1>>2]|0;
+ (__gcry_mpi_set($39,$40)|0);
+ $41 = ((($0)) + 4|0);
+ $42 = HEAP32[$41>>2]|0;
+ $43 = ((($1)) + 4|0);
+ $44 = HEAP32[$43>>2]|0;
+ (__gcry_mpi_set($42,$44)|0);
+ $45 = ((($0)) + 8|0);
+ $46 = HEAP32[$45>>2]|0;
+ $47 = HEAP32[$21>>2]|0;
+ (__gcry_mpi_set($46,$47)|0);
+ STACKTOP = sp;return;
+ }
+ $48 = HEAP32[$21>>2]|0;
+ $49 = (__gcry_mpi_cmp_ui($48,1)|0);
+ $50 = ($49|0)==(0);
+ $51 = HEAP32[$35>>2]|0;
+ $52 = (__gcry_mpi_cmp_ui($51,1)|0);
+ $53 = ($52|0)==(0);
+ $54 = ((($3)) + 64|0);
+ $55 = HEAP32[$54>>2]|0;
+ do {
+ if ($53) {
+ $56 = HEAP32[$1>>2]|0;
+ (__gcry_mpi_set($55,$56)|0);
+ } else {
+ $57 = HEAP32[$35>>2]|0;
+ __gcry_mpi_mul($55,$57,$57);
+ $58 = ((($3)) + 60|0);
+ $59 = HEAP32[$58>>2]|0;
+ $60 = ($59|0)==(0|0);
+ if ($60) {
+ $61 = ((($3)) + 16|0);
+ $62 = HEAP32[$61>>2]|0;
+ __gcry_mpi_mod($55,$55,$62);
+ } else {
+ __gcry_mpi_mod_barrett($55,$55,$59);
+ }
+ $63 = HEAP32[$54>>2]|0;
+ $64 = HEAP32[$1>>2]|0;
+ __gcry_mpi_mul($63,$63,$64);
+ $65 = HEAP32[$58>>2]|0;
+ $66 = ($65|0)==(0|0);
+ if ($66) {
+ $67 = ((($3)) + 16|0);
+ $68 = HEAP32[$67>>2]|0;
+ __gcry_mpi_mod($63,$63,$68);
+ break;
+ } else {
+ __gcry_mpi_mod_barrett($63,$63,$65);
+ break;
+ }
+ }
+ } while(0);
+ $69 = ((($3)) + 68|0);
+ $70 = HEAP32[$69>>2]|0;
+ do {
+ if ($50) {
+ $71 = HEAP32[$2>>2]|0;
+ (__gcry_mpi_set($70,$71)|0);
+ $$pre$i = ((($3)) + 60|0);
+ $$pre$phi$iZ2D = $$pre$i;
+ } else {
+ $72 = HEAP32[$21>>2]|0;
+ __gcry_mpi_mul($70,$72,$72);
+ $73 = ((($3)) + 60|0);
+ $74 = HEAP32[$73>>2]|0;
+ $75 = ($74|0)==(0|0);
+ if ($75) {
+ $76 = ((($3)) + 16|0);
+ $77 = HEAP32[$76>>2]|0;
+ __gcry_mpi_mod($70,$70,$77);
+ } else {
+ __gcry_mpi_mod_barrett($70,$70,$74);
+ }
+ $78 = HEAP32[$69>>2]|0;
+ $79 = HEAP32[$2>>2]|0;
+ __gcry_mpi_mul($78,$78,$79);
+ $80 = HEAP32[$73>>2]|0;
+ $81 = ($80|0)==(0|0);
+ if ($81) {
+ $82 = ((($3)) + 16|0);
+ $83 = HEAP32[$82>>2]|0;
+ __gcry_mpi_mod($78,$78,$83);
+ $$pre$phi$iZ2D = $73;
+ break;
+ } else {
+ __gcry_mpi_mod_barrett($78,$78,$80);
+ $$pre$phi$iZ2D = $73;
+ break;
+ }
+ }
+ } while(0);
+ $84 = ((($3)) + 72|0);
+ $85 = HEAP32[$84>>2]|0;
+ $86 = HEAP32[$54>>2]|0;
+ $87 = HEAP32[$69>>2]|0;
+ __gcry_mpi_sub($85,$86,$87);
+ $88 = ((($3)) + 76|0);
+ $89 = HEAP32[$88>>2]|0;
+ $90 = HEAP32[$35>>2]|0;
+ $91 = (__gcry_mpi_const(3)|0);
+ $$idx130$i = ((($3)) + 16|0);
+ $$idx130$val$i = HEAP32[$$idx130$i>>2]|0;
+ __gcry_mpi_powm($89,$90,$91,$$idx130$val$i);
+ $92 = HEAP32[$88>>2]|0;
+ $93 = ((($1)) + 4|0);
+ $94 = HEAP32[$93>>2]|0;
+ __gcry_mpi_mul($92,$92,$94);
+ $95 = HEAP32[$$pre$phi$iZ2D>>2]|0;
+ $96 = ($95|0)==(0|0);
+ if ($96) {
+ $97 = HEAP32[$$idx130$i>>2]|0;
+ __gcry_mpi_mod($92,$92,$97);
+ } else {
+ __gcry_mpi_mod_barrett($92,$92,$95);
+ }
+ $98 = ((($3)) + 80|0);
+ $99 = HEAP32[$98>>2]|0;
+ $100 = HEAP32[$21>>2]|0;
+ $101 = (__gcry_mpi_const(3)|0);
+ $$idx129$val$i = HEAP32[$$idx130$i>>2]|0;
+ __gcry_mpi_powm($99,$100,$101,$$idx129$val$i);
+ $102 = HEAP32[$98>>2]|0;
+ $103 = ((($2)) + 4|0);
+ $104 = HEAP32[$103>>2]|0;
+ __gcry_mpi_mul($102,$102,$104);
+ $105 = HEAP32[$$pre$phi$iZ2D>>2]|0;
+ $106 = ($105|0)==(0|0);
+ if ($106) {
+ $107 = HEAP32[$$idx130$i>>2]|0;
+ __gcry_mpi_mod($102,$102,$107);
+ } else {
+ __gcry_mpi_mod_barrett($102,$102,$105);
+ }
+ $108 = ((($3)) + 84|0);
+ $109 = HEAP32[$108>>2]|0;
+ $110 = HEAP32[$88>>2]|0;
+ $111 = HEAP32[$98>>2]|0;
+ __gcry_mpi_sub($109,$110,$111);
+ $112 = HEAP32[$84>>2]|0;
+ $113 = (__gcry_mpi_cmp_ui($112,0)|0);
+ $114 = ($113|0)==(0);
+ if ($114) {
+ $115 = HEAP32[$108>>2]|0;
+ $116 = (__gcry_mpi_cmp_ui($115,0)|0);
+ $117 = ($116|0)==(0);
+ if ($117) {
+ __gcry_mpi_ec_dup_point($0,$1,$3);
+ STACKTOP = sp;return;
+ } else {
+ $118 = HEAP32[$0>>2]|0;
+ (__gcry_mpi_set_ui($118,1)|0);
+ $119 = ((($0)) + 4|0);
+ $120 = HEAP32[$119>>2]|0;
+ (__gcry_mpi_set_ui($120,1)|0);
+ $121 = ((($0)) + 8|0);
+ $122 = HEAP32[$121>>2]|0;
+ (__gcry_mpi_set_ui($122,0)|0);
+ STACKTOP = sp;return;
+ }
+ }
+ $123 = ((($3)) + 88|0);
+ $124 = HEAP32[$123>>2]|0;
+ $125 = HEAP32[$54>>2]|0;
+ $126 = HEAP32[$69>>2]|0;
+ __gcry_mpi_add($124,$125,$126);
+ $127 = HEAP32[$$pre$phi$iZ2D>>2]|0;
+ $128 = ($127|0)==(0|0);
+ if ($128) {
+ $129 = HEAP32[$$idx130$i>>2]|0;
+ __gcry_mpi_mod($124,$124,$129);
+ } else {
+ __gcry_mpi_mod_barrett($124,$124,$127);
+ }
+ $130 = ((($3)) + 92|0);
+ $131 = HEAP32[$130>>2]|0;
+ $132 = HEAP32[$88>>2]|0;
+ $133 = HEAP32[$98>>2]|0;
+ __gcry_mpi_add($131,$132,$133);
+ $134 = HEAP32[$$pre$phi$iZ2D>>2]|0;
+ $135 = ($134|0)==(0|0);
+ if ($135) {
+ $136 = HEAP32[$$idx130$i>>2]|0;
+ __gcry_mpi_mod($131,$131,$136);
+ } else {
+ __gcry_mpi_mod_barrett($131,$131,$134);
+ }
+ $137 = ((($0)) + 8|0);
+ $138 = HEAP32[$137>>2]|0;
+ $139 = HEAP32[$21>>2]|0;
+ $140 = HEAP32[$35>>2]|0;
+ __gcry_mpi_mul($138,$139,$140);
+ $141 = HEAP32[$$pre$phi$iZ2D>>2]|0;
+ $142 = ($141|0)==(0|0);
+ if ($142) {
+ $143 = HEAP32[$$idx130$i>>2]|0;
+ __gcry_mpi_mod($138,$138,$143);
+ } else {
+ __gcry_mpi_mod_barrett($138,$138,$141);
+ }
+ $144 = HEAP32[$137>>2]|0;
+ $145 = HEAP32[$84>>2]|0;
+ __gcry_mpi_mul($144,$144,$145);
+ $146 = HEAP32[$$pre$phi$iZ2D>>2]|0;
+ $147 = ($146|0)==(0|0);
+ if ($147) {
+ $148 = HEAP32[$$idx130$i>>2]|0;
+ __gcry_mpi_mod($144,$144,$148);
+ } else {
+ __gcry_mpi_mod_barrett($144,$144,$146);
+ }
+ $149 = ((($3)) + 100|0);
+ $150 = HEAP32[$149>>2]|0;
+ $151 = HEAP32[$108>>2]|0;
+ __gcry_mpi_mul($150,$151,$151);
+ $152 = HEAP32[$$pre$phi$iZ2D>>2]|0;
+ $153 = ($152|0)==(0|0);
+ if ($153) {
+ $154 = HEAP32[$$idx130$i>>2]|0;
+ __gcry_mpi_mod($150,$150,$154);
+ } else {
+ __gcry_mpi_mod_barrett($150,$150,$152);
+ }
+ $155 = ((($3)) + 104|0);
+ $156 = HEAP32[$155>>2]|0;
+ $157 = HEAP32[$84>>2]|0;
+ __gcry_mpi_mul($156,$157,$157);
+ $158 = HEAP32[$$pre$phi$iZ2D>>2]|0;
+ $159 = ($158|0)==(0|0);
+ if ($159) {
+ $160 = HEAP32[$$idx130$i>>2]|0;
+ __gcry_mpi_mod($156,$156,$160);
+ } else {
+ __gcry_mpi_mod_barrett($156,$156,$158);
+ }
+ $161 = HEAP32[$155>>2]|0;
+ $162 = HEAP32[$123>>2]|0;
+ __gcry_mpi_mul($161,$161,$162);
+ $163 = HEAP32[$$pre$phi$iZ2D>>2]|0;
+ $164 = ($163|0)==(0|0);
+ if ($164) {
+ $165 = HEAP32[$$idx130$i>>2]|0;
+ __gcry_mpi_mod($161,$161,$165);
+ } else {
+ __gcry_mpi_mod_barrett($161,$161,$163);
+ }
+ $166 = HEAP32[$0>>2]|0;
+ $167 = HEAP32[$149>>2]|0;
+ $168 = HEAP32[$155>>2]|0;
+ __gcry_mpi_sub($166,$167,$168);
+ $169 = HEAP32[$149>>2]|0;
+ $170 = HEAP32[$0>>2]|0;
+ __gcry_mpi_lshift($169,$170,1);
+ $171 = HEAP32[$$pre$phi$iZ2D>>2]|0;
+ $172 = ($171|0)==(0|0);
+ if ($172) {
+ $173 = HEAP32[$$idx130$i>>2]|0;
+ __gcry_mpi_mod($169,$169,$173);
+ } else {
+ __gcry_mpi_mod_barrett($169,$169,$171);
+ }
+ $174 = ((($3)) + 96|0);
+ $175 = HEAP32[$174>>2]|0;
+ $176 = HEAP32[$155>>2]|0;
+ $177 = HEAP32[$149>>2]|0;
+ __gcry_mpi_sub($175,$176,$177);
+ $178 = HEAP32[$174>>2]|0;
+ $179 = HEAP32[$108>>2]|0;
+ __gcry_mpi_mul($178,$178,$179);
+ $180 = HEAP32[$$pre$phi$iZ2D>>2]|0;
+ $181 = ($180|0)==(0|0);
+ if ($181) {
+ $182 = HEAP32[$$idx130$i>>2]|0;
+ __gcry_mpi_mod($178,$178,$182);
+ } else {
+ __gcry_mpi_mod_barrett($178,$178,$180);
+ }
+ $183 = HEAP32[$149>>2]|0;
+ $184 = HEAP32[$84>>2]|0;
+ $185 = (__gcry_mpi_const(3)|0);
+ $$idx$val$i = HEAP32[$$idx130$i>>2]|0;
+ __gcry_mpi_powm($183,$184,$185,$$idx$val$i);
+ $186 = HEAP32[$149>>2]|0;
+ $187 = HEAP32[$130>>2]|0;
+ __gcry_mpi_mul($186,$186,$187);
+ $188 = HEAP32[$$pre$phi$iZ2D>>2]|0;
+ $189 = ($188|0)==(0|0);
+ if ($189) {
+ $190 = HEAP32[$$idx130$i>>2]|0;
+ __gcry_mpi_mod($186,$186,$190);
+ } else {
+ __gcry_mpi_mod_barrett($186,$186,$188);
+ }
+ $191 = ((($0)) + 4|0);
+ $192 = HEAP32[$191>>2]|0;
+ $193 = HEAP32[$174>>2]|0;
+ $194 = HEAP32[$149>>2]|0;
+ __gcry_mpi_sub($192,$193,$194);
+ $195 = HEAP32[$191>>2]|0;
+ $196 = ((($3)) + 48|0);
+ $197 = HEAP8[$196>>0]|0;
+ $198 = $197 & 2;
+ $199 = ($198<<24>>24)==(0);
+ do {
+ if ($199) {
+ $200 = $197 | 2;
+ HEAP8[$196>>0] = $200;
+ $201 = ((($3)) + 56|0);
+ $202 = HEAP32[$201>>2]|0;
+ $203 = ($202|0)==(0|0);
+ if ($203) {
+ $204 = (__gcry_mpi_alloc(0)|0);
+ HEAP32[$201>>2] = $204;
+ $207 = $204;
+ } else {
+ $207 = $202;
+ }
+ $205 = (__gcry_mpi_const(2)|0);
+ $206 = HEAP32[$$idx130$i>>2]|0;
+ $208 = (__gcry_mpi_invm($207,$205,$206)|0);
+ $209 = ($208|0)==(0);
+ if (!($209)) {
+ $$pre$phi$i$iZ2D = $201;
+ break;
+ }
+ __gcry_log_error(63791,$vararg_buffer);
+ __gcry_log_printmpi(63825,$205);
+ $210 = HEAP32[$$idx130$i>>2]|0;
+ __gcry_log_printmpi(63829,$210);
+ $$pre$phi$i$iZ2D = $201;
+ } else {
+ $$pre$i$i = ((($3)) + 56|0);
+ $$pre$phi$i$iZ2D = $$pre$i$i;
+ }
+ } while(0);
+ $211 = HEAP32[$$pre$phi$i$iZ2D>>2]|0;
+ __gcry_mpi_mul($195,$195,$211);
+ $212 = HEAP32[$$pre$phi$iZ2D>>2]|0;
+ $213 = ($212|0)==(0|0);
+ if ($213) {
+ $214 = HEAP32[$$idx130$i>>2]|0;
+ __gcry_mpi_mod($195,$195,$214);
+ STACKTOP = sp;return;
+ } else {
+ __gcry_mpi_mod_barrett($195,$195,$212);
+ STACKTOP = sp;return;
+ }
+ break;
+ }
+ case 1: {
+ _add_points_montgomery();
+ // unreachable;
+ break;
+ }
+ case 2: {
+ _add_points_edwards($0,$1,$2,$3);
+ STACKTOP = sp;return;
+ break;
+ }
+ default: {
+ STACKTOP = sp;return;
+ }
+ }
+}
+function _add_points_montgomery() {
+ var $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $vararg_buffer = sp;
+ HEAP32[$vararg_buffer>>2] = 63981;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 63906;
+ __gcry_log_fatal(63932,$vararg_buffer);
+ // unreachable;
+}
+function _add_points_edwards($0,$1,$2,$3) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0;
+ var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $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;
+ var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
+ var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
+ var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
+ var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0;
+ var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $4 = ((($3)) + 64|0);
+ $5 = HEAP32[$4>>2]|0;
+ $6 = ((($1)) + 8|0);
+ $7 = HEAP32[$6>>2]|0;
+ $8 = ((($2)) + 8|0);
+ $9 = HEAP32[$8>>2]|0;
+ __gcry_mpi_mul($5,$7,$9);
+ $10 = ((($3)) + 60|0);
+ $11 = HEAP32[$10>>2]|0;
+ $12 = ($11|0)==(0|0);
+ if ($12) {
+ $13 = ((($3)) + 16|0);
+ $14 = HEAP32[$13>>2]|0;
+ __gcry_mpi_mod($5,$5,$14);
+ } else {
+ __gcry_mpi_mod_barrett($5,$5,$11);
+ }
+ $15 = ((($3)) + 68|0);
+ $16 = HEAP32[$15>>2]|0;
+ $17 = HEAP32[$4>>2]|0;
+ __gcry_mpi_mul($16,$17,$17);
+ $18 = HEAP32[$10>>2]|0;
+ $19 = ($18|0)==(0|0);
+ if ($19) {
+ $20 = ((($3)) + 16|0);
+ $21 = HEAP32[$20>>2]|0;
+ __gcry_mpi_mod($16,$16,$21);
+ } else {
+ __gcry_mpi_mod_barrett($16,$16,$18);
+ }
+ $22 = ((($3)) + 72|0);
+ $23 = HEAP32[$22>>2]|0;
+ $24 = HEAP32[$1>>2]|0;
+ $25 = HEAP32[$2>>2]|0;
+ __gcry_mpi_mul($23,$24,$25);
+ $26 = HEAP32[$10>>2]|0;
+ $27 = ($26|0)==(0|0);
+ if ($27) {
+ $28 = ((($3)) + 16|0);
+ $29 = HEAP32[$28>>2]|0;
+ __gcry_mpi_mod($23,$23,$29);
+ } else {
+ __gcry_mpi_mod_barrett($23,$23,$26);
+ }
+ $30 = ((($3)) + 76|0);
+ $31 = HEAP32[$30>>2]|0;
+ $32 = ((($1)) + 4|0);
+ $33 = HEAP32[$32>>2]|0;
+ $34 = ((($2)) + 4|0);
+ $35 = HEAP32[$34>>2]|0;
+ __gcry_mpi_mul($31,$33,$35);
+ $36 = HEAP32[$10>>2]|0;
+ $37 = ($36|0)==(0|0);
+ if ($37) {
+ $38 = ((($3)) + 16|0);
+ $39 = HEAP32[$38>>2]|0;
+ __gcry_mpi_mod($31,$31,$39);
+ } else {
+ __gcry_mpi_mod_barrett($31,$31,$36);
+ }
+ $40 = ((($3)) + 80|0);
+ $41 = HEAP32[$40>>2]|0;
+ $42 = ((($3)) + 24|0);
+ $43 = HEAP32[$42>>2]|0;
+ $44 = HEAP32[$22>>2]|0;
+ __gcry_mpi_mul($41,$43,$44);
+ $45 = HEAP32[$10>>2]|0;
+ $46 = ($45|0)==(0|0);
+ if ($46) {
+ $47 = ((($3)) + 16|0);
+ $48 = HEAP32[$47>>2]|0;
+ __gcry_mpi_mod($41,$41,$48);
+ } else {
+ __gcry_mpi_mod_barrett($41,$41,$45);
+ }
+ $49 = HEAP32[$40>>2]|0;
+ $50 = HEAP32[$30>>2]|0;
+ __gcry_mpi_mul($49,$49,$50);
+ $51 = HEAP32[$10>>2]|0;
+ $52 = ($51|0)==(0|0);
+ if ($52) {
+ $53 = ((($3)) + 16|0);
+ $54 = HEAP32[$53>>2]|0;
+ __gcry_mpi_mod($49,$49,$54);
+ } else {
+ __gcry_mpi_mod_barrett($49,$49,$51);
+ }
+ $55 = ((($3)) + 84|0);
+ $56 = HEAP32[$55>>2]|0;
+ $57 = HEAP32[$15>>2]|0;
+ $58 = HEAP32[$40>>2]|0;
+ __gcry_mpi_sub($56,$57,$58);
+ $59 = ((($3)) + 88|0);
+ $60 = HEAP32[$59>>2]|0;
+ $61 = HEAP32[$15>>2]|0;
+ $62 = HEAP32[$40>>2]|0;
+ __gcry_mpi_add($60,$61,$62);
+ $63 = HEAP32[$10>>2]|0;
+ $64 = ($63|0)==(0|0);
+ if ($64) {
+ $65 = ((($3)) + 16|0);
+ $66 = HEAP32[$65>>2]|0;
+ __gcry_mpi_mod($60,$60,$66);
+ } else {
+ __gcry_mpi_mod_barrett($60,$60,$63);
+ }
+ $67 = ((($3)) + 92|0);
+ $68 = HEAP32[$67>>2]|0;
+ $69 = HEAP32[$1>>2]|0;
+ $70 = HEAP32[$32>>2]|0;
+ __gcry_mpi_add($68,$69,$70);
+ $71 = HEAP32[$10>>2]|0;
+ $72 = ($71|0)==(0|0);
+ if ($72) {
+ $73 = ((($3)) + 16|0);
+ $74 = HEAP32[$73>>2]|0;
+ __gcry_mpi_mod($68,$68,$74);
+ } else {
+ __gcry_mpi_mod_barrett($68,$68,$71);
+ }
+ $75 = HEAP32[$0>>2]|0;
+ $76 = HEAP32[$2>>2]|0;
+ $77 = HEAP32[$34>>2]|0;
+ __gcry_mpi_add($75,$76,$77);
+ $78 = HEAP32[$10>>2]|0;
+ $79 = ($78|0)==(0|0);
+ if ($79) {
+ $80 = ((($3)) + 16|0);
+ $81 = HEAP32[$80>>2]|0;
+ __gcry_mpi_mod($75,$75,$81);
+ } else {
+ __gcry_mpi_mod_barrett($75,$75,$78);
+ }
+ $82 = HEAP32[$0>>2]|0;
+ $83 = HEAP32[$67>>2]|0;
+ __gcry_mpi_mul($82,$82,$83);
+ $84 = HEAP32[$10>>2]|0;
+ $85 = ($84|0)==(0|0);
+ if ($85) {
+ $86 = ((($3)) + 16|0);
+ $87 = HEAP32[$86>>2]|0;
+ __gcry_mpi_mod($82,$82,$87);
+ } else {
+ __gcry_mpi_mod_barrett($82,$82,$84);
+ }
+ $88 = HEAP32[$0>>2]|0;
+ $89 = HEAP32[$22>>2]|0;
+ __gcry_mpi_sub($88,$88,$89);
+ $90 = HEAP32[$0>>2]|0;
+ $91 = HEAP32[$30>>2]|0;
+ __gcry_mpi_sub($90,$90,$91);
+ $92 = HEAP32[$0>>2]|0;
+ $93 = HEAP32[$55>>2]|0;
+ __gcry_mpi_mul($92,$92,$93);
+ $94 = HEAP32[$10>>2]|0;
+ $95 = ($94|0)==(0|0);
+ if ($95) {
+ $96 = ((($3)) + 16|0);
+ $97 = HEAP32[$96>>2]|0;
+ __gcry_mpi_mod($92,$92,$97);
+ } else {
+ __gcry_mpi_mod_barrett($92,$92,$94);
+ }
+ $98 = HEAP32[$0>>2]|0;
+ $99 = HEAP32[$4>>2]|0;
+ __gcry_mpi_mul($98,$98,$99);
+ $100 = HEAP32[$10>>2]|0;
+ $101 = ($100|0)==(0|0);
+ if ($101) {
+ $102 = ((($3)) + 16|0);
+ $103 = HEAP32[$102>>2]|0;
+ __gcry_mpi_mod($98,$98,$103);
+ } else {
+ __gcry_mpi_mod_barrett($98,$98,$100);
+ }
+ $104 = ((($3)) + 4|0);
+ $105 = HEAP32[$104>>2]|0;
+ $106 = ($105|0)==(1);
+ $107 = ((($0)) + 4|0);
+ $108 = HEAP32[$107>>2]|0;
+ if ($106) {
+ $109 = HEAP32[$22>>2]|0;
+ (__gcry_mpi_set($108,$109)|0);
+ $110 = HEAP32[$107>>2]|0;
+ __gcry_mpi_neg($110,$110);
+ $111 = HEAP32[$107>>2]|0;
+ $112 = HEAP32[$30>>2]|0;
+ __gcry_mpi_sub($111,$112,$111);
+ } else {
+ $113 = ((($3)) + 20|0);
+ $114 = HEAP32[$113>>2]|0;
+ $115 = HEAP32[$22>>2]|0;
+ __gcry_mpi_mul($108,$114,$115);
+ $116 = HEAP32[$10>>2]|0;
+ $117 = ($116|0)==(0|0);
+ if ($117) {
+ $118 = ((($3)) + 16|0);
+ $119 = HEAP32[$118>>2]|0;
+ __gcry_mpi_mod($108,$108,$119);
+ } else {
+ __gcry_mpi_mod_barrett($108,$108,$116);
+ }
+ $120 = HEAP32[$107>>2]|0;
+ $121 = HEAP32[$30>>2]|0;
+ __gcry_mpi_sub($120,$121,$120);
+ }
+ $122 = HEAP32[$107>>2]|0;
+ $123 = HEAP32[$59>>2]|0;
+ __gcry_mpi_mul($122,$122,$123);
+ $124 = HEAP32[$10>>2]|0;
+ $125 = ($124|0)==(0|0);
+ if ($125) {
+ $126 = ((($3)) + 16|0);
+ $127 = HEAP32[$126>>2]|0;
+ __gcry_mpi_mod($122,$122,$127);
+ } else {
+ __gcry_mpi_mod_barrett($122,$122,$124);
+ }
+ $128 = HEAP32[$107>>2]|0;
+ $129 = HEAP32[$4>>2]|0;
+ __gcry_mpi_mul($128,$128,$129);
+ $130 = HEAP32[$10>>2]|0;
+ $131 = ($130|0)==(0|0);
+ if ($131) {
+ $132 = ((($3)) + 16|0);
+ $133 = HEAP32[$132>>2]|0;
+ __gcry_mpi_mod($128,$128,$133);
+ } else {
+ __gcry_mpi_mod_barrett($128,$128,$130);
+ }
+ $134 = ((($0)) + 8|0);
+ $135 = HEAP32[$134>>2]|0;
+ $136 = HEAP32[$55>>2]|0;
+ $137 = HEAP32[$59>>2]|0;
+ __gcry_mpi_mul($135,$136,$137);
+ $138 = HEAP32[$10>>2]|0;
+ $139 = ($138|0)==(0|0);
+ if ($139) {
+ $140 = ((($3)) + 16|0);
+ $141 = HEAP32[$140>>2]|0;
+ __gcry_mpi_mod($135,$135,$141);
+ return;
+ } else {
+ __gcry_mpi_mod_barrett($135,$135,$138);
+ return;
+ }
+}
+function __gcry_mpi_ec_mul_point($0,$1,$2,$3) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ var $$0207234 = 0, $$0207234$phi = 0, $$0208233 = 0, $$0208233$phi = 0, $$0209232 = 0, $$0209232$phi = 0, $$0210 = 0, $$0210231 = 0, $$0210236 = 0, $$0211221 = 0, $$0212 = 0, $$0212226 = 0, $$0212227 = 0, $$0213 = 0, $$0235 = 0, $$0235$phi = 0, $$1 = 0, $$1222 = 0, $$1223 = 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, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0;
+ var $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, $227 = 0;
+ var $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, $245 = 0;
+ var $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, $263 = 0;
+ var $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, $279 = 0, $28 = 0, $280 = 0, $281 = 0;
+ var $282 = 0, $283 = 0, $284 = 0, $285 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0;
+ var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0;
+ var $62 = 0, $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;
+ 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, $phitmp = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0);
+ $vararg_buffer5 = sp + 24|0;
+ $vararg_buffer3 = sp + 16|0;
+ $vararg_buffer1 = sp + 8|0;
+ $vararg_buffer = sp;
+ $4 = sp + 88|0;
+ $5 = sp + 76|0;
+ $6 = sp + 64|0;
+ $7 = sp + 52|0;
+ $8 = sp + 40|0;
+ $9 = sp + 28|0;
+ $10 = HEAP32[$3>>2]|0;
+ switch ($10|0) {
+ case 2: {
+ $11 = (__gcry_mpi_get_nbits($1)|0);
+ $12 = HEAP32[$0>>2]|0;
+ (__gcry_mpi_set_ui($12,0)|0);
+ $13 = ((($0)) + 4|0);
+ $14 = HEAP32[$13>>2]|0;
+ (__gcry_mpi_set_ui($14,1)|0);
+ $15 = ((($0)) + 8|0);
+ $16 = HEAP32[$15>>2]|0;
+ (__gcry_mpi_set_ui($16,1)|0);
+ $17 = ($1|0)==(0|0);
+ if (!($17)) {
+ $18 = ((($1)) + 12|0);
+ $19 = HEAP32[$18>>2]|0;
+ $20 = $19 & 1;
+ $21 = ($20|0)==(0);
+ if (!($21)) {
+ $22 = (__gcry_mpi_new(0)|0);
+ HEAP32[$7>>2] = $22;
+ $23 = (__gcry_mpi_new(0)|0);
+ $24 = ((($7)) + 4|0);
+ HEAP32[$24>>2] = $23;
+ $25 = (__gcry_mpi_new(0)|0);
+ $26 = ((($7)) + 8|0);
+ HEAP32[$26>>2] = $25;
+ $$0212226 = (($11) + -1)|0;
+ $27 = ($$0212226|0)>(-1);
+ if ($27) {
+ $$0212227 = $$0212226;
+ while(1) {
+ __gcry_mpi_ec_dup_point($0,$0,$3);
+ __gcry_mpi_ec_add_points($7,$0,$2,$3);
+ $28 = (__gcry_mpi_test_bit($1,$$0212227)|0);
+ $29 = ($28|0)==(0);
+ if (!($29)) {
+ $30 = HEAP32[$0>>2]|0;
+ (__gcry_mpi_set($30,$22)|0);
+ $31 = HEAP32[$13>>2]|0;
+ (__gcry_mpi_set($31,$23)|0);
+ $32 = HEAP32[$15>>2]|0;
+ (__gcry_mpi_set($32,$25)|0);
+ }
+ $$0212 = (($$0212227) + -1)|0;
+ $33 = ($$0212|0)>(-1);
+ if ($33) {
+ $$0212227 = $$0212;
+ } else {
+ break;
+ }
+ }
+ }
+ __gcry_mpi_free($22);
+ __gcry_mpi_free($23);
+ __gcry_mpi_free($25);
+ STACKTOP = sp;return;
+ }
+ }
+ $$1222 = (($11) + -1)|0;
+ $34 = ($$1222|0)>(-1);
+ if (!($34)) {
+ STACKTOP = sp;return;
+ }
+ $$1223 = $$1222;
+ while(1) {
+ __gcry_mpi_ec_dup_point($0,$0,$3);
+ $35 = (__gcry_mpi_test_bit($1,$$1223)|0);
+ $36 = ($35|0)==(0);
+ if (!($36)) {
+ __gcry_mpi_ec_add_points($0,$0,$2,$3);
+ }
+ $$1 = (($$1223) + -1)|0;
+ $37 = ($$1|0)>(-1);
+ if ($37) {
+ $$1223 = $$1;
+ } else {
+ break;
+ }
+ }
+ STACKTOP = sp;return;
+ break;
+ }
+ case 1: {
+ $38 = (__gcry_mpi_get_nbits($1)|0);
+ $39 = (__gcry_mpi_new(0)|0);
+ HEAP32[$4>>2] = $39;
+ $40 = (__gcry_mpi_new(0)|0);
+ $41 = ((($4)) + 4|0);
+ HEAP32[$41>>2] = $40;
+ $42 = (__gcry_mpi_new(0)|0);
+ $43 = ((($4)) + 8|0);
+ HEAP32[$43>>2] = $42;
+ $44 = (__gcry_mpi_new(0)|0);
+ $45 = (__gcry_mpi_new(0)|0);
+ $46 = ((($5)) + 4|0);
+ HEAP32[$46>>2] = $45;
+ $47 = (__gcry_mpi_new(0)|0);
+ $48 = ((($5)) + 8|0);
+ HEAP32[$48>>2] = $47;
+ $49 = (__gcry_mpi_new(0)|0);
+ HEAP32[$8>>2] = $49;
+ $50 = (__gcry_mpi_new(0)|0);
+ $51 = ((($8)) + 4|0);
+ HEAP32[$51>>2] = $50;
+ $52 = (__gcry_mpi_new(0)|0);
+ $53 = ((($8)) + 8|0);
+ HEAP32[$53>>2] = $52;
+ $54 = (__gcry_mpi_new(0)|0);
+ HEAP32[$9>>2] = $54;
+ $55 = (__gcry_mpi_new(0)|0);
+ $56 = ((($9)) + 4|0);
+ HEAP32[$56>>2] = $55;
+ $57 = (__gcry_mpi_new(0)|0);
+ $58 = ((($9)) + 8|0);
+ HEAP32[$58>>2] = $57;
+ (__gcry_mpi_set_ui($39,1)|0);
+ __gcry_mpi_free($44);
+ $59 = HEAP32[$2>>2]|0;
+ $60 = (__gcry_mpi_copy($59)|0);
+ HEAP32[$5>>2] = $60;
+ (__gcry_mpi_set_ui($47,1)|0);
+ $61 = $38 << 1;
+ $62 = (($61) + 62)|0;
+ $63 = $62 >>> 5;
+ $64 = (($63) + 1)|0;
+ __gcry_mpi_resize($39,$64);
+ __gcry_mpi_resize($42,$64);
+ __gcry_mpi_resize($60,$64);
+ __gcry_mpi_resize($47,$64);
+ __gcry_mpi_resize($49,$64);
+ __gcry_mpi_resize($52,$64);
+ __gcry_mpi_resize($54,$64);
+ __gcry_mpi_resize($57,$64);
+ $$0210231 = (($38) + -1)|0;
+ $65 = ($$0210231|0)>(-1);
+ if ($65) {
+ $66 = ((($3)) + 60|0);
+ $67 = ((($3)) + 16|0);
+ $68 = ((($3)) + 20|0);
+ $$0207234 = $8;$$0208233 = $5;$$0209232 = $4;$$0210236 = $$0210231;$$0235 = $9;
+ while(1) {
+ $69 = (__gcry_mpi_test_bit($1,$$0210236)|0);
+ $70 = HEAP32[$$0209232>>2]|0;
+ $71 = HEAP32[$$0208233>>2]|0;
+ __gcry_mpi_swap_cond($70,$71,$69);
+ $72 = ((($$0209232)) + 8|0);
+ $73 = HEAP32[$72>>2]|0;
+ $74 = ((($$0208233)) + 8|0);
+ $75 = HEAP32[$74>>2]|0;
+ __gcry_mpi_swap_cond($73,$75,$69);
+ $76 = HEAP32[$2>>2]|0;
+ $77 = HEAP32[$$0235>>2]|0;
+ $78 = HEAP32[$$0208233>>2]|0;
+ $79 = HEAP32[$74>>2]|0;
+ __gcry_mpi_add($77,$78,$79);
+ $80 = HEAP32[$66>>2]|0;
+ $81 = ($80|0)==(0|0);
+ if ($81) {
+ $82 = HEAP32[$67>>2]|0;
+ __gcry_mpi_mod($77,$77,$82);
+ } else {
+ __gcry_mpi_mod_barrett($77,$77,$80);
+ }
+ $83 = HEAP32[$74>>2]|0;
+ $84 = HEAP32[$$0208233>>2]|0;
+ __gcry_mpi_sub($83,$84,$83);
+ $85 = HEAP32[$$0207234>>2]|0;
+ $86 = HEAP32[$$0209232>>2]|0;
+ $87 = HEAP32[$72>>2]|0;
+ __gcry_mpi_add($85,$86,$87);
+ $88 = HEAP32[$66>>2]|0;
+ $89 = ($88|0)==(0|0);
+ if ($89) {
+ $90 = HEAP32[$67>>2]|0;
+ __gcry_mpi_mod($85,$85,$90);
+ } else {
+ __gcry_mpi_mod_barrett($85,$85,$88);
+ }
+ $91 = HEAP32[$72>>2]|0;
+ $92 = HEAP32[$$0209232>>2]|0;
+ __gcry_mpi_sub($91,$92,$91);
+ $93 = HEAP32[$$0208233>>2]|0;
+ $94 = HEAP32[$72>>2]|0;
+ $95 = HEAP32[$$0235>>2]|0;
+ __gcry_mpi_mul($93,$94,$95);
+ $96 = HEAP32[$66>>2]|0;
+ $97 = ($96|0)==(0|0);
+ if ($97) {
+ $98 = HEAP32[$67>>2]|0;
+ __gcry_mpi_mod($93,$93,$98);
+ } else {
+ __gcry_mpi_mod_barrett($93,$93,$96);
+ }
+ $99 = HEAP32[$74>>2]|0;
+ $100 = HEAP32[$$0207234>>2]|0;
+ __gcry_mpi_mul($99,$100,$99);
+ $101 = HEAP32[$66>>2]|0;
+ $102 = ($101|0)==(0|0);
+ if ($102) {
+ $103 = HEAP32[$67>>2]|0;
+ __gcry_mpi_mod($99,$99,$103);
+ } else {
+ __gcry_mpi_mod_barrett($99,$99,$101);
+ }
+ $104 = HEAP32[$$0209232>>2]|0;
+ $105 = HEAP32[$$0207234>>2]|0;
+ __gcry_mpi_mul($104,$105,$105);
+ $106 = HEAP32[$66>>2]|0;
+ $107 = ($106|0)==(0|0);
+ if ($107) {
+ $108 = HEAP32[$67>>2]|0;
+ __gcry_mpi_mod($104,$104,$108);
+ } else {
+ __gcry_mpi_mod_barrett($104,$104,$106);
+ }
+ $109 = HEAP32[$72>>2]|0;
+ __gcry_mpi_mul($109,$109,$109);
+ $110 = HEAP32[$66>>2]|0;
+ $111 = ($110|0)==(0|0);
+ if ($111) {
+ $112 = HEAP32[$67>>2]|0;
+ __gcry_mpi_mod($109,$109,$112);
+ } else {
+ __gcry_mpi_mod_barrett($109,$109,$110);
+ }
+ $113 = HEAP32[$$0235>>2]|0;
+ $114 = HEAP32[$$0208233>>2]|0;
+ $115 = HEAP32[$74>>2]|0;
+ __gcry_mpi_add($113,$114,$115);
+ $116 = HEAP32[$66>>2]|0;
+ $117 = ($116|0)==(0|0);
+ if ($117) {
+ $118 = HEAP32[$67>>2]|0;
+ __gcry_mpi_mod($113,$113,$118);
+ } else {
+ __gcry_mpi_mod_barrett($113,$113,$116);
+ }
+ $119 = HEAP32[$74>>2]|0;
+ $120 = HEAP32[$$0208233>>2]|0;
+ __gcry_mpi_sub($119,$120,$119);
+ $121 = HEAP32[$$0207234>>2]|0;
+ $122 = HEAP32[$$0209232>>2]|0;
+ $123 = HEAP32[$72>>2]|0;
+ __gcry_mpi_mul($121,$122,$123);
+ $124 = HEAP32[$66>>2]|0;
+ $125 = ($124|0)==(0|0);
+ if ($125) {
+ $126 = HEAP32[$67>>2]|0;
+ __gcry_mpi_mod($121,$121,$126);
+ } else {
+ __gcry_mpi_mod_barrett($121,$121,$124);
+ }
+ $127 = HEAP32[$72>>2]|0;
+ $128 = HEAP32[$$0209232>>2]|0;
+ __gcry_mpi_sub($127,$128,$127);
+ $129 = HEAP32[$$0235>>2]|0;
+ __gcry_mpi_mul($129,$129,$129);
+ $130 = HEAP32[$66>>2]|0;
+ $131 = ($130|0)==(0|0);
+ if ($131) {
+ $132 = HEAP32[$67>>2]|0;
+ __gcry_mpi_mod($129,$129,$132);
+ } else {
+ __gcry_mpi_mod_barrett($129,$129,$130);
+ }
+ $133 = ((($$0235)) + 8|0);
+ $134 = HEAP32[$133>>2]|0;
+ $135 = HEAP32[$74>>2]|0;
+ __gcry_mpi_mul($134,$135,$135);
+ $136 = HEAP32[$66>>2]|0;
+ $137 = ($136|0)==(0|0);
+ if ($137) {
+ $138 = HEAP32[$67>>2]|0;
+ __gcry_mpi_mod($134,$134,$138);
+ } else {
+ __gcry_mpi_mod_barrett($134,$134,$136);
+ }
+ $139 = ((($$0207234)) + 8|0);
+ $140 = HEAP32[$139>>2]|0;
+ $141 = HEAP32[$72>>2]|0;
+ $142 = HEAP32[$68>>2]|0;
+ __gcry_mpi_mul($140,$141,$142);
+ $143 = HEAP32[$66>>2]|0;
+ $144 = ($143|0)==(0|0);
+ if ($144) {
+ $145 = HEAP32[$67>>2]|0;
+ __gcry_mpi_mod($140,$140,$145);
+ } else {
+ __gcry_mpi_mod_barrett($140,$140,$143);
+ }
+ $146 = HEAP32[$133>>2]|0;
+ __gcry_mpi_mul($146,$146,$76);
+ $147 = HEAP32[$66>>2]|0;
+ $148 = ($147|0)==(0|0);
+ if ($148) {
+ $149 = HEAP32[$67>>2]|0;
+ __gcry_mpi_mod($146,$146,$149);
+ } else {
+ __gcry_mpi_mod_barrett($146,$146,$147);
+ }
+ $150 = HEAP32[$139>>2]|0;
+ $151 = HEAP32[$$0209232>>2]|0;
+ __gcry_mpi_add($150,$151,$150);
+ $152 = HEAP32[$66>>2]|0;
+ $153 = ($152|0)==(0|0);
+ if ($153) {
+ $154 = HEAP32[$67>>2]|0;
+ __gcry_mpi_mod($150,$150,$154);
+ } else {
+ __gcry_mpi_mod_barrett($150,$150,$152);
+ }
+ $155 = HEAP32[$139>>2]|0;
+ $156 = HEAP32[$72>>2]|0;
+ __gcry_mpi_mul($155,$155,$156);
+ $157 = HEAP32[$66>>2]|0;
+ $158 = ($157|0)==(0|0);
+ if ($158) {
+ $159 = HEAP32[$67>>2]|0;
+ __gcry_mpi_mod($155,$155,$159);
+ } else {
+ __gcry_mpi_mod_barrett($155,$155,$157);
+ }
+ $160 = HEAP32[$$0207234>>2]|0;
+ $161 = HEAP32[$$0235>>2]|0;
+ __gcry_mpi_swap_cond($160,$161,$69);
+ $162 = HEAP32[$139>>2]|0;
+ $163 = HEAP32[$133>>2]|0;
+ __gcry_mpi_swap_cond($162,$163,$69);
+ $$0210 = (($$0210236) + -1)|0;
+ $164 = ($$0210|0)>(-1);
+ if ($164) {
+ $$0235$phi = $$0208233;$$0209232$phi = $$0207234;$$0208233$phi = $$0235;$$0207234$phi = $$0209232;$$0210236 = $$0210;$$0235 = $$0235$phi;$$0209232 = $$0209232$phi;$$0208233 = $$0208233$phi;$$0207234 = $$0207234$phi;
+ } else {
+ break;
+ }
+ }
+ }
+ $165 = ((($0)) + 4|0);
+ $166 = HEAP32[$165>>2]|0;
+ __gcry_mpi_clear($166);
+ $167 = $38 & 1;
+ __gcry_mpi_swap_cond($39,$49,$167);
+ __gcry_mpi_swap_cond($42,$52,$167);
+ $168 = ((($42)) + 4|0);
+ $169 = HEAP32[$168>>2]|0;
+ $170 = ($169|0)==(0);
+ if ($170) {
+ $171 = HEAP32[$0>>2]|0;
+ (__gcry_mpi_set_ui($171,1)|0);
+ $172 = ((($0)) + 8|0);
+ $173 = HEAP32[$172>>2]|0;
+ (__gcry_mpi_set_ui($173,0)|0);
+ } else {
+ $174 = (__gcry_mpi_new(0)|0);
+ $175 = ((($3)) + 16|0);
+ $176 = HEAP32[$175>>2]|0;
+ $177 = (__gcry_mpi_invm($174,$42,$176)|0);
+ $178 = ($177|0)==(0);
+ if ($178) {
+ __gcry_log_error(63791,$vararg_buffer);
+ __gcry_log_printmpi(63825,$42);
+ $179 = HEAP32[$175>>2]|0;
+ __gcry_log_printmpi(63829,$179);
+ }
+ $180 = HEAP32[$0>>2]|0;
+ __gcry_mpi_mul($180,$39,$174);
+ $181 = ((($3)) + 60|0);
+ $182 = HEAP32[$181>>2]|0;
+ $183 = ($182|0)==(0|0);
+ if ($183) {
+ $184 = HEAP32[$175>>2]|0;
+ __gcry_mpi_mod($180,$180,$184);
+ } else {
+ __gcry_mpi_mod_barrett($180,$180,$182);
+ }
+ $185 = ((($0)) + 8|0);
+ $186 = HEAP32[$185>>2]|0;
+ (__gcry_mpi_set_ui($186,1)|0);
+ __gcry_mpi_free($174);
+ }
+ __gcry_mpi_free($39);
+ HEAP32[$4>>2] = 0;
+ __gcry_mpi_free($40);
+ HEAP32[$41>>2] = 0;
+ __gcry_mpi_free($42);
+ HEAP32[$43>>2] = 0;
+ __gcry_mpi_free($60);
+ HEAP32[$5>>2] = 0;
+ __gcry_mpi_free($45);
+ HEAP32[$46>>2] = 0;
+ __gcry_mpi_free($47);
+ HEAP32[$48>>2] = 0;
+ __gcry_mpi_free($49);
+ __gcry_mpi_free($50);
+ __gcry_mpi_free($52);
+ __gcry_mpi_free($54);
+ __gcry_mpi_free($55);
+ __gcry_mpi_free($57);
+ STACKTOP = sp;return;
+ break;
+ }
+ default: {
+ $187 = ((($3)) + 16|0);
+ $188 = HEAP32[$187>>2]|0;
+ $189 = (__gcry_mpi_alloc_like($188)|0);
+ $190 = HEAP32[$187>>2]|0;
+ $191 = (__gcry_mpi_alloc_like($190)|0);
+ $192 = HEAP32[$187>>2]|0;
+ $193 = (__gcry_mpi_alloc_like($192)|0);
+ $194 = (__gcry_mpi_copy($1)|0);
+ $195 = ((($2)) + 4|0);
+ $196 = HEAP32[$195>>2]|0;
+ $197 = (__gcry_mpi_copy($196)|0);
+ $198 = ((($194)) + 8|0);
+ $199 = HEAP32[$198>>2]|0;
+ $200 = ($199|0)==(0);
+ if (!($200)) {
+ HEAP32[$198>>2] = 0;
+ $201 = HEAP32[$187>>2]|0;
+ $202 = (__gcry_mpi_invm($197,$197,$201)|0);
+ $203 = ($202|0)==(0);
+ if ($203) {
+ __gcry_log_error(63791,$vararg_buffer1);
+ __gcry_log_printmpi(63825,$197);
+ $204 = HEAP32[$187>>2]|0;
+ __gcry_log_printmpi(63829,$204);
+ }
+ }
+ $205 = ((($2)) + 8|0);
+ $206 = HEAP32[$205>>2]|0;
+ $207 = (__gcry_mpi_cmp_ui($206,1)|0);
+ $208 = ($207|0)==(0);
+ if ($208) {
+ $209 = HEAP32[$2>>2]|0;
+ (__gcry_mpi_set($189,$209)|0);
+ (__gcry_mpi_set($191,$197)|0);
+ } else {
+ $210 = HEAP32[$187>>2]|0;
+ $211 = (__gcry_mpi_alloc_like($210)|0);
+ $212 = HEAP32[$187>>2]|0;
+ $213 = (__gcry_mpi_alloc_like($212)|0);
+ $214 = HEAP32[$205>>2]|0;
+ __gcry_mpi_mul($211,$214,$214);
+ $215 = ((($3)) + 60|0);
+ $216 = HEAP32[$215>>2]|0;
+ $217 = ($216|0)==(0|0);
+ if ($217) {
+ $218 = HEAP32[$187>>2]|0;
+ __gcry_mpi_mod($211,$211,$218);
+ } else {
+ __gcry_mpi_mod_barrett($211,$211,$216);
+ }
+ $219 = HEAP32[$205>>2]|0;
+ __gcry_mpi_mul($213,$219,$211);
+ $220 = HEAP32[$215>>2]|0;
+ $221 = ($220|0)==(0|0);
+ if ($221) {
+ $222 = HEAP32[$187>>2]|0;
+ __gcry_mpi_mod($213,$213,$222);
+ } else {
+ __gcry_mpi_mod_barrett($213,$213,$220);
+ }
+ $223 = HEAP32[$187>>2]|0;
+ $224 = (__gcry_mpi_invm($211,$211,$223)|0);
+ $225 = ($224|0)==(0);
+ if ($225) {
+ __gcry_log_error(63791,$vararg_buffer3);
+ __gcry_log_printmpi(63825,$211);
+ $226 = HEAP32[$187>>2]|0;
+ __gcry_log_printmpi(63829,$226);
+ }
+ $227 = HEAP32[$2>>2]|0;
+ __gcry_mpi_mul($189,$227,$211);
+ $228 = HEAP32[$215>>2]|0;
+ $229 = ($228|0)==(0|0);
+ if ($229) {
+ $230 = HEAP32[$187>>2]|0;
+ __gcry_mpi_mod($189,$189,$230);
+ } else {
+ __gcry_mpi_mod_barrett($189,$189,$228);
+ }
+ $231 = HEAP32[$187>>2]|0;
+ $232 = (__gcry_mpi_invm($213,$213,$231)|0);
+ $233 = ($232|0)==(0);
+ if ($233) {
+ __gcry_log_error(63791,$vararg_buffer5);
+ __gcry_log_printmpi(63825,$213);
+ $234 = HEAP32[$187>>2]|0;
+ __gcry_log_printmpi(63829,$234);
+ }
+ __gcry_mpi_mul($191,$197,$213);
+ $235 = HEAP32[$215>>2]|0;
+ $236 = ($235|0)==(0|0);
+ if ($236) {
+ $237 = HEAP32[$187>>2]|0;
+ __gcry_mpi_mod($191,$191,$237);
+ } else {
+ __gcry_mpi_mod_barrett($191,$191,$235);
+ }
+ __gcry_mpi_free($211);
+ __gcry_mpi_free($213);
+ }
+ $238 = (__gcry_mpi_const(1)|0);
+ $239 = (__gcry_mpi_copy($238)|0);
+ $240 = (__gcry_mpi_const(3)|0);
+ __gcry_mpi_mul($193,$194,$240);
+ $241 = (__gcry_mpi_get_nbits($193)|0);
+ $242 = ($241>>>0)<(2);
+ $243 = HEAP32[$0>>2]|0;
+ if ($242) {
+ __gcry_mpi_clear($243);
+ $244 = ((($0)) + 4|0);
+ $245 = HEAP32[$244>>2]|0;
+ __gcry_mpi_clear($245);
+ $246 = ((($0)) + 8|0);
+ $247 = HEAP32[$246>>2]|0;
+ __gcry_mpi_clear($247);
+ $$0213 = 0;
+ } else {
+ $248 = HEAP32[$2>>2]|0;
+ (__gcry_mpi_set($243,$248)|0);
+ $249 = ((($0)) + 4|0);
+ $250 = HEAP32[$249>>2]|0;
+ (__gcry_mpi_set($250,$197)|0);
+ $251 = ((($0)) + 8|0);
+ $252 = HEAP32[$251>>2]|0;
+ $253 = HEAP32[$205>>2]|0;
+ (__gcry_mpi_set($252,$253)|0);
+ $phitmp = (($241) + -2)|0;
+ $$0213 = $phitmp;
+ }
+ __gcry_mpi_free($197);
+ HEAP32[$4>>2] = $189;
+ $254 = ((($4)) + 4|0);
+ HEAP32[$254>>2] = $191;
+ $255 = ((($4)) + 8|0);
+ HEAP32[$255>>2] = $239;
+ $256 = (__gcry_mpi_new(0)|0);
+ HEAP32[$5>>2] = $256;
+ $257 = (__gcry_mpi_new(0)|0);
+ $258 = ((($5)) + 4|0);
+ HEAP32[$258>>2] = $257;
+ $259 = (__gcry_mpi_new(0)|0);
+ $260 = ((($5)) + 8|0);
+ HEAP32[$260>>2] = $259;
+ $261 = (__gcry_mpi_new(0)|0);
+ HEAP32[$6>>2] = $261;
+ $262 = (__gcry_mpi_new(0)|0);
+ $263 = ((($6)) + 4|0);
+ HEAP32[$263>>2] = $262;
+ $264 = (__gcry_mpi_new(0)|0);
+ $265 = ((($6)) + 8|0);
+ HEAP32[$265>>2] = $264;
+ $266 = ($$0213|0)==(0);
+ if (!($266)) {
+ $267 = ((($0)) + 4|0);
+ $268 = ((($0)) + 8|0);
+ $$0211221 = $$0213;
+ while(1) {
+ __gcry_mpi_ec_dup_point($0,$0,$3);
+ $269 = (__gcry_mpi_test_bit($193,$$0211221)|0);
+ $270 = ($269|0)==(1);
+ if ($270) {
+ $271 = (__gcry_mpi_test_bit($194,$$0211221)|0);
+ $272 = ($271|0)==(0);
+ if ($272) {
+ $273 = HEAP32[$0>>2]|0;
+ (__gcry_mpi_set($256,$273)|0);
+ $274 = HEAP32[$267>>2]|0;
+ (__gcry_mpi_set($257,$274)|0);
+ $275 = HEAP32[$268>>2]|0;
+ (__gcry_mpi_set($259,$275)|0);
+ __gcry_mpi_ec_add_points($0,$5,$4,$3);
+ }
+ }
+ $276 = (__gcry_mpi_test_bit($193,$$0211221)|0);
+ $277 = ($276|0)==(0);
+ if ($277) {
+ $278 = (__gcry_mpi_test_bit($194,$$0211221)|0);
+ $279 = ($278|0)==(1);
+ if ($279) {
+ $280 = HEAP32[$0>>2]|0;
+ (__gcry_mpi_set($256,$280)|0);
+ $281 = HEAP32[$267>>2]|0;
+ (__gcry_mpi_set($257,$281)|0);
+ $282 = HEAP32[$268>>2]|0;
+ (__gcry_mpi_set($259,$282)|0);
+ (__gcry_mpi_set($261,$189)|0);
+ (__gcry_mpi_set($262,$191)|0);
+ (__gcry_mpi_set($264,$239)|0);
+ $283 = HEAP32[$187>>2]|0;
+ __gcry_mpi_sub($262,$283,$262);
+ __gcry_mpi_ec_add_points($0,$5,$6,$3);
+ }
+ }
+ $284 = (($$0211221) + -1)|0;
+ $285 = ($284|0)==(0);
+ if ($285) {
+ break;
+ } else {
+ $$0211221 = $284;
+ }
+ }
+ }
+ __gcry_mpi_free($189);
+ HEAP32[$4>>2] = 0;
+ __gcry_mpi_free($191);
+ HEAP32[$254>>2] = 0;
+ __gcry_mpi_free($239);
+ HEAP32[$255>>2] = 0;
+ __gcry_mpi_free($256);
+ HEAP32[$5>>2] = 0;
+ __gcry_mpi_free($257);
+ HEAP32[$258>>2] = 0;
+ __gcry_mpi_free($259);
+ HEAP32[$260>>2] = 0;
+ __gcry_mpi_free($261);
+ HEAP32[$6>>2] = 0;
+ __gcry_mpi_free($262);
+ HEAP32[$263>>2] = 0;
+ __gcry_mpi_free($264);
+ HEAP32[$265>>2] = 0;
+ __gcry_mpi_free($193);
+ __gcry_mpi_free($194);
+ STACKTOP = sp;return;
+ }
+ }
+}
+function __gcry_mpi_ec_curve_point($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $$1 = 0, $$2 = 0, $$idx$val = 0, $$pre = 0, $$pre$phi139Z2D = 0, $$pre$phiZ2D = 0, $$pre138 = 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;
+ var $111 = 0, $112 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
+ var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
+ var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
+ var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0;
+ var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $spec$select = 0, $spec$select122 = 0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ $2 = (__gcry_mpi_new(0)|0);
+ $3 = (__gcry_mpi_new(0)|0);
+ $4 = (__gcry_mpi_new(0)|0);
+ $5 = HEAP32[$1>>2]|0;
+ switch ($5|0) {
+ case 0: {
+ $6 = (__gcry_mpi_new(0)|0);
+ $7 = (__gcry_mpi_ec_get_affine($2,$3,$0,$1)|0);
+ $8 = ($7|0)==(0);
+ if (!($8)) {
+ $$1 = 0;
+ return ($$1|0);
+ }
+ __gcry_mpi_mul($3,$3,$3);
+ $9 = ((($1)) + 60|0);
+ $10 = HEAP32[$9>>2]|0;
+ $11 = ($10|0)==(0|0);
+ if ($11) {
+ $12 = ((($1)) + 16|0);
+ $13 = HEAP32[$12>>2]|0;
+ __gcry_mpi_mod($3,$3,$13);
+ $$pre$phiZ2D = $12;
+ } else {
+ __gcry_mpi_mod_barrett($3,$3,$10);
+ $$pre = ((($1)) + 16|0);
+ $$pre$phiZ2D = $$pre;
+ }
+ $14 = (__gcry_mpi_const(3)|0);
+ $15 = HEAP32[$$pre$phiZ2D>>2]|0;
+ __gcry_mpi_powm($6,$2,$14,$15);
+ $16 = ((($1)) + 20|0);
+ $17 = HEAP32[$16>>2]|0;
+ __gcry_mpi_mul($4,$17,$2);
+ $18 = HEAP32[$9>>2]|0;
+ $19 = ($18|0)==(0|0);
+ if ($19) {
+ $20 = HEAP32[$$pre$phiZ2D>>2]|0;
+ __gcry_mpi_mod($4,$4,$20);
+ } else {
+ __gcry_mpi_mod_barrett($4,$4,$18);
+ }
+ $21 = ((($1)) + 24|0);
+ $22 = HEAP32[$21>>2]|0;
+ __gcry_mpi_add($4,$4,$22);
+ $23 = HEAP32[$9>>2]|0;
+ $24 = ($23|0)==(0|0);
+ if ($24) {
+ $25 = HEAP32[$$pre$phiZ2D>>2]|0;
+ __gcry_mpi_mod($4,$4,$25);
+ } else {
+ __gcry_mpi_mod_barrett($4,$4,$23);
+ }
+ __gcry_mpi_add($4,$4,$6);
+ $26 = HEAP32[$9>>2]|0;
+ $27 = ($26|0)==(0|0);
+ if ($27) {
+ $28 = HEAP32[$$pre$phiZ2D>>2]|0;
+ __gcry_mpi_mod($4,$4,$28);
+ } else {
+ __gcry_mpi_mod_barrett($4,$4,$26);
+ }
+ $29 = (__gcry_mpi_cmp($3,$4)|0);
+ $30 = ($29|0)==(0);
+ $spec$select = $30&1;
+ __gcry_mpi_release($6);
+ $$2 = $spec$select;
+ break;
+ }
+ case 1: {
+ $31 = (__gcry_mpi_ec_get_affine($2,0,$0,$1)|0);
+ $32 = ($31|0)==(0);
+ if (!($32)) {
+ $$1 = 0;
+ return ($$1|0);
+ }
+ $33 = ((($1)) + 20|0);
+ $34 = HEAP32[$33>>2]|0;
+ $35 = (__gcry_mpi_const(4)|0);
+ __gcry_mpi_mul($4,$34,$35);
+ $36 = ((($1)) + 60|0);
+ $37 = HEAP32[$36>>2]|0;
+ $38 = ($37|0)==(0|0);
+ if ($38) {
+ $39 = ((($1)) + 16|0);
+ $40 = HEAP32[$39>>2]|0;
+ __gcry_mpi_mod($4,$4,$40);
+ } else {
+ __gcry_mpi_mod_barrett($4,$4,$37);
+ }
+ $41 = (__gcry_mpi_const(2)|0);
+ __gcry_mpi_add($4,$4,$41);
+ $42 = HEAP32[$36>>2]|0;
+ $43 = ($42|0)==(0|0);
+ if ($43) {
+ $44 = ((($1)) + 16|0);
+ $45 = HEAP32[$44>>2]|0;
+ __gcry_mpi_mod($4,$4,$45);
+ } else {
+ __gcry_mpi_mod_barrett($4,$4,$42);
+ }
+ __gcry_mpi_mul($4,$4,$2);
+ $46 = HEAP32[$36>>2]|0;
+ $47 = ($46|0)==(0|0);
+ if ($47) {
+ $48 = ((($1)) + 16|0);
+ $49 = HEAP32[$48>>2]|0;
+ __gcry_mpi_mod($4,$4,$49);
+ } else {
+ __gcry_mpi_mod_barrett($4,$4,$46);
+ }
+ __gcry_mpi_mul($3,$2,$2);
+ $50 = HEAP32[$36>>2]|0;
+ $51 = ($50|0)==(0|0);
+ if ($51) {
+ $52 = ((($1)) + 16|0);
+ $53 = HEAP32[$52>>2]|0;
+ __gcry_mpi_mod($3,$3,$53);
+ } else {
+ __gcry_mpi_mod_barrett($3,$3,$50);
+ }
+ __gcry_mpi_add($4,$4,$3);
+ $54 = HEAP32[$36>>2]|0;
+ $55 = ($54|0)==(0|0);
+ if ($55) {
+ $56 = ((($1)) + 16|0);
+ $57 = HEAP32[$56>>2]|0;
+ __gcry_mpi_mod($4,$4,$57);
+ } else {
+ __gcry_mpi_mod_barrett($4,$4,$54);
+ }
+ $58 = (__gcry_mpi_const(1)|0);
+ __gcry_mpi_add($4,$4,$58);
+ $59 = HEAP32[$36>>2]|0;
+ $60 = ($59|0)==(0|0);
+ if ($60) {
+ $61 = ((($1)) + 16|0);
+ $62 = HEAP32[$61>>2]|0;
+ __gcry_mpi_mod($4,$4,$62);
+ } else {
+ __gcry_mpi_mod_barrett($4,$4,$59);
+ }
+ __gcry_mpi_mul($4,$4,$2);
+ $63 = HEAP32[$36>>2]|0;
+ $64 = ($63|0)==(0|0);
+ if ($64) {
+ $65 = ((($1)) + 16|0);
+ $66 = HEAP32[$65>>2]|0;
+ __gcry_mpi_mod($4,$4,$66);
+ } else {
+ __gcry_mpi_mod_barrett($4,$4,$63);
+ }
+ $67 = ((($1)) + 24|0);
+ $68 = HEAP32[$67>>2]|0;
+ __gcry_mpi_mul($4,$4,$68);
+ $69 = HEAP32[$36>>2]|0;
+ $70 = ($69|0)==(0|0);
+ if ($70) {
+ $71 = ((($1)) + 16|0);
+ $72 = HEAP32[$71>>2]|0;
+ __gcry_mpi_mod($4,$4,$72);
+ $$pre$phi139Z2D = $71;
+ } else {
+ __gcry_mpi_mod_barrett($4,$4,$69);
+ $$pre138 = ((($1)) + 16|0);
+ $$pre$phi139Z2D = $$pre138;
+ }
+ $73 = HEAP32[$$pre$phi139Z2D>>2]|0;
+ $74 = (__gcry_mpi_const(1)|0);
+ __gcry_mpi_sub($3,$73,$74);
+ __gcry_mpi_rshift($3,$3,1);
+ $$idx$val = HEAP32[$$pre$phi139Z2D>>2]|0;
+ __gcry_mpi_powm($4,$4,$3,$$idx$val);
+ $75 = (__gcry_mpi_cmp_ui($4,1)|0);
+ $$2 = $75;
+ break;
+ }
+ case 2: {
+ $76 = (__gcry_mpi_ec_get_affine($2,$3,$0,$1)|0);
+ $77 = ($76|0)==(0);
+ if (!($77)) {
+ $$1 = 0;
+ return ($$1|0);
+ }
+ __gcry_mpi_mul($2,$2,$2);
+ $78 = ((($1)) + 60|0);
+ $79 = HEAP32[$78>>2]|0;
+ $80 = ($79|0)==(0|0);
+ if ($80) {
+ $81 = ((($1)) + 16|0);
+ $82 = HEAP32[$81>>2]|0;
+ __gcry_mpi_mod($2,$2,$82);
+ } else {
+ __gcry_mpi_mod_barrett($2,$2,$79);
+ }
+ __gcry_mpi_mul($3,$3,$3);
+ $83 = HEAP32[$78>>2]|0;
+ $84 = ($83|0)==(0|0);
+ if ($84) {
+ $85 = ((($1)) + 16|0);
+ $86 = HEAP32[$85>>2]|0;
+ __gcry_mpi_mod($3,$3,$86);
+ } else {
+ __gcry_mpi_mod_barrett($3,$3,$83);
+ }
+ $87 = ((($1)) + 4|0);
+ $88 = HEAP32[$87>>2]|0;
+ $89 = ($88|0)==(1);
+ do {
+ if ($89) {
+ (__gcry_mpi_set($4,$2)|0);
+ __gcry_mpi_neg($4,$4);
+ } else {
+ $90 = ((($1)) + 20|0);
+ $91 = HEAP32[$90>>2]|0;
+ __gcry_mpi_mul($4,$91,$2);
+ $92 = HEAP32[$78>>2]|0;
+ $93 = ($92|0)==(0|0);
+ if ($93) {
+ $94 = ((($1)) + 16|0);
+ $95 = HEAP32[$94>>2]|0;
+ __gcry_mpi_mod($4,$4,$95);
+ break;
+ } else {
+ __gcry_mpi_mod_barrett($4,$4,$92);
+ break;
+ }
+ }
+ } while(0);
+ __gcry_mpi_add($4,$4,$3);
+ $96 = HEAP32[$78>>2]|0;
+ $97 = ($96|0)==(0|0);
+ if ($97) {
+ $98 = ((($1)) + 16|0);
+ $99 = HEAP32[$98>>2]|0;
+ __gcry_mpi_mod($4,$4,$99);
+ } else {
+ __gcry_mpi_mod_barrett($4,$4,$96);
+ }
+ $100 = (__gcry_mpi_const(1)|0);
+ __gcry_mpi_sub($4,$4,$100);
+ __gcry_mpi_mul($2,$2,$3);
+ $101 = HEAP32[$78>>2]|0;
+ $102 = ($101|0)==(0|0);
+ if ($102) {
+ $103 = ((($1)) + 16|0);
+ $104 = HEAP32[$103>>2]|0;
+ __gcry_mpi_mod($2,$2,$104);
+ } else {
+ __gcry_mpi_mod_barrett($2,$2,$101);
+ }
+ $105 = ((($1)) + 24|0);
+ $106 = HEAP32[$105>>2]|0;
+ __gcry_mpi_mul($2,$2,$106);
+ $107 = HEAP32[$78>>2]|0;
+ $108 = ($107|0)==(0|0);
+ if ($108) {
+ $109 = ((($1)) + 16|0);
+ $110 = HEAP32[$109>>2]|0;
+ __gcry_mpi_mod($2,$2,$110);
+ } else {
+ __gcry_mpi_mod_barrett($2,$2,$107);
+ }
+ __gcry_mpi_sub($4,$4,$2);
+ $111 = (__gcry_mpi_cmp_ui($4,0)|0);
+ $112 = ($111|0)==(0);
+ $spec$select122 = $112&1;
+ $$2 = $spec$select122;
+ break;
+ }
+ default: {
+ $$2 = 0;
+ }
+ }
+ __gcry_mpi_release($4);
+ __gcry_mpi_release($2);
+ __gcry_mpi_release($3);
+ $$1 = $$2;
+ return ($$1|0);
+}
+function __gcry_mpi_add_ui($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$0 = 0, $$024$i = 0, $$02637$i = 0, $$02637$i62 = 0, $$02836$i = 0, $$02836$i63 = 0, $$035$i = 0, $$035$i69 = 0, $$052 = 0, $$1$i = 0, $$1$i66 = 0, $$127$i = 0, $$127$i65 = 0, $$129$i = 0, $$129$i64 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0;
+ var $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0;
+ var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0;
+ var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0;
+ var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $8 = 0, $9 = 0, $exitcond$i = 0, $exitcond$i70 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $3 = ((($1)) + 4|0);
+ $4 = HEAP32[$3>>2]|0;
+ $5 = ((($1)) + 8|0);
+ $6 = HEAP32[$5>>2]|0;
+ $7 = HEAP32[$0>>2]|0;
+ $8 = ($7|0)>($4|0);
+ if (!($8)) {
+ $9 = (($4) + 1)|0;
+ __gcry_mpi_resize($0,$9);
+ }
+ $10 = ((($1)) + 16|0);
+ $11 = HEAP32[$10>>2]|0;
+ $12 = ((($0)) + 16|0);
+ $13 = HEAP32[$12>>2]|0;
+ $14 = ($4|0)==(0);
+ if ($14) {
+ HEAP32[$13>>2] = $2;
+ $15 = ($2|0)!=(0);
+ $16 = $15&1;
+ $$0 = $16;$$052 = 0;
+ $74 = ((($0)) + 4|0);
+ HEAP32[$74>>2] = $$0;
+ $75 = ((($0)) + 8|0);
+ HEAP32[$75>>2] = $$052;
+ return;
+ }
+ $17 = ($6|0)==(0);
+ if ($17) {
+ $18 = ((($11)) + 4|0);
+ $19 = HEAP32[$11>>2]|0;
+ $20 = (($19) + ($2))|0;
+ $21 = ((($13)) + 4|0);
+ HEAP32[$13>>2] = $20;
+ $22 = ($20>>>0)<($19>>>0);
+ L10: do {
+ if ($22) {
+ $23 = (($4) + -1)|0;
+ $24 = ($23|0)==(0);
+ if ($24) {
+ $$024$i = 1;
+ } else {
+ $$02637$i = $18;$$02836$i = $21;$26 = $23;
+ while(1) {
+ $28 = ((($$02637$i)) + 4|0);
+ $29 = HEAP32[$$02637$i>>2]|0;
+ $30 = (($29) + 1)|0;
+ $31 = ((($$02836$i)) + 4|0);
+ HEAP32[$$02836$i>>2] = $30;
+ $32 = ($30|0)==(0);
+ if (!($32)) {
+ $$1$i = $26;$$127$i = $28;$$129$i = $31;
+ label = 11;
+ break L10;
+ }
+ $25 = (($26) + -1)|0;
+ $27 = ($25|0)==(0);
+ if ($27) {
+ $$024$i = 1;
+ break;
+ } else {
+ $$02637$i = $28;$$02836$i = $31;$26 = $25;
+ }
+ }
+ }
+ } else {
+ $$1$i = $4;$$127$i = $18;$$129$i = $21;
+ label = 11;
+ }
+ } while(0);
+ if ((label|0) == 11) {
+ $33 = ($$129$i|0)==($$127$i|0);
+ if ($33) {
+ $$024$i = 0;
+ } else {
+ $34 = (($$1$i) + -1)|0;
+ $35 = ($$1$i|0)>(1);
+ if ($35) {
+ $$035$i = 0;
+ while(1) {
+ $36 = (($$127$i) + ($$035$i<<2)|0);
+ $37 = HEAP32[$36>>2]|0;
+ $38 = (($$129$i) + ($$035$i<<2)|0);
+ HEAP32[$38>>2] = $37;
+ $39 = (($$035$i) + 1)|0;
+ $exitcond$i = ($39|0)==($34|0);
+ if ($exitcond$i) {
+ $$024$i = 0;
+ break;
+ } else {
+ $$035$i = $39;
+ }
+ }
+ } else {
+ $$024$i = 0;
+ }
+ }
+ }
+ $40 = (($13) + ($4<<2)|0);
+ HEAP32[$40>>2] = $$024$i;
+ $41 = (($$024$i) + ($4))|0;
+ $$0 = $41;$$052 = 0;
+ $74 = ((($0)) + 4|0);
+ HEAP32[$74>>2] = $$0;
+ $75 = ((($0)) + 8|0);
+ HEAP32[$75>>2] = $$052;
+ return;
+ }
+ $42 = ($4|0)==(1);
+ L25: do {
+ if ($42) {
+ $43 = HEAP32[$11>>2]|0;
+ $44 = ($43>>>0)<($2>>>0);
+ if (!($44)) {
+ $67 = (($43) - ($2))|0;
+ HEAP32[$13>>2] = $67;
+ break;
+ }
+ $45 = (($2) - ($43))|0;
+ HEAP32[$13>>2] = $45;
+ $$0 = 1;$$052 = 0;
+ $74 = ((($0)) + 4|0);
+ HEAP32[$74>>2] = $$0;
+ $75 = ((($0)) + 8|0);
+ HEAP32[$75>>2] = $$052;
+ return;
+ } else {
+ $46 = ((($11)) + 4|0);
+ $47 = HEAP32[$11>>2]|0;
+ $48 = (($47) - ($2))|0;
+ $49 = ((($13)) + 4|0);
+ HEAP32[$13>>2] = $48;
+ $50 = ($48>>>0)>($47>>>0);
+ L32: do {
+ if ($50) {
+ $51 = (($4) + -1)|0;
+ $$02637$i62 = $46;$$02836$i63 = $49;$53 = $51;
+ while(1) {
+ $55 = ((($$02637$i62)) + 4|0);
+ $56 = HEAP32[$$02637$i62>>2]|0;
+ $57 = (($56) + -1)|0;
+ $58 = ((($$02836$i63)) + 4|0);
+ HEAP32[$$02836$i63>>2] = $57;
+ $59 = ($56|0)==(0);
+ if (!($59)) {
+ $$1$i66 = $53;$$127$i65 = $55;$$129$i64 = $58;
+ break L32;
+ }
+ $52 = (($53) + -1)|0;
+ $54 = ($52|0)==(0);
+ if ($54) {
+ break L25;
+ } else {
+ $$02637$i62 = $55;$$02836$i63 = $58;$53 = $52;
+ }
+ }
+ } else {
+ $$1$i66 = $4;$$127$i65 = $46;$$129$i64 = $49;
+ }
+ } while(0);
+ $60 = ($$129$i64|0)==($$127$i65|0);
+ if (!($60)) {
+ $61 = (($$1$i66) + -1)|0;
+ $62 = ($$1$i66|0)>(1);
+ if ($62) {
+ $$035$i69 = 0;
+ while(1) {
+ $63 = (($$127$i65) + ($$035$i69<<2)|0);
+ $64 = HEAP32[$63>>2]|0;
+ $65 = (($$129$i64) + ($$035$i69<<2)|0);
+ HEAP32[$65>>2] = $64;
+ $66 = (($$035$i69) + 1)|0;
+ $exitcond$i70 = ($66|0)==($61|0);
+ if ($exitcond$i70) {
+ break;
+ } else {
+ $$035$i69 = $66;
+ }
+ }
+ }
+ }
+ }
+ } while(0);
+ $68 = (($4) + -1)|0;
+ $69 = (($13) + ($68<<2)|0);
+ $70 = HEAP32[$69>>2]|0;
+ $71 = ($70|0)==(0);
+ $72 = $71&1;
+ $73 = (($4) - ($72))|0;
+ $$0 = $73;$$052 = 1;
+ $74 = ((($0)) + 4|0);
+ HEAP32[$74>>2] = $$0;
+ $75 = ((($0)) + 8|0);
+ HEAP32[$75>>2] = $$052;
+ return;
+}
+function __gcry_mpi_add($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$0 = 0, $$0$in = 0, $$0107150 = 0, $$0109 = 0, $$0110 = 0, $$0111161 = 0, $$0113 = 0, $$0114 = 0, $$0115 = 0, $$0115$in = 0, $$01619$i = 0, $$01619$in$i = 0, $$02637$i$i = 0, $$02637$i$i122 = 0, $$02836$i$i = 0, $$02836$i$i123 = 0, $$035$i$i = 0, $$035$i$i129 = 0, $$1 = 0, $$1$i$i = 0;
+ var $$1$i$i126 = 0, $$1$i131 = 0, $$1112$lcssa$ph = 0, $$1112155 = 0, $$127$i$i = 0, $$127$i$i125 = 0, $$129$i$i = 0, $$129$i$i124 = 0, $$2$lcssa = 0, $$2151 = 0, $$3 = 0, $$pn = 0, $$pn116 = 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, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0;
+ var $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, $38 = 0;
+ var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0;
+ var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0;
+ var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0;
+ var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond$i$i = 0, $exitcond$i$i130 = 0, $spec$select = 0, $spec$select117 = 0, $spec$select118 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $3 = ((($1)) + 4|0);
+ $4 = HEAP32[$3>>2]|0;
+ $5 = ((($2)) + 4|0);
+ $6 = HEAP32[$5>>2]|0;
+ $7 = ($4|0)<($6|0);
+ if ($7) {
+ $8 = ((($2)) + 8|0);
+ $9 = HEAP32[$8>>2]|0;
+ $10 = ((($1)) + 8|0);
+ $11 = HEAP32[$10>>2]|0;
+ $12 = HEAP32[$0>>2]|0;
+ $13 = ($12|0)>($6|0);
+ if ($13) {
+ $$0109 = $11;$$0110 = $9;$$0113 = $4;$$0114 = $6;$$pn = $1;$$pn116 = $2;
+ } else {
+ $14 = (($6) + 1)|0;
+ __gcry_mpi_resize($0,$14);
+ $$0109 = $11;$$0110 = $9;$$0113 = $4;$$0114 = $6;$$pn = $1;$$pn116 = $2;
+ }
+ } else {
+ $15 = ((($1)) + 8|0);
+ $16 = HEAP32[$15>>2]|0;
+ $17 = ((($2)) + 8|0);
+ $18 = HEAP32[$17>>2]|0;
+ $19 = HEAP32[$0>>2]|0;
+ $20 = ($19|0)>($4|0);
+ if ($20) {
+ $$0109 = $18;$$0110 = $16;$$0113 = $6;$$0114 = $4;$$pn = $2;$$pn116 = $1;
+ } else {
+ $21 = (($4) + 1)|0;
+ __gcry_mpi_resize($0,$21);
+ $$0109 = $18;$$0110 = $16;$$0113 = $6;$$0114 = $4;$$pn = $2;$$pn116 = $1;
+ }
+ }
+ $$0$in = ((($$pn116)) + 16|0);
+ $$0115$in = ((($$pn)) + 16|0);
+ $$0 = HEAP32[$$0$in>>2]|0;
+ $$0115 = HEAP32[$$0115$in>>2]|0;
+ $22 = ((($0)) + 16|0);
+ $23 = HEAP32[$22>>2]|0;
+ $24 = ($$0113|0)==(0);
+ if ($24) {
+ $25 = ($$0114|0)>(0);
+ if (!($25)) {
+ $$1 = $$0110;$$3 = $$0114;
+ $115 = ((($0)) + 4|0);
+ HEAP32[$115>>2] = $$3;
+ $116 = ((($0)) + 8|0);
+ HEAP32[$116>>2] = $$1;
+ return;
+ }
+ $$0107150 = 0;
+ while(1) {
+ $26 = (($$0) + ($$0107150<<2)|0);
+ $27 = HEAP32[$26>>2]|0;
+ $28 = (($23) + ($$0107150<<2)|0);
+ HEAP32[$28>>2] = $27;
+ $29 = (($$0107150) + 1)|0;
+ $exitcond = ($29|0)==($$0114|0);
+ if ($exitcond) {
+ $$1 = $$0110;$$3 = $$0114;
+ break;
+ } else {
+ $$0107150 = $29;
+ }
+ }
+ $115 = ((($0)) + 4|0);
+ HEAP32[$115>>2] = $$3;
+ $116 = ((($0)) + 8|0);
+ HEAP32[$116>>2] = $$1;
+ return;
+ }
+ $30 = ($$0110|0)==($$0109|0);
+ if ($30) {
+ $85 = (__gcry_mpih_add_n($23,$$0,$$0115,$$0113)|0);
+ $86 = (($$0114) - ($$0113))|0;
+ $87 = ($86|0)==(0);
+ L18: do {
+ if ($87) {
+ $$1$i131 = $85;
+ } else {
+ $88 = (($23) + ($$0113<<2)|0);
+ $89 = (($$0) + ($$0113<<2)|0);
+ $90 = ((($89)) + 4|0);
+ $91 = HEAP32[$89>>2]|0;
+ $92 = (($91) + ($85))|0;
+ $93 = ((($88)) + 4|0);
+ HEAP32[$88>>2] = $92;
+ $94 = ($92>>>0)<($91>>>0);
+ L20: do {
+ if ($94) {
+ $95 = (($86) + -1)|0;
+ $96 = ($95|0)==(0);
+ if ($96) {
+ $$1$i131 = 1;
+ break L18;
+ }
+ $$02637$i$i122 = $90;$$02836$i$i123 = $93;$98 = $95;
+ while(1) {
+ $100 = ((($$02637$i$i122)) + 4|0);
+ $101 = HEAP32[$$02637$i$i122>>2]|0;
+ $102 = (($101) + 1)|0;
+ $103 = ((($$02836$i$i123)) + 4|0);
+ HEAP32[$$02836$i$i123>>2] = $102;
+ $104 = ($102|0)==(0);
+ if (!($104)) {
+ $$1$i$i126 = $98;$$127$i$i125 = $100;$$129$i$i124 = $103;
+ break L20;
+ }
+ $97 = (($98) + -1)|0;
+ $99 = ($97|0)==(0);
+ if ($99) {
+ $$1$i131 = 1;
+ break L18;
+ } else {
+ $$02637$i$i122 = $100;$$02836$i$i123 = $103;$98 = $97;
+ }
+ }
+ } else {
+ $$1$i$i126 = $86;$$127$i$i125 = $90;$$129$i$i124 = $93;
+ }
+ } while(0);
+ $105 = ($$129$i$i124|0)==($$127$i$i125|0);
+ if ($105) {
+ $$1$i131 = 0;
+ } else {
+ $106 = (($$1$i$i126) + -1)|0;
+ $107 = ($$1$i$i126|0)>(1);
+ if ($107) {
+ $$035$i$i129 = 0;
+ while(1) {
+ $108 = (($$127$i$i125) + ($$035$i$i129<<2)|0);
+ $109 = HEAP32[$108>>2]|0;
+ $110 = (($$129$i$i124) + ($$035$i$i129<<2)|0);
+ HEAP32[$110>>2] = $109;
+ $111 = (($$035$i$i129) + 1)|0;
+ $exitcond$i$i130 = ($111|0)==($106|0);
+ if ($exitcond$i$i130) {
+ $$1$i131 = 0;
+ break;
+ } else {
+ $$035$i$i129 = $111;
+ }
+ }
+ } else {
+ $$1$i131 = 0;
+ }
+ }
+ }
+ } while(0);
+ $112 = (($23) + ($$0114<<2)|0);
+ HEAP32[$112>>2] = $$1$i131;
+ $113 = (($$1$i131) + ($$0114))|0;
+ $114 = ($$0110|0)!=(0);
+ $spec$select118 = $114&1;
+ $$1 = $spec$select118;$$3 = $113;
+ $115 = ((($0)) + 4|0);
+ HEAP32[$115>>2] = $$3;
+ $116 = ((($0)) + 8|0);
+ HEAP32[$116>>2] = $$1;
+ return;
+ }
+ $31 = ($$0114|0)==($$0113|0);
+ if ($31) {
+ $65 = ($$0114|0)>(0);
+ L36: do {
+ if ($65) {
+ $$01619$in$i = $$0114;
+ while(1) {
+ $$01619$i = (($$01619$in$i) + -1)|0;
+ $67 = (($$0) + ($$01619$i<<2)|0);
+ $68 = HEAP32[$67>>2]|0;
+ $69 = (($$0115) + ($$01619$i<<2)|0);
+ $70 = HEAP32[$69>>2]|0;
+ $71 = ($68|0)==($70|0);
+ if (!($71)) {
+ label = 31;
+ break;
+ }
+ $66 = ($$01619$in$i|0)>(1);
+ if ($66) {
+ $$01619$in$i = $$01619$i;
+ } else {
+ break;
+ }
+ }
+ if ((label|0) == 31) {
+ $72 = ($68>>>0)>($70>>>0);
+ if (!($72)) {
+ (__gcry_mpih_sub_n($23,$$0115,$$0,$$0114)|0);
+ $$1112155 = $$0114;
+ while(1) {
+ $74 = (($$1112155) + -1)|0;
+ $75 = (($23) + ($74<<2)|0);
+ $76 = HEAP32[$75>>2]|0;
+ $77 = ($76|0)==(0);
+ if (!($77)) {
+ $$1112$lcssa$ph = $$1112155;
+ break;
+ }
+ $73 = ($$1112155|0)>(1);
+ if ($73) {
+ $$1112155 = $74;
+ } else {
+ $$1112$lcssa$ph = $74;
+ break;
+ }
+ }
+ $78 = ($$0110|0)==(0);
+ $spec$select = $78&1;
+ $$1 = $spec$select;$$3 = $$1112$lcssa$ph;
+ $115 = ((($0)) + 4|0);
+ HEAP32[$115>>2] = $$3;
+ $116 = ((($0)) + 8|0);
+ HEAP32[$116>>2] = $$1;
+ return;
+ }
+ }
+ (__gcry_mpih_sub_n($23,$$0,$$0115,$$0114)|0);
+ if ($65) {
+ $$2151 = $$0114;
+ while(1) {
+ $80 = (($$2151) + -1)|0;
+ $81 = (($23) + ($80<<2)|0);
+ $82 = HEAP32[$81>>2]|0;
+ $83 = ($82|0)==(0);
+ if (!($83)) {
+ $$2$lcssa = $$2151;
+ break L36;
+ }
+ $79 = ($$2151|0)>(1);
+ if ($79) {
+ $$2151 = $80;
+ } else {
+ $$2$lcssa = $80;
+ break;
+ }
+ }
+ } else {
+ $$2$lcssa = $$0114;
+ }
+ } else {
+ (__gcry_mpih_sub_n($23,$$0,$$0115,$$0114)|0);
+ $$2$lcssa = $$0114;
+ }
+ } while(0);
+ $84 = ($$0110|0)!=(0);
+ $spec$select117 = $84&1;
+ $$1 = $spec$select117;$$3 = $$2$lcssa;
+ $115 = ((($0)) + 4|0);
+ HEAP32[$115>>2] = $$3;
+ $116 = ((($0)) + 8|0);
+ HEAP32[$116>>2] = $$1;
+ return;
+ } else {
+ $32 = (__gcry_mpih_sub_n($23,$$0,$$0115,$$0113)|0);
+ $33 = (($$0114) - ($$0113))|0;
+ $34 = ($33|0)==(0);
+ L58: do {
+ if (!($34)) {
+ $35 = (($23) + ($$0113<<2)|0);
+ $36 = (($$0) + ($$0113<<2)|0);
+ $37 = ((($36)) + 4|0);
+ $38 = HEAP32[$36>>2]|0;
+ $39 = (($38) - ($32))|0;
+ $40 = ((($35)) + 4|0);
+ HEAP32[$35>>2] = $39;
+ $41 = ($39>>>0)>($38>>>0);
+ L60: do {
+ if ($41) {
+ $42 = (($33) + -1)|0;
+ $43 = ($42|0)==(0);
+ if ($43) {
+ break L58;
+ }
+ $$02637$i$i = $37;$$02836$i$i = $40;$45 = $42;
+ while(1) {
+ $47 = ((($$02637$i$i)) + 4|0);
+ $48 = HEAP32[$$02637$i$i>>2]|0;
+ $49 = (($48) + -1)|0;
+ $50 = ((($$02836$i$i)) + 4|0);
+ HEAP32[$$02836$i$i>>2] = $49;
+ $51 = ($48|0)==(0);
+ if (!($51)) {
+ $$1$i$i = $45;$$127$i$i = $47;$$129$i$i = $50;
+ break L60;
+ }
+ $44 = (($45) + -1)|0;
+ $46 = ($44|0)==(0);
+ if ($46) {
+ break L58;
+ } else {
+ $$02637$i$i = $47;$$02836$i$i = $50;$45 = $44;
+ }
+ }
+ } else {
+ $$1$i$i = $33;$$127$i$i = $37;$$129$i$i = $40;
+ }
+ } while(0);
+ $52 = ($$129$i$i|0)==($$127$i$i|0);
+ if (!($52)) {
+ $53 = (($$1$i$i) + -1)|0;
+ $54 = ($$1$i$i|0)>(1);
+ if ($54) {
+ $$035$i$i = 0;
+ while(1) {
+ $55 = (($$127$i$i) + ($$035$i$i<<2)|0);
+ $56 = HEAP32[$55>>2]|0;
+ $57 = (($$129$i$i) + ($$035$i$i<<2)|0);
+ HEAP32[$57>>2] = $56;
+ $58 = (($$035$i$i) + 1)|0;
+ $exitcond$i$i = ($58|0)==($53|0);
+ if ($exitcond$i$i) {
+ break;
+ } else {
+ $$035$i$i = $58;
+ }
+ }
+ }
+ }
+ }
+ } while(0);
+ $59 = ($$0114|0)>(0);
+ if (!($59)) {
+ $$1 = $$0110;$$3 = $$0114;
+ $115 = ((($0)) + 4|0);
+ HEAP32[$115>>2] = $$3;
+ $116 = ((($0)) + 8|0);
+ HEAP32[$116>>2] = $$1;
+ return;
+ }
+ $$0111161 = $$0114;
+ while(1) {
+ $61 = (($$0111161) + -1)|0;
+ $62 = (($23) + ($61<<2)|0);
+ $63 = HEAP32[$62>>2]|0;
+ $64 = ($63|0)==(0);
+ if (!($64)) {
+ $$1 = $$0110;$$3 = $$0111161;
+ label = 52;
+ break;
+ }
+ $60 = ($$0111161|0)>(1);
+ if ($60) {
+ $$0111161 = $61;
+ } else {
+ $$1 = $$0110;$$3 = $61;
+ label = 52;
+ break;
+ }
+ }
+ if ((label|0) == 52) {
+ $115 = ((($0)) + 4|0);
+ HEAP32[$115>>2] = $$3;
+ $116 = ((($0)) + 8|0);
+ HEAP32[$116>>2] = $$1;
+ return;
+ }
+ }
+}
+function __gcry_mpi_sub_ui($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$0 = 0, $$024$i = 0, $$02637$i = 0, $$02637$i62 = 0, $$02836$i = 0, $$02836$i63 = 0, $$035$i = 0, $$035$i69 = 0, $$052 = 0, $$1$i = 0, $$1$i66 = 0, $$127$i = 0, $$127$i65 = 0, $$129$i = 0, $$129$i64 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0;
+ var $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0;
+ var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0;
+ var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0;
+ var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $8 = 0, $9 = 0, $exitcond$i = 0, $exitcond$i70 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $3 = ((($1)) + 4|0);
+ $4 = HEAP32[$3>>2]|0;
+ $5 = ((($1)) + 8|0);
+ $6 = HEAP32[$5>>2]|0;
+ $7 = HEAP32[$0>>2]|0;
+ $8 = ($7|0)>($4|0);
+ if (!($8)) {
+ $9 = (($4) + 1)|0;
+ __gcry_mpi_resize($0,$9);
+ }
+ $10 = ((($1)) + 16|0);
+ $11 = HEAP32[$10>>2]|0;
+ $12 = ((($0)) + 16|0);
+ $13 = HEAP32[$12>>2]|0;
+ $14 = ($4|0)==(0);
+ if ($14) {
+ HEAP32[$13>>2] = $2;
+ $15 = ($2|0)!=(0);
+ $16 = $15&1;
+ $$0 = $16;$$052 = 1;
+ $74 = ((($0)) + 4|0);
+ HEAP32[$74>>2] = $$0;
+ $75 = ((($0)) + 8|0);
+ HEAP32[$75>>2] = $$052;
+ return;
+ }
+ $17 = ($6|0)==(0);
+ if (!($17)) {
+ $18 = ((($11)) + 4|0);
+ $19 = HEAP32[$11>>2]|0;
+ $20 = (($19) + ($2))|0;
+ $21 = ((($13)) + 4|0);
+ HEAP32[$13>>2] = $20;
+ $22 = ($20>>>0)<($19>>>0);
+ L10: do {
+ if ($22) {
+ $23 = (($4) + -1)|0;
+ $24 = ($23|0)==(0);
+ if ($24) {
+ $$024$i = 1;
+ } else {
+ $$02637$i = $18;$$02836$i = $21;$26 = $23;
+ while(1) {
+ $28 = ((($$02637$i)) + 4|0);
+ $29 = HEAP32[$$02637$i>>2]|0;
+ $30 = (($29) + 1)|0;
+ $31 = ((($$02836$i)) + 4|0);
+ HEAP32[$$02836$i>>2] = $30;
+ $32 = ($30|0)==(0);
+ if (!($32)) {
+ $$1$i = $26;$$127$i = $28;$$129$i = $31;
+ label = 11;
+ break L10;
+ }
+ $25 = (($26) + -1)|0;
+ $27 = ($25|0)==(0);
+ if ($27) {
+ $$024$i = 1;
+ break;
+ } else {
+ $$02637$i = $28;$$02836$i = $31;$26 = $25;
+ }
+ }
+ }
+ } else {
+ $$1$i = $4;$$127$i = $18;$$129$i = $21;
+ label = 11;
+ }
+ } while(0);
+ if ((label|0) == 11) {
+ $33 = ($$129$i|0)==($$127$i|0);
+ if ($33) {
+ $$024$i = 0;
+ } else {
+ $34 = (($$1$i) + -1)|0;
+ $35 = ($$1$i|0)>(1);
+ if ($35) {
+ $$035$i = 0;
+ while(1) {
+ $36 = (($$127$i) + ($$035$i<<2)|0);
+ $37 = HEAP32[$36>>2]|0;
+ $38 = (($$129$i) + ($$035$i<<2)|0);
+ HEAP32[$38>>2] = $37;
+ $39 = (($$035$i) + 1)|0;
+ $exitcond$i = ($39|0)==($34|0);
+ if ($exitcond$i) {
+ $$024$i = 0;
+ break;
+ } else {
+ $$035$i = $39;
+ }
+ }
+ } else {
+ $$024$i = 0;
+ }
+ }
+ }
+ $40 = (($13) + ($4<<2)|0);
+ HEAP32[$40>>2] = $$024$i;
+ $41 = (($$024$i) + ($4))|0;
+ $$0 = $41;$$052 = 0;
+ $74 = ((($0)) + 4|0);
+ HEAP32[$74>>2] = $$0;
+ $75 = ((($0)) + 8|0);
+ HEAP32[$75>>2] = $$052;
+ return;
+ }
+ $42 = ($4|0)==(1);
+ L25: do {
+ if ($42) {
+ $43 = HEAP32[$11>>2]|0;
+ $44 = ($43>>>0)<($2>>>0);
+ if (!($44)) {
+ $67 = (($43) - ($2))|0;
+ HEAP32[$13>>2] = $67;
+ break;
+ }
+ $45 = (($2) - ($43))|0;
+ HEAP32[$13>>2] = $45;
+ $$0 = 1;$$052 = 1;
+ $74 = ((($0)) + 4|0);
+ HEAP32[$74>>2] = $$0;
+ $75 = ((($0)) + 8|0);
+ HEAP32[$75>>2] = $$052;
+ return;
+ } else {
+ $46 = ((($11)) + 4|0);
+ $47 = HEAP32[$11>>2]|0;
+ $48 = (($47) - ($2))|0;
+ $49 = ((($13)) + 4|0);
+ HEAP32[$13>>2] = $48;
+ $50 = ($48>>>0)>($47>>>0);
+ L32: do {
+ if ($50) {
+ $51 = (($4) + -1)|0;
+ $$02637$i62 = $46;$$02836$i63 = $49;$53 = $51;
+ while(1) {
+ $55 = ((($$02637$i62)) + 4|0);
+ $56 = HEAP32[$$02637$i62>>2]|0;
+ $57 = (($56) + -1)|0;
+ $58 = ((($$02836$i63)) + 4|0);
+ HEAP32[$$02836$i63>>2] = $57;
+ $59 = ($56|0)==(0);
+ if (!($59)) {
+ $$1$i66 = $53;$$127$i65 = $55;$$129$i64 = $58;
+ break L32;
+ }
+ $52 = (($53) + -1)|0;
+ $54 = ($52|0)==(0);
+ if ($54) {
+ break L25;
+ } else {
+ $$02637$i62 = $55;$$02836$i63 = $58;$53 = $52;
+ }
+ }
+ } else {
+ $$1$i66 = $4;$$127$i65 = $46;$$129$i64 = $49;
+ }
+ } while(0);
+ $60 = ($$129$i64|0)==($$127$i65|0);
+ if (!($60)) {
+ $61 = (($$1$i66) + -1)|0;
+ $62 = ($$1$i66|0)>(1);
+ if ($62) {
+ $$035$i69 = 0;
+ while(1) {
+ $63 = (($$127$i65) + ($$035$i69<<2)|0);
+ $64 = HEAP32[$63>>2]|0;
+ $65 = (($$129$i64) + ($$035$i69<<2)|0);
+ HEAP32[$65>>2] = $64;
+ $66 = (($$035$i69) + 1)|0;
+ $exitcond$i70 = ($66|0)==($61|0);
+ if ($exitcond$i70) {
+ break;
+ } else {
+ $$035$i69 = $66;
+ }
+ }
+ }
+ }
+ }
+ } while(0);
+ $68 = (($4) + -1)|0;
+ $69 = (($13) + ($68<<2)|0);
+ $70 = HEAP32[$69>>2]|0;
+ $71 = ($70|0)==(0);
+ $72 = $71&1;
+ $73 = (($4) - ($72))|0;
+ $$0 = $73;$$052 = 0;
+ $74 = ((($0)) + 4|0);
+ HEAP32[$74>>2] = $$0;
+ $75 = ((($0)) + 8|0);
+ HEAP32[$75>>2] = $$052;
+ return;
+}
+function __gcry_mpi_sub($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $3 = (__gcry_mpi_copy($2)|0);
+ $4 = ((($3)) + 8|0);
+ $5 = HEAP32[$4>>2]|0;
+ $6 = ($5|0)==(0);
+ $7 = $6&1;
+ HEAP32[$4>>2] = $7;
+ __gcry_mpi_add($0,$1,$3);
+ __gcry_mpi_free($3);
+ return;
+}
+function __gcry_mpi_addm($0,$1,$2,$3) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ __gcry_mpi_add($0,$1,$2);
+ __gcry_mpi_mod($0,$0,$3);
+ return;
+}
+function __gcry_mpi_subm($0,$1,$2,$3) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $4 = (__gcry_mpi_copy($2)|0);
+ $5 = ((($4)) + 8|0);
+ $6 = HEAP32[$5>>2]|0;
+ $7 = ($6|0)==(0);
+ $8 = $7&1;
+ HEAP32[$5>>2] = $8;
+ __gcry_mpi_add($0,$1,$4);
+ __gcry_mpi_free($4);
+ __gcry_mpi_mod($0,$0,$3);
+ return;
+}
+function __gcry_mpi_normalize($0) {
+ $0 = $0|0;
+ var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = ($0|0)==(0|0);
+ if (!($1)) {
+ $2 = ((($0)) + 12|0);
+ $3 = HEAP32[$2>>2]|0;
+ $4 = $3 & 4;
+ $5 = ($4|0)==(0);
+ if (!($5)) {
+ return;
+ }
+ }
+ $6 = ((($0)) + 4|0);
+ $7 = HEAP32[$6>>2]|0;
+ $8 = ($7|0)==(0);
+ if ($8) {
+ return;
+ }
+ $9 = ((($0)) + 16|0);
+ $10 = HEAP32[$9>>2]|0;
+ $12 = $7;
+ while(1) {
+ $11 = (($12) + -1)|0;
+ $13 = (($10) + ($11<<2)|0);
+ $14 = HEAP32[$13>>2]|0;
+ $15 = ($14|0)==(0);
+ if (!($15)) {
+ label = 7;
+ break;
+ }
+ HEAP32[$6>>2] = $11;
+ $16 = ($11|0)==(0);
+ if ($16) {
+ label = 7;
+ break;
+ } else {
+ $12 = $11;
+ }
+ }
+ if ((label|0) == 7) {
+ return;
+ }
+}
+function __gcry_mpi_get_nbits($0) {
+ $0 = $0|0;
+ var $$0 = 0, $$024 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
+ var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0;
+ var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = ($0|0)==(0|0);
+ L1: do {
+ if ($1) {
+ $8 = HEAP32[(4)>>2]|0;
+ $9 = ($8|0)==(0);
+ if (!($9)) {
+ $10 = HEAP32[(16)>>2]|0;
+ $12 = $8;
+ while(1) {
+ $11 = (($12) + -1)|0;
+ $13 = (($10) + ($11<<2)|0);
+ $14 = HEAP32[$13>>2]|0;
+ $15 = ($14|0)==(0);
+ if (!($15)) {
+ break L1;
+ }
+ HEAP32[(4)>>2] = $11;
+ $16 = ($11|0)==(0);
+ if ($16) {
+ break;
+ } else {
+ $12 = $11;
+ }
+ }
+ }
+ } else {
+ $2 = ((($0)) + 12|0);
+ $3 = HEAP32[$2>>2]|0;
+ $4 = $3 & 4;
+ $5 = ($4|0)==(0);
+ if (!($5)) {
+ $6 = ((($0)) + 8|0);
+ $7 = HEAP32[$6>>2]|0;
+ $$0 = $7;
+ return ($$0|0);
+ }
+ $17 = ((($0)) + 4|0);
+ $18 = HEAP32[$17>>2]|0;
+ $19 = ($18|0)==(0);
+ if (!($19)) {
+ $20 = ((($0)) + 16|0);
+ $21 = HEAP32[$20>>2]|0;
+ $23 = $18;
+ while(1) {
+ $22 = (($23) + -1)|0;
+ $24 = (($21) + ($22<<2)|0);
+ $25 = HEAP32[$24>>2]|0;
+ $26 = ($25|0)==(0);
+ if (!($26)) {
+ break L1;
+ }
+ HEAP32[$17>>2] = $22;
+ $27 = ($22|0)==(0);
+ if ($27) {
+ break;
+ } else {
+ $23 = $22;
+ }
+ }
+ }
+ }
+ } while(0);
+ $28 = ((($0)) + 4|0);
+ $29 = HEAP32[$28>>2]|0;
+ $30 = ($29|0)==(0);
+ if ($30) {
+ $$0 = 0;
+ return ($$0|0);
+ }
+ $31 = ((($0)) + 16|0);
+ $32 = HEAP32[$31>>2]|0;
+ $33 = (($29) + -1)|0;
+ $34 = (($32) + ($33<<2)|0);
+ $35 = HEAP32[$34>>2]|0;
+ $36 = ($35|0)==(0);
+ if ($36) {
+ $$024 = 0;
+ } else {
+ $37 = ($35>>>0)<(65536);
+ $38 = ($35>>>0)<(256);
+ $39 = $38 ? 0 : 8;
+ $40 = ($35>>>0)<(16777216);
+ $41 = $40 ? 16 : 24;
+ $42 = $37 ? $39 : $41;
+ $43 = $35 >>> $42;
+ $44 = (14784 + ($43)|0);
+ $45 = HEAP8[$44>>0]|0;
+ $46 = $45&255;
+ $47 = (($42) + ($46))|0;
+ $$024 = $47;
+ }
+ $48 = $29 << 5;
+ $49 = (($48) + -32)|0;
+ $50 = (($49) + ($$024))|0;
+ $$0 = $50;
+ return ($$0|0);
+}
+function __gcry_mpi_test_bit($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $2 = $1 >>> 5;
+ $3 = ((($0)) + 4|0);
+ $4 = HEAP32[$3>>2]|0;
+ $5 = ($2>>>0)<($4>>>0);
+ if (!($5)) {
+ $$0 = 0;
+ return ($$0|0);
+ }
+ $6 = $1 & 31;
+ $7 = ((($0)) + 16|0);
+ $8 = HEAP32[$7>>2]|0;
+ $9 = (($8) + ($2<<2)|0);
+ $10 = HEAP32[$9>>2]|0;
+ $11 = 1 << $6;
+ $12 = $10 & $11;
+ $13 = ($12|0)!=(0);
+ $14 = $13&1;
+ $$0 = $14;
+ return ($$0|0);
+}
+function __gcry_mpi_set_bit($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $$022 = 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, $3 = 0;
+ var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $2 = ($0|0)==(0|0);
+ if (!($2)) {
+ $3 = ((($0)) + 12|0);
+ $4 = HEAP32[$3>>2]|0;
+ $5 = $4 & 16;
+ $6 = ($5|0)==(0);
+ if (!($6)) {
+ __gcry_mpi_immutable_failed();
+ return;
+ }
+ }
+ $7 = $1 >>> 5;
+ $8 = $1 & 31;
+ $9 = ((($0)) + 4|0);
+ $10 = HEAP32[$9>>2]|0;
+ $11 = ($7>>>0)<($10>>>0);
+ if (!($11)) {
+ $12 = HEAP32[$0>>2]|0;
+ $13 = ($10>>>0)<($12>>>0);
+ if ($13) {
+ $14 = ((($0)) + 16|0);
+ $15 = HEAP32[$14>>2]|0;
+ $$022 = $10;
+ while(1) {
+ $16 = (($15) + ($$022<<2)|0);
+ HEAP32[$16>>2] = 0;
+ $17 = (($$022) + 1)|0;
+ $18 = HEAP32[$0>>2]|0;
+ $19 = ($17>>>0)<($18>>>0);
+ if ($19) {
+ $$022 = $17;
+ } else {
+ break;
+ }
+ }
+ }
+ $20 = (($7) + 1)|0;
+ __gcry_mpi_resize($0,$20);
+ HEAP32[$9>>2] = $20;
+ }
+ $21 = 1 << $8;
+ $22 = ((($0)) + 16|0);
+ $23 = HEAP32[$22>>2]|0;
+ $24 = (($23) + ($7<<2)|0);
+ $25 = HEAP32[$24>>2]|0;
+ $26 = $25 | $21;
+ HEAP32[$24>>2] = $26;
+ return;
+}
+function __gcry_mpi_set_highbit($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $$0 = 0, $$03033 = 0, $$031 = 0, $$032 = 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;
+ var $25 = 0, $26 = 0, $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, $exitcond = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $2 = ($0|0)==(0|0);
+ if (!($2)) {
+ $3 = ((($0)) + 12|0);
+ $4 = HEAP32[$3>>2]|0;
+ $5 = $4 & 16;
+ $6 = ($5|0)==(0);
+ if (!($6)) {
+ __gcry_mpi_immutable_failed();
+ return;
+ }
+ }
+ $7 = $1 >>> 5;
+ $8 = $1 & 31;
+ $9 = ((($0)) + 4|0);
+ $10 = HEAP32[$9>>2]|0;
+ $11 = ($7>>>0)<($10>>>0);
+ if (!($11)) {
+ $12 = HEAP32[$0>>2]|0;
+ $13 = ($10>>>0)<($12>>>0);
+ if ($13) {
+ $14 = ((($0)) + 16|0);
+ $15 = HEAP32[$14>>2]|0;
+ $$03033 = $10;
+ while(1) {
+ $16 = (($15) + ($$03033<<2)|0);
+ HEAP32[$16>>2] = 0;
+ $17 = (($$03033) + 1)|0;
+ $18 = HEAP32[$0>>2]|0;
+ $19 = ($17>>>0)<($18>>>0);
+ if ($19) {
+ $$03033 = $17;
+ } else {
+ break;
+ }
+ }
+ }
+ $20 = (($7) + 1)|0;
+ __gcry_mpi_resize($0,$20);
+ HEAP32[$9>>2] = $20;
+ }
+ $21 = 1 << $8;
+ $22 = ((($0)) + 16|0);
+ $23 = HEAP32[$22>>2]|0;
+ $24 = (($23) + ($7<<2)|0);
+ $25 = HEAP32[$24>>2]|0;
+ $26 = $25 | $21;
+ HEAP32[$24>>2] = $26;
+ $$031 = (($8) + 1)|0;
+ $27 = ($$031>>>0)<(32);
+ if ($27) {
+ $$032 = $$031;$31 = $26;
+ while(1) {
+ $28 = 1 << $$032;
+ $29 = $28 ^ -1;
+ $30 = $31 & $29;
+ $$0 = (($$032) + 1)|0;
+ $exitcond = ($$0|0)==(32);
+ if ($exitcond) {
+ break;
+ } else {
+ $$032 = $$0;$31 = $30;
+ }
+ }
+ HEAP32[$24>>2] = $30;
+ }
+ $32 = (($7) + 1)|0;
+ HEAP32[$9>>2] = $32;
+ return;
+}
+function __gcry_mpi_clear_highbit($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $$015 = 0, $$promoted = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
+ var $9 = 0, $exitcond = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $2 = ($0|0)==(0|0);
+ if (!($2)) {
+ $3 = ((($0)) + 12|0);
+ $4 = HEAP32[$3>>2]|0;
+ $5 = $4 & 16;
+ $6 = ($5|0)==(0);
+ if (!($6)) {
+ __gcry_mpi_immutable_failed();
+ return;
+ }
+ }
+ $7 = $1 >>> 5;
+ $8 = ((($0)) + 4|0);
+ $9 = HEAP32[$8>>2]|0;
+ $10 = ($7>>>0)<($9>>>0);
+ if (!($10)) {
+ return;
+ }
+ $11 = $1 & 31;
+ $12 = ((($0)) + 16|0);
+ $13 = HEAP32[$12>>2]|0;
+ $14 = (($13) + ($7<<2)|0);
+ $$promoted = HEAP32[$14>>2]|0;
+ $$015 = $11;$18 = $$promoted;
+ while(1) {
+ $15 = 1 << $$015;
+ $16 = $15 ^ -1;
+ $17 = $18 & $16;
+ $19 = (($$015) + 1)|0;
+ $exitcond = ($19|0)==(32);
+ if ($exitcond) {
+ break;
+ } else {
+ $$015 = $19;$18 = $17;
+ }
+ }
+ HEAP32[$14>>2] = $17;
+ $20 = (($7) + 1)|0;
+ HEAP32[$8>>2] = $20;
+ return;
+}
+function __gcry_mpi_clear_bit($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $2 = ($0|0)==(0|0);
+ if (!($2)) {
+ $3 = ((($0)) + 12|0);
+ $4 = HEAP32[$3>>2]|0;
+ $5 = $4 & 16;
+ $6 = ($5|0)==(0);
+ if (!($6)) {
+ __gcry_mpi_immutable_failed();
+ return;
+ }
+ }
+ $7 = $1 >>> 5;
+ $8 = ((($0)) + 4|0);
+ $9 = HEAP32[$8>>2]|0;
+ $10 = ($7>>>0)<($9>>>0);
+ if (!($10)) {
+ return;
+ }
+ $11 = $1 & 31;
+ $12 = 1 << $11;
+ $13 = $12 ^ -1;
+ $14 = ((($0)) + 16|0);
+ $15 = HEAP32[$14>>2]|0;
+ $16 = (($15) + ($7<<2)|0);
+ $17 = HEAP32[$16>>2]|0;
+ $18 = $17 & $13;
+ HEAP32[$16>>2] = $18;
+ return;
+}
+function __gcry_mpi_rshift_limbs($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $$0$lcssa = 0, $$022 = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0;
+ var $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $2 = ((($0)) + 16|0);
+ $3 = HEAP32[$2>>2]|0;
+ $4 = ((($0)) + 4|0);
+ $5 = HEAP32[$4>>2]|0;
+ $6 = ($0|0)==(0|0);
+ if (!($6)) {
+ $7 = ((($0)) + 12|0);
+ $8 = HEAP32[$7>>2]|0;
+ $9 = $8 & 16;
+ $10 = ($9|0)==(0);
+ if (!($10)) {
+ __gcry_mpi_immutable_failed();
+ return;
+ }
+ }
+ $11 = ($5>>>0)>($1>>>0);
+ if (!($11)) {
+ HEAP32[$4>>2] = 0;
+ return;
+ }
+ $12 = (($5) - ($1))|0;
+ $13 = ($12|0)==(0);
+ if ($13) {
+ $$0$lcssa = 0;
+ } else {
+ $$022 = 0;
+ while(1) {
+ $14 = (($$022) + ($1))|0;
+ $15 = (($3) + ($14<<2)|0);
+ $16 = HEAP32[$15>>2]|0;
+ $17 = (($3) + ($$022<<2)|0);
+ HEAP32[$17>>2] = $16;
+ $18 = (($$022) + 1)|0;
+ $exitcond = ($18|0)==($12|0);
+ if ($exitcond) {
+ $$0$lcssa = $12;
+ break;
+ } else {
+ $$022 = $18;
+ }
+ }
+ }
+ $19 = (($3) + ($$0$lcssa<<2)|0);
+ HEAP32[$19>>2] = 0;
+ $20 = HEAP32[$4>>2]|0;
+ $21 = (($20) - ($1))|0;
+ HEAP32[$4>>2] = $21;
+ return;
+}
+function __gcry_mpi_rshift($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$099 = 0, $$1111 = 0, $$2105 = 0, $$3102 = 0, $$lcssa116 = 0, $$lcssa117 = 0, $$pr = 0, $$pre$phi$phZ2D = 0, $$pre$phiZ2D = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $11 = 0, $12 = 0;
+ var $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0;
+ var $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0;
+ var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0;
+ var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0;
+ var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond3 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $3 = $2 >>> 5;
+ $4 = $2 & 31;
+ $5 = ($0|0)==(0|0);
+ if (!($5)) {
+ $6 = ((($0)) + 12|0);
+ $7 = HEAP32[$6>>2]|0;
+ $8 = $7 & 16;
+ $9 = ($8|0)==(0);
+ if (!($9)) {
+ __gcry_mpi_immutable_failed();
+ return;
+ }
+ }
+ $10 = ($0|0)==($1|0);
+ L6: do {
+ if ($10) {
+ $11 = ((($0)) + 4|0);
+ $12 = HEAP32[$11>>2]|0;
+ $13 = ($3>>>0)<($12>>>0);
+ if (!($13)) {
+ HEAP32[$11>>2] = 0;
+ return;
+ }
+ $14 = ($3|0)==(0);
+ if ($14) {
+ $34 = $12;
+ } else {
+ $15 = ((($0)) + 16|0);
+ $16 = HEAP32[$15>>2]|0;
+ $17 = (($16) + ($3<<2)|0);
+ $18 = HEAP32[$17>>2]|0;
+ HEAP32[$16>>2] = $18;
+ $19 = HEAP32[$11>>2]|0;
+ $20 = (($19) - ($3))|0;
+ $21 = ($20>>>0)>(1);
+ if ($21) {
+ $$099 = 1;
+ while(1) {
+ $22 = (($$099) + ($3))|0;
+ $23 = (($16) + ($22<<2)|0);
+ $24 = HEAP32[$23>>2]|0;
+ $25 = (($16) + ($$099<<2)|0);
+ HEAP32[$25>>2] = $24;
+ $26 = (($$099) + 1)|0;
+ $27 = HEAP32[$11>>2]|0;
+ $28 = (($27) - ($3))|0;
+ $29 = ($26>>>0)<($28>>>0);
+ if ($29) {
+ $$099 = $26;
+ } else {
+ $$lcssa116 = $26;
+ break;
+ }
+ }
+ } else {
+ $$lcssa116 = 1;
+ }
+ $30 = (($16) + ($$lcssa116<<2)|0);
+ HEAP32[$30>>2] = 0;
+ $31 = HEAP32[$11>>2]|0;
+ $32 = (($31) - ($3))|0;
+ HEAP32[$11>>2] = $32;
+ $34 = $32;
+ }
+ $33 = ($34|0)!=(0);
+ $35 = ($4|0)!=(0);
+ $or$cond = $35 & $33;
+ if ($or$cond) {
+ $36 = ((($0)) + 16|0);
+ $37 = HEAP32[$36>>2]|0;
+ (__gcry_mpih_rshift($37,$37,$34,$4)|0);
+ $$pre$phi$phZ2D = $11;
+ label = 34;
+ } else {
+ $$pre$phi$phZ2D = $11;
+ label = 34;
+ }
+ } else {
+ $38 = ($3|0)==(0);
+ $39 = ((($1)) + 4|0);
+ $40 = HEAP32[$39>>2]|0;
+ $41 = ((($1)) + 8|0);
+ $42 = HEAP32[$41>>2]|0;
+ $43 = ((($0)) + 8|0);
+ HEAP32[$43>>2] = $42;
+ $44 = HEAP32[$0>>2]|0;
+ $45 = ($44|0)<($40|0);
+ if ($38) {
+ if ($45) {
+ __gcry_mpi_resize($0,$40);
+ }
+ $81 = ((($0)) + 4|0);
+ HEAP32[$81>>2] = $40;
+ $82 = ($40|0)==(0);
+ if ($82) {
+ return;
+ }
+ $83 = ($4|0)==(0);
+ if (!($83)) {
+ $84 = ((($0)) + 16|0);
+ $85 = HEAP32[$84>>2]|0;
+ $86 = ((($1)) + 16|0);
+ $87 = HEAP32[$86>>2]|0;
+ (__gcry_mpih_rshift($85,$87,$40,$4)|0);
+ $$pre$phi$phZ2D = $81;
+ label = 34;
+ break;
+ }
+ $88 = ((($1)) + 16|0);
+ $89 = HEAP32[$88>>2]|0;
+ $90 = ((($0)) + 16|0);
+ $91 = HEAP32[$90>>2]|0;
+ $$3102 = 0;
+ while(1) {
+ $92 = (($89) + ($$3102<<2)|0);
+ $93 = HEAP32[$92>>2]|0;
+ $94 = (($91) + ($$3102<<2)|0);
+ HEAP32[$94>>2] = $93;
+ $95 = (($$3102) + 1)|0;
+ $96 = HEAP32[$81>>2]|0;
+ $97 = ($95>>>0)<($96>>>0);
+ if ($97) {
+ $$3102 = $95;
+ } else {
+ $$pre$phiZ2D = $81;$99 = $96;
+ break L6;
+ }
+ }
+ }
+ if ($45) {
+ __gcry_mpi_resize($0,$40);
+ }
+ $46 = ((($0)) + 4|0);
+ HEAP32[$46>>2] = $40;
+ $47 = HEAP32[$39>>2]|0;
+ $48 = ($47|0)==(0);
+ if ($48) {
+ $59 = 0;
+ } else {
+ $49 = ((($1)) + 16|0);
+ $50 = HEAP32[$49>>2]|0;
+ $51 = ((($0)) + 16|0);
+ $52 = HEAP32[$51>>2]|0;
+ $$1111 = 0;
+ while(1) {
+ $53 = (($50) + ($$1111<<2)|0);
+ $54 = HEAP32[$53>>2]|0;
+ $55 = (($52) + ($$1111<<2)|0);
+ HEAP32[$55>>2] = $54;
+ $56 = (($$1111) + 1)|0;
+ $57 = HEAP32[$39>>2]|0;
+ $58 = ($56>>>0)<($57>>>0);
+ if ($58) {
+ $$1111 = $56;
+ } else {
+ $59 = $56;
+ break;
+ }
+ }
+ }
+ HEAP32[$46>>2] = $59;
+ $60 = ($3>>>0)<($59>>>0);
+ if (!($60)) {
+ HEAP32[$46>>2] = 0;
+ return;
+ }
+ $61 = ((($0)) + 16|0);
+ $62 = HEAP32[$61>>2]|0;
+ $63 = (($62) + ($3<<2)|0);
+ $64 = HEAP32[$63>>2]|0;
+ HEAP32[$62>>2] = $64;
+ $65 = HEAP32[$46>>2]|0;
+ $66 = (($65) - ($3))|0;
+ $67 = ($66>>>0)>(1);
+ if ($67) {
+ $$2105 = 1;
+ while(1) {
+ $68 = (($$2105) + ($3))|0;
+ $69 = (($62) + ($68<<2)|0);
+ $70 = HEAP32[$69>>2]|0;
+ $71 = (($62) + ($$2105<<2)|0);
+ HEAP32[$71>>2] = $70;
+ $72 = (($$2105) + 1)|0;
+ $73 = HEAP32[$46>>2]|0;
+ $74 = (($73) - ($3))|0;
+ $75 = ($72>>>0)<($74>>>0);
+ if ($75) {
+ $$2105 = $72;
+ } else {
+ $$lcssa117 = $72;
+ break;
+ }
+ }
+ } else {
+ $$lcssa117 = 1;
+ }
+ $76 = (($62) + ($$lcssa117<<2)|0);
+ HEAP32[$76>>2] = 0;
+ $77 = HEAP32[$46>>2]|0;
+ $78 = (($77) - ($3))|0;
+ HEAP32[$46>>2] = $78;
+ $79 = ($78|0)!=(0);
+ $80 = ($4|0)!=(0);
+ $or$cond3 = $80 & $79;
+ if ($or$cond3) {
+ (__gcry_mpih_rshift($62,$62,$78,$4)|0);
+ $$pre$phi$phZ2D = $46;
+ label = 34;
+ } else {
+ $$pre$phiZ2D = $46;$99 = $78;
+ }
+ }
+ } while(0);
+ if ((label|0) == 34) {
+ $$pr = HEAP32[$$pre$phi$phZ2D>>2]|0;
+ $$pre$phiZ2D = $$pre$phi$phZ2D;$99 = $$pr;
+ }
+ $98 = ($99|0)>(0);
+ if (!($98)) {
+ return;
+ }
+ $100 = ((($0)) + 16|0);
+ $101 = HEAP32[$100>>2]|0;
+ $103 = $99;
+ while(1) {
+ $102 = (($103) + -1)|0;
+ $104 = (($101) + ($102<<2)|0);
+ $105 = HEAP32[$104>>2]|0;
+ $106 = ($105|0)==(0);
+ if (!($106)) {
+ label = 39;
+ break;
+ }
+ HEAP32[$$pre$phiZ2D>>2] = $102;
+ $107 = ($103|0)>(1);
+ if ($107) {
+ $103 = $102;
+ } else {
+ label = 39;
+ break;
+ }
+ }
+ if ((label|0) == 39) {
+ return;
+ }
+}
+function __gcry_mpi_lshift_limbs($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $$032 = 0, $$032$in = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
+ var $or$cond = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $2 = ((($0)) + 4|0);
+ $3 = HEAP32[$2>>2]|0;
+ $4 = ($1|0)!=(0);
+ $5 = ($3|0)!=(0);
+ $or$cond = $4 & $5;
+ if (!($or$cond)) {
+ return;
+ }
+ $6 = HEAP32[$0>>2]|0;
+ $7 = (($3) + ($1))|0;
+ $8 = ($6>>>0)<($7>>>0);
+ if ($8) {
+ __gcry_mpi_resize($0,$7);
+ }
+ $9 = ((($0)) + 16|0);
+ $10 = HEAP32[$9>>2]|0;
+ $11 = ($3|0)>(0);
+ if ($11) {
+ $$032$in = $3;
+ while(1) {
+ $$032 = (($$032$in) + -1)|0;
+ $12 = (($10) + ($$032<<2)|0);
+ $13 = HEAP32[$12>>2]|0;
+ $14 = (($$032) + ($1))|0;
+ $15 = (($10) + ($14<<2)|0);
+ HEAP32[$15>>2] = $13;
+ $16 = ($$032$in|0)>(1);
+ if ($16) {
+ $$032$in = $$032;
+ } else {
+ break;
+ }
+ }
+ }
+ $17 = $1 << 2;
+ _memset(($10|0),0,($17|0))|0;
+ $18 = HEAP32[$2>>2]|0;
+ $19 = (($18) + ($1))|0;
+ HEAP32[$2>>2] = $19;
+ return;
+}
+function __gcry_mpi_lshift($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$032$i = 0, $$032$i63 = 0, $$032$in$i = 0, $$032$in$i62 = 0, $$067 = 0, $$pr = 0, $$pre = 0, $$pre$phi$phZ2D = 0, $$pre$phiZ2D = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0;
+ var $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, $38 = 0, $39 = 0;
+ var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0;
+ var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0;
+ var $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $9 = 0, $exitcond = 0, $or$cond = 0, $or$cond3 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $3 = $2 >>> 5;
+ $4 = $2 & 31;
+ $5 = ($0|0)==(0|0);
+ if (!($5)) {
+ $6 = ((($0)) + 12|0);
+ $7 = HEAP32[$6>>2]|0;
+ $8 = $7 & 16;
+ $9 = ($8|0)==(0);
+ if (!($9)) {
+ __gcry_mpi_immutable_failed();
+ return;
+ }
+ }
+ $10 = ($0|0)!=($1|0);
+ $11 = ($2|0)!=(0);
+ $or$cond = $10 | $11;
+ if (!($or$cond)) {
+ return;
+ }
+ if ($10) {
+ $12 = ((($1)) + 4|0);
+ $13 = HEAP32[$12>>2]|0;
+ $14 = ((($1)) + 8|0);
+ $15 = HEAP32[$14>>2]|0;
+ $16 = HEAP32[$0>>2]|0;
+ $17 = (($3) + 1)|0;
+ $18 = (($17) + ($13))|0;
+ $19 = ($16>>>0)<($18>>>0);
+ if ($19) {
+ __gcry_mpi_resize($0,$18);
+ }
+ $20 = ((($0)) + 16|0);
+ $21 = HEAP32[$20>>2]|0;
+ $22 = ((($1)) + 16|0);
+ $23 = HEAP32[$22>>2]|0;
+ $24 = ($13|0)==(0);
+ if (!($24)) {
+ $$067 = 0;
+ while(1) {
+ $25 = (($23) + ($$067<<2)|0);
+ $26 = HEAP32[$25>>2]|0;
+ $27 = (($21) + ($$067<<2)|0);
+ HEAP32[$27>>2] = $26;
+ $28 = (($$067) + 1)|0;
+ $exitcond = ($28|0)==($13|0);
+ if ($exitcond) {
+ break;
+ } else {
+ $$067 = $28;
+ }
+ }
+ }
+ $29 = ((($0)) + 4|0);
+ HEAP32[$29>>2] = $13;
+ $30 = ((($1)) + 12|0);
+ $31 = HEAP32[$30>>2]|0;
+ $32 = ((($0)) + 12|0);
+ HEAP32[$32>>2] = $31;
+ $33 = ((($0)) + 8|0);
+ HEAP32[$33>>2] = $15;
+ }
+ $34 = ($3|0)==(0);
+ $35 = ($4|0)!=(0);
+ $or$cond3 = $34 | $35;
+ if ($or$cond3) {
+ if ($11) {
+ $53 = (($3) + 1)|0;
+ $54 = ((($0)) + 4|0);
+ $55 = HEAP32[$54>>2]|0;
+ $56 = ($55|0)==(0);
+ if (!($56)) {
+ $57 = HEAP32[$0>>2]|0;
+ $58 = (($55) + ($53))|0;
+ $59 = ($57>>>0)<($58>>>0);
+ if ($59) {
+ __gcry_mpi_resize($0,$58);
+ }
+ $60 = ((($0)) + 16|0);
+ $61 = HEAP32[$60>>2]|0;
+ $62 = ($55|0)>(0);
+ if ($62) {
+ $$032$in$i62 = $55;
+ while(1) {
+ $$032$i63 = (($$032$in$i62) + -1)|0;
+ $63 = (($61) + ($$032$i63<<2)|0);
+ $64 = HEAP32[$63>>2]|0;
+ $65 = (($$032$in$i62) + ($3))|0;
+ $66 = (($61) + ($65<<2)|0);
+ HEAP32[$66>>2] = $64;
+ $67 = ($$032$in$i62|0)>(1);
+ if ($67) {
+ $$032$in$i62 = $$032$i63;
+ } else {
+ break;
+ }
+ }
+ }
+ $68 = $53 << 2;
+ _memset(($61|0),0,($68|0))|0;
+ $69 = HEAP32[$54>>2]|0;
+ $70 = (($69) + ($53))|0;
+ HEAP32[$54>>2] = $70;
+ }
+ $71 = (32 - ($4))|0;
+ __gcry_mpi_rshift($0,$0,$71);
+ $$pre$phi$phZ2D = $54;
+ } else {
+ $$pre = ((($0)) + 4|0);
+ $$pre$phi$phZ2D = $$pre;
+ }
+ $$pr = HEAP32[$$pre$phi$phZ2D>>2]|0;
+ $$pre$phiZ2D = $$pre$phi$phZ2D;$73 = $$pr;
+ } else {
+ $36 = ((($0)) + 4|0);
+ $37 = HEAP32[$36>>2]|0;
+ $38 = ($37|0)==(0);
+ if ($38) {
+ return;
+ }
+ $39 = HEAP32[$0>>2]|0;
+ $40 = (($37) + ($3))|0;
+ $41 = ($39>>>0)<($40>>>0);
+ if ($41) {
+ __gcry_mpi_resize($0,$40);
+ }
+ $42 = ((($0)) + 16|0);
+ $43 = HEAP32[$42>>2]|0;
+ $44 = ($37|0)>(0);
+ if ($44) {
+ $$032$in$i = $37;
+ while(1) {
+ $$032$i = (($$032$in$i) + -1)|0;
+ $45 = (($43) + ($$032$i<<2)|0);
+ $46 = HEAP32[$45>>2]|0;
+ $47 = (($$032$i) + ($3))|0;
+ $48 = (($43) + ($47<<2)|0);
+ HEAP32[$48>>2] = $46;
+ $49 = ($$032$in$i|0)>(1);
+ if ($49) {
+ $$032$in$i = $$032$i;
+ } else {
+ break;
+ }
+ }
+ }
+ $50 = $3 << 2;
+ _memset(($43|0),0,($50|0))|0;
+ $51 = HEAP32[$36>>2]|0;
+ $52 = (($51) + ($3))|0;
+ HEAP32[$36>>2] = $52;
+ $$pre$phiZ2D = $36;$73 = $52;
+ }
+ $72 = ($73|0)>(0);
+ if (!($72)) {
+ return;
+ }
+ $74 = ((($0)) + 16|0);
+ $75 = HEAP32[$74>>2]|0;
+ $77 = $73;
+ while(1) {
+ $76 = (($77) + -1)|0;
+ $78 = (($75) + ($76<<2)|0);
+ $79 = HEAP32[$78>>2]|0;
+ $80 = ($79|0)==(0);
+ if (!($80)) {
+ label = 35;
+ break;
+ }
+ HEAP32[$$pre$phiZ2D>>2] = $76;
+ $81 = ($77|0)>(1);
+ if ($81) {
+ $77 = $76;
+ } else {
+ label = 35;
+ break;
+ }
+ }
+ if ((label|0) == 35) {
+ return;
+ }
+}
+function __gcry_mpi_cmp_ui($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $$ = 0, $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $spec$select = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ __gcry_mpi_normalize($0);
+ $2 = ((($0)) + 4|0);
+ $3 = HEAP32[$2>>2]|0;
+ $4 = ($3|0)==(0);
+ if ($4) {
+ $5 = ($1|0)!=(0);
+ $6 = $5 << 31 >> 31;
+ $$0 = $6;
+ return ($$0|0);
+ }
+ $7 = ((($0)) + 8|0);
+ $8 = HEAP32[$7>>2]|0;
+ $9 = ($8|0)==(0);
+ if (!($9)) {
+ $$0 = -1;
+ return ($$0|0);
+ }
+ $10 = ($3|0)==(1);
+ if ($10) {
+ $11 = ((($0)) + 16|0);
+ $12 = HEAP32[$11>>2]|0;
+ $13 = HEAP32[$12>>2]|0;
+ $14 = ($13>>>0)>($1>>>0);
+ $15 = ($13>>>0)<($1>>>0);
+ $$ = $15 << 31 >> 31;
+ $spec$select = $14 ? 1 : $$;
+ return ($spec$select|0);
+ } else {
+ $$0 = 1;
+ return ($$0|0);
+ }
+ return (0)|0;
+}
+function __gcry_mpi_cmp($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $$ = 0, $$0 = 0, $$01619$i = 0, $$01619$in$i = 0, $$phi$trans$insert = 0, $$phi$trans$insert66 = 0, $$pre = 0, $$pre67 = 0, $$pre71 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0;
+ var $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, $38 = 0;
+ var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0;
+ var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $2 = ($0|0)!=(0|0);
+ if ($2) {
+ $3 = ((($0)) + 12|0);
+ $4 = HEAP32[$3>>2]|0;
+ $5 = $4 & 4;
+ $6 = ($5|0)==(0);
+ if ($6) {
+ label = 3;
+ } else {
+ $13 = $4;
+ }
+ } else {
+ label = 3;
+ }
+ do {
+ if ((label|0) == 3) {
+ $7 = ($1|0)==(0|0);
+ if (!($7)) {
+ $8 = ((($1)) + 12|0);
+ $9 = HEAP32[$8>>2]|0;
+ $10 = $9 & 4;
+ $11 = ($10|0)==(0);
+ if (!($11)) {
+ if ($2) {
+ $$phi$trans$insert = ((($0)) + 12|0);
+ $$pre = HEAP32[$$phi$trans$insert>>2]|0;
+ $13 = $$pre;
+ break;
+ } else {
+ $$0 = 1;
+ return ($$0|0);
+ }
+ }
+ }
+ __gcry_mpi_normalize($0);
+ __gcry_mpi_normalize($1);
+ $36 = ((($0)) + 4|0);
+ $37 = HEAP32[$36>>2]|0;
+ $38 = ((($1)) + 4|0);
+ $39 = HEAP32[$38>>2]|0;
+ $40 = ((($0)) + 8|0);
+ $41 = HEAP32[$40>>2]|0;
+ $42 = ($41|0)==(0);
+ $43 = ((($1)) + 8|0);
+ $44 = HEAP32[$43>>2]|0;
+ $45 = ($44|0)==(0);
+ if ($42) {
+ if (!($45)) {
+ $$0 = 1;
+ return ($$0|0);
+ }
+ } else {
+ if ($45) {
+ $$0 = -1;
+ return ($$0|0);
+ }
+ }
+ $46 = ($37|0)==($39|0);
+ do {
+ if (!($46)) {
+ if ($42) {
+ if (!($45)) {
+ break;
+ }
+ $47 = (($37) - ($39))|0;
+ $$0 = $47;
+ return ($$0|0);
+ } else {
+ if ($45) {
+ break;
+ }
+ $48 = (($39) + ($37))|0;
+ $$0 = $48;
+ return ($$0|0);
+ }
+ }
+ } while(0);
+ $49 = ($37|0)==(0);
+ if ($49) {
+ $$0 = 0;
+ return ($$0|0);
+ }
+ $50 = ((($0)) + 16|0);
+ $51 = HEAP32[$50>>2]|0;
+ $52 = ((($1)) + 16|0);
+ $53 = HEAP32[$52>>2]|0;
+ $54 = ($37|0)>(0);
+ if (!($54)) {
+ $$0 = 0;
+ return ($$0|0);
+ }
+ $$01619$in$i = $37;
+ while(1) {
+ $$01619$i = (($$01619$in$i) + -1)|0;
+ $56 = (($51) + ($$01619$i<<2)|0);
+ $57 = HEAP32[$56>>2]|0;
+ $58 = (($53) + ($$01619$i<<2)|0);
+ $59 = HEAP32[$58>>2]|0;
+ $60 = ($57|0)==($59|0);
+ if (!($60)) {
+ label = 30;
+ break;
+ }
+ $55 = ($$01619$in$i|0)>(1);
+ if ($55) {
+ $$01619$in$i = $$01619$i;
+ } else {
+ $$0 = 0;
+ label = 31;
+ break;
+ }
+ }
+ if ((label|0) == 30) {
+ $61 = ($57>>>0)<=($59>>>0);
+ $62 = ($41|0)!=(0);
+ $63 = $62 ^ $61;
+ $$ = $63 ? -1 : 1;
+ return ($$|0);
+ }
+ else if ((label|0) == 31) {
+ return ($$0|0);
+ }
+ }
+ } while(0);
+ $12 = $13 & 4;
+ $14 = ($12|0)==(0);
+ $15 = ($1|0)==(0|0);
+ if ($14) {
+ if (!($15)) {
+ $$phi$trans$insert66 = ((($1)) + 12|0);
+ $$pre67 = HEAP32[$$phi$trans$insert66>>2]|0;
+ $$pre71 = $$pre67 & 4;
+ $20 = ($$pre71|0)==(0);
+ if (!($20)) {
+ $$0 = 1;
+ return ($$0|0);
+ }
+ }
+ } else {
+ if ($15) {
+ $$0 = -1;
+ return ($$0|0);
+ }
+ $16 = ((($1)) + 12|0);
+ $17 = HEAP32[$16>>2]|0;
+ $18 = $17 & 4;
+ $19 = ($18|0)==(0);
+ if ($19) {
+ $$0 = -1;
+ return ($$0|0);
+ }
+ }
+ $21 = ((($0)) + 8|0);
+ $22 = HEAP32[$21>>2]|0;
+ $23 = ((($1)) + 8|0);
+ $24 = HEAP32[$23>>2]|0;
+ $25 = $22 | $24;
+ $26 = ($25|0)==(0);
+ if ($26) {
+ $$0 = 0;
+ return ($$0|0);
+ }
+ $27 = ($22|0)<($24|0);
+ if ($27) {
+ $$0 = -1;
+ return ($$0|0);
+ }
+ $28 = ($22|0)>($24|0);
+ if ($28) {
+ $$0 = 1;
+ return ($$0|0);
+ }
+ $29 = (($22) + 7)|0;
+ $30 = ((($1)) + 16|0);
+ $31 = ((($0)) + 16|0);
+ $32 = HEAP32[$31>>2]|0;
+ $33 = HEAP32[$30>>2]|0;
+ $34 = (($29|0) / 8)&-1;
+ $35 = (_memcmp($32,$33,$34)|0);
+ $$0 = $35;
+ return ($$0|0);
+}
+function __gcry_mpi_fdiv_r($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$0 = 0, $$018 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $3 = ((($2)) + 8|0);
+ $4 = HEAP32[$3>>2]|0;
+ $5 = ($0|0)==($2|0);
+ if ($5) {
+ $6 = (__gcry_mpi_copy($2)|0);
+ $$0 = $6;$$018 = $6;
+ } else {
+ $$0 = 0;$$018 = $2;
+ }
+ __gcry_mpi_tdiv_qr(0,$0,$1,$$018);
+ $7 = ($4|0)!=(0);
+ $8 = ((($1)) + 8|0);
+ $9 = HEAP32[$8>>2]|0;
+ $10 = ($9|0)!=(0);
+ $11 = $7 ^ $10;
+ if ($11) {
+ $12 = ((($0)) + 4|0);
+ $13 = HEAP32[$12>>2]|0;
+ $14 = ($13|0)==(0);
+ if (!($14)) {
+ __gcry_mpi_add($0,$0,$$018);
+ }
+ }
+ $15 = ($$0|0)==(0|0);
+ if ($15) {
+ return;
+ }
+ __gcry_mpi_free($$0);
+ return;
+}
+function __gcry_mpi_tdiv_qr($0,$1,$2,$3) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ var $$0218250 = 0, $$0219 = 0, $$0220 = 0, $$0221 = 0, $$0222 = 0, $$0225253 = 0, $$0226 = 0, $$0227240 = 0, $$0228 = 0, $$0247 = 0, $$1 = 0, $$1224 = 0, $$1229 = 0, $$2$lcssa = 0, $$2230 = 0, $$2243 = 0, $$3 = 0, $$3231241 = 0, $$neg235 = 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, $16 = 0, $17 = 0, $18 = 0;
+ var $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0;
+ var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0;
+ var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0;
+ var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0;
+ var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond257 = 0, $exitcond258 = 0, $exitcond259 = 0, $or$cond = 0, $or$cond232 = 0, $or$cond233 = 0, $or$cond256 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
+ $4 = sp + 32|0;
+ $5 = sp;
+ $6 = ((($2)) + 4|0);
+ $7 = HEAP32[$6>>2]|0;
+ $8 = ((($3)) + 4|0);
+ $9 = HEAP32[$8>>2]|0;
+ $10 = ((($2)) + 8|0);
+ $11 = HEAP32[$10>>2]|0;
+ $12 = ((($3)) + 8|0);
+ $13 = HEAP32[$12>>2]|0;
+ $14 = $13 ^ $11;
+ $15 = (($7) + 1)|0;
+ __gcry_mpi_resize($1,$15);
+ $16 = (($15) - ($9))|0;
+ $17 = ($16|0)<(1);
+ if ($17) {
+ $18 = ($2|0)==($1|0);
+ if (!($18)) {
+ $19 = HEAP32[$6>>2]|0;
+ $20 = ((($1)) + 4|0);
+ HEAP32[$20>>2] = $19;
+ $21 = HEAP32[$10>>2]|0;
+ $22 = ((($1)) + 8|0);
+ HEAP32[$22>>2] = $21;
+ $23 = ($7|0)>(0);
+ if ($23) {
+ $24 = ((($2)) + 16|0);
+ $25 = HEAP32[$24>>2]|0;
+ $26 = ((($1)) + 16|0);
+ $27 = HEAP32[$26>>2]|0;
+ $$0227240 = 0;
+ while(1) {
+ $28 = (($25) + ($$0227240<<2)|0);
+ $29 = HEAP32[$28>>2]|0;
+ $30 = (($27) + ($$0227240<<2)|0);
+ HEAP32[$30>>2] = $29;
+ $31 = (($$0227240) + 1)|0;
+ $exitcond = ($31|0)==($7|0);
+ if ($exitcond) {
+ break;
+ } else {
+ $$0227240 = $31;
+ }
+ }
+ }
+ }
+ $32 = ($0|0)==(0|0);
+ if ($32) {
+ STACKTOP = sp;return;
+ }
+ $33 = ((($0)) + 4|0);
+ HEAP32[$33>>2] = 0;
+ $34 = ((($0)) + 8|0);
+ HEAP32[$34>>2] = 0;
+ STACKTOP = sp;return;
+ }
+ $35 = ($0|0)!=(0|0);
+ if ($35) {
+ __gcry_mpi_resize($0,$16);
+ }
+ $36 = ((($2)) + 16|0);
+ $37 = HEAP32[$36>>2]|0;
+ $38 = ((($3)) + 16|0);
+ $39 = HEAP32[$38>>2]|0;
+ $40 = ((($1)) + 16|0);
+ $41 = HEAP32[$40>>2]|0;
+ $42 = ($9|0)==(1);
+ if ($42) {
+ if ($35) {
+ $43 = ((($0)) + 16|0);
+ $44 = HEAP32[$43>>2]|0;
+ $45 = HEAP32[$39>>2]|0;
+ $46 = (__gcry_mpih_divmod_1($44,$37,$7,$45)|0);
+ $47 = (($16) + -1)|0;
+ $48 = (($44) + ($47<<2)|0);
+ $49 = HEAP32[$48>>2]|0;
+ $50 = ($49|0)==(0);
+ $51 = $50&1;
+ $52 = (($16) - ($51))|0;
+ $53 = ((($0)) + 4|0);
+ HEAP32[$53>>2] = $52;
+ $54 = ((($0)) + 8|0);
+ HEAP32[$54>>2] = $14;
+ $$0226 = $46;
+ } else {
+ $55 = HEAP32[$39>>2]|0;
+ $56 = (__gcry_mpih_mod_1($37,$7,$55)|0);
+ $$0226 = $56;
+ }
+ HEAP32[$41>>2] = $$0226;
+ $57 = ($$0226|0)!=(0);
+ $58 = $57&1;
+ $59 = ((($1)) + 4|0);
+ HEAP32[$59>>2] = $58;
+ $60 = ((($1)) + 8|0);
+ HEAP32[$60>>2] = $11;
+ STACKTOP = sp;return;
+ }
+ if ($35) {
+ $61 = ((($0)) + 16|0);
+ $62 = HEAP32[$61>>2]|0;
+ $63 = ($62|0)==($37|0);
+ if ($63) {
+ HEAP32[$5>>2] = $7;
+ $64 = ((($0)) + 12|0);
+ $65 = HEAP32[$64>>2]|0;
+ $66 = $65 & 1;
+ $67 = (__gcry_mpi_alloc_limb_space($7,$66)|0);
+ HEAP32[$4>>2] = $67;
+ $68 = ($7|0)>(0);
+ if ($68) {
+ $$0225253 = 0;
+ while(1) {
+ $69 = (($37) + ($$0225253<<2)|0);
+ $70 = HEAP32[$69>>2]|0;
+ $71 = (($67) + ($$0225253<<2)|0);
+ HEAP32[$71>>2] = $70;
+ $72 = (($$0225253) + 1)|0;
+ $exitcond259 = ($72|0)==($7|0);
+ if ($exitcond259) {
+ $$0219 = $67;$$0221 = $37;$$0228 = 1;
+ break;
+ } else {
+ $$0225253 = $72;
+ }
+ }
+ } else {
+ $$0219 = $67;$$0221 = $37;$$0228 = 1;
+ }
+ } else {
+ $$0219 = $37;$$0221 = $62;$$0228 = 0;
+ }
+ } else {
+ $73 = (($41) + ($9<<2)|0);
+ $$0219 = $37;$$0221 = $73;$$0228 = 0;
+ }
+ $74 = (($9) + -1)|0;
+ $75 = (($39) + ($74<<2)|0);
+ $76 = HEAP32[$75>>2]|0;
+ $77 = ($76>>>0)<(65536);
+ $78 = ($76>>>0)<(256);
+ $79 = $78 ? 0 : 8;
+ $80 = ($76>>>0)<(16777216);
+ $81 = $80 ? 16 : 24;
+ $82 = $77 ? $79 : $81;
+ $83 = $76 >>> $82;
+ $84 = (14784 + ($83)|0);
+ $85 = HEAP8[$84>>0]|0;
+ $86 = $85&255;
+ $$neg235 = (32 - ($86))|0;
+ $87 = (($$neg235) - ($82))|0;
+ $88 = ($87|0)!=(0);
+ if ($88) {
+ $89 = (($5) + ($$0228<<2)|0);
+ HEAP32[$89>>2] = $9;
+ $90 = ($3|0)==(0|0);
+ if ($90) {
+ $94 = 0;
+ } else {
+ $91 = ((($3)) + 12|0);
+ $92 = HEAP32[$91>>2]|0;
+ $93 = $92 & 1;
+ $94 = $93;
+ }
+ $95 = (__gcry_mpi_alloc_limb_space($9,$94)|0);
+ $96 = (($$0228) + 1)|0;
+ $97 = (($4) + ($$0228<<2)|0);
+ HEAP32[$97>>2] = $95;
+ (__gcry_mpih_lshift($95,$39,$9,$87)|0);
+ $98 = (__gcry_mpih_lshift($41,$$0219,$7,$87)|0);
+ $99 = ($98|0)==(0);
+ if ($99) {
+ $$1 = $95;$$1224 = $7;$$2230 = $96;
+ } else {
+ $100 = (($41) + ($7<<2)|0);
+ HEAP32[$100>>2] = $98;
+ $$1 = $95;$$1224 = $15;$$2230 = $96;
+ }
+ } else {
+ $101 = ($39|0)==($41|0);
+ $102 = ($39|0)==($$0221|0);
+ $or$cond232 = $35 & $102;
+ $or$cond233 = $101 | $or$cond232;
+ if ($or$cond233) {
+ $103 = (($5) + ($$0228<<2)|0);
+ HEAP32[$103>>2] = $9;
+ $104 = ($3|0)==(0|0);
+ if ($104) {
+ $108 = 0;
+ } else {
+ $105 = ((($3)) + 12|0);
+ $106 = HEAP32[$105>>2]|0;
+ $107 = $106 & 1;
+ $108 = $107;
+ }
+ $109 = (__gcry_mpi_alloc_limb_space($9,$108)|0);
+ $110 = (($$0228) + 1)|0;
+ $111 = (($4) + ($$0228<<2)|0);
+ HEAP32[$111>>2] = $109;
+ $112 = ($9|0)>(0);
+ if ($112) {
+ $$0218250 = 0;
+ while(1) {
+ $113 = (($39) + ($$0218250<<2)|0);
+ $114 = HEAP32[$113>>2]|0;
+ $115 = (($109) + ($$0218250<<2)|0);
+ HEAP32[$115>>2] = $114;
+ $116 = (($$0218250) + 1)|0;
+ $exitcond258 = ($116|0)==($9|0);
+ if ($exitcond258) {
+ $$0220 = $109;$$1229 = $110;
+ break;
+ } else {
+ $$0218250 = $116;
+ }
+ }
+ } else {
+ $$0220 = $109;$$1229 = $110;
+ }
+ } else {
+ $$0220 = $39;$$1229 = $$0228;
+ }
+ $117 = ($41|0)!=($$0219|0);
+ $118 = ($7|0)>(0);
+ $or$cond256 = $117 & $118;
+ if ($or$cond256) {
+ $$0247 = 0;
+ while(1) {
+ $119 = (($$0219) + ($$0247<<2)|0);
+ $120 = HEAP32[$119>>2]|0;
+ $121 = (($41) + ($$0247<<2)|0);
+ HEAP32[$121>>2] = $120;
+ $122 = (($$0247) + 1)|0;
+ $exitcond257 = ($122|0)==($7|0);
+ if ($exitcond257) {
+ $$1 = $$0220;$$1224 = $7;$$2230 = $$1229;
+ break;
+ } else {
+ $$0247 = $122;
+ }
+ }
+ } else {
+ $$1 = $$0220;$$1224 = $7;$$2230 = $$1229;
+ }
+ }
+ $123 = (__gcry_mpih_divrem($$0221,0,$41,$$1224,$$1,$9)|0);
+ if ($35) {
+ $124 = (($$1224) - ($9))|0;
+ $125 = ($123|0)==(0);
+ if ($125) {
+ $$0222 = $124;
+ } else {
+ $126 = (($124) + 1)|0;
+ $127 = (($$0221) + ($124<<2)|0);
+ HEAP32[$127>>2] = $123;
+ $$0222 = $126;
+ }
+ $128 = ((($0)) + 4|0);
+ HEAP32[$128>>2] = $$0222;
+ $129 = ((($0)) + 8|0);
+ HEAP32[$129>>2] = $14;
+ }
+ $130 = ($9|0)>(0);
+ L59: do {
+ if ($130) {
+ $$2243 = $9;
+ while(1) {
+ $132 = (($$2243) + -1)|0;
+ $133 = (($41) + ($132<<2)|0);
+ $134 = HEAP32[$133>>2]|0;
+ $135 = ($134|0)==(0);
+ if (!($135)) {
+ $$2$lcssa = $$2243;
+ break L59;
+ }
+ $131 = ($$2243|0)>(1);
+ if ($131) {
+ $$2243 = $132;
+ } else {
+ $$2$lcssa = $132;
+ break;
+ }
+ }
+ } else {
+ $$2$lcssa = $9;
+ }
+ } while(0);
+ $136 = ($$2$lcssa|0)!=(0);
+ $or$cond = $88 & $136;
+ if ($or$cond) {
+ (__gcry_mpih_rshift($41,$41,$$2$lcssa,$87)|0);
+ $137 = (($$2$lcssa) + -1)|0;
+ $138 = (($41) + ($137<<2)|0);
+ $139 = HEAP32[$138>>2]|0;
+ $140 = ($139|0)==(0);
+ $141 = $140&1;
+ $142 = (($$2$lcssa) - ($141))|0;
+ $$3 = $142;
+ } else {
+ $$3 = $$2$lcssa;
+ }
+ $143 = ((($1)) + 4|0);
+ HEAP32[$143>>2] = $$3;
+ $144 = ((($1)) + 8|0);
+ HEAP32[$144>>2] = $11;
+ $145 = ($$2230|0)==(0);
+ if ($145) {
+ STACKTOP = sp;return;
+ }
+ $$3231241 = $$2230;
+ while(1) {
+ $146 = (($$3231241) + -1)|0;
+ $147 = (($4) + ($146<<2)|0);
+ $148 = HEAP32[$147>>2]|0;
+ $149 = (($5) + ($146<<2)|0);
+ $150 = HEAP32[$149>>2]|0;
+ __gcry_mpi_free_limb_space($148,$150);
+ $151 = ($146|0)==(0);
+ if ($151) {
+ break;
+ } else {
+ $$3231241 = $146;
+ }
+ }
+ STACKTOP = sp;return;
+}
+function __gcry_mpi_tdiv_r($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ __gcry_mpi_tdiv_qr(0,$0,$1,$2);
+ return;
+}
+function __gcry_mpi_fdiv_r_ui($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $spec$select = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $3 = ((($1)) + 16|0);
+ $4 = HEAP32[$3>>2]|0;
+ $5 = ((($1)) + 4|0);
+ $6 = HEAP32[$5>>2]|0;
+ $7 = (__gcry_mpih_mod_1($4,$6,$2)|0);
+ $8 = ($7|0)==(0);
+ if ($8) {
+ $$0 = 0;
+ } else {
+ $9 = (($2) - ($7))|0;
+ $10 = ((($1)) + 8|0);
+ $11 = HEAP32[$10>>2]|0;
+ $12 = ($11|0)==(0);
+ $spec$select = $12 ? $7 : $9;
+ $$0 = $spec$select;
+ }
+ $13 = ($0|0)==(0|0);
+ if ($13) {
+ return ($$0|0);
+ }
+ $14 = ((($0)) + 4|0);
+ $15 = ($$0|0)!=(0);
+ $16 = $15&1;
+ $17 = ((($0)) + 16|0);
+ $18 = HEAP32[$17>>2]|0;
+ HEAP32[$18>>2] = $$0;
+ HEAP32[$14>>2] = $16;
+ return ($$0|0);
+}
+function __gcry_mpi_fdiv_q($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$0$i = 0, $$023$i = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond$i = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $3 = ((($0)) + 4|0);
+ $4 = HEAP32[$3>>2]|0;
+ $5 = (__gcry_mpi_alloc($4)|0);
+ $6 = ((($2)) + 8|0);
+ $7 = HEAP32[$6>>2]|0;
+ $8 = ($0|0)==($2|0);
+ $9 = ($5|0)==($2|0);
+ $or$cond$i = $8 | $9;
+ if ($or$cond$i) {
+ $10 = (__gcry_mpi_copy($2)|0);
+ $$0$i = $10;$$023$i = $10;
+ } else {
+ $$0$i = 0;$$023$i = $2;
+ }
+ __gcry_mpi_tdiv_qr($0,$5,$1,$$023$i);
+ $11 = ((($1)) + 8|0);
+ $12 = HEAP32[$11>>2]|0;
+ $13 = ($7|0)==($12|0);
+ if (!($13)) {
+ $14 = ((($5)) + 4|0);
+ $15 = HEAP32[$14>>2]|0;
+ $16 = ($15|0)==(0);
+ if (!($16)) {
+ __gcry_mpi_sub_ui($0,$0,1);
+ __gcry_mpi_add($5,$5,$$023$i);
+ }
+ }
+ $17 = ($$0$i|0)==(0|0);
+ if ($17) {
+ __gcry_mpi_free($5);
+ return;
+ }
+ __gcry_mpi_free($$0$i);
+ __gcry_mpi_free($5);
+ return;
+}
+function __gcry_mpi_tdiv_q_2exp($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$043$sink = 0, $$044 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
+ var $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $3 = ((($1)) + 4|0);
+ $4 = HEAP32[$3>>2]|0;
+ $5 = $2 >>> 5;
+ $6 = (($4) - ($5))|0;
+ $7 = ($4|0)>($5|0);
+ do {
+ if ($7) {
+ $8 = HEAP32[$0>>2]|0;
+ $9 = ($8|0)<($6|0);
+ if ($9) {
+ __gcry_mpi_resize($0,$6);
+ }
+ $10 = ((($0)) + 16|0);
+ $11 = HEAP32[$10>>2]|0;
+ $12 = ((($1)) + 16|0);
+ $13 = HEAP32[$12>>2]|0;
+ $14 = $2 & 31;
+ $15 = ($14|0)==(0);
+ if (!($15)) {
+ $16 = (($13) + ($5<<2)|0);
+ (__gcry_mpih_rshift($11,$16,$6,$14)|0);
+ $17 = (($6) + -1)|0;
+ $18 = (($11) + ($17<<2)|0);
+ $19 = HEAP32[$18>>2]|0;
+ $20 = ($19|0)==(0);
+ $21 = $20&1;
+ $22 = (($6) - ($21))|0;
+ $$043$sink = $22;
+ break;
+ }
+ $23 = ($6|0)>(0);
+ if ($23) {
+ $24 = (($13) + ($5<<2)|0);
+ $$044 = 0;
+ while(1) {
+ $25 = (($24) + ($$044<<2)|0);
+ $26 = HEAP32[$25>>2]|0;
+ $27 = (($11) + ($$044<<2)|0);
+ HEAP32[$27>>2] = $26;
+ $28 = (($$044) + 1)|0;
+ $exitcond = ($28|0)==($6|0);
+ if ($exitcond) {
+ $$043$sink = $6;
+ break;
+ } else {
+ $$044 = $28;
+ }
+ }
+ } else {
+ $$043$sink = $6;
+ }
+ } else {
+ $$043$sink = 0;
+ }
+ } while(0);
+ $29 = ((($0)) + 4|0);
+ HEAP32[$29>>2] = $$043$sink;
+ return;
+}
+function __gcry_mpi_divisible_ui($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $2 = ((($0)) + 16|0);
+ $3 = HEAP32[$2>>2]|0;
+ $4 = ((($0)) + 4|0);
+ $5 = HEAP32[$4>>2]|0;
+ $6 = (__gcry_mpih_mod_1($3,$5,$1)|0);
+ $7 = ($6|0)==(0);
+ $8 = $7&1;
+ return ($8|0);
+}
+function __gcry_mpi_gcd($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $3 = (__gcry_mpi_copy($1)|0);
+ $4 = (__gcry_mpi_copy($2)|0);
+ $5 = ((($3)) + 8|0);
+ HEAP32[$5>>2] = 0;
+ $6 = ((($4)) + 8|0);
+ HEAP32[$6>>2] = 0;
+ $7 = (__gcry_mpi_cmp_ui($4,0)|0);
+ $8 = ($7|0)==(0);
+ if (!($8)) {
+ while(1) {
+ __gcry_mpi_fdiv_r($0,$3,$4);
+ (__gcry_mpi_set($3,$4)|0);
+ (__gcry_mpi_set($4,$0)|0);
+ $9 = (__gcry_mpi_cmp_ui($4,0)|0);
+ $10 = ($9|0)==(0);
+ if ($10) {
+ break;
+ }
+ }
+ }
+ (__gcry_mpi_set($0,$3)|0);
+ __gcry_mpi_free($3);
+ __gcry_mpi_free($4);
+ $11 = (__gcry_mpi_cmp_ui($0,1)|0);
+ $12 = ($11|0)==(0);
+ $13 = $12&1;
+ return ($13|0);
+}
+function __gcry_mpi_invm($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$0 = 0, $$0140 = 0, $$0141 = 0, $$0143 = 0, $$0145 = 0, $$0146 = 0, $$1 = 0, $$1142 = 0, $$1144 = 0, $$2 = 0, $$3 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0;
+ var $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $3 = (__gcry_mpi_cmp_ui($1,0)|0);
+ $4 = ($3|0)==(0);
+ if ($4) {
+ $$0 = 0;
+ return ($$0|0);
+ }
+ $5 = (__gcry_mpi_cmp_ui($2,1)|0);
+ $6 = ($5|0)==(0);
+ if ($6) {
+ $$0 = 0;
+ return ($$0|0);
+ }
+ $7 = (__gcry_mpi_copy($1)|0);
+ $8 = (__gcry_mpi_copy($2)|0);
+ $9 = (__gcry_mpi_test_bit($7,0)|0);
+ $10 = ($9|0)==(0);
+ L7: do {
+ if ($10) {
+ while(1) {
+ $11 = (__gcry_mpi_test_bit($8,0)|0);
+ $12 = ($11|0)==(0);
+ if (!($12)) {
+ break L7;
+ }
+ __gcry_mpi_rshift($7,$7,1);
+ __gcry_mpi_rshift($8,$8,1);
+ $13 = (__gcry_mpi_test_bit($7,0)|0);
+ $14 = ($13|0)==(0);
+ if (!($14)) {
+ break;
+ }
+ }
+ }
+ } while(0);
+ $15 = (__gcry_mpi_test_bit($8,0)|0);
+ $16 = (__gcry_mpi_alloc_set_ui(1)|0);
+ $17 = ($15|0)!=(0);
+ if ($17) {
+ $$0145 = 0;
+ } else {
+ $18 = (__gcry_mpi_alloc_set_ui(0)|0);
+ $$0145 = $18;
+ }
+ $19 = (__gcry_mpi_copy($7)|0);
+ $20 = (__gcry_mpi_copy($8)|0);
+ if ($17) {
+ $$0146 = 0;
+ } else {
+ $21 = ((($7)) + 4|0);
+ $22 = HEAP32[$21>>2]|0;
+ $23 = (__gcry_mpi_alloc($22)|0);
+ __gcry_mpi_sub($23,$16,$7);
+ $$0146 = $23;
+ }
+ $24 = (__gcry_mpi_copy($8)|0);
+ $25 = (__gcry_mpi_test_bit($7,0)|0);
+ $26 = ($25|0)==(0);
+ if ($26) {
+ $35 = (__gcry_mpi_alloc_set_ui(1)|0);
+ if ($17) {
+ $$1142 = 0;
+ } else {
+ $36 = (__gcry_mpi_alloc_set_ui(0)|0);
+ $$1142 = $36;
+ }
+ $37 = (__gcry_mpi_copy($7)|0);
+ $$0140 = $37;$$0143 = $35;$$2 = $$1142;
+ label = 18;
+ } else {
+ $27 = (__gcry_mpi_alloc_set_ui(0)|0);
+ if ($17) {
+ $$0141 = 0;
+ } else {
+ $28 = (__gcry_mpi_alloc_set_ui(1)|0);
+ $29 = ((($28)) + 8|0);
+ HEAP32[$29>>2] = 1;
+ $$0141 = $28;
+ }
+ $30 = (__gcry_mpi_copy($8)|0);
+ $31 = ((($30)) + 8|0);
+ $32 = HEAP32[$31>>2]|0;
+ $33 = ($32|0)==(0);
+ $34 = $33&1;
+ HEAP32[$31>>2] = $34;
+ $$1 = $30;$$1144 = $27;$$3 = $$0141;
+ }
+ while(1) {
+ if ((label|0) == 18) {
+ label = 0;
+ $38 = (__gcry_mpi_test_bit($$0143,0)|0);
+ $39 = ($38|0)!=(0);
+ if ($17) {
+ if ($39) {
+ __gcry_mpi_add($$0143,$$0143,$8);
+ }
+ __gcry_mpi_rshift($$0143,$$0143,1);
+ __gcry_mpi_rshift($$0140,$$0140,1);
+ $$1 = $$0140;$$1144 = $$0143;$$3 = $$2;
+ continue;
+ }
+ if ($39) {
+ label = 21;
+ } else {
+ $40 = (__gcry_mpi_test_bit($$2,0)|0);
+ $41 = ($40|0)==(0);
+ if (!($41)) {
+ label = 21;
+ }
+ }
+ if ((label|0) == 21) {
+ label = 0;
+ __gcry_mpi_add($$0143,$$0143,$8);
+ __gcry_mpi_sub($$2,$$2,$7);
+ }
+ __gcry_mpi_rshift($$0143,$$0143,1);
+ __gcry_mpi_rshift($$2,$$2,1);
+ __gcry_mpi_rshift($$0140,$$0140,1);
+ $$1 = $$0140;$$1144 = $$0143;$$3 = $$2;
+ }
+ $42 = (__gcry_mpi_test_bit($$1,0)|0);
+ $43 = ($42|0)==(0);
+ if ($43) {
+ $$0140 = $$1;$$0143 = $$1144;$$2 = $$3;
+ label = 18;
+ continue;
+ }
+ $44 = ((($$1)) + 8|0);
+ $45 = HEAP32[$44>>2]|0;
+ $46 = ($45|0)==(0);
+ if ($46) {
+ (__gcry_mpi_set($16,$$1144)|0);
+ if (!($17)) {
+ (__gcry_mpi_set($$0145,$$3)|0);
+ }
+ (__gcry_mpi_set($19,$$1)|0);
+ } else {
+ __gcry_mpi_sub($20,$8,$$1144);
+ $47 = ((($7)) + 8|0);
+ $48 = HEAP32[$47>>2]|0;
+ $49 = ($48|0)==(0);
+ $50 = $49&1;
+ HEAP32[$47>>2] = $50;
+ if (!($17)) {
+ __gcry_mpi_sub($$0146,$7,$$3);
+ }
+ HEAP32[$47>>2] = $48;
+ $51 = HEAP32[$44>>2]|0;
+ $52 = ($51|0)==(0);
+ $53 = $52&1;
+ HEAP32[$44>>2] = $53;
+ (__gcry_mpi_set($24,$$1)|0);
+ HEAP32[$44>>2] = $51;
+ }
+ __gcry_mpi_sub($$1144,$16,$20);
+ if (!($17)) {
+ __gcry_mpi_sub($$3,$$0145,$$0146);
+ }
+ __gcry_mpi_sub($$1,$19,$24);
+ $54 = ((($$1144)) + 8|0);
+ $55 = HEAP32[$54>>2]|0;
+ $56 = ($55|0)==(0);
+ if (!($56)) {
+ __gcry_mpi_add($$1144,$$1144,$8);
+ if (!($17)) {
+ __gcry_mpi_sub($$3,$$3,$7);
+ }
+ }
+ $57 = (__gcry_mpi_cmp_ui($$1,0)|0);
+ $58 = ($57|0)==(0);
+ if ($58) {
+ break;
+ } else {
+ $$0140 = $$1;$$0143 = $$1144;$$2 = $$3;
+ label = 18;
+ }
+ }
+ (__gcry_mpi_set($0,$16)|0);
+ __gcry_mpi_free($16);
+ __gcry_mpi_free($20);
+ __gcry_mpi_free($$1144);
+ if (!($17)) {
+ __gcry_mpi_free($$0145);
+ __gcry_mpi_free($$0146);
+ __gcry_mpi_free($$3);
+ }
+ __gcry_mpi_free($19);
+ __gcry_mpi_free($24);
+ __gcry_mpi_free($$1);
+ __gcry_mpi_free($7);
+ __gcry_mpi_free($8);
+ $$0 = 1;
+ return ($$0|0);
+}
+function __gcry_mpi_mod($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ __gcry_mpi_fdiv_r($0,$1,$2);
+ return;
+}
+function __gcry_mpi_barrett_init($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ __gcry_mpi_normalize($0);
+ $2 = (__gcry_xcalloc(1,28)|0);
+ $3 = ($1|0)==(0);
+ if ($3) {
+ HEAP32[$2>>2] = $0;
+ } else {
+ $4 = (__gcry_mpi_copy($0)|0);
+ HEAP32[$2>>2] = $4;
+ $5 = ((($2)) + 4|0);
+ HEAP32[$5>>2] = 1;
+ }
+ $6 = ((($0)) + 4|0);
+ $7 = HEAP32[$6>>2]|0;
+ $8 = ((($2)) + 8|0);
+ HEAP32[$8>>2] = $7;
+ $9 = (($7) + 1)|0;
+ $10 = (__gcry_mpi_alloc($9)|0);
+ (__gcry_mpi_set_ui($10,1)|0);
+ $11 = $7 << 1;
+ __gcry_mpi_lshift_limbs($10,$11);
+ __gcry_mpi_fdiv_q($10,$10,$0);
+ $12 = ((($2)) + 12|0);
+ HEAP32[$12>>2] = $10;
+ $13 = $11 | 1;
+ $14 = (__gcry_mpi_alloc($13)|0);
+ $15 = ((($2)) + 16|0);
+ HEAP32[$15>>2] = $14;
+ $16 = (__gcry_mpi_alloc($13)|0);
+ $17 = ((($2)) + 20|0);
+ HEAP32[$17>>2] = $16;
+ return ($2|0);
+}
+function __gcry_mpi_barrett_free($0) {
+ $0 = $0|0;
+ var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = ($0|0)==(0|0);
+ if ($1) {
+ return;
+ }
+ $2 = ((($0)) + 12|0);
+ $3 = HEAP32[$2>>2]|0;
+ __gcry_mpi_free($3);
+ $4 = ((($0)) + 16|0);
+ $5 = HEAP32[$4>>2]|0;
+ __gcry_mpi_free($5);
+ $6 = ((($0)) + 20|0);
+ $7 = HEAP32[$6>>2]|0;
+ __gcry_mpi_free($7);
+ $8 = ((($0)) + 24|0);
+ $9 = HEAP32[$8>>2]|0;
+ $10 = ($9|0)==(0|0);
+ if (!($10)) {
+ __gcry_mpi_free($9);
+ }
+ $11 = ((($0)) + 4|0);
+ $12 = HEAP32[$11>>2]|0;
+ $13 = ($12|0)==(0);
+ if (!($13)) {
+ $14 = HEAP32[$0>>2]|0;
+ __gcry_mpi_free($14);
+ }
+ __gcry_free($0);
+ return;
+}
+function __gcry_mpi_mod_barrett($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$pre = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
+ var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $3 = HEAP32[$2>>2]|0;
+ $4 = ((($2)) + 8|0);
+ $5 = HEAP32[$4>>2]|0;
+ $6 = ((($2)) + 12|0);
+ $7 = HEAP32[$6>>2]|0;
+ $8 = ((($2)) + 16|0);
+ $9 = HEAP32[$8>>2]|0;
+ $10 = ((($2)) + 20|0);
+ $11 = HEAP32[$10>>2]|0;
+ __gcry_mpi_normalize($1);
+ $12 = ((($1)) + 4|0);
+ $13 = HEAP32[$12>>2]|0;
+ $14 = $5 << 1;
+ $15 = ($13|0)>($14|0);
+ if ($15) {
+ __gcry_mpi_fdiv_r($0,$1,$3);
+ return;
+ }
+ $16 = ((($1)) + 8|0);
+ $17 = HEAP32[$16>>2]|0;
+ HEAP32[$16>>2] = 0;
+ (__gcry_mpi_set($11,$1)|0);
+ $18 = (($5) + -1)|0;
+ __gcry_mpi_rshift_limbs($11,$18);
+ __gcry_mpi_mul($11,$11,$7);
+ $19 = (($5) + 1)|0;
+ __gcry_mpi_rshift_limbs($11,$19);
+ (__gcry_mpi_set($9,$1)|0);
+ $20 = ((($9)) + 4|0);
+ $21 = HEAP32[$20>>2]|0;
+ $22 = ($21|0)>($19|0);
+ if ($22) {
+ HEAP32[$20>>2] = $19;
+ }
+ __gcry_mpi_mul($11,$11,$3);
+ $23 = ((($11)) + 4|0);
+ $24 = HEAP32[$23>>2]|0;
+ $25 = ($24|0)>($19|0);
+ if ($25) {
+ HEAP32[$23>>2] = $19;
+ }
+ __gcry_mpi_sub($0,$9,$11);
+ $26 = ((($0)) + 8|0);
+ $27 = HEAP32[$26>>2]|0;
+ $28 = ($27|0)==(0);
+ if (!($28)) {
+ $29 = ((($2)) + 24|0);
+ $30 = HEAP32[$29>>2]|0;
+ $31 = ($30|0)==(0|0);
+ if ($31) {
+ $32 = (($5) + 2)|0;
+ $33 = (__gcry_mpi_alloc($32)|0);
+ HEAP32[$29>>2] = $33;
+ (__gcry_mpi_set_ui($33,1)|0);
+ $34 = HEAP32[$29>>2]|0;
+ __gcry_mpi_lshift_limbs($34,$19);
+ $$pre = HEAP32[$29>>2]|0;
+ $35 = $$pre;
+ } else {
+ $35 = $30;
+ }
+ __gcry_mpi_add($0,$0,$35);
+ }
+ $36 = (__gcry_mpi_cmp($0,$3)|0);
+ $37 = ($36|0)>(-1);
+ if ($37) {
+ while(1) {
+ __gcry_mpi_sub($0,$0,$3);
+ $38 = (__gcry_mpi_cmp($0,$3)|0);
+ $39 = ($38|0)>(-1);
+ if (!($39)) {
+ break;
+ }
+ }
+ }
+ HEAP32[$16>>2] = $17;
+ return;
+}
+function __gcry_mpi_mul($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$ = 0, $$0138167 = 0, $$0139164 = 0, $$0140 = 0, $$0141 = 0, $$0142 = 0, $$0142$clear = 0, $$0144$in$in = 0, $$0144$in$in$in = 0, $$0144$in$in$in$in = 0, $$0145$in$in = 0, $$0145$in$in$in = 0, $$0145$in$in$in$in = 0, $$0146 = 0, $$0146$in = 0, $$0147 = 0, $$0147$in = 0, $$0148 = 0, $$0149 = 0, $$0150 = 0;
+ var $$0150$in = 0, $$0152 = 0, $$0152$in = 0, $$0163 = 0, $$1 = 0, $$1153 = 0, $$159 = 0, $$160 = 0, $$161 = 0, $$2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0;
+ var $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, $38 = 0;
+ var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0;
+ var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $or$cond = 0, $spec$select = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $3 = ((($1)) + 4|0);
+ $4 = HEAP32[$3>>2]|0;
+ $5 = ((($2)) + 4|0);
+ $6 = HEAP32[$5>>2]|0;
+ $7 = ($4|0)<($6|0);
+ $$ = $7 ? $2 : $1;
+ $$159 = $7 ? $1 : $2;
+ $$160 = $7 ? $4 : $6;
+ $$161 = $7 ? $6 : $4;
+ $$0144$in$in$in$in = ((($$159)) + 12|0);
+ $$0145$in$in$in$in = ((($$)) + 12|0);
+ $$0144$in$in$in = HEAP32[$$0144$in$in$in$in>>2]|0;
+ $$0145$in$in$in = HEAP32[$$0145$in$in$in$in>>2]|0;
+ $$0144$in$in = $$0144$in$in$in & 1;
+ $$0145$in$in = $$0145$in$in$in & 1;
+ $$0146$in = ((($$159)) + 8|0);
+ $$0147$in = ((($$)) + 8|0);
+ $$0152$in = ((($$)) + 16|0);
+ $$0146 = HEAP32[$$0146$in>>2]|0;
+ $$0147 = HEAP32[$$0147$in>>2]|0;
+ $$0152 = HEAP32[$$0152$in>>2]|0;
+ $$0150$in = ((($$159)) + 16|0);
+ $$0150 = HEAP32[$$0150$in>>2]|0;
+ $8 = $$0147 ^ $$0146;
+ $9 = ((($0)) + 16|0);
+ $10 = HEAP32[$9>>2]|0;
+ $11 = (($$161) + ($$160))|0;
+ $12 = ($0|0)==(0|0);
+ if ($12) {
+ label = 3;
+ } else {
+ $13 = ((($0)) + 12|0);
+ $14 = HEAP32[$13>>2]|0;
+ $15 = $14 & 1;
+ $16 = ($15|0)==(0);
+ if ($16) {
+ label = 3;
+ } else {
+ label = 6;
+ }
+ }
+ do {
+ if ((label|0) == 3) {
+ $17 = ((($1)) + 12|0);
+ $18 = HEAP32[$17>>2]|0;
+ $19 = $18 & 1;
+ $20 = ($19|0)==(0);
+ if ($20) {
+ $21 = ((($2)) + 12|0);
+ $22 = HEAP32[$21>>2]|0;
+ $23 = $22 & 1;
+ $24 = ($23|0)==(0);
+ if ($24) {
+ label = 6;
+ break;
+ }
+ }
+ $25 = (__gcry_mpi_alloc_limb_space($11,1)|0);
+ $$0140 = 0;$$0141 = 0;$$0142 = 2;$$0149 = $25;$$1153 = $$0152;$$2 = $$0150;
+ }
+ } while(0);
+ L8: do {
+ if ((label|0) == 6) {
+ $26 = HEAP32[$0>>2]|0;
+ $27 = ($26|0)<($11|0);
+ $28 = ($10|0)==($$0152|0);
+ if ($27) {
+ $29 = ($10|0)==($$0150|0);
+ $or$cond = $28 | $29;
+ if ($or$cond) {
+ $30 = ((($0)) + 12|0);
+ $31 = HEAP32[$30>>2]|0;
+ $32 = $31 & 1;
+ $33 = (__gcry_mpi_alloc_limb_space($11,$32)|0);
+ $$0140 = 0;$$0141 = 0;$$0142 = 1;$$0149 = $33;$$1153 = $$0152;$$2 = $$0150;
+ break;
+ } else {
+ __gcry_mpi_resize($0,$11);
+ $34 = HEAP32[$9>>2]|0;
+ $$0140 = 0;$$0141 = 0;$$0142 = 0;$$0149 = $34;$$1153 = $$0152;$$2 = $$0150;
+ break;
+ }
+ }
+ if ($28) {
+ $35 = (__gcry_mpi_alloc_limb_space($$161,$$0145$in$in)|0);
+ $36 = ($$0152|0)==($$0150|0);
+ $spec$select = $36 ? $35 : $$0150;
+ $37 = ($$161|0)>(0);
+ if (!($37)) {
+ $$0140 = $$161;$$0141 = $35;$$0142 = 0;$$0149 = $$0152;$$1153 = $35;$$2 = $spec$select;
+ break;
+ }
+ $$0139164 = 0;
+ while(1) {
+ $38 = (($$0152) + ($$0139164<<2)|0);
+ $39 = HEAP32[$38>>2]|0;
+ $40 = (($35) + ($$0139164<<2)|0);
+ HEAP32[$40>>2] = $39;
+ $41 = (($$0139164) + 1)|0;
+ $42 = ($41|0)<($$161|0);
+ if ($42) {
+ $$0139164 = $41;
+ } else {
+ $$0140 = $$161;$$0141 = $35;$$0142 = 0;$$0149 = $$0152;$$1153 = $35;$$2 = $spec$select;
+ break L8;
+ }
+ }
+ }
+ $43 = ($10|0)==($$0150|0);
+ if ($43) {
+ $44 = (__gcry_mpi_alloc_limb_space($$160,$$0144$in$in)|0);
+ $45 = ($$160|0)>(0);
+ if ($45) {
+ $$0138167 = 0;
+ while(1) {
+ $46 = (($$0150) + ($$0138167<<2)|0);
+ $47 = HEAP32[$46>>2]|0;
+ $48 = (($44) + ($$0138167<<2)|0);
+ HEAP32[$48>>2] = $47;
+ $49 = (($$0138167) + 1)|0;
+ $50 = ($49|0)<($$160|0);
+ if ($50) {
+ $$0138167 = $49;
+ } else {
+ $$0140 = $$160;$$0141 = $44;$$0142 = 0;$$0149 = $$0150;$$1153 = $$0152;$$2 = $44;
+ break;
+ }
+ }
+ } else {
+ $$0140 = $$160;$$0141 = $44;$$0142 = 0;$$0149 = $$0150;$$1153 = $$0152;$$2 = $44;
+ }
+ } else {
+ $$0140 = 0;$$0141 = 0;$$0142 = 0;$$0149 = $10;$$1153 = $$0152;$$2 = $$0150;
+ }
+ }
+ } while(0);
+ $51 = ($$160|0)==(0);
+ if ($51) {
+ $$0148 = 0;
+ } else {
+ $52 = (__gcry_mpih_mul($$0149,$$1153,$$161,$$2,$$160)|0);
+ $53 = ($52|0)==(0);
+ $54 = $53&1;
+ $55 = (($11) - ($54))|0;
+ $$0148 = $55;
+ }
+ $$0142$clear = $$0142 & 3;
+ switch ($$0142$clear<<24>>24) {
+ case 0: {
+ break;
+ }
+ case 2: {
+ $56 = (__gcry_mpi_alloc_limb_space($$0148,0)|0);
+ $57 = ($$0148|0)>(0);
+ if ($57) {
+ $$0163 = 0;
+ while(1) {
+ $58 = (($$0149) + ($$0163<<2)|0);
+ $59 = HEAP32[$58>>2]|0;
+ $60 = (($56) + ($$0163<<2)|0);
+ HEAP32[$60>>2] = $59;
+ $61 = (($$0163) + 1)|0;
+ $exitcond = ($61|0)==($$0148|0);
+ if ($exitcond) {
+ break;
+ } else {
+ $$0163 = $61;
+ }
+ }
+ }
+ __gcry_mpi_free_limb_space($$0149,0);
+ $$1 = $56;
+ label = 25;
+ break;
+ }
+ default: {
+ $$1 = $$0149;
+ label = 25;
+ }
+ }
+ if ((label|0) == 25) {
+ __gcry_mpi_assign_limb_space($0,$$1,$$0148);
+ }
+ $62 = ((($0)) + 4|0);
+ HEAP32[$62>>2] = $$0148;
+ $63 = ((($0)) + 8|0);
+ HEAP32[$63>>2] = $8;
+ $64 = ($$0141|0)==(0|0);
+ if ($64) {
+ return;
+ }
+ __gcry_mpi_free_limb_space($$0141,$$0140);
+ return;
+}
+function __gcry_mpi_mulm($0,$1,$2,$3) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ __gcry_mpi_mul($0,$1,$2);
+ __gcry_mpi_tdiv_r($0,$0,$3);
+ return;
+}
+function __gcry_mpi_powm($0,$1,$2,$3) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ var $$ = 0, $$02637$i$i = 0, $$02836$i$i = 0, $$035$i$i = 0, $$0534 = 0, $$0535 = 0, $$0536 = 0, $$0536666 = 0, $$0538810 = 0, $$0540 = 0, $$0540$sink = 0, $$0542 = 0, $$0542663 = 0, $$0545 = 0, $$0548 = 0, $$0550 = 0, $$0551 = 0, $$0551662 = 0, $$0554 = 0, $$0556778 = 0;
+ var $$0559789 = 0, $$0560801 = 0, $$0561 = 0, $$0562 = 0, $$0562$ph = 0, $$0568 = 0, $$0568$ph = 0, $$0575$ph = 0, $$0582773 = 0, $$0584 = 0, $$0584$ph = 0, $$0591795 = 0, $$0597804 = 0, $$0598807 = 0, $$0599814 = 0, $$0600818 = 0, $$0601 = 0, $$0602794 = 0, $$0603$lcssa = 0, $$0603793 = 0;
+ var $$0605792 = 0, $$0650 = 0, $$0651 = 0, $$0737 = 0, $$1$i$i = 0, $$1$ph = 0, $$10 = 0, $$11 = 0, $$12$lcssa = 0, $$127$i$i = 0, $$12730 = 0, $$129$i$i = 0, $$13 = 0, $$13$sink = 0, $$1537 = 0, $$1539 = 0, $$1539664 = 0, $$1543 = 0, $$1546 = 0, $$1552 = 0;
+ var $$1555 = 0, $$1563 = 0, $$1569 = 0, $$1576$lcssa = 0, $$1576764 = 0, $$1576764$phi = 0, $$1583748 = 0, $$1585763 = 0, $$1592 = 0, $$1592$ph = 0, $$1606$lcssa858 = 0, $$1606$lcssa859 = 0, $$1606772 = 0, $$1652 = 0, $$2$lcssa = 0, $$2544 = 0, $$2553 = 0, $$2593 = 0, $$2607$lcssa860 = 0, $$2607$lcssa861 = 0;
+ var $$2607747 = 0, $$2653$ph = 0, $$2653$ph$be = 0, $$2765 = 0, $$2765$phi = 0, $$3654$lcssa = 0, $$3654762 = 0, $$5567 = 0, $$5573 = 0, $$5580$lcssa = 0, $$5580755 = 0, $$5580755$phi = 0, $$5589 = 0, $$5596728 = 0, $$5596728$us = 0, $$6$lcssa = 0, $$6574742 = 0, $$6581741 = 0, $$6581741$phi = 0, $$6590754 = 0;
+ var $$6756 = 0, $$6756$phi = 0, $$7658$lcssa = 0, $$7658753 = 0, $$7743 = 0, $$7743$phi = 0, $$8 = 0, $$8659740 = 0, $$9 = 0, $$9660 = 0, $$neg689 = 0, $$neg692 = 0, $$neg695 = 0, $$pre = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0;
+ var $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0;
+ var $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0;
+ var $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0;
+ var $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0;
+ var $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0;
+ var $196 = 0, $197 = 0, $198 = 0, $199 = 0, $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, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0;
+ var $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, $322 = 0;
+ var $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0;
+ var $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0;
+ var $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0;
+ var $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0;
+ var $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 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, $exitcond = 0, $exitcond$i$i = 0, $exitcond846 = 0, $exitcond851 = 0, $exitcond852 = 0, $exitcond853 = 0;
+ var $exitcond854 = 0, $exitcond855 = 0, $exitcond856 = 0, $exitcond857 = 0, $or$cond = 0, $phitmp608 = 0, $spec$select = 0, $spec$select687 = 0, $storemerge$i613 = 0, $storemerge$i617 = 0, $storemerge$i619 = 0, $storemerge$i621 = 0, $storemerge725 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 240|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(240|0);
+ $4 = sp + 64|0;
+ $5 = sp;
+ $6 = sp + 208|0;
+ $7 = sp + 188|0;
+ $8 = sp + 168|0;
+ $9 = sp + 148|0;
+ $10 = sp + 128|0;
+ $11 = ((($2)) + 4|0);
+ $12 = HEAP32[$11>>2]|0;
+ $13 = ((($3)) + 4|0);
+ $14 = HEAP32[$13>>2]|0;
+ $15 = $14 << 1;
+ $16 = ((($3)) + 8|0);
+ $17 = HEAP32[$16>>2]|0;
+ $18 = ($12|0)>(16);
+ if ($18) {
+ $$0601 = 5;
+ } else {
+ $19 = ($12|0)>(8);
+ if ($19) {
+ $$0601 = 4;
+ } else {
+ $20 = ($12|0)>(4);
+ $21 = ($12|0)>(2);
+ $$ = $21 ? 2 : 1;
+ $spec$select687 = $20 ? 3 : $$;
+ $$0601 = $spec$select687;
+ }
+ }
+ $22 = ((($2)) + 12|0);
+ $23 = HEAP32[$22>>2]|0;
+ $24 = $23 & 1;
+ $25 = ($24|0)!=(0);
+ $26 = ((($3)) + 12|0);
+ $27 = HEAP32[$26>>2]|0;
+ $28 = $27 & 1;
+ $29 = ($28|0)!=(0);
+ $30 = ($1|0)==(0|0);
+ if ($30) {
+ $36 = 0;
+ } else {
+ $31 = ((($1)) + 12|0);
+ $32 = HEAP32[$31>>2]|0;
+ $33 = $32 & 1;
+ $34 = ($33|0)!=(0);
+ $36 = $34;
+ }
+ $35 = $36&1;
+ $37 = ((($0)) + 16|0);
+ $38 = HEAP32[$37>>2]|0;
+ $39 = ((($2)) + 16|0);
+ $40 = HEAP32[$39>>2]|0;
+ $41 = ($14|0)==(0);
+ if ($41) {
+ __gcry_divide_by_zero();
+ // unreachable;
+ }
+ $42 = ($12|0)==(0);
+ if ($42) {
+ $43 = ($14|0)==(1);
+ if ($43) {
+ $45 = ((($3)) + 16|0);
+ $46 = HEAP32[$45>>2]|0;
+ $47 = HEAP32[$46>>2]|0;
+ $48 = ($47|0)!=(1);
+ $phitmp608 = $48&1;
+ $49 = ((($0)) + 4|0);
+ HEAP32[$49>>2] = $phitmp608;
+ if ($48) {
+ label = 12;
+ }
+ } else {
+ $44 = ((($0)) + 4|0);
+ HEAP32[$44>>2] = 1;
+ label = 12;
+ }
+ if ((label|0) == 12) {
+ $50 = HEAP32[$0>>2]|0;
+ $51 = ($50|0)<(1);
+ if ($51) {
+ __gcry_mpi_resize($0,1);
+ $$pre = HEAP32[$37>>2]|0;
+ $52 = $$pre;
+ } else {
+ $52 = $38;
+ }
+ HEAP32[$52>>2] = 1;
+ }
+ $53 = ((($0)) + 8|0);
+ HEAP32[$53>>2] = 0;
+ STACKTOP = sp;return;
+ }
+ $54 = $29 ? $14 : 0;
+ $55 = (__gcry_mpi_alloc_limb_space($14,$28)|0);
+ $56 = ((($3)) + 16|0);
+ $57 = HEAP32[$56>>2]|0;
+ $58 = (($14) + -1)|0;
+ $59 = (($57) + ($58<<2)|0);
+ $60 = HEAP32[$59>>2]|0;
+ $61 = ($60>>>0)<(65536);
+ $62 = ($60>>>0)<(256);
+ $63 = $62 ? 0 : 8;
+ $64 = ($60>>>0)<(16777216);
+ $65 = $64 ? 16 : 24;
+ $66 = $61 ? $63 : $65;
+ $67 = $60 >>> $66;
+ $68 = (14784 + ($67)|0);
+ $69 = HEAP8[$68>>0]|0;
+ $70 = $69&255;
+ $$neg689 = (32 - ($70))|0;
+ $71 = (($$neg689) - ($66))|0;
+ $72 = ($71|0)!=(0);
+ if ($72) {
+ (__gcry_mpih_lshift($55,$57,$14,$71)|0);
+ } else {
+ $73 = ($14|0)>(0);
+ if ($73) {
+ $$0600818 = 0;
+ while(1) {
+ $74 = (($57) + ($$0600818<<2)|0);
+ $75 = HEAP32[$74>>2]|0;
+ $76 = (($55) + ($$0600818<<2)|0);
+ HEAP32[$76>>2] = $75;
+ $77 = (($$0600818) + 1)|0;
+ $exitcond857 = ($77|0)==($14|0);
+ if ($exitcond857) {
+ break;
+ } else {
+ $$0600818 = $77;
+ }
+ }
+ }
+ }
+ $78 = ((($1)) + 4|0);
+ $79 = HEAP32[$78>>2]|0;
+ $80 = ((($1)) + 8|0);
+ $81 = HEAP32[$80>>2]|0;
+ $82 = ($79|0)>($14|0);
+ L31: do {
+ if ($82) {
+ $83 = (($79) + 1)|0;
+ $84 = $36 ? $83 : 0;
+ $85 = (__gcry_mpi_alloc_limb_space($83,$35)|0);
+ $86 = ($79|0)>(0);
+ if ($86) {
+ $87 = ((($1)) + 16|0);
+ $88 = HEAP32[$87>>2]|0;
+ $$0599814 = 0;
+ while(1) {
+ $89 = (($88) + ($$0599814<<2)|0);
+ $90 = HEAP32[$89>>2]|0;
+ $91 = (($85) + ($$0599814<<2)|0);
+ HEAP32[$91>>2] = $90;
+ $92 = (($$0599814) + 1)|0;
+ $exitcond856 = ($92|0)==($79|0);
+ if ($exitcond856) {
+ break;
+ } else {
+ $$0599814 = $92;
+ }
+ }
+ }
+ $93 = (($85) + ($14<<2)|0);
+ (__gcry_mpih_divrem($93,0,$85,$79,$55,$14)|0);
+ $94 = ($14|0)>(0);
+ if ($94) {
+ $$0538810 = $14;
+ while(1) {
+ $96 = (($$0538810) + -1)|0;
+ $97 = (($85) + ($96<<2)|0);
+ $98 = HEAP32[$97>>2]|0;
+ $99 = ($98|0)==(0);
+ if (!($99)) {
+ $$0536666 = $85;$$0542663 = $85;$$0551662 = $84;$$1539664 = $$0538810;
+ label = 31;
+ break L31;
+ }
+ $95 = ($$0538810|0)>(1);
+ if ($95) {
+ $$0538810 = $96;
+ } else {
+ $$0536 = $85;$$0542 = $85;$$0551 = $84;$$1539 = $96;
+ label = 30;
+ break;
+ }
+ }
+ } else {
+ $$0536 = $85;$$0542 = $85;$$0551 = $84;$$1539 = $14;
+ label = 30;
+ }
+ } else {
+ $100 = ((($1)) + 16|0);
+ $101 = HEAP32[$100>>2]|0;
+ $$0536 = $101;$$0542 = 0;$$0551 = 0;$$1539 = $79;
+ label = 30;
+ }
+ } while(0);
+ if ((label|0) == 30) {
+ $102 = ($$1539|0)==(0);
+ if ($102) {
+ $$0540$sink = 0;$$0548 = 0;$$0561 = 0;$$13$sink = 0;$$1546 = 0;$$1555 = 0;$$2544 = $$0542;$$2553 = $$0551;
+ } else {
+ $$0536666 = $$0536;$$0542663 = $$0542;$$0551662 = $$0551;$$1539664 = $$1539;
+ label = 31;
+ }
+ }
+ do {
+ if ((label|0) == 31) {
+ $103 = ($38|0)==($$0536666|0);
+ if ($103) {
+ $104 = ($$0542663|0)==(0|0);
+ if (!($104)) {
+ __gcry_assert_failed(64005,64016,515,64026);
+ // unreachable;
+ }
+ $105 = $36 ? $$1539664 : 0;
+ $106 = (__gcry_mpi_alloc_limb_space($$1539664,$35)|0);
+ $107 = ($$1539664|0)>(0);
+ if ($107) {
+ $$0598807 = 0;
+ while(1) {
+ $108 = (($38) + ($$0598807<<2)|0);
+ $109 = HEAP32[$108>>2]|0;
+ $110 = (($106) + ($$0598807<<2)|0);
+ HEAP32[$110>>2] = $109;
+ $111 = (($$0598807) + 1)|0;
+ $exitcond855 = ($111|0)==($$1539664|0);
+ if ($exitcond855) {
+ $$1537 = $106;$$1543 = $106;$$1552 = $105;
+ break;
+ } else {
+ $$0598807 = $111;
+ }
+ }
+ } else {
+ $$1537 = $106;$$1543 = $106;$$1552 = $105;
+ }
+ } else {
+ $$1537 = $$0536666;$$1543 = $$0542663;$$1552 = $$0551662;
+ }
+ $112 = ($38|0)==($40|0);
+ if ($112) {
+ $113 = $25 ? $12 : 0;
+ $114 = (__gcry_mpi_alloc_limb_space($12,$24)|0);
+ $115 = ($12|0)>(0);
+ if ($115) {
+ $$0597804 = 0;
+ while(1) {
+ $116 = (($38) + ($$0597804<<2)|0);
+ $117 = HEAP32[$116>>2]|0;
+ $118 = (($114) + ($$0597804<<2)|0);
+ HEAP32[$118>>2] = $117;
+ $119 = (($$0597804) + 1)|0;
+ $exitcond854 = ($119|0)==($12|0);
+ if ($exitcond854) {
+ $$0535 = $114;$$0545 = $114;$$0554 = $113;
+ break;
+ } else {
+ $$0597804 = $119;
+ }
+ }
+ } else {
+ $$0535 = $114;$$0545 = $114;$$0554 = $113;
+ }
+ } else {
+ $$0535 = $40;$$0545 = 0;$$0554 = 0;
+ }
+ $120 = HEAP32[$0>>2]|0;
+ $121 = ($120|0)<($15|0);
+ if ($121) {
+ __gcry_mpi_resize($0,$15);
+ $122 = HEAP32[$37>>2]|0;
+ $$0534 = $122;
+ } else {
+ $$0534 = $38;
+ }
+ $123 = (($15) + 2)|0;
+ $124 = $29 ? $123 : 0;
+ $125 = (__gcry_mpi_alloc_limb_space($123,$28)|0);
+ ;HEAP32[$6>>2]=0|0;HEAP32[$6+4>>2]=0|0;HEAP32[$6+8>>2]=0|0;HEAP32[$6+12>>2]=0|0;HEAP32[$6+16>>2]=0|0;HEAP32[$6+20>>2]=0|0;HEAP32[$6+24>>2]=0|0;
+ $126 = HEAP32[$$0535>>2]|0;
+ $127 = $126 & 1;
+ $128 = ($127|0)!=(0);
+ $129 = ($81|0)!=(0);
+ $130 = $129 & $128;
+ $131 = ($$0601>>>0)>(1);
+ if ($131) {
+ $132 = ($$1539664|0)<(16);
+ if ($132) {
+ (__gcry_mpih_mul($125,$$1537,$$1539664,$$1537,$$1539664)|0);
+ } else {
+ __gcry_mpih_mul_karatsuba_case($125,$$1537,$$1539664,$$1537,$$1539664,$6);
+ }
+ $133 = $$1539664 << 1;
+ $134 = ($133|0)>($14|0);
+ if ($134) {
+ $135 = (($125) + ($14<<2)|0);
+ (__gcry_mpih_divrem($135,0,$125,$133,$55,$14)|0);
+ $$0650 = $14;
+ } else {
+ $$0650 = $133;
+ }
+ } else {
+ $$0650 = 0;
+ }
+ $136 = (__gcry_mpi_alloc_limb_space($$1539664,$24)|0);
+ HEAP32[$4>>2] = $136;
+ HEAP32[$5>>2] = $$1539664;
+ $137 = ($$1539664|0)>(0);
+ if ($137) {
+ $$0560801 = 0;
+ while(1) {
+ $138 = (($$1537) + ($$0560801<<2)|0);
+ $139 = HEAP32[$138>>2]|0;
+ $140 = (($136) + ($$0560801<<2)|0);
+ HEAP32[$140>>2] = $139;
+ $141 = (($$0560801) + 1)|0;
+ $exitcond853 = ($141|0)==($$1539664|0);
+ if ($exitcond853) {
+ break;
+ } else {
+ $$0560801 = $141;
+ }
+ }
+ }
+ $142 = (($$0601) + -1)|0;
+ $143 = 1 << $142;
+ $144 = ($143|0)>(1);
+ if ($144) {
+ $145 = ($$0650|0)<(16);
+ $146 = (($$0534) + ($14<<2)|0);
+ $$0591795 = 1;$$0602794 = $136;$$0603793 = $$1539664;$$0605792 = $$1539664;
+ while(1) {
+ $147 = ($$0650|0)<($$0605792|0);
+ if ($147) {
+ if ($145) {
+ (__gcry_mpih_mul($$0534,$$0602794,$$0605792,$125,$$0650)|0);
+ } else {
+ __gcry_mpih_mul_karatsuba_case($$0534,$$0602794,$$0605792,$125,$$0650,$6);
+ }
+ $151 = (($$0605792) + ($$0650))|0;
+ $152 = ($151|0)>($14|0);
+ if ($152) {
+ (__gcry_mpih_divrem($146,0,$$0534,$151,$55,$14)|0);
+ $$0651 = $14;
+ } else {
+ $$0651 = $151;
+ }
+ } else {
+ $148 = ($$0605792|0)<(16);
+ if ($148) {
+ (__gcry_mpih_mul($$0534,$125,$$0650,$$0602794,$$0605792)|0);
+ } else {
+ __gcry_mpih_mul_karatsuba_case($$0534,$125,$$0650,$$0602794,$$0605792,$6);
+ }
+ $149 = (($$0605792) + ($$0650))|0;
+ $150 = ($149|0)>($14|0);
+ if ($150) {
+ (__gcry_mpih_divrem($146,0,$$0534,$149,$55,$14)|0);
+ $$0651 = $14;
+ } else {
+ $$0651 = $149;
+ }
+ }
+ $153 = (__gcry_mpi_alloc_limb_space($$0651,$24)|0);
+ $154 = (($4) + ($$0591795<<2)|0);
+ HEAP32[$154>>2] = $153;
+ $155 = (($5) + ($$0591795<<2)|0);
+ HEAP32[$155>>2] = $$0651;
+ $156 = ($$0603793|0)<($$0651|0);
+ $spec$select = $156 ? $$0651 : $$0603793;
+ $157 = ($$0651|0)>(0);
+ if ($157) {
+ $$0559789 = 0;
+ while(1) {
+ $158 = (($$0534) + ($$0559789<<2)|0);
+ $159 = HEAP32[$158>>2]|0;
+ $160 = (($153) + ($$0559789<<2)|0);
+ HEAP32[$160>>2] = $159;
+ $161 = (($$0559789) + 1)|0;
+ $exitcond851 = ($161|0)==($$0651|0);
+ if ($exitcond851) {
+ break;
+ } else {
+ $$0559789 = $161;
+ }
+ }
+ }
+ $162 = (($$0591795) + 1)|0;
+ $exitcond852 = ($162|0)==($143|0);
+ if ($exitcond852) {
+ $$0603$lcssa = $spec$select;
+ break;
+ } else {
+ $$0591795 = $162;$$0602794 = $153;$$0603793 = $spec$select;$$0605792 = $$0651;
+ }
+ }
+ } else {
+ $$0603$lcssa = $$1539664;
+ }
+ $163 = (__gcry_mpi_alloc_limb_space($$0603$lcssa,$24)|0);
+ $164 = ($$0603$lcssa|0)>(0);
+ if ($164) {
+ $165 = $$0603$lcssa << 2;
+ _memset(($163|0),0,($165|0))|0;
+ }
+ $166 = (($12) + -1)|0;
+ $167 = ($$0601|0)==(1);
+ if ($167) {
+ $$1652 = $$1539664;
+ } else {
+ $168 = ($14|0)>(0);
+ if ($168) {
+ $169 = $14 << 2;
+ _memset(($$0534|0),0,($169|0))|0;
+ $$1652 = $14;
+ } else {
+ $$1652 = $14;
+ }
+ }
+ if ($137) {
+ $$0556778 = 0;
+ while(1) {
+ $170 = (($$1537) + ($$0556778<<2)|0);
+ $171 = HEAP32[$170>>2]|0;
+ $172 = (($$0534) + ($$0556778<<2)|0);
+ HEAP32[$172>>2] = $171;
+ $173 = (($$0556778) + 1)|0;
+ $exitcond846 = ($173|0)==($$1539664|0);
+ if ($exitcond846) {
+ break;
+ } else {
+ $$0556778 = $173;
+ }
+ }
+ }
+ $174 = (($$0535) + ($166<<2)|0);
+ $175 = HEAP32[$174>>2]|0;
+ $176 = ($175>>>0)<(65536);
+ $177 = ($175>>>0)<(256);
+ $178 = $177 ? 0 : 8;
+ $179 = ($175>>>0)<(16777216);
+ $180 = $179 ? 16 : 24;
+ $181 = $176 ? $178 : $180;
+ $182 = $175 >>> $181;
+ $183 = (14784 + ($182)|0);
+ $184 = HEAP8[$183>>0]|0;
+ $185 = $184&255;
+ $$neg692 = (32 - ($185))|0;
+ $186 = (($$neg692) - ($181))|0;
+ $187 = $175 << $186;
+ $188 = $187 << 1;
+ $189 = (31 - ($186))|0;
+ $190 = (32 - ($$0601))|0;
+ $191 = ($142|0)==(31);
+ $192 = ((($7)) + 4|0);
+ $193 = ((($8)) + 4|0);
+ $194 = ((($8)) + 8|0);
+ $195 = ((($7)) + 8|0);
+ $196 = ((($8)) + 12|0);
+ $197 = ((($7)) + 12|0);
+ $198 = ((($7)) + 16|0);
+ $199 = ((($8)) + 16|0);
+ $$0562$ph = $188;$$0568$ph = $189;$$0575$ph = $125;$$0584$ph = 0;$$1$ph = $$0534;$$1592$ph = $166;$$2653$ph = $$1652;
+ L114: while(1) {
+ $$0562 = $$0562$ph;$$0568 = $$0568$ph;$$0584 = $$0584$ph;$$1592 = $$1592$ph;
+ while(1) {
+ $200 = ($$0562|0)==(0);
+ if (!($200)) {
+ break;
+ }
+ $201 = (($$0568) + ($$0584))|0;
+ $202 = (($$1592) + -1)|0;
+ $203 = ($$1592|0)<(1);
+ if ($203) {
+ $$5567 = 0;$$5573 = 0;$$5589 = $201;
+ break L114;
+ }
+ $204 = (($$0535) + ($202<<2)|0);
+ $205 = HEAP32[$204>>2]|0;
+ $$0562 = $205;$$0568 = 32;$$0584 = $201;$$1592 = $202;
+ }
+ $206 = ($$0562>>>0)<(65536);
+ $207 = ($$0562>>>0)<(256);
+ $208 = $207 ? 0 : 8;
+ $209 = ($$0562>>>0)<(16777216);
+ $210 = $209 ? 16 : 24;
+ $211 = $206 ? $208 : $210;
+ $212 = $$0562 >>> $211;
+ $213 = (14784 + ($212)|0);
+ $214 = HEAP8[$213>>0]|0;
+ $215 = $214&255;
+ $$neg695 = (32 - ($211))|0;
+ $216 = (($$neg695) - ($215))|0;
+ $217 = $$0562 << $216;
+ $218 = (($$0568) - ($216))|0;
+ $219 = (($216) + ($$0584))|0;
+ $220 = ($218|0)<($$0601|0);
+ if ($220) {
+ $224 = (($$1592) + -1)|0;
+ $225 = ($$1592|0)<(1);
+ if ($225) {
+ label = 103;
+ break;
+ }
+ $226 = $217 >>> $190;
+ $227 = (($$0535) + ($224<<2)|0);
+ $228 = HEAP32[$227>>2]|0;
+ $229 = (($218) + ($190))|0;
+ $230 = $228 >>> $229;
+ $231 = $230 | $226;
+ $232 = (($$0601) - ($218))|0;
+ $233 = $228 << $232;
+ $$0550 = $231;$$1563 = $233;$$1569 = $229;$$2593 = $224;
+ } else {
+ $221 = $217 >>> $190;
+ $222 = $217 << $$0601;
+ $223 = (($218) - ($$0601))|0;
+ $$0550 = $221;$$1563 = $222;$$1569 = $223;$$2593 = $$1592;
+ }
+ $234 = (0 - ($$0550))|0;
+ $235 = $$0550 & $234;
+ $236 = ($235>>>0)<(65536);
+ $237 = ($235>>>0)<(256);
+ $238 = $237 ? 0 : 8;
+ $239 = ($235>>>0)<(16777216);
+ $240 = $239 ? 16 : 24;
+ $241 = $236 ? $238 : $240;
+ $242 = $235 >>> $241;
+ $243 = (14784 + ($242)|0);
+ $244 = HEAP8[$243>>0]|0;
+ $245 = $244&255;
+ $246 = (($245) + -1)|0;
+ $247 = (($246) + ($241))|0;
+ $248 = $$0550 >>> $247;
+ $249 = $248 >>> 1;
+ $250 = (($219) + ($$0601))|0;
+ $251 = (($250) - ($247))|0;
+ $252 = ($251|0)==(0);
+ if ($252) {
+ $$1576$lcssa = $$0575$ph;$$2$lcssa = $$1$ph;$$3654$lcssa = $$2653$ph;
+ } else {
+ $$1576764 = $$0575$ph;$$1585763 = $251;$$2765 = $$1$ph;$$3654762 = $$2653$ph;
+ while(1) {
+ $253 = ($$3654762|0)<(16);
+ if ($253) {
+ (__gcry_mpih_mul($$1576764,$$2765,$$3654762,$$2765,$$3654762)|0);
+ } else {
+ __gcry_mpih_mul_karatsuba_case($$1576764,$$2765,$$3654762,$$2765,$$3654762,$6);
+ }
+ $254 = $$3654762 << 1;
+ $255 = ($254|0)>($14|0);
+ if ($255) {
+ $256 = (($$1576764) + ($14<<2)|0);
+ (__gcry_mpih_divrem($256,0,$$1576764,$254,$55,$14)|0);
+ $storemerge$i613 = $14;
+ } else {
+ $storemerge$i613 = $254;
+ }
+ $257 = (($$1585763) + -1)|0;
+ $258 = ($257|0)==(0);
+ if ($258) {
+ $$1576$lcssa = $$2765;$$2$lcssa = $$1576764;$$3654$lcssa = $storemerge$i613;
+ break;
+ } else {
+ $$2765$phi = $$1576764;$$1576764$phi = $$2765;$$1585763 = $257;$$3654762 = $storemerge$i613;$$2765 = $$2765$phi;$$1576764 = $$1576764$phi;
+ }
+ }
+ }
+ do {
+ if ($191) {
+ $$1606$lcssa859 = 0;
+ label = 98;
+ } else {
+ $$0582773 = 0;$$1606772 = 0;
+ while(1) {
+ $259 = (($5) + ($$0582773<<2)|0);
+ $260 = HEAP32[$259>>2]|0;
+ HEAP32[$192>>2] = $260;
+ HEAP32[$7>>2] = $260;
+ HEAP32[$193>>2] = $260;
+ HEAP32[$8>>2] = $260;
+ HEAP32[$194>>2] = 0;
+ HEAP32[$195>>2] = 0;
+ HEAP32[$196>>2] = 0;
+ HEAP32[$197>>2] = 0;
+ HEAP32[$198>>2] = $163;
+ $261 = (($4) + ($$0582773<<2)|0);
+ $262 = HEAP32[$261>>2]|0;
+ HEAP32[$199>>2] = $262;
+ $263 = ($$0582773|0)==($249|0);
+ $264 = $263&1;
+ (__gcry_mpi_set_cond($7,$8,$264)|0);
+ $265 = $263 ? $260 : 0;
+ $266 = $265 | $$1606772;
+ $267 = (($$0582773) + 1)|0;
+ $268 = ($267|0)<($143|0);
+ if ($268) {
+ $$0582773 = $267;$$1606772 = $266;
+ } else {
+ break;
+ }
+ }
+ $269 = ($266|0)<(16);
+ if ($269) {
+ $$1606$lcssa859 = $266;
+ label = 98;
+ break;
+ }
+ __gcry_mpih_mul_karatsuba_case($$1576$lcssa,$$2$lcssa,$$3654$lcssa,$163,$266,$6);
+ $$1606$lcssa858 = $266;
+ }
+ } while(0);
+ if ((label|0) == 98) {
+ label = 0;
+ (__gcry_mpih_mul($$1576$lcssa,$$2$lcssa,$$3654$lcssa,$163,$$1606$lcssa859)|0);
+ $$1606$lcssa858 = $$1606$lcssa859;
+ }
+ $270 = (($$1606$lcssa858) + ($$3654$lcssa))|0;
+ $271 = ($270|0)>($14|0);
+ if ($271) {
+ $272 = (($$1576$lcssa) + ($14<<2)|0);
+ (__gcry_mpih_divrem($272,0,$$1576$lcssa,$270,$55,$14)|0);
+ $$2653$ph$be = $14;
+ } else {
+ $$2653$ph$be = $270;
+ }
+ $$0562$ph = $$1563;$$0568$ph = $$1569;$$0575$ph = $$2$lcssa;$$0584$ph = $247;$$1$ph = $$1576$lcssa;$$1592$ph = $$2593;$$2653$ph = $$2653$ph$be;
+ }
+ if ((label|0) == 103) {
+ $273 = (32 - ($218))|0;
+ $274 = $217 >>> $273;
+ $275 = ($218|0)==(0);
+ if ($275) {
+ $$5567 = $274;$$5573 = 0;$$5589 = $219;
+ } else {
+ $276 = (($$0568) + ($$0584))|0;
+ $277 = (0 - ($274))|0;
+ $278 = $274 & $277;
+ $279 = ($278>>>0)<(65536);
+ $280 = ($278>>>0)<(256);
+ $281 = $280 ? 0 : 8;
+ $282 = ($278>>>0)<(16777216);
+ $283 = $282 ? 16 : 24;
+ $284 = $279 ? $281 : $283;
+ $285 = $278 >>> $284;
+ $286 = (14784 + ($285)|0);
+ $287 = HEAP8[$286>>0]|0;
+ $288 = $287&255;
+ $289 = (($284) + -1)|0;
+ $290 = (($289) + ($288))|0;
+ $291 = $274 >>> $290;
+ $292 = (($276) - ($290))|0;
+ $$5567 = $291;$$5573 = $290;$$5589 = $292;
+ }
+ }
+ $293 = ($$5589|0)==(0);
+ if ($293) {
+ $$5580$lcssa = $$0575$ph;$$6$lcssa = $$1$ph;$$7658$lcssa = $$2653$ph;
+ } else {
+ $$5580755 = $$0575$ph;$$6590754 = $$5589;$$6756 = $$1$ph;$$7658753 = $$2653$ph;
+ while(1) {
+ $294 = (($$6590754) + -1)|0;
+ $295 = ($$7658753|0)<(16);
+ if ($295) {
+ (__gcry_mpih_mul($$5580755,$$6756,$$7658753,$$6756,$$7658753)|0);
+ } else {
+ __gcry_mpih_mul_karatsuba_case($$5580755,$$6756,$$7658753,$$6756,$$7658753,$6);
+ }
+ $296 = $$7658753 << 1;
+ $297 = ($296|0)>($14|0);
+ if ($297) {
+ $298 = (($$5580755) + ($14<<2)|0);
+ (__gcry_mpih_divrem($298,0,$$5580755,$296,$55,$14)|0);
+ $storemerge$i617 = $14;
+ } else {
+ $storemerge$i617 = $296;
+ }
+ $299 = ($294|0)==(0);
+ if ($299) {
+ $$5580$lcssa = $$6756;$$6$lcssa = $$5580755;$$7658$lcssa = $storemerge$i617;
+ break;
+ } else {
+ $$6756$phi = $$5580755;$$5580755$phi = $$6756;$$6590754 = $294;$$7658753 = $storemerge$i617;$$6756 = $$6756$phi;$$5580755 = $$5580755$phi;
+ }
+ }
+ }
+ $300 = ($$5567|0)==(0);
+ do {
+ if ($300) {
+ $$8 = $$6$lcssa;$$9660 = $$7658$lcssa;
+ } else {
+ do {
+ if ($191) {
+ $$2607$lcssa861 = 0;
+ label = 118;
+ } else {
+ $301 = ((($9)) + 4|0);
+ $302 = ((($10)) + 4|0);
+ $303 = ((($10)) + 8|0);
+ $304 = ((($9)) + 8|0);
+ $305 = ((($10)) + 12|0);
+ $306 = ((($9)) + 12|0);
+ $307 = ((($9)) + 16|0);
+ $308 = ((($10)) + 16|0);
+ $309 = $$5567 >>> 1;
+ $$1583748 = 0;$$2607747 = 0;
+ while(1) {
+ $310 = (($5) + ($$1583748<<2)|0);
+ $311 = HEAP32[$310>>2]|0;
+ HEAP32[$301>>2] = $311;
+ HEAP32[$9>>2] = $311;
+ HEAP32[$302>>2] = $311;
+ HEAP32[$10>>2] = $311;
+ HEAP32[$303>>2] = 0;
+ HEAP32[$304>>2] = 0;
+ HEAP32[$305>>2] = 0;
+ HEAP32[$306>>2] = 0;
+ HEAP32[$307>>2] = $163;
+ $312 = (($4) + ($$1583748<<2)|0);
+ $313 = HEAP32[$312>>2]|0;
+ HEAP32[$308>>2] = $313;
+ $314 = ($$1583748|0)==($309|0);
+ $315 = $314&1;
+ (__gcry_mpi_set_cond($9,$10,$315)|0);
+ $316 = $314 ? $311 : 0;
+ $317 = $316 | $$2607747;
+ $318 = (($$1583748) + 1)|0;
+ $319 = ($318|0)<($143|0);
+ if ($319) {
+ $$1583748 = $318;$$2607747 = $317;
+ } else {
+ break;
+ }
+ }
+ $320 = ($317|0)<(16);
+ if ($320) {
+ $$2607$lcssa861 = $317;
+ label = 118;
+ break;
+ }
+ __gcry_mpih_mul_karatsuba_case($$5580$lcssa,$$6$lcssa,$$7658$lcssa,$163,$317,$6);
+ $$2607$lcssa860 = $317;
+ }
+ } while(0);
+ if ((label|0) == 118) {
+ (__gcry_mpih_mul($$5580$lcssa,$$6$lcssa,$$7658$lcssa,$163,$$2607$lcssa861)|0);
+ $$2607$lcssa860 = $$2607$lcssa861;
+ }
+ $321 = (($$2607$lcssa860) + ($$7658$lcssa))|0;
+ $322 = ($321|0)>($14|0);
+ if ($322) {
+ $323 = (($$5580$lcssa) + ($14<<2)|0);
+ (__gcry_mpih_divrem($323,0,$$5580$lcssa,$321,$55,$14)|0);
+ $storemerge$i619 = $14;
+ } else {
+ $storemerge$i619 = $321;
+ }
+ $324 = ($$5573|0)==(0);
+ if ($324) {
+ $$8 = $$5580$lcssa;$$9660 = $storemerge$i619;
+ break;
+ }
+ $$6574742 = $$5573;$$6581741 = $$6$lcssa;$$7743 = $$5580$lcssa;$$8659740 = $storemerge$i619;
+ while(1) {
+ $325 = ($$8659740|0)<(16);
+ if ($325) {
+ (__gcry_mpih_mul($$6581741,$$7743,$$8659740,$$7743,$$8659740)|0);
+ } else {
+ __gcry_mpih_mul_karatsuba_case($$6581741,$$7743,$$8659740,$$7743,$$8659740,$6);
+ }
+ $326 = $$8659740 << 1;
+ $327 = ($326|0)>($14|0);
+ if ($327) {
+ $328 = (($$6581741) + ($14<<2)|0);
+ (__gcry_mpih_divrem($328,0,$$6581741,$326,$55,$14)|0);
+ $storemerge$i621 = $14;
+ } else {
+ $storemerge$i621 = $326;
+ }
+ $329 = (($$6574742) + -1)|0;
+ $330 = ($329|0)==(0);
+ if ($330) {
+ $$8 = $$6581741;$$9660 = $storemerge$i621;
+ break;
+ } else {
+ $$7743$phi = $$6581741;$$6581741$phi = $$7743;$$6574742 = $329;$$8659740 = $storemerge$i621;$$7743 = $$7743$phi;$$6581741 = $$6581741$phi;
+ }
+ }
+ }
+ } while(0);
+ $331 = HEAP32[$37>>2]|0;
+ do {
+ if ($72) {
+ $332 = (__gcry_mpih_lshift($331,$$8,$$9660,$71)|0);
+ $333 = HEAP32[$37>>2]|0;
+ $334 = ($332|0)==(0);
+ if ($334) {
+ $$10 = $$9660;$$9 = $333;
+ break;
+ }
+ $335 = (($$9660) + 1)|0;
+ $336 = (($333) + ($$9660<<2)|0);
+ HEAP32[$336>>2] = $332;
+ $$10 = $335;$$9 = $333;
+ } else {
+ $337 = ($331|0)==($$8|0);
+ if ($337) {
+ $$10 = $$9660;$$9 = $$8;
+ break;
+ }
+ $338 = ($$9660|0)>(0);
+ if (!($338)) {
+ $$10 = $$9660;$$9 = $331;
+ break;
+ }
+ $$0737 = 0;
+ while(1) {
+ $339 = (($$8) + ($$0737<<2)|0);
+ $340 = HEAP32[$339>>2]|0;
+ $341 = (($331) + ($$0737<<2)|0);
+ HEAP32[$341>>2] = $340;
+ $342 = (($$0737) + 1)|0;
+ $exitcond = ($342|0)==($$9660|0);
+ if ($exitcond) {
+ $$10 = $$9660;$$9 = $331;
+ break;
+ } else {
+ $$0737 = $342;
+ }
+ }
+ }
+ } while(0);
+ $343 = ($$10|0)<($14|0);
+ if ($343) {
+ $$11 = $$10;
+ } else {
+ $344 = (($$9) + ($14<<2)|0);
+ (__gcry_mpih_divrem($344,0,$$9,$$10,$55,$14)|0);
+ $$11 = $14;
+ }
+ if ($72) {
+ (__gcry_mpih_rshift($$9,$$9,$$11,$71)|0);
+ }
+ $345 = ($$11|0)>(0);
+ L206: do {
+ if ($345) {
+ $$12730 = $$11;
+ while(1) {
+ $347 = (($$12730) + -1)|0;
+ $348 = (($$9) + ($347<<2)|0);
+ $349 = HEAP32[$348>>2]|0;
+ $350 = ($349|0)==(0);
+ if (!($350)) {
+ $$12$lcssa = $$12730;
+ break L206;
+ }
+ $346 = ($$12730|0)>(1);
+ if ($346) {
+ $$12730 = $347;
+ } else {
+ $$12$lcssa = $347;
+ break;
+ }
+ }
+ } else {
+ $$12$lcssa = $$11;
+ }
+ } while(0);
+ __gcry_mpih_release_karatsuba_ctx($6);
+ if (!($191)) {
+ if ($25) {
+ $$5596728$us = 0;
+ while(1) {
+ $351 = (($4) + ($$5596728$us<<2)|0);
+ $352 = HEAP32[$351>>2]|0;
+ $353 = (($5) + ($$5596728$us<<2)|0);
+ $354 = HEAP32[$353>>2]|0;
+ __gcry_mpi_free_limb_space($352,$354);
+ $355 = (($$5596728$us) + 1)|0;
+ $356 = ($355|0)<($143|0);
+ if ($356) {
+ $$5596728$us = $355;
+ } else {
+ break;
+ }
+ }
+ } else {
+ $$5596728 = 0;
+ while(1) {
+ $357 = (($4) + ($$5596728<<2)|0);
+ $358 = HEAP32[$357>>2]|0;
+ __gcry_mpi_free_limb_space($358,0);
+ $359 = (($$5596728) + 1)|0;
+ $360 = ($359|0)<($143|0);
+ if ($360) {
+ $$5596728 = $359;
+ } else {
+ break;
+ }
+ }
+ }
+ }
+ $361 = $25 ? $$0603$lcssa : 0;
+ __gcry_mpi_free_limb_space($163,$361);
+ $362 = ($$12$lcssa|0)!=(0);
+ $or$cond = $130 & $362;
+ L222: do {
+ if ($or$cond) {
+ if ($72) {
+ (__gcry_mpih_rshift($55,$55,$14,$71)|0);
+ }
+ $363 = (__gcry_mpih_sub_n($$9,$55,$$9,$$12$lcssa)|0);
+ $364 = (($14) - ($$12$lcssa))|0;
+ $365 = ($364|0)==(0);
+ L227: do {
+ if (!($365)) {
+ $366 = (($$9) + ($$12$lcssa<<2)|0);
+ $367 = (($55) + ($$12$lcssa<<2)|0);
+ $368 = ((($367)) + 4|0);
+ $369 = HEAP32[$367>>2]|0;
+ $370 = (($369) - ($363))|0;
+ $371 = ((($366)) + 4|0);
+ HEAP32[$366>>2] = $370;
+ $372 = ($370>>>0)>($369>>>0);
+ L229: do {
+ if ($372) {
+ $373 = (($364) + -1)|0;
+ $374 = ($373|0)==(0);
+ if ($374) {
+ break L227;
+ }
+ $$02637$i$i = $368;$$02836$i$i = $371;$376 = $373;
+ while(1) {
+ $378 = ((($$02637$i$i)) + 4|0);
+ $379 = HEAP32[$$02637$i$i>>2]|0;
+ $380 = (($379) + -1)|0;
+ $381 = ((($$02836$i$i)) + 4|0);
+ HEAP32[$$02836$i$i>>2] = $380;
+ $382 = ($379|0)==(0);
+ if (!($382)) {
+ $$1$i$i = $376;$$127$i$i = $378;$$129$i$i = $381;
+ break L229;
+ }
+ $375 = (($376) + -1)|0;
+ $377 = ($375|0)==(0);
+ if ($377) {
+ break L227;
+ } else {
+ $$02637$i$i = $378;$$02836$i$i = $381;$376 = $375;
+ }
+ }
+ } else {
+ $$1$i$i = $364;$$127$i$i = $368;$$129$i$i = $371;
+ }
+ } while(0);
+ $383 = ($$129$i$i|0)==($$127$i$i|0);
+ if ($383) {
+ break;
+ }
+ $384 = (($$1$i$i) + -1)|0;
+ $385 = ($$1$i$i|0)>(1);
+ if (!($385)) {
+ break;
+ }
+ $$035$i$i = 0;
+ while(1) {
+ $386 = (($$127$i$i) + ($$035$i$i<<2)|0);
+ $387 = HEAP32[$386>>2]|0;
+ $388 = (($$129$i$i) + ($$035$i$i<<2)|0);
+ HEAP32[$388>>2] = $387;
+ $389 = (($$035$i$i) + 1)|0;
+ $exitcond$i$i = ($389|0)==($384|0);
+ if ($exitcond$i$i) {
+ break;
+ } else {
+ $$035$i$i = $389;
+ }
+ }
+ }
+ } while(0);
+ $390 = ($14|0)>(0);
+ if (!($390)) {
+ $$0540 = $17;$$13 = $14;
+ break;
+ }
+ $storemerge725 = $14;
+ while(1) {
+ $392 = (($storemerge725) + -1)|0;
+ $393 = (($$9) + ($392<<2)|0);
+ $394 = HEAP32[$393>>2]|0;
+ $395 = ($394|0)==(0);
+ if (!($395)) {
+ $$0540 = $17;$$13 = $storemerge725;
+ break L222;
+ }
+ $391 = ($storemerge725|0)>(1);
+ if ($391) {
+ $storemerge725 = $392;
+ } else {
+ $$0540 = $17;$$13 = $392;
+ break;
+ }
+ }
+ } else {
+ $$0540 = 0;$$13 = $$12$lcssa;
+ }
+ } while(0);
+ $396 = HEAP32[$37>>2]|0;
+ $397 = ($396|0)==($$9|0);
+ if ($397) {
+ $$0540$sink = $$0540;$$0548 = $125;$$0561 = $124;$$13$sink = $$13;$$1546 = $$0545;$$1555 = $$0554;$$2544 = $$1543;$$2553 = $$1552;
+ break;
+ }
+ __gcry_assert_failed(64041,64016,786,64026);
+ // unreachable;
+ }
+ } while(0);
+ $398 = ((($0)) + 4|0);
+ HEAP32[$398>>2] = $$13$sink;
+ $399 = ((($0)) + 8|0);
+ HEAP32[$399>>2] = $$0540$sink;
+ $400 = ($55|0)==(0|0);
+ if (!($400)) {
+ __gcry_mpi_free_limb_space($55,$54);
+ }
+ $401 = ($$2544|0)==(0|0);
+ if (!($401)) {
+ __gcry_mpi_free_limb_space($$2544,$$2553);
+ }
+ $402 = ($$1546|0)==(0|0);
+ if (!($402)) {
+ __gcry_mpi_free_limb_space($$1546,$$1555);
+ }
+ $403 = ($$0548|0)==(0|0);
+ if ($403) {
+ STACKTOP = sp;return;
+ }
+ __gcry_mpi_free_limb_space($$0548,$$0561);
+ STACKTOP = sp;return;
+}
+function __gcry_mpi_trailing_zeros($0) {
+ $0 = $0|0;
+ var $$03436 = 0, $$037 = 0, $$1 = 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;
+ var $25 = 0, $26 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = ((($0)) + 4|0);
+ $2 = HEAP32[$1>>2]|0;
+ $3 = ($2|0)==(0);
+ if ($3) {
+ $$1 = 0;
+ return ($$1|0);
+ }
+ $4 = ((($0)) + 16|0);
+ $5 = HEAP32[$4>>2]|0;
+ $$03436 = 0;$$037 = 0;
+ while(1) {
+ $6 = (($5) + ($$037<<2)|0);
+ $7 = HEAP32[$6>>2]|0;
+ $8 = ($7|0)==(0);
+ if (!($8)) {
+ break;
+ }
+ $24 = (($$03436) + 32)|0;
+ $25 = (($$037) + 1)|0;
+ $26 = ($25>>>0)<($2>>>0);
+ if ($26) {
+ $$03436 = $24;$$037 = $25;
+ } else {
+ $$1 = $24;
+ label = 6;
+ break;
+ }
+ }
+ if ((label|0) == 6) {
+ return ($$1|0);
+ }
+ $9 = (0 - ($7))|0;
+ $10 = $7 & $9;
+ $11 = ($10>>>0)<(65536);
+ $12 = ($10>>>0)<(256);
+ $13 = $12 ? 0 : 8;
+ $14 = ($10>>>0)<(16777216);
+ $15 = $14 ? 16 : 24;
+ $16 = $11 ? $13 : $15;
+ $17 = $10 >>> $16;
+ $18 = (14784 + ($17)|0);
+ $19 = HEAP8[$18>>0]|0;
+ $20 = $19&255;
+ $21 = (($$03436) + -1)|0;
+ $22 = (($21) + ($16))|0;
+ $23 = (($22) + ($20))|0;
+ $$1 = $23;
+ return ($$1|0);
+}
+function __gcry_mpi_get_buffer($0,$1,$2,$3) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ var $4 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $4 = (_do_get_buffer($0,$1,0,$2,$3,0)|0);
+ return ($4|0);
+}
+function _do_get_buffer($0,$1,$2,$3,$4,$5) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ $5 = $5|0;
+ var $$0 = 0, $$088 = 0, $$089110 = 0, $$089110$in = 0, $$090 = 0, $$091109 = 0, $$093$lcssa = 0, $$094 = 0, $$1104 = 0, $$2$lcssa = 0, $$295 = 0, $$lcssa = 0, $$pn = 0, $$pr = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0;
+ var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0;
+ var $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $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, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $spec$select = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $6 = ($4|0)==(0|0);
+ if (!($6)) {
+ $7 = ((($0)) + 8|0);
+ $8 = HEAP32[$7>>2]|0;
+ HEAP32[$4>>2] = $8;
+ }
+ $9 = ((($0)) + 4|0);
+ $10 = HEAP32[$9>>2]|0;
+ $11 = $10 << 2;
+ HEAP32[$3>>2] = $11;
+ $12 = ($10|0)==(0);
+ $spec$select = $12 ? 1 : $11;
+ $13 = ($spec$select>>>0)<($1>>>0);
+ $$088 = $13 ? $1 : $spec$select;
+ $14 = ($2|0)<(0);
+ $15 = (0 - ($2))|0;
+ $$pn = $14 ? $15 : $2;
+ $$0 = (($$088) + ($$pn))|0;
+ $16 = ($5|0)==(0);
+ if ($16) {
+ $17 = ((($0)) + 12|0);
+ $18 = HEAP32[$17>>2]|0;
+ $19 = $18 & 1;
+ $20 = ($19|0)==(0);
+ if ($20) {
+ $22 = (__gcry_malloc($$0)|0);
+ $24 = $22;
+ } else {
+ label = 5;
+ }
+ } else {
+ label = 5;
+ }
+ if ((label|0) == 5) {
+ $21 = (__gcry_malloc_secure($$0)|0);
+ $24 = $21;
+ }
+ $23 = ($24|0)==(0|0);
+ if ($23) {
+ $$090 = 0;
+ return ($$090|0);
+ }
+ $25 = (($24) + ($15)|0);
+ $$094 = $14 ? $25 : $24;
+ $26 = HEAP32[$9>>2]|0;
+ $27 = ($26|0)>(0);
+ if ($27) {
+ $28 = ((($0)) + 16|0);
+ $$089110$in = $26;$$091109 = $$094;
+ while(1) {
+ $$089110 = (($$089110$in) + -1)|0;
+ $29 = HEAP32[$28>>2]|0;
+ $30 = (($29) + ($$089110<<2)|0);
+ $31 = HEAP32[$30>>2]|0;
+ $32 = $31 >>> 24;
+ $33 = $32&255;
+ $34 = ((($$091109)) + 1|0);
+ HEAP8[$$091109>>0] = $33;
+ $35 = $31 >>> 16;
+ $36 = $35&255;
+ $37 = ((($$091109)) + 2|0);
+ HEAP8[$34>>0] = $36;
+ $38 = $31 >>> 8;
+ $39 = $38&255;
+ $40 = ((($$091109)) + 3|0);
+ HEAP8[$37>>0] = $39;
+ $41 = $31&255;
+ $42 = ((($$091109)) + 4|0);
+ HEAP8[$40>>0] = $41;
+ $43 = ($$089110$in|0)>(1);
+ if ($43) {
+ $$089110$in = $$089110;$$091109 = $42;
+ } else {
+ break;
+ }
+ }
+ }
+ $44 = ($1|0)==(0);
+ $$pr = HEAP32[$3>>2]|0;
+ if (!($44)) {
+ $45 = $$pr >>> 1;
+ $46 = ($45|0)==(0);
+ if (!($46)) {
+ $47 = (($$pr) + -1)|0;
+ $$1104 = 0;
+ while(1) {
+ $48 = (($$094) + ($$1104)|0);
+ $49 = HEAP8[$48>>0]|0;
+ $50 = (($47) - ($$1104))|0;
+ $51 = (($$094) + ($50)|0);
+ $52 = HEAP8[$51>>0]|0;
+ HEAP8[$48>>0] = $52;
+ HEAP8[$51>>0] = $49;
+ $53 = (($$1104) + 1)|0;
+ $exitcond = ($53|0)==($45|0);
+ if ($exitcond) {
+ break;
+ } else {
+ $$1104 = $53;
+ }
+ }
+ }
+ $54 = ($$pr>>>0)<($1>>>0);
+ if ($54) {
+ $55 = (($$094) + ($$pr)|0);
+ $56 = (($1) - ($$pr))|0;
+ _memset(($55|0),0,($56|0))|0;
+ $$093$lcssa = $1;
+ } else {
+ $$093$lcssa = $$pr;
+ }
+ HEAP32[$3>>2] = $$093$lcssa;
+ $$090 = $24;
+ return ($$090|0);
+ }
+ $57 = ($$pr|0)==(0);
+ if ($57) {
+ $$090 = $24;
+ return ($$090|0);
+ }
+ $$295 = $$094;$62 = $$pr;
+ while(1) {
+ $58 = HEAP8[$$295>>0]|0;
+ $59 = ($58<<24>>24)==(0);
+ if (!($59)) {
+ $$2$lcssa = $$295;$$lcssa = $62;
+ break;
+ }
+ $60 = ((($$295)) + 1|0);
+ $61 = (($62) + -1)|0;
+ HEAP32[$3>>2] = $61;
+ $63 = ($61|0)==(0);
+ if ($63) {
+ $$2$lcssa = $60;$$lcssa = 0;
+ break;
+ } else {
+ $$295 = $60;$62 = $61;
+ }
+ }
+ $64 = ($$2$lcssa|0)==($$094|0);
+ if ($64) {
+ $$090 = $24;
+ return ($$090|0);
+ }
+ _memmove(($$094|0),($$2$lcssa|0),($$lcssa|0))|0;
+ $$090 = $24;
+ return ($$090|0);
+}
+function __gcry_mpi_get_buffer_extra($0,$1,$2,$3,$4) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ var $5 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $5 = (_do_get_buffer($0,$1,$2,$3,$4,0)|0);
+ return ($5|0);
+}
+function __gcry_mpi_set_buffer($0,$1,$2,$3) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ var $$0$lcssa = 0, $$053$add = 0, $$053$ptr = 0, $$053$ptr$lcssa = 0, $$053$ptr63 = 0, $$053$ptr66 = 0, $$055 = 0, $$065 = 0, $$1 = 0, $$154 = 0, $$156 = 0, $$2 = 0, $$257 = 0, $$add = 0, $$add58 = 0, $$pn$add = 0, $$pn$add62 = 0, $$pn$idx$lcssa = 0, $$pn$idx64 = 0, $$pre = 0;
+ var $$ptr = 0, $$ptr59 = 0, $$ptr60 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
+ var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0;
+ var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $scevgep = 0, $smax = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $4 = ($0|0)==(0|0);
+ if (!($4)) {
+ $5 = ((($0)) + 12|0);
+ $6 = HEAP32[$5>>2]|0;
+ $7 = $6 & 16;
+ $8 = ($7|0)==(0);
+ if (!($8)) {
+ __gcry_mpi_immutable_failed();
+ return;
+ }
+ }
+ $9 = (($2) + 3)|0;
+ $10 = $9 >>> 2;
+ $11 = HEAP32[$0>>2]|0;
+ $12 = ($11|0)<($10|0);
+ if ($12) {
+ __gcry_mpi_resize($0,$10);
+ }
+ $13 = ((($0)) + 8|0);
+ HEAP32[$13>>2] = $3;
+ $$pn$add62 = (($2) + -1)|0;
+ $$053$ptr63 = (($1) + ($$pn$add62)|0);
+ $14 = ($2|0)>(4);
+ if ($14) {
+ $15 = ((($0)) + 16|0);
+ $16 = $2 ^ -1;
+ $17 = ($16|0)>(-9);
+ $smax = $17 ? $16 : -9;
+ $18 = (($smax) + ($2))|0;
+ $19 = (($18) + 4)|0;
+ $20 = $19 >>> 2;
+ $21 = $19 & -4;
+ $22 = (($20) + 1)|0;
+ $23 = (($2) + -5)|0;
+ $24 = (($23) - ($21))|0;
+ $$pre = HEAP32[$15>>2]|0;
+ $$053$ptr66 = $$053$ptr63;$$065 = 0;$$pn$idx64 = $2;
+ while(1) {
+ $$053$add = (($$pn$idx64) + -2)|0;
+ $$ptr = (($1) + ($$053$add)|0);
+ $25 = HEAP8[$$053$ptr66>>0]|0;
+ $26 = $25&255;
+ $$add = (($$pn$idx64) + -3)|0;
+ $$ptr59 = (($1) + ($$add)|0);
+ $27 = HEAP8[$$ptr>>0]|0;
+ $28 = $27&255;
+ $29 = $28 << 8;
+ $30 = $29 | $26;
+ $$add58 = (($$pn$idx64) + -4)|0;
+ $$ptr60 = (($1) + ($$add58)|0);
+ $31 = HEAP8[$$ptr59>>0]|0;
+ $32 = $31&255;
+ $33 = $32 << 16;
+ $34 = $30 | $33;
+ $35 = HEAP8[$$ptr60>>0]|0;
+ $36 = $35&255;
+ $37 = $36 << 24;
+ $38 = $34 | $37;
+ $39 = (($$065) + 1)|0;
+ $40 = (($$pre) + ($$065<<2)|0);
+ HEAP32[$40>>2] = $38;
+ $$pn$add = (($$pn$idx64) + -5)|0;
+ $$053$ptr = (($1) + ($$pn$add)|0);
+ $exitcond = ($39|0)==($22|0);
+ if ($exitcond) {
+ break;
+ } else {
+ $$053$ptr66 = $$053$ptr;$$065 = $39;$$pn$idx64 = $$add58;
+ }
+ }
+ $41 = (($2) + -4)|0;
+ $42 = (($41) - ($21))|0;
+ $scevgep = (($1) + ($24)|0);
+ $$0$lcssa = $22;$$053$ptr$lcssa = $scevgep;$$pn$idx$lcssa = $42;
+ } else {
+ $$0$lcssa = 0;$$053$ptr$lcssa = $$053$ptr63;$$pn$idx$lcssa = $2;
+ }
+ $43 = ($$pn$idx$lcssa|0)>(0);
+ if ($43) {
+ $44 = ((($$053$ptr$lcssa)) + -1|0);
+ $45 = HEAP8[$$053$ptr$lcssa>>0]|0;
+ $46 = $45&255;
+ $47 = ($44>>>0)<($1>>>0);
+ if ($47) {
+ $$055 = $46;$$154 = $44;
+ } else {
+ $48 = ((($$053$ptr$lcssa)) + -2|0);
+ $49 = HEAP8[$44>>0]|0;
+ $50 = $49&255;
+ $51 = $50 << 8;
+ $52 = $51 | $46;
+ $$055 = $52;$$154 = $48;
+ }
+ $53 = ($$154>>>0)<($1>>>0);
+ if ($53) {
+ $$156 = $$055;$$2 = $$154;
+ } else {
+ $54 = ((($$154)) + -1|0);
+ $55 = HEAP8[$$154>>0]|0;
+ $56 = $55&255;
+ $57 = $56 << 16;
+ $58 = $57 | $$055;
+ $$156 = $58;$$2 = $54;
+ }
+ $59 = ($$2>>>0)<($1>>>0);
+ if ($59) {
+ $$257 = $$156;
+ } else {
+ $60 = HEAP8[$$2>>0]|0;
+ $61 = $60&255;
+ $62 = $61 << 24;
+ $63 = $62 | $$156;
+ $$257 = $63;
+ }
+ $64 = ((($0)) + 16|0);
+ $65 = HEAP32[$64>>2]|0;
+ $66 = (($$0$lcssa) + 1)|0;
+ $67 = (($65) + ($$0$lcssa<<2)|0);
+ HEAP32[$67>>2] = $$257;
+ $$1 = $66;
+ } else {
+ $$1 = $$0$lcssa;
+ }
+ $68 = ((($0)) + 4|0);
+ HEAP32[$68>>2] = $$1;
+ $69 = ($$1|0)==($10|0);
+ if ($69) {
+ return;
+ } else {
+ __gcry_assert_failed(64054,64066,377,64077);
+ // unreachable;
+ }
+}
+function __gcry_mpi_scan($0,$1,$2,$3,$4) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ var $$ = 0, $$0$i = 0, $$0100 = 0, $$0126$i = 0, $$020$i = 0, $$020$i106 = 0, $$04458$i = 0, $$04562$i = 0, $$04661$i = 0, $$04860$i = 0, $$05059$i = 0, $$095$off$i = 0, $$095$off101$i = 0, $$095$off102$i = 0, $$095108$i = 0, $$096$i = 0, $$098128$i = 0, $$099127$i = 0, $$1 = 0, $$1$i = 0;
+ var $$1100123$i = 0, $$14756$i = 0, $$14955$i = 0, $$157$i = 0, $$192129$i = 0, $$197$i = 0, $$2$i = 0, $$2130$i = 0, $$293124$i = 0, $$3125$i = 0, $$4110$i = 0, $$lobit = 0, $$lobit101 = 0, $$off = 0, $$off$i = 0, $$off103$i = 0, $$off104$i = 0, $$sink = 0, $10 = 0, $100 = 0;
+ var $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0;
+ var $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0;
+ var $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0;
+ var $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0;
+ var $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0;
+ var $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0;
+ var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0;
+ var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0;
+ var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0;
+ var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond$i = 0, $exitcond$i107 = 0, $or$cond = 0, $or$cond102 = 0, $or$cond103 = 0, $spec$select$i = 0, $spec$select105$i = 0, $spec$select106$i = 0, label = 0;
+ var sp = 0;
+ sp = STACKTOP;
+ $5 = ($2|0)==(0|0);
+ if ($5) {
+ $197 = 0;
+ } else {
+ $6 = (__gcry_is_secure($2)|0);
+ $7 = ($6|0)!=(0);
+ $197 = $7;
+ }
+ $8 = ($1|0)==(3);
+ $$ = $8 ? 0 : $3;
+ switch ($1|0) {
+ case 1: {
+ $9 = (($$) + 3)|0;
+ $10 = $9 >>> 2;
+ if ($197) {
+ $11 = (__gcry_mpi_alloc_secure($10)|0);
+ $14 = $11;
+ } else {
+ $12 = (__gcry_mpi_alloc($10)|0);
+ $14 = $12;
+ }
+ $13 = ($$|0)==(0);
+ if (!($13)) {
+ __gcry_mpi_set_buffer($14,$2,$$,0);
+ $15 = HEAP8[$2>>0]|0;
+ $16 = ($15<<24>>24)<(0);
+ $$lobit101 = ($15&255) >>> 7;
+ $17 = $$lobit101&255;
+ $18 = ((($14)) + 8|0);
+ HEAP32[$18>>2] = $17;
+ if ($16) {
+ $19 = (__gcry_mpi_get_nbits($14)|0);
+ $20 = ((($14)) + 12|0);
+ $21 = HEAP32[$20>>2]|0;
+ $22 = $21 & 16;
+ $23 = ($22|0)==(0);
+ if ($23) {
+ __gcry_mpi_normalize($14);
+ $24 = ((($14)) + 16|0);
+ $25 = HEAP32[$24>>2]|0;
+ $26 = ((($14)) + 4|0);
+ $27 = HEAP32[$26>>2]|0;
+ $28 = ($27|0)==(0);
+ if (!($28)) {
+ $$020$i = 0;
+ while(1) {
+ $29 = (($25) + ($$020$i<<2)|0);
+ $30 = HEAP32[$29>>2]|0;
+ $31 = $30 ^ -1;
+ HEAP32[$29>>2] = $31;
+ $32 = (($$020$i) + 1)|0;
+ $exitcond$i = ($32|0)==($27|0);
+ if ($exitcond$i) {
+ break;
+ } else {
+ $$020$i = $32;
+ }
+ }
+ }
+ HEAP32[$18>>2] = 0;
+ $33 = (($19) + -1)|0;
+ __gcry_mpi_clear_highbit($14,$33);
+ } else {
+ __gcry_mpi_immutable_failed();
+ }
+ __gcry_mpi_add_ui($14,$14,1);
+ HEAP32[$18>>2] = 1;
+ }
+ }
+ $34 = ($0|0)==(0|0);
+ if ($34) {
+ __gcry_mpi_free($14);
+ } else {
+ __gcry_mpi_normalize($14);
+ HEAP32[$0>>2] = $14;
+ }
+ $35 = ($4|0)==(0|0);
+ if ($35) {
+ $$1 = 0;
+ return ($$1|0);
+ }
+ HEAP32[$4>>2] = $$;
+ $$1 = 0;
+ return ($$1|0);
+ break;
+ }
+ case 5: {
+ $36 = (($$) + 3)|0;
+ $37 = $36 >>> 2;
+ if ($197) {
+ $38 = (__gcry_mpi_alloc_secure($37)|0);
+ $41 = $38;
+ } else {
+ $39 = (__gcry_mpi_alloc($37)|0);
+ $41 = $39;
+ }
+ $40 = ($$|0)==(0);
+ if (!($40)) {
+ __gcry_mpi_set_buffer($41,$2,$$,0);
+ }
+ $42 = ($0|0)==(0|0);
+ if ($42) {
+ __gcry_mpi_free($41);
+ } else {
+ __gcry_mpi_normalize($41);
+ HEAP32[$0>>2] = $41;
+ }
+ $43 = ($4|0)==(0|0);
+ if ($43) {
+ $$1 = 0;
+ return ($$1|0);
+ }
+ HEAP32[$4>>2] = $$;
+ $$1 = 0;
+ return ($$1|0);
+ break;
+ }
+ case 2: {
+ $44 = ($$>>>0)<(2);
+ L135: do {
+ if ($44) {
+ $$0$i = 0;$$2$i = 0;
+ } else {
+ $45 = HEAP8[$2>>0]|0;
+ $46 = $45&255;
+ $47 = $46 << 8;
+ $48 = ((($2)) + 1|0);
+ $49 = HEAP8[$48>>0]|0;
+ $50 = $49&255;
+ $51 = $47 | $50;
+ $52 = ($51>>>0)>(16384);
+ if ($52) {
+ $$0$i = 0;$$2$i = 0;
+ } else {
+ $53 = ((($2)) + 2|0);
+ $54 = (($51) + 7)|0;
+ $55 = $54 >>> 3;
+ $56 = (($55) + 3)|0;
+ $57 = $56 >>> 2;
+ if ($197) {
+ $58 = (__gcry_mpi_alloc_secure($57)|0);
+ $61 = $58;
+ } else {
+ $59 = (__gcry_mpi_alloc($57)|0);
+ $61 = $59;
+ }
+ $60 = ((($61)) + 4|0);
+ HEAP32[$60>>2] = $57;
+ $62 = ((($61)) + 8|0);
+ HEAP32[$62>>2] = 0;
+ $63 = ($57|0)==(0);
+ if ($63) {
+ $$0$i = $61;$$2$i = 2;
+ } else {
+ $64 = (0 - ($55))|0;
+ $65 = $64 & 3;
+ $66 = ((($61)) + 16|0);
+ $$04562$i = 2;$$04661$i = $53;$$04860$i = $65;$$05059$i = $57;
+ L143: while(1) {
+ $$04458$i = 0;$$14756$i = $$04661$i;$$14955$i = $$04860$i;$$157$i = $$04562$i;
+ while(1) {
+ $67 = (($$157$i) + 1)|0;
+ $68 = ($67>>>0)>($$>>>0);
+ if ($68) {
+ break L143;
+ }
+ $69 = $$04458$i << 8;
+ $70 = ((($$14756$i)) + 1|0);
+ $71 = HEAP8[$$14756$i>>0]|0;
+ $72 = $71&255;
+ $73 = $69 | $72;
+ $74 = (($$14955$i) + 1)|0;
+ $75 = ($74>>>0)<(4);
+ if ($75) {
+ $$04458$i = $73;$$14756$i = $70;$$14955$i = $74;$$157$i = $67;
+ } else {
+ break;
+ }
+ }
+ $76 = HEAP32[$66>>2]|0;
+ $77 = (($$05059$i) + -1)|0;
+ $78 = (($76) + ($77<<2)|0);
+ HEAP32[$78>>2] = $73;
+ $79 = ($$05059$i|0)>(1);
+ if ($79) {
+ $$04562$i = $67;$$04661$i = $70;$$04860$i = 0;$$05059$i = $77;
+ } else {
+ $$0$i = $61;$$2$i = $67;
+ break L135;
+ }
+ }
+ __gcry_mpi_free($61);
+ $$0$i = 0;$$2$i = $67;
+ }
+ }
+ }
+ } while(0);
+ $80 = ($4|0)==(0|0);
+ if (!($80)) {
+ HEAP32[$4>>2] = $$2$i;
+ }
+ $81 = ($0|0)!=(0|0);
+ $82 = ($$0$i|0)!=(0|0);
+ $or$cond = $81 & $82;
+ if ($or$cond) {
+ __gcry_mpi_normalize($$0$i);
+ HEAP32[$0>>2] = $$0$i;
+ $$0100 = $$0$i;
+ } else {
+ if ($82) {
+ __gcry_mpi_free($$0$i);
+ $$0100 = 0;
+ } else {
+ $$0100 = 0;
+ }
+ }
+ $83 = ($$0100|0)==(0|0);
+ $84 = $83 ? 65 : 0;
+ $$1 = $84;
+ return ($$1|0);
+ break;
+ }
+ default: {
+ if ($8) {
+ $$off = (($$) + -1)|0;
+ $85 = ($$off>>>0)<(3);
+ if ($85) {
+ $$1 = 66;
+ return ($$1|0);
+ }
+ $86 = ($$|0)==(0);
+ $87 = HEAP8[$2>>0]|0;
+ $88 = $87&255;
+ $89 = $88 << 24;
+ $90 = ((($2)) + 1|0);
+ $91 = HEAP8[$90>>0]|0;
+ $92 = $91&255;
+ $93 = $92 << 16;
+ $94 = $93 | $89;
+ $95 = ((($2)) + 2|0);
+ $96 = HEAP8[$95>>0]|0;
+ $97 = $96&255;
+ $98 = $97 << 8;
+ $99 = $94 | $98;
+ $100 = ((($2)) + 3|0);
+ $101 = HEAP8[$100>>0]|0;
+ $102 = $101&255;
+ $103 = $99 | $102;
+ $104 = ((($2)) + 4|0);
+ $105 = (($$) + -4)|0;
+ if (!($86)) {
+ $106 = ($105|0)!=(0);
+ $107 = ($103>>>0)>($105>>>0);
+ $or$cond102 = $106 & $107;
+ if ($or$cond102) {
+ $$1 = 67;
+ return ($$1|0);
+ }
+ }
+ $108 = (($103) + 4)|0;
+ $109 = (($103) + 3)|0;
+ $110 = $109 >>> 2;
+ if ($197) {
+ $111 = (__gcry_mpi_alloc_secure($110)|0);
+ $114 = $111;
+ } else {
+ $112 = (__gcry_mpi_alloc($110)|0);
+ $114 = $112;
+ }
+ $113 = ($103|0)==(0);
+ if (!($113)) {
+ __gcry_mpi_set_buffer($114,$104,$103,0);
+ $115 = HEAP8[$104>>0]|0;
+ $116 = ($115<<24>>24)<(0);
+ $$lobit = ($115&255) >>> 7;
+ $117 = $$lobit&255;
+ $118 = ((($114)) + 8|0);
+ HEAP32[$118>>2] = $117;
+ if ($116) {
+ $119 = (__gcry_mpi_get_nbits($114)|0);
+ $120 = ((($114)) + 12|0);
+ $121 = HEAP32[$120>>2]|0;
+ $122 = $121 & 16;
+ $123 = ($122|0)==(0);
+ if ($123) {
+ __gcry_mpi_normalize($114);
+ $124 = ((($114)) + 16|0);
+ $125 = HEAP32[$124>>2]|0;
+ $126 = ((($114)) + 4|0);
+ $127 = HEAP32[$126>>2]|0;
+ $128 = ($127|0)==(0);
+ if (!($128)) {
+ $$020$i106 = 0;
+ while(1) {
+ $129 = (($125) + ($$020$i106<<2)|0);
+ $130 = HEAP32[$129>>2]|0;
+ $131 = $130 ^ -1;
+ HEAP32[$129>>2] = $131;
+ $132 = (($$020$i106) + 1)|0;
+ $exitcond$i107 = ($132|0)==($127|0);
+ if ($exitcond$i107) {
+ break;
+ } else {
+ $$020$i106 = $132;
+ }
+ }
+ }
+ HEAP32[$118>>2] = 0;
+ $133 = (($119) + -1)|0;
+ __gcry_mpi_clear_highbit($114,$133);
+ } else {
+ __gcry_mpi_immutable_failed();
+ }
+ __gcry_mpi_add_ui($114,$114,1);
+ HEAP32[$118>>2] = 1;
+ }
+ }
+ $134 = ($4|0)==(0|0);
+ if (!($134)) {
+ HEAP32[$4>>2] = $108;
+ }
+ $135 = ($0|0)==(0|0);
+ if ($135) {
+ __gcry_mpi_free($114);
+ $$1 = 0;
+ return ($$1|0);
+ } else {
+ __gcry_mpi_normalize($114);
+ HEAP32[$0>>2] = $114;
+ $$1 = 0;
+ return ($$1|0);
+ }
+ }
+ $136 = ($1|0)==(4);
+ $137 = ($3|0)==(0);
+ $or$cond103 = $136 & $137;
+ if (!($or$cond103)) {
+ $$1 = 45;
+ return ($$1|0);
+ }
+ if ($197) {
+ $138 = (__gcry_mpi_alloc_secure(0)|0);
+ $157 = $138;
+ } else {
+ $139 = (__gcry_mpi_alloc(0)|0);
+ $157 = $139;
+ }
+ $140 = HEAP8[$2>>0]|0;
+ $141 = ($140<<24>>24)==(45);
+ $142 = ((($2)) + 1|0);
+ $spec$select$i = $141&1;
+ $spec$select105$i = $141 ? $142 : $2;
+ $143 = HEAP8[$spec$select105$i>>0]|0;
+ $144 = ($143<<24>>24)==(48);
+ if ($144) {
+ $145 = ((($spec$select105$i)) + 1|0);
+ $146 = HEAP8[$145>>0]|0;
+ $147 = ($146<<24>>24)==(120);
+ $148 = ((($spec$select105$i)) + 2|0);
+ $spec$select106$i = $147 ? $148 : $spec$select105$i;
+ $$1$i = $spec$select106$i;
+ } else {
+ $$1$i = $spec$select105$i;
+ }
+ $149 = (_strlen($$1$i)|0);
+ $150 = $149 << 2;
+ $151 = $149 & 1;
+ $152 = (($150) + 7)|0;
+ $153 = $152 >>> 3;
+ $154 = (($153) + 3)|0;
+ $155 = $154 >>> 2;
+ $156 = HEAP32[$157>>2]|0;
+ $158 = ($156>>>0)<($155>>>0);
+ if ($158) {
+ __gcry_mpi_resize($157,$155);
+ $159 = ((($157)) + 4|0);
+ HEAP32[$159>>2] = $155;
+ $160 = ((($157)) + 8|0);
+ HEAP32[$160>>2] = $spec$select$i;
+ label = 80;
+ } else {
+ $161 = ((($157)) + 4|0);
+ HEAP32[$161>>2] = $155;
+ $162 = ((($157)) + 8|0);
+ HEAP32[$162>>2] = $spec$select$i;
+ $163 = ($155|0)==(0);
+ if (!($163)) {
+ label = 80;
+ }
+ }
+ L54: do {
+ if ((label|0) == 80) {
+ $164 = (0 - ($153))|0;
+ $165 = $164 & 3;
+ $166 = ((($157)) + 16|0);
+ $$098128$i = $155;$$099127$i = $165;$$192129$i = $151;$$2130$i = $$1$i;
+ L56: while(1) {
+ $$0126$i = 0;$$1100123$i = $$099127$i;$$293124$i = $$192129$i;$$3125$i = $$2130$i;
+ while(1) {
+ $167 = ($$293124$i|0)==(0);
+ if ($167) {
+ $168 = ((($$3125$i)) + 1|0);
+ $169 = HEAP8[$$3125$i>>0]|0;
+ $170 = $169 << 24 >> 24;
+ $171 = ($169<<24>>24)==(0);
+ if ($171) {
+ label = 84;
+ break L56;
+ } else {
+ $$095108$i = $170;$$4110$i = $168;
+ }
+ } else {
+ $$095108$i = 48;$$4110$i = $$3125$i;
+ }
+ $172 = ((($$4110$i)) + 1|0);
+ $173 = HEAP8[$$4110$i>>0]|0;
+ $174 = $173 << 24 >> 24;
+ $175 = ($173<<24>>24)==(0);
+ if ($175) {
+ label = 86;
+ break L56;
+ }
+ $$095$off$i = (($$095108$i) + -48)|0;
+ $176 = ($$095$off$i>>>0)<(10);
+ do {
+ if ($176) {
+ $$096$i = $$095$off$i;
+ } else {
+ $$095$off101$i = (($$095108$i) + -97)|0;
+ $177 = ($$095$off101$i>>>0)<(6);
+ if ($177) {
+ $178 = (($$095108$i) + -87)|0;
+ $$096$i = $178;
+ break;
+ }
+ $$095$off102$i = (($$095108$i) + -65)|0;
+ $179 = ($$095$off102$i>>>0)<(6);
+ if (!($179)) {
+ label = 92;
+ break L56;
+ }
+ $180 = (($$095108$i) + -55)|0;
+ $$096$i = $180;
+ }
+ } while(0);
+ $181 = $$096$i << 4;
+ $$off$i = (($173) + -48)<<24>>24;
+ $182 = ($$off$i&255)<(10);
+ if ($182) {
+ $$sink = -48;
+ } else {
+ $$off103$i = (($173) + -97)<<24>>24;
+ $183 = ($$off103$i&255)<(6);
+ if ($183) {
+ $$sink = -87;
+ } else {
+ $$off104$i = (($173) + -65)<<24>>24;
+ $184 = ($$off104$i&255)<(6);
+ if ($184) {
+ $$sink = -55;
+ } else {
+ label = 96;
+ break L56;
+ }
+ }
+ }
+ $185 = (($$sink) + ($174))|0;
+ $186 = $$0126$i << 8;
+ $$197$i = $181 | $186;
+ $187 = $$197$i | $185;
+ $188 = (($$1100123$i) + 1)|0;
+ $189 = ($188>>>0)<(4);
+ if ($189) {
+ $$0126$i = $187;$$1100123$i = $188;$$293124$i = 0;$$3125$i = $172;
+ } else {
+ break;
+ }
+ }
+ $190 = HEAP32[$166>>2]|0;
+ $191 = (($$098128$i) + -1)|0;
+ $192 = (($190) + ($191<<2)|0);
+ HEAP32[$192>>2] = $187;
+ $193 = ($$098128$i|0)>(1);
+ if ($193) {
+ $$098128$i = $191;$$099127$i = 0;$$192129$i = 0;$$2130$i = $172;
+ } else {
+ break L54;
+ }
+ }
+ if ((label|0) == 84) {
+ __gcry_mpi_clear($157);
+ }
+ else if ((label|0) == 86) {
+ __gcry_mpi_clear($157);
+ }
+ else if ((label|0) == 92) {
+ __gcry_mpi_clear($157);
+ }
+ else if ((label|0) == 96) {
+ __gcry_mpi_clear($157);
+ }
+ __gcry_mpi_free($157);
+ $$1 = 65;
+ return ($$1|0);
+ }
+ } while(0);
+ $194 = ($0|0)==(0|0);
+ if ($194) {
+ __gcry_mpi_free($157);
+ } else {
+ __gcry_mpi_normalize($157);
+ HEAP32[$0>>2] = $157;
+ }
+ $195 = ($4|0)==(0|0);
+ if ($195) {
+ $$1 = 0;
+ return ($$1|0);
+ }
+ $196 = (_strlen($2)|0);
+ HEAP32[$4>>2] = $196;
+ $$1 = 0;
+ return ($$1|0);
+ }
+ }
+ return (0)|0;
+}
+function __gcry_mpi_print($0,$1,$2,$3,$4) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ var $$0151 = 0, $$0154 = 0, $$0155301 = 0, $$0157 = 0, $$0158$shrunk = 0, $$0159 = 0, $$0160$shrunk = 0, $$0160$shrunk309310314 = 0, $$0163 = 0, $$0262 = 0, $$0265 = 0, $$0269 = 0, $$0273 = 0, $$0277 = 0, $$089110$i = 0, $$089110$i174 = 0, $$089110$i188 = 0, $$089110$i202 = 0, $$089110$i216 = 0, $$089110$in$i = 0;
+ var $$089110$in$i172 = 0, $$089110$in$i186 = 0, $$089110$in$i200 = 0, $$089110$in$i214 = 0, $$091109$i = 0, $$091109$i173 = 0, $$091109$i187 = 0, $$091109$i201 = 0, $$091109$i215 = 0, $$1152 = 0, $$1263 = 0, $$1266 = 0, $$1270 = 0, $$1274 = 0, $$1278 = 0, $$2$lcssa$i = 0, $$2$lcssa$i180 = 0, $$2$lcssa$i194 = 0, $$2$lcssa$i208 = 0, $$2$lcssa$i222 = 0;
+ var $$2153$lcssa = 0, $$2153302 = 0, $$2264316 = 0, $$2264317 = 0, $$2267 = 0, $$2271 = 0, $$2275 = 0, $$2279 = 0, $$295$i = 0, $$295$i178 = 0, $$295$i192 = 0, $$295$i206 = 0, $$295$i220 = 0, $$3268 = 0, $$3276 = 0, $$3280 = 0, $$3280307311313 = 0, $$3280308 = 0, $$7 = 0, $$lobit = 0;
+ var $$lobit296 = 0, $$lobit298 = 0, $$lobit299 = 0, $$not = 0, $$not300 = 0, $$not300$pn = 0, $$pre = 0, $$pre$phiZ2D = 0, $$pre303 = 0, $$sink = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0;
+ var $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0;
+ var $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0;
+ var $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0;
+ var $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0;
+ var $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0;
+ var $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0;
+ var $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0;
+ var $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0;
+ var $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0;
+ var $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0;
+ var $290 = 0, $291 = 0, $292 = 0, $293 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
+ var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0;
+ var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0;
+ var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0;
+ var $or$cond = 0, $or$cond166 = 0, $or$cond168 = 0, $scevgep = 0, $spec$select = 0, $spec$select$i = 0, $spec$select$i170 = 0, $spec$select$i184 = 0, $spec$select$i198 = 0, $spec$select$i212 = 0, $spec$select290 = 0, $spec$select292 = 0, $storemerge = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $5 = sp;
+ $6 = (__gcry_mpi_get_nbits($4)|0);
+ $7 = ($3|0)==(0|0);
+ $spec$select = $7 ? $5 : $3;
+ $8 = ((($4)) + 8|0);
+ $9 = HEAP32[$8>>2]|0;
+ $10 = ($9|0)==(0);
+ if ($10) {
+ label = 3;
+ } else {
+ $11 = (__gcry_mpi_cmp_ui($4,0)|0);
+ $12 = ($11|0)==(0);
+ if ($12) {
+ label = 3;
+ } else {
+ $$0159 = 1;
+ }
+ }
+ if ((label|0) == 3) {
+ $$0159 = 0;
+ }
+ HEAP32[$spec$select>>2] = 0;
+ switch ($0|0) {
+ case 1: {
+ $13 = ((($4)) + 4|0);
+ $14 = HEAP32[$13>>2]|0;
+ $15 = $14 << 2;
+ $16 = ($14|0)==(0);
+ $spec$select$i = $16 ? 1 : $15;
+ $17 = ((($4)) + 12|0);
+ $18 = HEAP32[$17>>2]|0;
+ $19 = $18 & 1;
+ $20 = ($19|0)==(0);
+ if ($20) {
+ $22 = (__gcry_malloc($spec$select$i)|0);
+ $24 = $22;
+ } else {
+ $21 = (__gcry_malloc_secure($spec$select$i)|0);
+ $24 = $21;
+ }
+ $23 = ($24|0)==(0|0);
+ if ($23) {
+ $49 = (_gpg_err_code_from_syserror()|0);
+ $$7 = $49;
+ STACKTOP = sp;return ($$7|0);
+ }
+ $25 = HEAP32[$13>>2]|0;
+ $26 = ($25|0)>(0);
+ if ($26) {
+ $27 = ((($4)) + 16|0);
+ $$089110$in$i = $25;$$091109$i = $24;
+ while(1) {
+ $$089110$i = (($$089110$in$i) + -1)|0;
+ $28 = HEAP32[$27>>2]|0;
+ $29 = (($28) + ($$089110$i<<2)|0);
+ $30 = HEAP32[$29>>2]|0;
+ $31 = $30 >>> 24;
+ $32 = $31&255;
+ $33 = ((($$091109$i)) + 1|0);
+ HEAP8[$$091109$i>>0] = $32;
+ $34 = $30 >>> 16;
+ $35 = $34&255;
+ $36 = ((($$091109$i)) + 2|0);
+ HEAP8[$33>>0] = $35;
+ $37 = $30 >>> 8;
+ $38 = $37&255;
+ $39 = ((($$091109$i)) + 3|0);
+ HEAP8[$36>>0] = $38;
+ $40 = $30&255;
+ $41 = ((($$091109$i)) + 4|0);
+ HEAP8[$39>>0] = $40;
+ $42 = ($$089110$in$i|0)>(1);
+ if ($42) {
+ $$089110$in$i = $$089110$i;$$091109$i = $41;
+ } else {
+ break;
+ }
+ }
+ }
+ if ($16) {
+ $$2279 = 0;
+ } else {
+ $$0277 = $15;$$295$i = $24;
+ while(1) {
+ $43 = HEAP8[$$295$i>>0]|0;
+ $44 = ($43<<24>>24)==(0);
+ if (!($44)) {
+ $$1278 = $$0277;$$2$lcssa$i = $$295$i;
+ break;
+ }
+ $45 = ((($$295$i)) + 1|0);
+ $46 = (($$0277) + -1)|0;
+ $47 = ($46|0)==(0);
+ if ($47) {
+ $$1278 = 0;$$2$lcssa$i = $45;
+ break;
+ } else {
+ $$0277 = $46;$$295$i = $45;
+ }
+ }
+ $48 = ($$2$lcssa$i|0)==($24|0);
+ if ($48) {
+ $$2279 = $$1278;
+ } else {
+ _memmove(($24|0),($$2$lcssa$i|0),($$1278|0))|0;
+ $$2279 = $$1278;
+ }
+ }
+ $50 = ($$0159|0)==(0);
+ do {
+ if ($50) {
+ $56 = ($$2279|0)==(0);
+ if ($56) {
+ $57 = ($1|0)==(0|0);
+ if ($57) {
+ $$3280308 = 0;
+ break;
+ } else {
+ $$0160$shrunk309310314 = 0;$$0163 = $1;$$3280307311313 = 0;
+ label = 30;
+ break;
+ }
+ } else {
+ $58 = HEAP8[$24>>0]|0;
+ $$lobit296 = ($58&255) >>> 7;
+ $59 = $$lobit296&255;
+ $$0160$shrunk = $$lobit296;$$not300$pn = $59;
+ label = 24;
+ break;
+ }
+ } else {
+ _twocompl($24,$$2279);
+ $51 = HEAP8[$24>>0]|0;
+ $$lobit299 = ($51&255) >>> 7;
+ $52 = $$lobit299 ^ 1;
+ $$not300 = $52&255;
+ $53 = ($51&255) >>> 6;
+ $54 = $53 & 2;
+ $55 = $54 ^ 2;
+ $$0160$shrunk = $55;$$not300$pn = $$not300;
+ label = 24;
+ }
+ } while(0);
+ L35: do {
+ if ((label|0) == 24) {
+ $$3280 = (($$2279) + ($$not300$pn))|0;
+ $60 = ($1|0)!=(0|0);
+ $61 = ($$3280>>>0)>($2>>>0);
+ $or$cond = $60 & $61;
+ if ($or$cond) {
+ __gcry_free($24);
+ $$7 = 66;
+ STACKTOP = sp;return ($$7|0);
+ }
+ if ($60) {
+ switch ($$0160$shrunk<<24>>24) {
+ case 0: {
+ $$0160$shrunk309310314 = $$0160$shrunk;$$0163 = $1;$$3280307311313 = $$3280;
+ label = 30;
+ break L35;
+ break;
+ }
+ case 1: {
+ $62 = ((($1)) + 1|0);
+ HEAP8[$1>>0] = 0;
+ $$0160$shrunk309310314 = 1;$$0163 = $62;$$3280307311313 = $$3280;
+ label = 30;
+ break L35;
+ break;
+ }
+ default: {
+ $63 = ((($1)) + 1|0);
+ HEAP8[$1>>0] = -1;
+ $$0160$shrunk309310314 = $$0160$shrunk;$$0163 = $63;$$3280307311313 = $$3280;
+ label = 30;
+ break L35;
+ }
+ }
+ } else {
+ $$3280308 = $$3280;
+ }
+ }
+ } while(0);
+ if ((label|0) == 30) {
+ $64 = ($$0160$shrunk309310314<<24>>24)!=(0);
+ $65 = $64&1;
+ $66 = (($$3280307311313) - ($65))|0;
+ _memcpy(($$0163|0),($24|0),($66|0))|0;
+ $$3280308 = $$3280307311313;
+ }
+ __gcry_free($24);
+ HEAP32[$spec$select>>2] = $$3280308;
+ $$7 = 0;
+ STACKTOP = sp;return ($$7|0);
+ break;
+ }
+ case 5: {
+ $67 = (($6) + 7)|0;
+ $68 = $67 >>> 3;
+ $69 = ($1|0)!=(0|0);
+ $70 = ($68>>>0)>($2>>>0);
+ $or$cond166 = $69 & $70;
+ if ($or$cond166) {
+ $$7 = 66;
+ STACKTOP = sp;return ($$7|0);
+ }
+ if ($69) {
+ $71 = ((($4)) + 4|0);
+ $72 = HEAP32[$71>>2]|0;
+ $73 = $72 << 2;
+ $74 = ($72|0)==(0);
+ $spec$select$i170 = $74 ? 1 : $73;
+ $75 = ((($4)) + 12|0);
+ $76 = HEAP32[$75>>2]|0;
+ $77 = $76 & 1;
+ $78 = ($77|0)==(0);
+ if ($78) {
+ $80 = (__gcry_malloc($spec$select$i170)|0);
+ $82 = $80;
+ } else {
+ $79 = (__gcry_malloc_secure($spec$select$i170)|0);
+ $82 = $79;
+ }
+ $81 = ($82|0)==(0|0);
+ if ($81) {
+ $107 = (_gpg_err_code_from_syserror()|0);
+ $$7 = $107;
+ STACKTOP = sp;return ($$7|0);
+ }
+ $83 = HEAP32[$71>>2]|0;
+ $84 = ($83|0)>(0);
+ if ($84) {
+ $85 = ((($4)) + 16|0);
+ $$089110$in$i172 = $83;$$091109$i173 = $82;
+ while(1) {
+ $$089110$i174 = (($$089110$in$i172) + -1)|0;
+ $86 = HEAP32[$85>>2]|0;
+ $87 = (($86) + ($$089110$i174<<2)|0);
+ $88 = HEAP32[$87>>2]|0;
+ $89 = $88 >>> 24;
+ $90 = $89&255;
+ $91 = ((($$091109$i173)) + 1|0);
+ HEAP8[$$091109$i173>>0] = $90;
+ $92 = $88 >>> 16;
+ $93 = $92&255;
+ $94 = ((($$091109$i173)) + 2|0);
+ HEAP8[$91>>0] = $93;
+ $95 = $88 >>> 8;
+ $96 = $95&255;
+ $97 = ((($$091109$i173)) + 3|0);
+ HEAP8[$94>>0] = $96;
+ $98 = $88&255;
+ $99 = ((($$091109$i173)) + 4|0);
+ HEAP8[$97>>0] = $98;
+ $100 = ($$089110$in$i172|0)>(1);
+ if ($100) {
+ $$089110$in$i172 = $$089110$i174;$$091109$i173 = $99;
+ } else {
+ break;
+ }
+ }
+ }
+ if ($74) {
+ $$2275 = 0;
+ } else {
+ $$0273 = $73;$$295$i178 = $82;
+ while(1) {
+ $101 = HEAP8[$$295$i178>>0]|0;
+ $102 = ($101<<24>>24)==(0);
+ if (!($102)) {
+ $$1274 = $$0273;$$2$lcssa$i180 = $$295$i178;
+ break;
+ }
+ $103 = ((($$295$i178)) + 1|0);
+ $104 = (($$0273) + -1)|0;
+ $105 = ($104|0)==(0);
+ if ($105) {
+ $$1274 = 0;$$2$lcssa$i180 = $103;
+ break;
+ } else {
+ $$0273 = $104;$$295$i178 = $103;
+ }
+ }
+ $106 = ($$2$lcssa$i180|0)==($82|0);
+ if ($106) {
+ $$2275 = $$1274;
+ } else {
+ _memmove(($82|0),($$2$lcssa$i180|0),($$1274|0))|0;
+ $$2275 = $$1274;
+ }
+ }
+ _memcpy(($1|0),($82|0),($$2275|0))|0;
+ __gcry_free($82);
+ $$3276 = $$2275;
+ } else {
+ $$3276 = $68;
+ }
+ HEAP32[$spec$select>>2] = $$3276;
+ $$7 = 0;
+ STACKTOP = sp;return ($$7|0);
+ break;
+ }
+ case 2: {
+ $108 = ($$0159|0)==(0);
+ if (!($108)) {
+ $$7 = 45;
+ STACKTOP = sp;return ($$7|0);
+ }
+ $109 = (($6) + 7)|0;
+ $110 = $109 >>> 3;
+ $111 = ($1|0)!=(0|0);
+ $112 = (($110) + 2)|0;
+ $113 = ($112>>>0)>($2>>>0);
+ $or$cond168 = $111 & $113;
+ if ($or$cond168) {
+ $$7 = 66;
+ STACKTOP = sp;return ($$7|0);
+ }
+ if ($111) {
+ $114 = $6 >>> 8;
+ $115 = $114&255;
+ HEAP8[$1>>0] = $115;
+ $116 = $6&255;
+ $117 = ((($1)) + 1|0);
+ HEAP8[$117>>0] = $116;
+ $118 = ((($4)) + 4|0);
+ $119 = HEAP32[$118>>2]|0;
+ $120 = $119 << 2;
+ $121 = ($119|0)==(0);
+ $spec$select$i184 = $121 ? 1 : $120;
+ $122 = ((($4)) + 12|0);
+ $123 = HEAP32[$122>>2]|0;
+ $124 = $123 & 1;
+ $125 = ($124|0)==(0);
+ if ($125) {
+ $127 = (__gcry_malloc($spec$select$i184)|0);
+ $129 = $127;
+ } else {
+ $126 = (__gcry_malloc_secure($spec$select$i184)|0);
+ $129 = $126;
+ }
+ $128 = ($129|0)==(0|0);
+ if ($128) {
+ $155 = (_gpg_err_code_from_syserror()|0);
+ $$7 = $155;
+ STACKTOP = sp;return ($$7|0);
+ }
+ $130 = HEAP32[$118>>2]|0;
+ $131 = ($130|0)>(0);
+ if ($131) {
+ $132 = ((($4)) + 16|0);
+ $$089110$in$i186 = $130;$$091109$i187 = $129;
+ while(1) {
+ $$089110$i188 = (($$089110$in$i186) + -1)|0;
+ $133 = HEAP32[$132>>2]|0;
+ $134 = (($133) + ($$089110$i188<<2)|0);
+ $135 = HEAP32[$134>>2]|0;
+ $136 = $135 >>> 24;
+ $137 = $136&255;
+ $138 = ((($$091109$i187)) + 1|0);
+ HEAP8[$$091109$i187>>0] = $137;
+ $139 = $135 >>> 16;
+ $140 = $139&255;
+ $141 = ((($$091109$i187)) + 2|0);
+ HEAP8[$138>>0] = $140;
+ $142 = $135 >>> 8;
+ $143 = $142&255;
+ $144 = ((($$091109$i187)) + 3|0);
+ HEAP8[$141>>0] = $143;
+ $145 = $135&255;
+ $146 = ((($$091109$i187)) + 4|0);
+ HEAP8[$144>>0] = $145;
+ $147 = ($$089110$in$i186|0)>(1);
+ if ($147) {
+ $$089110$in$i186 = $$089110$i188;$$091109$i187 = $146;
+ } else {
+ break;
+ }
+ }
+ }
+ if ($121) {
+ $$2271 = 0;
+ } else {
+ $$0269 = $120;$$295$i192 = $129;
+ while(1) {
+ $148 = HEAP8[$$295$i192>>0]|0;
+ $149 = ($148<<24>>24)==(0);
+ if (!($149)) {
+ $$1270 = $$0269;$$2$lcssa$i194 = $$295$i192;
+ break;
+ }
+ $150 = ((($$295$i192)) + 1|0);
+ $151 = (($$0269) + -1)|0;
+ $152 = ($151|0)==(0);
+ if ($152) {
+ $$1270 = 0;$$2$lcssa$i194 = $150;
+ break;
+ } else {
+ $$0269 = $151;$$295$i192 = $150;
+ }
+ }
+ $153 = ($$2$lcssa$i194|0)==($129|0);
+ if ($153) {
+ $$2271 = $$1270;
+ } else {
+ _memmove(($129|0),($$2$lcssa$i194|0),($$1270|0))|0;
+ $$2271 = $$1270;
+ }
+ }
+ $154 = ((($1)) + 2|0);
+ _memcpy(($154|0),($129|0),($$2271|0))|0;
+ __gcry_free($129);
+ $$pre = (($$2271) + 2)|0;
+ $$pre$phiZ2D = $$pre;
+ } else {
+ $$pre$phiZ2D = $112;
+ }
+ HEAP32[$spec$select>>2] = $$pre$phiZ2D;
+ $$7 = 0;
+ STACKTOP = sp;return ($$7|0);
+ break;
+ }
+ case 3: {
+ $156 = ((($4)) + 4|0);
+ $157 = HEAP32[$156>>2]|0;
+ $158 = $157 << 2;
+ $159 = ($157|0)==(0);
+ $spec$select$i198 = $159 ? 1 : $158;
+ $160 = ((($4)) + 12|0);
+ $161 = HEAP32[$160>>2]|0;
+ $162 = $161 & 1;
+ $163 = ($162|0)==(0);
+ if ($163) {
+ $165 = (__gcry_malloc($spec$select$i198)|0);
+ $167 = $165;
+ } else {
+ $164 = (__gcry_malloc_secure($spec$select$i198)|0);
+ $167 = $164;
+ }
+ $166 = ($167|0)==(0|0);
+ if ($166) {
+ $192 = (_gpg_err_code_from_syserror()|0);
+ $$7 = $192;
+ STACKTOP = sp;return ($$7|0);
+ }
+ $168 = HEAP32[$156>>2]|0;
+ $169 = ($168|0)>(0);
+ if ($169) {
+ $170 = ((($4)) + 16|0);
+ $$089110$in$i200 = $168;$$091109$i201 = $167;
+ while(1) {
+ $$089110$i202 = (($$089110$in$i200) + -1)|0;
+ $171 = HEAP32[$170>>2]|0;
+ $172 = (($171) + ($$089110$i202<<2)|0);
+ $173 = HEAP32[$172>>2]|0;
+ $174 = $173 >>> 24;
+ $175 = $174&255;
+ $176 = ((($$091109$i201)) + 1|0);
+ HEAP8[$$091109$i201>>0] = $175;
+ $177 = $173 >>> 16;
+ $178 = $177&255;
+ $179 = ((($$091109$i201)) + 2|0);
+ HEAP8[$176>>0] = $178;
+ $180 = $173 >>> 8;
+ $181 = $180&255;
+ $182 = ((($$091109$i201)) + 3|0);
+ HEAP8[$179>>0] = $181;
+ $183 = $173&255;
+ $184 = ((($$091109$i201)) + 4|0);
+ HEAP8[$182>>0] = $183;
+ $185 = ($$089110$in$i200|0)>(1);
+ if ($185) {
+ $$089110$in$i200 = $$089110$i202;$$091109$i201 = $184;
+ } else {
+ break;
+ }
+ }
+ }
+ if ($159) {
+ $$2267 = 0;
+ } else {
+ $$0265 = $158;$$295$i206 = $167;
+ while(1) {
+ $186 = HEAP8[$$295$i206>>0]|0;
+ $187 = ($186<<24>>24)==(0);
+ if (!($187)) {
+ $$1266 = $$0265;$$2$lcssa$i208 = $$295$i206;
+ break;
+ }
+ $188 = ((($$295$i206)) + 1|0);
+ $189 = (($$0265) + -1)|0;
+ $190 = ($189|0)==(0);
+ if ($190) {
+ $$1266 = 0;$$2$lcssa$i208 = $188;
+ break;
+ } else {
+ $$0265 = $189;$$295$i206 = $188;
+ }
+ }
+ $191 = ($$2$lcssa$i208|0)==($167|0);
+ if ($191) {
+ $$2267 = $$1266;
+ } else {
+ _memmove(($167|0),($$2$lcssa$i208|0),($$1266|0))|0;
+ $$2267 = $$1266;
+ }
+ }
+ $193 = ($$0159|0)==(0);
+ if ($193) {
+ $199 = ($$2267|0)==(0);
+ if ($199) {
+ $$0158$shrunk = 0;$$3268 = 0;
+ } else {
+ $200 = HEAP8[$167>>0]|0;
+ $$lobit = ($200&255) >>> 7;
+ $201 = $$lobit&255;
+ $spec$select292 = (($$2267) + ($201))|0;
+ $$0158$shrunk = $$lobit;$$3268 = $spec$select292;
+ }
+ } else {
+ _twocompl($167,$$2267);
+ $194 = HEAP8[$167>>0]|0;
+ $$lobit298 = ($194&255) >>> 7;
+ $195 = $$lobit298 ^ 1;
+ $$not = $195&255;
+ $spec$select290 = (($$2267) + ($$not))|0;
+ $196 = ($194&255) >>> 6;
+ $197 = $196 & 2;
+ $198 = $197 ^ 2;
+ $$0158$shrunk = $198;$$3268 = $spec$select290;
+ }
+ $202 = ($1|0)==(0|0);
+ $$pre303 = (($$3268) + 4)|0;
+ if (!($202)) {
+ $203 = ($$pre303>>>0)>($2>>>0);
+ if ($203) {
+ __gcry_free($167);
+ $$7 = 66;
+ STACKTOP = sp;return ($$7|0);
+ }
+ $204 = $$3268 >>> 24;
+ $205 = $204&255;
+ $206 = ((($1)) + 1|0);
+ HEAP8[$1>>0] = $205;
+ $207 = $$3268 >>> 16;
+ $208 = $207&255;
+ $209 = ((($1)) + 2|0);
+ HEAP8[$206>>0] = $208;
+ $210 = $$3268 >>> 8;
+ $211 = $210&255;
+ $212 = ((($1)) + 3|0);
+ HEAP8[$209>>0] = $211;
+ $213 = $$3268&255;
+ $214 = ((($1)) + 4|0);
+ HEAP8[$212>>0] = $213;
+ switch ($$0158$shrunk<<24>>24) {
+ case 1: {
+ $$sink = 0;
+ label = 92;
+ break;
+ }
+ case 0: {
+ $$0157 = $214;
+ break;
+ }
+ default: {
+ $$sink = -1;
+ label = 92;
+ }
+ }
+ if ((label|0) == 92) {
+ $215 = ((($1)) + 5|0);
+ HEAP8[$214>>0] = $$sink;
+ $$0157 = $215;
+ }
+ $216 = ($$0158$shrunk<<24>>24)!=(0);
+ $217 = $216&1;
+ $218 = (($$3268) - ($217))|0;
+ _memcpy(($$0157|0),($167|0),($218|0))|0;
+ }
+ __gcry_free($167);
+ HEAP32[$spec$select>>2] = $$pre303;
+ $$7 = 0;
+ STACKTOP = sp;return ($$7|0);
+ break;
+ }
+ case 4: {
+ $219 = ((($4)) + 4|0);
+ $220 = HEAP32[$219>>2]|0;
+ $221 = $220 << 2;
+ $222 = ($220|0)==(0);
+ $spec$select$i212 = $222 ? 1 : $221;
+ $223 = ((($4)) + 12|0);
+ $224 = HEAP32[$223>>2]|0;
+ $225 = $224 & 1;
+ $226 = ($225|0)==(0);
+ if ($226) {
+ $228 = (__gcry_malloc($spec$select$i212)|0);
+ $230 = $228;
+ } else {
+ $227 = (__gcry_malloc_secure($spec$select$i212)|0);
+ $230 = $227;
+ }
+ $229 = ($230|0)==(0|0);
+ if ($229) {
+ $255 = (_gpg_err_code_from_syserror()|0);
+ $$7 = $255;
+ STACKTOP = sp;return ($$7|0);
+ }
+ $231 = HEAP32[$219>>2]|0;
+ $232 = ($231|0)>(0);
+ if ($232) {
+ $233 = ((($4)) + 16|0);
+ $$089110$in$i214 = $231;$$091109$i215 = $230;
+ while(1) {
+ $$089110$i216 = (($$089110$in$i214) + -1)|0;
+ $234 = HEAP32[$233>>2]|0;
+ $235 = (($234) + ($$089110$i216<<2)|0);
+ $236 = HEAP32[$235>>2]|0;
+ $237 = $236 >>> 24;
+ $238 = $237&255;
+ $239 = ((($$091109$i215)) + 1|0);
+ HEAP8[$$091109$i215>>0] = $238;
+ $240 = $236 >>> 16;
+ $241 = $240&255;
+ $242 = ((($$091109$i215)) + 2|0);
+ HEAP8[$239>>0] = $241;
+ $243 = $236 >>> 8;
+ $244 = $243&255;
+ $245 = ((($$091109$i215)) + 3|0);
+ HEAP8[$242>>0] = $244;
+ $246 = $236&255;
+ $247 = ((($$091109$i215)) + 4|0);
+ HEAP8[$245>>0] = $246;
+ $248 = ($$089110$in$i214|0)>(1);
+ if ($248) {
+ $$089110$in$i214 = $$089110$i216;$$091109$i215 = $247;
+ } else {
+ break;
+ }
+ }
+ }
+ if ($222) {
+ $$2264317 = 0;$292 = 1;
+ label = 111;
+ } else {
+ $$0262 = $221;$$295$i220 = $230;
+ while(1) {
+ $249 = HEAP8[$$295$i220>>0]|0;
+ $250 = ($249<<24>>24)==(0);
+ if (!($250)) {
+ $$1263 = $$0262;$$2$lcssa$i222 = $$295$i220;
+ break;
+ }
+ $251 = ((($$295$i220)) + 1|0);
+ $252 = (($$0262) + -1)|0;
+ $253 = ($252|0)==(0);
+ if ($253) {
+ $$1263 = 0;$$2$lcssa$i222 = $251;
+ break;
+ } else {
+ $$0262 = $252;$$295$i220 = $251;
+ }
+ }
+ $254 = ($$2$lcssa$i222|0)==($230|0);
+ if (!($254)) {
+ _memmove(($230|0),($$2$lcssa$i222|0),($$1263|0))|0;
+ }
+ $256 = ($$1263|0)==(0);
+ if ($256) {
+ $$2264317 = 0;$292 = 1;
+ label = 111;
+ } else {
+ $257 = HEAP8[$230>>0]|0;
+ $258 = ($257<<24>>24)<(0);
+ if ($258) {
+ $$2264317 = $$1263;$292 = 0;
+ label = 111;
+ } else {
+ $$0154 = 0;$$2264316 = $$1263;$293 = 0;
+ }
+ }
+ }
+ if ((label|0) == 111) {
+ $$0154 = 2;$$2264316 = $$2264317;$293 = $292;
+ }
+ $259 = ($1|0)==(0|0);
+ $260 = $$2264316 << 1;
+ $261 = (($$0154) + ($260))|0;
+ $262 = $261 | $$0159;
+ $263 = (($262) + 1)|0;
+ if ($259) {
+ $storemerge = $263;
+ } else {
+ $264 = ($263>>>0)>($2>>>0);
+ if ($264) {
+ __gcry_free($230);
+ $$7 = 66;
+ STACKTOP = sp;return ($$7|0);
+ }
+ $265 = ($$0159|0)==(0);
+ if ($265) {
+ $$0151 = $1;
+ } else {
+ $266 = ((($1)) + 1|0);
+ HEAP8[$1>>0] = 45;
+ $$0151 = $266;
+ }
+ $267 = ($$0154|0)==(0);
+ if ($267) {
+ $$1152 = $$0151;
+ } else {
+ $268 = ((($$0151)) + 1|0);
+ HEAP8[$$0151>>0] = 48;
+ $269 = ((($$0151)) + 2|0);
+ HEAP8[$268>>0] = 48;
+ $$1152 = $269;
+ }
+ if ($293) {
+ $$2153$lcssa = $$1152;
+ } else {
+ $$0155301 = 0;$$2153302 = $$1152;
+ while(1) {
+ $270 = (($230) + ($$0155301)|0);
+ $271 = HEAP8[$270>>0]|0;
+ $272 = $271&255;
+ $273 = $272 >>> 4;
+ $274 = ($271&255)<(160);
+ $275 = $273 | 48;
+ $276 = (($273) + 55)|0;
+ $277 = $274 ? $275 : $276;
+ $278 = $277&255;
+ $279 = ((($$2153302)) + 1|0);
+ HEAP8[$$2153302>>0] = $278;
+ $280 = $272 & 15;
+ $281 = ($280>>>0)<(10);
+ $282 = $280 | 48;
+ $283 = (($280) + 55)|0;
+ $284 = $281 ? $282 : $283;
+ $285 = $284&255;
+ $286 = ((($$2153302)) + 2|0);
+ HEAP8[$279>>0] = $285;
+ $287 = (($$0155301) + 1)|0;
+ $exitcond = ($287|0)==($$2264316|0);
+ if ($exitcond) {
+ break;
+ } else {
+ $$0155301 = $287;$$2153302 = $286;
+ }
+ }
+ $scevgep = (($$1152) + ($260)|0);
+ $$2153$lcssa = $scevgep;
+ }
+ $288 = ((($$2153$lcssa)) + 1|0);
+ HEAP8[$$2153$lcssa>>0] = 0;
+ $289 = $288;
+ $290 = $1;
+ $291 = (($289) - ($290))|0;
+ $storemerge = $291;
+ }
+ HEAP32[$spec$select>>2] = $storemerge;
+ __gcry_free($230);
+ $$7 = 0;
+ STACKTOP = sp;return ($$7|0);
+ break;
+ }
+ default: {
+ $$7 = 45;
+ STACKTOP = sp;return ($$7|0);
+ }
+ }
+ return (0)|0;
+}
+function _twocompl($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $$0 = 0, $$0$in47 = 0, $$0$in47$phi = 0, $$046 = 0, $$048 = 0, $$145 = 0, $$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0;
+ var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0;
+ var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $$046 = (($1) + -1)|0;
+ $2 = ($$046|0)>(-1);
+ if (!($2)) {
+ return;
+ }
+ $$0$in47 = $1;$$048 = $$046;
+ while(1) {
+ $4 = (($0) + ($$048)|0);
+ $5 = HEAP8[$4>>0]|0;
+ $6 = ($5<<24>>24)==(0);
+ if (!($6)) {
+ break;
+ }
+ $$0 = (($$048) + -1)|0;
+ $3 = ($$0|0)>(-1);
+ if ($3) {
+ $$0$in47$phi = $$048;$$048 = $$0;$$0$in47 = $$0$in47$phi;
+ } else {
+ label = 22;
+ break;
+ }
+ }
+ if ((label|0) == 22) {
+ return;
+ }
+ $7 = (($0) + ($$048)|0);
+ $8 = $5&255;
+ $9 = $8 & 1;
+ $10 = ($9|0)==(0);
+ do {
+ if ($10) {
+ $14 = $8 & 2;
+ $15 = ($14|0)==(0);
+ if (!($15)) {
+ $16 = $8 & 252;
+ $17 = $16 ^ 254;
+ $18 = $17&255;
+ $$sink = $18;
+ break;
+ }
+ $19 = $8 & 4;
+ $20 = ($19|0)==(0);
+ if (!($20)) {
+ $21 = $8 & 248;
+ $22 = $21 ^ 252;
+ $23 = $22&255;
+ $$sink = $23;
+ break;
+ }
+ $24 = $8 & 8;
+ $25 = ($24|0)==(0);
+ if (!($25)) {
+ $26 = $8 & 240;
+ $27 = $26 ^ 248;
+ $28 = $27&255;
+ $$sink = $28;
+ break;
+ }
+ $29 = $8 & 16;
+ $30 = ($29|0)==(0);
+ if (!($30)) {
+ $31 = $8 & 224;
+ $32 = $31 ^ 240;
+ $33 = $32&255;
+ $$sink = $33;
+ break;
+ }
+ $34 = $8 & 32;
+ $35 = ($34|0)==(0);
+ if (!($35)) {
+ $36 = $8 & 192;
+ $37 = $36 ^ 224;
+ $38 = $37&255;
+ $$sink = $38;
+ break;
+ }
+ $39 = $8 & 64;
+ $40 = ($39|0)==(0);
+ if ($40) {
+ $$sink = -128;
+ } else {
+ $41 = $8 & 128;
+ $42 = $41 ^ 192;
+ $43 = $42&255;
+ $$sink = $43;
+ }
+ } else {
+ $11 = $8 | 1;
+ $12 = $11 ^ 254;
+ $13 = $12&255;
+ $$sink = $13;
+ }
+ } while(0);
+ HEAP8[$7>>0] = $$sink;
+ $44 = (($$0$in47) + -2)|0;
+ $45 = ($44|0)>(-1);
+ if (!($45)) {
+ return;
+ }
+ $$145 = $44;
+ while(1) {
+ $46 = (($0) + ($$145)|0);
+ $47 = HEAP8[$46>>0]|0;
+ $48 = $47 ^ -1;
+ HEAP8[$46>>0] = $48;
+ $49 = (($$145) + -1)|0;
+ $50 = ($$145|0)>(0);
+ if ($50) {
+ $$145 = $49;
+ } else {
+ break;
+ }
+ }
+ return;
+}
+function __gcry_mpi_to_octet_string($0,$1,$2,$3) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ var $$0 = 0, $$040 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
+ var $28 = 0, $29 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $spec$select = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $4 = ($0|0)!=(0|0);
+ $5 = $4 ^ 1;
+ $6 = ($1|0)!=(0|0);
+ $7 = $6 ^ $5;
+ if ($7) {
+ $$040 = 45;
+ return ($$040|0);
+ }
+ if ($4) {
+ HEAP32[$0>>2] = 0;
+ }
+ $8 = (__gcry_mpi_get_nbits($2)|0);
+ $9 = ((($2)) + 8|0);
+ $10 = HEAP32[$9>>2]|0;
+ $11 = ($10|0)==(0);
+ if (!($11)) {
+ (__gcry_mpi_cmp_ui($2,0)|0);
+ }
+ $12 = (($8) + 7)|0;
+ $13 = $12 >>> 3;
+ $14 = ($13>>>0)>($3>>>0);
+ if ($14) {
+ $$040 = 67;
+ return ($$040|0);
+ }
+ $15 = ($13>>>0)<($3>>>0);
+ $16 = (($3) - ($13))|0;
+ $spec$select = $15 ? $16 : 0;
+ $17 = (($spec$select) + ($13))|0;
+ if ($6) {
+ $$0 = $1;
+ } else {
+ $18 = ((($2)) + 12|0);
+ $19 = HEAP32[$18>>2]|0;
+ $20 = $19 & 1;
+ $21 = ($20|0)==(0);
+ if ($21) {
+ $23 = (__gcry_malloc($17)|0);
+ $25 = $23;
+ } else {
+ $22 = (__gcry_malloc_secure($17)|0);
+ $25 = $22;
+ }
+ $24 = ($25|0)==(0|0);
+ if ($24) {
+ $26 = (_gpg_err_code_from_syserror()|0);
+ $$040 = $26;
+ return ($$040|0);
+ } else {
+ $$0 = $25;
+ }
+ }
+ $27 = ($spec$select|0)==(0);
+ if (!($27)) {
+ _memset(($$0|0),0,($spec$select|0))|0;
+ }
+ $28 = (($$0) + ($spec$select)|0);
+ $29 = (__gcry_mpi_print(5,$28,$13,0,$2)|0);
+ $30 = ($29|0)==(0);
+ if (!($30)) {
+ __gcry_free($$0);
+ $$040 = $29;
+ return ($$040|0);
+ }
+ if (!($4)) {
+ $$040 = 0;
+ return ($$040|0);
+ }
+ HEAP32[$0>>2] = $$0;
+ $$040 = 0;
+ return ($$040|0);
+}
+function __gcry_mpih_add_n($0,$1,$2,$3) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ var $$0 = 0, $$031 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ $4 = (0 - ($3))|0;
+ $5 = (($1) + ($3<<2)|0);
+ $6 = (($2) + ($3<<2)|0);
+ $7 = (($0) + ($3<<2)|0);
+ $$0 = $4;$$031 = 0;
+ while(1) {
+ $8 = (($6) + ($$0<<2)|0);
+ $9 = HEAP32[$8>>2]|0;
+ $10 = (($5) + ($$0<<2)|0);
+ $11 = HEAP32[$10>>2]|0;
+ $12 = (($9) + ($$031))|0;
+ $13 = ($12>>>0)<($$031>>>0);
+ $14 = $13&1;
+ $15 = (($12) + ($11))|0;
+ $16 = ($15>>>0)<($11>>>0);
+ $17 = $16&1;
+ $18 = (($17) + ($14))|0;
+ $19 = (($7) + ($$0<<2)|0);
+ HEAP32[$19>>2] = $15;
+ $20 = (($$0) + 1)|0;
+ $21 = ($20|0)==(0);
+ if ($21) {
+ break;
+ } else {
+ $$0 = $20;$$031 = $18;
+ }
+ }
+ return ($18|0);
+}
+function __gcry_mpih_mod_1($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$0 = 0, $$0251 = 0, $$0255284 = 0, $$0257$lcssa = 0, $$0257283 = 0, $$0258 = 0, $$0262$lcssa = 0, $$0262282 = 0, $$1 = 0, $$1256 = 0, $$1263 = 0, $$2264280 = 0, $$2281 = 0, $$pre = 0, $$pre$phi291Z2D = 0, $$pre$phiZ2D = 0, $$pre290 = 0, $10 = 0, $100 = 0, $101 = 0;
+ var $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0;
+ var $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
+ var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
+ var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0;
+ var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0;
+ var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0;
+ var $or$cond266 = 0, $or$cond267 = 0, $or$cond268 = 0, $or$cond269 = 0, $or$cond270 = 0, $spec$select = 0, $spec$select271 = 0, $spec$select272 = 0, $spec$select273 = 0, $spec$select274 = 0, $spec$select275 = 0, $spec$select277 = 0, $spec$select278 = 0, $spec$select279 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $3 = ($1|0)==(0);
+ if ($3) {
+ $$1 = 0;
+ return ($$1|0);
+ }
+ $4 = ($2>>>0)<(65536);
+ $5 = ($2>>>0)<(256);
+ $6 = $5 ? 0 : 8;
+ $7 = ($2>>>0)<(16777216);
+ $8 = $7 ? 16 : 24;
+ $9 = $4 ? $6 : $8;
+ $10 = $2 >>> $9;
+ $11 = (14784 + ($10)|0);
+ $12 = HEAP8[$11>>0]|0;
+ $13 = $12&255;
+ $14 = (($9) + ($13))|0;
+ $15 = (32 - ($14))|0;
+ $16 = ($15|0)==(0);
+ if ($16) {
+ $87 = (($1) + -1)|0;
+ $88 = (($0) + ($87<<2)|0);
+ $89 = HEAP32[$88>>2]|0;
+ $90 = ($89>>>0)<($2>>>0);
+ $91 = (($1) + -2)|0;
+ $$1263 = $90 ? $89 : 0;
+ $$1256 = $90 ? $91 : $87;
+ $92 = ($$1256|0)>(-1);
+ if (!($92)) {
+ $$1 = $$1263;
+ return ($$1|0);
+ }
+ $93 = $2 >>> 16;
+ $94 = $2 & 65535;
+ $$2264280 = $$1263;$$2281 = $$1256;
+ while(1) {
+ $95 = (($0) + ($$2281<<2)|0);
+ $96 = HEAP32[$95>>2]|0;
+ $97 = (($$2264280>>>0) / ($93>>>0))&-1;
+ $98 = Math_imul($97, $93)|0;
+ $99 = (($$2264280) - ($98))|0;
+ $100 = Math_imul($97, $94)|0;
+ $101 = $99 << 16;
+ $102 = $96 >>> 16;
+ $103 = $101 | $102;
+ $104 = ($103>>>0)<($100>>>0);
+ $105 = (($103) + ($2))|0;
+ $106 = ($105>>>0)>=($2>>>0);
+ $107 = ($105>>>0)<($100>>>0);
+ $or$cond269 = $106 & $107;
+ $108 = $or$cond269 ? $2 : 0;
+ $spec$select274 = (($108) + ($105))|0;
+ $spec$select279 = $104 ? $spec$select274 : $103;
+ $109 = (($spec$select279) - ($100))|0;
+ $110 = (($109>>>0) / ($93>>>0))&-1;
+ $111 = Math_imul($110, $93)|0;
+ $112 = (($109) - ($111))|0;
+ $113 = Math_imul($110, $94)|0;
+ $114 = $112 << 16;
+ $115 = $96 & 65535;
+ $116 = $114 | $115;
+ $117 = ($116>>>0)<($113>>>0);
+ $118 = (($116) + ($2))|0;
+ $119 = ($118>>>0)>=($2>>>0);
+ $120 = ($118>>>0)<($113>>>0);
+ $or$cond270 = $119 & $120;
+ $121 = $or$cond270 ? $2 : 0;
+ $spec$select275 = (($121) + ($118))|0;
+ $$0 = $117 ? $spec$select275 : $116;
+ $122 = (($$0) - ($113))|0;
+ $123 = (($$2281) + -1)|0;
+ $124 = ($$2281|0)>(0);
+ if ($124) {
+ $$2264280 = $122;$$2281 = $123;
+ } else {
+ $$1 = $122;
+ break;
+ }
+ }
+ return ($$1|0);
+ }
+ $17 = $2 << $15;
+ $18 = (($1) + -1)|0;
+ $19 = (($0) + ($18<<2)|0);
+ $20 = HEAP32[$19>>2]|0;
+ $21 = $20 >>> $14;
+ $22 = ($1|0)>(1);
+ if ($22) {
+ $23 = (($1) + -2)|0;
+ $24 = $17 >>> 16;
+ $25 = $17 & 65535;
+ $$0255284 = $23;$$0257283 = $20;$$0262282 = $21;
+ while(1) {
+ $26 = (($0) + ($$0255284<<2)|0);
+ $27 = HEAP32[$26>>2]|0;
+ $28 = (($$0262282>>>0) / ($24>>>0))&-1;
+ $29 = Math_imul($28, $24)|0;
+ $30 = (($$0262282) - ($29))|0;
+ $31 = Math_imul($28, $25)|0;
+ $32 = $30 << 16;
+ $33 = $$0257283 << $15;
+ $34 = $27 >>> $14;
+ $35 = $34 | $33;
+ $36 = $35 >>> 16;
+ $37 = $36 | $32;
+ $38 = ($37>>>0)<($31>>>0);
+ $39 = (($37) + ($17))|0;
+ $40 = ($39>>>0)>=($17>>>0);
+ $41 = ($39>>>0)<($31>>>0);
+ $or$cond = $40 & $41;
+ $42 = $or$cond ? $17 : 0;
+ $spec$select = (($42) + ($39))|0;
+ $spec$select277 = $38 ? $spec$select : $37;
+ $43 = (($spec$select277) - ($31))|0;
+ $44 = (($43>>>0) / ($24>>>0))&-1;
+ $45 = Math_imul($44, $24)|0;
+ $46 = (($43) - ($45))|0;
+ $47 = Math_imul($44, $25)|0;
+ $48 = $46 << 16;
+ $49 = $35 & 65535;
+ $50 = $48 | $49;
+ $51 = ($50>>>0)<($47>>>0);
+ $52 = (($50) + ($17))|0;
+ $53 = ($52>>>0)>=($17>>>0);
+ $54 = ($52>>>0)<($47>>>0);
+ $or$cond266 = $53 & $54;
+ $55 = $or$cond266 ? $17 : 0;
+ $spec$select271 = (($55) + ($52))|0;
+ $$0258 = $51 ? $spec$select271 : $50;
+ $56 = (($$0258) - ($47))|0;
+ $57 = (($$0255284) + -1)|0;
+ $58 = ($$0255284|0)>(0);
+ if ($58) {
+ $$0255284 = $57;$$0257283 = $27;$$0262282 = $56;
+ } else {
+ $$0257$lcssa = $27;$$0262$lcssa = $56;$$pre$phi291Z2D = $25;$$pre$phiZ2D = $24;
+ break;
+ }
+ }
+ } else {
+ $$pre = $17 >>> 16;
+ $$pre290 = $17 & 65535;
+ $$0257$lcssa = $20;$$0262$lcssa = $21;$$pre$phi291Z2D = $$pre290;$$pre$phiZ2D = $$pre;
+ }
+ $59 = (($$0262$lcssa>>>0) / ($$pre$phiZ2D>>>0))&-1;
+ $60 = Math_imul($59, $$pre$phiZ2D)|0;
+ $61 = (($$0262$lcssa) - ($60))|0;
+ $62 = Math_imul($59, $$pre$phi291Z2D)|0;
+ $63 = $61 << 16;
+ $64 = $$0257$lcssa << $15;
+ $65 = $64 >>> 16;
+ $66 = $63 | $65;
+ $67 = ($66>>>0)<($62>>>0);
+ $68 = (($66) + ($17))|0;
+ $69 = ($68>>>0)>=($17>>>0);
+ $70 = ($68>>>0)<($62>>>0);
+ $or$cond267 = $69 & $70;
+ $71 = $or$cond267 ? $17 : 0;
+ $spec$select272 = (($71) + ($68))|0;
+ $spec$select278 = $67 ? $spec$select272 : $66;
+ $72 = (($spec$select278) - ($62))|0;
+ $73 = (($72>>>0) / ($$pre$phiZ2D>>>0))&-1;
+ $74 = Math_imul($73, $$pre$phiZ2D)|0;
+ $75 = (($72) - ($74))|0;
+ $76 = Math_imul($73, $$pre$phi291Z2D)|0;
+ $77 = $75 << 16;
+ $78 = $64 & 65535;
+ $79 = $77 | $78;
+ $80 = ($79>>>0)<($76>>>0);
+ $81 = (($79) + ($17))|0;
+ $82 = ($81>>>0)>=($17>>>0);
+ $83 = ($81>>>0)<($76>>>0);
+ $or$cond268 = $82 & $83;
+ $84 = $or$cond268 ? $17 : 0;
+ $spec$select273 = (($84) + ($81))|0;
+ $$0251 = $80 ? $spec$select273 : $79;
+ $85 = (($$0251) - ($76))|0;
+ $86 = $85 >>> $15;
+ $$1 = $86;
+ return ($$1|0);
+}
+function __gcry_mpih_divrem($0,$1,$2,$3,$4,$5) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ $5 = $5|0;
+ var $$0$lcssa = 0, $$01619$i = 0, $$01619$i715 = 0, $$01619$i717 = 0, $$01619$in$i716 = 0, $$01619$in$i716$phi = 0, $$0578683 = 0, $$0583 = 0, $$0585 = 0, $$0586 = 0, $$0587 = 0, $$0588 = 0, $$0589 = 0, $$0590 = 0, $$0591 = 0, $$0592 = 0, $$0593669 = 0, $$0594 = 0, $$0595 = 0, $$0596 = 0;
+ var $$0597 = 0, $$0601 = 0, $$0604 = 0, $$0605 = 0, $$0606674 = 0, $$0606674$in = 0, $$0607 = 0, $$0608690 = 0, $$0609 = 0, $$0613 = 0, $$0619 = 0, $$0622 = 0, $$0627 = 0, $$0628 = 0, $$0629 = 0, $$0630 = 0, $$0692 = 0, $$1 = 0, $$1575 = 0, $$1579678 = 0;
+ var $$1579678$in = 0, $$1581$lcssa = 0, $$1581682 = 0, $$1610$lcssa = 0, $$1610689 = 0, $$1614$lcssa = 0, $$1614688 = 0, $$1620 = 0, $$1623 = 0, $$2576 = 0, $$2582$lcssa = 0, $$2582677 = 0, $$2599 = 0, $$2603 = 0, $$2611 = 0, $$2615 = 0, $$2621 = 0, $$2624 = 0, $$2673 = 0, $$3 = 0;
+ var $$3577 = 0, $$3600 = 0, $$3612 = 0, $$3616 = 0, $$4 = 0, $$4617 = 0, $$5 = 0, $$5618 = 0, $$lcssa = 0, $$lcssa711 = 0, $$neg663 = 0, $$neg664 = 0, $$pre = 0, $$pre$phiZ2D = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0;
+ var $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0;
+ var $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0;
+ var $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0;
+ var $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0;
+ var $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0;
+ var $196 = 0, $197 = 0, $198 = 0, $199 = 0, $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, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
+ var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
+ var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0;
+ var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $not$ = 0, $not$or$cond635 = 0;
+ var $not$or$cond635$demorgan = 0, $or$cond = 0, $or$cond632 = 0, $or$cond633 = 0, $or$cond634 = 0, $or$cond635 = 0, $or$cond636 = 0, $or$cond637 = 0, $or$cond639 = 0, $or$cond640 = 0, $or$cond641 = 0, $or$cond658 = 0, $spec$select = 0, $spec$select631 = 0, $spec$select638 = 0, $spec$select642 = 0, $spec$select643 = 0, $spec$select644 = 0, $spec$select644$v = 0, $spec$select645 = 0;
+ var $spec$select646 = 0, $spec$select646$v = 0, $spec$select647 = 0, $spec$select648 = 0, $spec$select648$v = 0, $spec$select649 = 0, $spec$select650 = 0, $spec$select650$v = 0, $spec$select651 = 0, $spec$select652 = 0, $spec$select653 = 0, $spec$select654 = 0, $spec$select655 = 0, $spec$select655$v = 0, $spec$select656 = 0, $spec$select657 = 0, $spec$select657$v = 0, $spec$select659 = 0, $spec$select659$v = 0, $spec$select660 = 0;
+ var $spec$select661 = 0, $spec$select661$v = 0, $spec$select662 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ switch ($5|0) {
+ case 0: {
+ __gcry_divide_by_zero();
+ // unreachable;
+ break;
+ }
+ case 1: {
+ $6 = HEAP32[$4>>2]|0;
+ $7 = (($3) + -1)|0;
+ $8 = (($2) + ($7<<2)|0);
+ $9 = HEAP32[$8>>2]|0;
+ $10 = ($9>>>0)<($6>>>0);
+ $11 = $10 ? 0 : $6;
+ $spec$select = (($9) - ($11))|0;
+ $not$ = $10 ^ 1;
+ $spec$select631 = $not$&1;
+ $12 = (($0) + ($1<<2)|0);
+ $13 = ($3|0)>(1);
+ if ($13) {
+ $14 = (($3) + -2)|0;
+ $15 = $6 >>> 16;
+ $16 = $6 & 65535;
+ $$0578683 = $14;$$1581682 = $spec$select;
+ while(1) {
+ $17 = (($$1581682>>>0) / ($15>>>0))&-1;
+ $18 = Math_imul($17, $15)|0;
+ $19 = (($$1581682) - ($18))|0;
+ $20 = Math_imul($17, $16)|0;
+ $21 = $19 << 16;
+ $22 = (($2) + ($$0578683<<2)|0);
+ $23 = HEAP32[$22>>2]|0;
+ $24 = $23 >>> 16;
+ $25 = $24 | $21;
+ $26 = ($25>>>0)<($20>>>0);
+ if ($26) {
+ $27 = (($25) + ($6))|0;
+ $28 = ($27>>>0)>=($6>>>0);
+ $29 = ($27>>>0)<($20>>>0);
+ $or$cond = $28 & $29;
+ $30 = $or$cond ? $6 : 0;
+ $spec$select643 = (($30) + ($27))|0;
+ $spec$select644$v = $or$cond ? -2 : -1;
+ $spec$select644 = (($spec$select644$v) + ($17))|0;
+ $$0583 = $spec$select644;$$0586 = $spec$select643;
+ } else {
+ $$0583 = $17;$$0586 = $25;
+ }
+ $31 = (($$0586) - ($20))|0;
+ $32 = (($31>>>0) / ($15>>>0))&-1;
+ $33 = Math_imul($32, $15)|0;
+ $34 = (($31) - ($33))|0;
+ $35 = Math_imul($32, $16)|0;
+ $36 = $34 << 16;
+ $37 = $23 & 65535;
+ $38 = $36 | $37;
+ $39 = ($38>>>0)<($35>>>0);
+ if ($39) {
+ $40 = (($38) + ($6))|0;
+ $41 = ($40>>>0)>=($6>>>0);
+ $42 = ($40>>>0)<($35>>>0);
+ $or$cond632 = $41 & $42;
+ $43 = $or$cond632 ? $6 : 0;
+ $spec$select645 = (($43) + ($40))|0;
+ $spec$select646$v = $or$cond632 ? -2 : -1;
+ $spec$select646 = (($spec$select646$v) + ($32))|0;
+ $$0585 = $spec$select646;$$0591 = $spec$select645;
+ } else {
+ $$0585 = $32;$$0591 = $38;
+ }
+ $44 = (($$0591) - ($35))|0;
+ $45 = $$0583 << 16;
+ $46 = $$0585 | $45;
+ $47 = (($12) + ($$0578683<<2)|0);
+ HEAP32[$47>>2] = $46;
+ $48 = (($$0578683) + -1)|0;
+ $49 = ($$0578683|0)>(0);
+ if ($49) {
+ $$0578683 = $48;$$1581682 = $44;
+ } else {
+ $$1581$lcssa = $44;
+ break;
+ }
+ }
+ } else {
+ $$1581$lcssa = $spec$select;
+ }
+ $50 = ($1|0)>(0);
+ if ($50) {
+ $51 = $6 >>> 16;
+ $52 = $6 & 65535;
+ $$1579678$in = $1;$$2582677 = $$1581$lcssa;
+ while(1) {
+ $$1579678 = (($$1579678$in) + -1)|0;
+ $53 = (($$2582677>>>0) / ($51>>>0))&-1;
+ $54 = Math_imul($53, $51)|0;
+ $55 = (($$2582677) - ($54))|0;
+ $56 = Math_imul($53, $52)|0;
+ $57 = $55 << 16;
+ $58 = ($57>>>0)<($56>>>0);
+ if ($58) {
+ $59 = (($57) + ($6))|0;
+ $60 = ($59>>>0)>=($6>>>0);
+ $61 = ($59>>>0)<($56>>>0);
+ $or$cond633 = $60 & $61;
+ $62 = $or$cond633 ? $6 : 0;
+ $spec$select647 = (($62) + ($59))|0;
+ $spec$select648$v = $or$cond633 ? -2 : -1;
+ $spec$select648 = (($spec$select648$v) + ($53))|0;
+ $$0594 = $spec$select648;$$0605 = $spec$select647;
+ } else {
+ $$0594 = $53;$$0605 = $57;
+ }
+ $63 = (($$0605) - ($56))|0;
+ $64 = (($63>>>0) / ($51>>>0))&-1;
+ $65 = Math_imul($64, $51)|0;
+ $66 = (($63) - ($65))|0;
+ $67 = Math_imul($64, $52)|0;
+ $68 = $66 << 16;
+ $69 = ($68>>>0)<($67>>>0);
+ if ($69) {
+ $70 = (($68) + ($6))|0;
+ $71 = ($70>>>0)>=($6>>>0);
+ $72 = ($70>>>0)<($67>>>0);
+ $or$cond634 = $71 & $72;
+ $73 = $or$cond634 ? $6 : 0;
+ $spec$select649 = (($73) + ($70))|0;
+ $spec$select650$v = $or$cond634 ? -2 : -1;
+ $spec$select650 = (($spec$select650$v) + ($64))|0;
+ $$0604 = $spec$select650;$$0607 = $spec$select649;
+ } else {
+ $$0604 = $64;$$0607 = $68;
+ }
+ $74 = (($$0607) - ($67))|0;
+ $75 = $$0594 << 16;
+ $76 = $$0604 | $75;
+ $77 = (($0) + ($$1579678<<2)|0);
+ HEAP32[$77>>2] = $76;
+ $78 = ($$1579678$in|0)>(1);
+ if ($78) {
+ $$1579678$in = $$1579678;$$2582677 = $74;
+ } else {
+ $$2582$lcssa = $74;
+ break;
+ }
+ }
+ } else {
+ $$2582$lcssa = $$1581$lcssa;
+ }
+ HEAP32[$2>>2] = $$2582$lcssa;
+ $$3577 = $spec$select631;
+ return ($$3577|0);
+ break;
+ }
+ case 2: {
+ $79 = (($3) + -2)|0;
+ $80 = (($2) + ($79<<2)|0);
+ $81 = ((($4)) + 4|0);
+ $82 = HEAP32[$81>>2]|0;
+ $83 = HEAP32[$4>>2]|0;
+ $84 = (0 - ($83))|0;
+ $85 = ((($80)) + 4|0);
+ $86 = HEAP32[$85>>2]|0;
+ $87 = HEAP32[$80>>2]|0;
+ $88 = ($86>>>0)<($82>>>0);
+ if ($88) {
+ $$0609 = $86;$$0613 = $87;$$1575 = 0;
+ } else {
+ $89 = ($86>>>0)<=($82>>>0);
+ $90 = ($87>>>0)<($83>>>0);
+ $or$cond635 = $89 & $90;
+ $91 = (($87) - ($83))|0;
+ $92 = (($86) - ($82))|0;
+ $93 = ($91>>>0)>($87>>>0);
+ $$neg663 = $93 << 31 >> 31;
+ $94 = (($92) + ($$neg663))|0;
+ $spec$select651 = $or$cond635 ? $87 : $91;
+ $spec$select652 = $or$cond635 ? $86 : $94;
+ $not$or$cond635$demorgan = $89 & $90;
+ $not$or$cond635 = $not$or$cond635$demorgan ^ 1;
+ $spec$select653 = $not$or$cond635&1;
+ $$0609 = $spec$select652;$$0613 = $spec$select651;$$1575 = $spec$select653;
+ }
+ $95 = (($3) + ($1))|0;
+ $96 = ($95|0)>(2);
+ if ($96) {
+ $97 = (($95) + -3)|0;
+ $98 = $82 >>> 16;
+ $99 = $82 & 65535;
+ $100 = ($83|0)!=(0);
+ $101 = $100&1;
+ $102 = (($83) - ($101))|0;
+ $103 = $83 & 65535;
+ $104 = $83 >>> 16;
+ $$0608690 = $97;$$0692 = $80;$$1610689 = $$0609;$$1614688 = $$0613;
+ while(1) {
+ $105 = ($$0608690|0)<($1|0);
+ if ($105) {
+ HEAP32[$$0692>>2] = 0;
+ $$1 = $$0692;
+ } else {
+ $106 = ((($$0692)) + -4|0);
+ $$1 = $106;
+ }
+ $107 = ($$1610689|0)==($82|0);
+ if ($107) {
+ $108 = (($$1614688) + ($82))|0;
+ $109 = ($108>>>0)<($82>>>0);
+ if ($109) {
+ $110 = HEAP32[$$1>>2]|0;
+ $111 = (($110) + ($83))|0;
+ $112 = (($108) - ($83))|0;
+ $113 = ($111>>>0)<($110>>>0);
+ $114 = $113&1;
+ $115 = (($112) + ($114))|0;
+ $116 = (($0) + ($$0608690<<2)|0);
+ HEAP32[$116>>2] = -1;
+ $$5 = $115;$$5618 = $111;
+ } else {
+ $$0619 = -1;$$0622 = $108;$$2611 = $102;$$2615 = $84;
+ label = 33;
+ }
+ } else {
+ $117 = (($$1610689>>>0) / ($98>>>0))&-1;
+ $118 = Math_imul($117, $98)|0;
+ $119 = (($$1610689) - ($118))|0;
+ $120 = Math_imul($117, $99)|0;
+ $121 = $119 << 16;
+ $122 = $$1614688 >>> 16;
+ $123 = $121 | $122;
+ $124 = ($123>>>0)<($120>>>0);
+ if ($124) {
+ $125 = (($123) + ($82))|0;
+ $126 = ($125>>>0)>=($82>>>0);
+ $127 = ($125>>>0)<($120>>>0);
+ $or$cond636 = $126 & $127;
+ $128 = $or$cond636 ? $82 : 0;
+ $spec$select654 = (($128) + ($125))|0;
+ $spec$select655$v = $or$cond636 ? -2 : -1;
+ $spec$select655 = (($spec$select655$v) + ($117))|0;
+ $$0627 = $spec$select655;$$0630 = $spec$select654;
+ } else {
+ $$0627 = $117;$$0630 = $123;
+ }
+ $129 = (($$0630) - ($120))|0;
+ $130 = (($129>>>0) / ($98>>>0))&-1;
+ $131 = Math_imul($130, $98)|0;
+ $132 = (($129) - ($131))|0;
+ $133 = Math_imul($130, $99)|0;
+ $134 = $132 << 16;
+ $135 = $$1614688 & 65535;
+ $136 = $134 | $135;
+ $137 = ($136>>>0)<($133>>>0);
+ if ($137) {
+ $138 = (($136) + ($82))|0;
+ $139 = ($138>>>0)>=($82>>>0);
+ $140 = ($138>>>0)<($133>>>0);
+ $or$cond637 = $139 & $140;
+ $141 = $or$cond637 ? $82 : 0;
+ $spec$select656 = (($141) + ($138))|0;
+ $spec$select657$v = $or$cond637 ? -2 : -1;
+ $spec$select657 = (($spec$select657$v) + ($130))|0;
+ $$0628 = $spec$select657;$$0629 = $spec$select656;
+ } else {
+ $$0628 = $130;$$0629 = $136;
+ }
+ $142 = (($$0629) - ($133))|0;
+ $143 = $$0627 << 16;
+ $144 = $$0628 | $143;
+ $145 = $$0628 & 65535;
+ $146 = $144 >>> 16;
+ $147 = Math_imul($145, $103)|0;
+ $148 = Math_imul($146, $103)|0;
+ $149 = Math_imul($145, $104)|0;
+ $150 = Math_imul($146, $104)|0;
+ $151 = $147 >>> 16;
+ $152 = (($151) + ($149))|0;
+ $153 = (($152) + ($148))|0;
+ $154 = ($153>>>0)<($149>>>0);
+ $155 = (($150) + 65536)|0;
+ $spec$select638 = $154 ? $155 : $150;
+ $156 = $153 >>> 16;
+ $157 = (($spec$select638) + ($156))|0;
+ $158 = $153 << 16;
+ $159 = $147 & 65535;
+ $160 = $158 | $159;
+ $$0619 = $144;$$0622 = $142;$$2611 = $157;$$2615 = $160;
+ label = 33;
+ }
+ if ((label|0) == 33) {
+ label = 0;
+ $161 = HEAP32[$$1>>2]|0;
+ $$1620 = $$0619;$$1623 = $$0622;$$3612 = $$2611;$$3616 = $$2615;
+ while(1) {
+ $162 = ($$3612>>>0)>($$1623>>>0);
+ if (!($162)) {
+ $163 = ($$3612|0)==($$1623|0);
+ $164 = ($$3616>>>0)>($161>>>0);
+ $or$cond639 = $164 & $163;
+ if (!($or$cond639)) {
+ $$2621 = $$1620;$$2624 = $$1623;$$4 = $$3612;$$4617 = $$3616;
+ break;
+ }
+ }
+ $165 = (($$1620) + -1)|0;
+ $166 = (($$3616) - ($83))|0;
+ $167 = ($166>>>0)>($$3616>>>0);
+ $168 = $167&1;
+ $169 = (($$3612) - ($168))|0;
+ $170 = (($$1623) + ($82))|0;
+ $171 = ($170>>>0)<($82>>>0);
+ if ($171) {
+ $$2621 = $165;$$2624 = $170;$$4 = $169;$$4617 = $166;
+ break;
+ } else {
+ $$1620 = $165;$$1623 = $170;$$3612 = $169;$$3616 = $166;
+ }
+ }
+ $172 = (($0) + ($$0608690<<2)|0);
+ HEAP32[$172>>2] = $$2621;
+ $173 = (($161) - ($$4617))|0;
+ $174 = (($$2624) - ($$4))|0;
+ $175 = ($173>>>0)>($161>>>0);
+ $$neg664 = $175 << 31 >> 31;
+ $176 = (($174) + ($$neg664))|0;
+ $$5 = $176;$$5618 = $173;
+ }
+ $177 = (($$0608690) + -1)|0;
+ $178 = ($$0608690|0)>(0);
+ if ($178) {
+ $$0608690 = $177;$$0692 = $$1;$$1610689 = $$5;$$1614688 = $$5618;
+ } else {
+ break;
+ }
+ }
+ $$pre = ((($$1)) + 4|0);
+ $$0$lcssa = $$1;$$1610$lcssa = $$5;$$1614$lcssa = $$5618;$$pre$phiZ2D = $$pre;
+ } else {
+ $$0$lcssa = $80;$$1610$lcssa = $$0609;$$1614$lcssa = $$0613;$$pre$phiZ2D = $85;
+ }
+ HEAP32[$$pre$phiZ2D>>2] = $$1610$lcssa;
+ HEAP32[$$0$lcssa>>2] = $$1614$lcssa;
+ $$3577 = $$1575;
+ return ($$3577|0);
+ break;
+ }
+ default: {
+ $179 = (($3) - ($5))|0;
+ $180 = (($2) + ($179<<2)|0);
+ $181 = (($5) + -1)|0;
+ $182 = (($4) + ($181<<2)|0);
+ $183 = HEAP32[$182>>2]|0;
+ $184 = (($5) + -2)|0;
+ $185 = (($4) + ($184<<2)|0);
+ $186 = HEAP32[$185>>2]|0;
+ $187 = (($180) + ($181<<2)|0);
+ $188 = HEAP32[$187>>2]|0;
+ $189 = ($188>>>0)<($183>>>0);
+ L3: do {
+ if ($189) {
+ $$0601 = $188;$$2576 = 0;
+ } else {
+ $190 = ($188>>>0)<=($183>>>0);
+ $191 = ($5|0)>(1);
+ $or$cond658 = $191 & $190;
+ L5: do {
+ if ($or$cond658) {
+ $$01619$i715 = (($5) + -2)|0;
+ $192 = (($180) + ($$01619$i715<<2)|0);
+ $193 = HEAP32[$192>>2]|0;
+ $194 = (($4) + ($$01619$i715<<2)|0);
+ $195 = HEAP32[$194>>2]|0;
+ $196 = ($193|0)==($195|0);
+ if ($196) {
+ $$01619$i717 = $$01619$i715;$$01619$in$i716 = $181;
+ while(1) {
+ $197 = ($$01619$in$i716|0)>(1);
+ if (!($197)) {
+ break L5;
+ }
+ $$01619$i = (($$01619$i717) + -1)|0;
+ $198 = (($180) + ($$01619$i<<2)|0);
+ $199 = HEAP32[$198>>2]|0;
+ $200 = (($4) + ($$01619$i<<2)|0);
+ $201 = HEAP32[$200>>2]|0;
+ $202 = ($199|0)==($201|0);
+ if ($202) {
+ $$01619$in$i716$phi = $$01619$i717;$$01619$i717 = $$01619$i;$$01619$in$i716 = $$01619$in$i716$phi;
+ } else {
+ $$lcssa = $201;$$lcssa711 = $199;
+ break;
+ }
+ }
+ } else {
+ $$lcssa = $195;$$lcssa711 = $193;
+ }
+ $203 = ($$lcssa711>>>0)>($$lcssa>>>0);
+ if (!($203)) {
+ $$0601 = $188;$$2576 = 0;
+ break L3;
+ }
+ }
+ } while(0);
+ (__gcry_mpih_sub_n($180,$180,$4,$5)|0);
+ $204 = HEAP32[$187>>2]|0;
+ $$0601 = $204;$$2576 = 1;
+ }
+ } while(0);
+ $205 = (($3) + ($1))|0;
+ $206 = (($205) - ($5))|0;
+ $207 = ($206|0)>(0);
+ if (!($207)) {
+ $$3577 = $$2576;
+ return ($$3577|0);
+ }
+ $208 = ($5|0)>(1);
+ $209 = $183 >>> 16;
+ $210 = $183 & 65535;
+ $211 = $186 & 65535;
+ $212 = $186 >>> 16;
+ $$0606674$in = $206;$$2673 = $180;$224 = $$0601;
+ while(1) {
+ $$0606674 = (($$0606674$in) + -1)|0;
+ $213 = ($$0606674$in|0)>($1|0);
+ if ($213) {
+ $214 = ((($$2673)) + -4|0);
+ $215 = (($214) + ($5<<2)|0);
+ $216 = HEAP32[$215>>2]|0;
+ $$0595 = $216;$$3 = $214;
+ } else {
+ if ($208) {
+ $217 = ((($$2673)) + 4|0);
+ $$0593669 = $184;
+ while(1) {
+ $218 = (($$2673) + ($$0593669<<2)|0);
+ $219 = HEAP32[$218>>2]|0;
+ $220 = (($217) + ($$0593669<<2)|0);
+ HEAP32[$220>>2] = $219;
+ $221 = (($$0593669) + -1)|0;
+ $222 = ($$0593669|0)>(0);
+ if ($222) {
+ $$0593669 = $221;
+ } else {
+ break;
+ }
+ }
+ }
+ HEAP32[$$2673>>2] = 0;
+ $$0595 = $224;$$3 = $$2673;
+ }
+ $223 = ($224|0)==($183|0);
+ L29: do {
+ if ($223) {
+ $$2599 = -1;
+ } else {
+ $225 = (($224>>>0) / ($209>>>0))&-1;
+ $226 = Math_imul($225, $209)|0;
+ $227 = (($224) - ($226))|0;
+ $228 = Math_imul($225, $210)|0;
+ $229 = $227 << 16;
+ $230 = (($$3) + ($181<<2)|0);
+ $231 = HEAP32[$230>>2]|0;
+ $232 = $231 >>> 16;
+ $233 = $232 | $229;
+ $234 = ($233>>>0)<($228>>>0);
+ if ($234) {
+ $235 = (($233) + ($183))|0;
+ $236 = ($235>>>0)>=($183>>>0);
+ $237 = ($235>>>0)<($228>>>0);
+ $or$cond640 = $236 & $237;
+ $spec$select659$v = $or$cond640 ? -2 : -1;
+ $spec$select659 = (($spec$select659$v) + ($225))|0;
+ $238 = $or$cond640 ? $183 : 0;
+ $spec$select660 = (($238) + ($235))|0;
+ $$0588 = $spec$select660;$$0590 = $spec$select659;
+ } else {
+ $$0588 = $233;$$0590 = $225;
+ }
+ $239 = (($$0588) - ($228))|0;
+ $240 = (($239>>>0) / ($209>>>0))&-1;
+ $241 = Math_imul($240, $209)|0;
+ $242 = (($239) - ($241))|0;
+ $243 = Math_imul($240, $210)|0;
+ $244 = $242 << 16;
+ $245 = $231 & 65535;
+ $246 = $244 | $245;
+ $247 = ($246>>>0)<($243>>>0);
+ if ($247) {
+ $248 = (($246) + ($183))|0;
+ $249 = ($248>>>0)>=($183>>>0);
+ $250 = ($248>>>0)<($243>>>0);
+ $or$cond641 = $249 & $250;
+ $spec$select661$v = $or$cond641 ? -2 : -1;
+ $spec$select661 = (($spec$select661$v) + ($240))|0;
+ $251 = $or$cond641 ? $183 : 0;
+ $spec$select662 = (($251) + ($248))|0;
+ $$0587 = $spec$select662;$$0589 = $spec$select661;
+ } else {
+ $$0587 = $246;$$0589 = $240;
+ }
+ $252 = (($$0587) - ($243))|0;
+ $253 = $$0590 << 16;
+ $254 = $$0589 | $253;
+ $255 = $$0589 & 65535;
+ $256 = $254 >>> 16;
+ $257 = Math_imul($255, $211)|0;
+ $258 = Math_imul($256, $211)|0;
+ $259 = Math_imul($255, $212)|0;
+ $260 = Math_imul($256, $212)|0;
+ $261 = $257 >>> 16;
+ $262 = (($261) + ($259))|0;
+ $263 = (($262) + ($258))|0;
+ $264 = ($263>>>0)<($259>>>0);
+ $265 = (($260) + 65536)|0;
+ $spec$select642 = $264 ? $265 : $260;
+ $266 = $263 >>> 16;
+ $267 = (($spec$select642) + ($266))|0;
+ $268 = $263 << 16;
+ $269 = $257 & 65535;
+ $270 = $268 | $269;
+ $271 = (($$3) + ($184<<2)|0);
+ $$0592 = $252;$$0596 = $267;$$0597 = $254;$$2603 = $270;
+ while(1) {
+ $272 = ($$0596>>>0)>($$0592>>>0);
+ if (!($272)) {
+ $273 = ($$0596|0)==($$0592|0);
+ if (!($273)) {
+ $$2599 = $$0597;
+ break L29;
+ }
+ $274 = HEAP32[$271>>2]|0;
+ $275 = ($$2603>>>0)>($274>>>0);
+ if (!($275)) {
+ $$2599 = $$0597;
+ break L29;
+ }
+ }
+ $276 = (($$0597) + -1)|0;
+ $277 = (($$0592) + ($183))|0;
+ $278 = ($277>>>0)<($183>>>0);
+ if ($278) {
+ $$2599 = $276;
+ break L29;
+ }
+ $279 = ($$2603>>>0)<($186>>>0);
+ $280 = $279&1;
+ $281 = (($$0596) - ($280))|0;
+ $282 = (($$2603) - ($186))|0;
+ $$0592 = $277;$$0596 = $281;$$0597 = $276;$$2603 = $282;
+ }
+ }
+ } while(0);
+ $283 = (__gcry_mpih_submul_1($$3,$4,$5,$$2599)|0);
+ $284 = ($$0595|0)==($283|0);
+ if ($284) {
+ $$3600 = $$2599;
+ } else {
+ $285 = (($$2599) + -1)|0;
+ (__gcry_mpih_add_n($$3,$$3,$4,$5)|0);
+ $$3600 = $285;
+ }
+ $286 = (($0) + ($$0606674<<2)|0);
+ HEAP32[$286>>2] = $$3600;
+ $287 = (($$3) + ($181<<2)|0);
+ $288 = HEAP32[$287>>2]|0;
+ $289 = ($$0606674$in|0)>(1);
+ if ($289) {
+ $$0606674$in = $$0606674;$$2673 = $$3;$224 = $288;
+ } else {
+ $$3577 = $$2576;
+ break;
+ }
+ }
+ return ($$3577|0);
+ }
+ }
+ return (0)|0;
+}
+function __gcry_mpih_divmod_1($0,$1,$2,$3) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ var $$0 = 0, $$0252 = 0, $$0253 = 0, $$0254 = 0, $$0257 = 0, $$0258 = 0, $$0259 = 0, $$0260 = 0, $$0261293 = 0, $$0263$lcssa = 0, $$0263292 = 0, $$0264 = 0, $$0265 = 0, $$0266 = 0, $$0267 = 0, $$0268$lcssa = 0, $$0268291 = 0, $$1 = 0, $$1262 = 0, $$1269 = 0;
+ var $$2270289 = 0, $$2290 = 0, $$pre = 0, $$pre$phi300Z2D = 0, $$pre$phiZ2D = 0, $$pre299 = 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;
+ var $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0;
+ var $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
+ var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
+ var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
+ var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0;
+ var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond272 = 0;
+ var $or$cond273 = 0, $or$cond274 = 0, $or$cond275 = 0, $or$cond276 = 0, $spec$select = 0, $spec$select$v = 0, $spec$select278 = 0, $spec$select279 = 0, $spec$select279$v = 0, $spec$select280 = 0, $spec$select281 = 0, $spec$select281$v = 0, $spec$select282 = 0, $spec$select283 = 0, $spec$select283$v = 0, $spec$select284 = 0, $spec$select285 = 0, $spec$select285$v = 0, $spec$select286 = 0, $spec$select287 = 0;
+ var $spec$select287$v = 0, $spec$select288 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $4 = ($2|0)==(0);
+ if ($4) {
+ $$1 = 0;
+ return ($$1|0);
+ }
+ $5 = ($3>>>0)<(65536);
+ $6 = ($3>>>0)<(256);
+ $7 = $6 ? 0 : 8;
+ $8 = ($3>>>0)<(16777216);
+ $9 = $8 ? 16 : 24;
+ $10 = $5 ? $7 : $9;
+ $11 = $3 >>> $10;
+ $12 = (14784 + ($11)|0);
+ $13 = HEAP8[$12>>0]|0;
+ $14 = $13&255;
+ $15 = (($10) + ($14))|0;
+ $16 = (32 - ($15))|0;
+ $17 = ($16|0)==(0);
+ if ($17) {
+ $94 = (($2) + -1)|0;
+ $95 = (($1) + ($94<<2)|0);
+ $96 = HEAP32[$95>>2]|0;
+ $97 = ($96>>>0)<($3>>>0);
+ if ($97) {
+ $98 = (($0) + ($94<<2)|0);
+ $99 = (($2) + -2)|0;
+ HEAP32[$98>>2] = 0;
+ $$1262 = $99;$$1269 = $96;
+ } else {
+ $$1262 = $94;$$1269 = 0;
+ }
+ $100 = ($$1262|0)>(-1);
+ if (!($100)) {
+ $$1 = $$1269;
+ return ($$1|0);
+ }
+ $101 = $3 >>> 16;
+ $102 = $3 & 65535;
+ $$2270289 = $$1269;$$2290 = $$1262;
+ while(1) {
+ $103 = (($1) + ($$2290<<2)|0);
+ $104 = HEAP32[$103>>2]|0;
+ $105 = (($$2270289>>>0) / ($101>>>0))&-1;
+ $106 = Math_imul($105, $101)|0;
+ $107 = (($$2270289) - ($106))|0;
+ $108 = Math_imul($105, $102)|0;
+ $109 = $107 << 16;
+ $110 = $104 >>> 16;
+ $111 = $109 | $110;
+ $112 = ($111>>>0)<($108>>>0);
+ if ($112) {
+ $113 = (($111) + ($3))|0;
+ $114 = ($113>>>0)>=($3>>>0);
+ $115 = ($113>>>0)<($108>>>0);
+ $or$cond275 = $114 & $115;
+ $spec$select285$v = $or$cond275 ? -2 : -1;
+ $spec$select285 = (($spec$select285$v) + ($105))|0;
+ $116 = $or$cond275 ? $3 : 0;
+ $spec$select286 = (($116) + ($113))|0;
+ $$0252 = $spec$select286;$$0254 = $spec$select285;
+ } else {
+ $$0252 = $111;$$0254 = $105;
+ }
+ $117 = (($$0252) - ($108))|0;
+ $118 = (($117>>>0) / ($101>>>0))&-1;
+ $119 = Math_imul($118, $101)|0;
+ $120 = (($117) - ($119))|0;
+ $121 = Math_imul($118, $102)|0;
+ $122 = $120 << 16;
+ $123 = $104 & 65535;
+ $124 = $122 | $123;
+ $125 = ($124>>>0)<($121>>>0);
+ if ($125) {
+ $126 = (($124) + ($3))|0;
+ $127 = ($126>>>0)>=($3>>>0);
+ $128 = ($126>>>0)<($121>>>0);
+ $or$cond276 = $127 & $128;
+ $spec$select287$v = $or$cond276 ? -2 : -1;
+ $spec$select287 = (($spec$select287$v) + ($118))|0;
+ $129 = $or$cond276 ? $3 : 0;
+ $spec$select288 = (($129) + ($126))|0;
+ $$0 = $spec$select288;$$0253 = $spec$select287;
+ } else {
+ $$0 = $124;$$0253 = $118;
+ }
+ $130 = (($$0) - ($121))|0;
+ $131 = $$0254 << 16;
+ $132 = $$0253 | $131;
+ $133 = (($0) + ($$2290<<2)|0);
+ HEAP32[$133>>2] = $132;
+ $134 = (($$2290) + -1)|0;
+ $135 = ($$2290|0)>(0);
+ if ($135) {
+ $$2270289 = $130;$$2290 = $134;
+ } else {
+ $$1 = $130;
+ break;
+ }
+ }
+ return ($$1|0);
+ }
+ $18 = $3 << $16;
+ $19 = (($2) + -1)|0;
+ $20 = (($1) + ($19<<2)|0);
+ $21 = HEAP32[$20>>2]|0;
+ $22 = $21 >>> $15;
+ $23 = ($2|0)>(1);
+ if ($23) {
+ $24 = (($2) + -2)|0;
+ $25 = $18 >>> 16;
+ $26 = $18 & 65535;
+ $$0261293 = $24;$$0263292 = $21;$$0268291 = $22;
+ while(1) {
+ $27 = (($1) + ($$0261293<<2)|0);
+ $28 = HEAP32[$27>>2]|0;
+ $29 = (($$0268291>>>0) / ($25>>>0))&-1;
+ $30 = Math_imul($29, $25)|0;
+ $31 = (($$0268291) - ($30))|0;
+ $32 = Math_imul($29, $26)|0;
+ $33 = $31 << 16;
+ $34 = $$0263292 << $16;
+ $35 = $28 >>> $15;
+ $36 = $35 | $34;
+ $37 = $36 >>> 16;
+ $38 = $37 | $33;
+ $39 = ($38>>>0)<($32>>>0);
+ if ($39) {
+ $40 = (($38) + ($18))|0;
+ $41 = ($40>>>0)>=($18>>>0);
+ $42 = ($40>>>0)<($32>>>0);
+ $or$cond = $41 & $42;
+ $spec$select$v = $or$cond ? -2 : -1;
+ $spec$select = (($spec$select$v) + ($29))|0;
+ $43 = $or$cond ? $18 : 0;
+ $spec$select278 = (($43) + ($40))|0;
+ $$0265 = $spec$select278;$$0267 = $spec$select;
+ } else {
+ $$0265 = $38;$$0267 = $29;
+ }
+ $44 = (($$0265) - ($32))|0;
+ $45 = (($44>>>0) / ($25>>>0))&-1;
+ $46 = Math_imul($45, $25)|0;
+ $47 = (($44) - ($46))|0;
+ $48 = Math_imul($45, $26)|0;
+ $49 = $47 << 16;
+ $50 = $36 & 65535;
+ $51 = $49 | $50;
+ $52 = ($51>>>0)<($48>>>0);
+ if ($52) {
+ $53 = (($51) + ($18))|0;
+ $54 = ($53>>>0)>=($18>>>0);
+ $55 = ($53>>>0)<($48>>>0);
+ $or$cond272 = $54 & $55;
+ $spec$select279$v = $or$cond272 ? -2 : -1;
+ $spec$select279 = (($spec$select279$v) + ($45))|0;
+ $56 = $or$cond272 ? $18 : 0;
+ $spec$select280 = (($56) + ($53))|0;
+ $$0264 = $spec$select280;$$0266 = $spec$select279;
+ } else {
+ $$0264 = $51;$$0266 = $45;
+ }
+ $57 = (($$0264) - ($48))|0;
+ $58 = $$0267 << 16;
+ $59 = $$0266 | $58;
+ $60 = (($$0261293) + 1)|0;
+ $61 = (($0) + ($60<<2)|0);
+ HEAP32[$61>>2] = $59;
+ $62 = (($$0261293) + -1)|0;
+ $63 = ($$0261293|0)>(0);
+ if ($63) {
+ $$0261293 = $62;$$0263292 = $28;$$0268291 = $57;
+ } else {
+ $$0263$lcssa = $28;$$0268$lcssa = $57;$$pre$phi300Z2D = $26;$$pre$phiZ2D = $25;
+ break;
+ }
+ }
+ } else {
+ $$pre = $18 >>> 16;
+ $$pre299 = $18 & 65535;
+ $$0263$lcssa = $21;$$0268$lcssa = $22;$$pre$phi300Z2D = $$pre299;$$pre$phiZ2D = $$pre;
+ }
+ $64 = (($$0268$lcssa>>>0) / ($$pre$phiZ2D>>>0))&-1;
+ $65 = Math_imul($64, $$pre$phiZ2D)|0;
+ $66 = (($$0268$lcssa) - ($65))|0;
+ $67 = Math_imul($64, $$pre$phi300Z2D)|0;
+ $68 = $66 << 16;
+ $69 = $$0263$lcssa << $16;
+ $70 = $69 >>> 16;
+ $71 = $68 | $70;
+ $72 = ($71>>>0)<($67>>>0);
+ if ($72) {
+ $73 = (($71) + ($18))|0;
+ $74 = ($73>>>0)>=($18>>>0);
+ $75 = ($73>>>0)<($67>>>0);
+ $or$cond273 = $74 & $75;
+ $spec$select281$v = $or$cond273 ? -2 : -1;
+ $spec$select281 = (($spec$select281$v) + ($64))|0;
+ $76 = $or$cond273 ? $18 : 0;
+ $spec$select282 = (($76) + ($73))|0;
+ $$0258 = $spec$select282;$$0260 = $spec$select281;
+ } else {
+ $$0258 = $71;$$0260 = $64;
+ }
+ $77 = (($$0258) - ($67))|0;
+ $78 = (($77>>>0) / ($$pre$phiZ2D>>>0))&-1;
+ $79 = Math_imul($78, $$pre$phiZ2D)|0;
+ $80 = (($77) - ($79))|0;
+ $81 = Math_imul($78, $$pre$phi300Z2D)|0;
+ $82 = $80 << 16;
+ $83 = $69 & 65535;
+ $84 = $82 | $83;
+ $85 = ($84>>>0)<($81>>>0);
+ if ($85) {
+ $86 = (($84) + ($18))|0;
+ $87 = ($86>>>0)>=($18>>>0);
+ $88 = ($86>>>0)<($81>>>0);
+ $or$cond274 = $87 & $88;
+ $spec$select283$v = $or$cond274 ? -2 : -1;
+ $spec$select283 = (($spec$select283$v) + ($78))|0;
+ $89 = $or$cond274 ? $18 : 0;
+ $spec$select284 = (($89) + ($86))|0;
+ $$0257 = $spec$select284;$$0259 = $spec$select283;
+ } else {
+ $$0257 = $84;$$0259 = $78;
+ }
+ $90 = (($$0257) - ($81))|0;
+ $91 = $$0260 << 16;
+ $92 = $$0259 | $91;
+ HEAP32[$0>>2] = $92;
+ $93 = $90 >>> $16;
+ $$1 = $93;
+ return ($$1|0);
+}
+function __gcry_mpih_lshift($0,$1,$2,$3) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ var $$0$lcssa = 0, $$034$lcssa = 0, $$03435 = 0, $$036 = 0, $$036$phi = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $4 = 0, $5 = 0, $6 = 0;
+ var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $4 = (32 - ($3))|0;
+ $5 = (($2) + -1)|0;
+ $6 = (($1) + ($5<<2)|0);
+ $7 = HEAP32[$6>>2]|0;
+ $8 = $7 >>> $4;
+ $9 = ($2|0)>(1);
+ if ($9) {
+ $10 = (($2) + -2)|0;
+ $$03435 = $7;$$036 = $5;$12 = $10;
+ while(1) {
+ $11 = (($1) + ($12<<2)|0);
+ $13 = HEAP32[$11>>2]|0;
+ $14 = $$03435 << $3;
+ $15 = $13 >>> $4;
+ $16 = $15 | $14;
+ $17 = (($0) + ($$036<<2)|0);
+ HEAP32[$17>>2] = $16;
+ $18 = (($12) + -1)|0;
+ $19 = ($12|0)>(0);
+ if ($19) {
+ $$036$phi = $12;$$03435 = $13;$12 = $18;$$036 = $$036$phi;
+ } else {
+ $$0$lcssa = 0;$$034$lcssa = $13;
+ break;
+ }
+ }
+ } else {
+ $$0$lcssa = $5;$$034$lcssa = $7;
+ }
+ $20 = $$034$lcssa << $3;
+ $21 = (($0) + ($$0$lcssa<<2)|0);
+ HEAP32[$21>>2] = $20;
+ return ($8|0);
+}
+function __gcry_mpih_mul_1($0,$1,$2,$3) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ var $$0 = 0, $$067 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
+ var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $spec$select = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $4 = (0 - ($2))|0;
+ $5 = (($1) + ($2<<2)|0);
+ $6 = (($0) + ($2<<2)|0);
+ $7 = $3 & 65535;
+ $8 = $3 >>> 16;
+ $$0 = 0;$$067 = $4;
+ while(1) {
+ $9 = (($5) + ($$067<<2)|0);
+ $10 = HEAP32[$9>>2]|0;
+ $11 = $10 & 65535;
+ $12 = $10 >>> 16;
+ $13 = Math_imul($11, $7)|0;
+ $14 = Math_imul($11, $8)|0;
+ $15 = Math_imul($12, $7)|0;
+ $16 = Math_imul($12, $8)|0;
+ $17 = $13 >>> 16;
+ $18 = (($15) + ($14))|0;
+ $19 = (($18) + ($17))|0;
+ $20 = ($19>>>0)<($15>>>0);
+ $21 = (($16) + 65536)|0;
+ $spec$select = $20 ? $21 : $16;
+ $22 = $19 >>> 16;
+ $23 = (($spec$select) + ($22))|0;
+ $24 = $19 << 16;
+ $25 = $13 & 65535;
+ $26 = $24 | $25;
+ $27 = (($26) + ($$0))|0;
+ $28 = ($27>>>0)<($$0>>>0);
+ $29 = $28&1;
+ $30 = (($23) + ($29))|0;
+ $31 = (($6) + ($$067<<2)|0);
+ HEAP32[$31>>2] = $27;
+ $32 = (($$067) + 1)|0;
+ $33 = ($32|0)==(0);
+ if ($33) {
+ break;
+ } else {
+ $$0 = $30;$$067 = $32;
+ }
+ }
+ return ($30|0);
+}
+function __gcry_mpih_submul_1($0,$1,$2,$3) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ var $$0 = 0, $$076 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
+ var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $spec$select = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $4 = (0 - ($2))|0;
+ $5 = (($0) + ($2<<2)|0);
+ $6 = (($1) + ($2<<2)|0);
+ $7 = $3 & 65535;
+ $8 = $3 >>> 16;
+ $$0 = 0;$$076 = $4;
+ while(1) {
+ $9 = (($6) + ($$076<<2)|0);
+ $10 = HEAP32[$9>>2]|0;
+ $11 = $10 & 65535;
+ $12 = $10 >>> 16;
+ $13 = Math_imul($11, $7)|0;
+ $14 = Math_imul($11, $8)|0;
+ $15 = Math_imul($12, $7)|0;
+ $16 = Math_imul($12, $8)|0;
+ $17 = $13 >>> 16;
+ $18 = (($15) + ($14))|0;
+ $19 = (($18) + ($17))|0;
+ $20 = ($19>>>0)<($15>>>0);
+ $21 = (($16) + 65536)|0;
+ $spec$select = $20 ? $21 : $16;
+ $22 = $19 >>> 16;
+ $23 = (($spec$select) + ($22))|0;
+ $24 = $19 << 16;
+ $25 = $13 & 65535;
+ $26 = $24 | $25;
+ $27 = (($26) + ($$0))|0;
+ $28 = ($27>>>0)<($$0>>>0);
+ $29 = $28&1;
+ $30 = (($23) + ($29))|0;
+ $31 = (($5) + ($$076<<2)|0);
+ $32 = HEAP32[$31>>2]|0;
+ $33 = (($32) - ($27))|0;
+ $34 = ($33>>>0)>($32>>>0);
+ $35 = $34&1;
+ $36 = (($30) + ($35))|0;
+ HEAP32[$31>>2] = $33;
+ $37 = (($$076) + 1)|0;
+ $38 = ($37|0)==(0);
+ if ($38) {
+ break;
+ } else {
+ $$0 = $36;$$076 = $37;
+ }
+ }
+ return ($36|0);
+}
+function _mul_n_basecase($0,$1,$2,$3) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ var $$0515 = 0, $$052 = 0, $$0533 = 0, $$0544 = 0, $$2 = 0, $$pn = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0;
+ var $24 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond12 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $4 = HEAP32[$2>>2]|0;
+ $5 = ($4>>>0)<(2);
+ L1: do {
+ if ($5) {
+ $6 = ($4|0)==(1);
+ $7 = ($3|0)>(0);
+ if ($6) {
+ if ($7) {
+ $$0515 = 0;
+ while(1) {
+ $8 = (($1) + ($$0515<<2)|0);
+ $9 = HEAP32[$8>>2]|0;
+ $10 = (($0) + ($$0515<<2)|0);
+ HEAP32[$10>>2] = $9;
+ $11 = (($$0515) + 1)|0;
+ $exitcond12 = ($11|0)==($3|0);
+ if ($exitcond12) {
+ $$052 = 0;
+ break L1;
+ } else {
+ $$0515 = $11;
+ }
+ }
+ }
+ } else {
+ if ($7) {
+ $12 = $3 << 2;
+ _memset(($0|0),0,($12|0))|0;
+ $$052 = 0;
+ break;
+ }
+ }
+ $14 = (($0) + ($3<<2)|0);
+ HEAP32[$14>>2] = 0;
+ return;
+ } else {
+ $13 = (__gcry_mpih_mul_1($0,$1,$3,$4)|0);
+ $$052 = $13;
+ }
+ } while(0);
+ $15 = (($0) + ($3<<2)|0);
+ HEAP32[$15>>2] = $$052;
+ $16 = ($3|0)>(1);
+ if (!($16)) {
+ return;
+ }
+ $$0533 = 1;$$pn = $0;
+ while(1) {
+ $$0544 = ((($$pn)) + 4|0);
+ $17 = (($2) + ($$0533<<2)|0);
+ $18 = HEAP32[$17>>2]|0;
+ $19 = ($18>>>0)<(2);
+ if ($19) {
+ $20 = ($18|0)==(1);
+ if ($20) {
+ $21 = (__gcry_mpih_add_n($$0544,$$0544,$1,$3)|0);
+ $$2 = $21;
+ } else {
+ $$2 = 0;
+ }
+ } else {
+ $22 = (__gcry_mpih_addmul_1($$0544,$1,$3,$18)|0);
+ $$2 = $22;
+ }
+ $23 = (($$0544) + ($3<<2)|0);
+ HEAP32[$23>>2] = $$2;
+ $24 = (($$0533) + 1)|0;
+ $exitcond = ($24|0)==($3|0);
+ if ($exitcond) {
+ break;
+ } else {
+ $$0533 = $24;$$pn = $$0544;
+ }
+ }
+ return;
+}
+function _mul_n($0,$1,$2,$3,$4) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ var $$0153201 = 0, $$0154233 = 0, $$0154234 = 0, $$0155 = 0, $$01619$i = 0, $$01619$i171 = 0, $$01619$in$i = 0, $$01619$in$i170 = 0, $$0200 = 0, $$02637$i = 0, $$02637$i157 = 0, $$1 = 0, $$pn = 0, $$pn232 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0;
+ var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0;
+ var $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0;
+ var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0;
+ var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0;
+ var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $5 = $3 & 1;
+ $6 = ($5|0)==(0);
+ if (!($6)) {
+ $7 = (($3) + -1)|0;
+ $8 = ($3|0)<(17);
+ if ($8) {
+ _mul_n_basecase($0,$1,$2,$7);
+ } else {
+ _mul_n($0,$1,$2,$7,$4);
+ }
+ $9 = (($0) + ($7<<2)|0);
+ $10 = (($2) + ($7<<2)|0);
+ $11 = HEAP32[$10>>2]|0;
+ $12 = (__gcry_mpih_addmul_1($9,$1,$7,$11)|0);
+ $13 = $7 << 1;
+ $14 = (($0) + ($13<<2)|0);
+ HEAP32[$14>>2] = $12;
+ $15 = (($1) + ($7<<2)|0);
+ $16 = HEAP32[$15>>2]|0;
+ $17 = (__gcry_mpih_addmul_1($9,$2,$3,$16)|0);
+ $18 = (($7) + ($3))|0;
+ $19 = (($0) + ($18<<2)|0);
+ HEAP32[$19>>2] = $17;
+ return;
+ }
+ $20 = $3 >> 1;
+ $21 = ($3|0)<(32);
+ $22 = (($0) + ($3<<2)|0);
+ $23 = (($1) + ($20<<2)|0);
+ $24 = (($2) + ($20<<2)|0);
+ if ($21) {
+ _mul_n_basecase($22,$23,$24,$20);
+ $25 = ($3|0)>(1);
+ if ($25) {
+ label = 9;
+ } else {
+ (__gcry_mpih_sub_n($0,$23,$1,$20)|0);
+ $$0154233 = 0;$94 = 0;
+ label = 20;
+ }
+ } else {
+ _mul_n($22,$23,$24,$20,$4);
+ label = 9;
+ }
+ L13: do {
+ if ((label|0) == 9) {
+ $$01619$in$i = $20;
+ while(1) {
+ $$01619$i = (($$01619$in$i) + -1)|0;
+ $27 = (($23) + ($$01619$i<<2)|0);
+ $28 = HEAP32[$27>>2]|0;
+ $29 = (($1) + ($$01619$i<<2)|0);
+ $30 = HEAP32[$29>>2]|0;
+ $31 = ($28|0)==($30|0);
+ if (!($31)) {
+ label = 13;
+ break;
+ }
+ $26 = ($$01619$in$i|0)>(1);
+ if ($26) {
+ $$01619$in$i = $$01619$i;
+ } else {
+ label = 14;
+ break;
+ }
+ }
+ if ((label|0) == 13) {
+ $32 = ($28>>>0)>($30>>>0);
+ if ($32) {
+ label = 14;
+ } else {
+ (__gcry_mpih_sub_n($0,$1,$23,$20)|0);
+ $$0154234 = 1;
+ }
+ }
+ if ((label|0) == 14) {
+ (__gcry_mpih_sub_n($0,$23,$1,$20)|0);
+ $$0154234 = 0;
+ }
+ $$01619$in$i170 = $20;
+ while(1) {
+ $$01619$i171 = (($$01619$in$i170) + -1)|0;
+ $34 = (($24) + ($$01619$i171<<2)|0);
+ $35 = HEAP32[$34>>2]|0;
+ $36 = (($2) + ($$01619$i171<<2)|0);
+ $37 = HEAP32[$36>>2]|0;
+ $38 = ($35|0)==($37|0);
+ if (!($38)) {
+ break;
+ }
+ $33 = ($$01619$in$i170|0)>(1);
+ if ($33) {
+ $$01619$in$i170 = $$01619$i171;
+ } else {
+ $$0154233 = $$0154234;$94 = 1;
+ label = 20;
+ break L13;
+ }
+ }
+ $39 = ($35>>>0)>($37>>>0);
+ if ($39) {
+ $$0154233 = $$0154234;$94 = 1;
+ label = 20;
+ } else {
+ $42 = (($0) + ($20<<2)|0);
+ (__gcry_mpih_sub_n($42,$2,$24,$20)|0);
+ $$1 = $$0154234;$43 = $42;$95 = 1;
+ }
+ }
+ } while(0);
+ if ((label|0) == 20) {
+ $40 = (($0) + ($20<<2)|0);
+ (__gcry_mpih_sub_n($40,$24,$2,$20)|0);
+ $41 = $$0154233 ^ 1;
+ $$1 = $41;$43 = $40;$95 = $94;
+ }
+ if ($21) {
+ _mul_n_basecase($4,$0,$43,$20);
+ } else {
+ $44 = (($4) + ($3<<2)|0);
+ _mul_n($4,$0,$43,$20,$44);
+ }
+ if ($95) {
+ $45 = (($0) + ($20<<2)|0);
+ $$0153201 = 0;
+ while(1) {
+ $46 = (($22) + ($$0153201<<2)|0);
+ $47 = HEAP32[$46>>2]|0;
+ $48 = (($45) + ($$0153201<<2)|0);
+ HEAP32[$48>>2] = $47;
+ $49 = (($$0153201) + 1)|0;
+ $50 = ($49|0)<($20|0);
+ if ($50) {
+ $$0153201 = $49;
+ } else {
+ break;
+ }
+ }
+ }
+ $51 = (($22) + ($20<<2)|0);
+ $52 = (__gcry_mpih_add_n($22,$22,$51,$20)|0);
+ $53 = ($$1|0)==(0);
+ if ($53) {
+ $56 = (__gcry_mpih_add_n($43,$43,$4,$3)|0);
+ $57 = (($56) + ($52))|0;
+ $$0155 = $57;
+ } else {
+ $54 = (__gcry_mpih_sub_n($43,$43,$4,$3)|0);
+ $55 = (($52) - ($54))|0;
+ $$0155 = $55;
+ }
+ if ($21) {
+ _mul_n_basecase($4,$1,$2,$20);
+ } else {
+ $58 = (($4) + ($3<<2)|0);
+ _mul_n($4,$1,$2,$20,$58);
+ }
+ $59 = (__gcry_mpih_add_n($43,$43,$4,$3)|0);
+ $60 = (($59) + ($$0155))|0;
+ $61 = ($60|0)==(0);
+ L49: do {
+ if (!($61)) {
+ $62 = (($0) + ($20<<2)|0);
+ $63 = (($62) + ($3<<2)|0);
+ $64 = HEAP32[$63>>2]|0;
+ $65 = (($64) + ($60))|0;
+ HEAP32[$63>>2] = $65;
+ $66 = ($65>>>0)<($64>>>0);
+ if ($66) {
+ $67 = (($20) + -1)|0;
+ $68 = ($67|0)==(0);
+ if (!($68)) {
+ $$pn232 = $63;$70 = $67;
+ while(1) {
+ $$02637$i157 = ((($$pn232)) + 4|0);
+ $72 = HEAP32[$$02637$i157>>2]|0;
+ $73 = (($72) + 1)|0;
+ HEAP32[$$02637$i157>>2] = $73;
+ $74 = ($73|0)==(0);
+ if (!($74)) {
+ break L49;
+ }
+ $69 = (($70) + -1)|0;
+ $71 = ($69|0)==(0);
+ if ($71) {
+ break;
+ } else {
+ $$pn232 = $$02637$i157;$70 = $69;
+ }
+ }
+ }
+ }
+ }
+ } while(0);
+ if ($95) {
+ $$0200 = 0;
+ while(1) {
+ $75 = (($4) + ($$0200<<2)|0);
+ $76 = HEAP32[$75>>2]|0;
+ $77 = (($0) + ($$0200<<2)|0);
+ HEAP32[$77>>2] = $76;
+ $78 = (($$0200) + 1)|0;
+ $79 = ($78|0)<($20|0);
+ if ($79) {
+ $$0200 = $78;
+ } else {
+ break;
+ }
+ }
+ }
+ $80 = (($4) + ($20<<2)|0);
+ $81 = (__gcry_mpih_add_n($43,$43,$80,$20)|0);
+ $82 = ($81|0)==(0);
+ if ($82) {
+ return;
+ }
+ $83 = HEAP32[$22>>2]|0;
+ $84 = (($83) + 1)|0;
+ HEAP32[$22>>2] = $84;
+ $85 = ($83|0)==(-1);
+ if (!($85)) {
+ return;
+ }
+ $86 = (($3) + -1)|0;
+ $87 = ($86|0)==(0);
+ if ($87) {
+ return;
+ }
+ $$pn = $22;$89 = $86;
+ while(1) {
+ $$02637$i = ((($$pn)) + 4|0);
+ $91 = HEAP32[$$02637$i>>2]|0;
+ $92 = (($91) + 1)|0;
+ HEAP32[$$02637$i>>2] = $92;
+ $93 = ($92|0)==(0);
+ if (!($93)) {
+ label = 49;
+ break;
+ }
+ $88 = (($89) + -1)|0;
+ $90 = ($88|0)==(0);
+ if ($90) {
+ label = 49;
+ break;
+ } else {
+ $$pn = $$02637$i;$89 = $88;
+ }
+ }
+ if ((label|0) == 49) {
+ return;
+ }
+}
+function __gcry_mpih_mul_karatsuba_case($0,$1,$2,$3,$4,$5) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ $5 = $5|0;
+ var $$0 = 0, $$0$us = 0, $$02637$i = 0, $$02637$i96 = 0, $$02637$i96$us = 0, $$02836$i = 0, $$02836$i97 = 0, $$02836$i97$us = 0, $$035$i = 0, $$035$i103 = 0, $$035$i103$us = 0, $$090 = 0, $$090$us = 0, $$092 = 0, $$092$us = 0, $$1 = 0, $$1$i = 0, $$1$i100 = 0, $$1$i100$us = 0, $$127$i = 0;
+ var $$127$i99 = 0, $$127$i99$us = 0, $$129$i = 0, $$129$i98 = 0, $$129$i98$us = 0, $$191 = 0, $$193 = 0, $$pre = 0, $$pre$phi155Z2D = 0, $$pre$phiZ2D = 0, $$pre154 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0;
+ var $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0;
+ var $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, $15 = 0, $16 = 0, $17 = 0;
+ var $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0;
+ var $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0;
+ var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0;
+ var $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0;
+ var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond$i = 0, $exitcond$i104 = 0, $exitcond$i104$us = 0, $phitmp = 0, $phitmp94 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $6 = ((($5)) + 4|0);
+ $7 = HEAP32[$6>>2]|0;
+ $8 = ($7|0)==(0|0);
+ if ($8) {
+ $$pre = ((($5)) + 8|0);
+ $$pre$phiZ2D = $$pre;
+ label = 5;
+ } else {
+ $9 = ((($5)) + 12|0);
+ $10 = HEAP32[$9>>2]|0;
+ $11 = ($10|0)<($4|0);
+ if ($11) {
+ $12 = ((($5)) + 8|0);
+ $13 = HEAP32[$12>>2]|0;
+ __gcry_mpi_free_limb_space($7,$13);
+ $$pre$phiZ2D = $12;
+ label = 5;
+ } else {
+ $23 = $7;
+ }
+ }
+ if ((label|0) == 5) {
+ $14 = $4 << 1;
+ HEAP32[$$pre$phiZ2D>>2] = $14;
+ $15 = (__gcry_is_secure($1)|0);
+ $16 = ($15|0)==(0);
+ if ($16) {
+ $17 = (__gcry_is_secure($3)|0);
+ $18 = ($17|0)!=(0);
+ $phitmp = $18&1;
+ $19 = $phitmp;
+ } else {
+ $19 = 1;
+ }
+ $20 = (__gcry_mpi_alloc_limb_space($14,$19)|0);
+ HEAP32[$6>>2] = $20;
+ $21 = ((($5)) + 12|0);
+ HEAP32[$21>>2] = $4;
+ $23 = $20;
+ }
+ $22 = ($4|0)<(16);
+ if ($22) {
+ _mul_n_basecase($0,$1,$3,$4);
+ } else {
+ _mul_n($0,$1,$3,$4,$23);
+ }
+ $24 = (($0) + ($4<<2)|0);
+ $25 = (($1) + ($4<<2)|0);
+ $26 = (($2) - ($4))|0;
+ $27 = ($26|0)<($4|0);
+ if ($27) {
+ $$1 = $24;$$191 = $25;$$193 = $26;
+ } else {
+ $28 = ((($5)) + 16|0);
+ $29 = HEAP32[$28>>2]|0;
+ $30 = ($29|0)==(0|0);
+ if ($30) {
+ $$pre154 = ((($5)) + 20|0);
+ $$pre$phi155Z2D = $$pre154;
+ label = 16;
+ } else {
+ $31 = ((($5)) + 24|0);
+ $32 = HEAP32[$31>>2]|0;
+ $33 = ($32|0)<($4|0);
+ if ($33) {
+ $34 = ((($5)) + 20|0);
+ $35 = HEAP32[$34>>2]|0;
+ __gcry_mpi_free_limb_space($29,$35);
+ $$pre$phi155Z2D = $34;
+ label = 16;
+ } else {
+ $140 = $29;
+ }
+ }
+ if ((label|0) == 16) {
+ $36 = $4 << 1;
+ HEAP32[$$pre$phi155Z2D>>2] = $36;
+ $37 = (__gcry_is_secure($25)|0);
+ $38 = ($37|0)==(0);
+ if ($38) {
+ $39 = (__gcry_is_secure($3)|0);
+ $40 = ($39|0)!=(0);
+ $phitmp94 = $40&1;
+ $41 = $phitmp94;
+ } else {
+ $41 = 1;
+ }
+ $42 = (__gcry_mpi_alloc_limb_space($36,$41)|0);
+ HEAP32[$28>>2] = $42;
+ $43 = ((($5)) + 24|0);
+ HEAP32[$43>>2] = $4;
+ $140 = $42;
+ }
+ $44 = (($4) + -1)|0;
+ $45 = ($44|0)==(0);
+ if ($22) {
+ $$0$us = $24;$$090$us = $25;$$092$us = $26;$46 = $140;
+ while(1) {
+ _mul_n_basecase($46,$$090$us,$3,$4);
+ $47 = HEAP32[$28>>2]|0;
+ $48 = (__gcry_mpih_add_n($$0$us,$$0$us,$47,$4)|0);
+ $49 = (($$0$us) + ($4<<2)|0);
+ $50 = HEAP32[$28>>2]|0;
+ $51 = (($50) + ($4<<2)|0);
+ $52 = ((($51)) + 4|0);
+ $53 = HEAP32[$51>>2]|0;
+ $54 = (($53) + ($48))|0;
+ $55 = ((($49)) + 4|0);
+ HEAP32[$49>>2] = $54;
+ $56 = ($54>>>0)<($53>>>0);
+ L31: do {
+ if ($56) {
+ if (!($45)) {
+ $$02637$i96$us = $52;$$02836$i97$us = $55;$70 = $44;
+ while(1) {
+ $57 = ((($$02637$i96$us)) + 4|0);
+ $58 = HEAP32[$$02637$i96$us>>2]|0;
+ $59 = (($58) + 1)|0;
+ $60 = ((($$02836$i97$us)) + 4|0);
+ HEAP32[$$02836$i97$us>>2] = $59;
+ $61 = ($59|0)==(0);
+ if (!($61)) {
+ $$1$i100$us = $70;$$127$i99$us = $57;$$129$i98$us = $60;
+ label = 26;
+ break L31;
+ }
+ $69 = (($70) + -1)|0;
+ $71 = ($69|0)==(0);
+ if ($71) {
+ break;
+ } else {
+ $$02637$i96$us = $57;$$02836$i97$us = $60;$70 = $69;
+ }
+ }
+ }
+ } else {
+ $$1$i100$us = $4;$$127$i99$us = $52;$$129$i98$us = $55;
+ label = 26;
+ }
+ } while(0);
+ if ((label|0) == 26) {
+ label = 0;
+ $62 = ($$129$i98$us|0)==($$127$i99$us|0);
+ if (!($62)) {
+ $63 = (($$1$i100$us) + -1)|0;
+ $64 = ($$1$i100$us|0)>(1);
+ if ($64) {
+ $$035$i103$us = 0;
+ while(1) {
+ $65 = (($$127$i99$us) + ($$035$i103$us<<2)|0);
+ $66 = HEAP32[$65>>2]|0;
+ $67 = (($$129$i98$us) + ($$035$i103$us<<2)|0);
+ HEAP32[$67>>2] = $66;
+ $68 = (($$035$i103$us) + 1)|0;
+ $exitcond$i104$us = ($68|0)==($63|0);
+ if ($exitcond$i104$us) {
+ break;
+ } else {
+ $$035$i103$us = $68;
+ }
+ }
+ }
+ }
+ }
+ $72 = (($$090$us) + ($4<<2)|0);
+ $73 = (($$092$us) - ($4))|0;
+ $74 = ($73|0)<($4|0);
+ if ($74) {
+ $$1 = $49;$$191 = $72;$$193 = $73;
+ break;
+ } else {
+ $$0$us = $49;$$090$us = $72;$$092$us = $73;$46 = $50;
+ }
+ }
+ } else {
+ $$0 = $24;$$090 = $25;$$092 = $26;$76 = $140;
+ while(1) {
+ $75 = HEAP32[$6>>2]|0;
+ _mul_n($76,$$090,$3,$4,$75);
+ $77 = HEAP32[$28>>2]|0;
+ $78 = (__gcry_mpih_add_n($$0,$$0,$77,$4)|0);
+ $79 = (($$0) + ($4<<2)|0);
+ $80 = HEAP32[$28>>2]|0;
+ $81 = (($80) + ($4<<2)|0);
+ $82 = ((($81)) + 4|0);
+ $83 = HEAP32[$81>>2]|0;
+ $84 = (($83) + ($78))|0;
+ $85 = ((($79)) + 4|0);
+ HEAP32[$79>>2] = $84;
+ $86 = ($84>>>0)<($83>>>0);
+ L47: do {
+ if ($86) {
+ if (!($45)) {
+ $$02637$i96 = $82;$$02836$i97 = $85;$88 = $44;
+ while(1) {
+ $90 = ((($$02637$i96)) + 4|0);
+ $91 = HEAP32[$$02637$i96>>2]|0;
+ $92 = (($91) + 1)|0;
+ $93 = ((($$02836$i97)) + 4|0);
+ HEAP32[$$02836$i97>>2] = $92;
+ $94 = ($92|0)==(0);
+ if (!($94)) {
+ $$1$i100 = $88;$$127$i99 = $90;$$129$i98 = $93;
+ label = 37;
+ break L47;
+ }
+ $87 = (($88) + -1)|0;
+ $89 = ($87|0)==(0);
+ if ($89) {
+ break;
+ } else {
+ $$02637$i96 = $90;$$02836$i97 = $93;$88 = $87;
+ }
+ }
+ }
+ } else {
+ $$1$i100 = $4;$$127$i99 = $82;$$129$i98 = $85;
+ label = 37;
+ }
+ } while(0);
+ if ((label|0) == 37) {
+ label = 0;
+ $95 = ($$129$i98|0)==($$127$i99|0);
+ if (!($95)) {
+ $96 = (($$1$i100) + -1)|0;
+ $97 = ($$1$i100|0)>(1);
+ if ($97) {
+ $$035$i103 = 0;
+ while(1) {
+ $98 = (($$127$i99) + ($$035$i103<<2)|0);
+ $99 = HEAP32[$98>>2]|0;
+ $100 = (($$129$i98) + ($$035$i103<<2)|0);
+ HEAP32[$100>>2] = $99;
+ $101 = (($$035$i103) + 1)|0;
+ $exitcond$i104 = ($101|0)==($96|0);
+ if ($exitcond$i104) {
+ break;
+ } else {
+ $$035$i103 = $101;
+ }
+ }
+ }
+ }
+ }
+ $102 = (($$090) + ($4<<2)|0);
+ $103 = (($$092) - ($4))|0;
+ $104 = ($103|0)<($4|0);
+ if ($104) {
+ $$1 = $79;$$191 = $102;$$193 = $103;
+ break;
+ } else {
+ $$0 = $79;$$090 = $102;$$092 = $103;$76 = $80;
+ }
+ }
+ }
+ }
+ $105 = ($$193|0)==(0);
+ if ($105) {
+ return;
+ }
+ $106 = ($$193|0)<(16);
+ if ($106) {
+ $107 = HEAP32[$6>>2]|0;
+ (__gcry_mpih_mul($107,$3,$4,$$191,$$193)|0);
+ } else {
+ $108 = HEAP32[$5>>2]|0;
+ $109 = ($108|0)==(0|0);
+ if ($109) {
+ $110 = (__gcry_xcalloc(1,28)|0);
+ HEAP32[$5>>2] = $110;
+ $112 = $110;
+ } else {
+ $112 = $108;
+ }
+ $111 = HEAP32[$6>>2]|0;
+ __gcry_mpih_mul_karatsuba_case($111,$3,$4,$$191,$$193,$112);
+ }
+ $113 = HEAP32[$6>>2]|0;
+ $114 = (__gcry_mpih_add_n($$1,$$1,$113,$4)|0);
+ $115 = (($$1) + ($4<<2)|0);
+ $116 = HEAP32[$6>>2]|0;
+ $117 = (($116) + ($4<<2)|0);
+ $118 = ((($117)) + 4|0);
+ $119 = HEAP32[$117>>2]|0;
+ $120 = (($119) + ($114))|0;
+ $121 = ((($115)) + 4|0);
+ HEAP32[$115>>2] = $120;
+ $122 = ($120>>>0)<($119>>>0);
+ L71: do {
+ if ($122) {
+ $123 = (($$193) + -1)|0;
+ $124 = ($123|0)==(0);
+ if ($124) {
+ return;
+ }
+ $$02637$i = $118;$$02836$i = $121;$126 = $123;
+ while(1) {
+ $128 = ((($$02637$i)) + 4|0);
+ $129 = HEAP32[$$02637$i>>2]|0;
+ $130 = (($129) + 1)|0;
+ $131 = ((($$02836$i)) + 4|0);
+ HEAP32[$$02836$i>>2] = $130;
+ $132 = ($130|0)==(0);
+ if (!($132)) {
+ $$1$i = $126;$$127$i = $128;$$129$i = $131;
+ break L71;
+ }
+ $125 = (($126) + -1)|0;
+ $127 = ($125|0)==(0);
+ if ($127) {
+ break;
+ } else {
+ $$02637$i = $128;$$02836$i = $131;$126 = $125;
+ }
+ }
+ return;
+ } else {
+ $$1$i = $$193;$$127$i = $118;$$129$i = $121;
+ }
+ } while(0);
+ $133 = ($$129$i|0)==($$127$i|0);
+ if ($133) {
+ return;
+ }
+ $134 = (($$1$i) + -1)|0;
+ $135 = ($$1$i|0)>(1);
+ if (!($135)) {
+ return;
+ }
+ $$035$i = 0;
+ while(1) {
+ $136 = (($$127$i) + ($$035$i<<2)|0);
+ $137 = HEAP32[$136>>2]|0;
+ $138 = (($$129$i) + ($$035$i<<2)|0);
+ HEAP32[$138>>2] = $137;
+ $139 = (($$035$i) + 1)|0;
+ $exitcond$i = ($139|0)==($134|0);
+ if ($exitcond$i) {
+ break;
+ } else {
+ $$035$i = $139;
+ }
+ }
+ return;
+}
+function __gcry_mpih_mul($0,$1,$2,$3,$4) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ var $$06576 = 0, $$06674 = 0, $$067 = 0, $$07075 = 0, $$169 = 0, $$2 = 0, $$in$i = 0, $$pn = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0;
+ var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond81 = 0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
+ $5 = sp;
+ $6 = (($0) + ($2<<2)|0);
+ $7 = ($4|0)<(16);
+ if (!($7)) {
+ $28 = (($6) + ($4<<2)|0);
+ $29 = ((($28)) + -4|0);
+ ;HEAP32[$5>>2]=0|0;HEAP32[$5+4>>2]=0|0;HEAP32[$5+8>>2]=0|0;HEAP32[$5+12>>2]=0|0;HEAP32[$5+16>>2]=0|0;HEAP32[$5+20>>2]=0|0;HEAP32[$5+24>>2]=0|0;
+ __gcry_mpih_mul_karatsuba_case($0,$1,$2,$3,$4,$5);
+ $30 = ((($5)) + 16|0);
+ $31 = HEAP32[$30>>2]|0;
+ $32 = ($31|0)==(0|0);
+ if (!($32)) {
+ $33 = ((($5)) + 20|0);
+ $34 = HEAP32[$33>>2]|0;
+ __gcry_mpi_free_limb_space($31,$34);
+ }
+ $35 = ((($5)) + 4|0);
+ $36 = HEAP32[$35>>2]|0;
+ $37 = ($36|0)==(0|0);
+ if (!($37)) {
+ $38 = ((($5)) + 8|0);
+ $39 = HEAP32[$38>>2]|0;
+ __gcry_mpi_free_limb_space($36,$39);
+ }
+ $40 = HEAP32[$5>>2]|0;
+ $41 = ($40|0)==(0|0);
+ if (!($41)) {
+ $$in$i = $40;
+ while(1) {
+ $42 = HEAP32[$$in$i>>2]|0;
+ $43 = ((($$in$i)) + 16|0);
+ $44 = HEAP32[$43>>2]|0;
+ $45 = ($44|0)==(0|0);
+ if (!($45)) {
+ $46 = ((($$in$i)) + 20|0);
+ $47 = HEAP32[$46>>2]|0;
+ __gcry_mpi_free_limb_space($44,$47);
+ }
+ $48 = ((($$in$i)) + 4|0);
+ $49 = HEAP32[$48>>2]|0;
+ $50 = ($49|0)==(0|0);
+ if (!($50)) {
+ $51 = ((($$in$i)) + 8|0);
+ $52 = HEAP32[$51>>2]|0;
+ __gcry_mpi_free_limb_space($49,$52);
+ }
+ __gcry_free($$in$i);
+ $53 = ($42|0)==(0|0);
+ if ($53) {
+ break;
+ } else {
+ $$in$i = $42;
+ }
+ }
+ }
+ $54 = HEAP32[$29>>2]|0;
+ $$169 = $54;
+ STACKTOP = sp;return ($$169|0);
+ }
+ $8 = ($4|0)==(0);
+ if ($8) {
+ $$169 = 0;
+ STACKTOP = sp;return ($$169|0);
+ }
+ $9 = HEAP32[$3>>2]|0;
+ $10 = ($9>>>0)<(2);
+ do {
+ if ($10) {
+ $11 = ($9|0)==(1);
+ $12 = ($2|0)>(0);
+ if (!($11)) {
+ if (!($12)) {
+ $$067 = 0;
+ break;
+ }
+ $17 = $2 << 2;
+ _memset(($0|0),0,($17|0))|0;
+ $$067 = 0;
+ break;
+ }
+ if ($12) {
+ $$06576 = 0;
+ while(1) {
+ $13 = (($1) + ($$06576<<2)|0);
+ $14 = HEAP32[$13>>2]|0;
+ $15 = (($0) + ($$06576<<2)|0);
+ HEAP32[$15>>2] = $14;
+ $16 = (($$06576) + 1)|0;
+ $exitcond81 = ($16|0)==($2|0);
+ if ($exitcond81) {
+ $$067 = 0;
+ break;
+ } else {
+ $$06576 = $16;
+ }
+ }
+ } else {
+ $$067 = 0;
+ }
+ } else {
+ $18 = (__gcry_mpih_mul_1($0,$1,$2,$9)|0);
+ $$067 = $18;
+ }
+ } while(0);
+ HEAP32[$6>>2] = $$067;
+ $19 = ($4|0)>(1);
+ if (!($19)) {
+ $$169 = $$067;
+ STACKTOP = sp;return ($$169|0);
+ }
+ $$06674 = 1;$$pn = $0;
+ while(1) {
+ $$07075 = ((($$pn)) + 4|0);
+ $20 = (($3) + ($$06674<<2)|0);
+ $21 = HEAP32[$20>>2]|0;
+ $22 = ($21>>>0)<(2);
+ if ($22) {
+ $23 = ($21|0)==(1);
+ if ($23) {
+ $24 = (__gcry_mpih_add_n($$07075,$$07075,$1,$2)|0);
+ $$2 = $24;
+ } else {
+ $$2 = 0;
+ }
+ } else {
+ $25 = (__gcry_mpih_addmul_1($$07075,$1,$2,$21)|0);
+ $$2 = $25;
+ }
+ $26 = (($$07075) + ($2<<2)|0);
+ HEAP32[$26>>2] = $$2;
+ $27 = (($$06674) + 1)|0;
+ $exitcond = ($27|0)==($4|0);
+ if ($exitcond) {
+ $$169 = $$2;
+ break;
+ } else {
+ $$06674 = $27;$$pn = $$07075;
+ }
+ }
+ STACKTOP = sp;return ($$169|0);
+}
+function __gcry_mpih_release_karatsuba_ctx($0) {
+ $0 = $0|0;
+ var $$in = 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, $3 = 0, $4 = 0;
+ var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = ((($0)) + 16|0);
+ $2 = HEAP32[$1>>2]|0;
+ $3 = ($2|0)==(0|0);
+ if (!($3)) {
+ $4 = ((($0)) + 20|0);
+ $5 = HEAP32[$4>>2]|0;
+ __gcry_mpi_free_limb_space($2,$5);
+ }
+ $6 = ((($0)) + 4|0);
+ $7 = HEAP32[$6>>2]|0;
+ $8 = ($7|0)==(0|0);
+ if (!($8)) {
+ $9 = ((($0)) + 8|0);
+ $10 = HEAP32[$9>>2]|0;
+ __gcry_mpi_free_limb_space($7,$10);
+ }
+ $11 = HEAP32[$0>>2]|0;
+ $12 = ($11|0)==(0|0);
+ if ($12) {
+ return;
+ }
+ $$in = $11;
+ while(1) {
+ $13 = HEAP32[$$in>>2]|0;
+ $14 = ((($$in)) + 16|0);
+ $15 = HEAP32[$14>>2]|0;
+ $16 = ($15|0)==(0|0);
+ if (!($16)) {
+ $17 = ((($$in)) + 20|0);
+ $18 = HEAP32[$17>>2]|0;
+ __gcry_mpi_free_limb_space($15,$18);
+ }
+ $19 = ((($$in)) + 4|0);
+ $20 = HEAP32[$19>>2]|0;
+ $21 = ($20|0)==(0|0);
+ if (!($21)) {
+ $22 = ((($$in)) + 8|0);
+ $23 = HEAP32[$22>>2]|0;
+ __gcry_mpi_free_limb_space($20,$23);
+ }
+ __gcry_free($$in);
+ $24 = ($13|0)==(0|0);
+ if ($24) {
+ break;
+ } else {
+ $$in = $13;
+ }
+ }
+ return;
+}
+function __gcry_mpih_rshift($0,$1,$2,$3) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ var $$0$lcssa = 0, $$034$lcssa = 0, $$03435 = 0, $$036 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0;
+ var sp = 0;
+ sp = STACKTOP;
+ $4 = ((($0)) + -4|0);
+ $5 = (32 - ($3))|0;
+ $6 = HEAP32[$1>>2]|0;
+ $7 = $6 << $5;
+ $8 = ($2|0)>(1);
+ if ($8) {
+ $$03435 = $6;$$036 = 1;
+ while(1) {
+ $9 = (($1) + ($$036<<2)|0);
+ $10 = HEAP32[$9>>2]|0;
+ $11 = $$03435 >>> $3;
+ $12 = $10 << $5;
+ $13 = $12 | $11;
+ $14 = (($4) + ($$036<<2)|0);
+ HEAP32[$14>>2] = $13;
+ $15 = (($$036) + 1)|0;
+ $exitcond = ($15|0)==($2|0);
+ if ($exitcond) {
+ $$0$lcssa = $2;$$034$lcssa = $10;
+ break;
+ } else {
+ $$03435 = $10;$$036 = $15;
+ }
+ }
+ } else {
+ $$0$lcssa = 1;$$034$lcssa = $6;
+ }
+ $16 = $$034$lcssa >>> $3;
+ $17 = (($4) + ($$0$lcssa<<2)|0);
+ HEAP32[$17>>2] = $16;
+ return ($7|0);
+}
+function __gcry_mpih_sub_n($0,$1,$2,$3) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ var $$0 = 0, $$031 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ $4 = (0 - ($3))|0;
+ $5 = (($1) + ($3<<2)|0);
+ $6 = (($2) + ($3<<2)|0);
+ $7 = (($0) + ($3<<2)|0);
+ $$0 = $4;$$031 = 0;
+ while(1) {
+ $8 = (($6) + ($$0<<2)|0);
+ $9 = HEAP32[$8>>2]|0;
+ $10 = (($5) + ($$0<<2)|0);
+ $11 = HEAP32[$10>>2]|0;
+ $12 = (($9) + ($$031))|0;
+ $13 = ($12>>>0)<($$031>>>0);
+ $14 = $13&1;
+ $15 = (($11) - ($12))|0;
+ $16 = ($15>>>0)>($11>>>0);
+ $17 = $16&1;
+ $18 = (($17) + ($14))|0;
+ $19 = (($7) + ($$0<<2)|0);
+ HEAP32[$19>>2] = $15;
+ $20 = (($$0) + 1)|0;
+ $21 = ($20|0)==(0);
+ if ($21) {
+ break;
+ } else {
+ $$0 = $20;$$031 = $18;
+ }
+ }
+ return ($18|0);
+}
+function __gcry_mpi_get_hw_config() {
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ return ((15041)|0);
+}
+function __gcry_mpi_init() {
+ 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = (__gcry_xmalloc(20)|0);
+ $1 = (__gcry_xmalloc(4)|0);
+ $2 = ((($0)) + 16|0);
+ HEAP32[$2>>2] = $1;
+ HEAP32[$0>>2] = 1;
+ $3 = ((($0)) + 4|0);
+ $4 = ((($0)) + 8|0);
+ $5 = ((($0)) + 12|0);
+ HEAP32[$1>>2] = 0;
+ HEAP32[$3>>2] = 0;
+ HEAP32[$4>>2] = 0;
+ HEAP32[17788] = $0;
+ HEAP32[$5>>2] = 48;
+ $6 = (__gcry_xmalloc(20)|0);
+ $7 = (__gcry_xmalloc(4)|0);
+ $8 = ((($6)) + 16|0);
+ HEAP32[$8>>2] = $7;
+ HEAP32[$6>>2] = 1;
+ $9 = ((($6)) + 4|0);
+ $10 = ((($6)) + 8|0);
+ $11 = ((($6)) + 12|0);
+ HEAP32[$7>>2] = 1;
+ HEAP32[$9>>2] = 1;
+ HEAP32[$10>>2] = 0;
+ HEAP32[(71156)>>2] = $6;
+ HEAP32[$11>>2] = 48;
+ $12 = (__gcry_xmalloc(20)|0);
+ $13 = (__gcry_xmalloc(4)|0);
+ $14 = ((($12)) + 16|0);
+ HEAP32[$14>>2] = $13;
+ HEAP32[$12>>2] = 1;
+ $15 = ((($12)) + 4|0);
+ $16 = ((($12)) + 8|0);
+ $17 = ((($12)) + 12|0);
+ HEAP32[$13>>2] = 2;
+ HEAP32[$15>>2] = 1;
+ HEAP32[$16>>2] = 0;
+ HEAP32[(71160)>>2] = $12;
+ HEAP32[$17>>2] = 48;
+ $18 = (__gcry_xmalloc(20)|0);
+ $19 = (__gcry_xmalloc(4)|0);
+ $20 = ((($18)) + 16|0);
+ HEAP32[$20>>2] = $19;
+ HEAP32[$18>>2] = 1;
+ $21 = ((($18)) + 4|0);
+ $22 = ((($18)) + 8|0);
+ $23 = ((($18)) + 12|0);
+ HEAP32[$19>>2] = 3;
+ HEAP32[$21>>2] = 1;
+ HEAP32[$22>>2] = 0;
+ HEAP32[(71164)>>2] = $18;
+ HEAP32[$23>>2] = 48;
+ $24 = (__gcry_xmalloc(20)|0);
+ $25 = (__gcry_xmalloc(4)|0);
+ $26 = ((($24)) + 16|0);
+ HEAP32[$26>>2] = $25;
+ HEAP32[$24>>2] = 1;
+ $27 = ((($24)) + 4|0);
+ $28 = ((($24)) + 8|0);
+ $29 = ((($24)) + 12|0);
+ HEAP32[$25>>2] = 4;
+ HEAP32[$27>>2] = 1;
+ HEAP32[$28>>2] = 0;
+ HEAP32[(71168)>>2] = $24;
+ HEAP32[$29>>2] = 48;
+ $30 = (__gcry_xmalloc(20)|0);
+ $31 = (__gcry_xmalloc(4)|0);
+ $32 = ((($30)) + 16|0);
+ HEAP32[$32>>2] = $31;
+ HEAP32[$30>>2] = 1;
+ $33 = ((($30)) + 4|0);
+ $34 = ((($30)) + 8|0);
+ $35 = ((($30)) + 12|0);
+ HEAP32[$31>>2] = 8;
+ HEAP32[$33>>2] = 1;
+ HEAP32[$34>>2] = 0;
+ HEAP32[(71172)>>2] = $30;
+ HEAP32[$35>>2] = 48;
+ return 0;
+}
+function __gcry_mpi_alloc_set_ui($0) {
+ $0 = $0|0;
+ var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = (__gcry_xmalloc(20)|0);
+ $2 = (__gcry_xmalloc(4)|0);
+ $3 = ((($1)) + 16|0);
+ HEAP32[$3>>2] = $2;
+ HEAP32[$1>>2] = 1;
+ $4 = ((($1)) + 4|0);
+ $5 = ((($1)) + 8|0);
+ $6 = ((($1)) + 12|0);
+ HEAP32[$6>>2] = 0;
+ HEAP32[$2>>2] = $0;
+ $7 = ($0|0)!=(0);
+ $8 = $7&1;
+ HEAP32[$4>>2] = $8;
+ HEAP32[$5>>2] = 0;
+ return ($1|0);
+}
+function __gcry_mpi_alloc($0) {
+ $0 = $0|0;
+ var $$op$i = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = (__gcry_xmalloc(20)|0);
+ $2 = ($0|0)==(0);
+ if ($2) {
+ $5 = 0;
+ } else {
+ $$op$i = $0 << 2;
+ $3 = (__gcry_xmalloc($$op$i)|0);
+ $5 = $3;
+ }
+ $4 = ((($1)) + 16|0);
+ HEAP32[$4>>2] = $5;
+ HEAP32[$1>>2] = $0;
+ $6 = ((($1)) + 4|0);
+ HEAP32[$6>>2] = 0;
+ $7 = ((($1)) + 8|0);
+ HEAP32[$7>>2] = 0;
+ $8 = ((($1)) + 12|0);
+ HEAP32[$8>>2] = 0;
+ return ($1|0);
+}
+function __gcry_mpi_alloc_limb_space($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $$op = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $2 = ($0|0)!=(0);
+ $$op = $0 << 2;
+ $3 = $2 ? $$op : 4;
+ $4 = ($1|0)==(0);
+ if ($4) {
+ $6 = (__gcry_xmalloc($3)|0);
+ $7 = $6;
+ } else {
+ $5 = (__gcry_xmalloc_secure($3)|0);
+ $7 = $5;
+ }
+ if ($2) {
+ return ($7|0);
+ }
+ HEAP32[$7>>2] = 0;
+ return ($7|0);
+}
+function __gcry_mpi_alloc_secure($0) {
+ $0 = $0|0;
+ var $$op$i = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = (__gcry_xmalloc(20)|0);
+ $2 = ($0|0)==(0);
+ if ($2) {
+ $5 = 0;
+ } else {
+ $$op$i = $0 << 2;
+ $3 = (__gcry_xmalloc_secure($$op$i)|0);
+ $5 = $3;
+ }
+ $4 = ((($1)) + 16|0);
+ HEAP32[$4>>2] = $5;
+ HEAP32[$1>>2] = $0;
+ $6 = ((($1)) + 12|0);
+ HEAP32[$6>>2] = 1;
+ $7 = ((($1)) + 4|0);
+ HEAP32[$7>>2] = 0;
+ $8 = ((($1)) + 8|0);
+ HEAP32[$8>>2] = 0;
+ return ($1|0);
+}
+function __gcry_mpi_free_limb_space($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $$0$lcssa = 0, $$036$lcssa = 0, $$03644 = 0, $$045 = 0, $$1 = 0, $$137 = 0, $$2 = 0, $$238 = 0, $$33942 = 0, $$343 = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $scevgep = 0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ $2 = ($0|0)==(0|0);
+ if ($2) {
+ return;
+ }
+ $3 = $1 << 2;
+ $4 = ($3|0)==(0);
+ if (!($4)) {
+ $5 = $0;
+ $6 = $5 & 7;
+ $7 = ($6|0)==(0);
+ if ($7) {
+ $$0$lcssa = $0;$$036$lcssa = $3;
+ } else {
+ $$03644 = $3;$$045 = $0;
+ while(1) {
+ HEAP8[$$045>>0] = 0;
+ $8 = ((($$045)) + 1|0);
+ $9 = (($$03644) + -1)|0;
+ $10 = $8;
+ $11 = $10 & 7;
+ $12 = ($11|0)!=(0);
+ $13 = ($9|0)!=(0);
+ $14 = $13 & $12;
+ if ($14) {
+ $$03644 = $9;$$045 = $8;
+ } else {
+ $$0$lcssa = $8;$$036$lcssa = $9;
+ break;
+ }
+ }
+ }
+ $15 = ($$036$lcssa>>>0)<(8);
+ if ($15) {
+ $$2 = $$0$lcssa;$$238 = $$036$lcssa;
+ } else {
+ $16 = (($$036$lcssa) + -8)|0;
+ $17 = $16 & -8;
+ $18 = (($17) + 8)|0;
+ $$1 = $$0$lcssa;$$137 = $$036$lcssa;
+ while(1) {
+ $19 = $$1;
+ $20 = $19;
+ HEAP32[$20>>2] = 0;
+ $21 = (($19) + 4)|0;
+ $22 = $21;
+ HEAP32[$22>>2] = 0;
+ $23 = (($$137) + -8)|0;
+ $24 = ((($$1)) + 8|0);
+ $25 = ($23>>>0)>(7);
+ if ($25) {
+ $$1 = $24;$$137 = $23;
+ } else {
+ break;
+ }
+ }
+ $26 = (($16) - ($17))|0;
+ $scevgep = (($$0$lcssa) + ($18)|0);
+ $$2 = $scevgep;$$238 = $26;
+ }
+ $27 = ($$238|0)==(0);
+ if (!($27)) {
+ $$33942 = $$238;$$343 = $$2;
+ while(1) {
+ HEAP8[$$343>>0] = 0;
+ $28 = ((($$343)) + 1|0);
+ $29 = (($$33942) + -1)|0;
+ $30 = ($29|0)==(0);
+ if ($30) {
+ break;
+ } else {
+ $$33942 = $29;$$343 = $28;
+ }
+ }
+ }
+ }
+ __gcry_free($0);
+ return;
+}
+function __gcry_mpi_assign_limb_space($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$0$lcssa$i = 0, $$036$lcssa$i = 0, $$03644$i = 0, $$045$i = 0, $$1$i = 0, $$137$i = 0, $$2$i = 0, $$238$i = 0, $$33942$i = 0, $$343$i = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0;
+ var $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, $4 = 0, $5 = 0, $6 = 0, $7 = 0;
+ var $8 = 0, $9 = 0, $scevgep$i = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $3 = ((($0)) + 16|0);
+ $4 = HEAP32[$3>>2]|0;
+ $5 = ($4|0)==(0|0);
+ if ($5) {
+ HEAP32[$3>>2] = $1;
+ HEAP32[$0>>2] = $2;
+ return;
+ }
+ $6 = HEAP32[$0>>2]|0;
+ $7 = $6 << 2;
+ $8 = ($7|0)==(0);
+ if (!($8)) {
+ $9 = $4;
+ $10 = $9 & 7;
+ $11 = ($10|0)==(0);
+ if ($11) {
+ $$0$lcssa$i = $4;$$036$lcssa$i = $7;
+ } else {
+ $$03644$i = $7;$$045$i = $4;
+ while(1) {
+ HEAP8[$$045$i>>0] = 0;
+ $12 = ((($$045$i)) + 1|0);
+ $13 = (($$03644$i) + -1)|0;
+ $14 = $12;
+ $15 = $14 & 7;
+ $16 = ($15|0)!=(0);
+ $17 = ($13|0)!=(0);
+ $18 = $17 & $16;
+ if ($18) {
+ $$03644$i = $13;$$045$i = $12;
+ } else {
+ $$0$lcssa$i = $12;$$036$lcssa$i = $13;
+ break;
+ }
+ }
+ }
+ $19 = ($$036$lcssa$i>>>0)<(8);
+ if ($19) {
+ $$2$i = $$0$lcssa$i;$$238$i = $$036$lcssa$i;
+ } else {
+ $20 = (($$036$lcssa$i) + -8)|0;
+ $21 = $20 & -8;
+ $$1$i = $$0$lcssa$i;$$137$i = $$036$lcssa$i;
+ while(1) {
+ $22 = $$1$i;
+ $23 = $22;
+ HEAP32[$23>>2] = 0;
+ $24 = (($22) + 4)|0;
+ $25 = $24;
+ HEAP32[$25>>2] = 0;
+ $26 = (($$137$i) + -8)|0;
+ $27 = ((($$1$i)) + 8|0);
+ $28 = ($26>>>0)>(7);
+ if ($28) {
+ $$1$i = $27;$$137$i = $26;
+ } else {
+ break;
+ }
+ }
+ $29 = (($21) + 8)|0;
+ $30 = (($20) - ($21))|0;
+ $scevgep$i = (($$0$lcssa$i) + ($29)|0);
+ $$2$i = $scevgep$i;$$238$i = $30;
+ }
+ $31 = ($$238$i|0)==(0);
+ if (!($31)) {
+ $$33942$i = $$238$i;$$343$i = $$2$i;
+ while(1) {
+ HEAP8[$$343$i>>0] = 0;
+ $32 = ((($$343$i)) + 1|0);
+ $33 = (($$33942$i) + -1)|0;
+ $34 = ($33|0)==(0);
+ if ($34) {
+ break;
+ } else {
+ $$33942$i = $33;$$343$i = $32;
+ }
+ }
+ }
+ }
+ __gcry_free($4);
+ HEAP32[$3>>2] = $1;
+ HEAP32[$0>>2] = $2;
+ return;
+}
+function __gcry_mpi_resize($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $$024 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
+ var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $scevgep = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $2 = HEAP32[$0>>2]|0;
+ $3 = ($2>>>0)<($1>>>0);
+ if (!($3)) {
+ $4 = ((($0)) + 4|0);
+ $5 = HEAP32[$4>>2]|0;
+ $6 = ($5>>>0)<($2>>>0);
+ if (!($6)) {
+ return;
+ }
+ $7 = ((($0)) + 16|0);
+ $8 = HEAP32[$7>>2]|0;
+ $$024 = $5;
+ while(1) {
+ $9 = (($8) + ($$024<<2)|0);
+ HEAP32[$9>>2] = 0;
+ $10 = (($$024) + 1)|0;
+ $11 = HEAP32[$0>>2]|0;
+ $12 = ($10>>>0)<($11>>>0);
+ if ($12) {
+ $$024 = $10;
+ } else {
+ break;
+ }
+ }
+ return;
+ }
+ $13 = ((($0)) + 16|0);
+ $14 = HEAP32[$13>>2]|0;
+ $15 = ($14|0)==(0|0);
+ do {
+ if ($15) {
+ $22 = ((($0)) + 12|0);
+ $23 = HEAP32[$22>>2]|0;
+ $24 = $23 & 1;
+ $25 = ($24|0)==(0);
+ if ($25) {
+ $27 = (__gcry_xcalloc($1,4)|0);
+ HEAP32[$13>>2] = $27;
+ break;
+ } else {
+ $26 = (__gcry_xcalloc_secure($1,4)|0);
+ HEAP32[$13>>2] = $26;
+ break;
+ }
+ } else {
+ $16 = $1 << 2;
+ $17 = (__gcry_xrealloc($14,$16)|0);
+ HEAP32[$13>>2] = $17;
+ $18 = HEAP32[$0>>2]|0;
+ $19 = ($18>>>0)<($1>>>0);
+ if ($19) {
+ $scevgep = (($17) + ($18<<2)|0);
+ $20 = $18 << 2;
+ $21 = (($16) - ($20))|0;
+ _memset(($scevgep|0),0,($21|0))|0;
+ }
+ }
+ } while(0);
+ HEAP32[$0>>2] = $1;
+ return;
+}
+function __gcry_mpi_clear($0) {
+ $0 = $0|0;
+ var $$pre = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $vararg_buffer = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $vararg_buffer = sp;
+ $1 = ($0|0)==(0|0);
+ $$pre = ((($0)) + 12|0);
+ if (!($1)) {
+ $2 = HEAP32[$$pre>>2]|0;
+ $3 = $2 & 16;
+ $4 = ($3|0)==(0);
+ if (!($4)) {
+ __gcry_log_info(64098,$vararg_buffer);
+ STACKTOP = sp;return;
+ }
+ }
+ $5 = ((($0)) + 4|0);
+ HEAP32[$5>>2] = 0;
+ HEAP32[$$pre>>2] = 0;
+ STACKTOP = sp;return;
+}
+function __gcry_mpi_immutable_failed() {
+ var $vararg_buffer = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $vararg_buffer = sp;
+ __gcry_log_info(64098,$vararg_buffer);
+ STACKTOP = sp;return;
+}
+function __gcry_mpi_free($0) {
+ $0 = $0|0;
+ var $$0$lcssa$i = 0, $$036$lcssa$i = 0, $$03644$i = 0, $$045$i = 0, $$1$i = 0, $$137$i = 0, $$2$i = 0, $$238$i = 0, $$33942$i = 0, $$343$i = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0;
+ var $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0;
+ var $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $scevgep$i = 0, $vararg_buffer = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $vararg_buffer = sp;
+ $1 = ($0|0)==(0|0);
+ if ($1) {
+ STACKTOP = sp;return;
+ }
+ $2 = ((($0)) + 12|0);
+ $3 = HEAP32[$2>>2]|0;
+ $4 = $3 & 32;
+ $5 = ($4|0)==(0);
+ if (!($5)) {
+ STACKTOP = sp;return;
+ }
+ $6 = $3 & 4;
+ $7 = ($6|0)==(0);
+ $8 = ((($0)) + 16|0);
+ $9 = HEAP32[$8>>2]|0;
+ if ($7) {
+ $10 = ($9|0)==(0|0);
+ if (!($10)) {
+ $11 = HEAP32[$0>>2]|0;
+ $12 = $11 << 2;
+ $13 = ($12|0)==(0);
+ if (!($13)) {
+ $14 = $9;
+ $15 = $14 & 7;
+ $16 = ($15|0)==(0);
+ if ($16) {
+ $$0$lcssa$i = $9;$$036$lcssa$i = $12;
+ } else {
+ $$03644$i = $12;$$045$i = $9;
+ while(1) {
+ HEAP8[$$045$i>>0] = 0;
+ $17 = ((($$045$i)) + 1|0);
+ $18 = (($$03644$i) + -1)|0;
+ $19 = $17;
+ $20 = $19 & 7;
+ $21 = ($20|0)!=(0);
+ $22 = ($18|0)!=(0);
+ $23 = $22 & $21;
+ if ($23) {
+ $$03644$i = $18;$$045$i = $17;
+ } else {
+ $$0$lcssa$i = $17;$$036$lcssa$i = $18;
+ break;
+ }
+ }
+ }
+ $24 = ($$036$lcssa$i>>>0)<(8);
+ if ($24) {
+ $$2$i = $$0$lcssa$i;$$238$i = $$036$lcssa$i;
+ } else {
+ $25 = (($$036$lcssa$i) + -8)|0;
+ $26 = $25 & -8;
+ $$1$i = $$0$lcssa$i;$$137$i = $$036$lcssa$i;
+ while(1) {
+ $27 = $$1$i;
+ $28 = $27;
+ HEAP32[$28>>2] = 0;
+ $29 = (($27) + 4)|0;
+ $30 = $29;
+ HEAP32[$30>>2] = 0;
+ $31 = (($$137$i) + -8)|0;
+ $32 = ((($$1$i)) + 8|0);
+ $33 = ($31>>>0)>(7);
+ if ($33) {
+ $$1$i = $32;$$137$i = $31;
+ } else {
+ break;
+ }
+ }
+ $34 = (($26) + 8)|0;
+ $35 = (($25) - ($26))|0;
+ $scevgep$i = (($$0$lcssa$i) + ($34)|0);
+ $$2$i = $scevgep$i;$$238$i = $35;
+ }
+ $36 = ($$238$i|0)==(0);
+ if (!($36)) {
+ $$33942$i = $$238$i;$$343$i = $$2$i;
+ while(1) {
+ HEAP8[$$343$i>>0] = 0;
+ $37 = ((($$343$i)) + 1|0);
+ $38 = (($$33942$i) + -1)|0;
+ $39 = ($38|0)==(0);
+ if ($39) {
+ break;
+ } else {
+ $$33942$i = $38;$$343$i = $37;
+ }
+ }
+ }
+ }
+ __gcry_free($9);
+ }
+ } else {
+ __gcry_free($9);
+ }
+ $40 = HEAP32[$2>>2]|0;
+ $41 = $40 & -3864;
+ $42 = ($41|0)==(0);
+ if (!($42)) {
+ __gcry_log_bug(64142,$vararg_buffer);
+ // unreachable;
+ }
+ __gcry_free($0);
+ STACKTOP = sp;return;
+}
+function __gcry_mpi_set_opaque($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$0$lcssa$i = 0, $$01819 = 0, $$01820 = 0, $$01821 = 0, $$036$lcssa$i = 0, $$03644$i = 0, $$045$i = 0, $$1$i = 0, $$137$i = 0, $$2$i = 0, $$238$i = 0, $$33942$i = 0, $$343$i = 0, $$pre = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0;
+ var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0;
+ var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0;
+ var $53 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $scevgep$i = 0, $vararg_buffer = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $vararg_buffer = sp;
+ $3 = ($0|0)==(0|0);
+ if ($3) {
+ $4 = (__gcry_xmalloc(20)|0);
+ $5 = ($4|0)==(0|0);
+ ;HEAP32[$4>>2]=0|0;HEAP32[$4+4>>2]=0|0;HEAP32[$4+8>>2]=0|0;HEAP32[$4+12>>2]=0|0;HEAP32[$4+16>>2]=0|0;
+ if ($5) {
+ $$pre = HEAP32[(12)>>2]|0;
+ $$01820 = 0;$12 = $$pre;
+ } else {
+ $$01819 = $4;
+ label = 4;
+ }
+ } else {
+ $$01819 = $0;
+ label = 4;
+ }
+ if ((label|0) == 4) {
+ $6 = ((($$01819)) + 12|0);
+ $7 = HEAP32[$6>>2]|0;
+ $8 = $7 & 16;
+ $9 = ($8|0)==(0);
+ if ($9) {
+ $$01820 = $$01819;$12 = $7;
+ } else {
+ __gcry_log_info(64098,$vararg_buffer);
+ $$01821 = $$01819;
+ STACKTOP = sp;return ($$01821|0);
+ }
+ }
+ $10 = ((($$01820)) + 12|0);
+ $11 = $12 & 4;
+ $13 = ($11|0)==(0);
+ $14 = ((($$01820)) + 16|0);
+ $15 = HEAP32[$14>>2]|0;
+ if ($13) {
+ $16 = ($15|0)==(0|0);
+ if (!($16)) {
+ $17 = HEAP32[$$01820>>2]|0;
+ $18 = $17 << 2;
+ $19 = ($18|0)==(0);
+ if (!($19)) {
+ $20 = $15;
+ $21 = $20 & 7;
+ $22 = ($21|0)==(0);
+ if ($22) {
+ $$0$lcssa$i = $15;$$036$lcssa$i = $18;
+ } else {
+ $$03644$i = $18;$$045$i = $15;
+ while(1) {
+ HEAP8[$$045$i>>0] = 0;
+ $23 = ((($$045$i)) + 1|0);
+ $24 = (($$03644$i) + -1)|0;
+ $25 = $23;
+ $26 = $25 & 7;
+ $27 = ($26|0)!=(0);
+ $28 = ($24|0)!=(0);
+ $29 = $28 & $27;
+ if ($29) {
+ $$03644$i = $24;$$045$i = $23;
+ } else {
+ $$0$lcssa$i = $23;$$036$lcssa$i = $24;
+ break;
+ }
+ }
+ }
+ $30 = ($$036$lcssa$i>>>0)<(8);
+ if ($30) {
+ $$2$i = $$0$lcssa$i;$$238$i = $$036$lcssa$i;
+ } else {
+ $31 = (($$036$lcssa$i) + -8)|0;
+ $32 = $31 & -8;
+ $$1$i = $$0$lcssa$i;$$137$i = $$036$lcssa$i;
+ while(1) {
+ $33 = $$1$i;
+ $34 = $33;
+ HEAP32[$34>>2] = 0;
+ $35 = (($33) + 4)|0;
+ $36 = $35;
+ HEAP32[$36>>2] = 0;
+ $37 = (($$137$i) + -8)|0;
+ $38 = ((($$1$i)) + 8|0);
+ $39 = ($37>>>0)>(7);
+ if ($39) {
+ $$1$i = $38;$$137$i = $37;
+ } else {
+ break;
+ }
+ }
+ $40 = (($32) + 8)|0;
+ $41 = (($31) - ($32))|0;
+ $scevgep$i = (($$0$lcssa$i) + ($40)|0);
+ $$2$i = $scevgep$i;$$238$i = $41;
+ }
+ $42 = ($$238$i|0)==(0);
+ if (!($42)) {
+ $$33942$i = $$238$i;$$343$i = $$2$i;
+ while(1) {
+ HEAP8[$$343$i>>0] = 0;
+ $43 = ((($$343$i)) + 1|0);
+ $44 = (($$33942$i) + -1)|0;
+ $45 = ($44|0)==(0);
+ if ($45) {
+ break;
+ } else {
+ $$33942$i = $44;$$343$i = $43;
+ }
+ }
+ }
+ }
+ __gcry_free($15);
+ }
+ } else {
+ __gcry_free($15);
+ }
+ HEAP32[$14>>2] = $1;
+ HEAP32[$$01820>>2] = 0;
+ $46 = ((($$01820)) + 4|0);
+ HEAP32[$46>>2] = 0;
+ $47 = ((($$01820)) + 8|0);
+ HEAP32[$47>>2] = $2;
+ $48 = HEAP32[$10>>2]|0;
+ $49 = $48 & 3840;
+ $50 = $49 | 4;
+ HEAP32[$10>>2] = $50;
+ $51 = (__gcry_is_secure($1)|0);
+ $52 = ($51|0)==(0);
+ if ($52) {
+ $$01821 = $$01820;
+ STACKTOP = sp;return ($$01821|0);
+ }
+ $53 = $49 | 5;
+ HEAP32[$10>>2] = $53;
+ $$01821 = $$01820;
+ STACKTOP = sp;return ($$01821|0);
+}
+function __gcry_mpi_set_opaque_copy($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$0 = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $3 = (($2) + 7)|0;
+ $4 = $3 >>> 3;
+ $5 = (__gcry_is_secure($1)|0);
+ $6 = ($5|0)==(0);
+ if ($6) {
+ $8 = (__gcry_malloc($4)|0);
+ $10 = $8;
+ } else {
+ $7 = (__gcry_malloc_secure($4)|0);
+ $10 = $7;
+ }
+ $9 = ($10|0)==(0|0);
+ if ($9) {
+ $$0 = 0;
+ return ($$0|0);
+ }
+ _memcpy(($10|0),($1|0),($4|0))|0;
+ $11 = (__gcry_mpi_set_opaque($0,$10,$2)|0);
+ $$0 = $11;
+ return ($$0|0);
+}
+function __gcry_mpi_get_opaque($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $10 = 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)) abortStackOverflow(16|0);
+ $vararg_buffer = sp;
+ $2 = ((($0)) + 12|0);
+ $3 = HEAP32[$2>>2]|0;
+ $4 = $3 & 4;
+ $5 = ($4|0)==(0);
+ if ($5) {
+ __gcry_log_bug(64174,$vararg_buffer);
+ // unreachable;
+ }
+ $6 = ($1|0)==(0|0);
+ if (!($6)) {
+ $7 = ((($0)) + 8|0);
+ $8 = HEAP32[$7>>2]|0;
+ HEAP32[$1>>2] = $8;
+ }
+ $9 = ((($0)) + 16|0);
+ $10 = HEAP32[$9>>2]|0;
+ STACKTOP = sp;return ($10|0);
+}
+function __gcry_mpi_get_opaque_copy($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0;
+ var $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)) abortStackOverflow(16|0);
+ $vararg_buffer = sp;
+ $2 = ((($0)) + 12|0);
+ $3 = HEAP32[$2>>2]|0;
+ $4 = $3 & 4;
+ $5 = ($4|0)==(0);
+ if ($5) {
+ __gcry_log_bug(64174,$vararg_buffer);
+ // unreachable;
+ }
+ $6 = ($1|0)==(0|0);
+ if ($6) {
+ $7 = ((($0)) + 16|0);
+ $8 = HEAP32[$7>>2]|0;
+ $15 = 0;$17 = $8;
+ } else {
+ $9 = ((($0)) + 8|0);
+ $10 = HEAP32[$9>>2]|0;
+ HEAP32[$1>>2] = $10;
+ $11 = ((($0)) + 16|0);
+ $12 = HEAP32[$11>>2]|0;
+ $13 = ($12|0)==(0|0);
+ if ($13) {
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+ } else {
+ $15 = $10;$17 = $12;
+ }
+ }
+ $14 = (($15) + 7)|0;
+ $16 = $14 >>> 3;
+ $18 = (__gcry_is_secure($17)|0);
+ $19 = ($18|0)==(0);
+ if ($19) {
+ $21 = (__gcry_malloc($16)|0);
+ $23 = $21;
+ } else {
+ $20 = (__gcry_malloc_secure($16)|0);
+ $23 = $20;
+ }
+ $22 = ($23|0)==(0|0);
+ if ($22) {
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+ }
+ _memcpy(($23|0),($17|0),($16|0))|0;
+ $$0 = $23;
+ STACKTOP = sp;return ($$0|0);
+}
+function __gcry_mpi_copy($0) {
+ $0 = $0|0;
+ var $$035 = 0, $$038 = 0, $$op$i$i36 = 0, $$pre = 0, $$pre$phi39Z2D = 0, $$pre$phi41Z2D = 0, $$pre$phi43Z2D = 0, $$sink = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0;
+ var $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, $38 = 0;
+ var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0;
+ var $57 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = ($0|0)==(0|0);
+ if ($1) {
+ $$035 = 0;
+ return ($$035|0);
+ }
+ $2 = ((($0)) + 12|0);
+ $3 = HEAP32[$2>>2]|0;
+ $4 = $3 & 4;
+ $5 = ($4|0)==(0);
+ if (!($5)) {
+ $6 = ((($0)) + 16|0);
+ $7 = HEAP32[$6>>2]|0;
+ $8 = (__gcry_is_secure($7)|0);
+ $9 = ($8|0)==(0);
+ $10 = ((($0)) + 8|0);
+ $11 = HEAP32[$10>>2]|0;
+ $12 = (($11) + 7)|0;
+ $13 = (($12|0) / 8)&-1;
+ if ($9) {
+ $15 = (__gcry_xmalloc($13)|0);
+ $21 = $15;
+ } else {
+ $14 = (__gcry_xmalloc_secure($13)|0);
+ $21 = $14;
+ }
+ $16 = HEAP32[$6>>2]|0;
+ $17 = ($16|0)==(0|0);
+ if ($17) {
+ $$pre = HEAP32[$10>>2]|0;
+ $22 = $$pre;
+ } else {
+ $18 = HEAP32[$10>>2]|0;
+ $19 = (($18) + 7)|0;
+ $20 = (($19|0) / 8)&-1;
+ _memcpy(($21|0),($16|0),($20|0))|0;
+ $22 = $18;
+ }
+ $23 = (__gcry_mpi_set_opaque(0,$21,$22)|0);
+ $24 = ((($23)) + 12|0);
+ $25 = HEAP32[$24>>2]|0;
+ $26 = $25 & -49;
+ HEAP32[$24>>2] = $26;
+ $$035 = $23;
+ return ($$035|0);
+ }
+ $27 = $3 & 1;
+ $28 = ($27|0)==(0);
+ $29 = ((($0)) + 4|0);
+ $30 = HEAP32[$29>>2]|0;
+ $31 = (__gcry_xmalloc(20)|0);
+ $32 = ($30|0)==(0);
+ $$op$i$i36 = $30 << 2;
+ if ($28) {
+ if ($32) {
+ $41 = 0;
+ } else {
+ $39 = (__gcry_xmalloc($$op$i$i36)|0);
+ $41 = $39;
+ }
+ $40 = ((($31)) + 16|0);
+ HEAP32[$40>>2] = $41;
+ HEAP32[$31>>2] = $30;
+ $42 = ((($31)) + 4|0);
+ HEAP32[$42>>2] = 0;
+ $43 = ((($31)) + 8|0);
+ HEAP32[$43>>2] = 0;
+ $44 = ((($31)) + 12|0);
+ $$pre$phi39Z2D = $42;$$pre$phi41Z2D = $43;$$pre$phi43Z2D = $44;$$sink = $44;$56 = $41;
+ } else {
+ if ($32) {
+ $35 = 0;
+ } else {
+ $33 = (__gcry_xmalloc_secure($$op$i$i36)|0);
+ $35 = $33;
+ }
+ $34 = ((($31)) + 16|0);
+ HEAP32[$34>>2] = $35;
+ HEAP32[$31>>2] = $30;
+ $36 = ((($31)) + 12|0);
+ HEAP32[$36>>2] = 1;
+ $37 = ((($31)) + 4|0);
+ HEAP32[$37>>2] = 0;
+ $38 = ((($31)) + 8|0);
+ $$pre$phi39Z2D = $37;$$pre$phi41Z2D = $38;$$pre$phi43Z2D = $36;$$sink = $38;$56 = $35;
+ }
+ HEAP32[$$sink>>2] = 0;
+ $45 = HEAP32[$29>>2]|0;
+ HEAP32[$$pre$phi39Z2D>>2] = $45;
+ $46 = ((($0)) + 8|0);
+ $47 = HEAP32[$46>>2]|0;
+ HEAP32[$$pre$phi41Z2D>>2] = $47;
+ $48 = HEAP32[$2>>2]|0;
+ $49 = $48 & -49;
+ HEAP32[$$pre$phi43Z2D>>2] = $49;
+ $50 = ($45|0)>(0);
+ if (!($50)) {
+ $$035 = $31;
+ return ($$035|0);
+ }
+ $51 = ((($0)) + 16|0);
+ $52 = HEAP32[$51>>2]|0;
+ $$038 = 0;
+ while(1) {
+ $53 = (($52) + ($$038<<2)|0);
+ $54 = HEAP32[$53>>2]|0;
+ $55 = (($56) + ($$038<<2)|0);
+ HEAP32[$55>>2] = $54;
+ $57 = (($$038) + 1)|0;
+ $exitcond = ($57|0)==($45|0);
+ if ($exitcond) {
+ $$035 = $31;
+ break;
+ } else {
+ $$038 = $57;
+ }
+ }
+ return ($$035|0);
+}
+function __gcry_mpi_neg($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $10 = 0, $11 = 0, $12 = 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)) abortStackOverflow(16|0);
+ $vararg_buffer = sp;
+ $2 = ($0|0)==($1|0);
+ if ($2) {
+ $3 = ($0|0)==(0|0);
+ if (!($3)) {
+ $4 = ((($0)) + 12|0);
+ $5 = HEAP32[$4>>2]|0;
+ $6 = $5 & 16;
+ $7 = ($6|0)==(0);
+ if (!($7)) {
+ __gcry_log_info(64098,$vararg_buffer);
+ STACKTOP = sp;return;
+ }
+ }
+ } else {
+ (__gcry_mpi_set($0,$1)|0);
+ }
+ $8 = ((($1)) + 8|0);
+ $9 = HEAP32[$8>>2]|0;
+ $10 = ($9|0)==(0);
+ $11 = $10&1;
+ $12 = ((($0)) + 8|0);
+ HEAP32[$12>>2] = $11;
+ STACKTOP = sp;return;
+}
+function __gcry_mpi_set($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $$024$i = 0, $$038 = 0, $$039 = 0, $$op$i$i = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0;
+ 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, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
+ var $exitcond = 0, $scevgep$i = 0, $vararg_buffer = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $vararg_buffer = sp;
+ $2 = ((($1)) + 4|0);
+ $3 = HEAP32[$2>>2]|0;
+ $4 = ((($1)) + 8|0);
+ $5 = HEAP32[$4>>2]|0;
+ $6 = ($0|0)==(0|0);
+ if ($6) {
+ $7 = (__gcry_xmalloc(20)|0);
+ $8 = ($3|0)==(0);
+ if ($8) {
+ $11 = 0;
+ } else {
+ $$op$i$i = $3 << 2;
+ $9 = (__gcry_xmalloc($$op$i$i)|0);
+ $11 = $9;
+ }
+ $10 = ((($7)) + 16|0);
+ HEAP32[$10>>2] = $11;
+ HEAP32[$7>>2] = $3;
+ $12 = ((($7)) + 4|0);
+ HEAP32[$12>>2] = 0;
+ $13 = ((($7)) + 8|0);
+ HEAP32[$13>>2] = 0;
+ $14 = ((($7)) + 12|0);
+ HEAP32[$14>>2] = 0;
+ $$038 = $7;
+ } else {
+ $$038 = $0;
+ }
+ $15 = ((($$038)) + 12|0);
+ $16 = HEAP32[$15>>2]|0;
+ $17 = $16 & 16;
+ $18 = ($17|0)==(0);
+ if (!($18)) {
+ __gcry_log_info(64098,$vararg_buffer);
+ STACKTOP = sp;return ($$038|0);
+ }
+ $19 = HEAP32[$$038>>2]|0;
+ $20 = ($19|0)<($3|0);
+ L11: do {
+ if ($20) {
+ $21 = ($19>>>0)<($3>>>0);
+ if (!($21)) {
+ $22 = ((($$038)) + 4|0);
+ $23 = HEAP32[$22>>2]|0;
+ $24 = ($23>>>0)<($19>>>0);
+ if (!($24)) {
+ break;
+ }
+ $25 = ((($$038)) + 16|0);
+ $26 = HEAP32[$25>>2]|0;
+ $$024$i = $23;
+ while(1) {
+ $27 = (($26) + ($$024$i<<2)|0);
+ HEAP32[$27>>2] = 0;
+ $28 = (($$024$i) + 1)|0;
+ $29 = HEAP32[$$038>>2]|0;
+ $30 = ($28>>>0)<($29>>>0);
+ if ($30) {
+ $$024$i = $28;
+ } else {
+ break L11;
+ }
+ }
+ }
+ $31 = ((($$038)) + 16|0);
+ $32 = HEAP32[$31>>2]|0;
+ $33 = ($32|0)==(0|0);
+ do {
+ if ($33) {
+ $40 = $16 & 1;
+ $41 = ($40|0)==(0);
+ if ($41) {
+ $43 = (__gcry_xcalloc($3,4)|0);
+ HEAP32[$31>>2] = $43;
+ break;
+ } else {
+ $42 = (__gcry_xcalloc_secure($3,4)|0);
+ HEAP32[$31>>2] = $42;
+ break;
+ }
+ } else {
+ $34 = $3 << 2;
+ $35 = (__gcry_xrealloc($32,$34)|0);
+ HEAP32[$31>>2] = $35;
+ $36 = HEAP32[$$038>>2]|0;
+ $37 = ($36>>>0)<($3>>>0);
+ if ($37) {
+ $38 = $36 << 2;
+ $39 = (($34) - ($38))|0;
+ $scevgep$i = (($35) + ($36<<2)|0);
+ _memset(($scevgep$i|0),0,($39|0))|0;
+ }
+ }
+ } while(0);
+ HEAP32[$$038>>2] = $3;
+ }
+ } while(0);
+ $44 = ((($$038)) + 16|0);
+ $45 = HEAP32[$44>>2]|0;
+ $46 = ((($1)) + 16|0);
+ $47 = HEAP32[$46>>2]|0;
+ $48 = ($3|0)>(0);
+ if ($48) {
+ $$039 = 0;
+ while(1) {
+ $49 = (($47) + ($$039<<2)|0);
+ $50 = HEAP32[$49>>2]|0;
+ $51 = (($45) + ($$039<<2)|0);
+ HEAP32[$51>>2] = $50;
+ $52 = (($$039) + 1)|0;
+ $exitcond = ($52|0)==($3|0);
+ if ($exitcond) {
+ break;
+ } else {
+ $$039 = $52;
+ }
+ }
+ }
+ $53 = ((($$038)) + 4|0);
+ HEAP32[$53>>2] = $3;
+ $54 = ((($1)) + 12|0);
+ $55 = HEAP32[$54>>2]|0;
+ $56 = $55 & -49;
+ HEAP32[$15>>2] = $56;
+ $57 = ((($$038)) + 8|0);
+ HEAP32[$57>>2] = $5;
+ STACKTOP = sp;return ($$038|0);
+}
+function __gcry_mpi_alloc_like($0) {
+ $0 = $0|0;
+ var $$0 = 0, $$op$i$i24 = 0, $$pre$phi26Z2D = 0, $$pre$phi28Z2D = 0, $$pre$phi30Z2D = 0, $$sink = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0;
+ var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0;
+ var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = ($0|0)==(0|0);
+ if ($1) {
+ $$0 = 0;
+ return ($$0|0);
+ }
+ $2 = ((($0)) + 12|0);
+ $3 = HEAP32[$2>>2]|0;
+ $4 = $3 & 4;
+ $5 = ($4|0)==(0);
+ if (!($5)) {
+ $6 = ((($0)) + 8|0);
+ $7 = HEAP32[$6>>2]|0;
+ $8 = (($7) + 7)|0;
+ $9 = (($8|0) / 8)&-1;
+ $10 = ((($0)) + 16|0);
+ $11 = HEAP32[$10>>2]|0;
+ $12 = (__gcry_is_secure($11)|0);
+ $13 = ($12|0)==(0);
+ if ($13) {
+ $15 = (__gcry_malloc($9)|0);
+ $17 = $15;
+ } else {
+ $14 = (__gcry_malloc_secure($9)|0);
+ $17 = $14;
+ }
+ $16 = HEAP32[$10>>2]|0;
+ _memcpy(($17|0),($16|0),($9|0))|0;
+ $18 = HEAP32[$6>>2]|0;
+ $19 = (__gcry_mpi_set_opaque(0,$17,$18)|0);
+ $$0 = $19;
+ return ($$0|0);
+ }
+ $20 = $3 & 1;
+ $21 = ($20|0)==(0);
+ $22 = ((($0)) + 4|0);
+ $23 = HEAP32[$22>>2]|0;
+ $24 = (__gcry_xmalloc(20)|0);
+ $25 = ($23|0)==(0);
+ $$op$i$i24 = $23 << 2;
+ if ($21) {
+ if ($25) {
+ $34 = 0;
+ } else {
+ $32 = (__gcry_xmalloc($$op$i$i24)|0);
+ $34 = $32;
+ }
+ $33 = ((($24)) + 16|0);
+ HEAP32[$33>>2] = $34;
+ HEAP32[$24>>2] = $23;
+ $35 = ((($24)) + 4|0);
+ HEAP32[$35>>2] = 0;
+ $36 = ((($24)) + 8|0);
+ HEAP32[$36>>2] = 0;
+ $37 = ((($24)) + 12|0);
+ $$pre$phi26Z2D = $35;$$pre$phi28Z2D = $36;$$pre$phi30Z2D = $37;$$sink = $37;
+ } else {
+ if ($25) {
+ $28 = 0;
+ } else {
+ $26 = (__gcry_xmalloc_secure($$op$i$i24)|0);
+ $28 = $26;
+ }
+ $27 = ((($24)) + 16|0);
+ HEAP32[$27>>2] = $28;
+ HEAP32[$24>>2] = $23;
+ $29 = ((($24)) + 12|0);
+ HEAP32[$29>>2] = 1;
+ $30 = ((($24)) + 4|0);
+ HEAP32[$30>>2] = 0;
+ $31 = ((($24)) + 8|0);
+ $$pre$phi26Z2D = $30;$$pre$phi28Z2D = $31;$$pre$phi30Z2D = $29;$$sink = $31;
+ }
+ HEAP32[$$sink>>2] = 0;
+ HEAP32[$$pre$phi26Z2D>>2] = 0;
+ HEAP32[$$pre$phi28Z2D>>2] = 0;
+ $38 = HEAP32[$2>>2]|0;
+ HEAP32[$$pre$phi30Z2D>>2] = $38;
+ $$0 = $24;
+ return ($$0|0);
+}
+function __gcry_mpi_snatch($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $$0$lcssa$i$i = 0, $$036$lcssa$i$i = 0, $$03644$i$i = 0, $$045$i$i = 0, $$1$i$i = 0, $$137$i$i = 0, $$2$i$i = 0, $$238$i$i = 0, $$33942$i$i = 0, $$343$i$i = 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, $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $scevgep$i$i = 0, $vararg_buffer = 0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $vararg_buffer = sp;
+ $2 = ($0|0)==(0|0);
+ if (!($2)) {
+ $3 = ((($0)) + 12|0);
+ $4 = HEAP32[$3>>2]|0;
+ $5 = $4 & 16;
+ $6 = ($5|0)==(0);
+ if (!($6)) {
+ __gcry_log_info(64098,$vararg_buffer);
+ STACKTOP = sp;return;
+ }
+ $7 = ((($1)) + 16|0);
+ $8 = HEAP32[$7>>2]|0;
+ $9 = HEAP32[$1>>2]|0;
+ $10 = ((($0)) + 16|0);
+ $11 = HEAP32[$10>>2]|0;
+ $12 = ($11|0)==(0|0);
+ if (!($12)) {
+ $13 = HEAP32[$0>>2]|0;
+ $14 = $13 << 2;
+ $15 = ($14|0)==(0);
+ if (!($15)) {
+ $16 = $11;
+ $17 = $16 & 7;
+ $18 = ($17|0)==(0);
+ if ($18) {
+ $$0$lcssa$i$i = $11;$$036$lcssa$i$i = $14;
+ } else {
+ $$03644$i$i = $14;$$045$i$i = $11;
+ while(1) {
+ HEAP8[$$045$i$i>>0] = 0;
+ $19 = ((($$045$i$i)) + 1|0);
+ $20 = (($$03644$i$i) + -1)|0;
+ $21 = $19;
+ $22 = $21 & 7;
+ $23 = ($22|0)!=(0);
+ $24 = ($20|0)!=(0);
+ $25 = $24 & $23;
+ if ($25) {
+ $$03644$i$i = $20;$$045$i$i = $19;
+ } else {
+ $$0$lcssa$i$i = $19;$$036$lcssa$i$i = $20;
+ break;
+ }
+ }
+ }
+ $26 = ($$036$lcssa$i$i>>>0)<(8);
+ if ($26) {
+ $$2$i$i = $$0$lcssa$i$i;$$238$i$i = $$036$lcssa$i$i;
+ } else {
+ $27 = (($$036$lcssa$i$i) + -8)|0;
+ $$1$i$i = $$0$lcssa$i$i;$$137$i$i = $$036$lcssa$i$i;
+ while(1) {
+ $28 = $$1$i$i;
+ $29 = $28;
+ HEAP32[$29>>2] = 0;
+ $30 = (($28) + 4)|0;
+ $31 = $30;
+ HEAP32[$31>>2] = 0;
+ $32 = (($$137$i$i) + -8)|0;
+ $33 = ((($$1$i$i)) + 8|0);
+ $34 = ($32>>>0)>(7);
+ if ($34) {
+ $$1$i$i = $33;$$137$i$i = $32;
+ } else {
+ break;
+ }
+ }
+ $35 = $27 & -8;
+ $36 = (($35) + 8)|0;
+ $37 = (($27) - ($35))|0;
+ $scevgep$i$i = (($$0$lcssa$i$i) + ($36)|0);
+ $$2$i$i = $scevgep$i$i;$$238$i$i = $37;
+ }
+ $38 = ($$238$i$i|0)==(0);
+ if (!($38)) {
+ $$33942$i$i = $$238$i$i;$$343$i$i = $$2$i$i;
+ while(1) {
+ HEAP8[$$343$i$i>>0] = 0;
+ $39 = ((($$343$i$i)) + 1|0);
+ $40 = (($$33942$i$i) + -1)|0;
+ $41 = ($40|0)==(0);
+ if ($41) {
+ break;
+ } else {
+ $$33942$i$i = $40;$$343$i$i = $39;
+ }
+ }
+ }
+ }
+ __gcry_free($11);
+ }
+ HEAP32[$10>>2] = $8;
+ HEAP32[$0>>2] = $9;
+ $42 = ((($1)) + 4|0);
+ $43 = HEAP32[$42>>2]|0;
+ $44 = ((($0)) + 4|0);
+ HEAP32[$44>>2] = $43;
+ $45 = ((($1)) + 8|0);
+ $46 = HEAP32[$45>>2]|0;
+ $47 = ((($0)) + 8|0);
+ HEAP32[$47>>2] = $46;
+ $48 = ((($1)) + 12|0);
+ $49 = HEAP32[$48>>2]|0;
+ HEAP32[$3>>2] = $49;
+ HEAP32[$1>>2] = 0;
+ HEAP32[$42>>2] = 0;
+ HEAP32[$7>>2] = 0;
+ }
+ __gcry_mpi_free($1);
+ STACKTOP = sp;return;
+}
+function __gcry_mpi_set_cond($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$034 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
+ var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $vararg_buffer = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $vararg_buffer = sp;
+ $3 = HEAP32[$1>>2]|0;
+ $4 = ($2|0)!=(0);
+ $5 = $4 << 31 >> 31;
+ $6 = HEAP32[$0>>2]|0;
+ $7 = ($6|0)==($3|0);
+ if (!($7)) {
+ __gcry_log_bug(64204,$vararg_buffer);
+ // unreachable;
+ }
+ $8 = ($3|0)>(0);
+ if ($8) {
+ $9 = ((($0)) + 16|0);
+ $10 = HEAP32[$9>>2]|0;
+ $11 = ((($1)) + 16|0);
+ $12 = HEAP32[$11>>2]|0;
+ $$034 = 0;
+ while(1) {
+ $13 = (($10) + ($$034<<2)|0);
+ $14 = HEAP32[$13>>2]|0;
+ $15 = (($12) + ($$034<<2)|0);
+ $16 = HEAP32[$15>>2]|0;
+ $17 = $16 ^ $14;
+ $18 = $17 & $5;
+ $19 = $18 ^ $14;
+ HEAP32[$13>>2] = $19;
+ $20 = (($$034) + 1)|0;
+ $exitcond = ($20|0)==($3|0);
+ if ($exitcond) {
+ break;
+ } else {
+ $$034 = $20;
+ }
+ }
+ }
+ $21 = ((($0)) + 4|0);
+ $22 = HEAP32[$21>>2]|0;
+ $23 = ((($1)) + 4|0);
+ $24 = HEAP32[$23>>2]|0;
+ $25 = $24 ^ $22;
+ $26 = $25 & $5;
+ $27 = $26 ^ $22;
+ HEAP32[$21>>2] = $27;
+ $28 = ((($0)) + 8|0);
+ $29 = HEAP32[$28>>2]|0;
+ $30 = ((($1)) + 8|0);
+ $31 = HEAP32[$30>>2]|0;
+ $32 = $31 ^ $29;
+ $33 = $32 & $5;
+ $34 = $33 ^ $29;
+ HEAP32[$28>>2] = $34;
+ STACKTOP = sp;return ($0|0);
+}
+function __gcry_mpi_set_ui($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $$01314 = 0, $$01315 = 0, $$01316 = 0, $$024$i = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0;
+ 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, $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)) abortStackOverflow(16|0);
+ $vararg_buffer = sp;
+ $2 = ($0|0)==(0|0);
+ if ($2) {
+ $3 = (__gcry_xmalloc(20)|0);
+ $4 = (__gcry_xmalloc(4)|0);
+ $5 = ((($3)) + 16|0);
+ HEAP32[$5>>2] = $4;
+ HEAP32[$3>>2] = 1;
+ $6 = ((($3)) + 4|0);
+ HEAP32[$6>>2] = 0;
+ $7 = ((($3)) + 8|0);
+ HEAP32[$7>>2] = 0;
+ $8 = ((($3)) + 12|0);
+ HEAP32[$8>>2] = 0;
+ $9 = ($3|0)==(0|0);
+ if ($9) {
+ $$01315 = 0;
+ } else {
+ $$01314 = $3;
+ label = 3;
+ }
+ } else {
+ $$01314 = $0;
+ label = 3;
+ }
+ if ((label|0) == 3) {
+ $10 = ((($$01314)) + 12|0);
+ $11 = HEAP32[$10>>2]|0;
+ $12 = $11 & 16;
+ $13 = ($12|0)==(0);
+ if ($13) {
+ $$01315 = $$01314;
+ } else {
+ __gcry_log_info(64098,$vararg_buffer);
+ $$01316 = $$01314;
+ STACKTOP = sp;return ($$01316|0);
+ }
+ }
+ $14 = HEAP32[$$01315>>2]|0;
+ $15 = ($14|0)<(1);
+ L8: do {
+ if ($15) {
+ $16 = ($14|0)==(0);
+ if (!($16)) {
+ $17 = ((($$01315)) + 4|0);
+ $18 = HEAP32[$17>>2]|0;
+ $19 = ($18>>>0)<($14>>>0);
+ if (!($19)) {
+ break;
+ }
+ $20 = ((($$01315)) + 16|0);
+ $21 = HEAP32[$20>>2]|0;
+ $$024$i = $18;
+ while(1) {
+ $22 = (($21) + ($$024$i<<2)|0);
+ HEAP32[$22>>2] = 0;
+ $23 = (($$024$i) + 1)|0;
+ $24 = HEAP32[$$01315>>2]|0;
+ $25 = ($23>>>0)<($24>>>0);
+ if ($25) {
+ $$024$i = $23;
+ } else {
+ break L8;
+ }
+ }
+ }
+ $26 = ((($$01315)) + 16|0);
+ $27 = HEAP32[$26>>2]|0;
+ $28 = ($27|0)==(0|0);
+ do {
+ if ($28) {
+ $32 = ((($$01315)) + 12|0);
+ $33 = HEAP32[$32>>2]|0;
+ $34 = $33 & 1;
+ $35 = ($34|0)==(0);
+ if ($35) {
+ $37 = (__gcry_xcalloc(1,4)|0);
+ HEAP32[$26>>2] = $37;
+ break;
+ } else {
+ $36 = (__gcry_xcalloc_secure(1,4)|0);
+ HEAP32[$26>>2] = $36;
+ break;
+ }
+ } else {
+ $29 = (__gcry_xrealloc($27,4)|0);
+ HEAP32[$26>>2] = $29;
+ $30 = HEAP32[$$01315>>2]|0;
+ $31 = ($30|0)==(0);
+ if ($31) {
+ HEAP32[$29>>2] = 0;
+ }
+ }
+ } while(0);
+ HEAP32[$$01315>>2] = 1;
+ }
+ } while(0);
+ $38 = ((($$01315)) + 16|0);
+ $39 = HEAP32[$38>>2]|0;
+ HEAP32[$39>>2] = $1;
+ $40 = ($1|0)!=(0);
+ $41 = $40&1;
+ $42 = ((($$01315)) + 4|0);
+ HEAP32[$42>>2] = $41;
+ $43 = ((($$01315)) + 8|0);
+ HEAP32[$43>>2] = 0;
+ $44 = ((($$01315)) + 12|0);
+ HEAP32[$44>>2] = 0;
+ $$01316 = $$01315;
+ STACKTOP = sp;return ($$01316|0);
+}
+function __gcry_mpi_swap($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
+ $2 = sp;
+ ;HEAP32[$2>>2]=HEAP32[$0>>2]|0;HEAP32[$2+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$0+16>>2]|0;
+ ;HEAP32[$0>>2]=HEAP32[$1>>2]|0;HEAP32[$0+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$1+16>>2]|0;
+ ;HEAP32[$1>>2]=HEAP32[$2>>2]|0;HEAP32[$1+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$1+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$1+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$1+16>>2]=HEAP32[$2+16>>2]|0;
+ STACKTOP = sp;return;
+}
+function __gcry_mpi_swap_cond($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$044 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
+ var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0;
+ var $vararg_buffer = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $vararg_buffer = sp;
+ $3 = HEAP32[$0>>2]|0;
+ $4 = ($2|0)!=(0);
+ $5 = $4 << 31 >> 31;
+ $6 = HEAP32[$1>>2]|0;
+ $7 = ($3|0)==($6|0);
+ if (!($7)) {
+ __gcry_log_bug(64235,$vararg_buffer);
+ // unreachable;
+ }
+ $8 = ($3|0)>(0);
+ if ($8) {
+ $9 = ((($0)) + 16|0);
+ $10 = HEAP32[$9>>2]|0;
+ $11 = ((($1)) + 16|0);
+ $12 = HEAP32[$11>>2]|0;
+ $$044 = 0;
+ while(1) {
+ $13 = (($10) + ($$044<<2)|0);
+ $14 = HEAP32[$13>>2]|0;
+ $15 = (($12) + ($$044<<2)|0);
+ $16 = HEAP32[$15>>2]|0;
+ $17 = $16 ^ $14;
+ $18 = $17 & $5;
+ $19 = $18 ^ $14;
+ HEAP32[$13>>2] = $19;
+ $20 = HEAP32[$15>>2]|0;
+ $21 = $20 ^ $18;
+ HEAP32[$15>>2] = $21;
+ $22 = (($$044) + 1)|0;
+ $exitcond = ($22|0)==($3|0);
+ if ($exitcond) {
+ break;
+ } else {
+ $$044 = $22;
+ }
+ }
+ }
+ $23 = ((($0)) + 4|0);
+ $24 = HEAP32[$23>>2]|0;
+ $25 = ((($1)) + 4|0);
+ $26 = HEAP32[$25>>2]|0;
+ $27 = $26 ^ $24;
+ $28 = $27 & $5;
+ $29 = $28 ^ $24;
+ HEAP32[$23>>2] = $29;
+ $30 = HEAP32[$25>>2]|0;
+ $31 = $30 ^ $28;
+ HEAP32[$25>>2] = $31;
+ $32 = ((($0)) + 8|0);
+ $33 = HEAP32[$32>>2]|0;
+ $34 = ((($1)) + 8|0);
+ $35 = HEAP32[$34>>2]|0;
+ $36 = $35 ^ $33;
+ $37 = $36 & $5;
+ $38 = $37 ^ $33;
+ HEAP32[$32>>2] = $38;
+ $39 = HEAP32[$34>>2]|0;
+ $40 = $39 ^ $37;
+ HEAP32[$34>>2] = $40;
+ STACKTOP = sp;return;
+}
+function __gcry_mpi_new($0) {
+ $0 = $0|0;
+ var $$op$i$i = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = (($0) + 31)|0;
+ $2 = $1 >>> 5;
+ $3 = (__gcry_xmalloc(20)|0);
+ $4 = ($2|0)==(0);
+ if ($4) {
+ $7 = 0;
+ } else {
+ $$op$i$i = $2 << 2;
+ $5 = (__gcry_xmalloc($$op$i$i)|0);
+ $7 = $5;
+ }
+ $6 = ((($3)) + 16|0);
+ HEAP32[$6>>2] = $7;
+ HEAP32[$3>>2] = $2;
+ $8 = ((($3)) + 4|0);
+ HEAP32[$8>>2] = 0;
+ $9 = ((($3)) + 8|0);
+ HEAP32[$9>>2] = 0;
+ $10 = ((($3)) + 12|0);
+ HEAP32[$10>>2] = 0;
+ return ($3|0);
+}
+function __gcry_mpi_snew($0) {
+ $0 = $0|0;
+ var $$op$i$i = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = (($0) + 31)|0;
+ $2 = $1 >>> 5;
+ $3 = (__gcry_xmalloc(20)|0);
+ $4 = ($2|0)==(0);
+ if ($4) {
+ $7 = 0;
+ } else {
+ $$op$i$i = $2 << 2;
+ $5 = (__gcry_xmalloc_secure($$op$i$i)|0);
+ $7 = $5;
+ }
+ $6 = ((($3)) + 16|0);
+ HEAP32[$6>>2] = $7;
+ HEAP32[$3>>2] = $2;
+ $8 = ((($3)) + 12|0);
+ HEAP32[$8>>2] = 1;
+ $9 = ((($3)) + 4|0);
+ HEAP32[$9>>2] = 0;
+ $10 = ((($3)) + 8|0);
+ HEAP32[$10>>2] = 0;
+ return ($3|0);
+}
+function __gcry_mpi_release($0) {
+ $0 = $0|0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ __gcry_mpi_free($0);
+ return;
+}
+function __gcry_mpi_randomize($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0;
+ var $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $vararg_buffer = sp;
+ $3 = (($1) + 7)|0;
+ $4 = $3 >>> 3;
+ $5 = ($0|0)!=(0|0);
+ if ($5) {
+ $6 = ((($0)) + 12|0);
+ $7 = HEAP32[$6>>2]|0;
+ $8 = $7 & 16;
+ $9 = ($8|0)==(0);
+ if (!($9)) {
+ __gcry_log_info(64098,$vararg_buffer);
+ STACKTOP = sp;return;
+ }
+ }
+ $10 = ($2|0)==(0);
+ do {
+ if ($10) {
+ if ($5) {
+ $11 = ((($0)) + 12|0);
+ $12 = HEAP32[$11>>2]|0;
+ $13 = $12 & 1;
+ $14 = ($13|0)==(0);
+ if ($14) {
+ label = 8;
+ } else {
+ $15 = (__gcry_xmalloc_secure($4)|0);
+ $17 = $15;
+ }
+ } else {
+ label = 8;
+ }
+ if ((label|0) == 8) {
+ $16 = (__gcry_xmalloc($4)|0);
+ $17 = $16;
+ }
+ __gcry_create_nonce($17,$4);
+ $$0 = $17;
+ } else {
+ if ($5) {
+ $18 = ((($0)) + 12|0);
+ $19 = HEAP32[$18>>2]|0;
+ $20 = $19 & 1;
+ $21 = ($20|0)==(0);
+ if (!($21)) {
+ $22 = (__gcry_random_bytes_secure($4,$2)|0);
+ $$0 = $22;
+ break;
+ }
+ }
+ $23 = (__gcry_random_bytes($4,$2)|0);
+ $$0 = $23;
+ }
+ } while(0);
+ __gcry_mpi_set_buffer($0,$$0,$4,0);
+ __gcry_free($$0);
+ STACKTOP = sp;return;
+}
+function __gcry_mpi_get_flag($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $$0 = 0, $$0$in = 0, $$sink7 = 0, $2 = 0, $3 = 0, $4 = 0, $vararg_buffer = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $vararg_buffer = sp;
+ switch ($1|0) {
+ case 2048: case 1024: case 512: case 256: case 1: {
+ $$sink7 = $1;
+ break;
+ }
+ case 2: {
+ $$sink7 = 4;
+ break;
+ }
+ case 4: {
+ $$sink7 = 16;
+ break;
+ }
+ case 8: {
+ $$sink7 = 32;
+ break;
+ }
+ default: {
+ __gcry_log_bug(64267,$vararg_buffer);
+ // unreachable;
+ }
+ }
+ $2 = ((($0)) + 12|0);
+ $3 = HEAP32[$2>>2]|0;
+ $4 = $3 & $$sink7;
+ $$0$in = ($4|0)!=(0);
+ $$0 = $$0$in&1;
+ STACKTOP = sp;return ($$0|0);
+}
+function __gcry_mpi_const($0) {
+ $0 = $0|0;
+ var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $vararg_buffer1 = sp + 8|0;
+ $vararg_buffer = sp;
+ $1 = ($0>>>0)>(6);
+ if ($1) {
+ HEAP32[$vararg_buffer>>2] = $0;
+ __gcry_log_bug(64287,$vararg_buffer);
+ // unreachable;
+ }
+ $2 = (71152 + ($0<<2)|0);
+ $3 = HEAP32[$2>>2]|0;
+ $4 = ($3|0)==(0|0);
+ if ($4) {
+ __gcry_log_bug(64318,$vararg_buffer1);
+ // unreachable;
+ } else {
+ STACKTOP = sp;return ($3|0);
+ }
+ return (0)|0;
+}
+function __gcry_compat_identification() {
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ return (15200|0);
+}
+function __gcry_hmac256_new($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $$05765 = 0, $$3 = 0, $10 = 0, $100 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
+ var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0;
+ var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0;
+ var $62 = 0, $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;
+ 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, $exitcond = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
+ $2 = sp;
+ $3 = (_malloc(172)|0);
+ $4 = ($3|0)==(0|0);
+ if ($4) {
+ $$3 = 0;
+ STACKTOP = sp;return ($$3|0);
+ }
+ HEAP32[$3>>2] = 1779033703;
+ $5 = ((($3)) + 4|0);
+ HEAP32[$5>>2] = -1150833019;
+ $6 = ((($3)) + 8|0);
+ HEAP32[$6>>2] = 1013904242;
+ $7 = ((($3)) + 12|0);
+ HEAP32[$7>>2] = -1521486534;
+ $8 = ((($3)) + 16|0);
+ HEAP32[$8>>2] = 1359893119;
+ $9 = ((($3)) + 20|0);
+ HEAP32[$9>>2] = -1694144372;
+ $10 = ((($3)) + 24|0);
+ HEAP32[$10>>2] = 528734635;
+ $11 = ((($3)) + 28|0);
+ HEAP32[$11>>2] = 1541459225;
+ $12 = ((($3)) + 32|0);
+ HEAP32[$12>>2] = 0;
+ $13 = ((($3)) + 36|0);
+ HEAP32[$13>>2] = 0;
+ $14 = ((($3)) + 40|0);
+ HEAP8[$14>>0] = 0;
+ $15 = ($0|0)==(0|0);
+ if ($15) {
+ $$3 = $3;
+ STACKTOP = sp;return ($$3|0);
+ }
+ dest=$2; stop=dest+64|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
+ $16 = ((($3)) + 105|0);
+ dest=$16; stop=dest+64|0; do { HEAP8[dest>>0]=0|0; dest=dest+1|0; } while ((dest|0) < (stop|0));
+ $17 = ($1>>>0)<(65);
+ do {
+ if ($17) {
+ _memcpy(($2|0),($0|0),($1|0))|0;
+ _memcpy(($16|0),($0|0),($1|0))|0;
+ } else {
+ $18 = (_malloc(172)|0);
+ $19 = ($18|0)==(0|0);
+ if (!($19)) {
+ HEAP32[$18>>2] = 1779033703;
+ $20 = ((($18)) + 4|0);
+ HEAP32[$20>>2] = -1150833019;
+ $21 = ((($18)) + 8|0);
+ HEAP32[$21>>2] = 1013904242;
+ $22 = ((($18)) + 12|0);
+ HEAP32[$22>>2] = -1521486534;
+ $23 = ((($18)) + 16|0);
+ HEAP32[$23>>2] = 1359893119;
+ $24 = ((($18)) + 20|0);
+ HEAP32[$24>>2] = -1694144372;
+ $25 = ((($18)) + 24|0);
+ HEAP32[$25>>2] = 528734635;
+ $26 = ((($18)) + 28|0);
+ HEAP32[$26>>2] = 1541459225;
+ $27 = ((($18)) + 32|0);
+ HEAP32[$27>>2] = 0;
+ $28 = ((($18)) + 36|0);
+ HEAP32[$28>>2] = 0;
+ $29 = ((($18)) + 40|0);
+ HEAP8[$29>>0] = 0;
+ __gcry_hmac256_update($18,$0,$1);
+ _finalize($18);
+ $30 = ((($18)) + 41|0);
+ dest=$2; src=$30; stop=dest+32|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
+ dest=$16; src=$30; stop=dest+32|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
+ __gcry_hmac256_release($18);
+ break;
+ }
+ _free($3);
+ $$3 = 0;
+ STACKTOP = sp;return ($$3|0);
+ }
+ } while(0);
+ $$05765 = 0;
+ while(1) {
+ $31 = (($2) + ($$05765)|0);
+ $32 = HEAP8[$31>>0]|0;
+ $33 = $32 ^ 54;
+ HEAP8[$31>>0] = $33;
+ $34 = (($16) + ($$05765)|0);
+ $35 = HEAP8[$34>>0]|0;
+ $36 = $35 ^ 92;
+ HEAP8[$34>>0] = $36;
+ $37 = (($$05765) + 1)|0;
+ $exitcond = ($37|0)==(64);
+ if ($exitcond) {
+ break;
+ } else {
+ $$05765 = $37;
+ }
+ }
+ HEAP8[$14>>0] = 2;
+ __gcry_hmac256_update($3,$2,64);
+ HEAP8[$2>>0] = 0;
+ $38 = ((($2)) + 1|0);
+ HEAP8[$38>>0] = 0;
+ $39 = ((($2)) + 2|0);
+ HEAP8[$39>>0] = 0;
+ $40 = ((($2)) + 3|0);
+ HEAP8[$40>>0] = 0;
+ $41 = ((($2)) + 4|0);
+ HEAP8[$41>>0] = 0;
+ $42 = ((($2)) + 5|0);
+ HEAP8[$42>>0] = 0;
+ $43 = ((($2)) + 6|0);
+ HEAP8[$43>>0] = 0;
+ $44 = ((($2)) + 7|0);
+ HEAP8[$44>>0] = 0;
+ $45 = ((($2)) + 8|0);
+ HEAP8[$45>>0] = 0;
+ $46 = ((($2)) + 9|0);
+ HEAP8[$46>>0] = 0;
+ $47 = ((($2)) + 10|0);
+ HEAP8[$47>>0] = 0;
+ $48 = ((($2)) + 11|0);
+ HEAP8[$48>>0] = 0;
+ $49 = ((($2)) + 12|0);
+ HEAP8[$49>>0] = 0;
+ $50 = ((($2)) + 13|0);
+ HEAP8[$50>>0] = 0;
+ $51 = ((($2)) + 14|0);
+ HEAP8[$51>>0] = 0;
+ $52 = ((($2)) + 15|0);
+ HEAP8[$52>>0] = 0;
+ $53 = ((($2)) + 16|0);
+ HEAP8[$53>>0] = 0;
+ $54 = ((($2)) + 17|0);
+ HEAP8[$54>>0] = 0;
+ $55 = ((($2)) + 18|0);
+ HEAP8[$55>>0] = 0;
+ $56 = ((($2)) + 19|0);
+ HEAP8[$56>>0] = 0;
+ $57 = ((($2)) + 20|0);
+ HEAP8[$57>>0] = 0;
+ $58 = ((($2)) + 21|0);
+ HEAP8[$58>>0] = 0;
+ $59 = ((($2)) + 22|0);
+ HEAP8[$59>>0] = 0;
+ $60 = ((($2)) + 23|0);
+ HEAP8[$60>>0] = 0;
+ $61 = ((($2)) + 24|0);
+ HEAP8[$61>>0] = 0;
+ $62 = ((($2)) + 25|0);
+ HEAP8[$62>>0] = 0;
+ $63 = ((($2)) + 26|0);
+ HEAP8[$63>>0] = 0;
+ $64 = ((($2)) + 27|0);
+ HEAP8[$64>>0] = 0;
+ $65 = ((($2)) + 28|0);
+ HEAP8[$65>>0] = 0;
+ $66 = ((($2)) + 29|0);
+ HEAP8[$66>>0] = 0;
+ $67 = ((($2)) + 30|0);
+ HEAP8[$67>>0] = 0;
+ $68 = ((($2)) + 31|0);
+ HEAP8[$68>>0] = 0;
+ $69 = ((($2)) + 32|0);
+ HEAP8[$69>>0] = 0;
+ $70 = ((($2)) + 33|0);
+ HEAP8[$70>>0] = 0;
+ $71 = ((($2)) + 34|0);
+ HEAP8[$71>>0] = 0;
+ $72 = ((($2)) + 35|0);
+ HEAP8[$72>>0] = 0;
+ $73 = ((($2)) + 36|0);
+ HEAP8[$73>>0] = 0;
+ $74 = ((($2)) + 37|0);
+ HEAP8[$74>>0] = 0;
+ $75 = ((($2)) + 38|0);
+ HEAP8[$75>>0] = 0;
+ $76 = ((($2)) + 39|0);
+ HEAP8[$76>>0] = 0;
+ $77 = ((($2)) + 40|0);
+ HEAP8[$77>>0] = 0;
+ $78 = ((($2)) + 41|0);
+ HEAP8[$78>>0] = 0;
+ $79 = ((($2)) + 42|0);
+ HEAP8[$79>>0] = 0;
+ $80 = ((($2)) + 43|0);
+ HEAP8[$80>>0] = 0;
+ $81 = ((($2)) + 44|0);
+ HEAP8[$81>>0] = 0;
+ $82 = ((($2)) + 45|0);
+ HEAP8[$82>>0] = 0;
+ $83 = ((($2)) + 46|0);
+ HEAP8[$83>>0] = 0;
+ $84 = ((($2)) + 47|0);
+ HEAP8[$84>>0] = 0;
+ $85 = ((($2)) + 48|0);
+ HEAP8[$85>>0] = 0;
+ $86 = ((($2)) + 49|0);
+ HEAP8[$86>>0] = 0;
+ $87 = ((($2)) + 50|0);
+ HEAP8[$87>>0] = 0;
+ $88 = ((($2)) + 51|0);
+ HEAP8[$88>>0] = 0;
+ $89 = ((($2)) + 52|0);
+ HEAP8[$89>>0] = 0;
+ $90 = ((($2)) + 53|0);
+ HEAP8[$90>>0] = 0;
+ $91 = ((($2)) + 54|0);
+ HEAP8[$91>>0] = 0;
+ $92 = ((($2)) + 55|0);
+ HEAP8[$92>>0] = 0;
+ $93 = ((($2)) + 56|0);
+ HEAP8[$93>>0] = 0;
+ $94 = ((($2)) + 57|0);
+ HEAP8[$94>>0] = 0;
+ $95 = ((($2)) + 58|0);
+ HEAP8[$95>>0] = 0;
+ $96 = ((($2)) + 59|0);
+ HEAP8[$96>>0] = 0;
+ $97 = ((($2)) + 60|0);
+ HEAP8[$97>>0] = 0;
+ $98 = ((($2)) + 61|0);
+ HEAP8[$98>>0] = 0;
+ $99 = ((($2)) + 62|0);
+ HEAP8[$99>>0] = 0;
+ $100 = ((($2)) + 63|0);
+ HEAP8[$100>>0] = 0;
+ $$3 = $3;
+ STACKTOP = sp;return ($$3|0);
+}
+function __gcry_hmac256_update($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$03147$lcssa = 0, $$0314770 = 0, $$048$lcssa = 0, $$04869 = 0, $$1 = 0, $$132 = 0, $$2$lcssa = 0, $$233$lcssa = 0, $$23343 = 0, $$244 = 0, $$3344066 = 0, $$34165 = 0, $$lcssa = 0, $$mask = 0, $$mask$i = 0, $$mask$i36 = 0, $$pre = 0, $$pre58 = 0, $10 = 0, $11 = 0;
+ var $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $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, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0;
+ var $or$cond74 = 0, $scevgep = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $3 = ((($0)) + 40|0);
+ $4 = HEAP8[$3>>0]|0;
+ $$mask = $4 & 1;
+ $5 = ($$mask<<24>>24)==(0);
+ if (!($5)) {
+ return;
+ }
+ $6 = ((($0)) + 36|0);
+ $7 = HEAP32[$6>>2]|0;
+ $8 = ($7|0)==(64);
+ if ($8) {
+ $9 = ((($0)) + 41|0);
+ _transform_1707($0,$9);
+ HEAP32[$6>>2] = 0;
+ $10 = ((($0)) + 32|0);
+ $11 = HEAP32[$10>>2]|0;
+ $12 = (($11) + 1)|0;
+ HEAP32[$10>>2] = $12;
+ $15 = 0;
+ } else {
+ $15 = $7;
+ }
+ $13 = ($1|0)==(0|0);
+ if ($13) {
+ return;
+ }
+ $14 = ($15|0)==(0);
+ L10: do {
+ if ($14) {
+ $$1 = $1;$$132 = $2;$63 = 0;
+ } else {
+ $16 = ($2|0)==(0);
+ L12: do {
+ if (!($16)) {
+ $17 = ($15|0)<(64);
+ if ($17) {
+ $$0314770 = $2;$$04869 = $1;$20 = $15;
+ while(1) {
+ $18 = HEAP8[$$04869>>0]|0;
+ $19 = (($20) + 1)|0;
+ HEAP32[$6>>2] = $19;
+ $21 = (((($0)) + 41|0) + ($20)|0);
+ HEAP8[$21>>0] = $18;
+ $22 = (($$0314770) + -1)|0;
+ $23 = ($22|0)==(0);
+ if ($23) {
+ break L12;
+ }
+ $24 = ((($$04869)) + 1|0);
+ $$pre = HEAP32[$6>>2]|0;
+ $25 = ($$pre|0)<(64);
+ if ($25) {
+ $$0314770 = $22;$$04869 = $24;$20 = $$pre;
+ } else {
+ $$03147$lcssa = $22;$$048$lcssa = $24;$$lcssa = $$pre;
+ break;
+ }
+ }
+ } else {
+ $$03147$lcssa = $2;$$048$lcssa = $1;$$lcssa = $15;
+ }
+ $26 = HEAP8[$3>>0]|0;
+ $$mask$i36 = $26 & 1;
+ $27 = ($$mask$i36<<24>>24)==(0);
+ $28 = ($$lcssa|0)==(64);
+ $or$cond = $28 & $27;
+ if (!($or$cond)) {
+ $$1 = $$048$lcssa;$$132 = $$03147$lcssa;$63 = $$lcssa;
+ break L10;
+ }
+ $29 = ((($0)) + 41|0);
+ _transform_1707($0,$29);
+ HEAP32[$6>>2] = 0;
+ $30 = ((($0)) + 32|0);
+ $31 = HEAP32[$30>>2]|0;
+ $32 = (($31) + 1)|0;
+ HEAP32[$30>>2] = $32;
+ $$1 = $$048$lcssa;$$132 = $$03147$lcssa;$63 = 0;
+ break L10;
+ }
+ } while(0);
+ $33 = HEAP8[$3>>0]|0;
+ $$mask$i = $33 & 1;
+ $34 = ($$mask$i<<24>>24)==(0);
+ if (!($34)) {
+ return;
+ }
+ $35 = HEAP32[$6>>2]|0;
+ $36 = ($35|0)==(64);
+ if (!($36)) {
+ return;
+ }
+ $37 = ((($0)) + 41|0);
+ _transform_1707($0,$37);
+ HEAP32[$6>>2] = 0;
+ $38 = ((($0)) + 32|0);
+ $39 = HEAP32[$38>>2]|0;
+ $40 = (($39) + 1)|0;
+ HEAP32[$38>>2] = $40;
+ return;
+ }
+ } while(0);
+ $41 = ($$132>>>0)>(63);
+ if ($41) {
+ $42 = ((($0)) + 32|0);
+ $43 = (($$132) + -64)|0;
+ $44 = $43 & -64;
+ $45 = (($44) + 64)|0;
+ $$23343 = $$132;$$244 = $$1;
+ while(1) {
+ _transform_1707($0,$$244);
+ HEAP32[$6>>2] = 0;
+ $46 = HEAP32[$42>>2]|0;
+ $47 = (($46) + 1)|0;
+ HEAP32[$42>>2] = $47;
+ $48 = (($$23343) + -64)|0;
+ $49 = ((($$244)) + 64|0);
+ $50 = ($48>>>0)>(63);
+ if ($50) {
+ $$23343 = $48;$$244 = $49;
+ } else {
+ break;
+ }
+ }
+ $51 = (($43) - ($44))|0;
+ $scevgep = (($$1) + ($45)|0);
+ $$2$lcssa = $scevgep;$$233$lcssa = $51;$54 = 0;
+ } else {
+ $$2$lcssa = $$1;$$233$lcssa = $$132;$54 = $63;
+ }
+ $52 = ($$233$lcssa|0)!=(0);
+ $53 = ($54|0)<(64);
+ $or$cond74 = $52 & $53;
+ if (!($or$cond74)) {
+ return;
+ }
+ $$3344066 = $$233$lcssa;$$34165 = $$2$lcssa;$57 = $54;
+ while(1) {
+ $55 = HEAP8[$$34165>>0]|0;
+ $56 = (($57) + 1)|0;
+ HEAP32[$6>>2] = $56;
+ $58 = (((($0)) + 41|0) + ($57)|0);
+ HEAP8[$58>>0] = $55;
+ $59 = (($$3344066) + -1)|0;
+ $60 = ($59|0)==(0);
+ if ($60) {
+ label = 24;
+ break;
+ }
+ $61 = ((($$34165)) + 1|0);
+ $$pre58 = HEAP32[$6>>2]|0;
+ $62 = ($$pre58|0)<(64);
+ if ($62) {
+ $$3344066 = $59;$$34165 = $61;$57 = $$pre58;
+ } else {
+ label = 24;
+ break;
+ }
+ }
+ if ((label|0) == 24) {
+ return;
+ }
+}
+function _finalize($0) {
+ $0 = $0|0;
+ var $$lcssa = 0, $$mask = 0, $$mask$i115 = 0, $$phi$trans$insert = 0, $$pre = 0, $$pre$phi120Z2D = 0, $$pre$phiZ2D = 0, $$pre119 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0;
+ var $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0;
+ var $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0;
+ var $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0;
+ var $164 = 0, $165 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0;
+ var $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0;
+ var $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0;
+ var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0;
+ var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $spec$select = 0, dest = 0, label = 0, sp = 0, stop = 0;
+ sp = STACKTOP;
+ $1 = ((($0)) + 40|0);
+ $2 = HEAP8[$1>>0]|0;
+ $$mask = $2 & 1;
+ $3 = ($$mask<<24>>24)==(0);
+ if (!($3)) {
+ return;
+ }
+ $4 = ((($0)) + 36|0);
+ $5 = HEAP32[$4>>2]|0;
+ $6 = ($5|0)==(64);
+ if ($6) {
+ $7 = ((($0)) + 41|0);
+ _transform_1707($0,$7);
+ HEAP32[$4>>2] = 0;
+ $8 = ((($0)) + 32|0);
+ $9 = HEAP32[$8>>2]|0;
+ $10 = (($9) + 1)|0;
+ HEAP32[$8>>2] = $10;
+ $$pre$phi120Z2D = $7;$$pre$phiZ2D = $8;$12 = $10;$15 = 0;
+ } else {
+ $$phi$trans$insert = ((($0)) + 32|0);
+ $$pre = HEAP32[$$phi$trans$insert>>2]|0;
+ $$pre119 = (((($0)) + 41|0) + ($5)|0);
+ $$pre$phi120Z2D = $$pre119;$$pre$phiZ2D = $$phi$trans$insert;$12 = $$pre;$15 = $5;
+ }
+ $11 = $12 << 6;
+ $13 = $12 >>> 26;
+ $14 = (($11) + ($15))|0;
+ $16 = ($14>>>0)<($11>>>0);
+ $17 = $16&1;
+ $spec$select = (($13) + ($17))|0;
+ $18 = $14 << 3;
+ $19 = $spec$select << 3;
+ $20 = $14 >>> 29;
+ $21 = $19 | $20;
+ $22 = ($15|0)<(56);
+ $23 = ((($0)) + 41|0);
+ $24 = (($15) + 1)|0;
+ HEAP32[$4>>2] = $24;
+ HEAP8[$$pre$phi120Z2D>>0] = -128;
+ $25 = HEAP32[$4>>2]|0;
+ if ($22) {
+ $26 = ($25|0)<(56);
+ if ($26) {
+ $28 = $25;
+ while(1) {
+ $27 = (($28) + 1)|0;
+ HEAP32[$4>>2] = $27;
+ $29 = (((($0)) + 41|0) + ($28)|0);
+ HEAP8[$29>>0] = 0;
+ $30 = HEAP32[$4>>2]|0;
+ $31 = ($30|0)<(56);
+ if ($31) {
+ $28 = $30;
+ } else {
+ break;
+ }
+ }
+ }
+ } else {
+ $32 = ($25|0)<(64);
+ if ($32) {
+ $34 = $25;
+ while(1) {
+ $33 = (($34) + 1)|0;
+ HEAP32[$4>>2] = $33;
+ $35 = (((($0)) + 41|0) + ($34)|0);
+ HEAP8[$35>>0] = 0;
+ $36 = HEAP32[$4>>2]|0;
+ $37 = ($36|0)<(64);
+ if ($37) {
+ $34 = $36;
+ } else {
+ $$lcssa = $36;
+ break;
+ }
+ }
+ } else {
+ $$lcssa = $25;
+ }
+ $38 = HEAP8[$1>>0]|0;
+ $$mask$i115 = $38 & 1;
+ $39 = ($$mask$i115<<24>>24)==(0);
+ $40 = ($$lcssa|0)==(64);
+ $or$cond = $40 & $39;
+ if ($or$cond) {
+ $41 = ((($0)) + 41|0);
+ _transform_1707($0,$41);
+ HEAP32[$4>>2] = 0;
+ $42 = HEAP32[$$pre$phiZ2D>>2]|0;
+ $43 = (($42) + 1)|0;
+ HEAP32[$$pre$phiZ2D>>2] = $43;
+ }
+ dest=$23; stop=dest+56|0; do { HEAP8[dest>>0]=0|0; dest=dest+1|0; } while ((dest|0) < (stop|0));
+ }
+ $44 = ((($0)) + 97|0);
+ HEAP8[$44>>0] = 0;
+ $45 = ((($0)) + 98|0);
+ HEAP8[$45>>0] = 0;
+ $46 = $spec$select >>> 5;
+ $47 = $46&255;
+ $48 = ((($0)) + 99|0);
+ HEAP8[$48>>0] = $47;
+ $49 = $21&255;
+ $50 = ((($0)) + 100|0);
+ HEAP8[$50>>0] = $49;
+ $51 = $14 >>> 21;
+ $52 = $51&255;
+ $53 = ((($0)) + 101|0);
+ HEAP8[$53>>0] = $52;
+ $54 = $14 >>> 13;
+ $55 = $54&255;
+ $56 = ((($0)) + 102|0);
+ HEAP8[$56>>0] = $55;
+ $57 = $14 >>> 5;
+ $58 = $57&255;
+ $59 = ((($0)) + 103|0);
+ HEAP8[$59>>0] = $58;
+ $60 = $18&255;
+ $61 = ((($0)) + 104|0);
+ HEAP8[$61>>0] = $60;
+ _transform_1707($0,$23);
+ $62 = HEAP32[$0>>2]|0;
+ $63 = $62 >>> 24;
+ $64 = $63&255;
+ $65 = ((($0)) + 42|0);
+ HEAP8[$23>>0] = $64;
+ $66 = $62 >>> 16;
+ $67 = $66&255;
+ $68 = ((($0)) + 43|0);
+ HEAP8[$65>>0] = $67;
+ $69 = $62 >>> 8;
+ $70 = $69&255;
+ $71 = ((($0)) + 44|0);
+ HEAP8[$68>>0] = $70;
+ $72 = $62&255;
+ $73 = ((($0)) + 45|0);
+ HEAP8[$71>>0] = $72;
+ $74 = ((($0)) + 4|0);
+ $75 = HEAP32[$74>>2]|0;
+ $76 = $75 >>> 24;
+ $77 = $76&255;
+ $78 = ((($0)) + 46|0);
+ HEAP8[$73>>0] = $77;
+ $79 = $75 >>> 16;
+ $80 = $79&255;
+ $81 = ((($0)) + 47|0);
+ HEAP8[$78>>0] = $80;
+ $82 = $75 >>> 8;
+ $83 = $82&255;
+ $84 = ((($0)) + 48|0);
+ HEAP8[$81>>0] = $83;
+ $85 = $75&255;
+ $86 = ((($0)) + 49|0);
+ HEAP8[$84>>0] = $85;
+ $87 = ((($0)) + 8|0);
+ $88 = HEAP32[$87>>2]|0;
+ $89 = $88 >>> 24;
+ $90 = $89&255;
+ $91 = ((($0)) + 50|0);
+ HEAP8[$86>>0] = $90;
+ $92 = $88 >>> 16;
+ $93 = $92&255;
+ $94 = ((($0)) + 51|0);
+ HEAP8[$91>>0] = $93;
+ $95 = $88 >>> 8;
+ $96 = $95&255;
+ $97 = ((($0)) + 52|0);
+ HEAP8[$94>>0] = $96;
+ $98 = $88&255;
+ $99 = ((($0)) + 53|0);
+ HEAP8[$97>>0] = $98;
+ $100 = ((($0)) + 12|0);
+ $101 = HEAP32[$100>>2]|0;
+ $102 = $101 >>> 24;
+ $103 = $102&255;
+ $104 = ((($0)) + 54|0);
+ HEAP8[$99>>0] = $103;
+ $105 = $101 >>> 16;
+ $106 = $105&255;
+ $107 = ((($0)) + 55|0);
+ HEAP8[$104>>0] = $106;
+ $108 = $101 >>> 8;
+ $109 = $108&255;
+ $110 = ((($0)) + 56|0);
+ HEAP8[$107>>0] = $109;
+ $111 = $101&255;
+ $112 = ((($0)) + 57|0);
+ HEAP8[$110>>0] = $111;
+ $113 = ((($0)) + 16|0);
+ $114 = HEAP32[$113>>2]|0;
+ $115 = $114 >>> 24;
+ $116 = $115&255;
+ $117 = ((($0)) + 58|0);
+ HEAP8[$112>>0] = $116;
+ $118 = $114 >>> 16;
+ $119 = $118&255;
+ $120 = ((($0)) + 59|0);
+ HEAP8[$117>>0] = $119;
+ $121 = $114 >>> 8;
+ $122 = $121&255;
+ $123 = ((($0)) + 60|0);
+ HEAP8[$120>>0] = $122;
+ $124 = $114&255;
+ $125 = ((($0)) + 61|0);
+ HEAP8[$123>>0] = $124;
+ $126 = ((($0)) + 20|0);
+ $127 = HEAP32[$126>>2]|0;
+ $128 = $127 >>> 24;
+ $129 = $128&255;
+ $130 = ((($0)) + 62|0);
+ HEAP8[$125>>0] = $129;
+ $131 = $127 >>> 16;
+ $132 = $131&255;
+ $133 = ((($0)) + 63|0);
+ HEAP8[$130>>0] = $132;
+ $134 = $127 >>> 8;
+ $135 = $134&255;
+ $136 = ((($0)) + 64|0);
+ HEAP8[$133>>0] = $135;
+ $137 = $127&255;
+ $138 = ((($0)) + 65|0);
+ HEAP8[$136>>0] = $137;
+ $139 = ((($0)) + 24|0);
+ $140 = HEAP32[$139>>2]|0;
+ $141 = $140 >>> 24;
+ $142 = $141&255;
+ $143 = ((($0)) + 66|0);
+ HEAP8[$138>>0] = $142;
+ $144 = $140 >>> 16;
+ $145 = $144&255;
+ $146 = ((($0)) + 67|0);
+ HEAP8[$143>>0] = $145;
+ $147 = $140 >>> 8;
+ $148 = $147&255;
+ $149 = ((($0)) + 68|0);
+ HEAP8[$146>>0] = $148;
+ $150 = $140&255;
+ $151 = ((($0)) + 69|0);
+ HEAP8[$149>>0] = $150;
+ $152 = ((($0)) + 28|0);
+ $153 = HEAP32[$152>>2]|0;
+ $154 = $153 >>> 24;
+ $155 = $154&255;
+ $156 = ((($0)) + 70|0);
+ HEAP8[$151>>0] = $155;
+ $157 = $153 >>> 16;
+ $158 = $157&255;
+ $159 = ((($0)) + 71|0);
+ HEAP8[$156>>0] = $158;
+ $160 = $153 >>> 8;
+ $161 = $160&255;
+ $162 = ((($0)) + 72|0);
+ HEAP8[$159>>0] = $161;
+ $163 = $153&255;
+ HEAP8[$162>>0] = $163;
+ $164 = HEAP8[$1>>0]|0;
+ $165 = $164 | 1;
+ HEAP8[$1>>0] = $165;
+ return;
+}
+function __gcry_hmac256_release($0) {
+ $0 = $0|0;
+ var $$mask = 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, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = ($0|0)==(0|0);
+ if ($1) {
+ return;
+ }
+ $2 = ((($0)) + 40|0);
+ $3 = HEAP8[$2>>0]|0;
+ $$mask = $3 & 2;
+ $4 = ($$mask<<24>>24)==(0);
+ if (!($4)) {
+ $5 = ((($0)) + 105|0);
+ HEAP8[$5>>0] = 0;
+ $6 = ((($0)) + 106|0);
+ HEAP8[$6>>0] = 0;
+ $7 = ((($0)) + 107|0);
+ HEAP8[$7>>0] = 0;
+ $8 = ((($0)) + 108|0);
+ HEAP8[$8>>0] = 0;
+ $9 = ((($0)) + 109|0);
+ HEAP8[$9>>0] = 0;
+ $10 = ((($0)) + 110|0);
+ HEAP8[$10>>0] = 0;
+ $11 = ((($0)) + 111|0);
+ HEAP8[$11>>0] = 0;
+ $12 = ((($0)) + 112|0);
+ HEAP8[$12>>0] = 0;
+ $13 = ((($0)) + 113|0);
+ HEAP8[$13>>0] = 0;
+ $14 = ((($0)) + 114|0);
+ HEAP8[$14>>0] = 0;
+ $15 = ((($0)) + 115|0);
+ HEAP8[$15>>0] = 0;
+ $16 = ((($0)) + 116|0);
+ HEAP8[$16>>0] = 0;
+ $17 = ((($0)) + 117|0);
+ HEAP8[$17>>0] = 0;
+ $18 = ((($0)) + 118|0);
+ HEAP8[$18>>0] = 0;
+ $19 = ((($0)) + 119|0);
+ HEAP8[$19>>0] = 0;
+ $20 = ((($0)) + 120|0);
+ HEAP8[$20>>0] = 0;
+ $21 = ((($0)) + 121|0);
+ HEAP8[$21>>0] = 0;
+ $22 = ((($0)) + 122|0);
+ HEAP8[$22>>0] = 0;
+ $23 = ((($0)) + 123|0);
+ HEAP8[$23>>0] = 0;
+ $24 = ((($0)) + 124|0);
+ HEAP8[$24>>0] = 0;
+ $25 = ((($0)) + 125|0);
+ HEAP8[$25>>0] = 0;
+ $26 = ((($0)) + 126|0);
+ HEAP8[$26>>0] = 0;
+ $27 = ((($0)) + 127|0);
+ HEAP8[$27>>0] = 0;
+ $28 = ((($0)) + 128|0);
+ HEAP8[$28>>0] = 0;
+ $29 = ((($0)) + 129|0);
+ HEAP8[$29>>0] = 0;
+ $30 = ((($0)) + 130|0);
+ HEAP8[$30>>0] = 0;
+ $31 = ((($0)) + 131|0);
+ HEAP8[$31>>0] = 0;
+ $32 = ((($0)) + 132|0);
+ HEAP8[$32>>0] = 0;
+ $33 = ((($0)) + 133|0);
+ HEAP8[$33>>0] = 0;
+ $34 = ((($0)) + 134|0);
+ HEAP8[$34>>0] = 0;
+ $35 = ((($0)) + 135|0);
+ HEAP8[$35>>0] = 0;
+ $36 = ((($0)) + 136|0);
+ HEAP8[$36>>0] = 0;
+ $37 = ((($0)) + 137|0);
+ HEAP8[$37>>0] = 0;
+ $38 = ((($0)) + 138|0);
+ HEAP8[$38>>0] = 0;
+ $39 = ((($0)) + 139|0);
+ HEAP8[$39>>0] = 0;
+ $40 = ((($0)) + 140|0);
+ HEAP8[$40>>0] = 0;
+ $41 = ((($0)) + 141|0);
+ HEAP8[$41>>0] = 0;
+ $42 = ((($0)) + 142|0);
+ HEAP8[$42>>0] = 0;
+ $43 = ((($0)) + 143|0);
+ HEAP8[$43>>0] = 0;
+ $44 = ((($0)) + 144|0);
+ HEAP8[$44>>0] = 0;
+ $45 = ((($0)) + 145|0);
+ HEAP8[$45>>0] = 0;
+ $46 = ((($0)) + 146|0);
+ HEAP8[$46>>0] = 0;
+ $47 = ((($0)) + 147|0);
+ HEAP8[$47>>0] = 0;
+ $48 = ((($0)) + 148|0);
+ HEAP8[$48>>0] = 0;
+ $49 = ((($0)) + 149|0);
+ HEAP8[$49>>0] = 0;
+ $50 = ((($0)) + 150|0);
+ HEAP8[$50>>0] = 0;
+ $51 = ((($0)) + 151|0);
+ HEAP8[$51>>0] = 0;
+ $52 = ((($0)) + 152|0);
+ HEAP8[$52>>0] = 0;
+ $53 = ((($0)) + 153|0);
+ HEAP8[$53>>0] = 0;
+ $54 = ((($0)) + 154|0);
+ HEAP8[$54>>0] = 0;
+ $55 = ((($0)) + 155|0);
+ HEAP8[$55>>0] = 0;
+ $56 = ((($0)) + 156|0);
+ HEAP8[$56>>0] = 0;
+ $57 = ((($0)) + 157|0);
+ HEAP8[$57>>0] = 0;
+ $58 = ((($0)) + 158|0);
+ HEAP8[$58>>0] = 0;
+ $59 = ((($0)) + 159|0);
+ HEAP8[$59>>0] = 0;
+ $60 = ((($0)) + 160|0);
+ HEAP8[$60>>0] = 0;
+ $61 = ((($0)) + 161|0);
+ HEAP8[$61>>0] = 0;
+ $62 = ((($0)) + 162|0);
+ HEAP8[$62>>0] = 0;
+ $63 = ((($0)) + 163|0);
+ HEAP8[$63>>0] = 0;
+ $64 = ((($0)) + 164|0);
+ HEAP8[$64>>0] = 0;
+ $65 = ((($0)) + 165|0);
+ HEAP8[$65>>0] = 0;
+ $66 = ((($0)) + 166|0);
+ HEAP8[$66>>0] = 0;
+ $67 = ((($0)) + 167|0);
+ HEAP8[$67>>0] = 0;
+ $68 = ((($0)) + 168|0);
+ HEAP8[$68>>0] = 0;
+ }
+ _free($0);
+ return;
+}
+function _transform_1707($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $$0107122 = 0, $$0108121 = 0, $$0108121$phi = 0, $$0109120 = 0, $$0109120$phi = 0, $$0110119 = 0, $$0110119$phi = 0, $$0111118 = 0, $$0112117 = 0, $$0112117$phi = 0, $$0113116 = 0, $$0113116$phi = 0, $$0114115 = 0, $$0114115$phi = 0, $$2124 = 0, $$3123 = 0, $$pre = 0, $10 = 0, $100 = 0, $101 = 0;
+ var $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0;
+ var $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0;
+ var $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0;
+ var $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0;
+ var $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0;
+ var $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $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, $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, $exitcond = 0, $exitcond131 = 0, dest = 0, label = 0, sp = 0, src = 0;
+ var stop = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 320|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(320|0);
+ $2 = sp + 256|0;
+ $3 = sp;
+ $4 = HEAP32[$0>>2]|0;
+ $5 = ((($0)) + 4|0);
+ $6 = HEAP32[$5>>2]|0;
+ $7 = ((($0)) + 8|0);
+ $8 = HEAP32[$7>>2]|0;
+ $9 = ((($0)) + 12|0);
+ $10 = HEAP32[$9>>2]|0;
+ $11 = ((($0)) + 16|0);
+ $12 = HEAP32[$11>>2]|0;
+ $13 = ((($0)) + 20|0);
+ $14 = HEAP32[$13>>2]|0;
+ $15 = ((($0)) + 24|0);
+ $16 = HEAP32[$15>>2]|0;
+ $17 = ((($0)) + 28|0);
+ $18 = HEAP32[$17>>2]|0;
+ $19 = ((($1)) + 1|0);
+ $20 = HEAP8[$1>>0]|0;
+ $21 = ((($2)) + 3|0);
+ HEAP8[$21>>0] = $20;
+ $22 = ((($1)) + 2|0);
+ $23 = HEAP8[$19>>0]|0;
+ $24 = ((($2)) + 2|0);
+ HEAP8[$24>>0] = $23;
+ $25 = ((($1)) + 3|0);
+ $26 = HEAP8[$22>>0]|0;
+ $27 = ((($2)) + 1|0);
+ HEAP8[$27>>0] = $26;
+ $28 = ((($1)) + 4|0);
+ $29 = HEAP8[$25>>0]|0;
+ HEAP8[$2>>0] = $29;
+ $30 = ((($2)) + 4|0);
+ $31 = ((($1)) + 5|0);
+ $32 = HEAP8[$28>>0]|0;
+ $33 = ((($30)) + 3|0);
+ HEAP8[$33>>0] = $32;
+ $34 = ((($1)) + 6|0);
+ $35 = HEAP8[$31>>0]|0;
+ $36 = ((($30)) + 2|0);
+ HEAP8[$36>>0] = $35;
+ $37 = ((($1)) + 7|0);
+ $38 = HEAP8[$34>>0]|0;
+ $39 = ((($30)) + 1|0);
+ HEAP8[$39>>0] = $38;
+ $40 = ((($1)) + 8|0);
+ $41 = HEAP8[$37>>0]|0;
+ HEAP8[$30>>0] = $41;
+ $42 = ((($2)) + 8|0);
+ $43 = ((($1)) + 9|0);
+ $44 = HEAP8[$40>>0]|0;
+ $45 = ((($42)) + 3|0);
+ HEAP8[$45>>0] = $44;
+ $46 = ((($1)) + 10|0);
+ $47 = HEAP8[$43>>0]|0;
+ $48 = ((($42)) + 2|0);
+ HEAP8[$48>>0] = $47;
+ $49 = ((($1)) + 11|0);
+ $50 = HEAP8[$46>>0]|0;
+ $51 = ((($42)) + 1|0);
+ HEAP8[$51>>0] = $50;
+ $52 = ((($1)) + 12|0);
+ $53 = HEAP8[$49>>0]|0;
+ HEAP8[$42>>0] = $53;
+ $54 = ((($2)) + 12|0);
+ $55 = ((($1)) + 13|0);
+ $56 = HEAP8[$52>>0]|0;
+ $57 = ((($54)) + 3|0);
+ HEAP8[$57>>0] = $56;
+ $58 = ((($1)) + 14|0);
+ $59 = HEAP8[$55>>0]|0;
+ $60 = ((($54)) + 2|0);
+ HEAP8[$60>>0] = $59;
+ $61 = ((($1)) + 15|0);
+ $62 = HEAP8[$58>>0]|0;
+ $63 = ((($54)) + 1|0);
+ HEAP8[$63>>0] = $62;
+ $64 = ((($1)) + 16|0);
+ $65 = HEAP8[$61>>0]|0;
+ HEAP8[$54>>0] = $65;
+ $66 = ((($2)) + 16|0);
+ $67 = ((($1)) + 17|0);
+ $68 = HEAP8[$64>>0]|0;
+ $69 = ((($66)) + 3|0);
+ HEAP8[$69>>0] = $68;
+ $70 = ((($1)) + 18|0);
+ $71 = HEAP8[$67>>0]|0;
+ $72 = ((($66)) + 2|0);
+ HEAP8[$72>>0] = $71;
+ $73 = ((($1)) + 19|0);
+ $74 = HEAP8[$70>>0]|0;
+ $75 = ((($66)) + 1|0);
+ HEAP8[$75>>0] = $74;
+ $76 = ((($1)) + 20|0);
+ $77 = HEAP8[$73>>0]|0;
+ HEAP8[$66>>0] = $77;
+ $78 = ((($2)) + 20|0);
+ $79 = ((($1)) + 21|0);
+ $80 = HEAP8[$76>>0]|0;
+ $81 = ((($78)) + 3|0);
+ HEAP8[$81>>0] = $80;
+ $82 = ((($1)) + 22|0);
+ $83 = HEAP8[$79>>0]|0;
+ $84 = ((($78)) + 2|0);
+ HEAP8[$84>>0] = $83;
+ $85 = ((($1)) + 23|0);
+ $86 = HEAP8[$82>>0]|0;
+ $87 = ((($78)) + 1|0);
+ HEAP8[$87>>0] = $86;
+ $88 = ((($1)) + 24|0);
+ $89 = HEAP8[$85>>0]|0;
+ HEAP8[$78>>0] = $89;
+ $90 = ((($2)) + 24|0);
+ $91 = ((($1)) + 25|0);
+ $92 = HEAP8[$88>>0]|0;
+ $93 = ((($90)) + 3|0);
+ HEAP8[$93>>0] = $92;
+ $94 = ((($1)) + 26|0);
+ $95 = HEAP8[$91>>0]|0;
+ $96 = ((($90)) + 2|0);
+ HEAP8[$96>>0] = $95;
+ $97 = ((($1)) + 27|0);
+ $98 = HEAP8[$94>>0]|0;
+ $99 = ((($90)) + 1|0);
+ HEAP8[$99>>0] = $98;
+ $100 = ((($1)) + 28|0);
+ $101 = HEAP8[$97>>0]|0;
+ HEAP8[$90>>0] = $101;
+ $102 = ((($2)) + 28|0);
+ $103 = ((($1)) + 29|0);
+ $104 = HEAP8[$100>>0]|0;
+ $105 = ((($102)) + 3|0);
+ HEAP8[$105>>0] = $104;
+ $106 = ((($1)) + 30|0);
+ $107 = HEAP8[$103>>0]|0;
+ $108 = ((($102)) + 2|0);
+ HEAP8[$108>>0] = $107;
+ $109 = ((($1)) + 31|0);
+ $110 = HEAP8[$106>>0]|0;
+ $111 = ((($102)) + 1|0);
+ HEAP8[$111>>0] = $110;
+ $112 = ((($1)) + 32|0);
+ $113 = HEAP8[$109>>0]|0;
+ HEAP8[$102>>0] = $113;
+ $114 = ((($2)) + 32|0);
+ $115 = ((($1)) + 33|0);
+ $116 = HEAP8[$112>>0]|0;
+ $117 = ((($114)) + 3|0);
+ HEAP8[$117>>0] = $116;
+ $118 = ((($1)) + 34|0);
+ $119 = HEAP8[$115>>0]|0;
+ $120 = ((($114)) + 2|0);
+ HEAP8[$120>>0] = $119;
+ $121 = ((($1)) + 35|0);
+ $122 = HEAP8[$118>>0]|0;
+ $123 = ((($114)) + 1|0);
+ HEAP8[$123>>0] = $122;
+ $124 = ((($1)) + 36|0);
+ $125 = HEAP8[$121>>0]|0;
+ HEAP8[$114>>0] = $125;
+ $126 = ((($2)) + 36|0);
+ $127 = ((($1)) + 37|0);
+ $128 = HEAP8[$124>>0]|0;
+ $129 = ((($126)) + 3|0);
+ HEAP8[$129>>0] = $128;
+ $130 = ((($1)) + 38|0);
+ $131 = HEAP8[$127>>0]|0;
+ $132 = ((($126)) + 2|0);
+ HEAP8[$132>>0] = $131;
+ $133 = ((($1)) + 39|0);
+ $134 = HEAP8[$130>>0]|0;
+ $135 = ((($126)) + 1|0);
+ HEAP8[$135>>0] = $134;
+ $136 = ((($1)) + 40|0);
+ $137 = HEAP8[$133>>0]|0;
+ HEAP8[$126>>0] = $137;
+ $138 = ((($2)) + 40|0);
+ $139 = ((($1)) + 41|0);
+ $140 = HEAP8[$136>>0]|0;
+ $141 = ((($138)) + 3|0);
+ HEAP8[$141>>0] = $140;
+ $142 = ((($1)) + 42|0);
+ $143 = HEAP8[$139>>0]|0;
+ $144 = ((($138)) + 2|0);
+ HEAP8[$144>>0] = $143;
+ $145 = ((($1)) + 43|0);
+ $146 = HEAP8[$142>>0]|0;
+ $147 = ((($138)) + 1|0);
+ HEAP8[$147>>0] = $146;
+ $148 = ((($1)) + 44|0);
+ $149 = HEAP8[$145>>0]|0;
+ HEAP8[$138>>0] = $149;
+ $150 = ((($2)) + 44|0);
+ $151 = ((($1)) + 45|0);
+ $152 = HEAP8[$148>>0]|0;
+ $153 = ((($150)) + 3|0);
+ HEAP8[$153>>0] = $152;
+ $154 = ((($1)) + 46|0);
+ $155 = HEAP8[$151>>0]|0;
+ $156 = ((($150)) + 2|0);
+ HEAP8[$156>>0] = $155;
+ $157 = ((($1)) + 47|0);
+ $158 = HEAP8[$154>>0]|0;
+ $159 = ((($150)) + 1|0);
+ HEAP8[$159>>0] = $158;
+ $160 = ((($1)) + 48|0);
+ $161 = HEAP8[$157>>0]|0;
+ HEAP8[$150>>0] = $161;
+ $162 = ((($2)) + 48|0);
+ $163 = ((($1)) + 49|0);
+ $164 = HEAP8[$160>>0]|0;
+ $165 = ((($162)) + 3|0);
+ HEAP8[$165>>0] = $164;
+ $166 = ((($1)) + 50|0);
+ $167 = HEAP8[$163>>0]|0;
+ $168 = ((($162)) + 2|0);
+ HEAP8[$168>>0] = $167;
+ $169 = ((($1)) + 51|0);
+ $170 = HEAP8[$166>>0]|0;
+ $171 = ((($162)) + 1|0);
+ HEAP8[$171>>0] = $170;
+ $172 = ((($1)) + 52|0);
+ $173 = HEAP8[$169>>0]|0;
+ HEAP8[$162>>0] = $173;
+ $174 = ((($2)) + 52|0);
+ $175 = ((($1)) + 53|0);
+ $176 = HEAP8[$172>>0]|0;
+ $177 = ((($174)) + 3|0);
+ HEAP8[$177>>0] = $176;
+ $178 = ((($1)) + 54|0);
+ $179 = HEAP8[$175>>0]|0;
+ $180 = ((($174)) + 2|0);
+ HEAP8[$180>>0] = $179;
+ $181 = ((($1)) + 55|0);
+ $182 = HEAP8[$178>>0]|0;
+ $183 = ((($174)) + 1|0);
+ HEAP8[$183>>0] = $182;
+ $184 = ((($1)) + 56|0);
+ $185 = HEAP8[$181>>0]|0;
+ HEAP8[$174>>0] = $185;
+ $186 = ((($2)) + 56|0);
+ $187 = ((($1)) + 57|0);
+ $188 = HEAP8[$184>>0]|0;
+ $189 = ((($186)) + 3|0);
+ HEAP8[$189>>0] = $188;
+ $190 = ((($1)) + 58|0);
+ $191 = HEAP8[$187>>0]|0;
+ $192 = ((($186)) + 2|0);
+ HEAP8[$192>>0] = $191;
+ $193 = ((($1)) + 59|0);
+ $194 = HEAP8[$190>>0]|0;
+ $195 = ((($186)) + 1|0);
+ HEAP8[$195>>0] = $194;
+ $196 = ((($1)) + 60|0);
+ $197 = HEAP8[$193>>0]|0;
+ HEAP8[$186>>0] = $197;
+ $198 = ((($2)) + 60|0);
+ $199 = ((($1)) + 61|0);
+ $200 = HEAP8[$196>>0]|0;
+ $201 = ((($198)) + 3|0);
+ HEAP8[$201>>0] = $200;
+ $202 = ((($1)) + 62|0);
+ $203 = HEAP8[$199>>0]|0;
+ $204 = ((($198)) + 2|0);
+ HEAP8[$204>>0] = $203;
+ $205 = ((($1)) + 63|0);
+ $206 = HEAP8[$202>>0]|0;
+ $207 = ((($198)) + 1|0);
+ HEAP8[$207>>0] = $206;
+ $208 = HEAP8[$205>>0]|0;
+ HEAP8[$198>>0] = $208;
+ dest=$3; src=$2; 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));
+ $$pre = HEAP32[$3>>2]|0;
+ $$2124 = 16;$237 = $$pre;
+ while(1) {
+ $209 = (($$2124) + -2)|0;
+ $210 = (($3) + ($209<<2)|0);
+ $211 = HEAP32[$210>>2]|0;
+ $212 = $211 >>> 17;
+ $213 = $211 << 15;
+ $214 = $213 | $212;
+ $215 = $211 >>> 19;
+ $216 = $211 << 13;
+ $217 = $216 | $215;
+ $218 = $211 >>> 10;
+ $219 = $217 ^ $218;
+ $220 = $219 ^ $214;
+ $221 = (($$2124) + -7)|0;
+ $222 = (($3) + ($221<<2)|0);
+ $223 = HEAP32[$222>>2]|0;
+ $224 = (($$2124) + -15)|0;
+ $225 = (($3) + ($224<<2)|0);
+ $226 = HEAP32[$225>>2]|0;
+ $227 = $226 >>> 7;
+ $228 = $226 << 25;
+ $229 = $228 | $227;
+ $230 = $226 >>> 18;
+ $231 = $226 << 14;
+ $232 = $231 | $230;
+ $233 = $226 >>> 3;
+ $234 = $232 ^ $233;
+ $235 = $234 ^ $229;
+ $236 = (($237) + ($223))|0;
+ $238 = (($236) + ($220))|0;
+ $239 = (($238) + ($235))|0;
+ $240 = (($3) + ($$2124<<2)|0);
+ HEAP32[$240>>2] = $239;
+ $241 = (($$2124) + 1)|0;
+ $exitcond131 = ($241|0)==(64);
+ if ($exitcond131) {
+ break;
+ } else {
+ $$2124 = $241;$237 = $226;
+ }
+ }
+ $$0107122 = $4;$$0108121 = $18;$$0109120 = $16;$$0110119 = $14;$$0111118 = $12;$$0112117 = $10;$$0113116 = $8;$$0114115 = $6;$$3123 = 0;
+ while(1) {
+ $242 = $$0111118 >>> 6;
+ $243 = $$0111118 << 26;
+ $244 = $243 | $242;
+ $245 = $$0111118 >>> 11;
+ $246 = $$0111118 << 21;
+ $247 = $246 | $245;
+ $248 = $244 ^ $247;
+ $249 = $$0111118 >>> 25;
+ $250 = $$0111118 << 7;
+ $251 = $250 | $249;
+ $252 = $248 ^ $251;
+ $253 = (($252) + ($$0108121))|0;
+ $254 = $$0109120 ^ $$0110119;
+ $255 = $254 & $$0111118;
+ $256 = $255 ^ $$0109120;
+ $257 = (($253) + ($256))|0;
+ $258 = (15440 + ($$3123<<2)|0);
+ $259 = HEAP32[$258>>2]|0;
+ $260 = (($257) + ($259))|0;
+ $261 = (($3) + ($$3123<<2)|0);
+ $262 = HEAP32[$261>>2]|0;
+ $263 = (($260) + ($262))|0;
+ $264 = $$0107122 >>> 2;
+ $265 = $$0107122 << 30;
+ $266 = $265 | $264;
+ $267 = $$0107122 >>> 13;
+ $268 = $$0107122 << 19;
+ $269 = $268 | $267;
+ $270 = $266 ^ $269;
+ $271 = $$0107122 >>> 22;
+ $272 = $$0107122 << 10;
+ $273 = $272 | $271;
+ $274 = $270 ^ $273;
+ $275 = $$0107122 & $$0114115;
+ $276 = $$0107122 | $$0114115;
+ $277 = $276 & $$0113116;
+ $278 = $277 | $275;
+ $279 = (($274) + ($278))|0;
+ $280 = (($263) + ($$0112117))|0;
+ $281 = (($279) + ($263))|0;
+ $282 = (($$3123) + 1)|0;
+ $exitcond = ($282|0)==(64);
+ if ($exitcond) {
+ break;
+ } else {
+ $$0114115$phi = $$0107122;$$0113116$phi = $$0114115;$$0112117$phi = $$0113116;$$0110119$phi = $$0111118;$$0109120$phi = $$0110119;$$0108121$phi = $$0109120;$$0107122 = $281;$$0111118 = $280;$$3123 = $282;$$0114115 = $$0114115$phi;$$0113116 = $$0113116$phi;$$0112117 = $$0112117$phi;$$0110119 = $$0110119$phi;$$0109120 = $$0109120$phi;$$0108121 = $$0108121$phi;
+ }
+ }
+ $283 = HEAP32[$0>>2]|0;
+ $284 = (($283) + ($281))|0;
+ HEAP32[$0>>2] = $284;
+ $285 = HEAP32[$5>>2]|0;
+ $286 = (($285) + ($$0107122))|0;
+ HEAP32[$5>>2] = $286;
+ $287 = HEAP32[$7>>2]|0;
+ $288 = (($287) + ($$0114115))|0;
+ HEAP32[$7>>2] = $288;
+ $289 = HEAP32[$9>>2]|0;
+ $290 = (($289) + ($$0113116))|0;
+ HEAP32[$9>>2] = $290;
+ $291 = HEAP32[$11>>2]|0;
+ $292 = (($291) + ($280))|0;
+ HEAP32[$11>>2] = $292;
+ $293 = HEAP32[$13>>2]|0;
+ $294 = (($293) + ($$0111118))|0;
+ HEAP32[$13>>2] = $294;
+ $295 = HEAP32[$15>>2]|0;
+ $296 = (($295) + ($$0110119))|0;
+ HEAP32[$15>>2] = $296;
+ $297 = HEAP32[$17>>2]|0;
+ $298 = (($297) + ($$0109120))|0;
+ HEAP32[$17>>2] = $298;
+ STACKTOP = sp;return;
+}
+function __gcry_hmac256_finalize($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $$1 = 0, $$mask = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0;
+ var $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0;
+ sp = STACKTOP;
+ _finalize($0);
+ $2 = ((($0)) + 40|0);
+ $3 = HEAP8[$2>>0]|0;
+ $$mask = $3 & 2;
+ $4 = ($$mask<<24>>24)==(0);
+ do {
+ if (!($4)) {
+ $5 = (_malloc(172)|0);
+ $6 = ($5|0)==(0|0);
+ if (!($6)) {
+ HEAP32[$5>>2] = 1779033703;
+ $7 = ((($5)) + 4|0);
+ HEAP32[$7>>2] = -1150833019;
+ $8 = ((($5)) + 8|0);
+ HEAP32[$8>>2] = 1013904242;
+ $9 = ((($5)) + 12|0);
+ HEAP32[$9>>2] = -1521486534;
+ $10 = ((($5)) + 16|0);
+ HEAP32[$10>>2] = 1359893119;
+ $11 = ((($5)) + 20|0);
+ HEAP32[$11>>2] = -1694144372;
+ $12 = ((($5)) + 24|0);
+ HEAP32[$12>>2] = 528734635;
+ $13 = ((($5)) + 28|0);
+ HEAP32[$13>>2] = 1541459225;
+ $14 = ((($5)) + 32|0);
+ HEAP32[$14>>2] = 0;
+ $15 = ((($5)) + 36|0);
+ HEAP32[$15>>2] = 0;
+ $16 = ((($5)) + 40|0);
+ HEAP8[$16>>0] = 0;
+ $17 = ((($0)) + 105|0);
+ __gcry_hmac256_update($5,$17,64);
+ $18 = ((($0)) + 41|0);
+ __gcry_hmac256_update($5,$18,32);
+ _finalize($5);
+ $19 = ((($5)) + 41|0);
+ dest=$18; src=$19; stop=dest+32|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
+ __gcry_hmac256_release($5);
+ break;
+ }
+ _free($0);
+ $$1 = 0;
+ return ($$1|0);
+ }
+ } while(0);
+ $20 = ($1|0)==(0|0);
+ if (!($20)) {
+ HEAP32[$1>>2] = 32;
+ }
+ $21 = ((($0)) + 41|0);
+ $$1 = $21;
+ return ($$1|0);
+}
+function __gcry_cipher_aeswrap_encrypt($0,$1,$2,$3,$4) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ var $$0 = 0, $$06169 = 0, $$06268 = 0, $$06466 = 0, $$06466$us = 0, $$1$lcssa = 0, $$167 = 0, $$167$us = 0, $$pre$phiZ2D = 0, $$promoted = 0, $$promoted101 = 0, $$promoted103 = 0, $$promoted105 = 0, $$promoted107 = 0, $$promoted109 = 0, $$promoted99 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0;
+ var $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0;
+ var $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, $139 = 0;
+ var $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, $157 = 0;
+ var $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, $175 = 0;
+ var $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, $193 = 0;
+ var $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0;
+ var $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, $229 = 0, $23 = 0;
+ var $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, $247 = 0, $248 = 0;
+ var $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, $265 = 0, $266 = 0;
+ var $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, $283 = 0, $284 = 0;
+ var $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $31 = 0;
+ var $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0;
+ var $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0;
+ var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0;
+ var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $spec$select = 0, $spec$select142 = 0, $spec$select144 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $5 = sp;
+ $6 = ((($0)) + 12|0);
+ $7 = HEAP32[$6>>2]|0;
+ $8 = ((($7)) + 20|0);
+ $9 = HEAP32[$8>>2]|0;
+ $10 = ($9|0)==(16);
+ if (!($10)) {
+ $$0 = 139;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $11 = (($4) + 8)|0;
+ $12 = ($11>>>0)>($2>>>0);
+ if ($12) {
+ $$0 = 200;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $13 = $4 & 7;
+ $14 = ($13|0)==(0);
+ if (!($14)) {
+ $$0 = 45;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $15 = $4 >>> 3;
+ $16 = ($4>>>0)<(16);
+ if ($16) {
+ $$0 = 45;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $17 = ((($0)) + 80|0);
+ $18 = ((($0)) + 56|0);
+ $19 = HEAP8[$18>>0]|0;
+ $20 = $19 & 2;
+ $21 = ($20<<24>>24)==(0);
+ if ($21) {
+ $33 = $1;
+ $34 = $33;
+ HEAP8[$34>>0]=-1499027802&255;HEAP8[$34+1>>0]=(-1499027802>>8)&255;HEAP8[$34+2>>0]=(-1499027802>>16)&255;HEAP8[$34+3>>0]=-1499027802>>24;
+ $35 = (($33) + 4)|0;
+ $36 = $35;
+ HEAP8[$36>>0]=-1499027802&255;HEAP8[$36+1>>0]=(-1499027802>>8)&255;HEAP8[$36+2>>0]=(-1499027802>>16)&255;HEAP8[$36+3>>0]=-1499027802>>24;
+ $$pre$phiZ2D = $1;
+ } else {
+ $22 = ((($0)) + 64|0);
+ $23 = $22;
+ $24 = $23;
+ $25 = HEAPU8[$24>>0]|(HEAPU8[$24+1>>0]<<8)|(HEAPU8[$24+2>>0]<<16)|(HEAPU8[$24+3>>0]<<24);
+ $26 = (($23) + 4)|0;
+ $27 = $26;
+ $28 = HEAPU8[$27>>0]|(HEAPU8[$27+1>>0]<<8)|(HEAPU8[$27+2>>0]<<16)|(HEAPU8[$27+3>>0]<<24);
+ $29 = $1;
+ $30 = $29;
+ HEAP8[$30>>0]=$25&255;HEAP8[$30+1>>0]=($25>>8)&255;HEAP8[$30+2>>0]=($25>>16)&255;HEAP8[$30+3>>0]=$25>>24;
+ $31 = (($29) + 4)|0;
+ $32 = $31;
+ HEAP8[$32>>0]=$28&255;HEAP8[$32+1>>0]=($28>>8)&255;HEAP8[$32+2>>0]=($28>>16)&255;HEAP8[$32+3>>0]=$28>>24;
+ $$pre$phiZ2D = $1;
+ }
+ $37 = ((($1)) + 8|0);
+ _memmove(($37|0),($3|0),($4|0))|0;
+ $38 = $5;
+ $39 = $38;
+ HEAP32[$39>>2] = 0;
+ $40 = (($38) + 4)|0;
+ $41 = $40;
+ HEAP32[$41>>2] = 0;
+ $42 = ($15|0)==(0);
+ $43 = ((($0)) + 88|0);
+ $44 = ((($0)) + 496|0);
+ $45 = $1;
+ $46 = $17;
+ $47 = $46 | $45;
+ $48 = $47 & 3;
+ $49 = ($48|0)==(0);
+ $50 = ((($17)) + 4|0);
+ $51 = ((($5)) + 4|0);
+ $52 = ((($1)) + 4|0);
+ $53 = ((($5)) + 7|0);
+ $54 = ((($5)) + 6|0);
+ $55 = ((($5)) + 5|0);
+ $56 = ((($5)) + 4|0);
+ $57 = ((($5)) + 3|0);
+ $58 = ((($5)) + 2|0);
+ $59 = ((($5)) + 1|0);
+ $60 = ((($17)) + 1|0);
+ $61 = ((($5)) + 7|0);
+ $62 = ((($5)) + 6|0);
+ $63 = ((($1)) + 1|0);
+ $64 = ((($17)) + 2|0);
+ $65 = ((($1)) + 2|0);
+ $66 = ((($17)) + 3|0);
+ $67 = ((($1)) + 3|0);
+ $68 = ((($17)) + 4|0);
+ $69 = ((($1)) + 4|0);
+ $70 = ((($17)) + 5|0);
+ $71 = ((($1)) + 5|0);
+ $72 = ((($17)) + 6|0);
+ $73 = ((($1)) + 6|0);
+ $74 = ((($17)) + 7|0);
+ $75 = ((($1)) + 7|0);
+ $76 = ((($5)) + 5|0);
+ $77 = ((($5)) + 4|0);
+ $78 = ((($5)) + 3|0);
+ $79 = ((($5)) + 2|0);
+ $80 = ((($5)) + 1|0);
+ $$06169 = 0;$$06268 = 0;$249 = 0;$250 = 0;$251 = 0;$252 = 0;$253 = 0;$254 = 0;$255 = 0;$256 = 0;$257 = 0;$258 = 0;$259 = 0;$260 = 0;$261 = 0;$262 = 0;
+ while(1) {
+ do {
+ if ($42) {
+ $$1$lcssa = $$06169;$263 = $249;$264 = $250;$265 = $251;$266 = $252;$267 = $253;$268 = $254;$269 = $255;$270 = $256;$271 = $257;$272 = $258;$273 = $259;$274 = $260;$275 = $261;$276 = $262;
+ } else {
+ if ($49) {
+ $$06466$us = 1;$$167$us = $$06169;$110 = $262;$113 = $252;$233 = $251;$236 = $250;$239 = $258;$242 = $257;$245 = $256;$248 = $249;$277 = $260;$278 = $261;
+ while(1) {
+ $81 = $$pre$phiZ2D;
+ $82 = $81;
+ $83 = HEAPU8[$82>>0]|(HEAPU8[$82+1>>0]<<8)|(HEAPU8[$82+2>>0]<<16)|(HEAPU8[$82+3>>0]<<24);
+ $84 = (($81) + 4)|0;
+ $85 = $84;
+ $86 = HEAPU8[$85>>0]|(HEAPU8[$85+1>>0]<<8)|(HEAPU8[$85+2>>0]<<16)|(HEAPU8[$85+3>>0]<<24);
+ $87 = $17;
+ $88 = $87;
+ HEAP8[$88>>0]=$83&255;HEAP8[$88+1>>0]=($83>>8)&255;HEAP8[$88+2>>0]=($83>>16)&255;HEAP8[$88+3>>0]=$83>>24;
+ $89 = (($87) + 4)|0;
+ $90 = $89;
+ HEAP8[$90>>0]=$86&255;HEAP8[$90+1>>0]=($86>>8)&255;HEAP8[$90+2>>0]=($86>>16)&255;HEAP8[$90+3>>0]=$86>>24;
+ $91 = $$06466$us << 3;
+ $92 = (($1) + ($91)|0);
+ $93 = $92;
+ $94 = $93;
+ $95 = HEAPU8[$94>>0]|(HEAPU8[$94+1>>0]<<8)|(HEAPU8[$94+2>>0]<<16)|(HEAPU8[$94+3>>0]<<24);
+ $96 = (($93) + 4)|0;
+ $97 = $96;
+ $98 = HEAPU8[$97>>0]|(HEAPU8[$97+1>>0]<<8)|(HEAPU8[$97+2>>0]<<16)|(HEAPU8[$97+3>>0]<<24);
+ $99 = $43;
+ $100 = $99;
+ HEAP8[$100>>0]=$95&255;HEAP8[$100+1>>0]=($95>>8)&255;HEAP8[$100+2>>0]=($95>>16)&255;HEAP8[$100+3>>0]=$95>>24;
+ $101 = (($99) + 4)|0;
+ $102 = $101;
+ HEAP8[$102>>0]=$98&255;HEAP8[$102+1>>0]=($98>>8)&255;HEAP8[$102+2>>0]=($98>>16)&255;HEAP8[$102+3>>0]=$98>>24;
+ $103 = HEAP32[$6>>2]|0;
+ $104 = ((($103)) + 36|0);
+ $105 = HEAP32[$104>>2]|0;
+ $106 = (FUNCTION_TABLE_iiii[$105 & 127]($44,$17,$17)|0);
+ $107 = ($106>>>0)>($$167$us>>>0);
+ $108 = $107 ? $106 : $$167$us;
+ $109 = (($110) + 1)<<24>>24;
+ HEAP8[$53>>0] = $109;
+ $111 = ($109<<24>>24)==(0);
+ if ($111) {
+ $112 = (($113) + 1)<<24>>24;
+ HEAP8[$54>>0] = $112;
+ $114 = ($112<<24>>24)==(0);
+ if ($114) {
+ $232 = (($233) + 1)<<24>>24;
+ HEAP8[$55>>0] = $232;
+ $234 = ($232<<24>>24)==(0);
+ if ($234) {
+ $235 = (($236) + 1)<<24>>24;
+ HEAP8[$56>>0] = $235;
+ $237 = ($235<<24>>24)==(0);
+ if ($237) {
+ $238 = (($239) + 1)<<24>>24;
+ HEAP8[$57>>0] = $238;
+ $240 = ($238<<24>>24)==(0);
+ if ($240) {
+ $241 = (($242) + 1)<<24>>24;
+ HEAP8[$58>>0] = $241;
+ $243 = ($241<<24>>24)==(0);
+ if ($243) {
+ $244 = (($245) + 1)<<24>>24;
+ HEAP8[$59>>0] = $244;
+ $246 = ($244<<24>>24)==(0);
+ if ($246) {
+ $247 = (($248) + 1)<<24>>24;
+ HEAP8[$5>>0] = $247;
+ $279 = 0;$280 = 0;$281 = 0;$282 = 0;$283 = 0;$284 = 0;$285 = 0;
+ } else {
+ $279 = 0;$280 = 0;$281 = $244;$282 = 0;$283 = 0;$284 = 0;$285 = 0;
+ }
+ } else {
+ $279 = 0;$280 = 0;$281 = $245;$282 = $241;$283 = 0;$284 = 0;$285 = 0;
+ }
+ } else {
+ $279 = 0;$280 = 0;$281 = $245;$282 = $242;$283 = $238;$284 = 0;$285 = 0;
+ }
+ } else {
+ $279 = 0;$280 = 0;$281 = $245;$282 = $242;$283 = $239;$284 = 0;$285 = 0;
+ }
+ } else {
+ $279 = $232;$280 = 0;$281 = $245;$282 = $242;$283 = $239;$284 = $232;$285 = 0;
+ }
+ } else {
+ $279 = $233;$280 = $112;$281 = $245;$282 = $242;$283 = $239;$284 = $277;$285 = $112;
+ }
+ } else {
+ $279 = $233;$280 = $113;$281 = $245;$282 = $242;$283 = $239;$284 = $277;$285 = $278;
+ }
+ $115 = HEAP32[$17>>2]|0;
+ $116 = HEAP32[$5>>2]|0;
+ $117 = $116 ^ $115;
+ HEAP32[$1>>2] = $117;
+ $118 = HEAP32[$50>>2]|0;
+ $119 = HEAP32[$51>>2]|0;
+ $120 = $119 ^ $118;
+ HEAP32[$52>>2] = $120;
+ $121 = $43;
+ $122 = $121;
+ $123 = HEAPU8[$122>>0]|(HEAPU8[$122+1>>0]<<8)|(HEAPU8[$122+2>>0]<<16)|(HEAPU8[$122+3>>0]<<24);
+ $124 = (($121) + 4)|0;
+ $125 = $124;
+ $126 = HEAPU8[$125>>0]|(HEAPU8[$125+1>>0]<<8)|(HEAPU8[$125+2>>0]<<16)|(HEAPU8[$125+3>>0]<<24);
+ $127 = $92;
+ $128 = $127;
+ HEAP8[$128>>0]=$123&255;HEAP8[$128+1>>0]=($123>>8)&255;HEAP8[$128+2>>0]=($123>>16)&255;HEAP8[$128+3>>0]=$123>>24;
+ $129 = (($127) + 4)|0;
+ $130 = $129;
+ HEAP8[$130>>0]=$126&255;HEAP8[$130+1>>0]=($126>>8)&255;HEAP8[$130+2>>0]=($126>>16)&255;HEAP8[$130+3>>0]=$126>>24;
+ $131 = (($$06466$us) + 1)|0;
+ $132 = ($$06466$us>>>0)<($15>>>0);
+ $133 = $119&255;
+ $134 = $116&255;
+ if ($132) {
+ $$06466$us = $131;$$167$us = $108;$110 = $109;$113 = $280;$233 = $279;$236 = $133;$239 = $283;$242 = $282;$245 = $281;$248 = $134;$277 = $284;$278 = $285;
+ } else {
+ $$1$lcssa = $108;$263 = $134;$264 = $133;$265 = $279;$266 = $280;$267 = $133;$268 = $134;$269 = $134;$270 = $281;$271 = $282;$272 = $283;$273 = $133;$274 = $284;$275 = $285;$276 = $109;
+ break;
+ }
+ }
+ } else {
+ $$promoted = HEAP8[$62>>0]|0;
+ $$promoted99 = HEAP8[$76>>0]|0;
+ $$promoted101 = HEAP8[$77>>0]|0;
+ $$promoted103 = HEAP8[$78>>0]|0;
+ $$promoted105 = HEAP8[$79>>0]|0;
+ $$promoted107 = HEAP8[$80>>0]|0;
+ $$promoted109 = HEAP8[$5>>0]|0;
+ $$06466 = 1;$$167 = $$06169;$164 = $262;$167 = $261;$213 = $260;$216 = $259;$219 = $258;$222 = $257;$225 = $256;$228 = $255;$229 = $$promoted109;$230 = $249;$231 = $254;$286 = $$promoted107;$287 = $$promoted105;$288 = $$promoted103;$289 = $$promoted101;$290 = $$promoted99;$291 = $$promoted;$292 = $250;$293 = $251;$294 = $252;$295 = $253;
+ while(1) {
+ $135 = $$pre$phiZ2D;
+ $136 = $135;
+ $137 = HEAPU8[$136>>0]|(HEAPU8[$136+1>>0]<<8)|(HEAPU8[$136+2>>0]<<16)|(HEAPU8[$136+3>>0]<<24);
+ $138 = (($135) + 4)|0;
+ $139 = $138;
+ $140 = HEAPU8[$139>>0]|(HEAPU8[$139+1>>0]<<8)|(HEAPU8[$139+2>>0]<<16)|(HEAPU8[$139+3>>0]<<24);
+ $141 = $17;
+ $142 = $141;
+ HEAP8[$142>>0]=$137&255;HEAP8[$142+1>>0]=($137>>8)&255;HEAP8[$142+2>>0]=($137>>16)&255;HEAP8[$142+3>>0]=$137>>24;
+ $143 = (($141) + 4)|0;
+ $144 = $143;
+ HEAP8[$144>>0]=$140&255;HEAP8[$144+1>>0]=($140>>8)&255;HEAP8[$144+2>>0]=($140>>16)&255;HEAP8[$144+3>>0]=$140>>24;
+ $145 = $$06466 << 3;
+ $146 = (($1) + ($145)|0);
+ $147 = $146;
+ $148 = $147;
+ $149 = HEAPU8[$148>>0]|(HEAPU8[$148+1>>0]<<8)|(HEAPU8[$148+2>>0]<<16)|(HEAPU8[$148+3>>0]<<24);
+ $150 = (($147) + 4)|0;
+ $151 = $150;
+ $152 = HEAPU8[$151>>0]|(HEAPU8[$151+1>>0]<<8)|(HEAPU8[$151+2>>0]<<16)|(HEAPU8[$151+3>>0]<<24);
+ $153 = $43;
+ $154 = $153;
+ HEAP8[$154>>0]=$149&255;HEAP8[$154+1>>0]=($149>>8)&255;HEAP8[$154+2>>0]=($149>>16)&255;HEAP8[$154+3>>0]=$149>>24;
+ $155 = (($153) + 4)|0;
+ $156 = $155;
+ HEAP8[$156>>0]=$152&255;HEAP8[$156+1>>0]=($152>>8)&255;HEAP8[$156+2>>0]=($152>>16)&255;HEAP8[$156+3>>0]=$152>>24;
+ $157 = HEAP32[$6>>2]|0;
+ $158 = ((($157)) + 36|0);
+ $159 = HEAP32[$158>>2]|0;
+ $160 = (FUNCTION_TABLE_iiii[$159 & 127]($44,$17,$17)|0);
+ $161 = ($160>>>0)>($$167>>>0);
+ $162 = $161 ? $160 : $$167;
+ $163 = (($164) + 1)<<24>>24;
+ $165 = ($163<<24>>24)==(0);
+ if ($165) {
+ $166 = (($167) + 1)<<24>>24;
+ $168 = ($166<<24>>24)==(0);
+ if ($168) {
+ $212 = (($213) + 1)<<24>>24;
+ $214 = ($212<<24>>24)==(0);
+ if ($214) {
+ $215 = (($216) + 1)<<24>>24;
+ $217 = ($215<<24>>24)==(0);
+ if ($217) {
+ $218 = (($219) + 1)<<24>>24;
+ $220 = ($218<<24>>24)==(0);
+ if ($220) {
+ $221 = (($222) + 1)<<24>>24;
+ $223 = ($221<<24>>24)==(0);
+ if ($223) {
+ $224 = (($225) + 1)<<24>>24;
+ $226 = ($224<<24>>24)==(0);
+ $227 = (($228) + 1)<<24>>24;
+ $spec$select = $226 ? $227 : $229;
+ $spec$select142 = $226 ? $227 : $230;
+ $spec$select144 = $226 ? $227 : $231;
+ $171 = $spec$select144;$174 = $224;$177 = 0;$180 = 0;$183 = 0;$186 = $212;$189 = $166;$204 = $215;$205 = $218;$206 = $221;$207 = $224;$208 = $spec$select;$296 = $spec$select142;$297 = 0;$298 = 0;$299 = 0;$300 = 0;$301 = 0;
+ } else {
+ $171 = $231;$174 = $225;$177 = $221;$180 = 0;$183 = 0;$186 = $212;$189 = $166;$204 = $215;$205 = $218;$206 = $221;$207 = $286;$208 = $229;$296 = $230;$297 = 0;$298 = 0;$299 = 0;$300 = 0;$301 = 0;
+ }
+ } else {
+ $171 = $231;$174 = $225;$177 = $222;$180 = $218;$183 = 0;$186 = $212;$189 = $166;$204 = $215;$205 = $218;$206 = $287;$207 = $286;$208 = $229;$296 = $230;$297 = 0;$298 = 0;$299 = 0;$300 = 0;$301 = 0;
+ }
+ } else {
+ $171 = $231;$174 = $225;$177 = $222;$180 = $219;$183 = $215;$186 = $212;$189 = $166;$204 = $215;$205 = $288;$206 = $287;$207 = $286;$208 = $229;$296 = $230;$297 = $215;$298 = 0;$299 = 0;$300 = 0;$301 = 0;
+ }
+ } else {
+ $171 = $231;$174 = $225;$177 = $222;$180 = $219;$183 = $295;$186 = $212;$189 = $166;$204 = $289;$205 = $288;$206 = $287;$207 = $286;$208 = $229;$296 = $230;$297 = $292;$298 = $212;$299 = 0;$300 = $212;$301 = 0;
+ }
+ } else {
+ $171 = $231;$174 = $225;$177 = $222;$180 = $219;$183 = $295;$186 = $290;$189 = $166;$204 = $289;$205 = $288;$206 = $287;$207 = $286;$208 = $229;$296 = $230;$297 = $292;$298 = $293;$299 = $166;$300 = $213;$301 = $166;
+ }
+ } else {
+ $171 = $231;$174 = $225;$177 = $222;$180 = $219;$183 = $295;$186 = $290;$189 = $291;$204 = $289;$205 = $288;$206 = $287;$207 = $286;$208 = $229;$296 = $230;$297 = $292;$298 = $293;$299 = $294;$300 = $213;$301 = $167;
+ }
+ $169 = HEAP8[$17>>0]|0;
+ $170 = $171 ^ $169;
+ HEAP8[$1>>0] = $170;
+ $172 = HEAP8[$60>>0]|0;
+ $173 = $174 ^ $172;
+ HEAP8[$63>>0] = $173;
+ $175 = HEAP8[$64>>0]|0;
+ $176 = $177 ^ $175;
+ HEAP8[$65>>0] = $176;
+ $178 = HEAP8[$66>>0]|0;
+ $179 = $180 ^ $178;
+ HEAP8[$67>>0] = $179;
+ $181 = HEAP8[$68>>0]|0;
+ $182 = $183 ^ $181;
+ HEAP8[$69>>0] = $182;
+ $184 = HEAP8[$70>>0]|0;
+ $185 = $186 ^ $184;
+ HEAP8[$71>>0] = $185;
+ $187 = HEAP8[$72>>0]|0;
+ $188 = $189 ^ $187;
+ HEAP8[$73>>0] = $188;
+ $190 = HEAP8[$74>>0]|0;
+ $191 = $163 ^ $190;
+ HEAP8[$75>>0] = $191;
+ $192 = $43;
+ $193 = $192;
+ $194 = HEAPU8[$193>>0]|(HEAPU8[$193+1>>0]<<8)|(HEAPU8[$193+2>>0]<<16)|(HEAPU8[$193+3>>0]<<24);
+ $195 = (($192) + 4)|0;
+ $196 = $195;
+ $197 = HEAPU8[$196>>0]|(HEAPU8[$196+1>>0]<<8)|(HEAPU8[$196+2>>0]<<16)|(HEAPU8[$196+3>>0]<<24);
+ $198 = $146;
+ $199 = $198;
+ HEAP8[$199>>0]=$194&255;HEAP8[$199+1>>0]=($194>>8)&255;HEAP8[$199+2>>0]=($194>>16)&255;HEAP8[$199+3>>0]=$194>>24;
+ $200 = (($198) + 4)|0;
+ $201 = $200;
+ HEAP8[$201>>0]=$197&255;HEAP8[$201+1>>0]=($197>>8)&255;HEAP8[$201+2>>0]=($197>>16)&255;HEAP8[$201+3>>0]=$197>>24;
+ $202 = (($$06466) + 1)|0;
+ $203 = ($$06466>>>0)<($15>>>0);
+ if ($203) {
+ $$06466 = $202;$$167 = $162;$164 = $163;$167 = $301;$213 = $300;$216 = $183;$219 = $180;$222 = $177;$225 = $174;$228 = $171;$229 = $208;$230 = $296;$231 = $171;$286 = $207;$287 = $206;$288 = $205;$289 = $204;$290 = $186;$291 = $189;$292 = $297;$293 = $298;$294 = $299;$295 = $183;
+ } else {
+ break;
+ }
+ }
+ HEAP8[$61>>0] = $163;
+ HEAP8[$62>>0] = $189;
+ HEAP8[$76>>0] = $186;
+ HEAP8[$77>>0] = $204;
+ HEAP8[$78>>0] = $205;
+ HEAP8[$79>>0] = $206;
+ HEAP8[$80>>0] = $207;
+ HEAP8[$5>>0] = $208;
+ $$1$lcssa = $162;$263 = $296;$264 = $297;$265 = $298;$266 = $299;$267 = $183;$268 = $171;$269 = $171;$270 = $174;$271 = $177;$272 = $180;$273 = $183;$274 = $300;$275 = $301;$276 = $163;
+ break;
+ }
+ }
+ } while(0);
+ $209 = (($$06268) + 1)|0;
+ $exitcond = ($209|0)==(6);
+ if ($exitcond) {
+ break;
+ } else {
+ $$06169 = $$1$lcssa;$$06268 = $209;$249 = $263;$250 = $264;$251 = $265;$252 = $266;$253 = $267;$254 = $268;$255 = $269;$256 = $270;$257 = $271;$258 = $272;$259 = $273;$260 = $274;$261 = $275;$262 = $276;
+ }
+ }
+ $210 = ($$1$lcssa|0)==(0);
+ if ($210) {
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $211 = (($$1$lcssa) + 16)|0;
+ ___gcry_burn_stack($211);
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+}
+function __gcry_cipher_aeswrap_decrypt($0,$1,$2,$3,$4) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ var $$0 = 0, $$07990 = 0, $$08089 = 0, $$08487 = 0, $$08487$us = 0, $$1$lcssa = 0, $$181 = 0, $$188 = 0, $$188$us = 0, $$promoted = 0, $$promoted123 = 0, $$promoted125 = 0, $$promoted127 = 0, $$promoted129 = 0, $$promoted131 = 0, $$promoted133 = 0, $$promoted135 = 0, $10 = 0, $100 = 0, $101 = 0;
+ var $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0;
+ var $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0;
+ var $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0;
+ var $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0;
+ var $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0;
+ var $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0;
+ var $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0;
+ var $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, $247 = 0;
+ var $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, $265 = 0;
+ var $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, $283 = 0;
+ var $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0;
+ var $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, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0;
+ var $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0;
+ var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0;
+ var $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0;
+ var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $spec$select = 0, $spec$select137 = 0, $spec$select138 = 0, $spec$select140 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $5 = sp;
+ $6 = ((($0)) + 12|0);
+ $7 = HEAP32[$6>>2]|0;
+ $8 = ((($7)) + 20|0);
+ $9 = HEAP32[$8>>2]|0;
+ $10 = ($9|0)==(16);
+ if (!($10)) {
+ $$0 = 139;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $11 = (($2) + 8)|0;
+ $12 = ($11>>>0)<($4>>>0);
+ if ($12) {
+ $$0 = 200;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $13 = $4 & 7;
+ $14 = ($13|0)!=(0);
+ $15 = ($4>>>0)<(24);
+ $or$cond = $15 | $14;
+ if ($or$cond) {
+ $$0 = 45;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $16 = $4 >>> 3;
+ $17 = ((($0)) + 96|0);
+ $18 = ((($0)) + 80|0);
+ $19 = $3;
+ $20 = $19;
+ $21 = HEAPU8[$20>>0]|(HEAPU8[$20+1>>0]<<8)|(HEAPU8[$20+2>>0]<<16)|(HEAPU8[$20+3>>0]<<24);
+ $22 = (($19) + 4)|0;
+ $23 = $22;
+ $24 = HEAPU8[$23>>0]|(HEAPU8[$23+1>>0]<<8)|(HEAPU8[$23+2>>0]<<16)|(HEAPU8[$23+3>>0]<<24);
+ $25 = $17;
+ $26 = $25;
+ HEAP8[$26>>0]=$21&255;HEAP8[$26+1>>0]=($21>>8)&255;HEAP8[$26+2>>0]=($21>>16)&255;HEAP8[$26+3>>0]=$21>>24;
+ $27 = (($25) + 4)|0;
+ $28 = $27;
+ HEAP8[$28>>0]=$24&255;HEAP8[$28+1>>0]=($24>>8)&255;HEAP8[$28+2>>0]=($24>>16)&255;HEAP8[$28+3>>0]=$24>>24;
+ $29 = ((($3)) + 8|0);
+ $30 = (($4) + -8)|0;
+ _memmove(($1|0),($29|0),($30|0))|0;
+ $31 = (($16) + -1)|0;
+ $32 = ($31*6)|0;
+ $33 = $32&255;
+ $34 = ((($5)) + 7|0);
+ HEAP8[$34>>0] = $33;
+ $35 = $32 >>> 8;
+ $36 = $35&255;
+ $37 = ((($5)) + 6|0);
+ HEAP8[$37>>0] = $36;
+ $38 = $32 >>> 16;
+ $39 = $38&255;
+ $40 = ((($5)) + 5|0);
+ HEAP8[$40>>0] = $39;
+ $41 = $32 >>> 24;
+ $42 = $41&255;
+ $43 = ((($5)) + 4|0);
+ HEAP8[$43>>0] = $42;
+ HEAP32[$5>>2] = 0;
+ $44 = ($31|0)==(0);
+ $45 = $18;
+ $46 = $17;
+ $47 = $46 | $45;
+ $48 = $47 & 3;
+ $49 = ($48|0)==(0);
+ $50 = ((($0)) + 100|0);
+ $51 = ((($18)) + 4|0);
+ $52 = ((($0)) + 88|0);
+ $53 = ((($0)) + 496|0);
+ $54 = ((($5)) + 3|0);
+ $55 = ((($5)) + 2|0);
+ $56 = ((($5)) + 1|0);
+ $57 = ((($0)) + 97|0);
+ $58 = ((($18)) + 1|0);
+ $59 = ((($0)) + 98|0);
+ $60 = ((($18)) + 2|0);
+ $61 = ((($0)) + 99|0);
+ $62 = ((($18)) + 3|0);
+ $63 = ((($0)) + 100|0);
+ $64 = ((($18)) + 4|0);
+ $65 = ((($0)) + 101|0);
+ $66 = ((($5)) + 5|0);
+ $67 = ((($18)) + 5|0);
+ $68 = ((($0)) + 102|0);
+ $69 = ((($5)) + 6|0);
+ $70 = ((($18)) + 6|0);
+ $71 = ((($0)) + 103|0);
+ $72 = ((($5)) + 7|0);
+ $73 = ((($18)) + 7|0);
+ $74 = ((($5)) + 3|0);
+ $75 = ((($5)) + 2|0);
+ $76 = ((($5)) + 1|0);
+ $$07990 = 0;$$08089 = 5;$274 = 0;$275 = $42;$276 = $39;$277 = $36;$278 = $33;$279 = $42;$280 = 0;$281 = 0;$282 = 0;$283 = 0;
+ while(1) {
+ do {
+ if ($44) {
+ $$1$lcssa = $$07990;$284 = $274;$285 = $275;$286 = $276;$287 = $277;$288 = $278;$289 = $279;$290 = $280;$291 = $281;$292 = $282;$293 = $283;
+ } else {
+ if ($49) {
+ $$08487$us = $31;$$188$us = $$07990;$103 = $278;$108 = $277;$260 = $276;$265 = $280;$268 = $281;$271 = $282;
+ while(1) {
+ $77 = HEAP32[$17>>2]|0;
+ $78 = HEAP32[$5>>2]|0;
+ $79 = $78 ^ $77;
+ HEAP32[$18>>2] = $79;
+ $80 = HEAP32[$50>>2]|0;
+ $81 = HEAP32[$43>>2]|0;
+ $82 = $81 ^ $80;
+ HEAP32[$51>>2] = $82;
+ $83 = $$08487$us << 3;
+ $84 = (($83) + -8)|0;
+ $85 = (($1) + ($84)|0);
+ $86 = $85;
+ $87 = $86;
+ $88 = HEAPU8[$87>>0]|(HEAPU8[$87+1>>0]<<8)|(HEAPU8[$87+2>>0]<<16)|(HEAPU8[$87+3>>0]<<24);
+ $89 = (($86) + 4)|0;
+ $90 = $89;
+ $91 = HEAPU8[$90>>0]|(HEAPU8[$90+1>>0]<<8)|(HEAPU8[$90+2>>0]<<16)|(HEAPU8[$90+3>>0]<<24);
+ $92 = $52;
+ $93 = $92;
+ HEAP8[$93>>0]=$88&255;HEAP8[$93+1>>0]=($88>>8)&255;HEAP8[$93+2>>0]=($88>>16)&255;HEAP8[$93+3>>0]=$88>>24;
+ $94 = (($92) + 4)|0;
+ $95 = $94;
+ HEAP8[$95>>0]=$91&255;HEAP8[$95+1>>0]=($91>>8)&255;HEAP8[$95+2>>0]=($91>>16)&255;HEAP8[$95+3>>0]=$91>>24;
+ $96 = HEAP32[$6>>2]|0;
+ $97 = ((($96)) + 40|0);
+ $98 = HEAP32[$97>>2]|0;
+ $99 = (FUNCTION_TABLE_iiii[$98 & 127]($53,$18,$18)|0);
+ $100 = ($99>>>0)>($$188$us>>>0);
+ $101 = $100 ? $99 : $$188$us;
+ $102 = (($103) + -1)<<24>>24;
+ HEAP8[$34>>0] = $102;
+ $104 = ($103<<24>>24)==(0);
+ $105 = $78&255;
+ $106 = $81&255;
+ if ($104) {
+ $107 = (($108) + -1)<<24>>24;
+ HEAP8[$37>>0] = $107;
+ $109 = ($108<<24>>24)==(0);
+ if ($109) {
+ $259 = (($260) + -1)<<24>>24;
+ HEAP8[$40>>0] = $259;
+ $261 = ($260<<24>>24)==(0);
+ if ($261) {
+ $262 = (($106) + -1)<<24>>24;
+ HEAP8[$43>>0] = $262;
+ $263 = ($106<<24>>24)==(0);
+ if ($263) {
+ $264 = (($265) + -1)<<24>>24;
+ HEAP8[$54>>0] = $264;
+ $266 = ($265<<24>>24)==(0);
+ if ($266) {
+ $267 = (($268) + -1)<<24>>24;
+ HEAP8[$55>>0] = $267;
+ $269 = ($268<<24>>24)==(0);
+ if ($269) {
+ $270 = (($271) + -1)<<24>>24;
+ HEAP8[$56>>0] = $270;
+ $272 = ($271<<24>>24)==(0);
+ if ($272) {
+ $273 = (($105) + -1)<<24>>24;
+ HEAP8[$5>>0] = $273;
+ $294 = $273;$295 = -1;$296 = -1;$297 = -1;$298 = -1;$299 = -1;$300 = -1;
+ } else {
+ $294 = $105;$295 = -1;$296 = -1;$297 = -1;$298 = -1;$299 = -1;$300 = $270;
+ }
+ } else {
+ $294 = $105;$295 = -1;$296 = -1;$297 = -1;$298 = -1;$299 = $267;$300 = $271;
+ }
+ } else {
+ $294 = $105;$295 = -1;$296 = -1;$297 = -1;$298 = $264;$299 = $268;$300 = $271;
+ }
+ } else {
+ $294 = $105;$295 = $262;$296 = -1;$297 = -1;$298 = $265;$299 = $268;$300 = $271;
+ }
+ } else {
+ $294 = $105;$295 = $106;$296 = $259;$297 = -1;$298 = $265;$299 = $268;$300 = $271;
+ }
+ } else {
+ $294 = $105;$295 = $106;$296 = $260;$297 = $107;$298 = $265;$299 = $268;$300 = $271;
+ }
+ } else {
+ $294 = $105;$295 = $106;$296 = $260;$297 = $108;$298 = $265;$299 = $268;$300 = $271;
+ }
+ $110 = $18;
+ $111 = $110;
+ $112 = HEAPU8[$111>>0]|(HEAPU8[$111+1>>0]<<8)|(HEAPU8[$111+2>>0]<<16)|(HEAPU8[$111+3>>0]<<24);
+ $113 = (($110) + 4)|0;
+ $114 = $113;
+ $115 = HEAPU8[$114>>0]|(HEAPU8[$114+1>>0]<<8)|(HEAPU8[$114+2>>0]<<16)|(HEAPU8[$114+3>>0]<<24);
+ $116 = $17;
+ $117 = $116;
+ HEAP8[$117>>0]=$112&255;HEAP8[$117+1>>0]=($112>>8)&255;HEAP8[$117+2>>0]=($112>>16)&255;HEAP8[$117+3>>0]=$112>>24;
+ $118 = (($116) + 4)|0;
+ $119 = $118;
+ HEAP8[$119>>0]=$115&255;HEAP8[$119+1>>0]=($115>>8)&255;HEAP8[$119+2>>0]=($115>>16)&255;HEAP8[$119+3>>0]=$115>>24;
+ $120 = $52;
+ $121 = $120;
+ $122 = HEAPU8[$121>>0]|(HEAPU8[$121+1>>0]<<8)|(HEAPU8[$121+2>>0]<<16)|(HEAPU8[$121+3>>0]<<24);
+ $123 = (($120) + 4)|0;
+ $124 = $123;
+ $125 = HEAPU8[$124>>0]|(HEAPU8[$124+1>>0]<<8)|(HEAPU8[$124+2>>0]<<16)|(HEAPU8[$124+3>>0]<<24);
+ $126 = $85;
+ $127 = $126;
+ HEAP8[$127>>0]=$122&255;HEAP8[$127+1>>0]=($122>>8)&255;HEAP8[$127+2>>0]=($122>>16)&255;HEAP8[$127+3>>0]=$122>>24;
+ $128 = (($126) + 4)|0;
+ $129 = $128;
+ HEAP8[$129>>0]=$125&255;HEAP8[$129+1>>0]=($125>>8)&255;HEAP8[$129+2>>0]=($125>>16)&255;HEAP8[$129+3>>0]=$125>>24;
+ $130 = (($$08487$us) + -1)|0;
+ $131 = ($130|0)==(0);
+ if ($131) {
+ $$1$lcssa = $101;$284 = $294;$285 = $295;$286 = $296;$287 = $297;$288 = $102;$289 = $295;$290 = $298;$291 = $299;$292 = $300;$293 = $294;
+ break;
+ } else {
+ $$08487$us = $130;$$188$us = $101;$103 = $102;$108 = $297;$260 = $296;$265 = $298;$268 = $299;$271 = $300;
+ }
+ }
+ } else {
+ $$promoted = HEAP8[$66>>0]|0;
+ $$promoted123 = HEAP8[$69>>0]|0;
+ $$promoted125 = HEAP8[$72>>0]|0;
+ $$promoted127 = HEAP8[$43>>0]|0;
+ $$promoted129 = HEAP8[$74>>0]|0;
+ $$promoted131 = HEAP8[$75>>0]|0;
+ $$promoted133 = HEAP8[$76>>0]|0;
+ $$promoted135 = HEAP8[$5>>0]|0;
+ $$08487 = $31;$$188 = $$07990;$134 = $283;$137 = $282;$140 = $281;$143 = $280;$146 = $279;$149 = $$promoted;$152 = $$promoted123;$155 = $$promoted125;$176 = $278;$179 = $277;$245 = $276;$248 = $275;$257 = $274;$258 = $$promoted135;$301 = $$promoted133;$302 = $$promoted131;$303 = $$promoted129;$304 = $$promoted127;
+ while(1) {
+ $132 = HEAP8[$17>>0]|0;
+ $133 = $134 ^ $132;
+ HEAP8[$18>>0] = $133;
+ $135 = HEAP8[$57>>0]|0;
+ $136 = $137 ^ $135;
+ HEAP8[$58>>0] = $136;
+ $138 = HEAP8[$59>>0]|0;
+ $139 = $140 ^ $138;
+ HEAP8[$60>>0] = $139;
+ $141 = HEAP8[$61>>0]|0;
+ $142 = $143 ^ $141;
+ HEAP8[$62>>0] = $142;
+ $144 = HEAP8[$63>>0]|0;
+ $145 = $146 ^ $144;
+ HEAP8[$64>>0] = $145;
+ $147 = HEAP8[$65>>0]|0;
+ $148 = $149 ^ $147;
+ HEAP8[$67>>0] = $148;
+ $150 = HEAP8[$68>>0]|0;
+ $151 = $152 ^ $150;
+ HEAP8[$70>>0] = $151;
+ $153 = HEAP8[$71>>0]|0;
+ $154 = $155 ^ $153;
+ HEAP8[$73>>0] = $154;
+ $156 = $$08487 << 3;
+ $157 = (($156) + -8)|0;
+ $158 = (($1) + ($157)|0);
+ $159 = $158;
+ $160 = $159;
+ $161 = HEAPU8[$160>>0]|(HEAPU8[$160+1>>0]<<8)|(HEAPU8[$160+2>>0]<<16)|(HEAPU8[$160+3>>0]<<24);
+ $162 = (($159) + 4)|0;
+ $163 = $162;
+ $164 = HEAPU8[$163>>0]|(HEAPU8[$163+1>>0]<<8)|(HEAPU8[$163+2>>0]<<16)|(HEAPU8[$163+3>>0]<<24);
+ $165 = $52;
+ $166 = $165;
+ HEAP8[$166>>0]=$161&255;HEAP8[$166+1>>0]=($161>>8)&255;HEAP8[$166+2>>0]=($161>>16)&255;HEAP8[$166+3>>0]=$161>>24;
+ $167 = (($165) + 4)|0;
+ $168 = $167;
+ HEAP8[$168>>0]=$164&255;HEAP8[$168+1>>0]=($164>>8)&255;HEAP8[$168+2>>0]=($164>>16)&255;HEAP8[$168+3>>0]=$164>>24;
+ $169 = HEAP32[$6>>2]|0;
+ $170 = ((($169)) + 40|0);
+ $171 = HEAP32[$170>>2]|0;
+ $172 = (FUNCTION_TABLE_iiii[$171 & 127]($53,$18,$18)|0);
+ $173 = ($172>>>0)>($$188>>>0);
+ $174 = $173 ? $172 : $$188;
+ $175 = (($176) + -1)<<24>>24;
+ $177 = ($176<<24>>24)==(0);
+ if ($177) {
+ $178 = (($179) + -1)<<24>>24;
+ $180 = ($179<<24>>24)==(0);
+ if ($180) {
+ $244 = (($245) + -1)<<24>>24;
+ $246 = ($245<<24>>24)==(0);
+ if ($246) {
+ $247 = (($248) + -1)<<24>>24;
+ $249 = ($248<<24>>24)==(0);
+ if ($249) {
+ $250 = (($143) + -1)<<24>>24;
+ $251 = ($143<<24>>24)==(0);
+ if ($251) {
+ $252 = (($140) + -1)<<24>>24;
+ $253 = ($140<<24>>24)==(0);
+ if ($253) {
+ $254 = (($137) + -1)<<24>>24;
+ $255 = ($137<<24>>24)==(0);
+ $256 = (($257) + -1)<<24>>24;
+ $spec$select137 = $255 ? $256 : $258;
+ $spec$select138 = $255 ? $256 : $257;
+ $spec$select140 = $255 ? $256 : $134;
+ $203 = $244;$204 = $178;$205 = $247;$206 = $250;$207 = $252;$208 = $254;$209 = $spec$select137;$305 = $spec$select138;$306 = -1;$307 = -1;$308 = -1;$309 = -1;$310 = -1;$311 = -1;$312 = $254;$313 = $spec$select140;
+ } else {
+ $203 = $244;$204 = $178;$205 = $247;$206 = $250;$207 = $252;$208 = $301;$209 = $258;$305 = $257;$306 = -1;$307 = -1;$308 = -1;$309 = -1;$310 = -1;$311 = $252;$312 = $137;$313 = $134;
+ }
+ } else {
+ $203 = $244;$204 = $178;$205 = $247;$206 = $250;$207 = $302;$208 = $301;$209 = $258;$305 = $257;$306 = -1;$307 = -1;$308 = -1;$309 = -1;$310 = $250;$311 = $140;$312 = $137;$313 = $134;
+ }
+ } else {
+ $203 = $244;$204 = $178;$205 = $247;$206 = $303;$207 = $302;$208 = $301;$209 = $258;$305 = $257;$306 = $247;$307 = -1;$308 = -1;$309 = $247;$310 = $143;$311 = $140;$312 = $137;$313 = $134;
+ }
+ } else {
+ $203 = $244;$204 = $178;$205 = $304;$206 = $303;$207 = $302;$208 = $301;$209 = $258;$305 = $257;$306 = $248;$307 = $244;$308 = -1;$309 = $146;$310 = $143;$311 = $140;$312 = $137;$313 = $134;
+ }
+ } else {
+ $203 = $149;$204 = $178;$205 = $304;$206 = $303;$207 = $302;$208 = $301;$209 = $258;$305 = $257;$306 = $248;$307 = $245;$308 = $178;$309 = $146;$310 = $143;$311 = $140;$312 = $137;$313 = $134;
+ }
+ } else {
+ $203 = $149;$204 = $152;$205 = $304;$206 = $303;$207 = $302;$208 = $301;$209 = $258;$305 = $257;$306 = $248;$307 = $245;$308 = $179;$309 = $146;$310 = $143;$311 = $140;$312 = $137;$313 = $134;
+ }
+ $181 = $18;
+ $182 = $181;
+ $183 = HEAPU8[$182>>0]|(HEAPU8[$182+1>>0]<<8)|(HEAPU8[$182+2>>0]<<16)|(HEAPU8[$182+3>>0]<<24);
+ $184 = (($181) + 4)|0;
+ $185 = $184;
+ $186 = HEAPU8[$185>>0]|(HEAPU8[$185+1>>0]<<8)|(HEAPU8[$185+2>>0]<<16)|(HEAPU8[$185+3>>0]<<24);
+ $187 = $17;
+ $188 = $187;
+ HEAP8[$188>>0]=$183&255;HEAP8[$188+1>>0]=($183>>8)&255;HEAP8[$188+2>>0]=($183>>16)&255;HEAP8[$188+3>>0]=$183>>24;
+ $189 = (($187) + 4)|0;
+ $190 = $189;
+ HEAP8[$190>>0]=$186&255;HEAP8[$190+1>>0]=($186>>8)&255;HEAP8[$190+2>>0]=($186>>16)&255;HEAP8[$190+3>>0]=$186>>24;
+ $191 = $52;
+ $192 = $191;
+ $193 = HEAPU8[$192>>0]|(HEAPU8[$192+1>>0]<<8)|(HEAPU8[$192+2>>0]<<16)|(HEAPU8[$192+3>>0]<<24);
+ $194 = (($191) + 4)|0;
+ $195 = $194;
+ $196 = HEAPU8[$195>>0]|(HEAPU8[$195+1>>0]<<8)|(HEAPU8[$195+2>>0]<<16)|(HEAPU8[$195+3>>0]<<24);
+ $197 = $158;
+ $198 = $197;
+ HEAP8[$198>>0]=$193&255;HEAP8[$198+1>>0]=($193>>8)&255;HEAP8[$198+2>>0]=($193>>16)&255;HEAP8[$198+3>>0]=$193>>24;
+ $199 = (($197) + 4)|0;
+ $200 = $199;
+ HEAP8[$200>>0]=$196&255;HEAP8[$200+1>>0]=($196>>8)&255;HEAP8[$200+2>>0]=($196>>16)&255;HEAP8[$200+3>>0]=$196>>24;
+ $201 = (($$08487) + -1)|0;
+ $202 = ($201|0)==(0);
+ if ($202) {
+ break;
+ } else {
+ $$08487 = $201;$$188 = $174;$134 = $313;$137 = $312;$140 = $311;$143 = $310;$146 = $309;$149 = $203;$152 = $204;$155 = $175;$176 = $175;$179 = $308;$245 = $307;$248 = $306;$257 = $305;$258 = $209;$301 = $208;$302 = $207;$303 = $206;$304 = $205;
+ }
+ }
+ HEAP8[$66>>0] = $203;
+ HEAP8[$69>>0] = $204;
+ HEAP8[$72>>0] = $175;
+ HEAP8[$43>>0] = $205;
+ HEAP8[$74>>0] = $206;
+ HEAP8[$75>>0] = $207;
+ HEAP8[$76>>0] = $208;
+ HEAP8[$5>>0] = $209;
+ $$1$lcssa = $174;$284 = $305;$285 = $306;$286 = $307;$287 = $308;$288 = $175;$289 = $309;$290 = $310;$291 = $311;$292 = $312;$293 = $313;
+ break;
+ }
+ }
+ } while(0);
+ $210 = (($$08089) + -1)|0;
+ $211 = ($$08089|0)==(0);
+ if ($211) {
+ break;
+ } else {
+ $$07990 = $$1$lcssa;$$08089 = $210;$274 = $284;$275 = $285;$276 = $286;$277 = $287;$278 = $288;$279 = $289;$280 = $290;$281 = $291;$282 = $292;$283 = $293;
+ }
+ }
+ $212 = ((($0)) + 56|0);
+ $213 = HEAP8[$212>>0]|0;
+ $214 = $213 & 2;
+ $215 = ($214<<24>>24)==(0);
+ if ($215) {
+ $218 = HEAP8[$17>>0]|0;
+ $219 = ($218<<24>>24)==(-90);
+ if ($219) {
+ $220 = ((($0)) + 97|0);
+ $221 = HEAP8[$220>>0]|0;
+ $222 = ($221<<24>>24)==(-90);
+ if ($222) {
+ $227 = ((($0)) + 98|0);
+ $228 = HEAP8[$227>>0]|0;
+ $229 = ($228<<24>>24)==(-90);
+ if ($229) {
+ $230 = ((($0)) + 99|0);
+ $231 = HEAP8[$230>>0]|0;
+ $232 = ($231<<24>>24)==(-90);
+ if ($232) {
+ $233 = HEAP8[$50>>0]|0;
+ $234 = ($233<<24>>24)==(-90);
+ if ($234) {
+ $235 = ((($0)) + 101|0);
+ $236 = HEAP8[$235>>0]|0;
+ $237 = ($236<<24>>24)==(-90);
+ if ($237) {
+ $238 = ((($0)) + 102|0);
+ $239 = HEAP8[$238>>0]|0;
+ $240 = ($239<<24>>24)==(-90);
+ if ($240) {
+ $241 = ((($0)) + 103|0);
+ $242 = HEAP8[$241>>0]|0;
+ $243 = ($242<<24>>24)!=(-90);
+ $spec$select = $243&1;
+ $$181 = $spec$select;
+ } else {
+ $$181 = 1;
+ }
+ } else {
+ $$181 = 1;
+ }
+ } else {
+ $$181 = 1;
+ }
+ } else {
+ $$181 = 1;
+ }
+ } else {
+ $$181 = 1;
+ }
+ } else {
+ $$181 = 1;
+ }
+ } else {
+ $$181 = 1;
+ }
+ } else {
+ $216 = ((($0)) + 64|0);
+ $217 = (_memcmp($17,$216,8)|0);
+ $$181 = $217;
+ }
+ $223 = ($$1$lcssa|0)==(0);
+ if (!($223)) {
+ $224 = (($$1$lcssa) + 16)|0;
+ ___gcry_burn_stack($224);
+ }
+ $225 = ($$181|0)==(0);
+ $226 = $225 ? 0 : 10;
+ $$0 = $226;
+ STACKTOP = sp;return ($$0|0);
+}
+function __gcry_cipher_cbc_encrypt($0,$1,$2,$3,$4) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ var $$ = 0, $$0 = 0, $$0122$lcssa = 0, $$0122173 = 0, $$0122173$us = 0, $$0123 = 0, $$0124$lcssa = 0, $$0124172 = 0, $$0124172$us = 0, $$0127$lcssa = 0, $$0127171 = 0, $$0127171$us = 0, $$0129$lcssa = 0, $$0129164 = 0, $$0131$lcssa = 0, $$0131170 = 0, $$0131170$phi = 0, $$0131170$us = 0, $$0131170$us$phi = 0, $$0134169 = 0;
+ var $$0134169$us = 0, $$02434$i = 0, $$02434$i149 = 0, $$02533$i = 0, $$02533$i150 = 0, $$026$i = 0, $$026$i153 = 0, $$028$i = 0, $$028$i152 = 0, $$03449$i$us = 0, $$035$i = 0, $$035$i148 = 0, $$03548$i$us = 0, $$03647$i$us = 0, $$037$i$us = 0, $$039$i$us = 0, $$041$i$us = 0, $$050$i$us = 0, $$1 = 0, $$1$i$us = 0;
+ var $$1$i142 = 0, $$1$i154 = 0, $$1128 = 0, $$1130162 = 0, $$1132$lcssa = 0, $$1132163 = 0, $$12731$i = 0, $$12731$i158 = 0, $$12930$i = 0, $$12930$i159 = 0, $$13845$i = 0, $$13845$i$us = 0, $$14044$i = 0, $$14044$i$us = 0, $$14243$i = 0, $$14243$i$us = 0, $$2 = 0, $$2126 = 0, $$2133161 = 0, $$232$i = 0;
+ var $$232$i157 = 0, $$246$i = 0, $$246$i$us = 0, $$pre = 0, $$pre$phiZ2D = 0, $$pre191 = 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;
+ var $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0;
+ var $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0;
+ var $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0;
+ var $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0;
+ var $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0;
+ var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0;
+ var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0;
+ var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond188 = 0, $or$cond = 0, $or$cond$i140 = 0, $or$cond$i144 = 0, $or$cond136 = 0, $or$cond137 = 0, $or$cond139 = 0;
+ var $scevgep$i$us = 0, $scevgep$i141 = 0, $scevgep$i145 = 0, $scevgep44$i = 0, $scevgep44$i146 = 0, $scevgep61$i$us = 0, $scevgep63$i$us = 0, $spec$select = 0, $spec$select138 = 0, $spec$select138$us = 0, $uglygep = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $5 = ((($0)) + 12|0);
+ $6 = HEAP32[$5>>2]|0;
+ $7 = ((($6)) + 20|0);
+ $8 = HEAP32[$7>>2]|0;
+ $9 = ((($6)) + 36|0);
+ $10 = HEAP32[$9>>2]|0;
+ $11 = (($4>>>0) / ($8>>>0))&-1;
+ $12 = ((($0)) + 52|0);
+ $13 = HEAP32[$12>>2]|0;
+ $14 = $13 & 8;
+ $15 = ($14|0)==(0);
+ $16 = $15 ? $4 : $8;
+ $17 = ($16>>>0)>($2>>>0);
+ if ($17) {
+ $$0 = 200;
+ return ($$0|0);
+ }
+ $18 = Math_imul($11, $8)|0;
+ $19 = (($4) - ($18))|0;
+ $20 = ($19|0)==(0);
+ if ($20) {
+ $$pre191 = $13 & 4;
+ $$pre$phiZ2D = $$pre191;
+ } else {
+ $21 = ($8>>>0)>=($4>>>0);
+ $22 = $13 & 4;
+ $23 = ($22|0)==(0);
+ $or$cond = $21 | $23;
+ if ($or$cond) {
+ $$0 = 139;
+ return ($$0|0);
+ } else {
+ $$pre$phiZ2D = $22;
+ }
+ }
+ $24 = ($$pre$phiZ2D|0)!=(0);
+ $25 = ($8>>>0)<($4>>>0);
+ $or$cond136 = $25 & $24;
+ $or$cond137 = $or$cond136 & $20;
+ $26 = $or$cond137 << 31 >> 31;
+ $$0123 = (($11) + ($26))|0;
+ $27 = ((($0)) + 28|0);
+ $28 = HEAP32[$27>>2]|0;
+ $29 = ($28|0)==(0|0);
+ if ($29) {
+ $38 = ((($0)) + 64|0);
+ $39 = ($$0123|0)==(0);
+ if ($39) {
+ $$1 = 0;$$1128 = $3;$$2126 = $1;$122 = $13;
+ } else {
+ $40 = ($8>>>0)>(3);
+ $41 = (($8) + -4)|0;
+ $42 = $41 & -4;
+ $43 = (($42) + 4)|0;
+ $44 = ((($0)) + 496|0);
+ $45 = (($41) - ($42))|0;
+ if ($40) {
+ $$0122173$us = 0;$$0124172$us = $1;$$0127171$us = $3;$$0131170$us = $38;$$0134169$us = 0;
+ while(1) {
+ $46 = $$0124172$us;
+ $47 = $$0127171$us;
+ $48 = $$0131170$us;
+ $49 = $47 | $48;
+ $50 = $49 | $46;
+ $51 = $50 & 3;
+ $52 = ($51|0)==(0);
+ if ($52) {
+ $scevgep61$i$us = (($$0131170$us) + ($43)|0);
+ $$03449$i$us = $$0131170$us;$$03548$i$us = $$0127171$us;$$03647$i$us = $$0124172$us;$$050$i$us = $8;
+ while(1) {
+ $53 = ((($$03548$i$us)) + 4|0);
+ $54 = HEAP32[$$03548$i$us>>2]|0;
+ $55 = ((($$03449$i$us)) + 4|0);
+ $56 = HEAP32[$$03449$i$us>>2]|0;
+ $57 = $56 ^ $54;
+ $58 = ((($$03647$i$us)) + 4|0);
+ HEAP32[$$03647$i$us>>2] = $57;
+ $59 = (($$050$i$us) + -4)|0;
+ $60 = ($59>>>0)>(3);
+ if ($60) {
+ $$03449$i$us = $55;$$03548$i$us = $53;$$03647$i$us = $58;$$050$i$us = $59;
+ } else {
+ break;
+ }
+ }
+ $scevgep$i$us = (($$0127171$us) + ($43)|0);
+ $scevgep63$i$us = (($$0124172$us) + ($43)|0);
+ $$037$i$us = $scevgep61$i$us;$$039$i$us = $scevgep$i$us;$$041$i$us = $scevgep63$i$us;$$1$i$us = $45;
+ } else {
+ $$037$i$us = $$0131170$us;$$039$i$us = $$0127171$us;$$041$i$us = $$0124172$us;$$1$i$us = $8;
+ }
+ $61 = ($$1$i$us|0)==(0);
+ if (!($61)) {
+ $$13845$i$us = $$037$i$us;$$14044$i$us = $$039$i$us;$$14243$i$us = $$041$i$us;$$246$i$us = $$1$i$us;
+ while(1) {
+ $62 = ((($$14044$i$us)) + 1|0);
+ $63 = HEAP8[$$14044$i$us>>0]|0;
+ $64 = ((($$13845$i$us)) + 1|0);
+ $65 = HEAP8[$$13845$i$us>>0]|0;
+ $66 = $65 ^ $63;
+ $67 = ((($$14243$i$us)) + 1|0);
+ HEAP8[$$14243$i$us>>0] = $66;
+ $68 = (($$246$i$us) + -1)|0;
+ $69 = ($68|0)==(0);
+ if ($69) {
+ break;
+ } else {
+ $$13845$i$us = $64;$$14044$i$us = $62;$$14243$i$us = $67;$$246$i$us = $68;
+ }
+ }
+ }
+ $70 = (FUNCTION_TABLE_iiii[$10 & 127]($44,$$0124172$us,$$0124172$us)|0);
+ $71 = ($70>>>0)>($$0122173$us>>>0);
+ $72 = $71 ? $70 : $$0122173$us;
+ $73 = (($$0127171$us) + ($8)|0);
+ $74 = HEAP32[$12>>2]|0;
+ $75 = $74 & 8;
+ $76 = ($75|0)==(0);
+ $77 = (($$0124172$us) + ($8)|0);
+ $spec$select138$us = $76 ? $77 : $$0124172$us;
+ $78 = (($$0134169$us) + 1)|0;
+ $79 = ($78>>>0)<($$0123>>>0);
+ if ($79) {
+ $$0131170$us$phi = $$0124172$us;$$0122173$us = $72;$$0124172$us = $spec$select138$us;$$0127171$us = $73;$$0134169$us = $78;$$0131170$us = $$0131170$us$phi;
+ } else {
+ $$0122$lcssa = $72;$$0124$lcssa = $spec$select138$us;$$0127$lcssa = $73;$$0131$lcssa = $$0124172$us;$170 = $74;
+ break;
+ }
+ }
+ } else {
+ $80 = ($8|0)==(0);
+ $$0122173 = 0;$$0124172 = $1;$$0127171 = $3;$$0131170 = $38;$$0134169 = 0;
+ while(1) {
+ if (!($80)) {
+ $$13845$i = $$0131170;$$14044$i = $$0127171;$$14243$i = $$0124172;$$246$i = $8;
+ while(1) {
+ $81 = ((($$14044$i)) + 1|0);
+ $82 = HEAP8[$$14044$i>>0]|0;
+ $83 = ((($$13845$i)) + 1|0);
+ $84 = HEAP8[$$13845$i>>0]|0;
+ $85 = $84 ^ $82;
+ $86 = ((($$14243$i)) + 1|0);
+ HEAP8[$$14243$i>>0] = $85;
+ $87 = (($$246$i) + -1)|0;
+ $88 = ($87|0)==(0);
+ if ($88) {
+ break;
+ } else {
+ $$13845$i = $83;$$14044$i = $81;$$14243$i = $86;$$246$i = $87;
+ }
+ }
+ }
+ $89 = (FUNCTION_TABLE_iiii[$10 & 127]($44,$$0124172,$$0124172)|0);
+ $90 = ($89>>>0)>($$0122173>>>0);
+ $91 = $90 ? $89 : $$0122173;
+ $92 = (($$0127171) + ($8)|0);
+ $93 = HEAP32[$12>>2]|0;
+ $94 = $93 & 8;
+ $95 = ($94|0)==(0);
+ $96 = (($$0124172) + ($8)|0);
+ $spec$select138 = $95 ? $96 : $$0124172;
+ $97 = (($$0134169) + 1)|0;
+ $98 = ($97>>>0)<($$0123>>>0);
+ if ($98) {
+ $$0131170$phi = $$0124172;$$0122173 = $91;$$0124172 = $spec$select138;$$0127171 = $92;$$0134169 = $97;$$0131170 = $$0131170$phi;
+ } else {
+ $$0122$lcssa = $91;$$0124$lcssa = $spec$select138;$$0127$lcssa = $92;$$0131$lcssa = $$0124172;$170 = $93;
+ break;
+ }
+ }
+ }
+ $99 = ($$0131$lcssa|0)==($38|0);
+ if ($99) {
+ $$1 = $$0122$lcssa;$$1128 = $$0127$lcssa;$$2126 = $$0124$lcssa;$122 = $170;
+ } else {
+ $100 = $38;
+ $101 = $$0131$lcssa;
+ $102 = $101 | $100;
+ $103 = $102 & 3;
+ $104 = ($103|0)==(0);
+ $105 = ($8>>>0)>(3);
+ $or$cond$i144 = $105 & $104;
+ if ($or$cond$i144) {
+ $106 = (($8) + -4)|0;
+ $107 = $106 & -4;
+ $108 = (($107) + 4)|0;
+ $scevgep$i145 = (($$0131$lcssa) + ($108)|0);
+ $$02434$i149 = $$0131$lcssa;$$02533$i150 = $38;$$035$i148 = $8;
+ while(1) {
+ $109 = ((($$02434$i149)) + 4|0);
+ $110 = HEAP32[$$02434$i149>>2]|0;
+ $111 = ((($$02533$i150)) + 4|0);
+ HEAP32[$$02533$i150>>2] = $110;
+ $112 = (($$035$i148) + -4)|0;
+ $113 = ($112>>>0)>(3);
+ if ($113) {
+ $$02434$i149 = $109;$$02533$i150 = $111;$$035$i148 = $112;
+ } else {
+ break;
+ }
+ }
+ $scevgep44$i146 = (($38) + ($108)|0);
+ $114 = (($106) - ($107))|0;
+ $$026$i153 = $scevgep$i145;$$028$i152 = $scevgep44$i146;$$1$i154 = $114;
+ } else {
+ $$026$i153 = $$0131$lcssa;$$028$i152 = $38;$$1$i154 = $8;
+ }
+ $115 = ($$1$i154|0)==(0);
+ if ($115) {
+ $$1 = $$0122$lcssa;$$1128 = $$0127$lcssa;$$2126 = $$0124$lcssa;$122 = $170;
+ } else {
+ $$12731$i158 = $$026$i153;$$12930$i159 = $$028$i152;$$232$i157 = $$1$i154;
+ while(1) {
+ $116 = ((($$12731$i158)) + 1|0);
+ $117 = HEAP8[$$12731$i158>>0]|0;
+ $118 = ((($$12930$i159)) + 1|0);
+ HEAP8[$$12930$i159>>0] = $117;
+ $119 = (($$232$i157) + -1)|0;
+ $120 = ($119|0)==(0);
+ if ($120) {
+ break;
+ } else {
+ $$12731$i158 = $116;$$12930$i159 = $118;$$232$i157 = $119;
+ }
+ }
+ $$pre = HEAP32[$12>>2]|0;
+ $$1 = $$0122$lcssa;$$1128 = $$0127$lcssa;$$2126 = $$0124$lcssa;$122 = $$pre;
+ }
+ }
+ }
+ } else {
+ $30 = ((($0)) + 496|0);
+ $31 = ((($0)) + 64|0);
+ FUNCTION_TABLE_viiiiii[$28 & 63]($30,$31,$1,$3,$$0123,$14);
+ $32 = Math_imul($$0123, $8)|0;
+ $33 = (($3) + ($32)|0);
+ $34 = HEAP32[$12>>2]|0;
+ $35 = $34 & 8;
+ $36 = ($35|0)==(0);
+ $37 = (($1) + ($32)|0);
+ $spec$select = $36 ? $37 : $1;
+ $$1 = 0;$$1128 = $33;$$2126 = $spec$select;$122 = $34;
+ }
+ $121 = $122 & 4;
+ $123 = ($121|0)!=(0);
+ $or$cond139 = $25 & $123;
+ if ($or$cond139) {
+ $$ = $20 ? $8 : $19;
+ $124 = (0 - ($8))|0;
+ $125 = (($$2126) + ($124)|0);
+ $126 = ((($0)) + 64|0);
+ $127 = ($$|0)==(0);
+ if ($127) {
+ $$0129$lcssa = 0;$$1132$lcssa = $126;
+ } else {
+ $128 = (($$) + 64)|0;
+ $$0129164 = 0;$$1132163 = $126;
+ while(1) {
+ $129 = (($$1128) + ($$0129164)|0);
+ $130 = HEAP8[$129>>0]|0;
+ $131 = (($125) + ($$0129164)|0);
+ $132 = HEAP8[$131>>0]|0;
+ $133 = (($$2126) + ($$0129164)|0);
+ HEAP8[$133>>0] = $132;
+ $134 = ((($$1132163)) + 1|0);
+ $135 = HEAP8[$$1132163>>0]|0;
+ $136 = $135 ^ $130;
+ HEAP8[$131>>0] = $136;
+ $137 = (($$0129164) + 1)|0;
+ $exitcond188 = ($137|0)==($$|0);
+ if ($exitcond188) {
+ break;
+ } else {
+ $$0129164 = $137;$$1132163 = $134;
+ }
+ }
+ $uglygep = (($0) + ($128)|0);
+ $$0129$lcssa = $$;$$1132$lcssa = $uglygep;
+ }
+ $138 = ($$0129$lcssa>>>0)<($8>>>0);
+ if ($138) {
+ $$1130162 = $$0129$lcssa;$$2133161 = $$1132$lcssa;
+ while(1) {
+ $139 = ((($$2133161)) + 1|0);
+ $140 = HEAP8[$$2133161>>0]|0;
+ $141 = (($125) + ($$1130162)|0);
+ HEAP8[$141>>0] = $140;
+ $142 = (($$1130162) + 1)|0;
+ $exitcond = ($142|0)==($8|0);
+ if ($exitcond) {
+ break;
+ } else {
+ $$1130162 = $142;$$2133161 = $139;
+ }
+ }
+ }
+ $143 = ((($0)) + 496|0);
+ $144 = (FUNCTION_TABLE_iiii[$10 & 127]($143,$125,$125)|0);
+ $145 = ($144>>>0)>($$1>>>0);
+ $146 = $145 ? $144 : $$1;
+ $147 = $126;
+ $148 = $125;
+ $149 = $148 | $147;
+ $150 = $149 & 3;
+ $151 = ($150|0)==(0);
+ $152 = ($8>>>0)>(3);
+ $or$cond$i140 = $152 & $151;
+ if ($or$cond$i140) {
+ $153 = (($8) + -4)|0;
+ $154 = $153 & -4;
+ $155 = (($154) + 4)|0;
+ $scevgep$i141 = (($125) + ($155)|0);
+ $$02434$i = $125;$$02533$i = $126;$$035$i = $8;
+ while(1) {
+ $156 = ((($$02434$i)) + 4|0);
+ $157 = HEAP32[$$02434$i>>2]|0;
+ $158 = ((($$02533$i)) + 4|0);
+ HEAP32[$$02533$i>>2] = $157;
+ $159 = (($$035$i) + -4)|0;
+ $160 = ($159>>>0)>(3);
+ if ($160) {
+ $$02434$i = $156;$$02533$i = $158;$$035$i = $159;
+ } else {
+ break;
+ }
+ }
+ $scevgep44$i = (($126) + ($155)|0);
+ $161 = (($153) - ($154))|0;
+ $$026$i = $scevgep$i141;$$028$i = $scevgep44$i;$$1$i142 = $161;
+ } else {
+ $$026$i = $125;$$028$i = $126;$$1$i142 = $8;
+ }
+ $162 = ($$1$i142|0)==(0);
+ if ($162) {
+ $$2 = $146;
+ } else {
+ $$12731$i = $$026$i;$$12930$i = $$028$i;$$232$i = $$1$i142;
+ while(1) {
+ $163 = ((($$12731$i)) + 1|0);
+ $164 = HEAP8[$$12731$i>>0]|0;
+ $165 = ((($$12930$i)) + 1|0);
+ HEAP8[$$12930$i>>0] = $164;
+ $166 = (($$232$i) + -1)|0;
+ $167 = ($166|0)==(0);
+ if ($167) {
+ $$2 = $146;
+ break;
+ } else {
+ $$12731$i = $163;$$12930$i = $165;$$232$i = $166;
+ }
+ }
+ }
+ } else {
+ $$2 = $$1;
+ }
+ $168 = ($$2|0)==(0);
+ if ($168) {
+ $$0 = 0;
+ return ($$0|0);
+ }
+ $169 = (($$2) + 16)|0;
+ ___gcry_burn_stack($169);
+ $$0 = 0;
+ return ($$0|0);
+}
+function __gcry_cipher_cbc_decrypt($0,$1,$2,$3,$4) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ var $$ = 0, $$0122218 = 0, $$0122218$us = 0, $$0125 = 0, $$0126217 = 0, $$0126217$us = 0, $$0128214 = 0, $$0129216 = 0, $$0129216$us = 0, $$0130215 = 0, $$0130215$us = 0, $$02434$i = 0, $$02434$i147 = 0, $$02434$i185 = 0, $$02434$i202 = 0, $$02533$i = 0, $$02533$i148 = 0, $$02533$i186 = 0, $$02533$i203 = 0, $$026$i = 0;
+ var $$026$i151 = 0, $$026$i189 = 0, $$026$i206 = 0, $$028$i = 0, $$028$i150 = 0, $$028$i188 = 0, $$028$i205 = 0, $$03449$i = 0, $$03449$i165 = 0, $$035$i = 0, $$035$i146 = 0, $$035$i184 = 0, $$035$i201 = 0, $$03548$i = 0, $$03548$i166 = 0, $$037$i = 0, $$037$i171 = 0, $$041$i = 0, $$041$i169 = 0, $$050$i = 0;
+ var $$050$i139$us = 0, $$050$i164 = 0, $$05270$i$us = 0, $$05369$i$us = 0, $$05468$i$us = 0, $$05567$i$us = 0, $$056$i$us = 0, $$058$i$us = 0, $$060$i$us = 0, $$071$i$us = 0, $$1 = 0, $$1$i = 0, $$1$i135 = 0, $$1$i140$us = 0, $$1$i152 = 0, $$1$i172 = 0, $$1$i190 = 0, $$1$i207 = 0, $$1124 = 0, $$1127 = 0;
+ var $$1131 = 0, $$12731$i = 0, $$12731$i156 = 0, $$12731$i194 = 0, $$12731$i211 = 0, $$12930$i = 0, $$12930$i157 = 0, $$12930$i195 = 0, $$12930$i212 = 0, $$13845$i = 0, $$13845$i176 = 0, $$14044$i = 0, $$14044$i177 = 0, $$15165$i = 0, $$15165$i$us = 0, $$15764$i = 0, $$15764$i$us = 0, $$15963$i = 0, $$15963$i$us = 0, $$16162$i = 0;
+ var $$16162$i$us = 0, $$2 = 0, $$232$i = 0, $$232$i155 = 0, $$232$i193 = 0, $$232$i210 = 0, $$246$i = 0, $$246$i175 = 0, $$266$i = 0, $$266$i$us = 0, $$phi$trans$insert = 0, $$pre = 0, $$pre$phi241Z2D = 0, $$pre$phiZ2D = 0, $$pre240 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0;
+ var $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0;
+ var $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, $139 = 0, $14 = 0;
+ var $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, $157 = 0, $158 = 0;
+ var $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, $175 = 0, $176 = 0;
+ var $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, $193 = 0, $194 = 0;
+ var $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0;
+ var $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0;
+ var $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0;
+ var $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0;
+ var $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0;
+ var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0;
+ var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond232 = 0, $exitcond237 = 0, $or$cond = 0, $or$cond$i = 0, $or$cond$i133 = 0, $or$cond$i142 = 0;
+ var $or$cond$i159 = 0, $or$cond$i180 = 0, $or$cond$i197 = 0, $or$cond132 = 0, $scevgep = 0, $scevgep$i = 0, $scevgep$i134 = 0, $scevgep$i138$us = 0, $scevgep$i143 = 0, $scevgep$i160 = 0, $scevgep$i181 = 0, $scevgep$i198 = 0, $scevgep231 = 0, $scevgep236 = 0, $scevgep44$i = 0, $scevgep44$i144 = 0, $scevgep44$i182 = 0, $scevgep44$i199 = 0, $scevgep61$i = 0, $scevgep61$i161 = 0;
+ var $scevgep84$i = 0, $scevgep86$i$us = 0, $scevgep88$i = 0, $spec$select = 0, $spec$select$v = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $5 = ((($0)) + 12|0);
+ $6 = HEAP32[$5>>2]|0;
+ $7 = ((($6)) + 20|0);
+ $8 = HEAP32[$7>>2]|0;
+ $9 = ((($6)) + 40|0);
+ $10 = HEAP32[$9>>2]|0;
+ $11 = (($4>>>0) / ($8>>>0))&-1;
+ $12 = ($2>>>0)<($4>>>0);
+ if ($12) {
+ $$0125 = 200;
+ return ($$0125|0);
+ }
+ $13 = Math_imul($11, $8)|0;
+ $14 = (($4) - ($13))|0;
+ $15 = ($14|0)==(0);
+ if ($15) {
+ $$phi$trans$insert = ((($0)) + 52|0);
+ $$pre = HEAP32[$$phi$trans$insert>>2]|0;
+ $$pre240 = $$pre & 4;
+ $$pre$phi241Z2D = $$pre240;$$pre$phiZ2D = $$phi$trans$insert;
+ } else {
+ $16 = ($8>>>0)<($4>>>0);
+ if (!($16)) {
+ $$0125 = 139;
+ return ($$0125|0);
+ }
+ $17 = ((($0)) + 52|0);
+ $18 = HEAP32[$17>>2]|0;
+ $19 = $18 & 4;
+ $20 = ($19|0)==(0);
+ if ($20) {
+ $$0125 = 139;
+ return ($$0125|0);
+ } else {
+ $$pre$phi241Z2D = $19;$$pre$phiZ2D = $17;
+ }
+ }
+ $21 = ($$pre$phi241Z2D|0)!=(0);
+ $22 = ($8>>>0)<($4>>>0);
+ $or$cond = $22 & $21;
+ if ($or$cond) {
+ $spec$select$v = $15 ? -2 : -1;
+ $spec$select = (($spec$select$v) + ($11))|0;
+ $23 = ((($0)) + 96|0);
+ $24 = ((($0)) + 64|0);
+ $25 = $23;
+ $26 = $24;
+ $27 = $26 | $25;
+ $28 = $27 & 3;
+ $29 = ($28|0)==(0);
+ $30 = ($8>>>0)>(3);
+ $or$cond$i = $29 & $30;
+ if ($or$cond$i) {
+ $31 = (($8) + -4)|0;
+ $32 = $31 & -4;
+ $33 = (($32) + 4)|0;
+ $scevgep$i = (($24) + ($33)|0);
+ $$02434$i = $24;$$02533$i = $23;$$035$i = $8;
+ while(1) {
+ $34 = ((($$02434$i)) + 4|0);
+ $35 = HEAP32[$$02434$i>>2]|0;
+ $36 = ((($$02533$i)) + 4|0);
+ HEAP32[$$02533$i>>2] = $35;
+ $37 = (($$035$i) + -4)|0;
+ $38 = ($37>>>0)>(3);
+ if ($38) {
+ $$02434$i = $34;$$02533$i = $36;$$035$i = $37;
+ } else {
+ break;
+ }
+ }
+ $scevgep44$i = (((($0)) + 96|0) + ($33)|0);
+ $39 = (($31) - ($32))|0;
+ $$026$i = $scevgep$i;$$028$i = $scevgep44$i;$$1$i = $39;
+ } else {
+ $$026$i = $24;$$028$i = $23;$$1$i = $8;
+ }
+ $40 = ($$1$i|0)==(0);
+ if ($40) {
+ $$1124 = $spec$select;
+ } else {
+ $$12731$i = $$026$i;$$12930$i = $$028$i;$$232$i = $$1$i;
+ while(1) {
+ $41 = ((($$12731$i)) + 1|0);
+ $42 = HEAP8[$$12731$i>>0]|0;
+ $43 = ((($$12930$i)) + 1|0);
+ HEAP8[$$12930$i>>0] = $42;
+ $44 = (($$232$i) + -1)|0;
+ $45 = ($44|0)==(0);
+ if ($45) {
+ $$1124 = $spec$select;
+ break;
+ } else {
+ $$12731$i = $41;$$12930$i = $43;$$232$i = $44;
+ }
+ }
+ }
+ } else {
+ $$1124 = $11;
+ }
+ $46 = ((($0)) + 32|0);
+ $47 = HEAP32[$46>>2]|0;
+ $48 = ($47|0)==(0|0);
+ do {
+ if ($48) {
+ $54 = ($$1124|0)==(0);
+ if ($54) {
+ $$1 = 0;$$1127 = $1;$$1131 = $3;
+ } else {
+ $55 = ((($0)) + 496|0);
+ $56 = ((($0)) + 96|0);
+ $57 = ((($0)) + 64|0);
+ $58 = $56;
+ $59 = $57;
+ $60 = $59 | $58;
+ $61 = ($8>>>0)>(3);
+ $62 = (($8) + -4)|0;
+ $63 = $62 & -4;
+ $64 = (($63) + 4)|0;
+ $scevgep84$i = (((($0)) + 96|0) + ($64)|0);
+ $scevgep88$i = (($57) + ($64)|0);
+ $65 = (($62) - ($63))|0;
+ $66 = Math_imul($$1124, $8)|0;
+ $scevgep = (($3) + ($66)|0);
+ if (!($61)) {
+ $100 = ($8|0)==(0);
+ $$0122218 = 0;$$0126217 = $1;$$0129216 = 0;$$0130215 = $3;
+ while(1) {
+ $101 = (FUNCTION_TABLE_iiii[$10 & 127]($55,$56,$$0130215)|0);
+ $102 = ($101>>>0)>($$0122218>>>0);
+ $103 = $102 ? $101 : $$0122218;
+ if (!($100)) {
+ $$15165$i = $$0126217;$$15764$i = $57;$$15963$i = $$0130215;$$16162$i = $56;$$266$i = $8;
+ while(1) {
+ $104 = ((($$15963$i)) + 1|0);
+ $105 = HEAP8[$$15963$i>>0]|0;
+ $106 = HEAP8[$$15764$i>>0]|0;
+ $107 = ((($$16162$i)) + 1|0);
+ $108 = HEAP8[$$16162$i>>0]|0;
+ $109 = $108 ^ $106;
+ $110 = ((($$15165$i)) + 1|0);
+ HEAP8[$$15165$i>>0] = $109;
+ $111 = ((($$15764$i)) + 1|0);
+ HEAP8[$$15764$i>>0] = $105;
+ $112 = (($$266$i) + -1)|0;
+ $113 = ($112|0)==(0);
+ if ($113) {
+ break;
+ } else {
+ $$15165$i = $110;$$15764$i = $111;$$15963$i = $104;$$16162$i = $107;$$266$i = $112;
+ }
+ }
+ }
+ $114 = (($$0130215) + ($8)|0);
+ $115 = (($$0126217) + ($8)|0);
+ $116 = (($$0129216) + 1)|0;
+ $exitcond237 = ($116|0)==($$1124|0);
+ if ($exitcond237) {
+ break;
+ } else {
+ $$0122218 = $103;$$0126217 = $115;$$0129216 = $116;$$0130215 = $114;
+ }
+ }
+ $scevgep236 = (($1) + ($66)|0);
+ $$1 = $103;$$1127 = $scevgep236;$$1131 = $scevgep;
+ break;
+ }
+ $$0122218$us = 0;$$0126217$us = $1;$$0129216$us = 0;$$0130215$us = $3;
+ while(1) {
+ $67 = (FUNCTION_TABLE_iiii[$10 & 127]($55,$56,$$0130215$us)|0);
+ $68 = ($67>>>0)>($$0122218$us>>>0);
+ $69 = $68 ? $67 : $$0122218$us;
+ $70 = $$0130215$us;
+ $71 = $$0126217$us;
+ $72 = $60 | $70;
+ $73 = $72 | $71;
+ $74 = $73 & 3;
+ $75 = ($74|0)==(0);
+ if ($75) {
+ $scevgep$i138$us = (($$0130215$us) + ($64)|0);
+ $$05270$i$us = $56;$$05369$i$us = $$0130215$us;$$05468$i$us = $57;$$05567$i$us = $$0126217$us;$$071$i$us = $8;
+ while(1) {
+ $76 = ((($$05369$i$us)) + 4|0);
+ $77 = HEAP32[$$05369$i$us>>2]|0;
+ $78 = HEAP32[$$05468$i$us>>2]|0;
+ $79 = ((($$05270$i$us)) + 4|0);
+ $80 = HEAP32[$$05270$i$us>>2]|0;
+ $81 = $80 ^ $78;
+ $82 = ((($$05567$i$us)) + 4|0);
+ HEAP32[$$05567$i$us>>2] = $81;
+ $83 = ((($$05468$i$us)) + 4|0);
+ HEAP32[$$05468$i$us>>2] = $77;
+ $84 = (($$071$i$us) + -4)|0;
+ $85 = ($84>>>0)>(3);
+ if ($85) {
+ $$05270$i$us = $79;$$05369$i$us = $76;$$05468$i$us = $83;$$05567$i$us = $82;$$071$i$us = $84;
+ } else {
+ break;
+ }
+ }
+ $scevgep86$i$us = (($$0126217$us) + ($64)|0);
+ $$050$i139$us = $scevgep86$i$us;$$056$i$us = $scevgep88$i;$$058$i$us = $scevgep$i138$us;$$060$i$us = $scevgep84$i;$$1$i140$us = $65;
+ } else {
+ $$050$i139$us = $$0126217$us;$$056$i$us = $57;$$058$i$us = $$0130215$us;$$060$i$us = $56;$$1$i140$us = $8;
+ }
+ $86 = ($$1$i140$us|0)==(0);
+ if (!($86)) {
+ $$15165$i$us = $$050$i139$us;$$15764$i$us = $$056$i$us;$$15963$i$us = $$058$i$us;$$16162$i$us = $$060$i$us;$$266$i$us = $$1$i140$us;
+ while(1) {
+ $87 = ((($$15963$i$us)) + 1|0);
+ $88 = HEAP8[$$15963$i$us>>0]|0;
+ $89 = HEAP8[$$15764$i$us>>0]|0;
+ $90 = ((($$16162$i$us)) + 1|0);
+ $91 = HEAP8[$$16162$i$us>>0]|0;
+ $92 = $91 ^ $89;
+ $93 = ((($$15165$i$us)) + 1|0);
+ HEAP8[$$15165$i$us>>0] = $92;
+ $94 = ((($$15764$i$us)) + 1|0);
+ HEAP8[$$15764$i$us>>0] = $88;
+ $95 = (($$266$i$us) + -1)|0;
+ $96 = ($95|0)==(0);
+ if ($96) {
+ break;
+ } else {
+ $$15165$i$us = $93;$$15764$i$us = $94;$$15963$i$us = $87;$$16162$i$us = $90;$$266$i$us = $95;
+ }
+ }
+ }
+ $97 = (($$0130215$us) + ($8)|0);
+ $98 = (($$0126217$us) + ($8)|0);
+ $99 = (($$0129216$us) + 1)|0;
+ $exitcond232 = ($99|0)==($$1124|0);
+ if ($exitcond232) {
+ break;
+ } else {
+ $$0122218$us = $69;$$0126217$us = $98;$$0129216$us = $99;$$0130215$us = $97;
+ }
+ }
+ $scevgep231 = (($1) + ($66)|0);
+ $$1 = $69;$$1127 = $scevgep231;$$1131 = $scevgep;
+ }
+ } else {
+ $49 = ((($0)) + 496|0);
+ $50 = ((($0)) + 64|0);
+ FUNCTION_TABLE_viiiii[$47 & 127]($49,$50,$1,$3,$$1124);
+ $51 = Math_imul($$1124, $8)|0;
+ $52 = (($3) + ($51)|0);
+ $53 = (($1) + ($51)|0);
+ $$1 = 0;$$1127 = $53;$$1131 = $52;
+ }
+ } while(0);
+ $117 = HEAP32[$$pre$phiZ2D>>2]|0;
+ $118 = $117 & 4;
+ $119 = ($118|0)!=(0);
+ $or$cond132 = $22 & $119;
+ if ($or$cond132) {
+ $$ = $15 ? $8 : $14;
+ $120 = ((($0)) + 96|0);
+ $121 = ((($0)) + 64|0);
+ $122 = $120;
+ $123 = $121;
+ $124 = $123 | $122;
+ $125 = $124 & 3;
+ $126 = ($125|0)==(0);
+ $127 = ($8>>>0)>(3);
+ $or$cond$i180 = $126 & $127;
+ if ($or$cond$i180) {
+ $128 = (($8) + -4)|0;
+ $129 = $128 & -4;
+ $130 = (($129) + 4)|0;
+ $scevgep$i181 = (($121) + ($130)|0);
+ $$02434$i185 = $121;$$02533$i186 = $120;$$035$i184 = $8;
+ while(1) {
+ $131 = ((($$02434$i185)) + 4|0);
+ $132 = HEAP32[$$02434$i185>>2]|0;
+ $133 = ((($$02533$i186)) + 4|0);
+ HEAP32[$$02533$i186>>2] = $132;
+ $134 = (($$035$i184) + -4)|0;
+ $135 = ($134>>>0)>(3);
+ if ($135) {
+ $$02434$i185 = $131;$$02533$i186 = $133;$$035$i184 = $134;
+ } else {
+ break;
+ }
+ }
+ $scevgep44$i182 = (((($0)) + 96|0) + ($130)|0);
+ $136 = (($128) - ($129))|0;
+ $$026$i189 = $scevgep$i181;$$028$i188 = $scevgep44$i182;$$1$i190 = $136;
+ } else {
+ $$026$i189 = $121;$$028$i188 = $120;$$1$i190 = $8;
+ }
+ $137 = ($$1$i190|0)==(0);
+ if (!($137)) {
+ $$12731$i194 = $$026$i189;$$12930$i195 = $$028$i188;$$232$i193 = $$1$i190;
+ while(1) {
+ $138 = ((($$12731$i194)) + 1|0);
+ $139 = HEAP8[$$12731$i194>>0]|0;
+ $140 = ((($$12930$i195)) + 1|0);
+ HEAP8[$$12930$i195>>0] = $139;
+ $141 = (($$232$i193) + -1)|0;
+ $142 = ($141|0)==(0);
+ if ($142) {
+ break;
+ } else {
+ $$12731$i194 = $138;$$12930$i195 = $140;$$232$i193 = $141;
+ }
+ }
+ }
+ $143 = (($$1131) + ($8)|0);
+ $144 = $143;
+ $145 = $144 | $123;
+ $146 = $145 & 3;
+ $147 = ($146|0)==(0);
+ $148 = ($$>>>0)>(3);
+ $or$cond$i197 = $148 & $147;
+ if ($or$cond$i197) {
+ $149 = (($$) + -4)|0;
+ $150 = $149 & -4;
+ $151 = (($150) + 4)|0;
+ $scevgep$i198 = (($143) + ($151)|0);
+ $$02434$i202 = $143;$$02533$i203 = $121;$$035$i201 = $$;
+ while(1) {
+ $152 = ((($$02434$i202)) + 4|0);
+ $153 = HEAP32[$$02434$i202>>2]|0;
+ $154 = ((($$02533$i203)) + 4|0);
+ HEAP32[$$02533$i203>>2] = $153;
+ $155 = (($$035$i201) + -4)|0;
+ $156 = ($155>>>0)>(3);
+ if ($156) {
+ $$02434$i202 = $152;$$02533$i203 = $154;$$035$i201 = $155;
+ } else {
+ break;
+ }
+ }
+ $scevgep44$i199 = (($121) + ($151)|0);
+ $157 = (($149) - ($150))|0;
+ $$026$i206 = $scevgep$i198;$$028$i205 = $scevgep44$i199;$$1$i207 = $157;
+ } else {
+ $$026$i206 = $143;$$028$i205 = $121;$$1$i207 = $$;
+ }
+ $158 = ($$1$i207|0)==(0);
+ if (!($158)) {
+ $$12731$i211 = $$026$i206;$$12930$i212 = $$028$i205;$$232$i210 = $$1$i207;
+ while(1) {
+ $159 = ((($$12731$i211)) + 1|0);
+ $160 = HEAP8[$$12731$i211>>0]|0;
+ $161 = ((($$12930$i212)) + 1|0);
+ HEAP8[$$12930$i212>>0] = $160;
+ $162 = (($$232$i210) + -1)|0;
+ $163 = ($162|0)==(0);
+ if ($163) {
+ break;
+ } else {
+ $$12731$i211 = $159;$$12930$i212 = $161;$$232$i210 = $162;
+ }
+ }
+ }
+ $164 = ((($0)) + 496|0);
+ $165 = (FUNCTION_TABLE_iiii[$10 & 127]($164,$$1127,$$1131)|0);
+ $166 = ($165>>>0)>($$1>>>0);
+ $167 = $166 ? $165 : $$1;
+ $168 = $$1127;
+ $169 = $168 | $123;
+ $170 = $169 & 3;
+ $171 = ($170|0)==(0);
+ $or$cond$i159 = $148 & $171;
+ if ($or$cond$i159) {
+ $172 = (($$) + -4)|0;
+ $173 = $172 & -4;
+ $174 = (($173) + 4)|0;
+ $scevgep$i160 = (($$1127) + ($174)|0);
+ $$03449$i165 = $121;$$03548$i166 = $$1127;$$050$i164 = $$;
+ while(1) {
+ $175 = ((($$03548$i166)) + 4|0);
+ $176 = HEAP32[$$03548$i166>>2]|0;
+ $177 = ((($$03449$i165)) + 4|0);
+ $178 = HEAP32[$$03449$i165>>2]|0;
+ $179 = $178 ^ $176;
+ HEAP32[$$03548$i166>>2] = $179;
+ $180 = (($$050$i164) + -4)|0;
+ $181 = ($180>>>0)>(3);
+ if ($181) {
+ $$03449$i165 = $177;$$03548$i166 = $175;$$050$i164 = $180;
+ } else {
+ break;
+ }
+ }
+ $scevgep61$i161 = (($121) + ($174)|0);
+ $182 = (($172) - ($173))|0;
+ $$037$i171 = $scevgep61$i161;$$041$i169 = $scevgep$i160;$$1$i172 = $182;
+ } else {
+ $$037$i171 = $121;$$041$i169 = $$1127;$$1$i172 = $$;
+ }
+ $183 = ($$1$i172|0)==(0);
+ if (!($183)) {
+ $$13845$i176 = $$037$i171;$$14044$i177 = $$041$i169;$$246$i175 = $$1$i172;
+ while(1) {
+ $184 = ((($$14044$i177)) + 1|0);
+ $185 = HEAP8[$$14044$i177>>0]|0;
+ $186 = ((($$13845$i176)) + 1|0);
+ $187 = HEAP8[$$13845$i176>>0]|0;
+ $188 = $187 ^ $185;
+ HEAP8[$$14044$i177>>0] = $188;
+ $189 = (($$246$i175) + -1)|0;
+ $190 = ($189|0)==(0);
+ if ($190) {
+ break;
+ } else {
+ $$13845$i176 = $186;$$14044$i177 = $184;$$246$i175 = $189;
+ }
+ }
+ }
+ $191 = (($$1127) + ($8)|0);
+ $192 = $191;
+ $193 = $192 | $168;
+ $194 = $193 & 3;
+ $195 = ($194|0)==(0);
+ $or$cond$i142 = $148 & $195;
+ if ($or$cond$i142) {
+ $196 = (($$) + -4)|0;
+ $197 = $196 & -4;
+ $198 = (($197) + 4)|0;
+ $scevgep$i143 = (($$1127) + ($198)|0);
+ $$02434$i147 = $$1127;$$02533$i148 = $191;$$035$i146 = $$;
+ while(1) {
+ $199 = ((($$02434$i147)) + 4|0);
+ $200 = HEAP32[$$02434$i147>>2]|0;
+ $201 = ((($$02533$i148)) + 4|0);
+ HEAP32[$$02533$i148>>2] = $200;
+ $202 = (($$035$i146) + -4)|0;
+ $203 = ($202>>>0)>(3);
+ if ($203) {
+ $$02434$i147 = $199;$$02533$i148 = $201;$$035$i146 = $202;
+ } else {
+ break;
+ }
+ }
+ $scevgep44$i144 = (($191) + ($198)|0);
+ $204 = (($196) - ($197))|0;
+ $$026$i151 = $scevgep$i143;$$028$i150 = $scevgep44$i144;$$1$i152 = $204;
+ } else {
+ $$026$i151 = $$1127;$$028$i150 = $191;$$1$i152 = $$;
+ }
+ $205 = ($$1$i152|0)==(0);
+ if (!($205)) {
+ $$12731$i156 = $$026$i151;$$12930$i157 = $$028$i150;$$232$i155 = $$1$i152;
+ while(1) {
+ $206 = ((($$12731$i156)) + 1|0);
+ $207 = HEAP8[$$12731$i156>>0]|0;
+ $208 = ((($$12930$i157)) + 1|0);
+ HEAP8[$$12930$i157>>0] = $207;
+ $209 = (($$232$i155) + -1)|0;
+ $210 = ($209|0)==(0);
+ if ($210) {
+ break;
+ } else {
+ $$12731$i156 = $206;$$12930$i157 = $208;$$232$i155 = $209;
+ }
+ }
+ }
+ $211 = ($$>>>0)<($8>>>0);
+ if ($211) {
+ $$0128214 = $$;
+ while(1) {
+ $212 = (($$1127) + ($$0128214)|0);
+ $213 = HEAP8[$212>>0]|0;
+ $214 = (($121) + ($$0128214)|0);
+ HEAP8[$214>>0] = $213;
+ $215 = (($$0128214) + 1)|0;
+ $exitcond = ($215|0)==($8|0);
+ if ($exitcond) {
+ break;
+ } else {
+ $$0128214 = $215;
+ }
+ }
+ }
+ $216 = (FUNCTION_TABLE_iiii[$10 & 127]($164,$$1127,$121)|0);
+ $217 = ($216>>>0)>($167>>>0);
+ $218 = $217 ? $216 : $167;
+ $219 = $168 | $122;
+ $220 = $219 & 3;
+ $221 = ($220|0)==(0);
+ $or$cond$i133 = $127 & $221;
+ if ($or$cond$i133) {
+ $222 = (($8) + -4)|0;
+ $223 = $222 & -4;
+ $224 = (($223) + 4)|0;
+ $scevgep$i134 = (($$1127) + ($224)|0);
+ $$03449$i = $120;$$03548$i = $$1127;$$050$i = $8;
+ while(1) {
+ $225 = ((($$03548$i)) + 4|0);
+ $226 = HEAP32[$$03548$i>>2]|0;
+ $227 = ((($$03449$i)) + 4|0);
+ $228 = HEAP32[$$03449$i>>2]|0;
+ $229 = $228 ^ $226;
+ HEAP32[$$03548$i>>2] = $229;
+ $230 = (($$050$i) + -4)|0;
+ $231 = ($230>>>0)>(3);
+ if ($231) {
+ $$03449$i = $227;$$03548$i = $225;$$050$i = $230;
+ } else {
+ break;
+ }
+ }
+ $scevgep61$i = (((($0)) + 96|0) + ($224)|0);
+ $232 = (($222) - ($223))|0;
+ $$037$i = $scevgep61$i;$$041$i = $scevgep$i134;$$1$i135 = $232;
+ } else {
+ $$037$i = $120;$$041$i = $$1127;$$1$i135 = $8;
+ }
+ $233 = ($$1$i135|0)==(0);
+ if ($233) {
+ $$2 = $218;
+ } else {
+ $$13845$i = $$037$i;$$14044$i = $$041$i;$$246$i = $$1$i135;
+ while(1) {
+ $234 = ((($$14044$i)) + 1|0);
+ $235 = HEAP8[$$14044$i>>0]|0;
+ $236 = ((($$13845$i)) + 1|0);
+ $237 = HEAP8[$$13845$i>>0]|0;
+ $238 = $237 ^ $235;
+ HEAP8[$$14044$i>>0] = $238;
+ $239 = (($$246$i) + -1)|0;
+ $240 = ($239|0)==(0);
+ if ($240) {
+ $$2 = $218;
+ break;
+ } else {
+ $$13845$i = $236;$$14044$i = $234;$$246$i = $239;
+ }
+ }
+ }
+ } else {
+ $$2 = $$1;
+ }
+ $241 = ($$2|0)==(0);
+ if ($241) {
+ $$0125 = 0;
+ return ($$0125|0);
+ }
+ $242 = (($$2) + 16)|0;
+ ___gcry_burn_stack($242);
+ $$0125 = 0;
+ return ($$0125|0);
+}
+function __gcry_cipher_ccm_set_nonce($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$0 = 0, $$off = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0;
+ var label = 0, sp = 0, stop = 0;
+ sp = STACKTOP;
+ $3 = (15 - ($2))|0;
+ $4 = (($3) + 255)|0;
+ $5 = ($1|0)==(0|0);
+ if ($5) {
+ $$0 = 45;
+ return ($$0|0);
+ }
+ $$off = (($3) + -2)|0;
+ $6 = ($$off>>>0)>(6);
+ if ($6) {
+ $$0 = 139;
+ return ($$0|0);
+ }
+ $7 = ((($0)) + 128|0);
+ _memset(($7|0),0,368)|0;
+ $8 = ((($0)) + 56|0);
+ HEAP32[$8>>2] = 0;
+ $9 = ((($0)) + 64|0);
+ $10 = ((($0)) + 80|0);
+ $11 = $4&255;
+ dest=$9; stop=dest+52|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
+ HEAP8[$10>>0] = $11;
+ $12 = ((($10)) + 1|0);
+ _memcpy(($12|0),($1|0),($2|0))|0;
+ $13 = (($2) + 1)|0;
+ $14 = (($10) + ($13)|0);
+ _memset(($14|0),0,($3|0))|0;
+ HEAP8[$9>>0] = $11;
+ $15 = ((($9)) + 1|0);
+ _memcpy(($15|0),($1|0),($2|0))|0;
+ $16 = (($9) + ($13)|0);
+ _memset(($16|0),0,($3|0))|0;
+ $17 = ((($0)) + 184|0);
+ $18 = HEAP8[$17>>0]|0;
+ $19 = $18 | 1;
+ HEAP8[$17>>0] = $19;
+ $$0 = 0;
+ return ($$0|0);
+}
+function _do_cbc_mac($0,$1,$2,$3) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ var $$0 = 0, $$0107 = 0, $$0108 = 0, $$0121 = 0, $$0127 = 0, $$1109145 = 0, $$1122 = 0, $$1128144 = 0, $$1146 = 0, $$2 = 0, $$2110 = 0, $$2123160 = 0, $$2129 = 0, $$3111161 = 0, $$3124 = 0, $$3162 = 0, $$4 = 0, $$4112 = 0, $$4125 = 0, $$6 = 0;
+ var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0;
+ var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $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;
+ var $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, $152 = 0, $153 = 0;
+ var $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, $170 = 0, $171 = 0;
+ var $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, $189 = 0, $19 = 0;
+ var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $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, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0;
+ 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, $or$cond = 0, $or$cond3 = 0, $scevgep177 = 0, $scevgep182 = 0, $scevgep183 = 0, $spec$select = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $4 = sp;
+ $5 = ((($0)) + 12|0);
+ $6 = HEAP32[$5>>2]|0;
+ $7 = ((($6)) + 36|0);
+ $8 = HEAP32[$7>>2]|0;
+ $9 = ((($0)) + 164|0);
+ $10 = HEAP32[$9>>2]|0;
+ $11 = ($2|0)==(0);
+ if ($11) {
+ $12 = ($10|0)!=(0);
+ $13 = ($3|0)!=(0);
+ $or$cond = $13 & $12;
+ if (!($or$cond)) {
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+ }
+ }
+ $14 = ((($0)) + 148|0);
+ $15 = ($3|0)==(0);
+ $16 = ((($0)) + 64|0);
+ $17 = $16;
+ $18 = $14;
+ $19 = $17 | $18;
+ $20 = $19 & 3;
+ $21 = ($20|0)==(0);
+ $22 = ((($0)) + 28|0);
+ $23 = ((($16)) + 4|0);
+ $24 = ((($0)) + 152|0);
+ $25 = ((($0)) + 72|0);
+ $26 = ((($0)) + 156|0);
+ $27 = ((($0)) + 76|0);
+ $28 = ((($0)) + 160|0);
+ $29 = ((($0)) + 496|0);
+ $30 = ((($16)) + 1|0);
+ $31 = ((($0)) + 149|0);
+ $32 = ((($16)) + 2|0);
+ $33 = ((($0)) + 150|0);
+ $34 = ((($16)) + 3|0);
+ $35 = ((($0)) + 151|0);
+ $36 = ((($16)) + 4|0);
+ $37 = ((($0)) + 152|0);
+ $38 = ((($16)) + 5|0);
+ $39 = ((($0)) + 153|0);
+ $40 = ((($16)) + 6|0);
+ $41 = ((($0)) + 154|0);
+ $42 = ((($16)) + 7|0);
+ $43 = ((($0)) + 155|0);
+ $44 = ((($0)) + 72|0);
+ $45 = ((($0)) + 156|0);
+ $46 = ((($0)) + 73|0);
+ $47 = ((($0)) + 157|0);
+ $48 = ((($0)) + 74|0);
+ $49 = ((($0)) + 158|0);
+ $50 = ((($0)) + 75|0);
+ $51 = ((($0)) + 159|0);
+ $52 = ((($0)) + 76|0);
+ $53 = ((($0)) + 160|0);
+ $54 = ((($0)) + 77|0);
+ $55 = ((($0)) + 161|0);
+ $56 = ((($0)) + 78|0);
+ $57 = ((($0)) + 162|0);
+ $58 = ((($0)) + 79|0);
+ $59 = ((($0)) + 163|0);
+ $60 = ((($4)) + 8|0);
+ $61 = ((($16)) + 1|0);
+ $62 = ((($16)) + 2|0);
+ $63 = ((($16)) + 3|0);
+ $64 = ((($16)) + 4|0);
+ $65 = ((($16)) + 5|0);
+ $66 = ((($16)) + 6|0);
+ $67 = ((($16)) + 7|0);
+ $68 = ((($0)) + 72|0);
+ $69 = ((($0)) + 73|0);
+ $70 = ((($0)) + 74|0);
+ $71 = ((($0)) + 75|0);
+ $72 = ((($0)) + 76|0);
+ $73 = ((($0)) + 77|0);
+ $74 = ((($0)) + 78|0);
+ $75 = ((($0)) + 79|0);
+ $$0107 = $1;$$0108 = $2;$$0121 = 0;$$0127 = $10;
+ while(1) {
+ $76 = (($$0108) + ($$0127))|0;
+ $77 = ($76>>>0)<(16);
+ $78 = ($$0127|0)!=(0);
+ $or$cond3 = $78 | $77;
+ if ($or$cond3) {
+ $79 = ($$0108|0)!=(0);
+ $80 = ($$0127>>>0)<(16);
+ $81 = $80 & $79;
+ if ($81) {
+ $$1109145 = $$0108;$$1128144 = $$0127;$$1146 = $$0107;
+ while(1) {
+ $82 = ((($$1146)) + 1|0);
+ $83 = HEAP8[$$1146>>0]|0;
+ $84 = (($$1128144) + 1)|0;
+ $85 = (($14) + ($$1128144)|0);
+ HEAP8[$85>>0] = $83;
+ $86 = (($$1109145) + -1)|0;
+ $87 = ($86|0)!=(0);
+ $88 = ($84>>>0)<(16);
+ $89 = $88 & $87;
+ if ($89) {
+ $$1109145 = $86;$$1128144 = $84;$$1146 = $82;
+ } else {
+ $$2 = $82;$$2110 = $86;$$2129 = $84;
+ break;
+ }
+ }
+ } else {
+ $$2 = $$0107;$$2110 = $$0108;$$2129 = $$0127;
+ }
+ } else {
+ $$2 = $$0107;$$2110 = $$0108;$$2129 = 0;
+ }
+ $90 = ($$2110|0)==(0);
+ if ($90) {
+ if ($15) {
+ $$4125 = $$0121;$$6 = $$2129;
+ break;
+ }
+ $91 = ($$2129>>>0)<(16);
+ if ($91) {
+ $scevgep177 = (($14) + ($$2129)|0);
+ $92 = (16 - ($$2129))|0;
+ _memset(($scevgep177|0),0,($92|0))|0;
+ label = 13;
+ } else {
+ label = 13;
+ }
+ } else {
+ $93 = ($$2129|0)==(0);
+ if ($93) {
+ $$1122 = $$0121;
+ } else {
+ label = 13;
+ }
+ }
+ if ((label|0) == 13) {
+ label = 0;
+ if ($21) {
+ $94 = HEAP32[$16>>2]|0;
+ $95 = HEAP32[$14>>2]|0;
+ $96 = $95 ^ $94;
+ HEAP32[$16>>2] = $96;
+ $97 = HEAP32[$23>>2]|0;
+ $98 = HEAP32[$24>>2]|0;
+ $99 = $98 ^ $97;
+ HEAP32[$23>>2] = $99;
+ $100 = HEAP32[$25>>2]|0;
+ $101 = HEAP32[$26>>2]|0;
+ $102 = $101 ^ $100;
+ HEAP32[$25>>2] = $102;
+ $103 = HEAP32[$27>>2]|0;
+ $104 = HEAP32[$28>>2]|0;
+ $105 = $104 ^ $103;
+ HEAP32[$27>>2] = $105;
+ } else {
+ $106 = HEAP8[$16>>0]|0;
+ $107 = HEAP8[$14>>0]|0;
+ $108 = $107 ^ $106;
+ HEAP8[$16>>0] = $108;
+ $109 = HEAP8[$30>>0]|0;
+ $110 = HEAP8[$31>>0]|0;
+ $111 = $110 ^ $109;
+ HEAP8[$30>>0] = $111;
+ $112 = HEAP8[$32>>0]|0;
+ $113 = HEAP8[$33>>0]|0;
+ $114 = $113 ^ $112;
+ HEAP8[$32>>0] = $114;
+ $115 = HEAP8[$34>>0]|0;
+ $116 = HEAP8[$35>>0]|0;
+ $117 = $116 ^ $115;
+ HEAP8[$34>>0] = $117;
+ $118 = HEAP8[$36>>0]|0;
+ $119 = HEAP8[$37>>0]|0;
+ $120 = $119 ^ $118;
+ HEAP8[$36>>0] = $120;
+ $121 = HEAP8[$38>>0]|0;
+ $122 = HEAP8[$39>>0]|0;
+ $123 = $122 ^ $121;
+ HEAP8[$38>>0] = $123;
+ $124 = HEAP8[$40>>0]|0;
+ $125 = HEAP8[$41>>0]|0;
+ $126 = $125 ^ $124;
+ HEAP8[$40>>0] = $126;
+ $127 = HEAP8[$42>>0]|0;
+ $128 = HEAP8[$43>>0]|0;
+ $129 = $128 ^ $127;
+ HEAP8[$42>>0] = $129;
+ $130 = HEAP8[$44>>0]|0;
+ $131 = HEAP8[$45>>0]|0;
+ $132 = $131 ^ $130;
+ HEAP8[$44>>0] = $132;
+ $133 = HEAP8[$46>>0]|0;
+ $134 = HEAP8[$47>>0]|0;
+ $135 = $134 ^ $133;
+ HEAP8[$46>>0] = $135;
+ $136 = HEAP8[$48>>0]|0;
+ $137 = HEAP8[$49>>0]|0;
+ $138 = $137 ^ $136;
+ HEAP8[$48>>0] = $138;
+ $139 = HEAP8[$50>>0]|0;
+ $140 = HEAP8[$51>>0]|0;
+ $141 = $140 ^ $139;
+ HEAP8[$50>>0] = $141;
+ $142 = HEAP8[$52>>0]|0;
+ $143 = HEAP8[$53>>0]|0;
+ $144 = $143 ^ $142;
+ HEAP8[$52>>0] = $144;
+ $145 = HEAP8[$54>>0]|0;
+ $146 = HEAP8[$55>>0]|0;
+ $147 = $146 ^ $145;
+ HEAP8[$54>>0] = $147;
+ $148 = HEAP8[$56>>0]|0;
+ $149 = HEAP8[$57>>0]|0;
+ $150 = $149 ^ $148;
+ HEAP8[$56>>0] = $150;
+ $151 = HEAP8[$58>>0]|0;
+ $152 = HEAP8[$59>>0]|0;
+ $153 = $152 ^ $151;
+ HEAP8[$58>>0] = $153;
+ }
+ $154 = (FUNCTION_TABLE_iiii[$8 & 127]($29,$16,$16)|0);
+ $155 = ($$0121>>>0)>($154>>>0);
+ $156 = $155 ? $$0121 : $154;
+ $$1122 = $156;
+ }
+ $157 = HEAP32[$22>>2]|0;
+ $158 = ($157|0)==(0|0);
+ if ($158) {
+ $171 = ($$2110>>>0)>(15);
+ if ($171) {
+ $172 = (($$2110) + -16)|0;
+ $173 = $172 & -16;
+ $scevgep182 = ((($$2)) + 16|0);
+ $$2123160 = $$1122;$$3111161 = $$2110;$$3162 = $$2;
+ while(1) {
+ $174 = $$3162;
+ $175 = $174 | $17;
+ $176 = $175 & 3;
+ $177 = ($176|0)==(0);
+ if ($177) {
+ $178 = HEAP32[$16>>2]|0;
+ $179 = ((($$3162)) + 4|0);
+ $180 = HEAP32[$$3162>>2]|0;
+ $181 = $180 ^ $178;
+ HEAP32[$16>>2] = $181;
+ $182 = HEAP32[$23>>2]|0;
+ $183 = ((($$3162)) + 8|0);
+ $184 = HEAP32[$179>>2]|0;
+ $185 = $184 ^ $182;
+ HEAP32[$23>>2] = $185;
+ $186 = HEAP32[$25>>2]|0;
+ $187 = ((($$3162)) + 12|0);
+ $188 = HEAP32[$183>>2]|0;
+ $189 = $188 ^ $186;
+ HEAP32[$25>>2] = $189;
+ $190 = HEAP32[$27>>2]|0;
+ $191 = HEAP32[$187>>2]|0;
+ $192 = $191 ^ $190;
+ HEAP32[$27>>2] = $192;
+ } else {
+ $193 = HEAP8[$16>>0]|0;
+ $194 = ((($$3162)) + 1|0);
+ $195 = HEAP8[$$3162>>0]|0;
+ $196 = $195 ^ $193;
+ HEAP8[$16>>0] = $196;
+ $197 = HEAP8[$61>>0]|0;
+ $198 = ((($$3162)) + 2|0);
+ $199 = HEAP8[$194>>0]|0;
+ $200 = $199 ^ $197;
+ HEAP8[$61>>0] = $200;
+ $201 = HEAP8[$62>>0]|0;
+ $202 = ((($$3162)) + 3|0);
+ $203 = HEAP8[$198>>0]|0;
+ $204 = $203 ^ $201;
+ HEAP8[$62>>0] = $204;
+ $205 = HEAP8[$63>>0]|0;
+ $206 = ((($$3162)) + 4|0);
+ $207 = HEAP8[$202>>0]|0;
+ $208 = $207 ^ $205;
+ HEAP8[$63>>0] = $208;
+ $209 = HEAP8[$64>>0]|0;
+ $210 = ((($$3162)) + 5|0);
+ $211 = HEAP8[$206>>0]|0;
+ $212 = $211 ^ $209;
+ HEAP8[$64>>0] = $212;
+ $213 = HEAP8[$65>>0]|0;
+ $214 = ((($$3162)) + 6|0);
+ $215 = HEAP8[$210>>0]|0;
+ $216 = $215 ^ $213;
+ HEAP8[$65>>0] = $216;
+ $217 = HEAP8[$66>>0]|0;
+ $218 = ((($$3162)) + 7|0);
+ $219 = HEAP8[$214>>0]|0;
+ $220 = $219 ^ $217;
+ HEAP8[$66>>0] = $220;
+ $221 = HEAP8[$67>>0]|0;
+ $222 = ((($$3162)) + 8|0);
+ $223 = HEAP8[$218>>0]|0;
+ $224 = $223 ^ $221;
+ HEAP8[$67>>0] = $224;
+ $225 = HEAP8[$68>>0]|0;
+ $226 = ((($$3162)) + 9|0);
+ $227 = HEAP8[$222>>0]|0;
+ $228 = $227 ^ $225;
+ HEAP8[$68>>0] = $228;
+ $229 = HEAP8[$69>>0]|0;
+ $230 = ((($$3162)) + 10|0);
+ $231 = HEAP8[$226>>0]|0;
+ $232 = $231 ^ $229;
+ HEAP8[$69>>0] = $232;
+ $233 = HEAP8[$70>>0]|0;
+ $234 = ((($$3162)) + 11|0);
+ $235 = HEAP8[$230>>0]|0;
+ $236 = $235 ^ $233;
+ HEAP8[$70>>0] = $236;
+ $237 = HEAP8[$71>>0]|0;
+ $238 = ((($$3162)) + 12|0);
+ $239 = HEAP8[$234>>0]|0;
+ $240 = $239 ^ $237;
+ HEAP8[$71>>0] = $240;
+ $241 = HEAP8[$72>>0]|0;
+ $242 = ((($$3162)) + 13|0);
+ $243 = HEAP8[$238>>0]|0;
+ $244 = $243 ^ $241;
+ HEAP8[$72>>0] = $244;
+ $245 = HEAP8[$73>>0]|0;
+ $246 = ((($$3162)) + 14|0);
+ $247 = HEAP8[$242>>0]|0;
+ $248 = $247 ^ $245;
+ HEAP8[$73>>0] = $248;
+ $249 = HEAP8[$74>>0]|0;
+ $250 = ((($$3162)) + 15|0);
+ $251 = HEAP8[$246>>0]|0;
+ $252 = $251 ^ $249;
+ HEAP8[$74>>0] = $252;
+ $253 = HEAP8[$75>>0]|0;
+ $254 = HEAP8[$250>>0]|0;
+ $255 = $254 ^ $253;
+ HEAP8[$75>>0] = $255;
+ }
+ $256 = (FUNCTION_TABLE_iiii[$8 & 127]($29,$16,$16)|0);
+ $257 = ($$2123160>>>0)>($256>>>0);
+ $258 = $257 ? $$2123160 : $256;
+ $259 = (($$3111161) + -16)|0;
+ $260 = ((($$3162)) + 16|0);
+ $261 = ($259>>>0)>(15);
+ if ($261) {
+ $$2123160 = $258;$$3111161 = $259;$$3162 = $260;
+ } else {
+ break;
+ }
+ }
+ $262 = (($172) - ($173))|0;
+ $scevgep183 = (($scevgep182) + ($173)|0);
+ $$3124 = $258;$$4 = $scevgep183;$$4112 = $262;
+ } else {
+ $$3124 = $$1122;$$4 = $$2;$$4112 = $$2110;
+ }
+ } else {
+ $159 = $$2110 >>> 4;
+ FUNCTION_TABLE_viiiiii[$157 & 63]($29,$16,$4,$$2,$159,1);
+ $160 = $$2110 & -16;
+ $161 = (($$2) + ($160)|0);
+ $162 = (($$2110) - ($160))|0;
+ $163 = $4;
+ $164 = $163;
+ HEAP32[$164>>2] = 0;
+ $165 = (($163) + 4)|0;
+ $166 = $165;
+ HEAP32[$166>>2] = 0;
+ $167 = $60;
+ $168 = $167;
+ HEAP32[$168>>2] = 0;
+ $169 = (($167) + 4)|0;
+ $170 = $169;
+ HEAP32[$170>>2] = 0;
+ $$3124 = $$1122;$$4 = $161;$$4112 = $162;
+ }
+ $263 = ($$4112|0)==(0);
+ if ($263) {
+ $$4125 = $$3124;$$6 = 0;
+ break;
+ } else {
+ $$0107 = $$4;$$0108 = $$4112;$$0121 = $$3124;$$0127 = 0;
+ }
+ }
+ HEAP32[$9>>2] = $$6;
+ $264 = ($$4125|0)==(0);
+ $265 = (($$4125) + 16)|0;
+ $spec$select = $264 ? 0 : $265;
+ $$0 = $spec$select;
+ STACKTOP = sp;return ($$0|0);
+}
+function __gcry_cipher_ccm_encrypt($0,$1,$2,$3,$4) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
+ var $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $5 = 0;
+ var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $5 = ($2>>>0)<($4>>>0);
+ if ($5) {
+ $$0 = 200;
+ return ($$0|0);
+ }
+ $6 = ((($0)) + 184|0);
+ $7 = HEAP8[$6>>0]|0;
+ $8 = $7 & 1;
+ $9 = ($8<<24>>24)==(0);
+ if ($9) {
+ $$0 = 156;
+ return ($$0|0);
+ }
+ $10 = ((($0)) + 56|0);
+ $11 = HEAP8[$10>>0]|0;
+ $12 = $11 & 4;
+ $13 = ($12<<24>>24)!=(0);
+ $14 = $7 & 2;
+ $15 = ($14<<24>>24)==(0);
+ $or$cond = $15 | $13;
+ if ($or$cond) {
+ $$0 = 156;
+ return ($$0|0);
+ }
+ $16 = ((($0)) + 136|0);
+ $17 = $16;
+ $18 = $17;
+ $19 = HEAP32[$18>>2]|0;
+ $20 = (($17) + 4)|0;
+ $21 = $20;
+ $22 = HEAP32[$21>>2]|0;
+ $23 = ($19|0)==(0);
+ $24 = ($22|0)==(0);
+ $25 = $23 & $24;
+ if (!($25)) {
+ $$0 = 156;
+ return ($$0|0);
+ }
+ $26 = ((($0)) + 128|0);
+ $27 = $26;
+ $28 = $27;
+ $29 = HEAP32[$28>>2]|0;
+ $30 = (($27) + 4)|0;
+ $31 = $30;
+ $32 = HEAP32[$31>>2]|0;
+ $33 = ($32>>>0)<(0);
+ $34 = ($29>>>0)<($4>>>0);
+ $35 = ($32|0)==(0);
+ $36 = $35 & $34;
+ $37 = $33 | $36;
+ if ($37) {
+ $$0 = 139;
+ return ($$0|0);
+ }
+ $38 = (_i64Subtract(($29|0),($32|0),($4|0),0)|0);
+ $39 = tempRet0;
+ $40 = $26;
+ $41 = $40;
+ HEAP32[$41>>2] = $38;
+ $42 = (($40) + 4)|0;
+ $43 = $42;
+ HEAP32[$43>>2] = $39;
+ $44 = (_do_cbc_mac($0,$3,$4,0)|0);
+ $45 = ($44|0)==(0);
+ if (!($45)) {
+ $46 = (($44) + 20)|0;
+ ___gcry_burn_stack($46);
+ }
+ $47 = (__gcry_cipher_ctr_encrypt($0,$1,$2,$3,$4)|0);
+ $$0 = $47;
+ return ($$0|0);
+}
+function __gcry_cipher_ccm_decrypt($0,$1,$2,$3,$4) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
+ var $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0;
+ var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $5 = ($2>>>0)<($4>>>0);
+ if ($5) {
+ $$0 = 200;
+ return ($$0|0);
+ }
+ $6 = ((($0)) + 184|0);
+ $7 = HEAP8[$6>>0]|0;
+ $8 = $7 & 1;
+ $9 = ($8<<24>>24)==(0);
+ if ($9) {
+ $$0 = 156;
+ return ($$0|0);
+ }
+ $10 = ((($0)) + 56|0);
+ $11 = HEAP8[$10>>0]|0;
+ $12 = $11 & 4;
+ $13 = ($12<<24>>24)!=(0);
+ $14 = $7 & 2;
+ $15 = ($14<<24>>24)==(0);
+ $or$cond = $15 | $13;
+ if ($or$cond) {
+ $$0 = 156;
+ return ($$0|0);
+ }
+ $16 = ((($0)) + 136|0);
+ $17 = $16;
+ $18 = $17;
+ $19 = HEAP32[$18>>2]|0;
+ $20 = (($17) + 4)|0;
+ $21 = $20;
+ $22 = HEAP32[$21>>2]|0;
+ $23 = ($19|0)==(0);
+ $24 = ($22|0)==(0);
+ $25 = $23 & $24;
+ if (!($25)) {
+ $$0 = 156;
+ return ($$0|0);
+ }
+ $26 = ((($0)) + 128|0);
+ $27 = $26;
+ $28 = $27;
+ $29 = HEAP32[$28>>2]|0;
+ $30 = (($27) + 4)|0;
+ $31 = $30;
+ $32 = HEAP32[$31>>2]|0;
+ $33 = ($32>>>0)<(0);
+ $34 = ($29>>>0)<($4>>>0);
+ $35 = ($32|0)==(0);
+ $36 = $35 & $34;
+ $37 = $33 | $36;
+ if ($37) {
+ $$0 = 139;
+ return ($$0|0);
+ }
+ $38 = (__gcry_cipher_ctr_encrypt($0,$1,$2,$3,$4)|0);
+ $39 = ($38|0)==(0);
+ if (!($39)) {
+ $$0 = $38;
+ return ($$0|0);
+ }
+ $40 = $26;
+ $41 = $40;
+ $42 = HEAP32[$41>>2]|0;
+ $43 = (($40) + 4)|0;
+ $44 = $43;
+ $45 = HEAP32[$44>>2]|0;
+ $46 = (_i64Subtract(($42|0),($45|0),($4|0),0)|0);
+ $47 = tempRet0;
+ $48 = $26;
+ $49 = $48;
+ HEAP32[$49>>2] = $46;
+ $50 = (($48) + 4)|0;
+ $51 = $50;
+ HEAP32[$51>>2] = $47;
+ $52 = (_do_cbc_mac($0,$1,$4,0)|0);
+ $53 = ($52|0)==(0);
+ if ($53) {
+ $$0 = 0;
+ return ($$0|0);
+ }
+ $54 = (($52) + 20)|0;
+ ___gcry_burn_stack($54);
+ $$0 = 0;
+ return ($$0|0);
+}
+function __gcry_cipher_cfb_encrypt($0,$1,$2,$3,$4) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ var $$0 = 0, $$0134259 = 0, $$0134259$us = 0, $$0135 = 0, $$0139 = 0, $$0143 = 0, $$02434$i = 0, $$02434$i240 = 0, $$02533$i = 0, $$02533$i241 = 0, $$026$i = 0, $$026$i244 = 0, $$028$i = 0, $$028$i243 = 0, $$03449$i = 0, $$03449$i153 = 0, $$03449$i174 = 0, $$03449$i199 = 0, $$03449$i220$us = 0, $$035$i = 0;
+ var $$035$i239 = 0, $$03548$i = 0, $$03548$i154 = 0, $$03548$i175 = 0, $$03548$i200 = 0, $$03548$i221$us = 0, $$03647$i = 0, $$03647$i155 = 0, $$03647$i176 = 0, $$03647$i201 = 0, $$03647$i222$us = 0, $$037$i = 0, $$037$i159 = 0, $$037$i205 = 0, $$037$i226$us = 0, $$039$i = 0, $$039$i158 = 0, $$039$i204 = 0, $$039$i225$us = 0, $$041$i = 0;
+ var $$041$i157 = 0, $$041$i203 = 0, $$041$i224$us = 0, $$050$i = 0, $$050$i152 = 0, $$050$i173 = 0, $$050$i198 = 0, $$050$i219$us = 0, $$1 = 0, $$1$i = 0, $$1$i160 = 0, $$1$i191 = 0, $$1$i206 = 0, $$1$i227$us = 0, $$1$i245 = 0, $$1136258 = 0, $$1136258$us = 0, $$1140257 = 0, $$1140257$us = 0, $$1144256 = 0;
+ var $$1144256$us = 0, $$12731$i = 0, $$12731$i249 = 0, $$12930$i = 0, $$12930$i250 = 0, $$13845$i = 0, $$13845$i164 = 0, $$13845$i185 = 0, $$13845$i185$ph = 0, $$13845$i210 = 0, $$13845$i231 = 0, $$13845$i231$us = 0, $$14044$i = 0, $$14044$i165 = 0, $$14044$i186 = 0, $$14044$i186$ph = 0, $$14044$i211 = 0, $$14044$i232 = 0, $$14044$i232$us = 0, $$14243$i = 0;
+ var $$14243$i166 = 0, $$14243$i187 = 0, $$14243$i187$ph = 0, $$14243$i212 = 0, $$14243$i233 = 0, $$14243$i233$us = 0, $$2 = 0, $$2137 = 0, $$2141 = 0, $$2145 = 0, $$232$i = 0, $$232$i248 = 0, $$246$i = 0, $$246$i163 = 0, $$246$i184 = 0, $$246$i184$ph = 0, $$246$i209 = 0, $$246$i230 = 0, $$246$i230$us = 0, $$3 = 0;
+ var $$3138 = 0, $$3142 = 0, $$3146 = 0, $$pre = 0, $$pre271 = 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;
+ var $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0;
+ var $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0;
+ var $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0;
+ var $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0;
+ var $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0;
+ var $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0;
+ var $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0;
+ var $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0;
+ var $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0;
+ var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0;
+ var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0;
+ var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0;
+ var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond$i = 0, $or$cond$i147 = 0, $or$cond$i168 = 0, $or$cond$i189 = 0, $or$cond$i193 = 0, $or$cond$i235 = 0, $scevgep$i = 0, $scevgep$i148 = 0, $scevgep$i169 = 0;
+ var $scevgep$i190 = 0, $scevgep$i194 = 0, $scevgep$i215$us = 0, $scevgep$i236 = 0, $scevgep44$i = 0, $scevgep44$i237 = 0, $scevgep61$i = 0, $scevgep61$i149 = 0, $scevgep61$i170 = 0, $scevgep61$i195 = 0, $scevgep61$i216 = 0, $scevgep63$i = 0, $scevgep63$i150 = 0, $scevgep63$i171 = 0, $scevgep63$i196 = 0, $scevgep63$i217$us = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $5 = ((($0)) + 12|0);
+ $6 = HEAP32[$5>>2]|0;
+ $7 = ((($6)) + 36|0);
+ $8 = HEAP32[$7>>2]|0;
+ $9 = ((($6)) + 20|0);
+ $10 = HEAP32[$9>>2]|0;
+ $11 = $10 << 1;
+ $12 = ($2>>>0)<($4>>>0);
+ if ($12) {
+ $$0 = 200;
+ return ($$0|0);
+ }
+ $13 = ((($0)) + 112|0);
+ $14 = HEAP32[$13>>2]|0;
+ $15 = ($14>>>0)<($4>>>0);
+ if (!($15)) {
+ $16 = ((($0)) + 64|0);
+ $17 = (($16) + ($10)|0);
+ $18 = (0 - ($14))|0;
+ $19 = (($17) + ($18)|0);
+ $20 = $3;
+ $21 = $1;
+ $22 = $19;
+ $23 = $20 | $21;
+ $24 = $23 | $22;
+ $25 = $24 & 3;
+ $26 = ($25|0)==(0);
+ $27 = ($4>>>0)>(3);
+ $or$cond$i = $27 & $26;
+ if ($or$cond$i) {
+ $28 = (($4) + -4)|0;
+ $29 = $28 & -4;
+ $30 = (($29) + 4)|0;
+ $scevgep61$i = (($19) + ($30)|0);
+ $$03449$i = $3;$$03548$i = $19;$$03647$i = $1;$$050$i = $4;
+ while(1) {
+ $31 = ((($$03449$i)) + 4|0);
+ $32 = HEAP32[$$03449$i>>2]|0;
+ $33 = ((($$03548$i)) + 4|0);
+ $34 = HEAP32[$$03548$i>>2]|0;
+ $35 = $34 ^ $32;
+ HEAP32[$$03548$i>>2] = $35;
+ $36 = ((($$03647$i)) + 4|0);
+ HEAP32[$$03647$i>>2] = $35;
+ $37 = (($$050$i) + -4)|0;
+ $38 = ($37>>>0)>(3);
+ if ($38) {
+ $$03449$i = $31;$$03548$i = $33;$$03647$i = $36;$$050$i = $37;
+ } else {
+ break;
+ }
+ }
+ $scevgep$i = (($3) + ($30)|0);
+ $scevgep63$i = (($1) + ($30)|0);
+ $39 = (($28) - ($29))|0;
+ $$037$i = $scevgep$i;$$039$i = $scevgep61$i;$$041$i = $scevgep63$i;$$1$i = $39;
+ } else {
+ $$037$i = $3;$$039$i = $19;$$041$i = $1;$$1$i = $4;
+ }
+ $40 = ($$1$i|0)==(0);
+ if ($40) {
+ $50 = $14;
+ } else {
+ $$13845$i = $$037$i;$$14044$i = $$039$i;$$14243$i = $$041$i;$$246$i = $$1$i;
+ while(1) {
+ $41 = ((($$13845$i)) + 1|0);
+ $42 = HEAP8[$$13845$i>>0]|0;
+ $43 = ((($$14044$i)) + 1|0);
+ $44 = HEAP8[$$14044$i>>0]|0;
+ $45 = $44 ^ $42;
+ HEAP8[$$14044$i>>0] = $45;
+ $46 = ((($$14243$i)) + 1|0);
+ HEAP8[$$14243$i>>0] = $45;
+ $47 = (($$246$i) + -1)|0;
+ $48 = ($47|0)==(0);
+ if ($48) {
+ break;
+ } else {
+ $$13845$i = $41;$$14044$i = $43;$$14243$i = $46;$$246$i = $47;
+ }
+ }
+ $$pre = HEAP32[$13>>2]|0;
+ $50 = $$pre;
+ }
+ $49 = (($50) - ($4))|0;
+ HEAP32[$13>>2] = $49;
+ $$0 = 0;
+ return ($$0|0);
+ }
+ $51 = ($14|0)==(0);
+ if ($51) {
+ $$0135 = $1;$$0139 = $3;$$0143 = $4;
+ } else {
+ $52 = (($4) - ($14))|0;
+ $53 = ((($0)) + 64|0);
+ $54 = (($53) + ($10)|0);
+ $55 = (0 - ($14))|0;
+ $56 = (($54) + ($55)|0);
+ $57 = $3;
+ $58 = $1;
+ $59 = $56;
+ $60 = $57 | $58;
+ $61 = $60 | $59;
+ $62 = $61 & 3;
+ $63 = ($62|0)==(0);
+ $64 = ($14>>>0)>(3);
+ $or$cond$i168 = $64 & $63;
+ if ($or$cond$i168) {
+ $65 = (($14) + -4)|0;
+ $66 = $65 & -4;
+ $67 = (($66) + 4)|0;
+ $scevgep61$i170 = (($56) + ($67)|0);
+ $$03449$i174 = $3;$$03548$i175 = $56;$$03647$i176 = $1;$$050$i173 = $14;
+ while(1) {
+ $68 = ((($$03449$i174)) + 4|0);
+ $69 = HEAP32[$$03449$i174>>2]|0;
+ $70 = ((($$03548$i175)) + 4|0);
+ $71 = HEAP32[$$03548$i175>>2]|0;
+ $72 = $71 ^ $69;
+ HEAP32[$$03548$i175>>2] = $72;
+ $73 = ((($$03647$i176)) + 4|0);
+ HEAP32[$$03647$i176>>2] = $72;
+ $74 = (($$050$i173) + -4)|0;
+ $75 = ($74>>>0)>(3);
+ if ($75) {
+ $$03449$i174 = $68;$$03548$i175 = $70;$$03647$i176 = $73;$$050$i173 = $74;
+ } else {
+ break;
+ }
+ }
+ $scevgep$i169 = (($3) + ($67)|0);
+ $scevgep63$i171 = (($1) + ($67)|0);
+ $76 = (($65) - ($66))|0;
+ $77 = ($76|0)==(0);
+ if ($77) {
+ $87 = $14;
+ } else {
+ $$13845$i185$ph = $scevgep$i169;$$14044$i186$ph = $scevgep61$i170;$$14243$i187$ph = $scevgep63$i171;$$246$i184$ph = $76;
+ label = 17;
+ }
+ } else {
+ $$13845$i185$ph = $3;$$14044$i186$ph = $56;$$14243$i187$ph = $1;$$246$i184$ph = $14;
+ label = 17;
+ }
+ if ((label|0) == 17) {
+ $$13845$i185 = $$13845$i185$ph;$$14044$i186 = $$14044$i186$ph;$$14243$i187 = $$14243$i187$ph;$$246$i184 = $$246$i184$ph;
+ while(1) {
+ $78 = ((($$13845$i185)) + 1|0);
+ $79 = HEAP8[$$13845$i185>>0]|0;
+ $80 = ((($$14044$i186)) + 1|0);
+ $81 = HEAP8[$$14044$i186>>0]|0;
+ $82 = $81 ^ $79;
+ HEAP8[$$14044$i186>>0] = $82;
+ $83 = ((($$14243$i187)) + 1|0);
+ HEAP8[$$14243$i187>>0] = $82;
+ $84 = (($$246$i184) + -1)|0;
+ $85 = ($84|0)==(0);
+ if ($85) {
+ break;
+ } else {
+ $$13845$i185 = $78;$$14044$i186 = $80;$$14243$i187 = $83;$$246$i184 = $84;
+ }
+ }
+ $$pre271 = HEAP32[$13>>2]|0;
+ $87 = $$pre271;
+ }
+ $86 = (($1) + ($87)|0);
+ $88 = (($3) + ($87)|0);
+ HEAP32[$13>>2] = 0;
+ $$0135 = $86;$$0139 = $88;$$0143 = $52;
+ }
+ $89 = ($$0143>>>0)<($11>>>0);
+ L34: do {
+ if ($89) {
+ $$1 = 0;$$2137 = $$0135;$$2141 = $$0139;$$2145 = $$0143;
+ } else {
+ $90 = ((($0)) + 20|0);
+ $91 = HEAP32[$90>>2]|0;
+ $92 = ($91|0)==(0|0);
+ if (!($92)) {
+ $93 = (($$0143>>>0) / ($10>>>0))&-1;
+ $94 = ((($0)) + 496|0);
+ $95 = ((($0)) + 64|0);
+ FUNCTION_TABLE_viiiii[$91 & 127]($94,$95,$$0135,$$0139,$93);
+ $96 = Math_imul($93, $10)|0;
+ $97 = (($$0135) + ($96)|0);
+ $98 = (($$0139) + ($96)|0);
+ $99 = (($$0143) - ($96))|0;
+ $$1 = 0;$$2137 = $97;$$2141 = $98;$$2145 = $99;
+ break;
+ }
+ $100 = ((($0)) + 496|0);
+ $101 = ((($0)) + 64|0);
+ $102 = $101;
+ $103 = ($10>>>0)>(3);
+ $104 = (($10) + -4)|0;
+ $105 = $104 & -4;
+ $106 = (($105) + 4)|0;
+ $scevgep61$i216 = (($101) + ($106)|0);
+ $107 = (($104) - ($105))|0;
+ if (!($103)) {
+ $138 = ($10|0)==(0);
+ $$0134259 = 0;$$1136258 = $$0135;$$1140257 = $$0139;$$1144256 = $$0143;
+ while(1) {
+ $139 = (FUNCTION_TABLE_iiii[$8 & 127]($100,$101,$101)|0);
+ $140 = ($139>>>0)>($$0134259>>>0);
+ $141 = $140 ? $139 : $$0134259;
+ if (!($138)) {
+ $$13845$i231 = $$1140257;$$14044$i232 = $101;$$14243$i233 = $$1136258;$$246$i230 = $10;
+ while(1) {
+ $142 = ((($$13845$i231)) + 1|0);
+ $143 = HEAP8[$$13845$i231>>0]|0;
+ $144 = ((($$14044$i232)) + 1|0);
+ $145 = HEAP8[$$14044$i232>>0]|0;
+ $146 = $145 ^ $143;
+ HEAP8[$$14044$i232>>0] = $146;
+ $147 = ((($$14243$i233)) + 1|0);
+ HEAP8[$$14243$i233>>0] = $146;
+ $148 = (($$246$i230) + -1)|0;
+ $149 = ($148|0)==(0);
+ if ($149) {
+ break;
+ } else {
+ $$13845$i231 = $142;$$14044$i232 = $144;$$14243$i233 = $147;$$246$i230 = $148;
+ }
+ }
+ }
+ $150 = (($$1136258) + ($10)|0);
+ $151 = (($$1140257) + ($10)|0);
+ $152 = (($$1144256) - ($10))|0;
+ $153 = ($152>>>0)<($11>>>0);
+ if ($153) {
+ $$1 = $141;$$2137 = $150;$$2141 = $151;$$2145 = $152;
+ break L34;
+ } else {
+ $$0134259 = $141;$$1136258 = $150;$$1140257 = $151;$$1144256 = $152;
+ }
+ }
+ }
+ $$0134259$us = 0;$$1136258$us = $$0135;$$1140257$us = $$0139;$$1144256$us = $$0143;
+ while(1) {
+ $108 = (FUNCTION_TABLE_iiii[$8 & 127]($100,$101,$101)|0);
+ $109 = ($108>>>0)>($$0134259$us>>>0);
+ $110 = $109 ? $108 : $$0134259$us;
+ $111 = $$1140257$us;
+ $112 = $$1136258$us;
+ $113 = $111 | $102;
+ $114 = $113 | $112;
+ $115 = $114 & 3;
+ $116 = ($115|0)==(0);
+ if ($116) {
+ $scevgep$i215$us = (($$1140257$us) + ($106)|0);
+ $$03449$i220$us = $$1140257$us;$$03548$i221$us = $101;$$03647$i222$us = $$1136258$us;$$050$i219$us = $10;
+ while(1) {
+ $117 = ((($$03449$i220$us)) + 4|0);
+ $118 = HEAP32[$$03449$i220$us>>2]|0;
+ $119 = ((($$03548$i221$us)) + 4|0);
+ $120 = HEAP32[$$03548$i221$us>>2]|0;
+ $121 = $120 ^ $118;
+ HEAP32[$$03548$i221$us>>2] = $121;
+ $122 = ((($$03647$i222$us)) + 4|0);
+ HEAP32[$$03647$i222$us>>2] = $121;
+ $123 = (($$050$i219$us) + -4)|0;
+ $124 = ($123>>>0)>(3);
+ if ($124) {
+ $$03449$i220$us = $117;$$03548$i221$us = $119;$$03647$i222$us = $122;$$050$i219$us = $123;
+ } else {
+ break;
+ }
+ }
+ $scevgep63$i217$us = (($$1136258$us) + ($106)|0);
+ $$037$i226$us = $scevgep$i215$us;$$039$i225$us = $scevgep61$i216;$$041$i224$us = $scevgep63$i217$us;$$1$i227$us = $107;
+ } else {
+ $$037$i226$us = $$1140257$us;$$039$i225$us = $101;$$041$i224$us = $$1136258$us;$$1$i227$us = $10;
+ }
+ $125 = ($$1$i227$us|0)==(0);
+ if (!($125)) {
+ $$13845$i231$us = $$037$i226$us;$$14044$i232$us = $$039$i225$us;$$14243$i233$us = $$041$i224$us;$$246$i230$us = $$1$i227$us;
+ while(1) {
+ $126 = ((($$13845$i231$us)) + 1|0);
+ $127 = HEAP8[$$13845$i231$us>>0]|0;
+ $128 = ((($$14044$i232$us)) + 1|0);
+ $129 = HEAP8[$$14044$i232$us>>0]|0;
+ $130 = $129 ^ $127;
+ HEAP8[$$14044$i232$us>>0] = $130;
+ $131 = ((($$14243$i233$us)) + 1|0);
+ HEAP8[$$14243$i233$us>>0] = $130;
+ $132 = (($$246$i230$us) + -1)|0;
+ $133 = ($132|0)==(0);
+ if ($133) {
+ break;
+ } else {
+ $$13845$i231$us = $126;$$14044$i232$us = $128;$$14243$i233$us = $131;$$246$i230$us = $132;
+ }
+ }
+ }
+ $134 = (($$1136258$us) + ($10)|0);
+ $135 = (($$1140257$us) + ($10)|0);
+ $136 = (($$1144256$us) - ($10))|0;
+ $137 = ($136>>>0)<($11>>>0);
+ if ($137) {
+ $$1 = $110;$$2137 = $134;$$2141 = $135;$$2145 = $136;
+ break;
+ } else {
+ $$0134259$us = $110;$$1136258$us = $134;$$1140257$us = $135;$$1144256$us = $136;
+ }
+ }
+ }
+ } while(0);
+ $154 = ($$2145>>>0)<($10>>>0);
+ if ($154) {
+ $$2 = $$1;$$3138 = $$2137;$$3142 = $$2141;$$3146 = $$2145;
+ } else {
+ $155 = ((($0)) + 96|0);
+ $156 = ((($0)) + 64|0);
+ $157 = $155;
+ $158 = $156;
+ $159 = $158 | $157;
+ $160 = $159 & 3;
+ $161 = ($160|0)==(0);
+ $162 = ($10>>>0)>(3);
+ $or$cond$i235 = $161 & $162;
+ if ($or$cond$i235) {
+ $163 = (($10) + -4)|0;
+ $164 = $163 & -4;
+ $165 = (($164) + 4)|0;
+ $scevgep$i236 = (($156) + ($165)|0);
+ $$02434$i240 = $156;$$02533$i241 = $155;$$035$i239 = $10;
+ while(1) {
+ $166 = ((($$02434$i240)) + 4|0);
+ $167 = HEAP32[$$02434$i240>>2]|0;
+ $168 = ((($$02533$i241)) + 4|0);
+ HEAP32[$$02533$i241>>2] = $167;
+ $169 = (($$035$i239) + -4)|0;
+ $170 = ($169>>>0)>(3);
+ if ($170) {
+ $$02434$i240 = $166;$$02533$i241 = $168;$$035$i239 = $169;
+ } else {
+ break;
+ }
+ }
+ $scevgep44$i237 = (((($0)) + 96|0) + ($165)|0);
+ $171 = (($163) - ($164))|0;
+ $$026$i244 = $scevgep$i236;$$028$i243 = $scevgep44$i237;$$1$i245 = $171;
+ } else {
+ $$026$i244 = $156;$$028$i243 = $155;$$1$i245 = $10;
+ }
+ $172 = ($$1$i245|0)==(0);
+ if (!($172)) {
+ $$12731$i249 = $$026$i244;$$12930$i250 = $$028$i243;$$232$i248 = $$1$i245;
+ while(1) {
+ $173 = ((($$12731$i249)) + 1|0);
+ $174 = HEAP8[$$12731$i249>>0]|0;
+ $175 = ((($$12930$i250)) + 1|0);
+ HEAP8[$$12930$i250>>0] = $174;
+ $176 = (($$232$i248) + -1)|0;
+ $177 = ($176|0)==(0);
+ if ($177) {
+ break;
+ } else {
+ $$12731$i249 = $173;$$12930$i250 = $175;$$232$i248 = $176;
+ }
+ }
+ }
+ $178 = ((($0)) + 496|0);
+ $179 = (FUNCTION_TABLE_iiii[$8 & 127]($178,$156,$156)|0);
+ $180 = ($179>>>0)>($$1>>>0);
+ $181 = $180 ? $179 : $$1;
+ $182 = $$2141;
+ $183 = $$2137;
+ $184 = $182 | $158;
+ $185 = $184 | $183;
+ $186 = $185 & 3;
+ $187 = ($186|0)==(0);
+ $or$cond$i193 = $162 & $187;
+ if ($or$cond$i193) {
+ $188 = (($10) + -4)|0;
+ $189 = $188 & -4;
+ $190 = (($189) + 4)|0;
+ $scevgep61$i195 = (($156) + ($190)|0);
+ $$03449$i199 = $$2141;$$03548$i200 = $156;$$03647$i201 = $$2137;$$050$i198 = $10;
+ while(1) {
+ $191 = ((($$03449$i199)) + 4|0);
+ $192 = HEAP32[$$03449$i199>>2]|0;
+ $193 = ((($$03548$i200)) + 4|0);
+ $194 = HEAP32[$$03548$i200>>2]|0;
+ $195 = $194 ^ $192;
+ HEAP32[$$03548$i200>>2] = $195;
+ $196 = ((($$03647$i201)) + 4|0);
+ HEAP32[$$03647$i201>>2] = $195;
+ $197 = (($$050$i198) + -4)|0;
+ $198 = ($197>>>0)>(3);
+ if ($198) {
+ $$03449$i199 = $191;$$03548$i200 = $193;$$03647$i201 = $196;$$050$i198 = $197;
+ } else {
+ break;
+ }
+ }
+ $scevgep$i194 = (($$2141) + ($190)|0);
+ $scevgep63$i196 = (($$2137) + ($190)|0);
+ $199 = (($188) - ($189))|0;
+ $$037$i205 = $scevgep$i194;$$039$i204 = $scevgep61$i195;$$041$i203 = $scevgep63$i196;$$1$i206 = $199;
+ } else {
+ $$037$i205 = $$2141;$$039$i204 = $156;$$041$i203 = $$2137;$$1$i206 = $10;
+ }
+ $200 = ($$1$i206|0)==(0);
+ if (!($200)) {
+ $$13845$i210 = $$037$i205;$$14044$i211 = $$039$i204;$$14243$i212 = $$041$i203;$$246$i209 = $$1$i206;
+ while(1) {
+ $201 = ((($$13845$i210)) + 1|0);
+ $202 = HEAP8[$$13845$i210>>0]|0;
+ $203 = ((($$14044$i211)) + 1|0);
+ $204 = HEAP8[$$14044$i211>>0]|0;
+ $205 = $204 ^ $202;
+ HEAP8[$$14044$i211>>0] = $205;
+ $206 = ((($$14243$i212)) + 1|0);
+ HEAP8[$$14243$i212>>0] = $205;
+ $207 = (($$246$i209) + -1)|0;
+ $208 = ($207|0)==(0);
+ if ($208) {
+ break;
+ } else {
+ $$13845$i210 = $201;$$14044$i211 = $203;$$14243$i212 = $206;$$246$i209 = $207;
+ }
+ }
+ }
+ $209 = (($$2137) + ($10)|0);
+ $210 = (($$2141) + ($10)|0);
+ $211 = (($$2145) - ($10))|0;
+ $$2 = $181;$$3138 = $209;$$3142 = $210;$$3146 = $211;
+ }
+ $212 = ($$3146|0)==(0);
+ if ($212) {
+ $$3 = $$2;
+ } else {
+ $213 = ((($0)) + 96|0);
+ $214 = ((($0)) + 64|0);
+ $215 = $213;
+ $216 = $214;
+ $217 = $216 | $215;
+ $218 = $217 & 3;
+ $219 = ($218|0)==(0);
+ $220 = ($10>>>0)>(3);
+ $or$cond$i189 = $219 & $220;
+ if ($or$cond$i189) {
+ $221 = (($10) + -4)|0;
+ $222 = $221 & -4;
+ $223 = (($222) + 4)|0;
+ $scevgep$i190 = (($214) + ($223)|0);
+ $$02434$i = $214;$$02533$i = $213;$$035$i = $10;
+ while(1) {
+ $224 = ((($$02434$i)) + 4|0);
+ $225 = HEAP32[$$02434$i>>2]|0;
+ $226 = ((($$02533$i)) + 4|0);
+ HEAP32[$$02533$i>>2] = $225;
+ $227 = (($$035$i) + -4)|0;
+ $228 = ($227>>>0)>(3);
+ if ($228) {
+ $$02434$i = $224;$$02533$i = $226;$$035$i = $227;
+ } else {
+ break;
+ }
+ }
+ $scevgep44$i = (((($0)) + 96|0) + ($223)|0);
+ $229 = (($221) - ($222))|0;
+ $$026$i = $scevgep$i190;$$028$i = $scevgep44$i;$$1$i191 = $229;
+ } else {
+ $$026$i = $214;$$028$i = $213;$$1$i191 = $10;
+ }
+ $230 = ($$1$i191|0)==(0);
+ if (!($230)) {
+ $$12731$i = $$026$i;$$12930$i = $$028$i;$$232$i = $$1$i191;
+ while(1) {
+ $231 = ((($$12731$i)) + 1|0);
+ $232 = HEAP8[$$12731$i>>0]|0;
+ $233 = ((($$12930$i)) + 1|0);
+ HEAP8[$$12930$i>>0] = $232;
+ $234 = (($$232$i) + -1)|0;
+ $235 = ($234|0)==(0);
+ if ($235) {
+ break;
+ } else {
+ $$12731$i = $231;$$12930$i = $233;$$232$i = $234;
+ }
+ }
+ }
+ $236 = ((($0)) + 496|0);
+ $237 = (FUNCTION_TABLE_iiii[$8 & 127]($236,$214,$214)|0);
+ $238 = ($237>>>0)>($$2>>>0);
+ $239 = $238 ? $237 : $$2;
+ $240 = (($10) - ($$3146))|0;
+ HEAP32[$13>>2] = $240;
+ $241 = $$3142;
+ $242 = $$3138;
+ $243 = $241 | $216;
+ $244 = $243 | $242;
+ $245 = $244 & 3;
+ $246 = ($245|0)==(0);
+ $247 = ($$3146>>>0)>(3);
+ $or$cond$i147 = $247 & $246;
+ if ($or$cond$i147) {
+ $248 = (($$3146) + -4)|0;
+ $249 = $248 & -4;
+ $250 = (($249) + 4)|0;
+ $scevgep61$i149 = (($214) + ($250)|0);
+ $$03449$i153 = $$3142;$$03548$i154 = $214;$$03647$i155 = $$3138;$$050$i152 = $$3146;
+ while(1) {
+ $251 = ((($$03449$i153)) + 4|0);
+ $252 = HEAP32[$$03449$i153>>2]|0;
+ $253 = ((($$03548$i154)) + 4|0);
+ $254 = HEAP32[$$03548$i154>>2]|0;
+ $255 = $254 ^ $252;
+ HEAP32[$$03548$i154>>2] = $255;
+ $256 = ((($$03647$i155)) + 4|0);
+ HEAP32[$$03647$i155>>2] = $255;
+ $257 = (($$050$i152) + -4)|0;
+ $258 = ($257>>>0)>(3);
+ if ($258) {
+ $$03449$i153 = $251;$$03548$i154 = $253;$$03647$i155 = $256;$$050$i152 = $257;
+ } else {
+ break;
+ }
+ }
+ $scevgep$i148 = (($$3142) + ($250)|0);
+ $scevgep63$i150 = (($$3138) + ($250)|0);
+ $259 = (($248) - ($249))|0;
+ $$037$i159 = $scevgep$i148;$$039$i158 = $scevgep61$i149;$$041$i157 = $scevgep63$i150;$$1$i160 = $259;
+ } else {
+ $$037$i159 = $$3142;$$039$i158 = $214;$$041$i157 = $$3138;$$1$i160 = $$3146;
+ }
+ $260 = ($$1$i160|0)==(0);
+ if ($260) {
+ $$3 = $239;
+ } else {
+ $$13845$i164 = $$037$i159;$$14044$i165 = $$039$i158;$$14243$i166 = $$041$i157;$$246$i163 = $$1$i160;
+ while(1) {
+ $261 = ((($$13845$i164)) + 1|0);
+ $262 = HEAP8[$$13845$i164>>0]|0;
+ $263 = ((($$14044$i165)) + 1|0);
+ $264 = HEAP8[$$14044$i165>>0]|0;
+ $265 = $264 ^ $262;
+ HEAP8[$$14044$i165>>0] = $265;
+ $266 = ((($$14243$i166)) + 1|0);
+ HEAP8[$$14243$i166>>0] = $265;
+ $267 = (($$246$i163) + -1)|0;
+ $268 = ($267|0)==(0);
+ if ($268) {
+ $$3 = $239;
+ break;
+ } else {
+ $$13845$i164 = $261;$$14044$i165 = $263;$$14243$i166 = $266;$$246$i163 = $267;
+ }
+ }
+ }
+ }
+ $269 = ($$3|0)==(0);
+ if ($269) {
+ $$0 = 0;
+ return ($$0|0);
+ }
+ $270 = (($$3) + 16)|0;
+ ___gcry_burn_stack($270);
+ $$0 = 0;
+ return ($$0|0);
+}
+function __gcry_cipher_cfb_decrypt($0,$1,$2,$3,$4) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ var $$0 = 0, $$0134256 = 0, $$0134256$us = 0, $$0135 = 0, $$0139 = 0, $$0143 = 0, $$02434$i = 0, $$02434$i236 = 0, $$02533$i = 0, $$02533$i237 = 0, $$026$i = 0, $$026$i240 = 0, $$028$i = 0, $$028$i239 = 0, $$035$i = 0, $$035$i235 = 0, $$050$i$i = 0, $$050$i$i159 = 0, $$050$i$i201 = 0, $$050$i$i222$us = 0;
+ var $$05270$i$i = 0, $$05270$i$i151 = 0, $$05270$i$i172 = 0, $$05270$i$i193 = 0, $$05270$i$i214$us = 0, $$05468$i$i = 0, $$05468$i$i152 = 0, $$05468$i$i173 = 0, $$05468$i$i194 = 0, $$05468$i$i215$us = 0, $$05567$i$i = 0, $$05567$i$i153 = 0, $$05567$i$i174 = 0, $$05567$i$i195 = 0, $$05567$i$i216$us = 0, $$056$i$i = 0, $$056$i$i158 = 0, $$056$i$i200 = 0, $$056$i$i221$us = 0, $$060$i$i = 0;
+ var $$060$i$i157 = 0, $$060$i$i199 = 0, $$060$i$i220$us = 0, $$071$i$i = 0, $$071$i$i150 = 0, $$071$i$i171 = 0, $$071$i$i192 = 0, $$071$i$i213$us = 0, $$1 = 0, $$1$i = 0, $$1$i$i = 0, $$1$i$i160 = 0, $$1$i$i202 = 0, $$1$i$i223$us = 0, $$1$i241 = 0, $$1136255 = 0, $$1136255$us = 0, $$1140253 = 0, $$1140253$us = 0, $$1144252 = 0;
+ var $$1144252$us = 0, $$12731$i = 0, $$12731$i245 = 0, $$12930$i = 0, $$12930$i246 = 0, $$15165$i$i = 0, $$15165$i$i164 = 0, $$15165$i$i185 = 0, $$15165$i$i185$ph = 0, $$15165$i$i206 = 0, $$15165$i$i227 = 0, $$15165$i$i227$us = 0, $$15764$i$i = 0, $$15764$i$i165 = 0, $$15764$i$i186 = 0, $$15764$i$i186$ph = 0, $$15764$i$i207 = 0, $$15764$i$i228 = 0, $$15764$i$i228$us = 0, $$15963$i$i = 0;
+ var $$15963$i$i166 = 0, $$15963$i$i187 = 0, $$15963$i$i187$ph = 0, $$15963$i$i208 = 0, $$15963$i$i229 = 0, $$15963$i$i229$us = 0, $$2 = 0, $$2137 = 0, $$2141 = 0, $$2145 = 0, $$232$i = 0, $$232$i244 = 0, $$266$i$i = 0, $$266$i$i163 = 0, $$266$i$i184 = 0, $$266$i$i184$ph = 0, $$266$i$i205 = 0, $$266$i$i226 = 0, $$266$i$i226$us = 0, $$3 = 0;
+ var $$3138 = 0, $$3142 = 0, $$3146 = 0, $$pre = 0, $$pre272 = 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;
+ var $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0;
+ var $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0;
+ var $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0;
+ var $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0;
+ var $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0;
+ var $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0;
+ var $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0;
+ var $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0;
+ var $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0;
+ var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0;
+ var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0;
+ var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0;
+ var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond$i = 0, $or$cond$i$i = 0, $or$cond$i$i147 = 0, $or$cond$i$i168 = 0, $or$cond$i$i189 = 0, $or$cond$i231 = 0, $scevgep$i = 0, $scevgep$i$i = 0, $scevgep$i$i154 = 0;
+ var $scevgep$i$i175 = 0, $scevgep$i$i196 = 0, $scevgep$i$i217$us = 0, $scevgep$i232 = 0, $scevgep44$i = 0, $scevgep44$i233 = 0, $scevgep86$i$i = 0, $scevgep86$i$i148 = 0, $scevgep86$i$i169 = 0, $scevgep86$i$i190 = 0, $scevgep86$i$i211$us = 0, $scevgep88$i$i = 0, $scevgep88$i$i155 = 0, $scevgep88$i$i176 = 0, $scevgep88$i$i197 = 0, $scevgep88$i$i218 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $5 = ((($0)) + 12|0);
+ $6 = HEAP32[$5>>2]|0;
+ $7 = ((($6)) + 36|0);
+ $8 = HEAP32[$7>>2]|0;
+ $9 = ((($6)) + 20|0);
+ $10 = HEAP32[$9>>2]|0;
+ $11 = $10 << 1;
+ $12 = ($2>>>0)<($4>>>0);
+ if ($12) {
+ $$0 = 200;
+ return ($$0|0);
+ }
+ $13 = ((($0)) + 112|0);
+ $14 = HEAP32[$13>>2]|0;
+ $15 = ($14>>>0)<($4>>>0);
+ if (!($15)) {
+ $16 = ((($0)) + 64|0);
+ $17 = (($16) + ($10)|0);
+ $18 = (0 - ($14))|0;
+ $19 = (($17) + ($18)|0);
+ $20 = $3;
+ $21 = $1;
+ $22 = $19;
+ $23 = $20 | $21;
+ $24 = $23 | $22;
+ $25 = $24 & 3;
+ $26 = ($25|0)==(0);
+ $27 = ($4>>>0)>(3);
+ $or$cond$i$i = $27 & $26;
+ if ($or$cond$i$i) {
+ $28 = (($4) + -4)|0;
+ $29 = $28 & -4;
+ $30 = (($29) + 4)|0;
+ $$05270$i$i = $3;$$05468$i$i = $19;$$05567$i$i = $1;$$071$i$i = $4;
+ while(1) {
+ $31 = ((($$05270$i$i)) + 4|0);
+ $32 = HEAP32[$$05270$i$i>>2]|0;
+ $33 = HEAP32[$$05468$i$i>>2]|0;
+ $34 = $33 ^ $32;
+ $35 = ((($$05567$i$i)) + 4|0);
+ HEAP32[$$05567$i$i>>2] = $34;
+ $36 = ((($$05468$i$i)) + 4|0);
+ HEAP32[$$05468$i$i>>2] = $32;
+ $37 = (($$071$i$i) + -4)|0;
+ $38 = ($37>>>0)>(3);
+ if ($38) {
+ $$05270$i$i = $31;$$05468$i$i = $36;$$05567$i$i = $35;$$071$i$i = $37;
+ } else {
+ break;
+ }
+ }
+ $scevgep86$i$i = (($1) + ($30)|0);
+ $scevgep$i$i = (($3) + ($30)|0);
+ $scevgep88$i$i = (($19) + ($30)|0);
+ $39 = (($28) - ($29))|0;
+ $$050$i$i = $scevgep86$i$i;$$056$i$i = $scevgep88$i$i;$$060$i$i = $scevgep$i$i;$$1$i$i = $39;
+ } else {
+ $$050$i$i = $1;$$056$i$i = $19;$$060$i$i = $3;$$1$i$i = $4;
+ }
+ $40 = ($$1$i$i|0)==(0);
+ if ($40) {
+ $50 = $14;
+ } else {
+ $$15165$i$i = $$050$i$i;$$15764$i$i = $$056$i$i;$$15963$i$i = $$060$i$i;$$266$i$i = $$1$i$i;
+ while(1) {
+ $41 = ((($$15963$i$i)) + 1|0);
+ $42 = HEAP8[$$15963$i$i>>0]|0;
+ $43 = HEAP8[$$15764$i$i>>0]|0;
+ $44 = $43 ^ $42;
+ $45 = ((($$15165$i$i)) + 1|0);
+ HEAP8[$$15165$i$i>>0] = $44;
+ $46 = ((($$15764$i$i)) + 1|0);
+ HEAP8[$$15764$i$i>>0] = $42;
+ $47 = (($$266$i$i) + -1)|0;
+ $48 = ($47|0)==(0);
+ if ($48) {
+ break;
+ } else {
+ $$15165$i$i = $45;$$15764$i$i = $46;$$15963$i$i = $41;$$266$i$i = $47;
+ }
+ }
+ $$pre = HEAP32[$13>>2]|0;
+ $50 = $$pre;
+ }
+ $49 = (($50) - ($4))|0;
+ HEAP32[$13>>2] = $49;
+ $$0 = 0;
+ return ($$0|0);
+ }
+ $51 = ($14|0)==(0);
+ if ($51) {
+ $$0135 = $1;$$0139 = $3;$$0143 = $4;
+ } else {
+ $52 = (($4) - ($14))|0;
+ $53 = ((($0)) + 64|0);
+ $54 = (($53) + ($10)|0);
+ $55 = (0 - ($14))|0;
+ $56 = (($54) + ($55)|0);
+ $57 = $3;
+ $58 = $1;
+ $59 = $56;
+ $60 = $57 | $58;
+ $61 = $60 | $59;
+ $62 = $61 & 3;
+ $63 = ($62|0)==(0);
+ $64 = ($14>>>0)>(3);
+ $or$cond$i$i168 = $64 & $63;
+ if ($or$cond$i$i168) {
+ $65 = (($14) + -4)|0;
+ $66 = $65 & -4;
+ $67 = (($66) + 4)|0;
+ $$05270$i$i172 = $3;$$05468$i$i173 = $56;$$05567$i$i174 = $1;$$071$i$i171 = $14;
+ while(1) {
+ $68 = ((($$05270$i$i172)) + 4|0);
+ $69 = HEAP32[$$05270$i$i172>>2]|0;
+ $70 = HEAP32[$$05468$i$i173>>2]|0;
+ $71 = $70 ^ $69;
+ $72 = ((($$05567$i$i174)) + 4|0);
+ HEAP32[$$05567$i$i174>>2] = $71;
+ $73 = ((($$05468$i$i173)) + 4|0);
+ HEAP32[$$05468$i$i173>>2] = $69;
+ $74 = (($$071$i$i171) + -4)|0;
+ $75 = ($74>>>0)>(3);
+ if ($75) {
+ $$05270$i$i172 = $68;$$05468$i$i173 = $73;$$05567$i$i174 = $72;$$071$i$i171 = $74;
+ } else {
+ break;
+ }
+ }
+ $scevgep86$i$i169 = (($1) + ($67)|0);
+ $scevgep$i$i175 = (($3) + ($67)|0);
+ $scevgep88$i$i176 = (($56) + ($67)|0);
+ $76 = (($65) - ($66))|0;
+ $77 = ($76|0)==(0);
+ if ($77) {
+ $87 = $14;
+ } else {
+ $$15165$i$i185$ph = $scevgep86$i$i169;$$15764$i$i186$ph = $scevgep88$i$i176;$$15963$i$i187$ph = $scevgep$i$i175;$$266$i$i184$ph = $76;
+ label = 17;
+ }
+ } else {
+ $$15165$i$i185$ph = $1;$$15764$i$i186$ph = $56;$$15963$i$i187$ph = $3;$$266$i$i184$ph = $14;
+ label = 17;
+ }
+ if ((label|0) == 17) {
+ $$15165$i$i185 = $$15165$i$i185$ph;$$15764$i$i186 = $$15764$i$i186$ph;$$15963$i$i187 = $$15963$i$i187$ph;$$266$i$i184 = $$266$i$i184$ph;
+ while(1) {
+ $78 = ((($$15963$i$i187)) + 1|0);
+ $79 = HEAP8[$$15963$i$i187>>0]|0;
+ $80 = HEAP8[$$15764$i$i186>>0]|0;
+ $81 = $80 ^ $79;
+ $82 = ((($$15165$i$i185)) + 1|0);
+ HEAP8[$$15165$i$i185>>0] = $81;
+ $83 = ((($$15764$i$i186)) + 1|0);
+ HEAP8[$$15764$i$i186>>0] = $79;
+ $84 = (($$266$i$i184) + -1)|0;
+ $85 = ($84|0)==(0);
+ if ($85) {
+ break;
+ } else {
+ $$15165$i$i185 = $82;$$15764$i$i186 = $83;$$15963$i$i187 = $78;$$266$i$i184 = $84;
+ }
+ }
+ $$pre272 = HEAP32[$13>>2]|0;
+ $87 = $$pre272;
+ }
+ $86 = (($1) + ($87)|0);
+ $88 = (($3) + ($87)|0);
+ HEAP32[$13>>2] = 0;
+ $$0135 = $86;$$0139 = $88;$$0143 = $52;
+ }
+ $89 = ($$0143>>>0)<($11>>>0);
+ L34: do {
+ if ($89) {
+ $$1 = 0;$$2137 = $$0135;$$2141 = $$0139;$$2145 = $$0143;
+ } else {
+ $90 = ((($0)) + 24|0);
+ $91 = HEAP32[$90>>2]|0;
+ $92 = ($91|0)==(0|0);
+ if (!($92)) {
+ $93 = (($$0143>>>0) / ($10>>>0))&-1;
+ $94 = ((($0)) + 496|0);
+ $95 = ((($0)) + 64|0);
+ FUNCTION_TABLE_viiiii[$91 & 127]($94,$95,$$0135,$$0139,$93);
+ $96 = Math_imul($93, $10)|0;
+ $97 = (($$0135) + ($96)|0);
+ $98 = (($$0139) + ($96)|0);
+ $99 = (($$0143) - ($96))|0;
+ $$1 = 0;$$2137 = $97;$$2141 = $98;$$2145 = $99;
+ break;
+ }
+ $100 = ((($0)) + 496|0);
+ $101 = ((($0)) + 64|0);
+ $102 = $101;
+ $103 = ($10>>>0)>(3);
+ $104 = (($10) + -4)|0;
+ $105 = $104 & -4;
+ $106 = (($105) + 4)|0;
+ $scevgep88$i$i218 = (($101) + ($106)|0);
+ $107 = (($104) - ($105))|0;
+ if (!($103)) {
+ $138 = ($10|0)==(0);
+ $$0134256 = 0;$$1136255 = $$0135;$$1140253 = $$0139;$$1144252 = $$0143;
+ while(1) {
+ $139 = (FUNCTION_TABLE_iiii[$8 & 127]($100,$101,$101)|0);
+ $140 = ($139>>>0)>($$0134256>>>0);
+ $141 = $140 ? $139 : $$0134256;
+ if (!($138)) {
+ $$15165$i$i227 = $$1136255;$$15764$i$i228 = $101;$$15963$i$i229 = $$1140253;$$266$i$i226 = $10;
+ while(1) {
+ $142 = ((($$15963$i$i229)) + 1|0);
+ $143 = HEAP8[$$15963$i$i229>>0]|0;
+ $144 = HEAP8[$$15764$i$i228>>0]|0;
+ $145 = $144 ^ $143;
+ $146 = ((($$15165$i$i227)) + 1|0);
+ HEAP8[$$15165$i$i227>>0] = $145;
+ $147 = ((($$15764$i$i228)) + 1|0);
+ HEAP8[$$15764$i$i228>>0] = $143;
+ $148 = (($$266$i$i226) + -1)|0;
+ $149 = ($148|0)==(0);
+ if ($149) {
+ break;
+ } else {
+ $$15165$i$i227 = $146;$$15764$i$i228 = $147;$$15963$i$i229 = $142;$$266$i$i226 = $148;
+ }
+ }
+ }
+ $150 = (($$1136255) + ($10)|0);
+ $151 = (($$1140253) + ($10)|0);
+ $152 = (($$1144252) - ($10))|0;
+ $153 = ($152>>>0)<($11>>>0);
+ if ($153) {
+ $$1 = $141;$$2137 = $150;$$2141 = $151;$$2145 = $152;
+ break L34;
+ } else {
+ $$0134256 = $141;$$1136255 = $150;$$1140253 = $151;$$1144252 = $152;
+ }
+ }
+ }
+ $$0134256$us = 0;$$1136255$us = $$0135;$$1140253$us = $$0139;$$1144252$us = $$0143;
+ while(1) {
+ $108 = (FUNCTION_TABLE_iiii[$8 & 127]($100,$101,$101)|0);
+ $109 = ($108>>>0)>($$0134256$us>>>0);
+ $110 = $109 ? $108 : $$0134256$us;
+ $111 = $$1140253$us;
+ $112 = $$1136255$us;
+ $113 = $111 | $102;
+ $114 = $113 | $112;
+ $115 = $114 & 3;
+ $116 = ($115|0)==(0);
+ if ($116) {
+ $$05270$i$i214$us = $$1140253$us;$$05468$i$i215$us = $101;$$05567$i$i216$us = $$1136255$us;$$071$i$i213$us = $10;
+ while(1) {
+ $117 = ((($$05270$i$i214$us)) + 4|0);
+ $118 = HEAP32[$$05270$i$i214$us>>2]|0;
+ $119 = HEAP32[$$05468$i$i215$us>>2]|0;
+ $120 = $119 ^ $118;
+ $121 = ((($$05567$i$i216$us)) + 4|0);
+ HEAP32[$$05567$i$i216$us>>2] = $120;
+ $122 = ((($$05468$i$i215$us)) + 4|0);
+ HEAP32[$$05468$i$i215$us>>2] = $118;
+ $123 = (($$071$i$i213$us) + -4)|0;
+ $124 = ($123>>>0)>(3);
+ if ($124) {
+ $$05270$i$i214$us = $117;$$05468$i$i215$us = $122;$$05567$i$i216$us = $121;$$071$i$i213$us = $123;
+ } else {
+ break;
+ }
+ }
+ $scevgep86$i$i211$us = (($$1136255$us) + ($106)|0);
+ $scevgep$i$i217$us = (($$1140253$us) + ($106)|0);
+ $$050$i$i222$us = $scevgep86$i$i211$us;$$056$i$i221$us = $scevgep88$i$i218;$$060$i$i220$us = $scevgep$i$i217$us;$$1$i$i223$us = $107;
+ } else {
+ $$050$i$i222$us = $$1136255$us;$$056$i$i221$us = $101;$$060$i$i220$us = $$1140253$us;$$1$i$i223$us = $10;
+ }
+ $125 = ($$1$i$i223$us|0)==(0);
+ if (!($125)) {
+ $$15165$i$i227$us = $$050$i$i222$us;$$15764$i$i228$us = $$056$i$i221$us;$$15963$i$i229$us = $$060$i$i220$us;$$266$i$i226$us = $$1$i$i223$us;
+ while(1) {
+ $126 = ((($$15963$i$i229$us)) + 1|0);
+ $127 = HEAP8[$$15963$i$i229$us>>0]|0;
+ $128 = HEAP8[$$15764$i$i228$us>>0]|0;
+ $129 = $128 ^ $127;
+ $130 = ((($$15165$i$i227$us)) + 1|0);
+ HEAP8[$$15165$i$i227$us>>0] = $129;
+ $131 = ((($$15764$i$i228$us)) + 1|0);
+ HEAP8[$$15764$i$i228$us>>0] = $127;
+ $132 = (($$266$i$i226$us) + -1)|0;
+ $133 = ($132|0)==(0);
+ if ($133) {
+ break;
+ } else {
+ $$15165$i$i227$us = $130;$$15764$i$i228$us = $131;$$15963$i$i229$us = $126;$$266$i$i226$us = $132;
+ }
+ }
+ }
+ $134 = (($$1136255$us) + ($10)|0);
+ $135 = (($$1140253$us) + ($10)|0);
+ $136 = (($$1144252$us) - ($10))|0;
+ $137 = ($136>>>0)<($11>>>0);
+ if ($137) {
+ $$1 = $110;$$2137 = $134;$$2141 = $135;$$2145 = $136;
+ break;
+ } else {
+ $$0134256$us = $110;$$1136255$us = $134;$$1140253$us = $135;$$1144252$us = $136;
+ }
+ }
+ }
+ } while(0);
+ $154 = ($$2145>>>0)<($10>>>0);
+ if ($154) {
+ $$2 = $$1;$$3138 = $$2137;$$3142 = $$2141;$$3146 = $$2145;
+ } else {
+ $155 = ((($0)) + 96|0);
+ $156 = ((($0)) + 64|0);
+ $157 = $155;
+ $158 = $156;
+ $159 = $158 | $157;
+ $160 = $159 & 3;
+ $161 = ($160|0)==(0);
+ $162 = ($10>>>0)>(3);
+ $or$cond$i231 = $161 & $162;
+ if ($or$cond$i231) {
+ $163 = (($10) + -4)|0;
+ $164 = $163 & -4;
+ $165 = (($164) + 4)|0;
+ $scevgep$i232 = (($156) + ($165)|0);
+ $$02434$i236 = $156;$$02533$i237 = $155;$$035$i235 = $10;
+ while(1) {
+ $166 = ((($$02434$i236)) + 4|0);
+ $167 = HEAP32[$$02434$i236>>2]|0;
+ $168 = ((($$02533$i237)) + 4|0);
+ HEAP32[$$02533$i237>>2] = $167;
+ $169 = (($$035$i235) + -4)|0;
+ $170 = ($169>>>0)>(3);
+ if ($170) {
+ $$02434$i236 = $166;$$02533$i237 = $168;$$035$i235 = $169;
+ } else {
+ break;
+ }
+ }
+ $scevgep44$i233 = (((($0)) + 96|0) + ($165)|0);
+ $171 = (($163) - ($164))|0;
+ $$026$i240 = $scevgep$i232;$$028$i239 = $scevgep44$i233;$$1$i241 = $171;
+ } else {
+ $$026$i240 = $156;$$028$i239 = $155;$$1$i241 = $10;
+ }
+ $172 = ($$1$i241|0)==(0);
+ if (!($172)) {
+ $$12731$i245 = $$026$i240;$$12930$i246 = $$028$i239;$$232$i244 = $$1$i241;
+ while(1) {
+ $173 = ((($$12731$i245)) + 1|0);
+ $174 = HEAP8[$$12731$i245>>0]|0;
+ $175 = ((($$12930$i246)) + 1|0);
+ HEAP8[$$12930$i246>>0] = $174;
+ $176 = (($$232$i244) + -1)|0;
+ $177 = ($176|0)==(0);
+ if ($177) {
+ break;
+ } else {
+ $$12731$i245 = $173;$$12930$i246 = $175;$$232$i244 = $176;
+ }
+ }
+ }
+ $178 = ((($0)) + 496|0);
+ $179 = (FUNCTION_TABLE_iiii[$8 & 127]($178,$156,$156)|0);
+ $180 = ($179>>>0)>($$1>>>0);
+ $181 = $180 ? $179 : $$1;
+ $182 = $$2141;
+ $183 = $$2137;
+ $184 = $182 | $158;
+ $185 = $184 | $183;
+ $186 = $185 & 3;
+ $187 = ($186|0)==(0);
+ $or$cond$i$i189 = $162 & $187;
+ if ($or$cond$i$i189) {
+ $188 = (($10) + -4)|0;
+ $189 = $188 & -4;
+ $190 = (($189) + 4)|0;
+ $$05270$i$i193 = $$2141;$$05468$i$i194 = $156;$$05567$i$i195 = $$2137;$$071$i$i192 = $10;
+ while(1) {
+ $191 = ((($$05270$i$i193)) + 4|0);
+ $192 = HEAP32[$$05270$i$i193>>2]|0;
+ $193 = HEAP32[$$05468$i$i194>>2]|0;
+ $194 = $193 ^ $192;
+ $195 = ((($$05567$i$i195)) + 4|0);
+ HEAP32[$$05567$i$i195>>2] = $194;
+ $196 = ((($$05468$i$i194)) + 4|0);
+ HEAP32[$$05468$i$i194>>2] = $192;
+ $197 = (($$071$i$i192) + -4)|0;
+ $198 = ($197>>>0)>(3);
+ if ($198) {
+ $$05270$i$i193 = $191;$$05468$i$i194 = $196;$$05567$i$i195 = $195;$$071$i$i192 = $197;
+ } else {
+ break;
+ }
+ }
+ $scevgep86$i$i190 = (($$2137) + ($190)|0);
+ $scevgep$i$i196 = (($$2141) + ($190)|0);
+ $scevgep88$i$i197 = (($156) + ($190)|0);
+ $199 = (($188) - ($189))|0;
+ $$050$i$i201 = $scevgep86$i$i190;$$056$i$i200 = $scevgep88$i$i197;$$060$i$i199 = $scevgep$i$i196;$$1$i$i202 = $199;
+ } else {
+ $$050$i$i201 = $$2137;$$056$i$i200 = $156;$$060$i$i199 = $$2141;$$1$i$i202 = $10;
+ }
+ $200 = ($$1$i$i202|0)==(0);
+ if (!($200)) {
+ $$15165$i$i206 = $$050$i$i201;$$15764$i$i207 = $$056$i$i200;$$15963$i$i208 = $$060$i$i199;$$266$i$i205 = $$1$i$i202;
+ while(1) {
+ $201 = ((($$15963$i$i208)) + 1|0);
+ $202 = HEAP8[$$15963$i$i208>>0]|0;
+ $203 = HEAP8[$$15764$i$i207>>0]|0;
+ $204 = $203 ^ $202;
+ $205 = ((($$15165$i$i206)) + 1|0);
+ HEAP8[$$15165$i$i206>>0] = $204;
+ $206 = ((($$15764$i$i207)) + 1|0);
+ HEAP8[$$15764$i$i207>>0] = $202;
+ $207 = (($$266$i$i205) + -1)|0;
+ $208 = ($207|0)==(0);
+ if ($208) {
+ break;
+ } else {
+ $$15165$i$i206 = $205;$$15764$i$i207 = $206;$$15963$i$i208 = $201;$$266$i$i205 = $207;
+ }
+ }
+ }
+ $209 = (($$2137) + ($10)|0);
+ $210 = (($$2141) + ($10)|0);
+ $211 = (($$2145) - ($10))|0;
+ $$2 = $181;$$3138 = $209;$$3142 = $210;$$3146 = $211;
+ }
+ $212 = ($$3146|0)==(0);
+ if ($212) {
+ $$3 = $$2;
+ } else {
+ $213 = ((($0)) + 96|0);
+ $214 = ((($0)) + 64|0);
+ $215 = $213;
+ $216 = $214;
+ $217 = $216 | $215;
+ $218 = $217 & 3;
+ $219 = ($218|0)==(0);
+ $220 = ($10>>>0)>(3);
+ $or$cond$i = $219 & $220;
+ if ($or$cond$i) {
+ $221 = (($10) + -4)|0;
+ $222 = $221 & -4;
+ $223 = (($222) + 4)|0;
+ $scevgep$i = (($214) + ($223)|0);
+ $$02434$i = $214;$$02533$i = $213;$$035$i = $10;
+ while(1) {
+ $224 = ((($$02434$i)) + 4|0);
+ $225 = HEAP32[$$02434$i>>2]|0;
+ $226 = ((($$02533$i)) + 4|0);
+ HEAP32[$$02533$i>>2] = $225;
+ $227 = (($$035$i) + -4)|0;
+ $228 = ($227>>>0)>(3);
+ if ($228) {
+ $$02434$i = $224;$$02533$i = $226;$$035$i = $227;
+ } else {
+ break;
+ }
+ }
+ $scevgep44$i = (((($0)) + 96|0) + ($223)|0);
+ $229 = (($221) - ($222))|0;
+ $$026$i = $scevgep$i;$$028$i = $scevgep44$i;$$1$i = $229;
+ } else {
+ $$026$i = $214;$$028$i = $213;$$1$i = $10;
+ }
+ $230 = ($$1$i|0)==(0);
+ if (!($230)) {
+ $$12731$i = $$026$i;$$12930$i = $$028$i;$$232$i = $$1$i;
+ while(1) {
+ $231 = ((($$12731$i)) + 1|0);
+ $232 = HEAP8[$$12731$i>>0]|0;
+ $233 = ((($$12930$i)) + 1|0);
+ HEAP8[$$12930$i>>0] = $232;
+ $234 = (($$232$i) + -1)|0;
+ $235 = ($234|0)==(0);
+ if ($235) {
+ break;
+ } else {
+ $$12731$i = $231;$$12930$i = $233;$$232$i = $234;
+ }
+ }
+ }
+ $236 = ((($0)) + 496|0);
+ $237 = (FUNCTION_TABLE_iiii[$8 & 127]($236,$214,$214)|0);
+ $238 = ($237>>>0)>($$2>>>0);
+ $239 = $238 ? $237 : $$2;
+ $240 = (($10) - ($$3146))|0;
+ HEAP32[$13>>2] = $240;
+ $241 = $$3142;
+ $242 = $$3138;
+ $243 = $241 | $216;
+ $244 = $243 | $242;
+ $245 = $244 & 3;
+ $246 = ($245|0)==(0);
+ $247 = ($$3146>>>0)>(3);
+ $or$cond$i$i147 = $247 & $246;
+ if ($or$cond$i$i147) {
+ $248 = (($$3146) + -4)|0;
+ $249 = $248 & -4;
+ $250 = (($249) + 4)|0;
+ $$05270$i$i151 = $$3142;$$05468$i$i152 = $214;$$05567$i$i153 = $$3138;$$071$i$i150 = $$3146;
+ while(1) {
+ $251 = ((($$05270$i$i151)) + 4|0);
+ $252 = HEAP32[$$05270$i$i151>>2]|0;
+ $253 = HEAP32[$$05468$i$i152>>2]|0;
+ $254 = $253 ^ $252;
+ $255 = ((($$05567$i$i153)) + 4|0);
+ HEAP32[$$05567$i$i153>>2] = $254;
+ $256 = ((($$05468$i$i152)) + 4|0);
+ HEAP32[$$05468$i$i152>>2] = $252;
+ $257 = (($$071$i$i150) + -4)|0;
+ $258 = ($257>>>0)>(3);
+ if ($258) {
+ $$05270$i$i151 = $251;$$05468$i$i152 = $256;$$05567$i$i153 = $255;$$071$i$i150 = $257;
+ } else {
+ break;
+ }
+ }
+ $scevgep86$i$i148 = (($$3138) + ($250)|0);
+ $scevgep$i$i154 = (($$3142) + ($250)|0);
+ $scevgep88$i$i155 = (($214) + ($250)|0);
+ $259 = (($248) - ($249))|0;
+ $$050$i$i159 = $scevgep86$i$i148;$$056$i$i158 = $scevgep88$i$i155;$$060$i$i157 = $scevgep$i$i154;$$1$i$i160 = $259;
+ } else {
+ $$050$i$i159 = $$3138;$$056$i$i158 = $214;$$060$i$i157 = $$3142;$$1$i$i160 = $$3146;
+ }
+ $260 = ($$1$i$i160|0)==(0);
+ if ($260) {
+ $$3 = $239;
+ } else {
+ $$15165$i$i164 = $$050$i$i159;$$15764$i$i165 = $$056$i$i158;$$15963$i$i166 = $$060$i$i157;$$266$i$i163 = $$1$i$i160;
+ while(1) {
+ $261 = ((($$15963$i$i166)) + 1|0);
+ $262 = HEAP8[$$15963$i$i166>>0]|0;
+ $263 = HEAP8[$$15764$i$i165>>0]|0;
+ $264 = $263 ^ $262;
+ $265 = ((($$15165$i$i164)) + 1|0);
+ HEAP8[$$15165$i$i164>>0] = $264;
+ $266 = ((($$15764$i$i165)) + 1|0);
+ HEAP8[$$15764$i$i165>>0] = $262;
+ $267 = (($$266$i$i163) + -1)|0;
+ $268 = ($267|0)==(0);
+ if ($268) {
+ $$3 = $239;
+ break;
+ } else {
+ $$15165$i$i164 = $265;$$15764$i$i165 = $266;$$15963$i$i166 = $261;$$266$i$i163 = $267;
+ }
+ }
+ }
+ }
+ $269 = ($$3|0)==(0);
+ if ($269) {
+ $$0 = 0;
+ return ($$0|0);
+ }
+ $270 = (($$3) + 16)|0;
+ ___gcry_burn_stack($270);
+ $$0 = 0;
+ return ($$0|0);
+}
+function __gcry_cipher_cmac_set_subkeys($0) {
+ $0 = $0|0;
+ var $$06683$us$i = 0, $$067$lcssa99$i = 0, $$06778$i = 0, $$068$lcssa98$i = 0, $$06877$i = 0, $$084$us$i = 0, $$1$i = 0, $$169$i = 0, $$2$i = 0, $$270$i = 0, $$37175$i = 0, $$376$i = 0, $$lcssa2 = 0, $$phi$trans$insert$i = 0, $$pre = 0, $$pre$i = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0;
+ var $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $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, $9 = 0, $scevgep$i = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $1 = sp;
+ $2 = ((($0)) + 12|0);
+ $3 = HEAP32[$2>>2]|0;
+ $4 = ((($3)) + 20|0);
+ $5 = HEAP32[$4>>2]|0;
+ $6 = ($5>>>0)>(16);
+ if ($6) {
+ __gcry_bug(64349,113,64363);
+ // unreachable;
+ }
+ _memset(($1|0),0,($5|0))|0;
+ $7 = ((($3)) + 36|0);
+ $8 = HEAP32[$7>>2]|0;
+ $9 = ((($0)) + 496|0);
+ $10 = (FUNCTION_TABLE_iiii[$8 & 127]($9,$1,$1)|0);
+ $11 = ($5|0)==(16);
+ $12 = (($5) + -1)|0;
+ $13 = ($12|0)>(-1);
+ $14 = $11 ? 135 : 27;
+ $15 = (($1) + ($12)|0);
+ $16 = ((($0)) + 128|0);
+ if ($13) {
+ $$06683$us$i = $12;$$084$us$i = 0;
+ while(1) {
+ $17 = (($1) + ($$06683$us$i)|0);
+ $18 = HEAP8[$17>>0]|0;
+ $19 = $$084$us$i&255;
+ $20 = $18&255;
+ $21 = $20 << 1;
+ $22 = ($18&255) >>> 7;
+ $23 = $21 | $19;
+ $24 = $23&255;
+ HEAP8[$17>>0] = $24;
+ $25 = (((($16)) + 1|0) + ($$06683$us$i)|0);
+ HEAP8[$25>>0] = $24;
+ $26 = (($$06683$us$i) + -1)|0;
+ $27 = ($$06683$us$i|0)>(0);
+ if ($27) {
+ $$06683$us$i = $26;$$084$us$i = $22;
+ } else {
+ break;
+ }
+ }
+ $28 = ($22<<24>>24)==(0);
+ $29 = $28 ? 0 : $14;
+ $30 = HEAP8[$15>>0]|0;
+ $31 = $30&255;
+ $32 = $29 ^ $31;
+ $33 = $32&255;
+ $34 = (((($16)) + 1|0) + ($12)|0);
+ HEAP8[$34>>0] = $33;
+ $35 = $32 << 1;
+ $36 = ($33&255) >>> 7;
+ $37 = $35&255;
+ HEAP8[$15>>0] = $37;
+ $38 = (((($16)) + 17|0) + ($12)|0);
+ HEAP8[$38>>0] = $37;
+ $39 = ($12|0)>(0);
+ if ($39) {
+ $40 = (($5) + -2)|0;
+ $72 = $40;$74 = $36;
+ while(1) {
+ $$phi$trans$insert$i = (($1) + ($72)|0);
+ $$pre$i = HEAP8[$$phi$trans$insert$i>>0]|0;
+ $73 = $74&255;
+ $75 = $$pre$i&255;
+ $76 = $75 << 1;
+ $77 = ($$pre$i&255) >>> 7;
+ $78 = $76 | $73;
+ $79 = $78&255;
+ HEAP8[$$phi$trans$insert$i>>0] = $79;
+ $80 = (((($16)) + 17|0) + ($72)|0);
+ HEAP8[$80>>0] = $79;
+ $81 = (($72) + -1)|0;
+ $82 = ($72|0)>(0);
+ if ($82) {
+ $72 = $81;$74 = $77;
+ } else {
+ break;
+ }
+ }
+ $$pre = HEAP8[$15>>0]|0;
+ $$lcssa2 = $77;$86 = $$pre;
+ } else {
+ $$lcssa2 = $36;$86 = $37;
+ }
+ $83 = ($$lcssa2<<24>>24)==(0);
+ $84 = $83 ? 0 : $14;
+ $85 = $86&255;
+ $87 = $84 ^ $85;
+ $88 = $87&255;
+ HEAP8[$15>>0] = $88;
+ HEAP8[$38>>0] = $88;
+ } else {
+ $41 = HEAP8[$15>>0]|0;
+ $42 = (((($16)) + 1|0) + ($12)|0);
+ HEAP8[$42>>0] = $41;
+ $43 = (((($16)) + 17|0) + ($12)|0);
+ HEAP8[$43>>0] = $41;
+ }
+ $44 = $1;
+ $45 = $44 & 4;
+ $46 = ($45|0)==(0);
+ if ($46) {
+ $$067$lcssa99$i = 16;$$068$lcssa98$i = $1;
+ label = 13;
+ } else {
+ $$06778$i = 16;$$06877$i = $1;
+ while(1) {
+ HEAP8[$$06877$i>>0] = 0;
+ $47 = ((($$06877$i)) + 1|0);
+ $48 = (($$06778$i) + -1)|0;
+ $49 = $47;
+ $50 = $49 & 7;
+ $51 = ($50|0)!=(0);
+ $52 = ($48|0)!=(0);
+ $53 = $52 & $51;
+ if ($53) {
+ $$06778$i = $48;$$06877$i = $47;
+ } else {
+ break;
+ }
+ }
+ $54 = ($48>>>0)<(8);
+ if ($54) {
+ $$2$i = $48;$$270$i = $47;
+ } else {
+ $$067$lcssa99$i = $48;$$068$lcssa98$i = $47;
+ label = 13;
+ }
+ }
+ if ((label|0) == 13) {
+ $55 = (($$067$lcssa99$i) + -8)|0;
+ $56 = $55 & -8;
+ $$1$i = $$067$lcssa99$i;$$169$i = $$068$lcssa98$i;
+ while(1) {
+ $57 = $$169$i;
+ $58 = $57;
+ HEAP32[$58>>2] = 0;
+ $59 = (($57) + 4)|0;
+ $60 = $59;
+ HEAP32[$60>>2] = 0;
+ $61 = (($$1$i) + -8)|0;
+ $62 = ((($$169$i)) + 8|0);
+ $63 = ($61>>>0)>(7);
+ if ($63) {
+ $$1$i = $61;$$169$i = $62;
+ } else {
+ break;
+ }
+ }
+ $64 = (($56) + 8)|0;
+ $65 = (($55) - ($56))|0;
+ $scevgep$i = (($$068$lcssa98$i) + ($64)|0);
+ $$2$i = $65;$$270$i = $scevgep$i;
+ }
+ $66 = ($$2$i|0)==(0);
+ if (!($66)) {
+ $$37175$i = $$270$i;$$376$i = $$2$i;
+ while(1) {
+ HEAP8[$$37175$i>>0] = 0;
+ $67 = ((($$37175$i)) + 1|0);
+ $68 = (($$376$i) + -1)|0;
+ $69 = ($68|0)==(0);
+ if ($69) {
+ break;
+ } else {
+ $$37175$i = $67;$$376$i = $68;
+ }
+ }
+ }
+ $70 = ($10|0)==(0);
+ if ($70) {
+ STACKTOP = sp;return 0;
+ }
+ $71 = (($10) + 16)|0;
+ ___gcry_burn_stack($71);
+ STACKTOP = sp;return 0;
+}
+function __gcry_cipher_ctr_encrypt($0,$1,$2,$3,$4) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ var $$ = 0, $$0 = 0, $$0126 = 0, $$0135 = 0, $$0138 = 0, $$0138$us = 0, $$0140 = 0, $$0143182$us = 0, $$02434$i = 0, $$02533$i = 0, $$03449$i = 0, $$03449$i154 = 0, $$03449$i154$us = 0, $$035$i = 0, $$03548$i = 0, $$03548$i155 = 0, $$03548$i155$us = 0, $$03647$i = 0, $$03647$i156 = 0, $$03647$i156$us = 0;
+ var $$037$i = 0, $$037$i160 = 0, $$037$i160$us = 0, $$039$i = 0, $$039$i159 = 0, $$039$i159$us = 0, $$041$i = 0, $$041$i158 = 0, $$041$i158$us = 0, $$050$i = 0, $$050$i153 = 0, $$050$i153$us = 0, $$1 = 0, $$1$i = 0, $$1$i161 = 0, $$1$i161$us = 0, $$1136 = 0, $$1141 = 0, $$12731$i = 0, $$12731$i$ph = 0;
+ var $$12930$i = 0, $$12930$i$ph = 0, $$13845$i = 0, $$13845$i165 = 0, $$13845$i165$us = 0, $$14044$i = 0, $$14044$i166 = 0, $$14044$i166$us = 0, $$14243$i = 0, $$14243$i167 = 0, $$14243$i167$us = 0, $$2 = 0, $$2$us = 0, $$2137 = 0, $$2137$us = 0, $$2142 = 0, $$2142$us = 0, $$232$i = 0, $$232$i$ph = 0, $$246$i = 0;
+ var $$246$i164 = 0, $$246$i164$us = 0, $$lcssa173 = 0, $$lcssa174 = 0, $$pre = 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;
+ var $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0;
+ var $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0;
+ var $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0;
+ var $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $19 = 0, $20 = 0, $21 = 0;
+ var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $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, $or$cond = 0, $or$cond$i = 0, $or$cond$i144 = 0, $or$cond$i148 = 0, $or$cond$i148$us = 0, $scevgep$i = 0, $scevgep$i145 = 0, $scevgep$i149 = 0, $scevgep$i149$us = 0, $scevgep44$i = 0, $scevgep61$i = 0, $scevgep61$i150 = 0, $scevgep61$i150$us = 0, $scevgep63$i = 0, $scevgep63$i151 = 0, $scevgep63$i151$us = 0, label = 0;
+ var sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $5 = sp;
+ $6 = ((($0)) + 12|0);
+ $7 = HEAP32[$6>>2]|0;
+ $8 = ((($7)) + 36|0);
+ $9 = HEAP32[$8>>2]|0;
+ $10 = ((($7)) + 20|0);
+ $11 = HEAP32[$10>>2]|0;
+ $12 = ($2>>>0)<($4>>>0);
+ if ($12) {
+ $$0 = 200;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $13 = ((($0)) + 112|0);
+ $14 = HEAP32[$13>>2]|0;
+ $15 = ($14|0)==(0);
+ if ($15) {
+ $$0126 = $1;$$0135 = $3;$$0140 = $4;
+ } else {
+ $16 = ($11>>>0)>($14>>>0);
+ if (!($16)) {
+ __gcry_assert_failed(64385,64407,53,64420);
+ // unreachable;
+ }
+ $17 = (($11) - ($14))|0;
+ $18 = ($14>>>0)>($4>>>0);
+ $$ = $18 ? $4 : $14;
+ $19 = (((($0)) + 96|0) + ($17)|0);
+ $20 = $1;
+ $21 = $3;
+ $22 = $21 | $20;
+ $23 = $19;
+ $24 = $22 | $23;
+ $25 = $24 & 3;
+ $26 = ($25|0)==(0);
+ $27 = ($$>>>0)>(3);
+ $or$cond$i = $27 & $26;
+ if ($or$cond$i) {
+ $28 = (($$) + -4)|0;
+ $29 = $28 & -4;
+ $30 = (($29) + 4)|0;
+ $scevgep61$i = (($19) + ($30)|0);
+ $$03449$i = $19;$$03548$i = $3;$$03647$i = $1;$$050$i = $$;
+ while(1) {
+ $31 = ((($$03548$i)) + 4|0);
+ $32 = HEAP32[$$03548$i>>2]|0;
+ $33 = ((($$03449$i)) + 4|0);
+ $34 = HEAP32[$$03449$i>>2]|0;
+ $35 = $34 ^ $32;
+ $36 = ((($$03647$i)) + 4|0);
+ HEAP32[$$03647$i>>2] = $35;
+ $37 = (($$050$i) + -4)|0;
+ $38 = ($37>>>0)>(3);
+ if ($38) {
+ $$03449$i = $33;$$03548$i = $31;$$03647$i = $36;$$050$i = $37;
+ } else {
+ break;
+ }
+ }
+ $scevgep$i = (($3) + ($30)|0);
+ $scevgep63$i = (($1) + ($30)|0);
+ $39 = (($28) - ($29))|0;
+ $$037$i = $scevgep61$i;$$039$i = $scevgep$i;$$041$i = $scevgep63$i;$$1$i = $39;
+ } else {
+ $$037$i = $19;$$039$i = $3;$$041$i = $1;$$1$i = $$;
+ }
+ $40 = ($$1$i|0)==(0);
+ if ($40) {
+ $50 = $14;
+ } else {
+ $$13845$i = $$037$i;$$14044$i = $$039$i;$$14243$i = $$041$i;$$246$i = $$1$i;
+ while(1) {
+ $41 = ((($$14044$i)) + 1|0);
+ $42 = HEAP8[$$14044$i>>0]|0;
+ $43 = ((($$13845$i)) + 1|0);
+ $44 = HEAP8[$$13845$i>>0]|0;
+ $45 = $44 ^ $42;
+ $46 = ((($$14243$i)) + 1|0);
+ HEAP8[$$14243$i>>0] = $45;
+ $47 = (($$246$i) + -1)|0;
+ $48 = ($47|0)==(0);
+ if ($48) {
+ break;
+ } else {
+ $$13845$i = $43;$$14044$i = $41;$$14243$i = $46;$$246$i = $47;
+ }
+ }
+ $$pre = HEAP32[$13>>2]|0;
+ $50 = $$pre;
+ }
+ $49 = (($50) - ($$))|0;
+ HEAP32[$13>>2] = $49;
+ $51 = (($3) + ($$)|0);
+ $52 = (($1) + ($$)|0);
+ $53 = (($4) - ($$))|0;
+ $$0126 = $52;$$0135 = $51;$$0140 = $53;
+ }
+ $54 = (($$0140>>>0) / ($11>>>0))&-1;
+ $55 = ($11>>>0)>($$0140>>>0);
+ if ($55) {
+ $$1 = $$0126;$$1136 = $$0135;$$1141 = $$0140;
+ } else {
+ $56 = ((($0)) + 36|0);
+ $57 = HEAP32[$56>>2]|0;
+ $58 = ($57|0)==(0|0);
+ $59 = Math_imul($54, $11)|0;
+ if ($58) {
+ $$1 = $$0126;$$1136 = $$0135;$$1141 = $$0140;
+ } else {
+ $60 = (($$0140) - ($59))|0;
+ $61 = (($$0126) + ($59)|0);
+ $62 = (($$0135) + ($59)|0);
+ $63 = ((($0)) + 80|0);
+ $64 = ((($0)) + 496|0);
+ FUNCTION_TABLE_viiiii[$57 & 127]($64,$63,$$0126,$$0135,$54);
+ $$1 = $61;$$1136 = $62;$$1141 = $60;
+ }
+ }
+ $65 = ($$1141|0)==(0);
+ if ($65) {
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $66 = ((($0)) + 496|0);
+ $67 = ((($0)) + 80|0);
+ $68 = ($11|0)>(0);
+ if ($68) {
+ $$0138$us = 0;$$2$us = $$1;$$2137$us = $$1136;$$2142$us = $$1141;
+ while(1) {
+ $69 = (FUNCTION_TABLE_iiii[$9 & 127]($66,$5,$67)|0);
+ $70 = ($69>>>0)>($$0138$us>>>0);
+ $$0143182$us = $11;
+ while(1) {
+ $71 = (($$0143182$us) + -1)|0;
+ $72 = (($67) + ($71)|0);
+ $73 = HEAP8[$72>>0]|0;
+ $74 = (($73) + 1)<<24>>24;
+ HEAP8[$72>>0] = $74;
+ $75 = ($74<<24>>24)==(0);
+ $76 = ($$0143182$us|0)>(1);
+ $or$cond = $75 & $76;
+ if ($or$cond) {
+ $$0143182$us = $71;
+ } else {
+ break;
+ }
+ }
+ $77 = $70 ? $69 : $$0138$us;
+ $78 = ($11>>>0)<($$2142$us>>>0);
+ $79 = $78 ? $11 : $$2142$us;
+ $80 = $$2$us;
+ $81 = $$2137$us;
+ $82 = $80 | $81;
+ $83 = $82 & 3;
+ $84 = ($83|0)==(0);
+ $85 = ($79>>>0)>(3);
+ $or$cond$i148$us = $85 & $84;
+ if ($or$cond$i148$us) {
+ $86 = (($79) + -4)|0;
+ $87 = $86 & -4;
+ $88 = (($87) + 4)|0;
+ $scevgep61$i150$us = (($5) + ($88)|0);
+ $$03449$i154$us = $5;$$03548$i155$us = $$2137$us;$$03647$i156$us = $$2$us;$$050$i153$us = $79;
+ while(1) {
+ $89 = ((($$03548$i155$us)) + 4|0);
+ $90 = HEAP32[$$03548$i155$us>>2]|0;
+ $91 = ((($$03449$i154$us)) + 4|0);
+ $92 = HEAP32[$$03449$i154$us>>2]|0;
+ $93 = $92 ^ $90;
+ $94 = ((($$03647$i156$us)) + 4|0);
+ HEAP32[$$03647$i156$us>>2] = $93;
+ $95 = (($$050$i153$us) + -4)|0;
+ $96 = ($95>>>0)>(3);
+ if ($96) {
+ $$03449$i154$us = $91;$$03548$i155$us = $89;$$03647$i156$us = $94;$$050$i153$us = $95;
+ } else {
+ break;
+ }
+ }
+ $scevgep$i149$us = (($$2137$us) + ($88)|0);
+ $scevgep63$i151$us = (($$2$us) + ($88)|0);
+ $97 = (($86) - ($87))|0;
+ $$037$i160$us = $scevgep61$i150$us;$$039$i159$us = $scevgep$i149$us;$$041$i158$us = $scevgep63$i151$us;$$1$i161$us = $97;
+ } else {
+ $$037$i160$us = $5;$$039$i159$us = $$2137$us;$$041$i158$us = $$2$us;$$1$i161$us = $79;
+ }
+ $98 = ($$1$i161$us|0)==(0);
+ if (!($98)) {
+ $$13845$i165$us = $$037$i160$us;$$14044$i166$us = $$039$i159$us;$$14243$i167$us = $$041$i158$us;$$246$i164$us = $$1$i161$us;
+ while(1) {
+ $99 = ((($$14044$i166$us)) + 1|0);
+ $100 = HEAP8[$$14044$i166$us>>0]|0;
+ $101 = ((($$13845$i165$us)) + 1|0);
+ $102 = HEAP8[$$13845$i165$us>>0]|0;
+ $103 = $102 ^ $100;
+ $104 = ((($$14243$i167$us)) + 1|0);
+ HEAP8[$$14243$i167$us>>0] = $103;
+ $105 = (($$246$i164$us) + -1)|0;
+ $106 = ($105|0)==(0);
+ if ($106) {
+ break;
+ } else {
+ $$13845$i165$us = $101;$$14044$i166$us = $99;$$14243$i167$us = $104;$$246$i164$us = $105;
+ }
+ }
+ }
+ $107 = (($$2142$us) - ($79))|0;
+ $108 = (($$2$us) + ($79)|0);
+ $109 = (($$2137$us) + ($79)|0);
+ $110 = ($107|0)==(0);
+ if ($110) {
+ $$lcssa173 = $77;$$lcssa174 = $79;
+ break;
+ } else {
+ $$0138$us = $77;$$2$us = $108;$$2137$us = $109;$$2142$us = $107;
+ }
+ }
+ } else {
+ $$0138 = 0;$$2 = $$1;$$2137 = $$1136;$$2142 = $$1141;
+ while(1) {
+ $111 = (FUNCTION_TABLE_iiii[$9 & 127]($66,$5,$67)|0);
+ $112 = ($111>>>0)>($$0138>>>0);
+ $113 = $112 ? $111 : $$0138;
+ $114 = ($11>>>0)<($$2142>>>0);
+ $115 = $114 ? $11 : $$2142;
+ $116 = $$2;
+ $117 = $$2137;
+ $118 = $116 | $117;
+ $119 = $118 & 3;
+ $120 = ($119|0)==(0);
+ $121 = ($115>>>0)>(3);
+ $or$cond$i148 = $121 & $120;
+ if ($or$cond$i148) {
+ $122 = (($115) + -4)|0;
+ $123 = $122 & -4;
+ $124 = (($123) + 4)|0;
+ $scevgep61$i150 = (($5) + ($124)|0);
+ $$03449$i154 = $5;$$03548$i155 = $$2137;$$03647$i156 = $$2;$$050$i153 = $115;
+ while(1) {
+ $125 = ((($$03548$i155)) + 4|0);
+ $126 = HEAP32[$$03548$i155>>2]|0;
+ $127 = ((($$03449$i154)) + 4|0);
+ $128 = HEAP32[$$03449$i154>>2]|0;
+ $129 = $128 ^ $126;
+ $130 = ((($$03647$i156)) + 4|0);
+ HEAP32[$$03647$i156>>2] = $129;
+ $131 = (($$050$i153) + -4)|0;
+ $132 = ($131>>>0)>(3);
+ if ($132) {
+ $$03449$i154 = $127;$$03548$i155 = $125;$$03647$i156 = $130;$$050$i153 = $131;
+ } else {
+ break;
+ }
+ }
+ $scevgep$i149 = (($$2137) + ($124)|0);
+ $scevgep63$i151 = (($$2) + ($124)|0);
+ $133 = (($122) - ($123))|0;
+ $$037$i160 = $scevgep61$i150;$$039$i159 = $scevgep$i149;$$041$i158 = $scevgep63$i151;$$1$i161 = $133;
+ } else {
+ $$037$i160 = $5;$$039$i159 = $$2137;$$041$i158 = $$2;$$1$i161 = $115;
+ }
+ $134 = ($$1$i161|0)==(0);
+ if (!($134)) {
+ $$13845$i165 = $$037$i160;$$14044$i166 = $$039$i159;$$14243$i167 = $$041$i158;$$246$i164 = $$1$i161;
+ while(1) {
+ $135 = ((($$14044$i166)) + 1|0);
+ $136 = HEAP8[$$14044$i166>>0]|0;
+ $137 = ((($$13845$i165)) + 1|0);
+ $138 = HEAP8[$$13845$i165>>0]|0;
+ $139 = $138 ^ $136;
+ $140 = ((($$14243$i167)) + 1|0);
+ HEAP8[$$14243$i167>>0] = $139;
+ $141 = (($$246$i164) + -1)|0;
+ $142 = ($141|0)==(0);
+ if ($142) {
+ break;
+ } else {
+ $$13845$i165 = $137;$$14044$i166 = $135;$$14243$i167 = $140;$$246$i164 = $141;
+ }
+ }
+ }
+ $143 = (($$2142) - ($115))|0;
+ $144 = (($$2) + ($115)|0);
+ $145 = (($$2137) + ($115)|0);
+ $146 = ($143|0)==(0);
+ if ($146) {
+ $$lcssa173 = $113;$$lcssa174 = $115;
+ break;
+ } else {
+ $$0138 = $113;$$2 = $144;$$2137 = $145;$$2142 = $143;
+ }
+ }
+ }
+ $147 = (($11) - ($$lcssa174))|0;
+ HEAP32[$13>>2] = $147;
+ $148 = ($147|0)==(0);
+ do {
+ if (!($148)) {
+ $149 = (((($0)) + 96|0) + ($$lcssa174)|0);
+ $150 = (($5) + ($$lcssa174)|0);
+ $151 = $149;
+ $152 = $150;
+ $153 = $152 | $151;
+ $154 = $153 & 3;
+ $155 = ($154|0)==(0);
+ $156 = ($147>>>0)>(3);
+ $or$cond$i144 = $156 & $155;
+ if ($or$cond$i144) {
+ $157 = (($147) + -4)|0;
+ $158 = $157 & -4;
+ $159 = (($158) + 4)|0;
+ $scevgep$i145 = (($150) + ($159)|0);
+ $$02434$i = $150;$$02533$i = $149;$$035$i = $147;
+ while(1) {
+ $160 = ((($$02434$i)) + 4|0);
+ $161 = HEAP32[$$02434$i>>2]|0;
+ $162 = ((($$02533$i)) + 4|0);
+ HEAP32[$$02533$i>>2] = $161;
+ $163 = (($$035$i) + -4)|0;
+ $164 = ($163>>>0)>(3);
+ if ($164) {
+ $$02434$i = $160;$$02533$i = $162;$$035$i = $163;
+ } else {
+ break;
+ }
+ }
+ $scevgep44$i = (($149) + ($159)|0);
+ $165 = (($157) - ($158))|0;
+ $166 = ($165|0)==(0);
+ if ($166) {
+ break;
+ } else {
+ $$12731$i$ph = $scevgep$i145;$$12930$i$ph = $scevgep44$i;$$232$i$ph = $165;
+ }
+ } else {
+ $$12731$i$ph = $150;$$12930$i$ph = $149;$$232$i$ph = $147;
+ }
+ $$12731$i = $$12731$i$ph;$$12930$i = $$12930$i$ph;$$232$i = $$232$i$ph;
+ while(1) {
+ $167 = ((($$12731$i)) + 1|0);
+ $168 = HEAP8[$$12731$i>>0]|0;
+ $169 = ((($$12930$i)) + 1|0);
+ HEAP8[$$12930$i>>0] = $168;
+ $170 = (($$232$i) + -1)|0;
+ $171 = ($170|0)==(0);
+ if ($171) {
+ break;
+ } else {
+ $$12731$i = $167;$$12930$i = $169;$$232$i = $170;
+ }
+ }
+ }
+ } while(0);
+ $172 = $5;
+ $173 = $172;
+ HEAP32[$173>>2] = 0;
+ $174 = (($172) + 4)|0;
+ $175 = $174;
+ HEAP32[$175>>2] = 0;
+ $176 = ((($5)) + 8|0);
+ $177 = $176;
+ $178 = $177;
+ HEAP32[$178>>2] = 0;
+ $179 = (($177) + 4)|0;
+ $180 = $179;
+ HEAP32[$180>>2] = 0;
+ $181 = ($$lcssa173|0)==(0);
+ if ($181) {
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $182 = (($$lcssa173) + 16)|0;
+ ___gcry_burn_stack($182);
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+}
+function __gcry_cipher_gcm_encrypt($0,$1,$2,$3,$4) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ var $$0 = 0, $$pre = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
+ var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $5 = 0, $6 = 0;
+ var $7 = 0, $8 = 0, $9 = 0, $or$cond30 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $5 = ((($0)) + 12|0);
+ $6 = HEAP32[$5>>2]|0;
+ $7 = ((($6)) + 20|0);
+ $8 = HEAP32[$7>>2]|0;
+ $9 = ($8|0)==(16);
+ if (!($9)) {
+ $$0 = 12;
+ return ($$0|0);
+ }
+ $10 = ($2>>>0)<($4>>>0);
+ if ($10) {
+ $$0 = 200;
+ return ($$0|0);
+ }
+ $11 = ((($0)) + 128|0);
+ $12 = ((($0)) + 196|0);
+ $13 = HEAP8[$12>>0]|0;
+ $14 = $13 & 4;
+ $15 = ($14<<24>>24)==(0);
+ if (!($15)) {
+ $$0 = 139;
+ return ($$0|0);
+ }
+ $16 = ((($0)) + 56|0);
+ $17 = HEAP8[$16>>0]|0;
+ $18 = $17 & 4;
+ $19 = $13 & 1;
+ $20 = $18 | $19;
+ $21 = ($20<<24>>24)==(0);
+ if (!($21)) {
+ $$0 = 156;
+ return ($$0|0);
+ }
+ $22 = $17 & 2;
+ $23 = ($22<<24>>24)==(0);
+ if ($23) {
+ (__gcry_cipher_gcm_setiv($0,71184,16)|0);
+ $$pre = HEAP8[$12>>0]|0;
+ $25 = $$pre;
+ } else {
+ $25 = $13;
+ }
+ $24 = $25 & 8;
+ $26 = ($24<<24>>24)==(0);
+ if (!($26)) {
+ $$0 = 156;
+ return ($$0|0);
+ }
+ $27 = $25 & 2;
+ $28 = ($27<<24>>24)==(0);
+ if ($28) {
+ _do_ghash_buf($0,$11,0,0,1);
+ $29 = HEAP8[$12>>0]|0;
+ $30 = $29 | 2;
+ HEAP8[$12>>0] = $30;
+ $43 = $30;
+ } else {
+ $43 = $25;
+ }
+ $31 = ((($0)) + 172|0);
+ $32 = HEAP32[$31>>2]|0;
+ $33 = (($32) + ($4))|0;
+ HEAP32[$31>>2] = $33;
+ $34 = ($33>>>0)<($4>>>0);
+ $35 = ((($0)) + 176|0);
+ $36 = HEAP32[$35>>2]|0;
+ if ($34) {
+ $37 = (($36) + 1)|0;
+ HEAP32[$35>>2] = $37;
+ $39 = $37;
+ } else {
+ $39 = $36;
+ }
+ $38 = ($39>>>0)>(15);
+ if (!($38)) {
+ $40 = ($39|0)==(15);
+ $41 = ($33>>>0)>(4294967264);
+ $or$cond30 = $41 & $40;
+ if (!($or$cond30)) {
+ $44 = (__gcry_cipher_ctr_encrypt($0,$1,$2,$3,$4)|0);
+ $45 = ($44|0)==(0);
+ if (!($45)) {
+ $$0 = $44;
+ return ($$0|0);
+ }
+ _do_ghash_buf($0,$11,$1,$4,0);
+ $$0 = 0;
+ return ($$0|0);
+ }
+ }
+ $42 = $43 | 4;
+ HEAP8[$12>>0] = $42;
+ $$0 = 139;
+ return ($$0|0);
+}
+function __gcry_cipher_gcm_setiv($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$1$i = 0, $$pre = 0, $$pre$i = 0, $$pre$phi141$iZ2D = 0, $$pre$phi142$iZ2D = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0;
+ var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0;
+ var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
+ var dest = 0, label = 0, sp = 0, src = 0, stop = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
+ $3 = sp + 16|0;
+ $4 = sp;
+ $5 = ((($0)) + 56|0);
+ $6 = HEAP8[$5>>0]|0;
+ $7 = $6 & -7;
+ HEAP8[$5>>0] = $7;
+ $8 = ((($0)) + 196|0);
+ $9 = HEAP8[$8>>0]|0;
+ $10 = $9 & -9;
+ HEAP8[$8>>0] = $10;
+ $11 = (__gcry_fips_mode()|0);
+ $12 = ($11|0)==(0);
+ $$pre = HEAP8[$8>>0]|0;
+ if ($12) {
+ $17 = $$pre;
+ } else {
+ $13 = $$pre | 8;
+ HEAP8[$8>>0] = $13;
+ $17 = $13;
+ }
+ $14 = ((($0)) + 128|0);
+ $15 = ((($0)) + 164|0);
+ ;HEAP32[$14>>2]=0|0;HEAP32[$14+4>>2]=0|0;HEAP32[$14+8>>2]=0|0;HEAP32[$14+12>>2]=0|0;
+ ;HEAP32[$15>>2]=0|0;HEAP32[$15+4>>2]=0|0;HEAP32[$15+8>>2]=0|0;HEAP32[$15+12>>2]=0|0;
+ $16 = $17 & -8;
+ HEAP8[$8>>0] = $16;
+ switch ($2|0) {
+ case 12: {
+ $39 = ((($0)) + 80|0);
+ dest=$39; src=$1; stop=dest+12|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
+ $40 = ((($0)) + 94|0);
+ HEAP8[$40>>0] = 0;
+ $41 = ((($0)) + 93|0);
+ HEAP8[$41>>0] = 0;
+ $42 = ((($0)) + 92|0);
+ HEAP8[$42>>0] = 0;
+ $43 = ((($0)) + 95|0);
+ HEAP8[$43>>0] = 1;
+ $$pre$phi141$iZ2D = $39;$$pre$phi142$iZ2D = $42;
+ break;
+ }
+ case 0: {
+ $$1$i = 139;
+ STACKTOP = sp;return ($$1$i|0);
+ break;
+ }
+ default: {
+ $18 = ((($0)) + 80|0);
+ ;HEAP32[$18>>2]=0|0;HEAP32[$18+4>>2]=0|0;HEAP32[$18+8>>2]=0|0;HEAP32[$18+12>>2]=0|0;
+ _do_ghash_buf($0,$18,$1,$2,1);
+ $19 = $2 << 3;
+ $20 = (_llvm_bswap_i32(($19|0))|0);
+ $21 = ((($4)) + 12|0);
+ HEAP32[$21>>2] = $20;
+ $22 = $2 >>> 29;
+ $23 = (_llvm_bswap_i32(($22|0))|0);
+ $24 = ((($4)) + 8|0);
+ HEAP32[$24>>2] = $23;
+ $25 = ((($4)) + 4|0);
+ HEAP32[$25>>2] = 0;
+ HEAP32[$4>>2] = 0;
+ _do_ghash_buf($0,$18,$4,16,1);
+ $26 = $3;
+ $27 = $26;
+ HEAP32[$27>>2] = 0;
+ $28 = (($26) + 4)|0;
+ $29 = $28;
+ HEAP32[$29>>2] = 0;
+ $30 = $4;
+ $31 = $30;
+ HEAP32[$31>>2] = 0;
+ $32 = (($30) + 4)|0;
+ $33 = $32;
+ HEAP32[$33>>2] = 0;
+ $34 = ((($4)) + 8|0);
+ $35 = $34;
+ $36 = $35;
+ HEAP32[$36>>2] = 0;
+ $37 = (($35) + 4)|0;
+ $38 = $37;
+ HEAP32[$38>>2] = 0;
+ $$pre$i = ((($0)) + 92|0);
+ $$pre$phi141$iZ2D = $18;$$pre$phi142$iZ2D = $$pre$i;
+ }
+ }
+ $44 = ((($0)) + 12|0);
+ $45 = HEAP32[$44>>2]|0;
+ $46 = ((($45)) + 36|0);
+ $47 = HEAP32[$46>>2]|0;
+ $48 = ((($0)) + 496|0);
+ $49 = ((($0)) + 180|0);
+ (FUNCTION_TABLE_iiii[$47 & 127]($48,$49,$$pre$phi141$iZ2D)|0);
+ $50 = HEAP32[$$pre$phi142$iZ2D>>2]|0;
+ $51 = (_llvm_bswap_i32(($50|0))|0);
+ $52 = (($51) + 1)|0;
+ $53 = (_llvm_bswap_i32(($52|0))|0);
+ HEAP32[$$pre$phi142$iZ2D>>2] = $53;
+ $54 = ((($0)) + 112|0);
+ HEAP32[$54>>2] = 0;
+ $55 = HEAP8[$5>>0]|0;
+ $56 = $55 & -7;
+ $57 = $56 | 2;
+ HEAP8[$5>>0] = $57;
+ $$1$i = 0;
+ STACKTOP = sp;return ($$1$i|0);
+}
+function _do_ghash_buf($0,$1,$2,$3,$4) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ var $$0 = 0, $$0$us = 0, $$02434$i = 0, $$02434$i$us = 0, $$02533$i = 0, $$02533$i$us = 0, $$026$i = 0, $$026$i$us = 0, $$028$i = 0, $$028$i$us = 0, $$035$i = 0, $$035$i$us = 0, $$070 = 0, $$070$us = 0, $$073 = 0, $$073$us = 0, $$076 = 0, $$076$us = 0, $$1 = 0, $$1$i = 0;
+ var $$1$i$us = 0, $$1$us = 0, $$12731$i = 0, $$12731$i$us = 0, $$12930$i = 0, $$12930$i$us = 0, $$171 = 0, $$171$us9193 = 0, $$174 = 0, $$174$us9094 = 0, $$177 = 0, $$2 = 0, $$2$us = 0, $$232$i = 0, $$232$i$us = 0, $$272 = 0, $$272$us = 0, $$275 = 0, $$275$us = 0, $$3 = 0;
+ var $$5 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
+ var $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $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, $or$cond = 0, $or$cond$i = 0, $or$cond$i$us = 0, $or$cond3 = 0, $or$cond3$us = 0;
+ var $or$cond82 = 0, $scevgep$i = 0, $scevgep$i$us = 0, $scevgep44$i = 0, $scevgep44$i$us = 0, $scevgep87 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $5 = ((($0)) + 160|0);
+ $6 = HEAP32[$5>>2]|0;
+ $7 = ((($0)) + 224|0);
+ $8 = HEAP32[$7>>2]|0;
+ $9 = ($3|0)==(0);
+ L1: do {
+ if ($9) {
+ $10 = ($6|0)!=(0);
+ $11 = ($4|0)!=(0);
+ $or$cond = $11 & $10;
+ if ($or$cond) {
+ $12 = ((($0)) + 144|0);
+ $89 = $12;
+ label = 20;
+ break;
+ } else {
+ return;
+ }
+ } else {
+ $13 = ($4|0)==(0);
+ $14 = ((($0)) + 144|0);
+ if ($13) {
+ $$0$us = 0;$$070$us = $2;$$073$us = $3;$$076$us = $6;
+ L8: while(1) {
+ $15 = (($$073$us) + ($$076$us))|0;
+ $16 = ($15>>>0)<(16);
+ $17 = ($$076$us|0)!=(0);
+ $or$cond3$us = $17 | $16;
+ L10: do {
+ if ($or$cond3$us) {
+ $18 = (16 - ($$076$us))|0;
+ $19 = ($18>>>0)<($$073$us>>>0);
+ $20 = $19 ? $18 : $$073$us;
+ $21 = (((($0)) + 144|0) + ($$076$us)|0);
+ $22 = $21;
+ $23 = $$070$us;
+ $24 = $23 | $22;
+ $25 = $24 & 3;
+ $26 = ($25|0)==(0);
+ $27 = ($20>>>0)>(3);
+ $or$cond$i$us = $27 & $26;
+ if ($or$cond$i$us) {
+ $28 = (($20) + -4)|0;
+ $29 = $28 & -4;
+ $30 = (($29) + 4)|0;
+ $scevgep$i$us = (($$070$us) + ($30)|0);
+ $$02434$i$us = $$070$us;$$02533$i$us = $21;$$035$i$us = $20;
+ while(1) {
+ $31 = ((($$02434$i$us)) + 4|0);
+ $32 = HEAP32[$$02434$i$us>>2]|0;
+ $33 = ((($$02533$i$us)) + 4|0);
+ HEAP32[$$02533$i$us>>2] = $32;
+ $34 = (($$035$i$us) + -4)|0;
+ $35 = ($34>>>0)>(3);
+ if ($35) {
+ $$02434$i$us = $31;$$02533$i$us = $33;$$035$i$us = $34;
+ } else {
+ break;
+ }
+ }
+ $scevgep44$i$us = (($21) + ($30)|0);
+ $36 = (($28) - ($29))|0;
+ $$026$i$us = $scevgep$i$us;$$028$i$us = $scevgep44$i$us;$$1$i$us = $36;
+ } else {
+ $$026$i$us = $$070$us;$$028$i$us = $21;$$1$i$us = $20;
+ }
+ $37 = ($$1$i$us|0)==(0);
+ if (!($37)) {
+ $$12731$i$us = $$026$i$us;$$12930$i$us = $$028$i$us;$$232$i$us = $$1$i$us;
+ while(1) {
+ $38 = ((($$12731$i$us)) + 1|0);
+ $39 = HEAP8[$$12731$i$us>>0]|0;
+ $40 = ((($$12930$i$us)) + 1|0);
+ HEAP8[$$12930$i$us>>0] = $39;
+ $41 = (($$232$i$us) + -1)|0;
+ $42 = ($41|0)==(0);
+ if ($42) {
+ break;
+ } else {
+ $$12731$i$us = $38;$$12930$i$us = $40;$$232$i$us = $41;
+ }
+ }
+ }
+ $43 = (($20) + ($$076$us))|0;
+ $44 = (($$070$us) + ($20)|0);
+ $45 = (($$073$us) - ($20))|0;
+ $46 = ($45|0)==(0);
+ if ($46) {
+ $$3 = $$0$us;$$5 = $43;
+ break L1;
+ }
+ switch ($43|0) {
+ case 0: {
+ $$1$us = $$0$us;$$171$us9193 = $44;$$174$us9094 = $45;
+ break L10;
+ break;
+ }
+ case 16: {
+ break;
+ }
+ default: {
+ break L8;
+ }
+ }
+ $47 = (FUNCTION_TABLE_iiiii[$8 & 127]($0,$1,$14,1)|0);
+ $$1$us = $47;$$171$us9193 = $44;$$174$us9094 = $45;
+ } else {
+ $$1$us = $$0$us;$$171$us9193 = $$070$us;$$174$us9094 = $$073$us;
+ }
+ } while(0);
+ $48 = $$174$us9094 >>> 4;
+ $49 = ($48|0)==(0);
+ $50 = $$174$us9094 & -16;
+ if ($49) {
+ $$2$us = $$1$us;$$272$us = $$171$us9193;$$275$us = $$174$us9094;
+ } else {
+ $51 = (($$174$us9094) - ($50))|0;
+ $52 = (($$171$us9193) + ($50)|0);
+ $53 = (FUNCTION_TABLE_iiiii[$8 & 127]($0,$1,$$171$us9193,$48)|0);
+ $$2$us = $53;$$272$us = $52;$$275$us = $51;
+ }
+ $54 = ($$275$us|0)==(0);
+ if ($54) {
+ $$3 = $$2$us;$$5 = 0;
+ break L1;
+ } else {
+ $$0$us = $$2$us;$$070$us = $$272$us;$$073$us = $$275$us;$$076$us = 0;
+ }
+ }
+ __gcry_assert_failed(64445,64465,499,64478);
+ // unreachable;
+ } else {
+ $89 = $14;
+ label = 20;
+ }
+ }
+ } while(0);
+ L30: do {
+ if ((label|0) == 20) {
+ $$0 = 0;$$070 = $2;$$073 = $3;$$076 = $6;
+ L32: while(1) {
+ $55 = (($$073) + ($$076))|0;
+ $56 = ($55>>>0)<(16);
+ $57 = ($$076|0)!=(0);
+ $or$cond3 = $57 | $56;
+ if ($or$cond3) {
+ $58 = (16 - ($$076))|0;
+ $59 = ($58>>>0)<($$073>>>0);
+ $60 = $59 ? $58 : $$073;
+ $61 = (((($0)) + 144|0) + ($$076)|0);
+ $62 = $61;
+ $63 = $$070;
+ $64 = $63 | $62;
+ $65 = $64 & 3;
+ $66 = ($65|0)==(0);
+ $67 = ($60>>>0)>(3);
+ $or$cond$i = $67 & $66;
+ if ($or$cond$i) {
+ $68 = (($60) + -4)|0;
+ $69 = $68 & -4;
+ $70 = (($69) + 4)|0;
+ $scevgep$i = (($$070) + ($70)|0);
+ $$02434$i = $$070;$$02533$i = $61;$$035$i = $60;
+ while(1) {
+ $71 = ((($$02434$i)) + 4|0);
+ $72 = HEAP32[$$02434$i>>2]|0;
+ $73 = ((($$02533$i)) + 4|0);
+ HEAP32[$$02533$i>>2] = $72;
+ $74 = (($$035$i) + -4)|0;
+ $75 = ($74>>>0)>(3);
+ if ($75) {
+ $$02434$i = $71;$$02533$i = $73;$$035$i = $74;
+ } else {
+ break;
+ }
+ }
+ $scevgep44$i = (($61) + ($70)|0);
+ $76 = (($68) - ($69))|0;
+ $$026$i = $scevgep$i;$$028$i = $scevgep44$i;$$1$i = $76;
+ } else {
+ $$026$i = $$070;$$028$i = $61;$$1$i = $60;
+ }
+ $77 = ($$1$i|0)==(0);
+ if (!($77)) {
+ $$12731$i = $$026$i;$$12930$i = $$028$i;$$232$i = $$1$i;
+ while(1) {
+ $78 = ((($$12731$i)) + 1|0);
+ $79 = HEAP8[$$12731$i>>0]|0;
+ $80 = ((($$12930$i)) + 1|0);
+ HEAP8[$$12930$i>>0] = $79;
+ $81 = (($$232$i) + -1)|0;
+ $82 = ($81|0)==(0);
+ if ($82) {
+ break;
+ } else {
+ $$12731$i = $78;$$12930$i = $80;$$232$i = $81;
+ }
+ }
+ }
+ $83 = (($60) + ($$076))|0;
+ $84 = (($$070) + ($60)|0);
+ $85 = (($$073) - ($60))|0;
+ $$171 = $84;$$174 = $85;$$177 = $83;
+ } else {
+ $$171 = $$070;$$174 = $$073;$$177 = 0;
+ }
+ $86 = ($$174|0)==(0);
+ $87 = ($$177>>>0)<(16);
+ $or$cond82 = $86 & $87;
+ if ($or$cond82) {
+ $scevgep87 = (((($0)) + 144|0) + ($$177)|0);
+ $88 = (16 - ($$177))|0;
+ _memset(($scevgep87|0),0,($88|0))|0;
+ label = 34;
+ } else {
+ switch ($$177|0) {
+ case 0: {
+ $$1 = $$0;
+ break;
+ }
+ case 16: {
+ label = 34;
+ break;
+ }
+ default: {
+ break L32;
+ }
+ }
+ }
+ if ((label|0) == 34) {
+ label = 0;
+ $90 = (FUNCTION_TABLE_iiiii[$8 & 127]($0,$1,$89,1)|0);
+ $$1 = $90;
+ }
+ $91 = $$174 >>> 4;
+ $92 = ($91|0)==(0);
+ $93 = $$174 & -16;
+ if ($92) {
+ $$2 = $$1;$$272 = $$171;$$275 = $$174;
+ } else {
+ $94 = (($$174) - ($93))|0;
+ $95 = (($$171) + ($93)|0);
+ $96 = (FUNCTION_TABLE_iiiii[$8 & 127]($0,$1,$$171,$91)|0);
+ $$2 = $96;$$272 = $95;$$275 = $94;
+ }
+ $97 = ($$275|0)==(0);
+ if ($97) {
+ $$3 = $$2;$$5 = 0;
+ break L30;
+ } else {
+ $$0 = $$2;$$070 = $$272;$$073 = $$275;$$076 = 0;
+ }
+ }
+ __gcry_assert_failed(64445,64465,499,64478);
+ // unreachable;
+ }
+ } while(0);
+ HEAP32[$5>>2] = $$5;
+ $98 = ($$3|0)==(0);
+ if ($98) {
+ return;
+ }
+ ___gcry_burn_stack($$3);
+ return;
+}
+function __gcry_cipher_gcm_decrypt($0,$1,$2,$3,$4) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ var $$0 = 0, $$pre = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
+ var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
+ var $or$cond26 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $5 = ((($0)) + 12|0);
+ $6 = HEAP32[$5>>2]|0;
+ $7 = ((($6)) + 20|0);
+ $8 = HEAP32[$7>>2]|0;
+ $9 = ($8|0)==(16);
+ if (!($9)) {
+ $$0 = 12;
+ return ($$0|0);
+ }
+ $10 = ($2>>>0)<($4>>>0);
+ if ($10) {
+ $$0 = 200;
+ return ($$0|0);
+ }
+ $11 = ((($0)) + 128|0);
+ $12 = ((($0)) + 196|0);
+ $13 = HEAP8[$12>>0]|0;
+ $14 = $13 & 4;
+ $15 = ($14<<24>>24)==(0);
+ if (!($15)) {
+ $$0 = 139;
+ return ($$0|0);
+ }
+ $16 = ((($0)) + 56|0);
+ $17 = HEAP8[$16>>0]|0;
+ $18 = $17 & 4;
+ $19 = $13 & 1;
+ $20 = $18 | $19;
+ $21 = ($20<<24>>24)==(0);
+ if (!($21)) {
+ $$0 = 156;
+ return ($$0|0);
+ }
+ $22 = $17 & 2;
+ $23 = ($22<<24>>24)==(0);
+ if ($23) {
+ (__gcry_cipher_gcm_setiv($0,71200,16)|0);
+ $$pre = HEAP8[$12>>0]|0;
+ $25 = $$pre;
+ } else {
+ $25 = $13;
+ }
+ $24 = $25 & 2;
+ $26 = ($24<<24>>24)==(0);
+ if ($26) {
+ _do_ghash_buf($0,$11,0,0,1);
+ $27 = HEAP8[$12>>0]|0;
+ $28 = $27 | 2;
+ HEAP8[$12>>0] = $28;
+ $41 = $28;
+ } else {
+ $41 = $25;
+ }
+ $29 = ((($0)) + 172|0);
+ $30 = HEAP32[$29>>2]|0;
+ $31 = (($30) + ($4))|0;
+ HEAP32[$29>>2] = $31;
+ $32 = ($31>>>0)<($4>>>0);
+ $33 = ((($0)) + 176|0);
+ $34 = HEAP32[$33>>2]|0;
+ if ($32) {
+ $35 = (($34) + 1)|0;
+ HEAP32[$33>>2] = $35;
+ $37 = $35;
+ } else {
+ $37 = $34;
+ }
+ $36 = ($37>>>0)>(15);
+ if (!($36)) {
+ $38 = ($37|0)==(15);
+ $39 = ($31>>>0)>(4294967264);
+ $or$cond26 = $39 & $38;
+ if (!($or$cond26)) {
+ _do_ghash_buf($0,$11,$3,$4,0);
+ $42 = (__gcry_cipher_ctr_encrypt($0,$1,$2,$3,$4)|0);
+ $$0 = $42;
+ return ($$0|0);
+ }
+ }
+ $40 = $41 | 4;
+ HEAP8[$12>>0] = $40;
+ $$0 = 139;
+ return ($$0|0);
+}
+function __gcry_cipher_gcm_setkey($0) {
+ $0 = $0|0;
+ var $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, $116 = 0;
+ var $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, $134 = 0;
+ var $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, $152 = 0;
+ var $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, $170 = 0;
+ var $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, $189 = 0;
+ var $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, $206 = 0;
+ var $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, $224 = 0;
+ var $225 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0;
+ var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0;
+ var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0;
+ var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $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;
+ var $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = ((($0)) + 208|0);
+ ;HEAP32[$1>>2]=0|0;HEAP32[$1+4>>2]=0|0;HEAP32[$1+8>>2]=0|0;HEAP32[$1+12>>2]=0|0;
+ $2 = ((($0)) + 12|0);
+ $3 = HEAP32[$2>>2]|0;
+ $4 = ((($3)) + 36|0);
+ $5 = HEAP32[$4>>2]|0;
+ $6 = ((($0)) + 496|0);
+ (FUNCTION_TABLE_iiii[$5 & 127]($6,$1,$1)|0);
+ $7 = ((($0)) + 224|0);
+ HEAP32[$7>>2] = 82;
+ $8 = ((($0)) + 228|0);
+ ;HEAP32[$8>>2]=0|0;HEAP32[$8+4>>2]=0|0;HEAP32[$8+8>>2]=0|0;HEAP32[$8+12>>2]=0|0;
+ $9 = HEAP8[$1>>0]|0;
+ $10 = $9&255;
+ $11 = $10 << 24;
+ $12 = ((($1)) + 1|0);
+ $13 = HEAP8[$12>>0]|0;
+ $14 = $13&255;
+ $15 = $14 << 16;
+ $16 = $15 | $11;
+ $17 = ((($1)) + 2|0);
+ $18 = HEAP8[$17>>0]|0;
+ $19 = $18&255;
+ $20 = $19 << 8;
+ $21 = $16 | $20;
+ $22 = ((($1)) + 3|0);
+ $23 = HEAP8[$22>>0]|0;
+ $24 = $23&255;
+ $25 = $21 | $24;
+ $26 = ((($0)) + 356|0);
+ HEAP32[$26>>2] = $25;
+ $27 = ((($1)) + 4|0);
+ $28 = HEAP8[$27>>0]|0;
+ $29 = $28&255;
+ $30 = $29 << 24;
+ $31 = ((($1)) + 5|0);
+ $32 = HEAP8[$31>>0]|0;
+ $33 = $32&255;
+ $34 = $33 << 16;
+ $35 = $34 | $30;
+ $36 = ((($1)) + 6|0);
+ $37 = HEAP8[$36>>0]|0;
+ $38 = $37&255;
+ $39 = $38 << 8;
+ $40 = $35 | $39;
+ $41 = ((($1)) + 7|0);
+ $42 = HEAP8[$41>>0]|0;
+ $43 = $42&255;
+ $44 = $40 | $43;
+ $45 = ((($0)) + 360|0);
+ HEAP32[$45>>2] = $44;
+ $46 = ((($0)) + 216|0);
+ $47 = HEAP8[$46>>0]|0;
+ $48 = $47&255;
+ $49 = $48 << 24;
+ $50 = ((($0)) + 217|0);
+ $51 = HEAP8[$50>>0]|0;
+ $52 = $51&255;
+ $53 = $52 << 16;
+ $54 = $53 | $49;
+ $55 = ((($0)) + 218|0);
+ $56 = HEAP8[$55>>0]|0;
+ $57 = $56&255;
+ $58 = $57 << 8;
+ $59 = $54 | $58;
+ $60 = ((($0)) + 219|0);
+ $61 = HEAP8[$60>>0]|0;
+ $62 = $61&255;
+ $63 = $59 | $62;
+ $64 = ((($0)) + 364|0);
+ HEAP32[$64>>2] = $63;
+ $65 = ((($0)) + 220|0);
+ $66 = HEAP8[$65>>0]|0;
+ $67 = $66&255;
+ $68 = $67 << 24;
+ $69 = ((($0)) + 221|0);
+ $70 = HEAP8[$69>>0]|0;
+ $71 = $70&255;
+ $72 = $71 << 16;
+ $73 = $72 | $68;
+ $74 = ((($0)) + 222|0);
+ $75 = HEAP8[$74>>0]|0;
+ $76 = $75&255;
+ $77 = $76 << 8;
+ $78 = $73 | $77;
+ $79 = ((($0)) + 223|0);
+ $80 = HEAP8[$79>>0]|0;
+ $81 = $80&255;
+ $82 = $78 | $81;
+ $83 = ((($0)) + 368|0);
+ HEAP32[$83>>2] = $82;
+ $84 = ((($0)) + 292|0);
+ $85 = ((($0)) + 296|0);
+ $86 = ((($0)) + 300|0);
+ $87 = ((($0)) + 304|0);
+ $88 = $81 & 1;
+ $89 = ($88|0)==(0);
+ $90 = $89 ? 0 : -520093696;
+ $91 = $82 >>> 1;
+ $92 = $62 << 31;
+ $93 = $91 | $92;
+ HEAP32[$87>>2] = $93;
+ $94 = $63 >>> 1;
+ $95 = $43 << 31;
+ $96 = $94 | $95;
+ HEAP32[$86>>2] = $96;
+ $97 = $44 >>> 1;
+ $98 = $24 << 31;
+ $99 = $97 | $98;
+ HEAP32[$85>>2] = $99;
+ $100 = $25 >>> 1;
+ $101 = $90 ^ $100;
+ HEAP32[$84>>2] = $101;
+ $102 = ((($0)) + 260|0);
+ $103 = ((($0)) + 264|0);
+ $104 = ((($0)) + 268|0);
+ $105 = ((($0)) + 272|0);
+ $106 = $81 & 2;
+ $107 = ($106|0)==(0);
+ $108 = $107 ? 0 : -520093696;
+ $109 = $93 >>> 1;
+ $110 = $94 << 31;
+ $111 = $109 | $110;
+ HEAP32[$105>>2] = $111;
+ $112 = $96 >>> 1;
+ $113 = $97 << 31;
+ $114 = $112 | $113;
+ HEAP32[$104>>2] = $114;
+ $115 = $99 >>> 1;
+ $116 = $100 << 31;
+ $117 = $115 | $116;
+ HEAP32[$103>>2] = $117;
+ $118 = $101 >>> 1;
+ $119 = $118 ^ $108;
+ HEAP32[$102>>2] = $119;
+ $120 = ((($0)) + 244|0);
+ $121 = ((($0)) + 248|0);
+ $122 = ((($0)) + 252|0);
+ $123 = ((($0)) + 256|0);
+ $124 = $81 & 4;
+ $125 = ($124|0)==(0);
+ $126 = $125 ? 0 : -520093696;
+ $127 = $111 >>> 1;
+ $128 = $112 << 31;
+ $129 = $127 | $128;
+ HEAP32[$123>>2] = $129;
+ $130 = $114 >>> 1;
+ $131 = $115 << 31;
+ $132 = $130 | $131;
+ HEAP32[$122>>2] = $132;
+ $133 = $117 >>> 1;
+ $134 = $118 << 31;
+ $135 = $134 | $133;
+ HEAP32[$121>>2] = $135;
+ $136 = $119 >>> 1;
+ $137 = $136 ^ $126;
+ HEAP32[$120>>2] = $137;
+ $138 = $137 ^ $119;
+ $139 = ((($0)) + 276|0);
+ HEAP32[$139>>2] = $138;
+ $140 = $135 ^ $117;
+ $141 = ((($0)) + 280|0);
+ HEAP32[$141>>2] = $140;
+ $142 = $132 ^ $114;
+ $143 = ((($0)) + 284|0);
+ HEAP32[$143>>2] = $142;
+ $144 = $129 ^ $111;
+ $145 = ((($0)) + 288|0);
+ HEAP32[$145>>2] = $144;
+ $146 = $137 ^ $101;
+ $147 = ((($0)) + 308|0);
+ HEAP32[$147>>2] = $146;
+ $148 = $135 ^ $99;
+ $149 = ((($0)) + 312|0);
+ HEAP32[$149>>2] = $148;
+ $150 = $132 ^ $96;
+ $151 = ((($0)) + 316|0);
+ HEAP32[$151>>2] = $150;
+ $152 = $129 ^ $93;
+ $153 = ((($0)) + 320|0);
+ HEAP32[$153>>2] = $152;
+ $154 = $119 ^ $101;
+ $155 = ((($0)) + 324|0);
+ HEAP32[$155>>2] = $154;
+ $156 = $117 ^ $99;
+ $157 = ((($0)) + 328|0);
+ HEAP32[$157>>2] = $156;
+ $158 = $114 ^ $96;
+ $159 = ((($0)) + 332|0);
+ HEAP32[$159>>2] = $158;
+ $160 = $111 ^ $93;
+ $161 = ((($0)) + 336|0);
+ HEAP32[$161>>2] = $160;
+ $162 = $138 ^ $101;
+ $163 = ((($0)) + 340|0);
+ HEAP32[$163>>2] = $162;
+ $164 = $140 ^ $99;
+ $165 = ((($0)) + 344|0);
+ HEAP32[$165>>2] = $164;
+ $166 = $142 ^ $96;
+ $167 = ((($0)) + 348|0);
+ HEAP32[$167>>2] = $166;
+ $168 = $144 ^ $93;
+ $169 = ((($0)) + 352|0);
+ HEAP32[$169>>2] = $168;
+ $170 = $137 ^ $25;
+ $171 = ((($0)) + 372|0);
+ HEAP32[$171>>2] = $170;
+ $172 = $135 ^ $44;
+ $173 = ((($0)) + 376|0);
+ HEAP32[$173>>2] = $172;
+ $174 = $132 ^ $63;
+ $175 = ((($0)) + 380|0);
+ HEAP32[$175>>2] = $174;
+ $176 = $129 ^ $82;
+ $177 = ((($0)) + 384|0);
+ HEAP32[$177>>2] = $176;
+ $178 = $119 ^ $25;
+ $179 = ((($0)) + 388|0);
+ HEAP32[$179>>2] = $178;
+ $180 = $117 ^ $44;
+ $181 = ((($0)) + 392|0);
+ HEAP32[$181>>2] = $180;
+ $182 = $114 ^ $63;
+ $183 = ((($0)) + 396|0);
+ HEAP32[$183>>2] = $182;
+ $184 = $111 ^ $82;
+ $185 = ((($0)) + 400|0);
+ HEAP32[$185>>2] = $184;
+ $186 = $138 ^ $25;
+ $187 = ((($0)) + 404|0);
+ HEAP32[$187>>2] = $186;
+ $188 = $140 ^ $44;
+ $189 = ((($0)) + 408|0);
+ HEAP32[$189>>2] = $188;
+ $190 = $142 ^ $63;
+ $191 = ((($0)) + 412|0);
+ HEAP32[$191>>2] = $190;
+ $192 = $144 ^ $82;
+ $193 = ((($0)) + 416|0);
+ HEAP32[$193>>2] = $192;
+ $194 = $101 ^ $25;
+ $195 = ((($0)) + 420|0);
+ HEAP32[$195>>2] = $194;
+ $196 = $99 ^ $44;
+ $197 = ((($0)) + 424|0);
+ HEAP32[$197>>2] = $196;
+ $198 = $96 ^ $63;
+ $199 = ((($0)) + 428|0);
+ HEAP32[$199>>2] = $198;
+ $200 = $93 ^ $82;
+ $201 = ((($0)) + 432|0);
+ HEAP32[$201>>2] = $200;
+ $202 = $146 ^ $25;
+ $203 = ((($0)) + 436|0);
+ HEAP32[$203>>2] = $202;
+ $204 = $148 ^ $44;
+ $205 = ((($0)) + 440|0);
+ HEAP32[$205>>2] = $204;
+ $206 = $150 ^ $63;
+ $207 = ((($0)) + 444|0);
+ HEAP32[$207>>2] = $206;
+ $208 = $152 ^ $82;
+ $209 = ((($0)) + 448|0);
+ HEAP32[$209>>2] = $208;
+ $210 = $154 ^ $25;
+ $211 = ((($0)) + 452|0);
+ HEAP32[$211>>2] = $210;
+ $212 = $156 ^ $44;
+ $213 = ((($0)) + 456|0);
+ HEAP32[$213>>2] = $212;
+ $214 = $158 ^ $63;
+ $215 = ((($0)) + 460|0);
+ HEAP32[$215>>2] = $214;
+ $216 = $160 ^ $82;
+ $217 = ((($0)) + 464|0);
+ HEAP32[$217>>2] = $216;
+ $218 = $162 ^ $25;
+ $219 = ((($0)) + 468|0);
+ HEAP32[$219>>2] = $218;
+ $220 = $164 ^ $44;
+ $221 = ((($0)) + 472|0);
+ HEAP32[$221>>2] = $220;
+ $222 = $166 ^ $63;
+ $223 = ((($0)) + 476|0);
+ HEAP32[$223>>2] = $222;
+ $224 = $168 ^ $82;
+ $225 = ((($0)) + 480|0);
+ HEAP32[$225>>2] = $224;
+ return;
+}
+function _ghash_internal($0,$1,$2,$3) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ var $$0$i = 0, $$0$lcssa22 = 0, $$01017 = 0, $$01116 = 0, $$070$i = 0, $$sroa$044$0$i = 0, $$sroa$15$0$i = 0, $$sroa$22$0$i = 0, $$sroa$8$0$i = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0;
+ var $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0;
+ var $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0;
+ var $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0;
+ var $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0;
+ var $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0;
+ var $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0;
+ var $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0;
+ var $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0;
+ var $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, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0;
+ var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0;
+ var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0;
+ var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0;
+ var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $4 = sp;
+ $5 = ($3|0)==(0);
+ if ($5) {
+ $$0$lcssa22 = 0;$266 = 0;
+ $265 = (($266) + ($$0$lcssa22))|0;
+ STACKTOP = sp;return ($265|0);
+ }
+ $6 = $1;
+ $7 = ((($1)) + 4|0);
+ $8 = ((($4)) + 4|0);
+ $9 = ((($1)) + 8|0);
+ $10 = ((($4)) + 8|0);
+ $11 = ((($1)) + 12|0);
+ $12 = ((($4)) + 12|0);
+ $13 = ((($1)) + 1|0);
+ $14 = ((($4)) + 1|0);
+ $15 = ((($1)) + 2|0);
+ $16 = ((($4)) + 2|0);
+ $17 = ((($1)) + 3|0);
+ $18 = ((($4)) + 3|0);
+ $19 = ((($1)) + 5|0);
+ $20 = ((($4)) + 5|0);
+ $21 = ((($1)) + 6|0);
+ $22 = ((($4)) + 6|0);
+ $23 = ((($1)) + 7|0);
+ $24 = ((($4)) + 7|0);
+ $25 = ((($1)) + 9|0);
+ $26 = ((($4)) + 9|0);
+ $27 = ((($1)) + 10|0);
+ $28 = ((($4)) + 10|0);
+ $29 = ((($1)) + 11|0);
+ $30 = ((($4)) + 11|0);
+ $31 = ((($1)) + 13|0);
+ $32 = ((($4)) + 13|0);
+ $33 = ((($1)) + 14|0);
+ $34 = ((($4)) + 14|0);
+ $35 = ((($1)) + 15|0);
+ $36 = ((($4)) + 15|0);
+ $$01017 = $2;$$01116 = $3;
+ while(1) {
+ $37 = $$01017;
+ $38 = $37 | $6;
+ $39 = $38 & 3;
+ $40 = ($39|0)==(0);
+ if ($40) {
+ $41 = HEAP32[$1>>2]|0;
+ $42 = ((($$01017)) + 4|0);
+ $43 = HEAP32[$$01017>>2]|0;
+ $44 = $43 ^ $41;
+ HEAP32[$4>>2] = $44;
+ $45 = HEAP32[$7>>2]|0;
+ $46 = ((($$01017)) + 8|0);
+ $47 = HEAP32[$42>>2]|0;
+ $48 = $47 ^ $45;
+ HEAP32[$8>>2] = $48;
+ $49 = HEAP32[$9>>2]|0;
+ $50 = ((($$01017)) + 12|0);
+ $51 = HEAP32[$46>>2]|0;
+ $52 = $51 ^ $49;
+ HEAP32[$10>>2] = $52;
+ $53 = HEAP32[$11>>2]|0;
+ $54 = HEAP32[$50>>2]|0;
+ $55 = $54 ^ $53;
+ HEAP32[$12>>2] = $55;
+ $56 = $55 >>> 24;
+ $57 = $56&255;
+ $58 = $55 >>> 16;
+ $59 = $58&255;
+ $124 = $57;$132 = $59;
+ } else {
+ $60 = HEAP8[$1>>0]|0;
+ $61 = ((($$01017)) + 1|0);
+ $62 = HEAP8[$$01017>>0]|0;
+ $63 = $62 ^ $60;
+ HEAP8[$4>>0] = $63;
+ $64 = HEAP8[$13>>0]|0;
+ $65 = ((($$01017)) + 2|0);
+ $66 = HEAP8[$61>>0]|0;
+ $67 = $66 ^ $64;
+ HEAP8[$14>>0] = $67;
+ $68 = HEAP8[$15>>0]|0;
+ $69 = ((($$01017)) + 3|0);
+ $70 = HEAP8[$65>>0]|0;
+ $71 = $70 ^ $68;
+ HEAP8[$16>>0] = $71;
+ $72 = HEAP8[$17>>0]|0;
+ $73 = ((($$01017)) + 4|0);
+ $74 = HEAP8[$69>>0]|0;
+ $75 = $74 ^ $72;
+ HEAP8[$18>>0] = $75;
+ $76 = HEAP8[$7>>0]|0;
+ $77 = ((($$01017)) + 5|0);
+ $78 = HEAP8[$73>>0]|0;
+ $79 = $78 ^ $76;
+ HEAP8[$8>>0] = $79;
+ $80 = HEAP8[$19>>0]|0;
+ $81 = ((($$01017)) + 6|0);
+ $82 = HEAP8[$77>>0]|0;
+ $83 = $82 ^ $80;
+ HEAP8[$20>>0] = $83;
+ $84 = HEAP8[$21>>0]|0;
+ $85 = ((($$01017)) + 7|0);
+ $86 = HEAP8[$81>>0]|0;
+ $87 = $86 ^ $84;
+ HEAP8[$22>>0] = $87;
+ $88 = HEAP8[$23>>0]|0;
+ $89 = ((($$01017)) + 8|0);
+ $90 = HEAP8[$85>>0]|0;
+ $91 = $90 ^ $88;
+ HEAP8[$24>>0] = $91;
+ $92 = HEAP8[$9>>0]|0;
+ $93 = ((($$01017)) + 9|0);
+ $94 = HEAP8[$89>>0]|0;
+ $95 = $94 ^ $92;
+ HEAP8[$10>>0] = $95;
+ $96 = HEAP8[$25>>0]|0;
+ $97 = ((($$01017)) + 10|0);
+ $98 = HEAP8[$93>>0]|0;
+ $99 = $98 ^ $96;
+ HEAP8[$26>>0] = $99;
+ $100 = HEAP8[$27>>0]|0;
+ $101 = ((($$01017)) + 11|0);
+ $102 = HEAP8[$97>>0]|0;
+ $103 = $102 ^ $100;
+ HEAP8[$28>>0] = $103;
+ $104 = HEAP8[$29>>0]|0;
+ $105 = ((($$01017)) + 12|0);
+ $106 = HEAP8[$101>>0]|0;
+ $107 = $106 ^ $104;
+ HEAP8[$30>>0] = $107;
+ $108 = HEAP8[$11>>0]|0;
+ $109 = ((($$01017)) + 13|0);
+ $110 = HEAP8[$105>>0]|0;
+ $111 = $110 ^ $108;
+ HEAP8[$12>>0] = $111;
+ $112 = HEAP8[$31>>0]|0;
+ $113 = ((($$01017)) + 14|0);
+ $114 = HEAP8[$109>>0]|0;
+ $115 = $114 ^ $112;
+ HEAP8[$32>>0] = $115;
+ $116 = HEAP8[$33>>0]|0;
+ $117 = ((($$01017)) + 15|0);
+ $118 = HEAP8[$113>>0]|0;
+ $119 = $118 ^ $116;
+ HEAP8[$34>>0] = $119;
+ $120 = HEAP8[$35>>0]|0;
+ $121 = HEAP8[$117>>0]|0;
+ $122 = $121 ^ $120;
+ HEAP8[$36>>0] = $122;
+ $124 = $122;$132 = $119;
+ }
+ $123 = $124&255;
+ $125 = $123 << 2;
+ $126 = $125 & 60;
+ $127 = (((($0)) + 228|0) + ($126<<2)|0);
+ $128 = $123 >>> 4;
+ $129 = $128 << 2;
+ $130 = (((($0)) + 228|0) + ($129<<2)|0);
+ $131 = $132&255;
+ $133 = HEAP32[$127>>2]|0;
+ $134 = $133 >>> 4;
+ $135 = ((($127)) + 12|0);
+ $136 = HEAP32[$135>>2]|0;
+ $137 = $136 << 4;
+ $138 = $137 & 240;
+ $139 = (15696 + ($138<<1)|0);
+ $140 = HEAP16[$139>>1]|0;
+ $141 = $140&65535;
+ $142 = $141 << 16;
+ $143 = HEAP32[$130>>2]|0;
+ $144 = $143 ^ $134;
+ $145 = $144 ^ $142;
+ $146 = ((($127)) + 4|0);
+ $147 = HEAP32[$146>>2]|0;
+ $148 = $147 >>> 4;
+ $149 = $133 << 28;
+ $150 = $148 | $149;
+ $151 = ((($130)) + 4|0);
+ $152 = HEAP32[$151>>2]|0;
+ $153 = $150 ^ $152;
+ $154 = ((($127)) + 8|0);
+ $155 = HEAP32[$154>>2]|0;
+ $156 = $155 >>> 4;
+ $157 = $147 << 28;
+ $158 = $156 | $157;
+ $159 = ((($130)) + 8|0);
+ $160 = HEAP32[$159>>2]|0;
+ $161 = $158 ^ $160;
+ $162 = $136 >>> 4;
+ $163 = $155 << 28;
+ $164 = $163 | $162;
+ $165 = ((($130)) + 12|0);
+ $166 = HEAP32[$165>>2]|0;
+ $167 = $164 ^ $166;
+ $$0$i = 14;$$070$i = $131;$$sroa$044$0$i = $145;$$sroa$15$0$i = $161;$$sroa$22$0$i = $167;$$sroa$8$0$i = $153;
+ while(1) {
+ $168 = $$070$i << 2;
+ $169 = $168 & 60;
+ $170 = (((($0)) + 228|0) + ($169<<2)|0);
+ $171 = $$070$i >>> 4;
+ $172 = $171 << 2;
+ $173 = (((($0)) + 228|0) + ($172<<2)|0);
+ $174 = $$sroa$044$0$i >>> 8;
+ $175 = $$sroa$22$0$i & 255;
+ $176 = (15696 + ($175<<1)|0);
+ $177 = HEAP16[$176>>1]|0;
+ $178 = $177&65535;
+ $179 = $178 << 16;
+ $180 = HEAP32[$173>>2]|0;
+ $181 = $$sroa$044$0$i << 24;
+ $182 = $$sroa$8$0$i >>> 8;
+ $183 = $182 | $181;
+ $184 = ((($173)) + 4|0);
+ $185 = HEAP32[$184>>2]|0;
+ $186 = $185 ^ $183;
+ $187 = $$sroa$8$0$i << 24;
+ $188 = $$sroa$15$0$i >>> 8;
+ $189 = $188 | $187;
+ $190 = ((($173)) + 8|0);
+ $191 = HEAP32[$190>>2]|0;
+ $192 = $191 ^ $189;
+ $193 = $$sroa$15$0$i << 24;
+ $194 = $$sroa$22$0$i >>> 8;
+ $195 = $194 | $193;
+ $196 = ((($173)) + 12|0);
+ $197 = HEAP32[$196>>2]|0;
+ $198 = $197 ^ $195;
+ $199 = HEAP32[$170>>2]|0;
+ $200 = $199 >>> 4;
+ $201 = ((($170)) + 12|0);
+ $202 = HEAP32[$201>>2]|0;
+ $203 = $202 << 4;
+ $204 = $203 & 240;
+ $205 = (15696 + ($204<<1)|0);
+ $206 = HEAP16[$205>>1]|0;
+ $207 = $206&65535;
+ $208 = $207 << 16;
+ $209 = $180 ^ $174;
+ $210 = $209 ^ $179;
+ $211 = $210 ^ $200;
+ $212 = $208 ^ $211;
+ $213 = ((($170)) + 4|0);
+ $214 = HEAP32[$213>>2]|0;
+ $215 = $214 >>> 4;
+ $216 = $199 << 28;
+ $217 = $215 | $216;
+ $218 = $186 ^ $217;
+ $219 = ((($170)) + 8|0);
+ $220 = HEAP32[$219>>2]|0;
+ $221 = $220 >>> 4;
+ $222 = $214 << 28;
+ $223 = $221 | $222;
+ $224 = $192 ^ $223;
+ $225 = $202 >>> 4;
+ $226 = $220 << 28;
+ $227 = $226 | $225;
+ $228 = $198 ^ $227;
+ $229 = ($$0$i|0)==(0);
+ if ($229) {
+ break;
+ }
+ $230 = (($$0$i) + -1)|0;
+ $231 = (($4) + ($230)|0);
+ $232 = HEAP8[$231>>0]|0;
+ $233 = $232&255;
+ $$0$i = $230;$$070$i = $233;$$sroa$044$0$i = $212;$$sroa$15$0$i = $224;$$sroa$22$0$i = $228;$$sroa$8$0$i = $218;
+ }
+ $234 = $212 >>> 24;
+ $235 = $234&255;
+ HEAP8[$1>>0] = $235;
+ $236 = $212 >>> 16;
+ $237 = $236&255;
+ HEAP8[$13>>0] = $237;
+ $238 = $211 >>> 8;
+ $239 = $238&255;
+ HEAP8[$15>>0] = $239;
+ $240 = $211&255;
+ HEAP8[$17>>0] = $240;
+ $241 = $218 >>> 24;
+ $242 = $241&255;
+ HEAP8[$7>>0] = $242;
+ $243 = $218 >>> 16;
+ $244 = $243&255;
+ HEAP8[$19>>0] = $244;
+ $245 = $218 >>> 8;
+ $246 = $245&255;
+ HEAP8[$21>>0] = $246;
+ $247 = $218&255;
+ HEAP8[$23>>0] = $247;
+ $248 = $224 >>> 24;
+ $249 = $248&255;
+ HEAP8[$9>>0] = $249;
+ $250 = $224 >>> 16;
+ $251 = $250&255;
+ HEAP8[$25>>0] = $251;
+ $252 = $224 >>> 8;
+ $253 = $252&255;
+ HEAP8[$27>>0] = $253;
+ $254 = $224&255;
+ HEAP8[$29>>0] = $254;
+ $255 = $228 >>> 24;
+ $256 = $255&255;
+ HEAP8[$11>>0] = $256;
+ $257 = $228 >>> 16;
+ $258 = $257&255;
+ HEAP8[$31>>0] = $258;
+ $259 = $228 >>> 8;
+ $260 = $259&255;
+ HEAP8[$33>>0] = $260;
+ $261 = $228&255;
+ HEAP8[$35>>0] = $261;
+ $262 = ((($$01017)) + 16|0);
+ $263 = (($$01116) + -1)|0;
+ $264 = ($263|0)==(0);
+ if ($264) {
+ $$0$lcssa22 = 76;$266 = 20;
+ break;
+ } else {
+ $$01017 = $262;$$01116 = $263;
+ }
+ }
+ $265 = (($266) + ($$0$lcssa22))|0;
+ STACKTOP = sp;return ($265|0);
+}
+function __gcry_cipher_ocb_get_l($0,$1,$2,$3) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ var $$0$i12 = 0, $$011 = 0, $$013 = 0, $$phi$trans$insert = 0, $$phi$trans$insert60 = 0, $$phi$trans$insert62 = 0, $$phi$trans$insert64 = 0, $$phi$trans$insert66 = 0, $$phi$trans$insert68 = 0, $$phi$trans$insert70 = 0, $$phi$trans$insert72 = 0, $$phi$trans$insert74 = 0, $$phi$trans$insert76 = 0, $$phi$trans$insert78 = 0, $$phi$trans$insert80 = 0, $$phi$trans$insert82 = 0, $$phi$trans$insert84 = 0, $$phi$trans$insert86 = 0, $$pre = 0, $$pre$phi100Z2D = 0;
+ var $$pre$phi102Z2D = 0, $$pre$phi104Z2D = 0, $$pre$phi106Z2D = 0, $$pre$phi107Z2D = 0, $$pre$phi109Z2D = 0, $$pre$phi111Z2D = 0, $$pre$phi113Z2D = 0, $$pre$phi90Z2D = 0, $$pre$phi92Z2D = 0, $$pre$phi93Z2D = 0, $$pre$phi95Z2D = 0, $$pre$phi97Z2D = 0, $$pre$phi99Z2D = 0, $$pre$phiZ2D = 0, $$pre101 = 0, $$pre103 = 0, $$pre105 = 0, $$pre108 = 0, $$pre110 = 0, $$pre112 = 0;
+ var $$pre59 = 0, $$pre61 = 0, $$pre63 = 0, $$pre65 = 0, $$pre67 = 0, $$pre69 = 0, $$pre71 = 0, $$pre73 = 0, $$pre75 = 0, $$pre77 = 0, $$pre79 = 0, $$pre81 = 0, $$pre83 = 0, $$pre85 = 0, $$pre87 = 0, $$pre88 = 0, $$pre89 = 0, $$pre91 = 0, $$pre94 = 0, $$pre96 = 0;
+ var $$pre98 = 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, $116 = 0;
+ var $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, $134 = 0;
+ var $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, $152 = 0;
+ var $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, $170 = 0;
+ var $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, $189 = 0;
+ var $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0;
+ var $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, $224 = 0, $225 = 0;
+ var $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, $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, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0;
+ var $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, $279 = 0, $28 = 0;
+ var $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, $297 = 0, $298 = 0;
+ var $299 = 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, $314 = 0, $315 = 0, $316 = 0;
+ var $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, $332 = 0, $333 = 0, $334 = 0;
+ var $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, $350 = 0, $351 = 0, $352 = 0;
+ var $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0;
+ var $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 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, label = 0, sp = 0;
+ sp = STACKTOP;
+ $4 = ($2|0)==(0);
+ $5 = (0)==(0);
+ $6 = $4 & $5;
+ if ($6) {
+ $7 = (_llvm_cttz_i32(($3|0))|0);
+ $8 = (($7) + 32)|0;
+ $$0$i12 = $8;
+ } else {
+ $9 = (_llvm_cttz_i32(($2|0))|0);
+ $10 = ($9>>>0)<(16);
+ if ($10) {
+ $11 = ((($0)) + 160|0);
+ $12 = (($11) + ($9<<4)|0);
+ $$011 = $12;
+ return ($$011|0);
+ } else {
+ $$0$i12 = $9;
+ }
+ }
+ $13 = ((($0)) + 160|0);
+ $14 = ((($13)) + 240|0);
+ $15 = ($14|0)==($1|0);
+ do {
+ if ($15) {
+ $$pre = HEAP8[$1>>0]|0;
+ $$phi$trans$insert = ((($1)) + 1|0);
+ $$pre59 = HEAP8[$$phi$trans$insert>>0]|0;
+ $$phi$trans$insert60 = ((($1)) + 2|0);
+ $$pre61 = HEAP8[$$phi$trans$insert60>>0]|0;
+ $$phi$trans$insert62 = ((($1)) + 3|0);
+ $$pre63 = HEAP8[$$phi$trans$insert62>>0]|0;
+ $$phi$trans$insert64 = ((($1)) + 4|0);
+ $$pre65 = HEAP8[$$phi$trans$insert64>>0]|0;
+ $$phi$trans$insert66 = ((($1)) + 5|0);
+ $$pre67 = HEAP8[$$phi$trans$insert66>>0]|0;
+ $$phi$trans$insert68 = ((($1)) + 6|0);
+ $$pre69 = HEAP8[$$phi$trans$insert68>>0]|0;
+ $$phi$trans$insert70 = ((($1)) + 7|0);
+ $$pre71 = HEAP8[$$phi$trans$insert70>>0]|0;
+ $$phi$trans$insert72 = ((($1)) + 8|0);
+ $$pre73 = HEAP8[$$phi$trans$insert72>>0]|0;
+ $$phi$trans$insert74 = ((($1)) + 9|0);
+ $$pre75 = HEAP8[$$phi$trans$insert74>>0]|0;
+ $$phi$trans$insert76 = ((($1)) + 10|0);
+ $$pre77 = HEAP8[$$phi$trans$insert76>>0]|0;
+ $$phi$trans$insert78 = ((($1)) + 11|0);
+ $$pre79 = HEAP8[$$phi$trans$insert78>>0]|0;
+ $$phi$trans$insert80 = ((($1)) + 12|0);
+ $$pre81 = HEAP8[$$phi$trans$insert80>>0]|0;
+ $$phi$trans$insert82 = ((($1)) + 13|0);
+ $$pre83 = HEAP8[$$phi$trans$insert82>>0]|0;
+ $$phi$trans$insert84 = ((($1)) + 14|0);
+ $$pre85 = HEAP8[$$phi$trans$insert84>>0]|0;
+ $$phi$trans$insert86 = ((($1)) + 15|0);
+ $$pre87 = HEAP8[$$phi$trans$insert86>>0]|0;
+ $$pre$phi100Z2D = $$phi$trans$insert72;$$pre$phi102Z2D = $$phi$trans$insert74;$$pre$phi104Z2D = $$phi$trans$insert76;$$pre$phi106Z2D = $$phi$trans$insert78;$$pre$phi107Z2D = $$phi$trans$insert80;$$pre$phi109Z2D = $$phi$trans$insert82;$$pre$phi111Z2D = $$phi$trans$insert84;$$pre$phi113Z2D = $$phi$trans$insert86;$$pre$phi90Z2D = $$phi$trans$insert60;$$pre$phi92Z2D = $$phi$trans$insert62;$$pre$phi93Z2D = $$phi$trans$insert64;$$pre$phi95Z2D = $$phi$trans$insert66;$$pre$phi97Z2D = $$phi$trans$insert68;$$pre$phi99Z2D = $$phi$trans$insert70;$$pre$phiZ2D = $$phi$trans$insert;$106 = $$pre;$110 = $$pre59;$116 = $$pre61;$122 = $$pre63;$125 = $$pre65;$131 = $$pre67;$137 = $$pre69;$143 = $$pre71;$146 = $$pre73;$150 = $$pre75;$156 = $$pre77;$162 = $$pre79;$165 = $$pre81;$171 = $$pre83;$177 = $$pre85;$183 = $$pre87;
+ } else {
+ $16 = $1;
+ $17 = $14;
+ $18 = $17 | $16;
+ $19 = $18 & 3;
+ $20 = ($19|0)==(0);
+ if ($20) {
+ $21 = ((($13)) + 244|0);
+ $22 = HEAP32[$14>>2]|0;
+ $23 = ((($1)) + 4|0);
+ HEAP32[$1>>2] = $22;
+ $24 = ((($13)) + 248|0);
+ $25 = HEAP32[$21>>2]|0;
+ $26 = ((($1)) + 8|0);
+ HEAP32[$23>>2] = $25;
+ $27 = ((($13)) + 252|0);
+ $28 = HEAP32[$24>>2]|0;
+ $29 = ((($1)) + 12|0);
+ HEAP32[$26>>2] = $28;
+ $30 = HEAP32[$27>>2]|0;
+ HEAP32[$29>>2] = $30;
+ $31 = $22&255;
+ $32 = $22 >>> 8;
+ $33 = $32&255;
+ $34 = $22 >>> 16;
+ $35 = $34&255;
+ $36 = $22 >>> 24;
+ $37 = $36&255;
+ $38 = $25&255;
+ $39 = $25 >>> 8;
+ $40 = $39&255;
+ $41 = $25 >>> 16;
+ $42 = $41&255;
+ $43 = $25 >>> 24;
+ $44 = $43&255;
+ $45 = $28&255;
+ $46 = $28 >>> 8;
+ $47 = $46&255;
+ $48 = $28 >>> 16;
+ $49 = $48&255;
+ $50 = $28 >>> 24;
+ $51 = $50&255;
+ $52 = $30&255;
+ $53 = $30 >>> 8;
+ $54 = $53&255;
+ $55 = $30 >>> 16;
+ $56 = $55&255;
+ $57 = $30 >>> 24;
+ $58 = $57&255;
+ $$pre88 = ((($1)) + 1|0);
+ $$pre89 = ((($1)) + 2|0);
+ $$pre91 = ((($1)) + 3|0);
+ $$pre94 = ((($1)) + 5|0);
+ $$pre96 = ((($1)) + 6|0);
+ $$pre98 = ((($1)) + 7|0);
+ $$pre101 = ((($1)) + 9|0);
+ $$pre103 = ((($1)) + 10|0);
+ $$pre105 = ((($1)) + 11|0);
+ $$pre108 = ((($1)) + 13|0);
+ $$pre110 = ((($1)) + 14|0);
+ $$pre112 = ((($1)) + 15|0);
+ $$pre$phi100Z2D = $26;$$pre$phi102Z2D = $$pre101;$$pre$phi104Z2D = $$pre103;$$pre$phi106Z2D = $$pre105;$$pre$phi107Z2D = $29;$$pre$phi109Z2D = $$pre108;$$pre$phi111Z2D = $$pre110;$$pre$phi113Z2D = $$pre112;$$pre$phi90Z2D = $$pre89;$$pre$phi92Z2D = $$pre91;$$pre$phi93Z2D = $23;$$pre$phi95Z2D = $$pre94;$$pre$phi97Z2D = $$pre96;$$pre$phi99Z2D = $$pre98;$$pre$phiZ2D = $$pre88;$106 = $31;$110 = $33;$116 = $35;$122 = $37;$125 = $38;$131 = $40;$137 = $42;$143 = $44;$146 = $45;$150 = $47;$156 = $49;$162 = $51;$165 = $52;$171 = $54;$177 = $56;$183 = $58;
+ break;
+ } else {
+ $59 = ((($14)) + 1|0);
+ $60 = HEAP8[$14>>0]|0;
+ $61 = ((($1)) + 1|0);
+ HEAP8[$1>>0] = $60;
+ $62 = ((($14)) + 2|0);
+ $63 = HEAP8[$59>>0]|0;
+ $64 = ((($1)) + 2|0);
+ HEAP8[$61>>0] = $63;
+ $65 = ((($14)) + 3|0);
+ $66 = HEAP8[$62>>0]|0;
+ $67 = ((($1)) + 3|0);
+ HEAP8[$64>>0] = $66;
+ $68 = ((($13)) + 244|0);
+ $69 = HEAP8[$65>>0]|0;
+ $70 = ((($1)) + 4|0);
+ HEAP8[$67>>0] = $69;
+ $71 = ((($14)) + 5|0);
+ $72 = HEAP8[$68>>0]|0;
+ $73 = ((($1)) + 5|0);
+ HEAP8[$70>>0] = $72;
+ $74 = ((($14)) + 6|0);
+ $75 = HEAP8[$71>>0]|0;
+ $76 = ((($1)) + 6|0);
+ HEAP8[$73>>0] = $75;
+ $77 = ((($14)) + 7|0);
+ $78 = HEAP8[$74>>0]|0;
+ $79 = ((($1)) + 7|0);
+ HEAP8[$76>>0] = $78;
+ $80 = ((($13)) + 248|0);
+ $81 = HEAP8[$77>>0]|0;
+ $82 = ((($1)) + 8|0);
+ HEAP8[$79>>0] = $81;
+ $83 = ((($14)) + 9|0);
+ $84 = HEAP8[$80>>0]|0;
+ $85 = ((($1)) + 9|0);
+ HEAP8[$82>>0] = $84;
+ $86 = ((($14)) + 10|0);
+ $87 = HEAP8[$83>>0]|0;
+ $88 = ((($1)) + 10|0);
+ HEAP8[$85>>0] = $87;
+ $89 = ((($14)) + 11|0);
+ $90 = HEAP8[$86>>0]|0;
+ $91 = ((($1)) + 11|0);
+ HEAP8[$88>>0] = $90;
+ $92 = ((($13)) + 252|0);
+ $93 = HEAP8[$89>>0]|0;
+ $94 = ((($1)) + 12|0);
+ HEAP8[$91>>0] = $93;
+ $95 = ((($14)) + 13|0);
+ $96 = HEAP8[$92>>0]|0;
+ $97 = ((($1)) + 13|0);
+ HEAP8[$94>>0] = $96;
+ $98 = ((($14)) + 14|0);
+ $99 = HEAP8[$95>>0]|0;
+ $100 = ((($1)) + 14|0);
+ HEAP8[$97>>0] = $99;
+ $101 = ((($14)) + 15|0);
+ $102 = HEAP8[$98>>0]|0;
+ $103 = ((($1)) + 15|0);
+ HEAP8[$100>>0] = $102;
+ $104 = HEAP8[$101>>0]|0;
+ HEAP8[$103>>0] = $104;
+ $$pre$phi100Z2D = $82;$$pre$phi102Z2D = $85;$$pre$phi104Z2D = $88;$$pre$phi106Z2D = $91;$$pre$phi107Z2D = $94;$$pre$phi109Z2D = $97;$$pre$phi111Z2D = $100;$$pre$phi113Z2D = $103;$$pre$phi90Z2D = $64;$$pre$phi92Z2D = $67;$$pre$phi93Z2D = $70;$$pre$phi95Z2D = $73;$$pre$phi97Z2D = $76;$$pre$phi99Z2D = $79;$$pre$phiZ2D = $61;$106 = $60;$110 = $63;$116 = $66;$122 = $69;$125 = $72;$131 = $75;$137 = $78;$143 = $81;$146 = $84;$150 = $87;$156 = $90;$162 = $93;$165 = $96;$171 = $99;$177 = $102;$183 = $104;
+ break;
+ }
+ }
+ } while(0);
+ $105 = $106&255;
+ $107 = (_bitshift64Shl(($105|0),0,56)|0);
+ $108 = tempRet0;
+ $109 = $110&255;
+ $111 = (_bitshift64Shl(($109|0),0,48)|0);
+ $112 = tempRet0;
+ $113 = $111 | $107;
+ $114 = $112 | $108;
+ $115 = $116&255;
+ $117 = (_bitshift64Shl(($115|0),0,40)|0);
+ $118 = tempRet0;
+ $119 = $113 | $117;
+ $120 = $114 | $118;
+ $121 = $122&255;
+ $123 = $120 | $121;
+ $124 = $125&255;
+ $126 = (_bitshift64Shl(($124|0),0,24)|0);
+ $127 = tempRet0;
+ $128 = $119 | $126;
+ $129 = $123 | $127;
+ $130 = $131&255;
+ $132 = (_bitshift64Shl(($130|0),0,16)|0);
+ $133 = tempRet0;
+ $134 = $128 | $132;
+ $135 = $129 | $133;
+ $136 = $137&255;
+ $138 = (_bitshift64Shl(($136|0),0,8)|0);
+ $139 = tempRet0;
+ $140 = $134 | $138;
+ $141 = $135 | $139;
+ $142 = $143&255;
+ $144 = $140 | $142;
+ $145 = $146&255;
+ $147 = (_bitshift64Shl(($145|0),0,56)|0);
+ $148 = tempRet0;
+ $149 = $150&255;
+ $151 = (_bitshift64Shl(($149|0),0,48)|0);
+ $152 = tempRet0;
+ $153 = $151 | $147;
+ $154 = $152 | $148;
+ $155 = $156&255;
+ $157 = (_bitshift64Shl(($155|0),0,40)|0);
+ $158 = tempRet0;
+ $159 = $153 | $157;
+ $160 = $154 | $158;
+ $161 = $162&255;
+ $163 = $160 | $161;
+ $164 = $165&255;
+ $166 = (_bitshift64Shl(($164|0),0,24)|0);
+ $167 = tempRet0;
+ $168 = $159 | $166;
+ $169 = $163 | $167;
+ $170 = $171&255;
+ $172 = (_bitshift64Shl(($170|0),0,16)|0);
+ $173 = tempRet0;
+ $174 = $168 | $172;
+ $175 = $169 | $173;
+ $176 = $177&255;
+ $178 = (_bitshift64Shl(($176|0),0,8)|0);
+ $179 = tempRet0;
+ $180 = $174 | $178;
+ $181 = $175 | $179;
+ $182 = $183&255;
+ $184 = $180 | $182;
+ $185 = (_bitshift64Ashr(($107|0),($108|0),63)|0);
+ $186 = tempRet0;
+ $187 = (_bitshift64Shl(($144|0),($141|0),1)|0);
+ $188 = tempRet0;
+ $189 = (_bitshift64Lshr(($145|0),0,7)|0);
+ $190 = tempRet0;
+ $191 = $187 | $189;
+ $188 | $190;
+ $192 = (_bitshift64Shl(($184|0),($181|0),1)|0);
+ $193 = tempRet0;
+ $194 = $185 & 135;
+ $195 = $192 ^ $194;
+ $196 = (_bitshift64Lshr(($113|0),($114|0),55)|0);
+ $197 = tempRet0;
+ $198 = $196&255;
+ HEAP8[$1>>0] = $198;
+ $199 = (_bitshift64Lshr(($119|0),($120|0),47)|0);
+ $200 = tempRet0;
+ $201 = $199&255;
+ HEAP8[$$pre$phiZ2D>>0] = $201;
+ $202 = (_bitshift64Lshr(($119|0),($123|0),39)|0);
+ $203 = tempRet0;
+ $204 = $202&255;
+ HEAP8[$$pre$phi90Z2D>>0] = $204;
+ $205 = (_bitshift64Lshr(($128|0),($129|0),31)|0);
+ $206 = tempRet0;
+ $207 = $205&255;
+ HEAP8[$$pre$phi92Z2D>>0] = $207;
+ $208 = (_bitshift64Lshr(($134|0),($135|0),23)|0);
+ $209 = tempRet0;
+ $210 = $208&255;
+ HEAP8[$$pre$phi93Z2D>>0] = $210;
+ $211 = (_bitshift64Lshr(($140|0),($141|0),15)|0);
+ $212 = tempRet0;
+ $213 = $211&255;
+ HEAP8[$$pre$phi95Z2D>>0] = $213;
+ $214 = (_bitshift64Lshr(($144|0),($141|0),7)|0);
+ $215 = tempRet0;
+ $216 = $214&255;
+ HEAP8[$$pre$phi97Z2D>>0] = $216;
+ $217 = $191&255;
+ HEAP8[$$pre$phi99Z2D>>0] = $217;
+ $218 = (_bitshift64Lshr(($153|0),($154|0),55)|0);
+ $219 = tempRet0;
+ $220 = $218&255;
+ HEAP8[$$pre$phi100Z2D>>0] = $220;
+ $221 = (_bitshift64Lshr(($159|0),($160|0),47)|0);
+ $222 = tempRet0;
+ $223 = $221&255;
+ HEAP8[$$pre$phi102Z2D>>0] = $223;
+ $224 = (_bitshift64Lshr(($159|0),($163|0),39)|0);
+ $225 = tempRet0;
+ $226 = $224&255;
+ HEAP8[$$pre$phi104Z2D>>0] = $226;
+ $227 = (_bitshift64Lshr(($168|0),($169|0),31)|0);
+ $228 = tempRet0;
+ $229 = $227&255;
+ HEAP8[$$pre$phi106Z2D>>0] = $229;
+ $230 = (_bitshift64Lshr(($174|0),($175|0),23)|0);
+ $231 = tempRet0;
+ $232 = $230&255;
+ HEAP8[$$pre$phi107Z2D>>0] = $232;
+ $233 = (_bitshift64Lshr(($180|0),($181|0),15)|0);
+ $234 = tempRet0;
+ $235 = $233&255;
+ HEAP8[$$pre$phi109Z2D>>0] = $235;
+ $236 = (_bitshift64Lshr(($184|0),($181|0),7)|0);
+ $237 = tempRet0;
+ $238 = $236&255;
+ HEAP8[$$pre$phi111Z2D>>0] = $238;
+ $239 = $195&255;
+ HEAP8[$$pre$phi113Z2D>>0] = $239;
+ $240 = (($$0$i12) + -16)|0;
+ $241 = ($240|0)==(0);
+ if ($241) {
+ $$011 = $1;
+ return ($$011|0);
+ }
+ $$013 = $240;$243 = $198;$247 = $201;$253 = $204;$259 = $207;$262 = $210;$268 = $213;$274 = $216;$280 = $217;$283 = $220;$287 = $223;$293 = $226;$299 = $229;$302 = $232;$308 = $235;$314 = $238;$320 = $239;
+ while(1) {
+ $242 = $243&255;
+ $244 = (_bitshift64Shl(($242|0),0,56)|0);
+ $245 = tempRet0;
+ $246 = $247&255;
+ $248 = (_bitshift64Shl(($246|0),0,48)|0);
+ $249 = tempRet0;
+ $250 = $248 | $244;
+ $251 = $249 | $245;
+ $252 = $253&255;
+ $254 = (_bitshift64Shl(($252|0),0,40)|0);
+ $255 = tempRet0;
+ $256 = $250 | $254;
+ $257 = $251 | $255;
+ $258 = $259&255;
+ $260 = $257 | $258;
+ $261 = $262&255;
+ $263 = (_bitshift64Shl(($261|0),0,24)|0);
+ $264 = tempRet0;
+ $265 = $256 | $263;
+ $266 = $260 | $264;
+ $267 = $268&255;
+ $269 = (_bitshift64Shl(($267|0),0,16)|0);
+ $270 = tempRet0;
+ $271 = $265 | $269;
+ $272 = $266 | $270;
+ $273 = $274&255;
+ $275 = (_bitshift64Shl(($273|0),0,8)|0);
+ $276 = tempRet0;
+ $277 = $271 | $275;
+ $278 = $272 | $276;
+ $279 = $280&255;
+ $281 = $277 | $279;
+ $282 = $283&255;
+ $284 = (_bitshift64Shl(($282|0),0,56)|0);
+ $285 = tempRet0;
+ $286 = $287&255;
+ $288 = (_bitshift64Shl(($286|0),0,48)|0);
+ $289 = tempRet0;
+ $290 = $288 | $284;
+ $291 = $289 | $285;
+ $292 = $293&255;
+ $294 = (_bitshift64Shl(($292|0),0,40)|0);
+ $295 = tempRet0;
+ $296 = $290 | $294;
+ $297 = $291 | $295;
+ $298 = $299&255;
+ $300 = $297 | $298;
+ $301 = $302&255;
+ $303 = (_bitshift64Shl(($301|0),0,24)|0);
+ $304 = tempRet0;
+ $305 = $296 | $303;
+ $306 = $300 | $304;
+ $307 = $308&255;
+ $309 = (_bitshift64Shl(($307|0),0,16)|0);
+ $310 = tempRet0;
+ $311 = $305 | $309;
+ $312 = $306 | $310;
+ $313 = $314&255;
+ $315 = (_bitshift64Shl(($313|0),0,8)|0);
+ $316 = tempRet0;
+ $317 = $311 | $315;
+ $318 = $312 | $316;
+ $319 = $320&255;
+ $321 = $317 | $319;
+ $322 = (_bitshift64Ashr(($244|0),($245|0),63)|0);
+ $323 = tempRet0;
+ $324 = (_bitshift64Shl(($281|0),($278|0),1)|0);
+ $325 = tempRet0;
+ $326 = (_bitshift64Lshr(($282|0),0,7)|0);
+ $327 = tempRet0;
+ $328 = $324 | $326;
+ $325 | $327;
+ $329 = (_bitshift64Shl(($321|0),($318|0),1)|0);
+ $330 = tempRet0;
+ $331 = $322 & 135;
+ $332 = $329 ^ $331;
+ $333 = (_bitshift64Lshr(($250|0),($251|0),55)|0);
+ $334 = tempRet0;
+ $335 = $333&255;
+ $336 = (_bitshift64Lshr(($256|0),($257|0),47)|0);
+ $337 = tempRet0;
+ $338 = $336&255;
+ $339 = (_bitshift64Lshr(($256|0),($260|0),39)|0);
+ $340 = tempRet0;
+ $341 = $339&255;
+ $342 = (_bitshift64Lshr(($265|0),($266|0),31)|0);
+ $343 = tempRet0;
+ $344 = $342&255;
+ $345 = (_bitshift64Lshr(($271|0),($272|0),23)|0);
+ $346 = tempRet0;
+ $347 = $345&255;
+ $348 = (_bitshift64Lshr(($277|0),($278|0),15)|0);
+ $349 = tempRet0;
+ $350 = $348&255;
+ $351 = (_bitshift64Lshr(($281|0),($278|0),7)|0);
+ $352 = tempRet0;
+ $353 = $351&255;
+ $354 = $328&255;
+ $355 = (_bitshift64Lshr(($290|0),($291|0),55)|0);
+ $356 = tempRet0;
+ $357 = $355&255;
+ $358 = (_bitshift64Lshr(($296|0),($297|0),47)|0);
+ $359 = tempRet0;
+ $360 = $358&255;
+ $361 = (_bitshift64Lshr(($296|0),($300|0),39)|0);
+ $362 = tempRet0;
+ $363 = $361&255;
+ $364 = (_bitshift64Lshr(($305|0),($306|0),31)|0);
+ $365 = tempRet0;
+ $366 = $364&255;
+ $367 = (_bitshift64Lshr(($311|0),($312|0),23)|0);
+ $368 = tempRet0;
+ $369 = $367&255;
+ $370 = (_bitshift64Lshr(($317|0),($318|0),15)|0);
+ $371 = tempRet0;
+ $372 = $370&255;
+ $373 = (_bitshift64Lshr(($321|0),($318|0),7)|0);
+ $374 = tempRet0;
+ $375 = $373&255;
+ $376 = $332&255;
+ $377 = (($$013) + -1)|0;
+ $378 = ($377|0)==(0);
+ if ($378) {
+ break;
+ } else {
+ $$013 = $377;$243 = $335;$247 = $338;$253 = $341;$259 = $344;$262 = $347;$268 = $350;$274 = $353;$280 = $354;$283 = $357;$287 = $360;$293 = $363;$299 = $366;$302 = $369;$308 = $372;$314 = $375;$320 = $376;
+ }
+ }
+ HEAP8[$1>>0] = $335;
+ HEAP8[$$pre$phiZ2D>>0] = $338;
+ HEAP8[$$pre$phi90Z2D>>0] = $341;
+ HEAP8[$$pre$phi92Z2D>>0] = $344;
+ HEAP8[$$pre$phi93Z2D>>0] = $347;
+ HEAP8[$$pre$phi95Z2D>>0] = $350;
+ HEAP8[$$pre$phi97Z2D>>0] = $353;
+ HEAP8[$$pre$phi99Z2D>>0] = $354;
+ HEAP8[$$pre$phi100Z2D>>0] = $357;
+ HEAP8[$$pre$phi102Z2D>>0] = $360;
+ HEAP8[$$pre$phi104Z2D>>0] = $363;
+ HEAP8[$$pre$phi106Z2D>>0] = $366;
+ HEAP8[$$pre$phi107Z2D>>0] = $369;
+ HEAP8[$$pre$phi109Z2D>>0] = $372;
+ HEAP8[$$pre$phi111Z2D>>0] = $375;
+ HEAP8[$$pre$phi113Z2D>>0] = $376;
+ $$011 = $1;
+ return ($$011|0);
+}
+function __gcry_cipher_ocb_set_nonce($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$0 = 0, $$0121179 = 0, $$02434$i146 = 0, $$02533$i147 = 0, $$026$i = 0, $$028$i = 0, $$035$i145 = 0, $$1$i149 = 0, $$12731$i = 0, $$12930$i = 0, $$232$i = 0, $$phi$trans$insert = 0, $$phi$trans$insert193 = 0, $$phi$trans$insert195 = 0, $$phi$trans$insert197 = 0, $$phi$trans$insert199 = 0, $$phi$trans$insert201 = 0, $$phi$trans$insert203 = 0, $$phi$trans$insert205 = 0, $$phi$trans$insert207 = 0;
+ var $$phi$trans$insert209 = 0, $$phi$trans$insert211 = 0, $$phi$trans$insert213 = 0, $$pre = 0, $$pre$phi217Z2D = 0, $$pre$phi219Z2D = 0, $$pre$phi220Z2D = 0, $$pre$phi222Z2D = 0, $$pre$phi224Z2D = 0, $$pre$phi226Z2D = 0, $$pre$phi227Z2D = 0, $$pre$phi229Z2D = 0, $$pre$phi231Z2D = 0, $$pre$phi233Z2D = 0, $$pre$phi234Z2D = 0, $$pre$phi236Z2D = 0, $$pre$phi238Z2D = 0, $$pre$phi240Z2D = 0, $$pre$phi242Z2D = 0, $$pre$phi244Z2D = 0;
+ var $$pre$phi246Z2D = 0, $$pre$phi249Z2D = 0, $$pre$phi251Z2D = 0, $$pre$phi253Z2D = 0, $$pre$phi255Z2D = 0, $$pre$phi258Z2D = 0, $$pre$phi260Z2D = 0, $$pre$phi262Z2D = 0, $$pre$phi264Z2D = 0, $$pre$phi267Z2D = 0, $$pre$phi269Z2D = 0, $$pre$phi271Z2D = 0, $$pre$phi273Z2D = 0, $$pre$phi274Z2D = 0, $$pre$phi275Z2D = 0, $$pre$phi276Z2D = 0, $$pre$phi277Z2D = 0, $$pre$phi278Z2D = 0, $$pre$phi279Z2D = 0, $$pre$phi280Z2D = 0;
+ var $$pre$phi281Z2D = 0, $$pre$phi282Z2D = 0, $$pre$phi283Z2D = 0, $$pre$phi284Z2D = 0, $$pre$phi285Z2D = 0, $$pre$phi286Z2D = 0, $$pre$phi287Z2D = 0, $$pre$phi288Z2D = 0, $$pre$phiZ2D = 0, $$pre194 = 0, $$pre196 = 0, $$pre198 = 0, $$pre200 = 0, $$pre202 = 0, $$pre204 = 0, $$pre206 = 0, $$pre208 = 0, $$pre210 = 0, $$pre212 = 0, $$pre214 = 0;
+ var $$pre215 = 0, $$pre216 = 0, $$pre218 = 0, $$pre221 = 0, $$pre223 = 0, $$pre225 = 0, $$pre228 = 0, $$pre230 = 0, $$pre232 = 0, $$pre235 = 0, $$pre237 = 0, $$pre239 = 0, $$pre241 = 0, $$pre243 = 0, $$pre245 = 0, $$pre250 = 0, $$pre252 = 0, $$pre254 = 0, $$pre259 = 0, $$pre261 = 0;
+ var $$pre263 = 0, $$pre268 = 0, $$pre270 = 0, $$pre272 = 0, $$sink = 0, $$sink191 = 0, $$sink192 = 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;
+ var $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0;
+ var $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0;
+ var $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0;
+ var $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0;
+ var $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0;
+ var $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0;
+ var $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0;
+ var $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0;
+ var $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0;
+ var $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0;
+ var $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0;
+ var $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0;
+ var $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0;
+ var $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0;
+ var $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0;
+ var $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0;
+ var $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0;
+ var $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0;
+ var $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0;
+ var $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0;
+ var $473 = 0, $474 = 0, $475 = 0, $476 = 0, $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;
+ var $491 = 0, $492 = 0, $493 = 0, $494 = 0, $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;
+ var $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0;
+ var $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $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;
+ var $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0;
+ var $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $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;
+ var $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0;
+ var $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $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;
+ var $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0;
+ var $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0;
+ var $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0;
+ var $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0;
+ var $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0;
+ var $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0;
+ var $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0;
+ var $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0;
+ var $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0;
+ var $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0;
+ var $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0;
+ var $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0;
+ var $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0;
+ var $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0;
+ var $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $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;
+ var $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0;
+ var $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $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;
+ var $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0, $940 = 0;
+ var $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $or$cond$i = 0, $scevgep$i143 = 0, $scevgep44$i144 = 0, dest = 0, label = 0, sp = 0;
+ var stop = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
+ $3 = sp + 32|0;
+ $4 = sp;
+ $5 = ((($0)) + 56|0);
+ $6 = HEAP8[$5>>0]|0;
+ $7 = $6 & 1;
+ $8 = ($7<<24>>24)==(0);
+ if ($8) {
+ $$0 = 156;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $9 = ((($0)) + 128|0);
+ $10 = ((($0)) + 480|0);
+ $11 = HEAP8[$10>>0]|0;
+ switch ($11<<24>>24) {
+ case 16: case 12: case 8: {
+ break;
+ }
+ default: {
+ $$0 = 59;
+ STACKTOP = sp;return ($$0|0);
+ }
+ }
+ $12 = ((($0)) + 12|0);
+ $13 = HEAP32[$12>>2]|0;
+ $14 = ((($13)) + 20|0);
+ $15 = HEAP32[$14>>2]|0;
+ $16 = ($15|0)==(16);
+ if (!($16)) {
+ $$0 = 12;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $17 = ($1|0)==(0|0);
+ if ($17) {
+ $$0 = 45;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $18 = $2 & -8;
+ $19 = ($18|0)==(8);
+ if (!($19)) {
+ $$0 = 139;
+ STACKTOP = sp;return ($$0|0);
+ }
+ ;HEAP32[$3>>2]=0|0;HEAP32[$3+4>>2]=0|0;HEAP32[$3+8>>2]=0|0;HEAP32[$3+12>>2]=0|0;
+ $20 = ((($13)) + 36|0);
+ $21 = HEAP32[$20>>2]|0;
+ $22 = ((($0)) + 496|0);
+ $23 = (FUNCTION_TABLE_iiii[$21 & 127]($22,$9,$3)|0);
+ $24 = ((($0)) + 144|0);
+ $25 = $24;
+ $26 = $9;
+ $27 = $26 | $25;
+ $28 = $27 & 3;
+ $29 = ($28|0)==(0);
+ if ($29) {
+ $30 = ((($9)) + 4|0);
+ $31 = HEAP32[$9>>2]|0;
+ $32 = ((($0)) + 148|0);
+ HEAP32[$24>>2] = $31;
+ $33 = ((($0)) + 136|0);
+ $34 = HEAP32[$30>>2]|0;
+ $35 = ((($0)) + 152|0);
+ HEAP32[$32>>2] = $34;
+ $36 = ((($0)) + 140|0);
+ $37 = HEAP32[$33>>2]|0;
+ $38 = ((($0)) + 156|0);
+ HEAP32[$35>>2] = $37;
+ $39 = HEAP32[$36>>2]|0;
+ HEAP32[$38>>2] = $39;
+ $40 = $31&255;
+ $41 = $31 >>> 8;
+ $42 = $41&255;
+ $43 = $31 >>> 16;
+ $44 = $43&255;
+ $45 = $31 >>> 24;
+ $46 = $45&255;
+ $47 = $34&255;
+ $48 = $34 >>> 8;
+ $49 = $48&255;
+ $50 = $34 >>> 16;
+ $51 = $50&255;
+ $52 = $34 >>> 24;
+ $53 = $52&255;
+ $54 = $37&255;
+ $55 = $37 >>> 8;
+ $56 = $55&255;
+ $57 = $37 >>> 16;
+ $58 = $57&255;
+ $59 = $37 >>> 24;
+ $60 = $59&255;
+ $61 = $39&255;
+ $62 = $39 >>> 8;
+ $63 = $62&255;
+ $64 = $39 >>> 16;
+ $65 = $64&255;
+ $66 = $39 >>> 24;
+ $67 = $66&255;
+ $$pre215 = ((($0)) + 145|0);
+ $$pre216 = ((($0)) + 146|0);
+ $$pre218 = ((($0)) + 147|0);
+ $$pre221 = ((($0)) + 149|0);
+ $$pre223 = ((($0)) + 150|0);
+ $$pre225 = ((($0)) + 151|0);
+ $$pre228 = ((($0)) + 153|0);
+ $$pre230 = ((($0)) + 154|0);
+ $$pre232 = ((($0)) + 155|0);
+ $$pre235 = ((($0)) + 157|0);
+ $$pre237 = ((($0)) + 158|0);
+ $$pre239 = ((($0)) + 159|0);
+ $$pre$phi217Z2D = $$pre216;$$pre$phi219Z2D = $$pre218;$$pre$phi220Z2D = $32;$$pre$phi222Z2D = $$pre221;$$pre$phi224Z2D = $$pre223;$$pre$phi226Z2D = $$pre225;$$pre$phi227Z2D = $35;$$pre$phi229Z2D = $$pre228;$$pre$phi231Z2D = $$pre230;$$pre$phi233Z2D = $$pre232;$$pre$phi234Z2D = $38;$$pre$phi236Z2D = $$pre235;$$pre$phi238Z2D = $$pre237;$$pre$phi240Z2D = $$pre239;$$pre$phiZ2D = $$pre215;$115 = $40;$119 = $42;$125 = $44;$131 = $46;$134 = $47;$140 = $49;$146 = $51;$152 = $53;$155 = $54;$159 = $56;$165 = $58;$171 = $60;$174 = $61;$180 = $63;$186 = $65;$192 = $67;
+ } else {
+ $68 = ((($9)) + 1|0);
+ $69 = HEAP8[$9>>0]|0;
+ $70 = ((($0)) + 145|0);
+ HEAP8[$24>>0] = $69;
+ $71 = ((($9)) + 2|0);
+ $72 = HEAP8[$68>>0]|0;
+ $73 = ((($0)) + 146|0);
+ HEAP8[$70>>0] = $72;
+ $74 = ((($9)) + 3|0);
+ $75 = HEAP8[$71>>0]|0;
+ $76 = ((($0)) + 147|0);
+ HEAP8[$73>>0] = $75;
+ $77 = ((($9)) + 4|0);
+ $78 = HEAP8[$74>>0]|0;
+ $79 = ((($0)) + 148|0);
+ HEAP8[$76>>0] = $78;
+ $80 = ((($9)) + 5|0);
+ $81 = HEAP8[$77>>0]|0;
+ $82 = ((($0)) + 149|0);
+ HEAP8[$79>>0] = $81;
+ $83 = ((($9)) + 6|0);
+ $84 = HEAP8[$80>>0]|0;
+ $85 = ((($0)) + 150|0);
+ HEAP8[$82>>0] = $84;
+ $86 = ((($9)) + 7|0);
+ $87 = HEAP8[$83>>0]|0;
+ $88 = ((($0)) + 151|0);
+ HEAP8[$85>>0] = $87;
+ $89 = ((($0)) + 136|0);
+ $90 = HEAP8[$86>>0]|0;
+ $91 = ((($0)) + 152|0);
+ HEAP8[$88>>0] = $90;
+ $92 = ((($0)) + 137|0);
+ $93 = HEAP8[$89>>0]|0;
+ $94 = ((($0)) + 153|0);
+ HEAP8[$91>>0] = $93;
+ $95 = ((($0)) + 138|0);
+ $96 = HEAP8[$92>>0]|0;
+ $97 = ((($0)) + 154|0);
+ HEAP8[$94>>0] = $96;
+ $98 = ((($0)) + 139|0);
+ $99 = HEAP8[$95>>0]|0;
+ $100 = ((($0)) + 155|0);
+ HEAP8[$97>>0] = $99;
+ $101 = ((($0)) + 140|0);
+ $102 = HEAP8[$98>>0]|0;
+ $103 = ((($0)) + 156|0);
+ HEAP8[$100>>0] = $102;
+ $104 = ((($0)) + 141|0);
+ $105 = HEAP8[$101>>0]|0;
+ $106 = ((($0)) + 157|0);
+ HEAP8[$103>>0] = $105;
+ $107 = ((($0)) + 142|0);
+ $108 = HEAP8[$104>>0]|0;
+ $109 = ((($0)) + 158|0);
+ HEAP8[$106>>0] = $108;
+ $110 = ((($0)) + 143|0);
+ $111 = HEAP8[$107>>0]|0;
+ $112 = ((($0)) + 159|0);
+ HEAP8[$109>>0] = $111;
+ $113 = HEAP8[$110>>0]|0;
+ HEAP8[$112>>0] = $113;
+ $$pre$phi217Z2D = $73;$$pre$phi219Z2D = $76;$$pre$phi220Z2D = $79;$$pre$phi222Z2D = $82;$$pre$phi224Z2D = $85;$$pre$phi226Z2D = $88;$$pre$phi227Z2D = $91;$$pre$phi229Z2D = $94;$$pre$phi231Z2D = $97;$$pre$phi233Z2D = $100;$$pre$phi234Z2D = $103;$$pre$phi236Z2D = $106;$$pre$phi238Z2D = $109;$$pre$phi240Z2D = $112;$$pre$phiZ2D = $70;$115 = $69;$119 = $72;$125 = $75;$131 = $78;$134 = $81;$140 = $84;$146 = $87;$152 = $90;$155 = $93;$159 = $96;$165 = $99;$171 = $102;$174 = $105;$180 = $108;$186 = $111;$192 = $113;
+ }
+ $114 = $115&255;
+ $116 = (_bitshift64Shl(($114|0),0,56)|0);
+ $117 = tempRet0;
+ $118 = $119&255;
+ $120 = (_bitshift64Shl(($118|0),0,48)|0);
+ $121 = tempRet0;
+ $122 = $120 | $116;
+ $123 = $121 | $117;
+ $124 = $125&255;
+ $126 = (_bitshift64Shl(($124|0),0,40)|0);
+ $127 = tempRet0;
+ $128 = $122 | $126;
+ $129 = $123 | $127;
+ $130 = $131&255;
+ $132 = $129 | $130;
+ $133 = $134&255;
+ $135 = (_bitshift64Shl(($133|0),0,24)|0);
+ $136 = tempRet0;
+ $137 = $128 | $135;
+ $138 = $132 | $136;
+ $139 = $140&255;
+ $141 = (_bitshift64Shl(($139|0),0,16)|0);
+ $142 = tempRet0;
+ $143 = $137 | $141;
+ $144 = $138 | $142;
+ $145 = $146&255;
+ $147 = (_bitshift64Shl(($145|0),0,8)|0);
+ $148 = tempRet0;
+ $149 = $143 | $147;
+ $150 = $144 | $148;
+ $151 = $152&255;
+ $153 = $149 | $151;
+ $154 = $155&255;
+ $156 = (_bitshift64Shl(($154|0),0,56)|0);
+ $157 = tempRet0;
+ $158 = $159&255;
+ $160 = (_bitshift64Shl(($158|0),0,48)|0);
+ $161 = tempRet0;
+ $162 = $160 | $156;
+ $163 = $161 | $157;
+ $164 = $165&255;
+ $166 = (_bitshift64Shl(($164|0),0,40)|0);
+ $167 = tempRet0;
+ $168 = $162 | $166;
+ $169 = $163 | $167;
+ $170 = $171&255;
+ $172 = $169 | $170;
+ $173 = $174&255;
+ $175 = (_bitshift64Shl(($173|0),0,24)|0);
+ $176 = tempRet0;
+ $177 = $168 | $175;
+ $178 = $172 | $176;
+ $179 = $180&255;
+ $181 = (_bitshift64Shl(($179|0),0,16)|0);
+ $182 = tempRet0;
+ $183 = $177 | $181;
+ $184 = $178 | $182;
+ $185 = $186&255;
+ $187 = (_bitshift64Shl(($185|0),0,8)|0);
+ $188 = tempRet0;
+ $189 = $183 | $187;
+ $190 = $184 | $188;
+ $191 = $192&255;
+ $193 = $189 | $191;
+ $194 = (_bitshift64Ashr(($116|0),($117|0),63)|0);
+ $195 = tempRet0;
+ $196 = (_bitshift64Shl(($153|0),($150|0),1)|0);
+ $197 = tempRet0;
+ $198 = (_bitshift64Lshr(($154|0),0,7)|0);
+ $199 = tempRet0;
+ $200 = $196 | $198;
+ $197 | $199;
+ $201 = (_bitshift64Shl(($193|0),($190|0),1)|0);
+ $202 = tempRet0;
+ $203 = $194 & 135;
+ $204 = $201 ^ $203;
+ $205 = (_bitshift64Lshr(($122|0),($123|0),55)|0);
+ $206 = tempRet0;
+ $207 = $205&255;
+ HEAP8[$24>>0] = $207;
+ $208 = (_bitshift64Lshr(($128|0),($129|0),47)|0);
+ $209 = tempRet0;
+ $210 = $208&255;
+ HEAP8[$$pre$phiZ2D>>0] = $210;
+ $211 = (_bitshift64Lshr(($128|0),($132|0),39)|0);
+ $212 = tempRet0;
+ $213 = $211&255;
+ HEAP8[$$pre$phi217Z2D>>0] = $213;
+ $214 = (_bitshift64Lshr(($137|0),($138|0),31)|0);
+ $215 = tempRet0;
+ $216 = $214&255;
+ HEAP8[$$pre$phi219Z2D>>0] = $216;
+ $217 = (_bitshift64Lshr(($143|0),($144|0),23)|0);
+ $218 = tempRet0;
+ $219 = $217&255;
+ HEAP8[$$pre$phi220Z2D>>0] = $219;
+ $220 = (_bitshift64Lshr(($149|0),($150|0),15)|0);
+ $221 = tempRet0;
+ $222 = $220&255;
+ HEAP8[$$pre$phi222Z2D>>0] = $222;
+ $223 = (_bitshift64Lshr(($153|0),($150|0),7)|0);
+ $224 = tempRet0;
+ $225 = $223&255;
+ HEAP8[$$pre$phi224Z2D>>0] = $225;
+ $226 = $200&255;
+ HEAP8[$$pre$phi226Z2D>>0] = $226;
+ $227 = (_bitshift64Lshr(($162|0),($163|0),55)|0);
+ $228 = tempRet0;
+ $229 = $227&255;
+ HEAP8[$$pre$phi227Z2D>>0] = $229;
+ $230 = (_bitshift64Lshr(($168|0),($169|0),47)|0);
+ $231 = tempRet0;
+ $232 = $230&255;
+ HEAP8[$$pre$phi229Z2D>>0] = $232;
+ $233 = (_bitshift64Lshr(($168|0),($172|0),39)|0);
+ $234 = tempRet0;
+ $235 = $233&255;
+ HEAP8[$$pre$phi231Z2D>>0] = $235;
+ $236 = (_bitshift64Lshr(($177|0),($178|0),31)|0);
+ $237 = tempRet0;
+ $238 = $236&255;
+ HEAP8[$$pre$phi233Z2D>>0] = $238;
+ $239 = (_bitshift64Lshr(($183|0),($184|0),23)|0);
+ $240 = tempRet0;
+ $241 = $239&255;
+ HEAP8[$$pre$phi234Z2D>>0] = $241;
+ $242 = (_bitshift64Lshr(($189|0),($190|0),15)|0);
+ $243 = tempRet0;
+ $244 = $242&255;
+ HEAP8[$$pre$phi236Z2D>>0] = $244;
+ $245 = (_bitshift64Lshr(($193|0),($190|0),7)|0);
+ $246 = tempRet0;
+ $247 = $245&255;
+ HEAP8[$$pre$phi238Z2D>>0] = $247;
+ $248 = $204&255;
+ HEAP8[$$pre$phi240Z2D>>0] = $248;
+ $249 = ((($0)) + 160|0);
+ $250 = $249;
+ $251 = $25 | $250;
+ $252 = $251 & 3;
+ $253 = ($252|0)==(0);
+ if ($253) {
+ $254 = HEAP32[$24>>2]|0;
+ $255 = ((($249)) + 4|0);
+ HEAP32[$249>>2] = $254;
+ $256 = HEAP32[$$pre$phi220Z2D>>2]|0;
+ $257 = ((($249)) + 8|0);
+ HEAP32[$255>>2] = $256;
+ $258 = HEAP32[$$pre$phi227Z2D>>2]|0;
+ $259 = ((($249)) + 12|0);
+ HEAP32[$257>>2] = $258;
+ $260 = HEAP32[$$pre$phi234Z2D>>2]|0;
+ HEAP32[$259>>2] = $260;
+ $261 = $254&255;
+ $262 = $254 >>> 8;
+ $263 = $262&255;
+ $264 = $254 >>> 16;
+ $265 = $264&255;
+ $266 = $254 >>> 24;
+ $267 = $266&255;
+ $268 = $256&255;
+ $269 = $256 >>> 8;
+ $270 = $269&255;
+ $271 = $256 >>> 16;
+ $272 = $271&255;
+ $273 = $256 >>> 24;
+ $274 = $273&255;
+ $275 = $258&255;
+ $276 = $258 >>> 8;
+ $277 = $276&255;
+ $278 = $258 >>> 16;
+ $279 = $278&255;
+ $280 = $258 >>> 24;
+ $281 = $280&255;
+ $282 = $260&255;
+ $283 = $260 >>> 8;
+ $284 = $283&255;
+ $285 = $260 >>> 16;
+ $286 = $285&255;
+ $287 = $260 >>> 24;
+ $288 = $287&255;
+ $$pre241 = ((($249)) + 1|0);
+ $$pre243 = ((($249)) + 2|0);
+ $$pre245 = ((($249)) + 3|0);
+ $$pre250 = ((($249)) + 5|0);
+ $$pre252 = ((($249)) + 6|0);
+ $$pre254 = ((($249)) + 7|0);
+ $$pre259 = ((($249)) + 9|0);
+ $$pre261 = ((($249)) + 10|0);
+ $$pre263 = ((($249)) + 11|0);
+ $$pre268 = ((($249)) + 13|0);
+ $$pre270 = ((($249)) + 14|0);
+ $$pre272 = ((($249)) + 15|0);
+ $$pre$phi242Z2D = $$pre241;$$pre$phi244Z2D = $$pre243;$$pre$phi246Z2D = $$pre245;$$pre$phi249Z2D = $255;$$pre$phi251Z2D = $$pre250;$$pre$phi253Z2D = $$pre252;$$pre$phi255Z2D = $$pre254;$$pre$phi258Z2D = $257;$$pre$phi260Z2D = $$pre259;$$pre$phi262Z2D = $$pre261;$$pre$phi264Z2D = $$pre263;$$pre$phi267Z2D = $259;$$pre$phi269Z2D = $$pre268;$$pre$phi271Z2D = $$pre270;$$pre$phi273Z2D = $$pre272;$305 = $261;$309 = $263;$315 = $265;$321 = $267;$324 = $268;$330 = $270;$336 = $272;$342 = $274;$345 = $275;$349 = $277;$355 = $279;$361 = $281;$364 = $282;$370 = $284;$376 = $286;$382 = $288;
+ } else {
+ $289 = ((($249)) + 1|0);
+ HEAP8[$249>>0] = $207;
+ $290 = ((($249)) + 2|0);
+ HEAP8[$289>>0] = $210;
+ $291 = ((($249)) + 3|0);
+ HEAP8[$290>>0] = $213;
+ $292 = ((($249)) + 4|0);
+ HEAP8[$291>>0] = $216;
+ $293 = ((($249)) + 5|0);
+ HEAP8[$292>>0] = $219;
+ $294 = ((($249)) + 6|0);
+ HEAP8[$293>>0] = $222;
+ $295 = ((($249)) + 7|0);
+ HEAP8[$294>>0] = $225;
+ $296 = ((($249)) + 8|0);
+ HEAP8[$295>>0] = $226;
+ $297 = ((($249)) + 9|0);
+ HEAP8[$296>>0] = $229;
+ $298 = ((($249)) + 10|0);
+ HEAP8[$297>>0] = $232;
+ $299 = ((($249)) + 11|0);
+ HEAP8[$298>>0] = $235;
+ $300 = ((($249)) + 12|0);
+ HEAP8[$299>>0] = $238;
+ $301 = ((($249)) + 13|0);
+ HEAP8[$300>>0] = $241;
+ $302 = ((($249)) + 14|0);
+ HEAP8[$301>>0] = $244;
+ $303 = ((($249)) + 15|0);
+ HEAP8[$302>>0] = $247;
+ HEAP8[$303>>0] = $248;
+ $$pre$phi242Z2D = $289;$$pre$phi244Z2D = $290;$$pre$phi246Z2D = $291;$$pre$phi249Z2D = $292;$$pre$phi251Z2D = $293;$$pre$phi253Z2D = $294;$$pre$phi255Z2D = $295;$$pre$phi258Z2D = $296;$$pre$phi260Z2D = $297;$$pre$phi262Z2D = $298;$$pre$phi264Z2D = $299;$$pre$phi267Z2D = $300;$$pre$phi269Z2D = $301;$$pre$phi271Z2D = $302;$$pre$phi273Z2D = $303;$305 = $207;$309 = $210;$315 = $213;$321 = $216;$324 = $219;$330 = $222;$336 = $225;$342 = $226;$345 = $229;$349 = $232;$355 = $235;$361 = $238;$364 = $241;$370 = $244;$376 = $247;$382 = $248;
+ }
+ $304 = $305&255;
+ $306 = (_bitshift64Shl(($304|0),0,56)|0);
+ $307 = tempRet0;
+ $308 = $309&255;
+ $310 = (_bitshift64Shl(($308|0),0,48)|0);
+ $311 = tempRet0;
+ $312 = $310 | $306;
+ $313 = $311 | $307;
+ $314 = $315&255;
+ $316 = (_bitshift64Shl(($314|0),0,40)|0);
+ $317 = tempRet0;
+ $318 = $312 | $316;
+ $319 = $313 | $317;
+ $320 = $321&255;
+ $322 = $319 | $320;
+ $323 = $324&255;
+ $325 = (_bitshift64Shl(($323|0),0,24)|0);
+ $326 = tempRet0;
+ $327 = $318 | $325;
+ $328 = $322 | $326;
+ $329 = $330&255;
+ $331 = (_bitshift64Shl(($329|0),0,16)|0);
+ $332 = tempRet0;
+ $333 = $327 | $331;
+ $334 = $328 | $332;
+ $335 = $336&255;
+ $337 = (_bitshift64Shl(($335|0),0,8)|0);
+ $338 = tempRet0;
+ $339 = $333 | $337;
+ $340 = $334 | $338;
+ $341 = $342&255;
+ $343 = $339 | $341;
+ $344 = $345&255;
+ $346 = (_bitshift64Shl(($344|0),0,56)|0);
+ $347 = tempRet0;
+ $348 = $349&255;
+ $350 = (_bitshift64Shl(($348|0),0,48)|0);
+ $351 = tempRet0;
+ $352 = $350 | $346;
+ $353 = $351 | $347;
+ $354 = $355&255;
+ $356 = (_bitshift64Shl(($354|0),0,40)|0);
+ $357 = tempRet0;
+ $358 = $352 | $356;
+ $359 = $353 | $357;
+ $360 = $361&255;
+ $362 = $359 | $360;
+ $363 = $364&255;
+ $365 = (_bitshift64Shl(($363|0),0,24)|0);
+ $366 = tempRet0;
+ $367 = $358 | $365;
+ $368 = $362 | $366;
+ $369 = $370&255;
+ $371 = (_bitshift64Shl(($369|0),0,16)|0);
+ $372 = tempRet0;
+ $373 = $367 | $371;
+ $374 = $368 | $372;
+ $375 = $376&255;
+ $377 = (_bitshift64Shl(($375|0),0,8)|0);
+ $378 = tempRet0;
+ $379 = $373 | $377;
+ $380 = $374 | $378;
+ $381 = $382&255;
+ $383 = $379 | $381;
+ $384 = (_bitshift64Ashr(($306|0),($307|0),63)|0);
+ $385 = tempRet0;
+ $386 = (_bitshift64Shl(($343|0),($340|0),1)|0);
+ $387 = tempRet0;
+ $388 = (_bitshift64Lshr(($344|0),0,7)|0);
+ $389 = tempRet0;
+ $390 = $386 | $388;
+ $387 | $389;
+ $391 = (_bitshift64Shl(($383|0),($380|0),1)|0);
+ $392 = tempRet0;
+ $393 = $384 & 135;
+ $394 = $391 ^ $393;
+ $395 = (_bitshift64Lshr(($312|0),($313|0),55)|0);
+ $396 = tempRet0;
+ $397 = $395&255;
+ HEAP8[$249>>0] = $397;
+ $398 = (_bitshift64Lshr(($318|0),($319|0),47)|0);
+ $399 = tempRet0;
+ $400 = $398&255;
+ HEAP8[$$pre$phi242Z2D>>0] = $400;
+ $401 = (_bitshift64Lshr(($318|0),($322|0),39)|0);
+ $402 = tempRet0;
+ $403 = $401&255;
+ HEAP8[$$pre$phi244Z2D>>0] = $403;
+ $404 = (_bitshift64Lshr(($327|0),($328|0),31)|0);
+ $405 = tempRet0;
+ $406 = $404&255;
+ HEAP8[$$pre$phi246Z2D>>0] = $406;
+ $407 = (_bitshift64Lshr(($333|0),($334|0),23)|0);
+ $408 = tempRet0;
+ $409 = $407&255;
+ HEAP8[$$pre$phi249Z2D>>0] = $409;
+ $410 = (_bitshift64Lshr(($339|0),($340|0),15)|0);
+ $411 = tempRet0;
+ $412 = $410&255;
+ HEAP8[$$pre$phi251Z2D>>0] = $412;
+ $413 = (_bitshift64Lshr(($343|0),($340|0),7)|0);
+ $414 = tempRet0;
+ $415 = $413&255;
+ HEAP8[$$pre$phi253Z2D>>0] = $415;
+ $416 = $390&255;
+ HEAP8[$$pre$phi255Z2D>>0] = $416;
+ $417 = (_bitshift64Lshr(($352|0),($353|0),55)|0);
+ $418 = tempRet0;
+ $419 = $417&255;
+ HEAP8[$$pre$phi258Z2D>>0] = $419;
+ $420 = (_bitshift64Lshr(($358|0),($359|0),47)|0);
+ $421 = tempRet0;
+ $422 = $420&255;
+ HEAP8[$$pre$phi260Z2D>>0] = $422;
+ $423 = (_bitshift64Lshr(($358|0),($362|0),39)|0);
+ $424 = tempRet0;
+ $425 = $423&255;
+ HEAP8[$$pre$phi262Z2D>>0] = $425;
+ $426 = (_bitshift64Lshr(($367|0),($368|0),31)|0);
+ $427 = tempRet0;
+ $428 = $426&255;
+ HEAP8[$$pre$phi264Z2D>>0] = $428;
+ $429 = (_bitshift64Lshr(($373|0),($374|0),23)|0);
+ $430 = tempRet0;
+ $431 = $429&255;
+ HEAP8[$$pre$phi267Z2D>>0] = $431;
+ $432 = (_bitshift64Lshr(($379|0),($380|0),15)|0);
+ $433 = tempRet0;
+ $434 = $432&255;
+ HEAP8[$$pre$phi269Z2D>>0] = $434;
+ $435 = (_bitshift64Lshr(($383|0),($380|0),7)|0);
+ $436 = tempRet0;
+ $437 = $435&255;
+ HEAP8[$$pre$phi271Z2D>>0] = $437;
+ $438 = $394&255;
+ HEAP8[$$pre$phi273Z2D>>0] = $438;
+ $$0121179 = 1;
+ while(1) {
+ $439 = (($249) + ($$0121179<<4)|0);
+ $440 = (($$0121179) + -1)|0;
+ $441 = (($249) + ($440<<4)|0);
+ $442 = $439;
+ $443 = $441;
+ $444 = $443 | $442;
+ $445 = $444 & 3;
+ $446 = ($445|0)==(0);
+ if ($446) {
+ $447 = (((($249) + ($440<<4)|0)) + 4|0);
+ $448 = HEAP32[$441>>2]|0;
+ $449 = (((($249) + ($$0121179<<4)|0)) + 4|0);
+ HEAP32[$439>>2] = $448;
+ $450 = (((($249) + ($440<<4)|0)) + 8|0);
+ $451 = HEAP32[$447>>2]|0;
+ $452 = (((($249) + ($$0121179<<4)|0)) + 8|0);
+ HEAP32[$449>>2] = $451;
+ $453 = (((($249) + ($440<<4)|0)) + 12|0);
+ $454 = HEAP32[$450>>2]|0;
+ $455 = (((($249) + ($$0121179<<4)|0)) + 12|0);
+ HEAP32[$452>>2] = $454;
+ $456 = HEAP32[$453>>2]|0;
+ HEAP32[$455>>2] = $456;
+ $457 = $448&255;
+ $$phi$trans$insert = (((($249) + ($$0121179<<4)|0)) + 1|0);
+ $$pre = HEAP8[$$phi$trans$insert>>0]|0;
+ $$phi$trans$insert193 = (((($249) + ($$0121179<<4)|0)) + 2|0);
+ $$pre194 = HEAP8[$$phi$trans$insert193>>0]|0;
+ $$phi$trans$insert195 = (((($249) + ($$0121179<<4)|0)) + 3|0);
+ $$pre196 = HEAP8[$$phi$trans$insert195>>0]|0;
+ $458 = $451&255;
+ $$phi$trans$insert197 = (((($249) + ($$0121179<<4)|0)) + 5|0);
+ $$pre198 = HEAP8[$$phi$trans$insert197>>0]|0;
+ $$phi$trans$insert199 = (((($249) + ($$0121179<<4)|0)) + 6|0);
+ $$pre200 = HEAP8[$$phi$trans$insert199>>0]|0;
+ $$phi$trans$insert201 = (((($249) + ($$0121179<<4)|0)) + 7|0);
+ $$pre202 = HEAP8[$$phi$trans$insert201>>0]|0;
+ $459 = $454&255;
+ $$phi$trans$insert203 = (((($249) + ($$0121179<<4)|0)) + 9|0);
+ $$pre204 = HEAP8[$$phi$trans$insert203>>0]|0;
+ $$phi$trans$insert205 = (((($249) + ($$0121179<<4)|0)) + 10|0);
+ $$pre206 = HEAP8[$$phi$trans$insert205>>0]|0;
+ $$phi$trans$insert207 = (((($249) + ($$0121179<<4)|0)) + 11|0);
+ $$pre208 = HEAP8[$$phi$trans$insert207>>0]|0;
+ $460 = $456&255;
+ $$phi$trans$insert209 = (((($249) + ($$0121179<<4)|0)) + 13|0);
+ $$pre210 = HEAP8[$$phi$trans$insert209>>0]|0;
+ $$phi$trans$insert211 = (((($249) + ($$0121179<<4)|0)) + 14|0);
+ $$pre212 = HEAP8[$$phi$trans$insert211>>0]|0;
+ $$phi$trans$insert213 = (((($249) + ($$0121179<<4)|0)) + 15|0);
+ $$pre214 = HEAP8[$$phi$trans$insert213>>0]|0;
+ $$pre$phi274Z2D = $$phi$trans$insert;$$pre$phi275Z2D = $$phi$trans$insert193;$$pre$phi276Z2D = $$phi$trans$insert195;$$pre$phi277Z2D = $449;$$pre$phi278Z2D = $$phi$trans$insert197;$$pre$phi279Z2D = $$phi$trans$insert199;$$pre$phi280Z2D = $$phi$trans$insert201;$$pre$phi281Z2D = $452;$$pre$phi282Z2D = $$phi$trans$insert203;$$pre$phi283Z2D = $$phi$trans$insert205;$$pre$phi284Z2D = $$phi$trans$insert207;$$pre$phi285Z2D = $455;$$pre$phi286Z2D = $$phi$trans$insert209;$$pre$phi287Z2D = $$phi$trans$insert211;$$pre$phi288Z2D = $$phi$trans$insert213;$508 = $457;$512 = $$pre;$518 = $$pre194;$524 = $$pre196;$527 = $458;$533 = $$pre198;$539 = $$pre200;$545 = $$pre202;$548 = $459;$552 = $$pre204;$558 = $$pre206;$564 = $$pre208;$567 = $460;$573 = $$pre210;$579 = $$pre212;$585 = $$pre214;
+ } else {
+ $461 = (((($249) + ($440<<4)|0)) + 1|0);
+ $462 = HEAP8[$441>>0]|0;
+ $463 = (((($249) + ($$0121179<<4)|0)) + 1|0);
+ HEAP8[$439>>0] = $462;
+ $464 = (((($249) + ($440<<4)|0)) + 2|0);
+ $465 = HEAP8[$461>>0]|0;
+ $466 = (((($249) + ($$0121179<<4)|0)) + 2|0);
+ HEAP8[$463>>0] = $465;
+ $467 = (((($249) + ($440<<4)|0)) + 3|0);
+ $468 = HEAP8[$464>>0]|0;
+ $469 = (((($249) + ($$0121179<<4)|0)) + 3|0);
+ HEAP8[$466>>0] = $468;
+ $470 = (((($249) + ($440<<4)|0)) + 4|0);
+ $471 = HEAP8[$467>>0]|0;
+ $472 = (((($249) + ($$0121179<<4)|0)) + 4|0);
+ HEAP8[$469>>0] = $471;
+ $473 = (((($249) + ($440<<4)|0)) + 5|0);
+ $474 = HEAP8[$470>>0]|0;
+ $475 = (((($249) + ($$0121179<<4)|0)) + 5|0);
+ HEAP8[$472>>0] = $474;
+ $476 = (((($249) + ($440<<4)|0)) + 6|0);
+ $477 = HEAP8[$473>>0]|0;
+ $478 = (((($249) + ($$0121179<<4)|0)) + 6|0);
+ HEAP8[$475>>0] = $477;
+ $479 = (((($249) + ($440<<4)|0)) + 7|0);
+ $480 = HEAP8[$476>>0]|0;
+ $481 = (((($249) + ($$0121179<<4)|0)) + 7|0);
+ HEAP8[$478>>0] = $480;
+ $482 = (((($249) + ($440<<4)|0)) + 8|0);
+ $483 = HEAP8[$479>>0]|0;
+ $484 = (((($249) + ($$0121179<<4)|0)) + 8|0);
+ HEAP8[$481>>0] = $483;
+ $485 = (((($249) + ($440<<4)|0)) + 9|0);
+ $486 = HEAP8[$482>>0]|0;
+ $487 = (((($249) + ($$0121179<<4)|0)) + 9|0);
+ HEAP8[$484>>0] = $486;
+ $488 = (((($249) + ($440<<4)|0)) + 10|0);
+ $489 = HEAP8[$485>>0]|0;
+ $490 = (((($249) + ($$0121179<<4)|0)) + 10|0);
+ HEAP8[$487>>0] = $489;
+ $491 = (((($249) + ($440<<4)|0)) + 11|0);
+ $492 = HEAP8[$488>>0]|0;
+ $493 = (((($249) + ($$0121179<<4)|0)) + 11|0);
+ HEAP8[$490>>0] = $492;
+ $494 = (((($249) + ($440<<4)|0)) + 12|0);
+ $495 = HEAP8[$491>>0]|0;
+ $496 = (((($249) + ($$0121179<<4)|0)) + 12|0);
+ HEAP8[$493>>0] = $495;
+ $497 = (((($249) + ($440<<4)|0)) + 13|0);
+ $498 = HEAP8[$494>>0]|0;
+ $499 = (((($249) + ($$0121179<<4)|0)) + 13|0);
+ HEAP8[$496>>0] = $498;
+ $500 = (((($249) + ($440<<4)|0)) + 14|0);
+ $501 = HEAP8[$497>>0]|0;
+ $502 = (((($249) + ($$0121179<<4)|0)) + 14|0);
+ HEAP8[$499>>0] = $501;
+ $503 = (((($249) + ($440<<4)|0)) + 15|0);
+ $504 = HEAP8[$500>>0]|0;
+ $505 = (((($249) + ($$0121179<<4)|0)) + 15|0);
+ HEAP8[$502>>0] = $504;
+ $506 = HEAP8[$503>>0]|0;
+ HEAP8[$505>>0] = $506;
+ $$pre$phi274Z2D = $463;$$pre$phi275Z2D = $466;$$pre$phi276Z2D = $469;$$pre$phi277Z2D = $472;$$pre$phi278Z2D = $475;$$pre$phi279Z2D = $478;$$pre$phi280Z2D = $481;$$pre$phi281Z2D = $484;$$pre$phi282Z2D = $487;$$pre$phi283Z2D = $490;$$pre$phi284Z2D = $493;$$pre$phi285Z2D = $496;$$pre$phi286Z2D = $499;$$pre$phi287Z2D = $502;$$pre$phi288Z2D = $505;$508 = $462;$512 = $465;$518 = $468;$524 = $471;$527 = $474;$533 = $477;$539 = $480;$545 = $483;$548 = $486;$552 = $489;$558 = $492;$564 = $495;$567 = $498;$573 = $501;$579 = $504;$585 = $506;
+ }
+ $507 = $508&255;
+ $509 = (_bitshift64Shl(($507|0),0,56)|0);
+ $510 = tempRet0;
+ $511 = $512&255;
+ $513 = (_bitshift64Shl(($511|0),0,48)|0);
+ $514 = tempRet0;
+ $515 = $513 | $509;
+ $516 = $514 | $510;
+ $517 = $518&255;
+ $519 = (_bitshift64Shl(($517|0),0,40)|0);
+ $520 = tempRet0;
+ $521 = $515 | $519;
+ $522 = $516 | $520;
+ $523 = $524&255;
+ $525 = $522 | $523;
+ $526 = $527&255;
+ $528 = (_bitshift64Shl(($526|0),0,24)|0);
+ $529 = tempRet0;
+ $530 = $521 | $528;
+ $531 = $525 | $529;
+ $532 = $533&255;
+ $534 = (_bitshift64Shl(($532|0),0,16)|0);
+ $535 = tempRet0;
+ $536 = $530 | $534;
+ $537 = $531 | $535;
+ $538 = $539&255;
+ $540 = (_bitshift64Shl(($538|0),0,8)|0);
+ $541 = tempRet0;
+ $542 = $536 | $540;
+ $543 = $537 | $541;
+ $544 = $545&255;
+ $546 = $542 | $544;
+ $547 = $548&255;
+ $549 = (_bitshift64Shl(($547|0),0,56)|0);
+ $550 = tempRet0;
+ $551 = $552&255;
+ $553 = (_bitshift64Shl(($551|0),0,48)|0);
+ $554 = tempRet0;
+ $555 = $553 | $549;
+ $556 = $554 | $550;
+ $557 = $558&255;
+ $559 = (_bitshift64Shl(($557|0),0,40)|0);
+ $560 = tempRet0;
+ $561 = $555 | $559;
+ $562 = $556 | $560;
+ $563 = $564&255;
+ $565 = $562 | $563;
+ $566 = $567&255;
+ $568 = (_bitshift64Shl(($566|0),0,24)|0);
+ $569 = tempRet0;
+ $570 = $561 | $568;
+ $571 = $565 | $569;
+ $572 = $573&255;
+ $574 = (_bitshift64Shl(($572|0),0,16)|0);
+ $575 = tempRet0;
+ $576 = $570 | $574;
+ $577 = $571 | $575;
+ $578 = $579&255;
+ $580 = (_bitshift64Shl(($578|0),0,8)|0);
+ $581 = tempRet0;
+ $582 = $576 | $580;
+ $583 = $577 | $581;
+ $584 = $585&255;
+ $586 = $582 | $584;
+ $587 = (_bitshift64Ashr(($509|0),($510|0),63)|0);
+ $588 = tempRet0;
+ $589 = (_bitshift64Shl(($546|0),($543|0),1)|0);
+ $590 = tempRet0;
+ $591 = (_bitshift64Lshr(($547|0),0,7)|0);
+ $592 = tempRet0;
+ $593 = $589 | $591;
+ $590 | $592;
+ $594 = (_bitshift64Shl(($586|0),($583|0),1)|0);
+ $595 = tempRet0;
+ $596 = $587 & 135;
+ $597 = $594 ^ $596;
+ $598 = (_bitshift64Lshr(($515|0),($516|0),55)|0);
+ $599 = tempRet0;
+ $600 = $598&255;
+ HEAP8[$439>>0] = $600;
+ $601 = (_bitshift64Lshr(($521|0),($522|0),47)|0);
+ $602 = tempRet0;
+ $603 = $601&255;
+ HEAP8[$$pre$phi274Z2D>>0] = $603;
+ $604 = (_bitshift64Lshr(($521|0),($525|0),39)|0);
+ $605 = tempRet0;
+ $606 = $604&255;
+ HEAP8[$$pre$phi275Z2D>>0] = $606;
+ $607 = (_bitshift64Lshr(($530|0),($531|0),31)|0);
+ $608 = tempRet0;
+ $609 = $607&255;
+ HEAP8[$$pre$phi276Z2D>>0] = $609;
+ $610 = (_bitshift64Lshr(($536|0),($537|0),23)|0);
+ $611 = tempRet0;
+ $612 = $610&255;
+ HEAP8[$$pre$phi277Z2D>>0] = $612;
+ $613 = (_bitshift64Lshr(($542|0),($543|0),15)|0);
+ $614 = tempRet0;
+ $615 = $613&255;
+ HEAP8[$$pre$phi278Z2D>>0] = $615;
+ $616 = (_bitshift64Lshr(($546|0),($543|0),7)|0);
+ $617 = tempRet0;
+ $618 = $616&255;
+ HEAP8[$$pre$phi279Z2D>>0] = $618;
+ $619 = $593&255;
+ HEAP8[$$pre$phi280Z2D>>0] = $619;
+ $620 = (_bitshift64Lshr(($555|0),($556|0),55)|0);
+ $621 = tempRet0;
+ $622 = $620&255;
+ HEAP8[$$pre$phi281Z2D>>0] = $622;
+ $623 = (_bitshift64Lshr(($561|0),($562|0),47)|0);
+ $624 = tempRet0;
+ $625 = $623&255;
+ HEAP8[$$pre$phi282Z2D>>0] = $625;
+ $626 = (_bitshift64Lshr(($561|0),($565|0),39)|0);
+ $627 = tempRet0;
+ $628 = $626&255;
+ HEAP8[$$pre$phi283Z2D>>0] = $628;
+ $629 = (_bitshift64Lshr(($570|0),($571|0),31)|0);
+ $630 = tempRet0;
+ $631 = $629&255;
+ HEAP8[$$pre$phi284Z2D>>0] = $631;
+ $632 = (_bitshift64Lshr(($576|0),($577|0),23)|0);
+ $633 = tempRet0;
+ $634 = $632&255;
+ HEAP8[$$pre$phi285Z2D>>0] = $634;
+ $635 = (_bitshift64Lshr(($582|0),($583|0),15)|0);
+ $636 = tempRet0;
+ $637 = $635&255;
+ HEAP8[$$pre$phi286Z2D>>0] = $637;
+ $638 = (_bitshift64Lshr(($586|0),($583|0),7)|0);
+ $639 = tempRet0;
+ $640 = $638&255;
+ HEAP8[$$pre$phi287Z2D>>0] = $640;
+ $641 = $597&255;
+ HEAP8[$$pre$phi288Z2D>>0] = $641;
+ $642 = (($$0121179) + 1)|0;
+ $exitcond = ($642|0)==(16);
+ if ($exitcond) {
+ break;
+ } else {
+ $$0121179 = $642;
+ }
+ }
+ $643 = (16 - ($2))|0;
+ _memset(($3|0),0,($643|0))|0;
+ $644 = (($3) + ($643)|0);
+ $645 = $644;
+ $646 = $1;
+ $647 = $645 | $646;
+ $648 = $647 & 3;
+ $649 = ($648|0)==(0);
+ $650 = ($2>>>0)>(3);
+ $or$cond$i = $650 & $649;
+ if ($or$cond$i) {
+ $651 = (($2) + -4)|0;
+ $652 = $651 & -4;
+ $653 = (($652) + 4)|0;
+ $scevgep$i143 = (($1) + ($653)|0);
+ $$02434$i146 = $1;$$02533$i147 = $644;$$035$i145 = $2;
+ while(1) {
+ $654 = ((($$02434$i146)) + 4|0);
+ $655 = HEAP32[$$02434$i146>>2]|0;
+ $656 = ((($$02533$i147)) + 4|0);
+ HEAP32[$$02533$i147>>2] = $655;
+ $657 = (($$035$i145) + -4)|0;
+ $658 = ($657>>>0)>(3);
+ if ($658) {
+ $$02434$i146 = $654;$$02533$i147 = $656;$$035$i145 = $657;
+ } else {
+ break;
+ }
+ }
+ $scevgep44$i144 = (($644) + ($653)|0);
+ $659 = (($651) - ($652))|0;
+ $$026$i = $scevgep$i143;$$028$i = $scevgep44$i144;$$1$i149 = $659;
+ } else {
+ $$026$i = $1;$$028$i = $644;$$1$i149 = $2;
+ }
+ $660 = ($$1$i149|0)==(0);
+ if (!($660)) {
+ $$12731$i = $$026$i;$$12930$i = $$028$i;$$232$i = $$1$i149;
+ while(1) {
+ $661 = ((($$12731$i)) + 1|0);
+ $662 = HEAP8[$$12731$i>>0]|0;
+ $663 = ((($$12930$i)) + 1|0);
+ HEAP8[$$12930$i>>0] = $662;
+ $664 = (($$232$i) + -1)|0;
+ $665 = ($664|0)==(0);
+ if ($665) {
+ break;
+ } else {
+ $$12731$i = $661;$$12930$i = $663;$$232$i = $664;
+ }
+ }
+ }
+ $666 = HEAP8[$10>>0]|0;
+ $667 = $666&255;
+ $668 = $667 << 4;
+ $669 = $668&255;
+ HEAP8[$3>>0] = $669;
+ $670 = (($643) + -1)|0;
+ $671 = (($3) + ($670)|0);
+ $672 = HEAP8[$671>>0]|0;
+ $673 = $672 | 1;
+ HEAP8[$671>>0] = $673;
+ $674 = ((($3)) + 15|0);
+ $675 = HEAP8[$674>>0]|0;
+ $676 = $675&255;
+ $677 = $676 & 192;
+ $678 = $677&255;
+ HEAP8[$674>>0] = $678;
+ $679 = HEAP32[$12>>2]|0;
+ $680 = ((($679)) + 36|0);
+ $681 = HEAP32[$680>>2]|0;
+ $682 = (FUNCTION_TABLE_iiii[$681 & 127]($22,$3,$3)|0);
+ $683 = ($682>>>0)>($23>>>0);
+ $684 = ((($3)) + 4|0);
+ $685 = HEAP32[$3>>2]|0;
+ $686 = ((($4)) + 4|0);
+ HEAP32[$4>>2] = $685;
+ $687 = ((($3)) + 8|0);
+ $688 = HEAP32[$684>>2]|0;
+ $689 = ((($4)) + 8|0);
+ HEAP32[$686>>2] = $688;
+ $690 = ((($3)) + 12|0);
+ $691 = HEAP32[$687>>2]|0;
+ $692 = ((($4)) + 12|0);
+ HEAP32[$689>>2] = $691;
+ $693 = HEAP32[$690>>2]|0;
+ HEAP32[$692>>2] = $693;
+ $694 = $683 ? $682 : $23;
+ $695 = ((($4)) + 16|0);
+ $696 = ((($3)) + 1|0);
+ $697 = $696;
+ $698 = $697 & 3;
+ $699 = ($698|0)==(0);
+ $700 = $688&255;
+ if ($699) {
+ $701 = ((($3)) + 5|0);
+ $702 = HEAP32[$696>>2]|0;
+ $703 = $702 ^ $685;
+ $704 = ((($4)) + 20|0);
+ HEAP32[$695>>2] = $703;
+ $705 = HEAP32[$701>>2]|0;
+ $706 = $705 ^ $688;
+ HEAP32[$704>>2] = $706;
+ } else {
+ $707 = $685&255;
+ $708 = ((($3)) + 2|0);
+ $709 = HEAP8[$696>>0]|0;
+ $710 = $709 ^ $707;
+ $711 = ((($4)) + 17|0);
+ HEAP8[$695>>0] = $710;
+ $712 = ((($3)) + 3|0);
+ $713 = HEAP8[$708>>0]|0;
+ $714 = $713 ^ $709;
+ $715 = ((($4)) + 18|0);
+ HEAP8[$711>>0] = $714;
+ $716 = HEAP8[$712>>0]|0;
+ $717 = $716 ^ $713;
+ $718 = ((($4)) + 19|0);
+ HEAP8[$715>>0] = $717;
+ $719 = ((($3)) + 5|0);
+ $720 = $716 ^ $700;
+ $721 = ((($4)) + 20|0);
+ HEAP8[$718>>0] = $720;
+ $722 = ((($3)) + 6|0);
+ $723 = HEAP8[$719>>0]|0;
+ $724 = $723 ^ $700;
+ $725 = ((($4)) + 21|0);
+ HEAP8[$721>>0] = $724;
+ $726 = ((($3)) + 7|0);
+ $727 = HEAP8[$722>>0]|0;
+ $728 = $727 ^ $723;
+ $729 = ((($4)) + 22|0);
+ HEAP8[$725>>0] = $728;
+ $730 = ((($3)) + 8|0);
+ $731 = HEAP8[$726>>0]|0;
+ $732 = $731 ^ $727;
+ $733 = ((($4)) + 23|0);
+ HEAP8[$729>>0] = $732;
+ $734 = HEAP8[$730>>0]|0;
+ $735 = $734 ^ $731;
+ HEAP8[$733>>0] = $735;
+ }
+ $736 = ((($0)) + 64|0);
+ $737 = $676 >>> 3;
+ $738 = $737 & 7;
+ $739 = (($4) + ($738)|0);
+ $740 = $676 & 7;
+ $741 = ($740|0)==(0);
+ if ($741) {
+ $869 = HEAP8[$739>>0]|0;
+ HEAP8[$736>>0] = $869;
+ $870 = ((($736)) + 1|0);
+ $871 = ((($739)) + 1|0);
+ $872 = HEAP8[$871>>0]|0;
+ HEAP8[$870>>0] = $872;
+ $873 = ((($736)) + 2|0);
+ $874 = ((($739)) + 2|0);
+ $875 = HEAP8[$874>>0]|0;
+ HEAP8[$873>>0] = $875;
+ $876 = ((($736)) + 3|0);
+ $877 = ((($739)) + 3|0);
+ $878 = HEAP8[$877>>0]|0;
+ HEAP8[$876>>0] = $878;
+ $879 = ((($736)) + 4|0);
+ $880 = ((($739)) + 4|0);
+ $881 = HEAP8[$880>>0]|0;
+ HEAP8[$879>>0] = $881;
+ $882 = ((($736)) + 5|0);
+ $883 = ((($739)) + 5|0);
+ $884 = HEAP8[$883>>0]|0;
+ HEAP8[$882>>0] = $884;
+ $885 = ((($736)) + 6|0);
+ $886 = ((($739)) + 6|0);
+ $887 = HEAP8[$886>>0]|0;
+ HEAP8[$885>>0] = $887;
+ $888 = ((($736)) + 7|0);
+ $889 = ((($739)) + 7|0);
+ $890 = HEAP8[$889>>0]|0;
+ HEAP8[$888>>0] = $890;
+ $891 = ((($0)) + 72|0);
+ $892 = ((($739)) + 8|0);
+ $893 = HEAP8[$892>>0]|0;
+ HEAP8[$891>>0] = $893;
+ $894 = ((($0)) + 73|0);
+ $895 = ((($739)) + 9|0);
+ $896 = HEAP8[$895>>0]|0;
+ HEAP8[$894>>0] = $896;
+ $897 = ((($0)) + 74|0);
+ $898 = ((($739)) + 10|0);
+ $899 = HEAP8[$898>>0]|0;
+ HEAP8[$897>>0] = $899;
+ $900 = ((($0)) + 75|0);
+ $901 = ((($739)) + 11|0);
+ $902 = HEAP8[$901>>0]|0;
+ HEAP8[$900>>0] = $902;
+ $903 = ((($0)) + 76|0);
+ $904 = ((($739)) + 12|0);
+ $905 = HEAP8[$904>>0]|0;
+ HEAP8[$903>>0] = $905;
+ $906 = ((($739)) + 13|0);
+ $907 = HEAP8[$906>>0]|0;
+ $908 = ((($739)) + 14|0);
+ $909 = HEAP8[$908>>0]|0;
+ $910 = ((($739)) + 15|0);
+ $911 = HEAP8[$910>>0]|0;
+ $$sink = $911;$$sink191 = $909;$$sink192 = $907;
+ } else {
+ $742 = (8 - ($740))|0;
+ $743 = HEAP8[$739>>0]|0;
+ $744 = $743&255;
+ $745 = $744 << $740;
+ $746 = ((($739)) + 1|0);
+ $747 = HEAP8[$746>>0]|0;
+ $748 = $747&255;
+ $749 = $748 >>> $742;
+ $750 = $749 | $745;
+ $751 = $750&255;
+ HEAP8[$736>>0] = $751;
+ $752 = ((($736)) + 1|0);
+ $753 = $748 << $740;
+ $754 = ((($739)) + 2|0);
+ $755 = HEAP8[$754>>0]|0;
+ $756 = $755&255;
+ $757 = $756 >>> $742;
+ $758 = $757 | $753;
+ $759 = $758&255;
+ HEAP8[$752>>0] = $759;
+ $760 = ((($736)) + 2|0);
+ $761 = $756 << $740;
+ $762 = ((($739)) + 3|0);
+ $763 = HEAP8[$762>>0]|0;
+ $764 = $763&255;
+ $765 = $764 >>> $742;
+ $766 = $765 | $761;
+ $767 = $766&255;
+ HEAP8[$760>>0] = $767;
+ $768 = ((($736)) + 3|0);
+ $769 = $764 << $740;
+ $770 = ((($739)) + 4|0);
+ $771 = HEAP8[$770>>0]|0;
+ $772 = $771&255;
+ $773 = $772 >>> $742;
+ $774 = $773 | $769;
+ $775 = $774&255;
+ HEAP8[$768>>0] = $775;
+ $776 = ((($736)) + 4|0);
+ $777 = $772 << $740;
+ $778 = ((($739)) + 5|0);
+ $779 = HEAP8[$778>>0]|0;
+ $780 = $779&255;
+ $781 = $780 >>> $742;
+ $782 = $781 | $777;
+ $783 = $782&255;
+ HEAP8[$776>>0] = $783;
+ $784 = ((($736)) + 5|0);
+ $785 = $780 << $740;
+ $786 = ((($739)) + 6|0);
+ $787 = HEAP8[$786>>0]|0;
+ $788 = $787&255;
+ $789 = $788 >>> $742;
+ $790 = $789 | $785;
+ $791 = $790&255;
+ HEAP8[$784>>0] = $791;
+ $792 = ((($736)) + 6|0);
+ $793 = $788 << $740;
+ $794 = ((($739)) + 7|0);
+ $795 = HEAP8[$794>>0]|0;
+ $796 = $795&255;
+ $797 = $796 >>> $742;
+ $798 = $797 | $793;
+ $799 = $798&255;
+ HEAP8[$792>>0] = $799;
+ $800 = ((($736)) + 7|0);
+ $801 = $796 << $740;
+ $802 = ((($739)) + 8|0);
+ $803 = HEAP8[$802>>0]|0;
+ $804 = $803&255;
+ $805 = $804 >>> $742;
+ $806 = $805 | $801;
+ $807 = $806&255;
+ HEAP8[$800>>0] = $807;
+ $808 = ((($0)) + 72|0);
+ $809 = $804 << $740;
+ $810 = ((($739)) + 9|0);
+ $811 = HEAP8[$810>>0]|0;
+ $812 = $811&255;
+ $813 = $812 >>> $742;
+ $814 = $813 | $809;
+ $815 = $814&255;
+ HEAP8[$808>>0] = $815;
+ $816 = ((($0)) + 73|0);
+ $817 = $812 << $740;
+ $818 = ((($739)) + 10|0);
+ $819 = HEAP8[$818>>0]|0;
+ $820 = $819&255;
+ $821 = $820 >>> $742;
+ $822 = $821 | $817;
+ $823 = $822&255;
+ HEAP8[$816>>0] = $823;
+ $824 = ((($0)) + 74|0);
+ $825 = $820 << $740;
+ $826 = ((($739)) + 11|0);
+ $827 = HEAP8[$826>>0]|0;
+ $828 = $827&255;
+ $829 = $828 >>> $742;
+ $830 = $829 | $825;
+ $831 = $830&255;
+ HEAP8[$824>>0] = $831;
+ $832 = ((($0)) + 75|0);
+ $833 = $828 << $740;
+ $834 = ((($739)) + 12|0);
+ $835 = HEAP8[$834>>0]|0;
+ $836 = $835&255;
+ $837 = $836 >>> $742;
+ $838 = $837 | $833;
+ $839 = $838&255;
+ HEAP8[$832>>0] = $839;
+ $840 = ((($0)) + 76|0);
+ $841 = $836 << $740;
+ $842 = ((($739)) + 13|0);
+ $843 = HEAP8[$842>>0]|0;
+ $844 = $843&255;
+ $845 = $844 >>> $742;
+ $846 = $845 | $841;
+ $847 = $846&255;
+ HEAP8[$840>>0] = $847;
+ $848 = $844 << $740;
+ $849 = ((($739)) + 14|0);
+ $850 = HEAP8[$849>>0]|0;
+ $851 = $850&255;
+ $852 = $851 >>> $742;
+ $853 = $852 | $848;
+ $854 = $853&255;
+ $855 = $851 << $740;
+ $856 = ((($739)) + 15|0);
+ $857 = HEAP8[$856>>0]|0;
+ $858 = $857&255;
+ $859 = $858 >>> $742;
+ $860 = $859 | $855;
+ $861 = $860&255;
+ $862 = $858 << $740;
+ $863 = ((($739)) + 16|0);
+ $864 = HEAP8[$863>>0]|0;
+ $865 = $864&255;
+ $866 = $865 >>> $742;
+ $867 = $866 | $862;
+ $868 = $867&255;
+ $$sink = $868;$$sink191 = $861;$$sink192 = $854;
+ }
+ $912 = ((($0)) + 77|0);
+ HEAP8[$912>>0] = $$sink192;
+ $913 = ((($0)) + 78|0);
+ HEAP8[$913>>0] = $$sink191;
+ $914 = ((($0)) + 79|0);
+ HEAP8[$914>>0] = $$sink;
+ $915 = HEAP8[$5>>0]|0;
+ $916 = ((($0)) + 80|0);
+ $917 = ((($0)) + 432|0);
+ $918 = $915 & -15;
+ $919 = $918 | 2;
+ dest=$916; stop=dest+36|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
+ ;HEAP32[$917>>2]=0|0;HEAP32[$917+4>>2]=0|0;HEAP32[$917+8>>2]=0|0;HEAP32[$917+12>>2]=0|0;HEAP32[$917+16>>2]=0|0;HEAP32[$917+20>>2]=0|0;HEAP32[$917+24>>2]=0|0;HEAP32[$917+28>>2]=0|0;
+ HEAP8[$5>>0] = $919;
+ $920 = ((($0)) + 464|0);
+ $921 = ((($9)) + 353|0);
+ ;HEAP32[$920>>2]=0|0;HEAP32[$920+4>>2]=0|0;HEAP32[$920+8>>2]=0|0;HEAP32[$920+12>>2]=0|0;
+ $922 = HEAP8[$921>>0]|0;
+ $923 = $922 & -4;
+ HEAP8[$921>>0] = $923;
+ $924 = $3;
+ $925 = $924;
+ HEAP32[$925>>2] = 0;
+ $926 = (($924) + 4)|0;
+ $927 = $926;
+ HEAP32[$927>>2] = 0;
+ $928 = ((($3)) + 8|0);
+ $929 = $928;
+ $930 = $929;
+ HEAP32[$930>>2] = 0;
+ $931 = (($929) + 4)|0;
+ $932 = $931;
+ HEAP32[$932>>2] = 0;
+ $933 = $4;
+ $934 = $933;
+ HEAP32[$934>>2] = 0;
+ $935 = (($933) + 4)|0;
+ $936 = $935;
+ HEAP32[$936>>2] = 0;
+ $937 = ((($4)) + 8|0);
+ $938 = $937;
+ $939 = $938;
+ HEAP32[$939>>2] = 0;
+ $940 = (($938) + 4)|0;
+ $941 = $940;
+ HEAP32[$941>>2] = 0;
+ $942 = ((($4)) + 16|0);
+ $943 = $942;
+ $944 = $943;
+ HEAP32[$944>>2] = 0;
+ $945 = (($943) + 4)|0;
+ $946 = $945;
+ HEAP32[$946>>2] = 0;
+ $947 = ($694|0)==(0);
+ if ($947) {
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $948 = (($694) + 16)|0;
+ ___gcry_burn_stack($948);
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+}
+function __gcry_cipher_ocb_encrypt($0,$1,$2,$3,$4) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ var $5 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $5 = (_ocb_crypt($0,1,$1,$2,$3,$4)|0);
+ return ($5|0);
+}
+function _ocb_crypt($0,$1,$2,$3,$4,$5) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ $5 = $5|0;
+ var $$0 = 0, $$0108$lcssa = 0, $$0108251 = 0, $$02434$i = 0, $$02434$i161 = 0, $$02434$i221 = 0, $$02533$i = 0, $$02533$i162 = 0, $$02533$i222 = 0, $$026$i = 0, $$028$i = 0, $$03449$i195 = 0, $$035$i = 0, $$035$i160 = 0, $$035$i220 = 0, $$03548$i196 = 0, $$03647$i197 = 0, $$037$i201 = 0, $$039$i200 = 0, $$041$i199 = 0;
+ var $$050$i194 = 0, $$1 = 0, $$1$i153 = 0, $$1$i202 = 0, $$1110$lcssa = 0, $$1110250 = 0, $$1113$lcssa = 0, $$1113249 = 0, $$1116$lcssa = 0, $$1116248 = 0, $$12731$i = 0, $$12731$i170 = 0, $$12731$i170$ph = 0, $$12731$i230 = 0, $$12731$i230$ph = 0, $$12930$i = 0, $$12930$i171 = 0, $$12930$i171$ph = 0, $$12930$i231 = 0, $$12930$i231$ph = 0;
+ var $$13845$i206 = 0, $$14044$i207 = 0, $$14243$i208 = 0, $$2 = 0, $$2111 = 0, $$2114 = 0, $$2117 = 0, $$232$i = 0, $$232$i169 = 0, $$232$i169$ph = 0, $$232$i229 = 0, $$232$i229$ph = 0, $$246$i205 = 0, $$3 = 0, $$in = 0, $$phi$trans$insert273 = 0, $$pre = 0, $$pre275 = 0, $10 = 0, $100 = 0;
+ var $1000 = 0, $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;
+ var $1019 = 0, $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;
+ var $1037 = 0, $1038 = 0, $1039 = 0, $104 = 0, $1040 = 0, $1041 = 0, $1042 = 0, $1043 = 0, $1044 = 0, $1045 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0;
+ var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0;
+ var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0;
+ var $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0;
+ var $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0;
+ var $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0;
+ var $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0;
+ var $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0;
+ var $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0;
+ var $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0;
+ var $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0;
+ var $296 = 0, $297 = 0, $298 = 0, $299 = 0, $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, $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, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0;
+ var $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, $422 = 0;
+ var $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, $440 = 0;
+ var $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, $459 = 0;
+ var $46 = 0, $460 = 0, $461 = 0, $462 = 0, $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;
+ var $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, $495 = 0;
+ var $496 = 0, $497 = 0, $498 = 0, $499 = 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;
+ var $514 = 0, $515 = 0, $516 = 0, $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;
+ 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, $547 = 0, $548 = 0, $549 = 0, $55 = 0;
+ var $550 = 0, $551 = 0, $552 = 0, $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;
+ 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, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0;
+ var $587 = 0, $588 = 0, $589 = 0, $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;
+ 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, $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;
+ var $640 = 0, $641 = 0, $642 = 0, $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;
+ var $659 = 0, $66 = 0, $660 = 0, $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;
+ var $677 = 0, $678 = 0, $679 = 0, $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;
+ var $695 = 0, $696 = 0, $697 = 0, $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;
+ var $712 = 0, $713 = 0, $714 = 0, $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;
+ var $730 = 0, $731 = 0, $732 = 0, $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;
+ var $749 = 0, $75 = 0, $750 = 0, $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;
+ var $767 = 0, $768 = 0, $769 = 0, $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;
+ var $785 = 0, $786 = 0, $787 = 0, $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;
+ var $802 = 0, $803 = 0, $804 = 0, $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;
+ var $820 = 0, $821 = 0, $822 = 0, $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;
+ var $839 = 0, $84 = 0, $840 = 0, $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;
+ var $857 = 0, $858 = 0, $859 = 0, $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;
+ 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, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0;
+ var $893 = 0, $894 = 0, $895 = 0, $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;
+ 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, $927 = 0, $928 = 0;
+ var $929 = 0, $93 = 0, $930 = 0, $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;
+ 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, $958 = 0, $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0;
+ var $965 = 0, $966 = 0, $967 = 0, $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;
+ var $983 = 0, $984 = 0, $985 = 0, $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, $or$cond = 0, $or$cond$i = 0;
+ var $or$cond$i156 = 0, $or$cond$i189 = 0, $or$cond$i216 = 0, $scevgep = 0, $scevgep$i152 = 0, $scevgep$i157 = 0, $scevgep$i190 = 0, $scevgep$i217 = 0, $scevgep272 = 0, $scevgep44$i = 0, $scevgep44$i158 = 0, $scevgep44$i218 = 0, $scevgep61$i191 = 0, $scevgep63$i192 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
+ $6 = sp + 16|0;
+ $7 = sp;
+ $8 = $5 >>> 4;
+ $9 = ((($0)) + 56|0);
+ $10 = HEAP8[$9>>0]|0;
+ $11 = $10 & 2;
+ $12 = ($11<<24>>24)==(0);
+ if ($12) {
+ $$0 = 156;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $13 = ((($0)) + 128|0);
+ $14 = ((($13)) + 353|0);
+ $15 = HEAP8[$14>>0]|0;
+ $16 = $15 & 1;
+ $17 = ($16<<24>>24)==(0);
+ if (!($17)) {
+ $$0 = 156;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $18 = ((($0)) + 12|0);
+ $19 = HEAP32[$18>>2]|0;
+ $20 = ((($19)) + 20|0);
+ $21 = HEAP32[$20>>2]|0;
+ $22 = ($21|0)==(16);
+ if (!($22)) {
+ $$0 = 12;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $23 = ($3>>>0)<($5>>>0);
+ if ($23) {
+ $$0 = 200;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $24 = $10 & 8;
+ $25 = ($24<<24>>24)!=(0);
+ $26 = $5 & 15;
+ $27 = ($26|0)==(0);
+ $or$cond = $27 | $25;
+ if (!($or$cond)) {
+ $$0 = 139;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $28 = ($8|0)==(0);
+ do {
+ if ($28) {
+ $$1 = 0;$$2111 = $5;$$2114 = $4;$$2117 = $2;
+ } else {
+ $29 = ((($0)) + 40|0);
+ $30 = HEAP32[$29>>2]|0;
+ $31 = ($30|0)==(0|0);
+ $32 = $5 & -16;
+ if (!($31)) {
+ $33 = (($5) - ($32))|0;
+ $34 = (($2) + ($32)|0);
+ $35 = (($4) + ($32)|0);
+ FUNCTION_TABLE_viiiii[$30 & 127]($0,$2,$4,$8,$1);
+ $$1 = 0;$$2111 = $33;$$2114 = $35;$$2117 = $34;
+ break;
+ }
+ $36 = ($1|0)!=(0);
+ $37 = ((($19)) + 36|0);
+ $38 = ((($19)) + 40|0);
+ $$in = $36 ? $37 : $38;
+ $39 = HEAP32[$$in>>2]|0;
+ if ($36) {
+ $40 = ((($0)) + 80|0);
+ _ocb_checksum($40,$4,$8);
+ }
+ $41 = ($5>>>0)>(15);
+ if ($41) {
+ $42 = ((($0)) + 464|0);
+ $43 = ((($0)) + 64|0);
+ $44 = $43;
+ $45 = ((($43)) + 4|0);
+ $46 = ((($0)) + 72|0);
+ $47 = ((($0)) + 76|0);
+ $48 = ((($0)) + 496|0);
+ $49 = (($5) + -16)|0;
+ $50 = $49 & -16;
+ $51 = (($50) + 16)|0;
+ $52 = (($49) - ($50))|0;
+ $53 = ((($43)) + 1|0);
+ $54 = ((($43)) + 2|0);
+ $55 = ((($43)) + 3|0);
+ $56 = ((($43)) + 4|0);
+ $57 = ((($43)) + 5|0);
+ $58 = ((($43)) + 6|0);
+ $59 = ((($43)) + 7|0);
+ $60 = ((($0)) + 72|0);
+ $61 = ((($0)) + 73|0);
+ $62 = ((($0)) + 74|0);
+ $63 = ((($0)) + 75|0);
+ $64 = ((($0)) + 76|0);
+ $65 = ((($0)) + 77|0);
+ $66 = ((($0)) + 78|0);
+ $67 = ((($0)) + 79|0);
+ $68 = ((($0)) + 72|0);
+ $69 = ((($43)) + 4|0);
+ $70 = ((($0)) + 76|0);
+ $71 = ((($43)) + 1|0);
+ $72 = ((($43)) + 2|0);
+ $73 = ((($43)) + 3|0);
+ $74 = ((($43)) + 4|0);
+ $75 = ((($43)) + 5|0);
+ $76 = ((($43)) + 6|0);
+ $77 = ((($43)) + 7|0);
+ $78 = ((($0)) + 72|0);
+ $79 = ((($0)) + 73|0);
+ $80 = ((($0)) + 74|0);
+ $81 = ((($0)) + 75|0);
+ $82 = ((($0)) + 76|0);
+ $83 = ((($0)) + 77|0);
+ $84 = ((($0)) + 78|0);
+ $85 = ((($0)) + 79|0);
+ $86 = ((($43)) + 1|0);
+ $87 = ((($43)) + 2|0);
+ $88 = ((($43)) + 3|0);
+ $89 = ((($43)) + 4|0);
+ $90 = ((($43)) + 5|0);
+ $91 = ((($43)) + 6|0);
+ $92 = ((($43)) + 7|0);
+ $93 = ((($0)) + 72|0);
+ $94 = ((($0)) + 73|0);
+ $95 = ((($0)) + 74|0);
+ $96 = ((($0)) + 75|0);
+ $97 = ((($0)) + 76|0);
+ $98 = ((($0)) + 77|0);
+ $99 = ((($0)) + 78|0);
+ $100 = ((($0)) + 79|0);
+ $$0108251 = 0;$$1110250 = $5;$$1113249 = $4;$$1116248 = $2;
+ while(1) {
+ $101 = $42;
+ $102 = $101;
+ $103 = HEAP32[$102>>2]|0;
+ $104 = (($101) + 4)|0;
+ $105 = $104;
+ $106 = HEAP32[$105>>2]|0;
+ $107 = (_i64Add(($103|0),($106|0),1,0)|0);
+ $108 = tempRet0;
+ $109 = $42;
+ $110 = $109;
+ HEAP32[$110>>2] = $107;
+ $111 = (($109) + 4)|0;
+ $112 = $111;
+ HEAP32[$112>>2] = $108;
+ $113 = (__gcry_cipher_ocb_get_l($0,$6,$107,$108)|0);
+ $114 = $113;
+ $115 = $114 | $44;
+ $116 = $115 & 3;
+ $117 = ($116|0)==(0);
+ if ($117) {
+ $118 = ((($113)) + 4|0);
+ $119 = HEAP32[$113>>2]|0;
+ $120 = HEAP32[$43>>2]|0;
+ $121 = $120 ^ $119;
+ HEAP32[$43>>2] = $121;
+ $122 = ((($113)) + 8|0);
+ $123 = HEAP32[$118>>2]|0;
+ $124 = HEAP32[$45>>2]|0;
+ $125 = $124 ^ $123;
+ HEAP32[$45>>2] = $125;
+ $126 = ((($113)) + 12|0);
+ $127 = HEAP32[$122>>2]|0;
+ $128 = HEAP32[$46>>2]|0;
+ $129 = $128 ^ $127;
+ HEAP32[$46>>2] = $129;
+ $130 = HEAP32[$126>>2]|0;
+ $131 = HEAP32[$47>>2]|0;
+ $132 = $131 ^ $130;
+ HEAP32[$47>>2] = $132;
+ } else {
+ $133 = ((($113)) + 1|0);
+ $134 = HEAP8[$113>>0]|0;
+ $135 = HEAP8[$43>>0]|0;
+ $136 = $135 ^ $134;
+ HEAP8[$43>>0] = $136;
+ $137 = ((($113)) + 2|0);
+ $138 = HEAP8[$133>>0]|0;
+ $139 = HEAP8[$53>>0]|0;
+ $140 = $139 ^ $138;
+ HEAP8[$53>>0] = $140;
+ $141 = ((($113)) + 3|0);
+ $142 = HEAP8[$137>>0]|0;
+ $143 = HEAP8[$54>>0]|0;
+ $144 = $143 ^ $142;
+ HEAP8[$54>>0] = $144;
+ $145 = ((($113)) + 4|0);
+ $146 = HEAP8[$141>>0]|0;
+ $147 = HEAP8[$55>>0]|0;
+ $148 = $147 ^ $146;
+ HEAP8[$55>>0] = $148;
+ $149 = ((($113)) + 5|0);
+ $150 = HEAP8[$145>>0]|0;
+ $151 = HEAP8[$56>>0]|0;
+ $152 = $151 ^ $150;
+ HEAP8[$56>>0] = $152;
+ $153 = ((($113)) + 6|0);
+ $154 = HEAP8[$149>>0]|0;
+ $155 = HEAP8[$57>>0]|0;
+ $156 = $155 ^ $154;
+ HEAP8[$57>>0] = $156;
+ $157 = ((($113)) + 7|0);
+ $158 = HEAP8[$153>>0]|0;
+ $159 = HEAP8[$58>>0]|0;
+ $160 = $159 ^ $158;
+ HEAP8[$58>>0] = $160;
+ $161 = ((($113)) + 8|0);
+ $162 = HEAP8[$157>>0]|0;
+ $163 = HEAP8[$59>>0]|0;
+ $164 = $163 ^ $162;
+ HEAP8[$59>>0] = $164;
+ $165 = ((($113)) + 9|0);
+ $166 = HEAP8[$161>>0]|0;
+ $167 = HEAP8[$60>>0]|0;
+ $168 = $167 ^ $166;
+ HEAP8[$60>>0] = $168;
+ $169 = ((($113)) + 10|0);
+ $170 = HEAP8[$165>>0]|0;
+ $171 = HEAP8[$61>>0]|0;
+ $172 = $171 ^ $170;
+ HEAP8[$61>>0] = $172;
+ $173 = ((($113)) + 11|0);
+ $174 = HEAP8[$169>>0]|0;
+ $175 = HEAP8[$62>>0]|0;
+ $176 = $175 ^ $174;
+ HEAP8[$62>>0] = $176;
+ $177 = ((($113)) + 12|0);
+ $178 = HEAP8[$173>>0]|0;
+ $179 = HEAP8[$63>>0]|0;
+ $180 = $179 ^ $178;
+ HEAP8[$63>>0] = $180;
+ $181 = ((($113)) + 13|0);
+ $182 = HEAP8[$177>>0]|0;
+ $183 = HEAP8[$64>>0]|0;
+ $184 = $183 ^ $182;
+ HEAP8[$64>>0] = $184;
+ $185 = ((($113)) + 14|0);
+ $186 = HEAP8[$181>>0]|0;
+ $187 = HEAP8[$65>>0]|0;
+ $188 = $187 ^ $186;
+ HEAP8[$65>>0] = $188;
+ $189 = ((($113)) + 15|0);
+ $190 = HEAP8[$185>>0]|0;
+ $191 = HEAP8[$66>>0]|0;
+ $192 = $191 ^ $190;
+ HEAP8[$66>>0] = $192;
+ $193 = HEAP8[$189>>0]|0;
+ $194 = HEAP8[$67>>0]|0;
+ $195 = $194 ^ $193;
+ HEAP8[$67>>0] = $195;
+ }
+ $196 = $$1116248;
+ $197 = $196 | $44;
+ $198 = $$1113249;
+ $199 = $197 | $198;
+ $200 = $199 & 3;
+ $201 = ($200|0)==(0);
+ if ($201) {
+ $202 = HEAP32[$43>>2]|0;
+ $203 = ((($$1113249)) + 4|0);
+ $204 = HEAP32[$$1113249>>2]|0;
+ $205 = $204 ^ $202;
+ $206 = ((($$1116248)) + 4|0);
+ HEAP32[$$1116248>>2] = $205;
+ $207 = HEAP32[$69>>2]|0;
+ $208 = ((($$1113249)) + 8|0);
+ $209 = HEAP32[$203>>2]|0;
+ $210 = $209 ^ $207;
+ $211 = ((($$1116248)) + 8|0);
+ HEAP32[$206>>2] = $210;
+ $212 = HEAP32[$68>>2]|0;
+ $213 = ((($$1113249)) + 12|0);
+ $214 = HEAP32[$208>>2]|0;
+ $215 = $214 ^ $212;
+ $216 = ((($$1116248)) + 12|0);
+ HEAP32[$211>>2] = $215;
+ $217 = HEAP32[$70>>2]|0;
+ $218 = HEAP32[$213>>2]|0;
+ $219 = $218 ^ $217;
+ HEAP32[$216>>2] = $219;
+ } else {
+ $220 = HEAP8[$43>>0]|0;
+ $221 = ((($$1113249)) + 1|0);
+ $222 = HEAP8[$$1113249>>0]|0;
+ $223 = $222 ^ $220;
+ $224 = ((($$1116248)) + 1|0);
+ HEAP8[$$1116248>>0] = $223;
+ $225 = HEAP8[$71>>0]|0;
+ $226 = ((($$1113249)) + 2|0);
+ $227 = HEAP8[$221>>0]|0;
+ $228 = $227 ^ $225;
+ $229 = ((($$1116248)) + 2|0);
+ HEAP8[$224>>0] = $228;
+ $230 = HEAP8[$72>>0]|0;
+ $231 = ((($$1113249)) + 3|0);
+ $232 = HEAP8[$226>>0]|0;
+ $233 = $232 ^ $230;
+ $234 = ((($$1116248)) + 3|0);
+ HEAP8[$229>>0] = $233;
+ $235 = HEAP8[$73>>0]|0;
+ $236 = ((($$1113249)) + 4|0);
+ $237 = HEAP8[$231>>0]|0;
+ $238 = $237 ^ $235;
+ $239 = ((($$1116248)) + 4|0);
+ HEAP8[$234>>0] = $238;
+ $240 = HEAP8[$74>>0]|0;
+ $241 = ((($$1113249)) + 5|0);
+ $242 = HEAP8[$236>>0]|0;
+ $243 = $242 ^ $240;
+ $244 = ((($$1116248)) + 5|0);
+ HEAP8[$239>>0] = $243;
+ $245 = HEAP8[$75>>0]|0;
+ $246 = ((($$1113249)) + 6|0);
+ $247 = HEAP8[$241>>0]|0;
+ $248 = $247 ^ $245;
+ $249 = ((($$1116248)) + 6|0);
+ HEAP8[$244>>0] = $248;
+ $250 = HEAP8[$76>>0]|0;
+ $251 = ((($$1113249)) + 7|0);
+ $252 = HEAP8[$246>>0]|0;
+ $253 = $252 ^ $250;
+ $254 = ((($$1116248)) + 7|0);
+ HEAP8[$249>>0] = $253;
+ $255 = HEAP8[$77>>0]|0;
+ $256 = ((($$1113249)) + 8|0);
+ $257 = HEAP8[$251>>0]|0;
+ $258 = $257 ^ $255;
+ $259 = ((($$1116248)) + 8|0);
+ HEAP8[$254>>0] = $258;
+ $260 = HEAP8[$78>>0]|0;
+ $261 = ((($$1113249)) + 9|0);
+ $262 = HEAP8[$256>>0]|0;
+ $263 = $262 ^ $260;
+ $264 = ((($$1116248)) + 9|0);
+ HEAP8[$259>>0] = $263;
+ $265 = HEAP8[$79>>0]|0;
+ $266 = ((($$1113249)) + 10|0);
+ $267 = HEAP8[$261>>0]|0;
+ $268 = $267 ^ $265;
+ $269 = ((($$1116248)) + 10|0);
+ HEAP8[$264>>0] = $268;
+ $270 = HEAP8[$80>>0]|0;
+ $271 = ((($$1113249)) + 11|0);
+ $272 = HEAP8[$266>>0]|0;
+ $273 = $272 ^ $270;
+ $274 = ((($$1116248)) + 11|0);
+ HEAP8[$269>>0] = $273;
+ $275 = HEAP8[$81>>0]|0;
+ $276 = ((($$1113249)) + 12|0);
+ $277 = HEAP8[$271>>0]|0;
+ $278 = $277 ^ $275;
+ $279 = ((($$1116248)) + 12|0);
+ HEAP8[$274>>0] = $278;
+ $280 = HEAP8[$82>>0]|0;
+ $281 = ((($$1113249)) + 13|0);
+ $282 = HEAP8[$276>>0]|0;
+ $283 = $282 ^ $280;
+ $284 = ((($$1116248)) + 13|0);
+ HEAP8[$279>>0] = $283;
+ $285 = HEAP8[$83>>0]|0;
+ $286 = ((($$1113249)) + 14|0);
+ $287 = HEAP8[$281>>0]|0;
+ $288 = $287 ^ $285;
+ $289 = ((($$1116248)) + 14|0);
+ HEAP8[$284>>0] = $288;
+ $290 = HEAP8[$84>>0]|0;
+ $291 = ((($$1113249)) + 15|0);
+ $292 = HEAP8[$286>>0]|0;
+ $293 = $292 ^ $290;
+ $294 = ((($$1116248)) + 15|0);
+ HEAP8[$289>>0] = $293;
+ $295 = HEAP8[$85>>0]|0;
+ $296 = HEAP8[$291>>0]|0;
+ $297 = $296 ^ $295;
+ HEAP8[$294>>0] = $297;
+ }
+ $298 = (FUNCTION_TABLE_iiii[$39 & 127]($48,$$1116248,$$1116248)|0);
+ $299 = ($298>>>0)>($$0108251>>>0);
+ $300 = $299 ? $298 : $$0108251;
+ $301 = $197 & 3;
+ $302 = ($301|0)==(0);
+ if ($302) {
+ $303 = HEAP32[$43>>2]|0;
+ $304 = ((($$1116248)) + 4|0);
+ $305 = HEAP32[$$1116248>>2]|0;
+ $306 = $305 ^ $303;
+ HEAP32[$$1116248>>2] = $306;
+ $307 = HEAP32[$45>>2]|0;
+ $308 = ((($$1116248)) + 8|0);
+ $309 = HEAP32[$304>>2]|0;
+ $310 = $309 ^ $307;
+ HEAP32[$304>>2] = $310;
+ $311 = HEAP32[$46>>2]|0;
+ $312 = ((($$1116248)) + 12|0);
+ $313 = HEAP32[$308>>2]|0;
+ $314 = $313 ^ $311;
+ HEAP32[$308>>2] = $314;
+ $315 = HEAP32[$47>>2]|0;
+ $316 = HEAP32[$312>>2]|0;
+ $317 = $316 ^ $315;
+ HEAP32[$312>>2] = $317;
+ } else {
+ $318 = HEAP8[$43>>0]|0;
+ $319 = ((($$1116248)) + 1|0);
+ $320 = HEAP8[$$1116248>>0]|0;
+ $321 = $320 ^ $318;
+ HEAP8[$$1116248>>0] = $321;
+ $322 = HEAP8[$86>>0]|0;
+ $323 = ((($$1116248)) + 2|0);
+ $324 = HEAP8[$319>>0]|0;
+ $325 = $324 ^ $322;
+ HEAP8[$319>>0] = $325;
+ $326 = HEAP8[$87>>0]|0;
+ $327 = ((($$1116248)) + 3|0);
+ $328 = HEAP8[$323>>0]|0;
+ $329 = $328 ^ $326;
+ HEAP8[$323>>0] = $329;
+ $330 = HEAP8[$88>>0]|0;
+ $331 = ((($$1116248)) + 4|0);
+ $332 = HEAP8[$327>>0]|0;
+ $333 = $332 ^ $330;
+ HEAP8[$327>>0] = $333;
+ $334 = HEAP8[$89>>0]|0;
+ $335 = ((($$1116248)) + 5|0);
+ $336 = HEAP8[$331>>0]|0;
+ $337 = $336 ^ $334;
+ HEAP8[$331>>0] = $337;
+ $338 = HEAP8[$90>>0]|0;
+ $339 = ((($$1116248)) + 6|0);
+ $340 = HEAP8[$335>>0]|0;
+ $341 = $340 ^ $338;
+ HEAP8[$335>>0] = $341;
+ $342 = HEAP8[$91>>0]|0;
+ $343 = ((($$1116248)) + 7|0);
+ $344 = HEAP8[$339>>0]|0;
+ $345 = $344 ^ $342;
+ HEAP8[$339>>0] = $345;
+ $346 = HEAP8[$92>>0]|0;
+ $347 = ((($$1116248)) + 8|0);
+ $348 = HEAP8[$343>>0]|0;
+ $349 = $348 ^ $346;
+ HEAP8[$343>>0] = $349;
+ $350 = HEAP8[$93>>0]|0;
+ $351 = ((($$1116248)) + 9|0);
+ $352 = HEAP8[$347>>0]|0;
+ $353 = $352 ^ $350;
+ HEAP8[$347>>0] = $353;
+ $354 = HEAP8[$94>>0]|0;
+ $355 = ((($$1116248)) + 10|0);
+ $356 = HEAP8[$351>>0]|0;
+ $357 = $356 ^ $354;
+ HEAP8[$351>>0] = $357;
+ $358 = HEAP8[$95>>0]|0;
+ $359 = ((($$1116248)) + 11|0);
+ $360 = HEAP8[$355>>0]|0;
+ $361 = $360 ^ $358;
+ HEAP8[$355>>0] = $361;
+ $362 = HEAP8[$96>>0]|0;
+ $363 = ((($$1116248)) + 12|0);
+ $364 = HEAP8[$359>>0]|0;
+ $365 = $364 ^ $362;
+ HEAP8[$359>>0] = $365;
+ $366 = HEAP8[$97>>0]|0;
+ $367 = ((($$1116248)) + 13|0);
+ $368 = HEAP8[$363>>0]|0;
+ $369 = $368 ^ $366;
+ HEAP8[$363>>0] = $369;
+ $370 = HEAP8[$98>>0]|0;
+ $371 = ((($$1116248)) + 14|0);
+ $372 = HEAP8[$367>>0]|0;
+ $373 = $372 ^ $370;
+ HEAP8[$367>>0] = $373;
+ $374 = HEAP8[$99>>0]|0;
+ $375 = ((($$1116248)) + 15|0);
+ $376 = HEAP8[$371>>0]|0;
+ $377 = $376 ^ $374;
+ HEAP8[$371>>0] = $377;
+ $378 = HEAP8[$100>>0]|0;
+ $379 = HEAP8[$375>>0]|0;
+ $380 = $379 ^ $378;
+ HEAP8[$375>>0] = $380;
+ }
+ $381 = ((($$1113249)) + 16|0);
+ $382 = (($$1110250) + -16)|0;
+ $383 = ((($$1116248)) + 16|0);
+ $384 = ($382>>>0)>(15);
+ if ($384) {
+ $$0108251 = $300;$$1110250 = $382;$$1113249 = $381;$$1116248 = $383;
+ } else {
+ break;
+ }
+ }
+ $scevgep = (($4) + ($51)|0);
+ $scevgep272 = (($2) + ($51)|0);
+ $$0108$lcssa = $300;$$1110$lcssa = $52;$$1113$lcssa = $scevgep;$$1116$lcssa = $scevgep272;
+ } else {
+ $$0108$lcssa = 0;$$1110$lcssa = $5;$$1113$lcssa = $4;$$1116$lcssa = $2;
+ }
+ if ($36) {
+ $$1 = $$0108$lcssa;$$2111 = $$1110$lcssa;$$2114 = $$1113$lcssa;$$2117 = $$1116$lcssa;
+ } else {
+ $385 = (0 - ($32))|0;
+ $386 = (($$1116$lcssa) + ($385)|0);
+ $387 = ((($0)) + 80|0);
+ _ocb_checksum($387,$386,$8);
+ $$1 = $$0108$lcssa;$$2111 = $$1110$lcssa;$$2114 = $$1113$lcssa;$$2117 = $$1116$lcssa;
+ }
+ }
+ } while(0);
+ $388 = ($$2111|0)==(0);
+ if ($388) {
+ $$2 = $$1;
+ } else {
+ $389 = ((($0)) + 64|0);
+ $390 = $389;
+ $391 = $13;
+ $392 = $391 | $390;
+ $393 = $392 & 3;
+ $394 = ($393|0)==(0);
+ if ($394) {
+ $395 = ((($13)) + 4|0);
+ $396 = HEAP32[$13>>2]|0;
+ $397 = ((($389)) + 4|0);
+ $398 = HEAP32[$389>>2]|0;
+ $399 = $398 ^ $396;
+ HEAP32[$389>>2] = $399;
+ $400 = ((($0)) + 136|0);
+ $401 = HEAP32[$395>>2]|0;
+ $402 = ((($0)) + 72|0);
+ $403 = HEAP32[$397>>2]|0;
+ $404 = $403 ^ $401;
+ HEAP32[$397>>2] = $404;
+ $405 = ((($0)) + 140|0);
+ $406 = HEAP32[$400>>2]|0;
+ $407 = ((($0)) + 76|0);
+ $408 = HEAP32[$402>>2]|0;
+ $409 = $408 ^ $406;
+ HEAP32[$402>>2] = $409;
+ $410 = HEAP32[$405>>2]|0;
+ $411 = HEAP32[$407>>2]|0;
+ $412 = $411 ^ $410;
+ HEAP32[$407>>2] = $412;
+ } else {
+ $413 = ((($13)) + 1|0);
+ $414 = HEAP8[$13>>0]|0;
+ $415 = ((($389)) + 1|0);
+ $416 = HEAP8[$389>>0]|0;
+ $417 = $416 ^ $414;
+ HEAP8[$389>>0] = $417;
+ $418 = ((($13)) + 2|0);
+ $419 = HEAP8[$413>>0]|0;
+ $420 = ((($389)) + 2|0);
+ $421 = HEAP8[$415>>0]|0;
+ $422 = $421 ^ $419;
+ HEAP8[$415>>0] = $422;
+ $423 = ((($13)) + 3|0);
+ $424 = HEAP8[$418>>0]|0;
+ $425 = ((($389)) + 3|0);
+ $426 = HEAP8[$420>>0]|0;
+ $427 = $426 ^ $424;
+ HEAP8[$420>>0] = $427;
+ $428 = ((($13)) + 4|0);
+ $429 = HEAP8[$423>>0]|0;
+ $430 = ((($389)) + 4|0);
+ $431 = HEAP8[$425>>0]|0;
+ $432 = $431 ^ $429;
+ HEAP8[$425>>0] = $432;
+ $433 = ((($13)) + 5|0);
+ $434 = HEAP8[$428>>0]|0;
+ $435 = ((($389)) + 5|0);
+ $436 = HEAP8[$430>>0]|0;
+ $437 = $436 ^ $434;
+ HEAP8[$430>>0] = $437;
+ $438 = ((($13)) + 6|0);
+ $439 = HEAP8[$433>>0]|0;
+ $440 = ((($389)) + 6|0);
+ $441 = HEAP8[$435>>0]|0;
+ $442 = $441 ^ $439;
+ HEAP8[$435>>0] = $442;
+ $443 = ((($13)) + 7|0);
+ $444 = HEAP8[$438>>0]|0;
+ $445 = ((($389)) + 7|0);
+ $446 = HEAP8[$440>>0]|0;
+ $447 = $446 ^ $444;
+ HEAP8[$440>>0] = $447;
+ $448 = ((($0)) + 136|0);
+ $449 = HEAP8[$443>>0]|0;
+ $450 = ((($0)) + 72|0);
+ $451 = HEAP8[$445>>0]|0;
+ $452 = $451 ^ $449;
+ HEAP8[$445>>0] = $452;
+ $453 = ((($0)) + 137|0);
+ $454 = HEAP8[$448>>0]|0;
+ $455 = ((($0)) + 73|0);
+ $456 = HEAP8[$450>>0]|0;
+ $457 = $456 ^ $454;
+ HEAP8[$450>>0] = $457;
+ $458 = ((($0)) + 138|0);
+ $459 = HEAP8[$453>>0]|0;
+ $460 = ((($0)) + 74|0);
+ $461 = HEAP8[$455>>0]|0;
+ $462 = $461 ^ $459;
+ HEAP8[$455>>0] = $462;
+ $463 = ((($0)) + 139|0);
+ $464 = HEAP8[$458>>0]|0;
+ $465 = ((($0)) + 75|0);
+ $466 = HEAP8[$460>>0]|0;
+ $467 = $466 ^ $464;
+ HEAP8[$460>>0] = $467;
+ $468 = ((($0)) + 140|0);
+ $469 = HEAP8[$463>>0]|0;
+ $470 = ((($0)) + 76|0);
+ $471 = HEAP8[$465>>0]|0;
+ $472 = $471 ^ $469;
+ HEAP8[$465>>0] = $472;
+ $473 = ((($0)) + 141|0);
+ $474 = HEAP8[$468>>0]|0;
+ $475 = ((($0)) + 77|0);
+ $476 = HEAP8[$470>>0]|0;
+ $477 = $476 ^ $474;
+ HEAP8[$470>>0] = $477;
+ $478 = ((($0)) + 142|0);
+ $479 = HEAP8[$473>>0]|0;
+ $480 = ((($0)) + 78|0);
+ $481 = HEAP8[$475>>0]|0;
+ $482 = $481 ^ $479;
+ HEAP8[$475>>0] = $482;
+ $483 = ((($0)) + 143|0);
+ $484 = HEAP8[$478>>0]|0;
+ $485 = ((($0)) + 79|0);
+ $486 = HEAP8[$480>>0]|0;
+ $487 = $486 ^ $484;
+ HEAP8[$480>>0] = $487;
+ $488 = HEAP8[$483>>0]|0;
+ $489 = HEAP8[$485>>0]|0;
+ $490 = $489 ^ $488;
+ HEAP8[$485>>0] = $490;
+ }
+ $491 = HEAP32[$18>>2]|0;
+ $492 = ((($491)) + 36|0);
+ $493 = HEAP32[$492>>2]|0;
+ $494 = ((($0)) + 496|0);
+ $495 = (FUNCTION_TABLE_iiii[$493 & 127]($494,$7,$389)|0);
+ $496 = ($495>>>0)>($$1>>>0);
+ $497 = $496 ? $495 : $$1;
+ $498 = ($1|0)==(0);
+ do {
+ if ($498) {
+ $645 = ((($7)) + 4|0);
+ $646 = HEAP32[$7>>2]|0;
+ $647 = ((($6)) + 4|0);
+ HEAP32[$6>>2] = $646;
+ $648 = ((($7)) + 8|0);
+ $649 = HEAP32[$645>>2]|0;
+ $650 = ((($6)) + 8|0);
+ HEAP32[$647>>2] = $649;
+ $651 = ((($7)) + 12|0);
+ $652 = HEAP32[$648>>2]|0;
+ $653 = ((($6)) + 12|0);
+ HEAP32[$650>>2] = $652;
+ $654 = HEAP32[$651>>2]|0;
+ HEAP32[$653>>2] = $654;
+ $655 = $$2114;
+ $656 = $655 & 3;
+ $657 = ($656|0)==(0);
+ $658 = ($$2111>>>0)>(3);
+ $or$cond$i156 = $658 & $657;
+ if ($or$cond$i156) {
+ $659 = (($$2111) + -4)|0;
+ $660 = $659 & -4;
+ $661 = (($660) + 4)|0;
+ $scevgep$i157 = (($$2114) + ($661)|0);
+ $$02434$i161 = $$2114;$$02533$i162 = $6;$$035$i160 = $$2111;
+ while(1) {
+ $662 = ((($$02434$i161)) + 4|0);
+ $663 = HEAP32[$$02434$i161>>2]|0;
+ $664 = ((($$02533$i162)) + 4|0);
+ HEAP32[$$02533$i162>>2] = $663;
+ $665 = (($$035$i160) + -4)|0;
+ $666 = ($665>>>0)>(3);
+ if ($666) {
+ $$02434$i161 = $662;$$02533$i162 = $664;$$035$i160 = $665;
+ } else {
+ break;
+ }
+ }
+ $scevgep44$i158 = (($6) + ($661)|0);
+ $667 = (($659) - ($660))|0;
+ $668 = ($667|0)==(0);
+ if ($668) {
+ $677 = $646;$682 = $649;
+ } else {
+ $$12731$i170$ph = $scevgep$i157;$$12930$i171$ph = $scevgep44$i158;$$232$i169$ph = $667;
+ label = 51;
+ }
+ } else {
+ $$12731$i170$ph = $$2114;$$12930$i171$ph = $6;$$232$i169$ph = $$2111;
+ label = 51;
+ }
+ if ((label|0) == 51) {
+ $$12731$i170 = $$12731$i170$ph;$$12930$i171 = $$12930$i171$ph;$$232$i169 = $$232$i169$ph;
+ while(1) {
+ $669 = ((($$12731$i170)) + 1|0);
+ $670 = HEAP8[$$12731$i170>>0]|0;
+ $671 = ((($$12930$i171)) + 1|0);
+ HEAP8[$$12930$i171>>0] = $670;
+ $672 = (($$232$i169) + -1)|0;
+ $673 = ($672|0)==(0);
+ if ($673) {
+ break;
+ } else {
+ $$12731$i170 = $669;$$12930$i171 = $671;$$232$i169 = $672;
+ }
+ }
+ $$pre = HEAP32[$7>>2]|0;
+ $$phi$trans$insert273 = ((($7)) + 4|0);
+ $$pre275 = HEAP32[$$phi$trans$insert273>>2]|0;
+ $677 = $$pre;$682 = $$pre275;
+ }
+ $674 = ((($6)) + 4|0);
+ $675 = HEAP32[$6>>2]|0;
+ $676 = $675 ^ $677;
+ HEAP32[$6>>2] = $676;
+ $678 = ((($7)) + 8|0);
+ $679 = ((($6)) + 8|0);
+ $680 = HEAP32[$674>>2]|0;
+ $681 = $680 ^ $682;
+ HEAP32[$674>>2] = $681;
+ $683 = ((($7)) + 12|0);
+ $684 = HEAP32[$678>>2]|0;
+ $685 = ((($6)) + 12|0);
+ $686 = HEAP32[$679>>2]|0;
+ $687 = $686 ^ $684;
+ HEAP32[$679>>2] = $687;
+ $688 = HEAP32[$683>>2]|0;
+ $689 = HEAP32[$685>>2]|0;
+ $690 = $689 ^ $688;
+ HEAP32[$685>>2] = $690;
+ $691 = (($6) + ($$2111)|0);
+ HEAP8[$691>>0] = -128;
+ $692 = $$2117;
+ $693 = $692 & 3;
+ $694 = ($693|0)==(0);
+ $or$cond$i = $694 & $658;
+ if ($or$cond$i) {
+ $695 = (($$2111) + -4)|0;
+ $696 = $695 & -4;
+ $697 = (($696) + 4)|0;
+ $scevgep$i152 = (($6) + ($697)|0);
+ $$02434$i = $6;$$02533$i = $$2117;$$035$i = $$2111;
+ while(1) {
+ $698 = ((($$02434$i)) + 4|0);
+ $699 = HEAP32[$$02434$i>>2]|0;
+ $700 = ((($$02533$i)) + 4|0);
+ HEAP32[$$02533$i>>2] = $699;
+ $701 = (($$035$i) + -4)|0;
+ $702 = ($701>>>0)>(3);
+ if ($702) {
+ $$02434$i = $698;$$02533$i = $700;$$035$i = $701;
+ } else {
+ break;
+ }
+ }
+ $scevgep44$i = (($$2117) + ($697)|0);
+ $703 = (($695) - ($696))|0;
+ $$026$i = $scevgep$i152;$$028$i = $scevgep44$i;$$1$i153 = $703;
+ } else {
+ $$026$i = $6;$$028$i = $$2117;$$1$i153 = $$2111;
+ }
+ $704 = ($$1$i153|0)==(0);
+ if (!($704)) {
+ $$12731$i = $$026$i;$$12930$i = $$028$i;$$232$i = $$1$i153;
+ while(1) {
+ $705 = ((($$12731$i)) + 1|0);
+ $706 = HEAP8[$$12731$i>>0]|0;
+ $707 = ((($$12930$i)) + 1|0);
+ HEAP8[$$12930$i>>0] = $706;
+ $708 = (($$232$i) + -1)|0;
+ $709 = ($708|0)==(0);
+ if ($709) {
+ break;
+ } else {
+ $$12731$i = $705;$$12930$i = $707;$$232$i = $708;
+ }
+ }
+ }
+ $710 = ((($0)) + 80|0);
+ $711 = $710;
+ $712 = $711 & 3;
+ $713 = ($712|0)==(0);
+ if ($713) {
+ $714 = HEAP32[$6>>2]|0;
+ $715 = ((($710)) + 4|0);
+ $716 = HEAP32[$710>>2]|0;
+ $717 = $716 ^ $714;
+ HEAP32[$710>>2] = $717;
+ $718 = HEAP32[$674>>2]|0;
+ $719 = ((($0)) + 88|0);
+ $720 = HEAP32[$715>>2]|0;
+ $721 = $720 ^ $718;
+ HEAP32[$715>>2] = $721;
+ $722 = HEAP32[$679>>2]|0;
+ $723 = ((($0)) + 92|0);
+ $724 = HEAP32[$719>>2]|0;
+ $725 = $724 ^ $722;
+ HEAP32[$719>>2] = $725;
+ $726 = HEAP32[$685>>2]|0;
+ $727 = HEAP32[$723>>2]|0;
+ $728 = $727 ^ $726;
+ HEAP32[$723>>2] = $728;
+ break;
+ } else {
+ $729 = ((($6)) + 1|0);
+ $730 = HEAP8[$6>>0]|0;
+ $731 = ((($710)) + 1|0);
+ $732 = HEAP8[$710>>0]|0;
+ $733 = $732 ^ $730;
+ HEAP8[$710>>0] = $733;
+ $734 = ((($6)) + 2|0);
+ $735 = HEAP8[$729>>0]|0;
+ $736 = ((($710)) + 2|0);
+ $737 = HEAP8[$731>>0]|0;
+ $738 = $737 ^ $735;
+ HEAP8[$731>>0] = $738;
+ $739 = ((($6)) + 3|0);
+ $740 = HEAP8[$734>>0]|0;
+ $741 = ((($710)) + 3|0);
+ $742 = HEAP8[$736>>0]|0;
+ $743 = $742 ^ $740;
+ HEAP8[$736>>0] = $743;
+ $744 = ((($6)) + 4|0);
+ $745 = HEAP8[$739>>0]|0;
+ $746 = ((($710)) + 4|0);
+ $747 = HEAP8[$741>>0]|0;
+ $748 = $747 ^ $745;
+ HEAP8[$741>>0] = $748;
+ $749 = ((($6)) + 5|0);
+ $750 = HEAP8[$744>>0]|0;
+ $751 = ((($710)) + 5|0);
+ $752 = HEAP8[$746>>0]|0;
+ $753 = $752 ^ $750;
+ HEAP8[$746>>0] = $753;
+ $754 = ((($6)) + 6|0);
+ $755 = HEAP8[$749>>0]|0;
+ $756 = ((($710)) + 6|0);
+ $757 = HEAP8[$751>>0]|0;
+ $758 = $757 ^ $755;
+ HEAP8[$751>>0] = $758;
+ $759 = ((($6)) + 7|0);
+ $760 = HEAP8[$754>>0]|0;
+ $761 = ((($710)) + 7|0);
+ $762 = HEAP8[$756>>0]|0;
+ $763 = $762 ^ $760;
+ HEAP8[$756>>0] = $763;
+ $764 = ((($6)) + 8|0);
+ $765 = HEAP8[$759>>0]|0;
+ $766 = ((($0)) + 88|0);
+ $767 = HEAP8[$761>>0]|0;
+ $768 = $767 ^ $765;
+ HEAP8[$761>>0] = $768;
+ $769 = ((($6)) + 9|0);
+ $770 = HEAP8[$764>>0]|0;
+ $771 = ((($0)) + 89|0);
+ $772 = HEAP8[$766>>0]|0;
+ $773 = $772 ^ $770;
+ HEAP8[$766>>0] = $773;
+ $774 = ((($6)) + 10|0);
+ $775 = HEAP8[$769>>0]|0;
+ $776 = ((($0)) + 90|0);
+ $777 = HEAP8[$771>>0]|0;
+ $778 = $777 ^ $775;
+ HEAP8[$771>>0] = $778;
+ $779 = ((($6)) + 11|0);
+ $780 = HEAP8[$774>>0]|0;
+ $781 = ((($0)) + 91|0);
+ $782 = HEAP8[$776>>0]|0;
+ $783 = $782 ^ $780;
+ HEAP8[$776>>0] = $783;
+ $784 = ((($6)) + 12|0);
+ $785 = HEAP8[$779>>0]|0;
+ $786 = ((($0)) + 92|0);
+ $787 = HEAP8[$781>>0]|0;
+ $788 = $787 ^ $785;
+ HEAP8[$781>>0] = $788;
+ $789 = ((($6)) + 13|0);
+ $790 = HEAP8[$784>>0]|0;
+ $791 = ((($0)) + 93|0);
+ $792 = HEAP8[$786>>0]|0;
+ $793 = $792 ^ $790;
+ HEAP8[$786>>0] = $793;
+ $794 = ((($6)) + 14|0);
+ $795 = HEAP8[$789>>0]|0;
+ $796 = ((($0)) + 94|0);
+ $797 = HEAP8[$791>>0]|0;
+ $798 = $797 ^ $795;
+ HEAP8[$791>>0] = $798;
+ $799 = ((($6)) + 15|0);
+ $800 = HEAP8[$794>>0]|0;
+ $801 = ((($0)) + 95|0);
+ $802 = HEAP8[$796>>0]|0;
+ $803 = $802 ^ $800;
+ HEAP8[$796>>0] = $803;
+ $804 = HEAP8[$799>>0]|0;
+ $805 = HEAP8[$801>>0]|0;
+ $806 = $805 ^ $804;
+ HEAP8[$801>>0] = $806;
+ break;
+ }
+ } else {
+ $499 = $$2114;
+ $500 = $499 & 3;
+ $501 = ($500|0)==(0);
+ $502 = ($$2111>>>0)>(3);
+ $or$cond$i216 = $502 & $501;
+ if ($or$cond$i216) {
+ $503 = (($$2111) + -4)|0;
+ $504 = $503 & -4;
+ $505 = (($504) + 4)|0;
+ $scevgep$i217 = (($$2114) + ($505)|0);
+ $$02434$i221 = $$2114;$$02533$i222 = $6;$$035$i220 = $$2111;
+ while(1) {
+ $506 = ((($$02434$i221)) + 4|0);
+ $507 = HEAP32[$$02434$i221>>2]|0;
+ $508 = ((($$02533$i222)) + 4|0);
+ HEAP32[$$02533$i222>>2] = $507;
+ $509 = (($$035$i220) + -4)|0;
+ $510 = ($509>>>0)>(3);
+ if ($510) {
+ $$02434$i221 = $506;$$02533$i222 = $508;$$035$i220 = $509;
+ } else {
+ break;
+ }
+ }
+ $scevgep44$i218 = (($6) + ($505)|0);
+ $511 = (($503) - ($504))|0;
+ $512 = ($511|0)==(0);
+ if (!($512)) {
+ $$12731$i230$ph = $scevgep$i217;$$12930$i231$ph = $scevgep44$i218;$$232$i229$ph = $511;
+ label = 35;
+ }
+ } else {
+ $$12731$i230$ph = $$2114;$$12930$i231$ph = $6;$$232$i229$ph = $$2111;
+ label = 35;
+ }
+ if ((label|0) == 35) {
+ $$12731$i230 = $$12731$i230$ph;$$12930$i231 = $$12930$i231$ph;$$232$i229 = $$232$i229$ph;
+ while(1) {
+ $513 = ((($$12731$i230)) + 1|0);
+ $514 = HEAP8[$$12731$i230>>0]|0;
+ $515 = ((($$12930$i231)) + 1|0);
+ HEAP8[$$12930$i231>>0] = $514;
+ $516 = (($$232$i229) + -1)|0;
+ $517 = ($516|0)==(0);
+ if ($517) {
+ break;
+ } else {
+ $$12731$i230 = $513;$$12930$i231 = $515;$$232$i229 = $516;
+ }
+ }
+ }
+ $518 = (($6) + ($$2111)|0);
+ $519 = (16 - ($$2111))|0;
+ _memset(($518|0),0,($519|0))|0;
+ HEAP8[$518>>0] = -128;
+ $520 = ((($0)) + 80|0);
+ $521 = $520;
+ $522 = $521 & 3;
+ $523 = ($522|0)==(0);
+ if ($523) {
+ $524 = ((($6)) + 4|0);
+ $525 = HEAP32[$6>>2]|0;
+ $526 = ((($520)) + 4|0);
+ $527 = HEAP32[$520>>2]|0;
+ $528 = $527 ^ $525;
+ HEAP32[$520>>2] = $528;
+ $529 = ((($6)) + 8|0);
+ $530 = HEAP32[$524>>2]|0;
+ $531 = ((($0)) + 88|0);
+ $532 = HEAP32[$526>>2]|0;
+ $533 = $532 ^ $530;
+ HEAP32[$526>>2] = $533;
+ $534 = ((($6)) + 12|0);
+ $535 = HEAP32[$529>>2]|0;
+ $536 = ((($0)) + 92|0);
+ $537 = HEAP32[$531>>2]|0;
+ $538 = $537 ^ $535;
+ HEAP32[$531>>2] = $538;
+ $539 = HEAP32[$534>>2]|0;
+ $540 = HEAP32[$536>>2]|0;
+ $541 = $540 ^ $539;
+ HEAP32[$536>>2] = $541;
+ } else {
+ $542 = ((($6)) + 1|0);
+ $543 = HEAP8[$6>>0]|0;
+ $544 = ((($520)) + 1|0);
+ $545 = HEAP8[$520>>0]|0;
+ $546 = $545 ^ $543;
+ HEAP8[$520>>0] = $546;
+ $547 = ((($6)) + 2|0);
+ $548 = HEAP8[$542>>0]|0;
+ $549 = ((($520)) + 2|0);
+ $550 = HEAP8[$544>>0]|0;
+ $551 = $550 ^ $548;
+ HEAP8[$544>>0] = $551;
+ $552 = ((($6)) + 3|0);
+ $553 = HEAP8[$547>>0]|0;
+ $554 = ((($520)) + 3|0);
+ $555 = HEAP8[$549>>0]|0;
+ $556 = $555 ^ $553;
+ HEAP8[$549>>0] = $556;
+ $557 = ((($6)) + 4|0);
+ $558 = HEAP8[$552>>0]|0;
+ $559 = ((($520)) + 4|0);
+ $560 = HEAP8[$554>>0]|0;
+ $561 = $560 ^ $558;
+ HEAP8[$554>>0] = $561;
+ $562 = ((($6)) + 5|0);
+ $563 = HEAP8[$557>>0]|0;
+ $564 = ((($520)) + 5|0);
+ $565 = HEAP8[$559>>0]|0;
+ $566 = $565 ^ $563;
+ HEAP8[$559>>0] = $566;
+ $567 = ((($6)) + 6|0);
+ $568 = HEAP8[$562>>0]|0;
+ $569 = ((($520)) + 6|0);
+ $570 = HEAP8[$564>>0]|0;
+ $571 = $570 ^ $568;
+ HEAP8[$564>>0] = $571;
+ $572 = ((($6)) + 7|0);
+ $573 = HEAP8[$567>>0]|0;
+ $574 = ((($520)) + 7|0);
+ $575 = HEAP8[$569>>0]|0;
+ $576 = $575 ^ $573;
+ HEAP8[$569>>0] = $576;
+ $577 = ((($6)) + 8|0);
+ $578 = HEAP8[$572>>0]|0;
+ $579 = ((($0)) + 88|0);
+ $580 = HEAP8[$574>>0]|0;
+ $581 = $580 ^ $578;
+ HEAP8[$574>>0] = $581;
+ $582 = ((($6)) + 9|0);
+ $583 = HEAP8[$577>>0]|0;
+ $584 = ((($0)) + 89|0);
+ $585 = HEAP8[$579>>0]|0;
+ $586 = $585 ^ $583;
+ HEAP8[$579>>0] = $586;
+ $587 = ((($6)) + 10|0);
+ $588 = HEAP8[$582>>0]|0;
+ $589 = ((($0)) + 90|0);
+ $590 = HEAP8[$584>>0]|0;
+ $591 = $590 ^ $588;
+ HEAP8[$584>>0] = $591;
+ $592 = ((($6)) + 11|0);
+ $593 = HEAP8[$587>>0]|0;
+ $594 = ((($0)) + 91|0);
+ $595 = HEAP8[$589>>0]|0;
+ $596 = $595 ^ $593;
+ HEAP8[$589>>0] = $596;
+ $597 = ((($6)) + 12|0);
+ $598 = HEAP8[$592>>0]|0;
+ $599 = ((($0)) + 92|0);
+ $600 = HEAP8[$594>>0]|0;
+ $601 = $600 ^ $598;
+ HEAP8[$594>>0] = $601;
+ $602 = ((($6)) + 13|0);
+ $603 = HEAP8[$597>>0]|0;
+ $604 = ((($0)) + 93|0);
+ $605 = HEAP8[$599>>0]|0;
+ $606 = $605 ^ $603;
+ HEAP8[$599>>0] = $606;
+ $607 = ((($6)) + 14|0);
+ $608 = HEAP8[$602>>0]|0;
+ $609 = ((($0)) + 94|0);
+ $610 = HEAP8[$604>>0]|0;
+ $611 = $610 ^ $608;
+ HEAP8[$604>>0] = $611;
+ $612 = ((($6)) + 15|0);
+ $613 = HEAP8[$607>>0]|0;
+ $614 = ((($0)) + 95|0);
+ $615 = HEAP8[$609>>0]|0;
+ $616 = $615 ^ $613;
+ HEAP8[$609>>0] = $616;
+ $617 = HEAP8[$612>>0]|0;
+ $618 = HEAP8[$614>>0]|0;
+ $619 = $618 ^ $617;
+ HEAP8[$614>>0] = $619;
+ }
+ $620 = $$2117;
+ $621 = $499 | $620;
+ $622 = $621 & 3;
+ $623 = ($622|0)==(0);
+ $or$cond$i189 = $502 & $623;
+ if ($or$cond$i189) {
+ $624 = (($$2111) + -4)|0;
+ $625 = $624 & -4;
+ $626 = (($625) + 4)|0;
+ $scevgep61$i191 = (($7) + ($626)|0);
+ $$03449$i195 = $7;$$03548$i196 = $$2114;$$03647$i197 = $$2117;$$050$i194 = $$2111;
+ while(1) {
+ $627 = ((($$03548$i196)) + 4|0);
+ $628 = HEAP32[$$03548$i196>>2]|0;
+ $629 = ((($$03449$i195)) + 4|0);
+ $630 = HEAP32[$$03449$i195>>2]|0;
+ $631 = $630 ^ $628;
+ $632 = ((($$03647$i197)) + 4|0);
+ HEAP32[$$03647$i197>>2] = $631;
+ $633 = (($$050$i194) + -4)|0;
+ $634 = ($633>>>0)>(3);
+ if ($634) {
+ $$03449$i195 = $629;$$03548$i196 = $627;$$03647$i197 = $632;$$050$i194 = $633;
+ } else {
+ break;
+ }
+ }
+ $scevgep$i190 = (($$2114) + ($626)|0);
+ $scevgep63$i192 = (($$2117) + ($626)|0);
+ $635 = (($624) - ($625))|0;
+ $$037$i201 = $scevgep61$i191;$$039$i200 = $scevgep$i190;$$041$i199 = $scevgep63$i192;$$1$i202 = $635;
+ } else {
+ $$037$i201 = $7;$$039$i200 = $$2114;$$041$i199 = $$2117;$$1$i202 = $$2111;
+ }
+ $636 = ($$1$i202|0)==(0);
+ if (!($636)) {
+ $$13845$i206 = $$037$i201;$$14044$i207 = $$039$i200;$$14243$i208 = $$041$i199;$$246$i205 = $$1$i202;
+ while(1) {
+ $637 = ((($$14044$i207)) + 1|0);
+ $638 = HEAP8[$$14044$i207>>0]|0;
+ $639 = ((($$13845$i206)) + 1|0);
+ $640 = HEAP8[$$13845$i206>>0]|0;
+ $641 = $640 ^ $638;
+ $642 = ((($$14243$i208)) + 1|0);
+ HEAP8[$$14243$i208>>0] = $641;
+ $643 = (($$246$i205) + -1)|0;
+ $644 = ($643|0)==(0);
+ if ($644) {
+ break;
+ } else {
+ $$13845$i206 = $639;$$14044$i207 = $637;$$14243$i208 = $642;$$246$i205 = $643;
+ }
+ }
+ }
+ }
+ } while(0);
+ $$2 = $497;
+ }
+ $807 = HEAP8[$9>>0]|0;
+ $808 = $807 & 8;
+ $809 = ($808<<24>>24)==(0);
+ if ($809) {
+ $$3 = $$2;
+ } else {
+ $810 = ((($0)) + 416|0);
+ $811 = ((($0)) + 80|0);
+ $812 = ((($0)) + 64|0);
+ $813 = $810;
+ $814 = $811;
+ $815 = $814 | $813;
+ $816 = $812;
+ $817 = $815 | $816;
+ $818 = $817 & 3;
+ $819 = ($818|0)==(0);
+ if ($819) {
+ $820 = HEAP32[$811>>2]|0;
+ $821 = HEAP32[$812>>2]|0;
+ $822 = $821 ^ $820;
+ $823 = ((($0)) + 420|0);
+ HEAP32[$810>>2] = $822;
+ $824 = ((($0)) + 88|0);
+ $825 = ((($811)) + 4|0);
+ $826 = HEAP32[$825>>2]|0;
+ $827 = ((($0)) + 72|0);
+ $828 = ((($812)) + 4|0);
+ $829 = HEAP32[$828>>2]|0;
+ $830 = $829 ^ $826;
+ $831 = ((($0)) + 424|0);
+ HEAP32[$823>>2] = $830;
+ $832 = ((($0)) + 92|0);
+ $833 = HEAP32[$824>>2]|0;
+ $834 = ((($0)) + 76|0);
+ $835 = HEAP32[$827>>2]|0;
+ $836 = $835 ^ $833;
+ $837 = ((($0)) + 428|0);
+ HEAP32[$831>>2] = $836;
+ $838 = HEAP32[$832>>2]|0;
+ $839 = HEAP32[$834>>2]|0;
+ $840 = $839 ^ $838;
+ HEAP32[$837>>2] = $840;
+ } else {
+ $841 = ((($811)) + 1|0);
+ $842 = HEAP8[$811>>0]|0;
+ $843 = ((($812)) + 1|0);
+ $844 = HEAP8[$812>>0]|0;
+ $845 = $844 ^ $842;
+ $846 = ((($810)) + 1|0);
+ HEAP8[$810>>0] = $845;
+ $847 = ((($811)) + 2|0);
+ $848 = HEAP8[$841>>0]|0;
+ $849 = ((($812)) + 2|0);
+ $850 = HEAP8[$843>>0]|0;
+ $851 = $850 ^ $848;
+ $852 = ((($810)) + 2|0);
+ HEAP8[$846>>0] = $851;
+ $853 = ((($811)) + 3|0);
+ $854 = HEAP8[$847>>0]|0;
+ $855 = ((($812)) + 3|0);
+ $856 = HEAP8[$849>>0]|0;
+ $857 = $856 ^ $854;
+ $858 = ((($810)) + 3|0);
+ HEAP8[$852>>0] = $857;
+ $859 = ((($811)) + 4|0);
+ $860 = HEAP8[$853>>0]|0;
+ $861 = ((($812)) + 4|0);
+ $862 = HEAP8[$855>>0]|0;
+ $863 = $862 ^ $860;
+ $864 = ((($0)) + 420|0);
+ HEAP8[$858>>0] = $863;
+ $865 = ((($811)) + 5|0);
+ $866 = HEAP8[$859>>0]|0;
+ $867 = ((($812)) + 5|0);
+ $868 = HEAP8[$861>>0]|0;
+ $869 = $868 ^ $866;
+ $870 = ((($864)) + 1|0);
+ HEAP8[$864>>0] = $869;
+ $871 = ((($811)) + 6|0);
+ $872 = HEAP8[$865>>0]|0;
+ $873 = ((($812)) + 6|0);
+ $874 = HEAP8[$867>>0]|0;
+ $875 = $874 ^ $872;
+ $876 = ((($864)) + 2|0);
+ HEAP8[$870>>0] = $875;
+ $877 = ((($811)) + 7|0);
+ $878 = HEAP8[$871>>0]|0;
+ $879 = ((($812)) + 7|0);
+ $880 = HEAP8[$873>>0]|0;
+ $881 = $880 ^ $878;
+ $882 = ((($864)) + 3|0);
+ HEAP8[$876>>0] = $881;
+ $883 = ((($0)) + 88|0);
+ $884 = HEAP8[$877>>0]|0;
+ $885 = ((($0)) + 72|0);
+ $886 = HEAP8[$879>>0]|0;
+ $887 = $886 ^ $884;
+ $888 = ((($0)) + 424|0);
+ HEAP8[$882>>0] = $887;
+ $889 = ((($0)) + 89|0);
+ $890 = HEAP8[$883>>0]|0;
+ $891 = ((($0)) + 73|0);
+ $892 = HEAP8[$885>>0]|0;
+ $893 = $892 ^ $890;
+ $894 = ((($888)) + 1|0);
+ HEAP8[$888>>0] = $893;
+ $895 = ((($0)) + 90|0);
+ $896 = HEAP8[$889>>0]|0;
+ $897 = ((($0)) + 74|0);
+ $898 = HEAP8[$891>>0]|0;
+ $899 = $898 ^ $896;
+ $900 = ((($888)) + 2|0);
+ HEAP8[$894>>0] = $899;
+ $901 = ((($0)) + 91|0);
+ $902 = HEAP8[$895>>0]|0;
+ $903 = ((($0)) + 75|0);
+ $904 = HEAP8[$897>>0]|0;
+ $905 = $904 ^ $902;
+ $906 = ((($888)) + 3|0);
+ HEAP8[$900>>0] = $905;
+ $907 = ((($0)) + 92|0);
+ $908 = HEAP8[$901>>0]|0;
+ $909 = ((($0)) + 76|0);
+ $910 = HEAP8[$903>>0]|0;
+ $911 = $910 ^ $908;
+ $912 = ((($0)) + 428|0);
+ HEAP8[$906>>0] = $911;
+ $913 = ((($0)) + 93|0);
+ $914 = HEAP8[$907>>0]|0;
+ $915 = ((($0)) + 77|0);
+ $916 = HEAP8[$909>>0]|0;
+ $917 = $916 ^ $914;
+ $918 = ((($912)) + 1|0);
+ HEAP8[$912>>0] = $917;
+ $919 = ((($0)) + 94|0);
+ $920 = HEAP8[$913>>0]|0;
+ $921 = ((($0)) + 78|0);
+ $922 = HEAP8[$915>>0]|0;
+ $923 = $922 ^ $920;
+ $924 = ((($912)) + 2|0);
+ HEAP8[$918>>0] = $923;
+ $925 = ((($0)) + 95|0);
+ $926 = HEAP8[$919>>0]|0;
+ $927 = ((($0)) + 79|0);
+ $928 = HEAP8[$921>>0]|0;
+ $929 = $928 ^ $926;
+ $930 = ((($912)) + 3|0);
+ HEAP8[$924>>0] = $929;
+ $931 = HEAP8[$925>>0]|0;
+ $932 = HEAP8[$927>>0]|0;
+ $933 = $932 ^ $931;
+ HEAP8[$930>>0] = $933;
+ }
+ $934 = ((($0)) + 144|0);
+ $935 = $934;
+ $936 = $935 | $813;
+ $937 = $936 & 3;
+ $938 = ($937|0)==(0);
+ if ($938) {
+ $939 = ((($0)) + 148|0);
+ $940 = HEAP32[$934>>2]|0;
+ $941 = ((($0)) + 420|0);
+ $942 = HEAP32[$810>>2]|0;
+ $943 = $942 ^ $940;
+ HEAP32[$810>>2] = $943;
+ $944 = ((($0)) + 152|0);
+ $945 = HEAP32[$939>>2]|0;
+ $946 = ((($0)) + 424|0);
+ $947 = HEAP32[$941>>2]|0;
+ $948 = $947 ^ $945;
+ HEAP32[$941>>2] = $948;
+ $949 = ((($0)) + 156|0);
+ $950 = HEAP32[$944>>2]|0;
+ $951 = ((($0)) + 428|0);
+ $952 = HEAP32[$946>>2]|0;
+ $953 = $952 ^ $950;
+ HEAP32[$946>>2] = $953;
+ $954 = HEAP32[$949>>2]|0;
+ $955 = HEAP32[$951>>2]|0;
+ $956 = $955 ^ $954;
+ HEAP32[$951>>2] = $956;
+ } else {
+ $957 = ((($0)) + 145|0);
+ $958 = HEAP8[$934>>0]|0;
+ $959 = ((($810)) + 1|0);
+ $960 = HEAP8[$810>>0]|0;
+ $961 = $960 ^ $958;
+ HEAP8[$810>>0] = $961;
+ $962 = ((($0)) + 146|0);
+ $963 = HEAP8[$957>>0]|0;
+ $964 = ((($810)) + 2|0);
+ $965 = HEAP8[$959>>0]|0;
+ $966 = $965 ^ $963;
+ HEAP8[$959>>0] = $966;
+ $967 = ((($0)) + 147|0);
+ $968 = HEAP8[$962>>0]|0;
+ $969 = ((($810)) + 3|0);
+ $970 = HEAP8[$964>>0]|0;
+ $971 = $970 ^ $968;
+ HEAP8[$964>>0] = $971;
+ $972 = ((($0)) + 148|0);
+ $973 = HEAP8[$967>>0]|0;
+ $974 = ((($0)) + 420|0);
+ $975 = HEAP8[$969>>0]|0;
+ $976 = $975 ^ $973;
+ HEAP8[$969>>0] = $976;
+ $977 = ((($0)) + 149|0);
+ $978 = HEAP8[$972>>0]|0;
+ $979 = ((($974)) + 1|0);
+ $980 = HEAP8[$974>>0]|0;
+ $981 = $980 ^ $978;
+ HEAP8[$974>>0] = $981;
+ $982 = ((($0)) + 150|0);
+ $983 = HEAP8[$977>>0]|0;
+ $984 = ((($974)) + 2|0);
+ $985 = HEAP8[$979>>0]|0;
+ $986 = $985 ^ $983;
+ HEAP8[$979>>0] = $986;
+ $987 = ((($0)) + 151|0);
+ $988 = HEAP8[$982>>0]|0;
+ $989 = ((($974)) + 3|0);
+ $990 = HEAP8[$984>>0]|0;
+ $991 = $990 ^ $988;
+ HEAP8[$984>>0] = $991;
+ $992 = ((($0)) + 152|0);
+ $993 = HEAP8[$987>>0]|0;
+ $994 = ((($0)) + 424|0);
+ $995 = HEAP8[$989>>0]|0;
+ $996 = $995 ^ $993;
+ HEAP8[$989>>0] = $996;
+ $997 = ((($0)) + 153|0);
+ $998 = HEAP8[$992>>0]|0;
+ $999 = ((($994)) + 1|0);
+ $1000 = HEAP8[$994>>0]|0;
+ $1001 = $1000 ^ $998;
+ HEAP8[$994>>0] = $1001;
+ $1002 = ((($0)) + 154|0);
+ $1003 = HEAP8[$997>>0]|0;
+ $1004 = ((($994)) + 2|0);
+ $1005 = HEAP8[$999>>0]|0;
+ $1006 = $1005 ^ $1003;
+ HEAP8[$999>>0] = $1006;
+ $1007 = ((($0)) + 155|0);
+ $1008 = HEAP8[$1002>>0]|0;
+ $1009 = ((($994)) + 3|0);
+ $1010 = HEAP8[$1004>>0]|0;
+ $1011 = $1010 ^ $1008;
+ HEAP8[$1004>>0] = $1011;
+ $1012 = ((($0)) + 156|0);
+ $1013 = HEAP8[$1007>>0]|0;
+ $1014 = ((($0)) + 428|0);
+ $1015 = HEAP8[$1009>>0]|0;
+ $1016 = $1015 ^ $1013;
+ HEAP8[$1009>>0] = $1016;
+ $1017 = ((($0)) + 157|0);
+ $1018 = HEAP8[$1012>>0]|0;
+ $1019 = ((($1014)) + 1|0);
+ $1020 = HEAP8[$1014>>0]|0;
+ $1021 = $1020 ^ $1018;
+ HEAP8[$1014>>0] = $1021;
+ $1022 = ((($0)) + 158|0);
+ $1023 = HEAP8[$1017>>0]|0;
+ $1024 = ((($1014)) + 2|0);
+ $1025 = HEAP8[$1019>>0]|0;
+ $1026 = $1025 ^ $1023;
+ HEAP8[$1019>>0] = $1026;
+ $1027 = ((($0)) + 159|0);
+ $1028 = HEAP8[$1022>>0]|0;
+ $1029 = ((($1014)) + 3|0);
+ $1030 = HEAP8[$1024>>0]|0;
+ $1031 = $1030 ^ $1028;
+ HEAP8[$1024>>0] = $1031;
+ $1032 = HEAP8[$1027>>0]|0;
+ $1033 = HEAP8[$1029>>0]|0;
+ $1034 = $1033 ^ $1032;
+ HEAP8[$1029>>0] = $1034;
+ }
+ $1035 = HEAP32[$18>>2]|0;
+ $1036 = ((($1035)) + 36|0);
+ $1037 = HEAP32[$1036>>2]|0;
+ $1038 = ((($0)) + 496|0);
+ $1039 = (FUNCTION_TABLE_iiii[$1037 & 127]($1038,$810,$810)|0);
+ $1040 = ($1039>>>0)>($$2>>>0);
+ $1041 = $1040 ? $1039 : $$2;
+ $1042 = HEAP8[$14>>0]|0;
+ $1043 = $1042 | 1;
+ HEAP8[$14>>0] = $1043;
+ $$3 = $1041;
+ }
+ $1044 = ($$3|0)==(0);
+ if ($1044) {
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $1045 = (($$3) + 16)|0;
+ ___gcry_burn_stack($1045);
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+}
+function _ocb_checksum($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$045 = 0, $$06 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0;
+ var $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, $38 = 0;
+ var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0;
+ var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0;
+ var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0;
+ var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $3 = ($2|0)==(0);
+ if ($3) {
+ return;
+ }
+ $4 = $0;
+ $5 = ((($0)) + 4|0);
+ $6 = ((($0)) + 8|0);
+ $7 = ((($0)) + 12|0);
+ $8 = ((($0)) + 1|0);
+ $9 = ((($0)) + 2|0);
+ $10 = ((($0)) + 3|0);
+ $11 = ((($0)) + 4|0);
+ $12 = ((($0)) + 5|0);
+ $13 = ((($0)) + 6|0);
+ $14 = ((($0)) + 7|0);
+ $15 = ((($0)) + 8|0);
+ $16 = ((($0)) + 9|0);
+ $17 = ((($0)) + 10|0);
+ $18 = ((($0)) + 11|0);
+ $19 = ((($0)) + 12|0);
+ $20 = ((($0)) + 13|0);
+ $21 = ((($0)) + 14|0);
+ $22 = ((($0)) + 15|0);
+ $$045 = $1;$$06 = $2;
+ while(1) {
+ $23 = $$045;
+ $24 = $23 | $4;
+ $25 = $24 & 3;
+ $26 = ($25|0)==(0);
+ if ($26) {
+ $27 = ((($$045)) + 4|0);
+ $28 = HEAP32[$$045>>2]|0;
+ $29 = HEAP32[$0>>2]|0;
+ $30 = $29 ^ $28;
+ HEAP32[$0>>2] = $30;
+ $31 = ((($$045)) + 8|0);
+ $32 = HEAP32[$27>>2]|0;
+ $33 = HEAP32[$5>>2]|0;
+ $34 = $33 ^ $32;
+ HEAP32[$5>>2] = $34;
+ $35 = ((($$045)) + 12|0);
+ $36 = HEAP32[$31>>2]|0;
+ $37 = HEAP32[$6>>2]|0;
+ $38 = $37 ^ $36;
+ HEAP32[$6>>2] = $38;
+ $39 = HEAP32[$35>>2]|0;
+ $40 = HEAP32[$7>>2]|0;
+ $41 = $40 ^ $39;
+ HEAP32[$7>>2] = $41;
+ } else {
+ $42 = ((($$045)) + 1|0);
+ $43 = HEAP8[$$045>>0]|0;
+ $44 = HEAP8[$0>>0]|0;
+ $45 = $44 ^ $43;
+ HEAP8[$0>>0] = $45;
+ $46 = ((($$045)) + 2|0);
+ $47 = HEAP8[$42>>0]|0;
+ $48 = HEAP8[$8>>0]|0;
+ $49 = $48 ^ $47;
+ HEAP8[$8>>0] = $49;
+ $50 = ((($$045)) + 3|0);
+ $51 = HEAP8[$46>>0]|0;
+ $52 = HEAP8[$9>>0]|0;
+ $53 = $52 ^ $51;
+ HEAP8[$9>>0] = $53;
+ $54 = ((($$045)) + 4|0);
+ $55 = HEAP8[$50>>0]|0;
+ $56 = HEAP8[$10>>0]|0;
+ $57 = $56 ^ $55;
+ HEAP8[$10>>0] = $57;
+ $58 = ((($$045)) + 5|0);
+ $59 = HEAP8[$54>>0]|0;
+ $60 = HEAP8[$11>>0]|0;
+ $61 = $60 ^ $59;
+ HEAP8[$11>>0] = $61;
+ $62 = ((($$045)) + 6|0);
+ $63 = HEAP8[$58>>0]|0;
+ $64 = HEAP8[$12>>0]|0;
+ $65 = $64 ^ $63;
+ HEAP8[$12>>0] = $65;
+ $66 = ((($$045)) + 7|0);
+ $67 = HEAP8[$62>>0]|0;
+ $68 = HEAP8[$13>>0]|0;
+ $69 = $68 ^ $67;
+ HEAP8[$13>>0] = $69;
+ $70 = ((($$045)) + 8|0);
+ $71 = HEAP8[$66>>0]|0;
+ $72 = HEAP8[$14>>0]|0;
+ $73 = $72 ^ $71;
+ HEAP8[$14>>0] = $73;
+ $74 = ((($$045)) + 9|0);
+ $75 = HEAP8[$70>>0]|0;
+ $76 = HEAP8[$15>>0]|0;
+ $77 = $76 ^ $75;
+ HEAP8[$15>>0] = $77;
+ $78 = ((($$045)) + 10|0);
+ $79 = HEAP8[$74>>0]|0;
+ $80 = HEAP8[$16>>0]|0;
+ $81 = $80 ^ $79;
+ HEAP8[$16>>0] = $81;
+ $82 = ((($$045)) + 11|0);
+ $83 = HEAP8[$78>>0]|0;
+ $84 = HEAP8[$17>>0]|0;
+ $85 = $84 ^ $83;
+ HEAP8[$17>>0] = $85;
+ $86 = ((($$045)) + 12|0);
+ $87 = HEAP8[$82>>0]|0;
+ $88 = HEAP8[$18>>0]|0;
+ $89 = $88 ^ $87;
+ HEAP8[$18>>0] = $89;
+ $90 = ((($$045)) + 13|0);
+ $91 = HEAP8[$86>>0]|0;
+ $92 = HEAP8[$19>>0]|0;
+ $93 = $92 ^ $91;
+ HEAP8[$19>>0] = $93;
+ $94 = ((($$045)) + 14|0);
+ $95 = HEAP8[$90>>0]|0;
+ $96 = HEAP8[$20>>0]|0;
+ $97 = $96 ^ $95;
+ HEAP8[$20>>0] = $97;
+ $98 = ((($$045)) + 15|0);
+ $99 = HEAP8[$94>>0]|0;
+ $100 = HEAP8[$21>>0]|0;
+ $101 = $100 ^ $99;
+ HEAP8[$21>>0] = $101;
+ $102 = HEAP8[$98>>0]|0;
+ $103 = HEAP8[$22>>0]|0;
+ $104 = $103 ^ $102;
+ HEAP8[$22>>0] = $104;
+ }
+ $105 = ((($$045)) + 16|0);
+ $106 = (($$06) + -1)|0;
+ $107 = ($106|0)==(0);
+ if ($107) {
+ break;
+ } else {
+ $$045 = $105;$$06 = $106;
+ }
+ }
+ return;
+}
+function __gcry_cipher_ocb_decrypt($0,$1,$2,$3,$4) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ var $5 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $5 = (_ocb_crypt($0,0,$1,$2,$3,$4)|0);
+ return ($5|0);
+}
+function __gcry_cipher_ofb_encrypt($0,$1,$2,$3,$4) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ var $$0$lcssa = 0, $$0163 = 0, $$0163$us = 0, $$03449$i = 0, $$03449$i116 = 0, $$03449$i137$us = 0, $$03449$i95 = 0, $$03548$i = 0, $$03548$i117 = 0, $$03548$i138$us = 0, $$03548$i96 = 0, $$03647$i = 0, $$03647$i118 = 0, $$03647$i139$us = 0, $$03647$i97 = 0, $$037$i = 0, $$037$i143$us = 0, $$039$i = 0, $$039$i142$us = 0, $$041$i = 0;
+ var $$041$i141$us = 0, $$050$i = 0, $$050$i115 = 0, $$050$i136$us = 0, $$050$i94 = 0, $$082 = 0, $$083 = 0, $$085 = 0, $$087 = 0, $$1 = 0, $$1$i = 0, $$1$i144$us = 0, $$13845$i = 0, $$13845$i106 = 0, $$13845$i106$ph = 0, $$13845$i127 = 0, $$13845$i127$ph = 0, $$13845$i148 = 0, $$13845$i148$us = 0, $$14044$i = 0;
+ var $$14044$i107 = 0, $$14044$i107$ph = 0, $$14044$i128 = 0, $$14044$i128$ph = 0, $$14044$i149 = 0, $$14044$i149$us = 0, $$14243$i = 0, $$14243$i108 = 0, $$14243$i108$ph = 0, $$14243$i129 = 0, $$14243$i129$ph = 0, $$14243$i150 = 0, $$14243$i150$us = 0, $$184$lcssa = 0, $$184162 = 0, $$184162$us = 0, $$186$lcssa = 0, $$186161 = 0, $$186161$us = 0, $$188$lcssa = 0;
+ var $$188160 = 0, $$188160$us = 0, $$246$i = 0, $$246$i105 = 0, $$246$i105$ph = 0, $$246$i126 = 0, $$246$i126$ph = 0, $$246$i147 = 0, $$246$i147$us = 0, $$pre = 0, $$pre175 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0;
+ var $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0;
+ var $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0;
+ var $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0;
+ var $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0;
+ var $180 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0;
+ var $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0;
+ var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0;
+ var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0;
+ var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond$i = 0, $or$cond$i110 = 0, $or$cond$i89 = 0, $scevgep$i = 0, $scevgep$i111 = 0, $scevgep$i132 = 0, $scevgep$i90 = 0, $scevgep61$i = 0, $scevgep61$i112 = 0, $scevgep61$i133$us = 0, $scevgep61$i91 = 0, $scevgep63$i = 0, $scevgep63$i113 = 0;
+ var $scevgep63$i134$us = 0, $scevgep63$i92 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $5 = ((($0)) + 12|0);
+ $6 = HEAP32[$5>>2]|0;
+ $7 = ((($6)) + 36|0);
+ $8 = HEAP32[$7>>2]|0;
+ $9 = ((($6)) + 20|0);
+ $10 = HEAP32[$9>>2]|0;
+ $11 = ($2>>>0)<($4>>>0);
+ if ($11) {
+ $$082 = 200;
+ return ($$082|0);
+ }
+ $12 = ((($0)) + 112|0);
+ $13 = HEAP32[$12>>2]|0;
+ $14 = ($13>>>0)<($4>>>0);
+ if (!($14)) {
+ $15 = ((($0)) + 64|0);
+ $16 = (($15) + ($10)|0);
+ $17 = (0 - ($13))|0;
+ $18 = (($16) + ($17)|0);
+ $19 = $1;
+ $20 = $18;
+ $21 = $3;
+ $22 = $21 | $19;
+ $23 = $22 | $20;
+ $24 = $23 & 3;
+ $25 = ($24|0)==(0);
+ $26 = ($4>>>0)>(3);
+ $or$cond$i = $26 & $25;
+ if ($or$cond$i) {
+ $27 = (($4) + -4)|0;
+ $28 = $27 & -4;
+ $29 = (($28) + 4)|0;
+ $scevgep61$i = (($3) + ($29)|0);
+ $$03449$i = $3;$$03548$i = $18;$$03647$i = $1;$$050$i = $4;
+ while(1) {
+ $30 = ((($$03548$i)) + 4|0);
+ $31 = HEAP32[$$03548$i>>2]|0;
+ $32 = ((($$03449$i)) + 4|0);
+ $33 = HEAP32[$$03449$i>>2]|0;
+ $34 = $33 ^ $31;
+ $35 = ((($$03647$i)) + 4|0);
+ HEAP32[$$03647$i>>2] = $34;
+ $36 = (($$050$i) + -4)|0;
+ $37 = ($36>>>0)>(3);
+ if ($37) {
+ $$03449$i = $32;$$03548$i = $30;$$03647$i = $35;$$050$i = $36;
+ } else {
+ break;
+ }
+ }
+ $scevgep$i = (($18) + ($29)|0);
+ $scevgep63$i = (($1) + ($29)|0);
+ $38 = (($27) - ($28))|0;
+ $$037$i = $scevgep61$i;$$039$i = $scevgep$i;$$041$i = $scevgep63$i;$$1$i = $38;
+ } else {
+ $$037$i = $3;$$039$i = $18;$$041$i = $1;$$1$i = $4;
+ }
+ $39 = ($$1$i|0)==(0);
+ if ($39) {
+ $49 = $13;
+ } else {
+ $$13845$i = $$037$i;$$14044$i = $$039$i;$$14243$i = $$041$i;$$246$i = $$1$i;
+ while(1) {
+ $40 = ((($$14044$i)) + 1|0);
+ $41 = HEAP8[$$14044$i>>0]|0;
+ $42 = ((($$13845$i)) + 1|0);
+ $43 = HEAP8[$$13845$i>>0]|0;
+ $44 = $43 ^ $41;
+ $45 = ((($$14243$i)) + 1|0);
+ HEAP8[$$14243$i>>0] = $44;
+ $46 = (($$246$i) + -1)|0;
+ $47 = ($46|0)==(0);
+ if ($47) {
+ break;
+ } else {
+ $$13845$i = $42;$$14044$i = $40;$$14243$i = $45;$$246$i = $46;
+ }
+ }
+ $$pre = HEAP32[$12>>2]|0;
+ $49 = $$pre;
+ }
+ $48 = (($49) - ($4))|0;
+ HEAP32[$12>>2] = $48;
+ $$082 = 0;
+ return ($$082|0);
+ }
+ $50 = ($13|0)==(0);
+ if ($50) {
+ $$083 = $1;$$085 = $4;$$087 = $3;
+ } else {
+ $51 = (($4) - ($13))|0;
+ $52 = ((($0)) + 64|0);
+ $53 = (($52) + ($10)|0);
+ $54 = (0 - ($13))|0;
+ $55 = (($53) + ($54)|0);
+ $56 = $1;
+ $57 = $55;
+ $58 = $3;
+ $59 = $58 | $56;
+ $60 = $59 | $57;
+ $61 = $60 & 3;
+ $62 = ($61|0)==(0);
+ $63 = ($13>>>0)>(3);
+ $or$cond$i110 = $63 & $62;
+ if ($or$cond$i110) {
+ $64 = (($13) + -4)|0;
+ $65 = $64 & -4;
+ $66 = (($65) + 4)|0;
+ $scevgep61$i112 = (($3) + ($66)|0);
+ $$03449$i116 = $3;$$03548$i117 = $55;$$03647$i118 = $1;$$050$i115 = $13;
+ while(1) {
+ $67 = ((($$03548$i117)) + 4|0);
+ $68 = HEAP32[$$03548$i117>>2]|0;
+ $69 = ((($$03449$i116)) + 4|0);
+ $70 = HEAP32[$$03449$i116>>2]|0;
+ $71 = $70 ^ $68;
+ $72 = ((($$03647$i118)) + 4|0);
+ HEAP32[$$03647$i118>>2] = $71;
+ $73 = (($$050$i115) + -4)|0;
+ $74 = ($73>>>0)>(3);
+ if ($74) {
+ $$03449$i116 = $69;$$03548$i117 = $67;$$03647$i118 = $72;$$050$i115 = $73;
+ } else {
+ break;
+ }
+ }
+ $scevgep$i111 = (($55) + ($66)|0);
+ $scevgep63$i113 = (($1) + ($66)|0);
+ $75 = (($64) - ($65))|0;
+ $76 = ($75|0)==(0);
+ if ($76) {
+ $86 = $13;
+ } else {
+ $$13845$i127$ph = $scevgep61$i112;$$14044$i128$ph = $scevgep$i111;$$14243$i129$ph = $scevgep63$i113;$$246$i126$ph = $75;
+ label = 17;
+ }
+ } else {
+ $$13845$i127$ph = $3;$$14044$i128$ph = $55;$$14243$i129$ph = $1;$$246$i126$ph = $13;
+ label = 17;
+ }
+ if ((label|0) == 17) {
+ $$13845$i127 = $$13845$i127$ph;$$14044$i128 = $$14044$i128$ph;$$14243$i129 = $$14243$i129$ph;$$246$i126 = $$246$i126$ph;
+ while(1) {
+ $77 = ((($$14044$i128)) + 1|0);
+ $78 = HEAP8[$$14044$i128>>0]|0;
+ $79 = ((($$13845$i127)) + 1|0);
+ $80 = HEAP8[$$13845$i127>>0]|0;
+ $81 = $80 ^ $78;
+ $82 = ((($$14243$i129)) + 1|0);
+ HEAP8[$$14243$i129>>0] = $81;
+ $83 = (($$246$i126) + -1)|0;
+ $84 = ($83|0)==(0);
+ if ($84) {
+ break;
+ } else {
+ $$13845$i127 = $79;$$14044$i128 = $77;$$14243$i129 = $82;$$246$i126 = $83;
+ }
+ }
+ $$pre175 = HEAP32[$12>>2]|0;
+ $86 = $$pre175;
+ }
+ $85 = (($1) + ($86)|0);
+ $87 = (($3) + ($86)|0);
+ HEAP32[$12>>2] = 0;
+ $$083 = $85;$$085 = $51;$$087 = $87;
+ }
+ $88 = ($$085>>>0)<($10>>>0);
+ L34: do {
+ if ($88) {
+ $$0$lcssa = 0;$$184$lcssa = $$083;$$186$lcssa = $$085;$$188$lcssa = $$087;
+ } else {
+ $89 = ((($0)) + 496|0);
+ $90 = ((($0)) + 64|0);
+ $91 = $90;
+ $92 = ($10>>>0)>(3);
+ $93 = (($10) + -4)|0;
+ $94 = $93 & -4;
+ $95 = (($94) + 4)|0;
+ $scevgep$i132 = (($90) + ($95)|0);
+ $96 = (($93) - ($94))|0;
+ if (!($92)) {
+ $127 = ($10|0)==(0);
+ $$0163 = 0;$$184162 = $$083;$$186161 = $$085;$$188160 = $$087;
+ while(1) {
+ $128 = (FUNCTION_TABLE_iiii[$8 & 127]($89,$90,$90)|0);
+ $129 = ($128>>>0)>($$0163>>>0);
+ $130 = $129 ? $128 : $$0163;
+ if (!($127)) {
+ $$13845$i148 = $$188160;$$14044$i149 = $90;$$14243$i150 = $$184162;$$246$i147 = $10;
+ while(1) {
+ $131 = ((($$14044$i149)) + 1|0);
+ $132 = HEAP8[$$14044$i149>>0]|0;
+ $133 = ((($$13845$i148)) + 1|0);
+ $134 = HEAP8[$$13845$i148>>0]|0;
+ $135 = $134 ^ $132;
+ $136 = ((($$14243$i150)) + 1|0);
+ HEAP8[$$14243$i150>>0] = $135;
+ $137 = (($$246$i147) + -1)|0;
+ $138 = ($137|0)==(0);
+ if ($138) {
+ break;
+ } else {
+ $$13845$i148 = $133;$$14044$i149 = $131;$$14243$i150 = $136;$$246$i147 = $137;
+ }
+ }
+ }
+ $139 = (($$184162) + ($10)|0);
+ $140 = (($$188160) + ($10)|0);
+ $141 = (($$186161) - ($10))|0;
+ $142 = ($141>>>0)<($10>>>0);
+ if ($142) {
+ $$0$lcssa = $130;$$184$lcssa = $139;$$186$lcssa = $141;$$188$lcssa = $140;
+ break L34;
+ } else {
+ $$0163 = $130;$$184162 = $139;$$186161 = $141;$$188160 = $140;
+ }
+ }
+ }
+ $$0163$us = 0;$$184162$us = $$083;$$186161$us = $$085;$$188160$us = $$087;
+ while(1) {
+ $97 = (FUNCTION_TABLE_iiii[$8 & 127]($89,$90,$90)|0);
+ $98 = ($97>>>0)>($$0163$us>>>0);
+ $99 = $98 ? $97 : $$0163$us;
+ $100 = $$184162$us;
+ $101 = $$188160$us;
+ $102 = $101 | $91;
+ $103 = $102 | $100;
+ $104 = $103 & 3;
+ $105 = ($104|0)==(0);
+ if ($105) {
+ $scevgep61$i133$us = (($$188160$us) + ($95)|0);
+ $$03449$i137$us = $$188160$us;$$03548$i138$us = $90;$$03647$i139$us = $$184162$us;$$050$i136$us = $10;
+ while(1) {
+ $106 = ((($$03548$i138$us)) + 4|0);
+ $107 = HEAP32[$$03548$i138$us>>2]|0;
+ $108 = ((($$03449$i137$us)) + 4|0);
+ $109 = HEAP32[$$03449$i137$us>>2]|0;
+ $110 = $109 ^ $107;
+ $111 = ((($$03647$i139$us)) + 4|0);
+ HEAP32[$$03647$i139$us>>2] = $110;
+ $112 = (($$050$i136$us) + -4)|0;
+ $113 = ($112>>>0)>(3);
+ if ($113) {
+ $$03449$i137$us = $108;$$03548$i138$us = $106;$$03647$i139$us = $111;$$050$i136$us = $112;
+ } else {
+ break;
+ }
+ }
+ $scevgep63$i134$us = (($$184162$us) + ($95)|0);
+ $$037$i143$us = $scevgep61$i133$us;$$039$i142$us = $scevgep$i132;$$041$i141$us = $scevgep63$i134$us;$$1$i144$us = $96;
+ } else {
+ $$037$i143$us = $$188160$us;$$039$i142$us = $90;$$041$i141$us = $$184162$us;$$1$i144$us = $10;
+ }
+ $114 = ($$1$i144$us|0)==(0);
+ if (!($114)) {
+ $$13845$i148$us = $$037$i143$us;$$14044$i149$us = $$039$i142$us;$$14243$i150$us = $$041$i141$us;$$246$i147$us = $$1$i144$us;
+ while(1) {
+ $115 = ((($$14044$i149$us)) + 1|0);
+ $116 = HEAP8[$$14044$i149$us>>0]|0;
+ $117 = ((($$13845$i148$us)) + 1|0);
+ $118 = HEAP8[$$13845$i148$us>>0]|0;
+ $119 = $118 ^ $116;
+ $120 = ((($$14243$i150$us)) + 1|0);
+ HEAP8[$$14243$i150$us>>0] = $119;
+ $121 = (($$246$i147$us) + -1)|0;
+ $122 = ($121|0)==(0);
+ if ($122) {
+ break;
+ } else {
+ $$13845$i148$us = $117;$$14044$i149$us = $115;$$14243$i150$us = $120;$$246$i147$us = $121;
+ }
+ }
+ }
+ $123 = (($$184162$us) + ($10)|0);
+ $124 = (($$188160$us) + ($10)|0);
+ $125 = (($$186161$us) - ($10))|0;
+ $126 = ($125>>>0)<($10>>>0);
+ if ($126) {
+ $$0$lcssa = $99;$$184$lcssa = $123;$$186$lcssa = $125;$$188$lcssa = $124;
+ break;
+ } else {
+ $$0163$us = $99;$$184162$us = $123;$$186161$us = $125;$$188160$us = $124;
+ }
+ }
+ }
+ } while(0);
+ $143 = ($$186$lcssa|0)==(0);
+ do {
+ if ($143) {
+ $$1 = $$0$lcssa;
+ } else {
+ $144 = ((($0)) + 496|0);
+ $145 = ((($0)) + 64|0);
+ $146 = (FUNCTION_TABLE_iiii[$8 & 127]($144,$145,$145)|0);
+ $147 = ($146>>>0)>($$0$lcssa>>>0);
+ $148 = $147 ? $146 : $$0$lcssa;
+ $149 = (($10) - ($$186$lcssa))|0;
+ HEAP32[$12>>2] = $149;
+ $150 = $$184$lcssa;
+ $151 = $145;
+ $152 = $$188$lcssa;
+ $153 = $152 | $151;
+ $154 = $153 | $150;
+ $155 = $154 & 3;
+ $156 = ($155|0)==(0);
+ $157 = ($$186$lcssa>>>0)>(3);
+ $or$cond$i89 = $157 & $156;
+ if ($or$cond$i89) {
+ $158 = (($$186$lcssa) + -4)|0;
+ $159 = $158 & -4;
+ $160 = (($159) + 4)|0;
+ $scevgep61$i91 = (($$188$lcssa) + ($160)|0);
+ $$03449$i95 = $$188$lcssa;$$03548$i96 = $145;$$03647$i97 = $$184$lcssa;$$050$i94 = $$186$lcssa;
+ while(1) {
+ $161 = ((($$03548$i96)) + 4|0);
+ $162 = HEAP32[$$03548$i96>>2]|0;
+ $163 = ((($$03449$i95)) + 4|0);
+ $164 = HEAP32[$$03449$i95>>2]|0;
+ $165 = $164 ^ $162;
+ $166 = ((($$03647$i97)) + 4|0);
+ HEAP32[$$03647$i97>>2] = $165;
+ $167 = (($$050$i94) + -4)|0;
+ $168 = ($167>>>0)>(3);
+ if ($168) {
+ $$03449$i95 = $163;$$03548$i96 = $161;$$03647$i97 = $166;$$050$i94 = $167;
+ } else {
+ break;
+ }
+ }
+ $scevgep$i90 = (($145) + ($160)|0);
+ $scevgep63$i92 = (($$184$lcssa) + ($160)|0);
+ $169 = (($158) - ($159))|0;
+ $170 = ($169|0)==(0);
+ if ($170) {
+ $$1 = $148;
+ break;
+ } else {
+ $$13845$i106$ph = $scevgep61$i91;$$14044$i107$ph = $scevgep$i90;$$14243$i108$ph = $scevgep63$i92;$$246$i105$ph = $169;
+ }
+ } else {
+ $$13845$i106$ph = $$188$lcssa;$$14044$i107$ph = $145;$$14243$i108$ph = $$184$lcssa;$$246$i105$ph = $$186$lcssa;
+ }
+ $$13845$i106 = $$13845$i106$ph;$$14044$i107 = $$14044$i107$ph;$$14243$i108 = $$14243$i108$ph;$$246$i105 = $$246$i105$ph;
+ while(1) {
+ $171 = ((($$14044$i107)) + 1|0);
+ $172 = HEAP8[$$14044$i107>>0]|0;
+ $173 = ((($$13845$i106)) + 1|0);
+ $174 = HEAP8[$$13845$i106>>0]|0;
+ $175 = $174 ^ $172;
+ $176 = ((($$14243$i108)) + 1|0);
+ HEAP8[$$14243$i108>>0] = $175;
+ $177 = (($$246$i105) + -1)|0;
+ $178 = ($177|0)==(0);
+ if ($178) {
+ $$1 = $148;
+ break;
+ } else {
+ $$13845$i106 = $173;$$14044$i107 = $171;$$14243$i108 = $176;$$246$i105 = $177;
+ }
+ }
+ }
+ } while(0);
+ $179 = ($$1|0)==(0);
+ if ($179) {
+ $$082 = 0;
+ return ($$082|0);
+ }
+ $180 = (($$1) + 16)|0;
+ ___gcry_burn_stack($180);
+ $$082 = 0;
+ return ($$082|0);
+}
+function __gcry_cipher_poly1305_encrypt($0,$1,$2,$3,$4) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ var $$0 = 0, $$phi$trans$insert = 0, $$pre = 0, $$pre$phi24Z2D = 0, $$pre21 = 0, $$pre23 = 0, $$val$i = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0;
+ var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0;
+ var $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0;
+ var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0;
+ var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0;
+ var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, dest = 0, label = 0, sp = 0, stop = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0);
+ $5 = sp;
+ $6 = sp + 64|0;
+ $7 = ($2>>>0)<($4>>>0);
+ if ($7) {
+ $$0 = 200;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $8 = ((($0)) + 56|0);
+ $9 = HEAP8[$8>>0]|0;
+ $10 = $9 & 4;
+ $11 = ($10<<24>>24)==(0);
+ if (!($11)) {
+ $$0 = 156;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $12 = ((($0)) + 144|0);
+ $13 = HEAP8[$12>>0]|0;
+ $14 = $13 & 2;
+ $15 = ($14<<24>>24)==(0);
+ if (!($15)) {
+ $$0 = 139;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $16 = $9 & 2;
+ $17 = ($16<<24>>24)==(0);
+ do {
+ if ($17) {
+ $18 = $6;
+ $19 = $18;
+ HEAP32[$19>>2] = 0;
+ $20 = (($18) + 4)|0;
+ $21 = $20;
+ HEAP32[$21>>2] = 0;
+ $22 = ((($0)) + 128|0);
+ $23 = ((($0)) + 148|0);
+ dest=$23; stop=dest+92|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
+ HEAP32[$22>>2] = 0;
+ $24 = ((($22)) + 4|0);
+ HEAP32[$24>>2] = 0;
+ $25 = ((($0)) + 136|0);
+ HEAP32[$25>>2] = 0;
+ $26 = ((($0)) + 140|0);
+ HEAP32[$26>>2] = 0;
+ $27 = $13 & -4;
+ HEAP8[$12>>0] = $27;
+ $28 = $9 & -7;
+ HEAP8[$8>>0] = $28;
+ $29 = ((($0)) + 12|0);
+ $30 = HEAP32[$29>>2]|0;
+ $31 = ((($30)) + 60|0);
+ $32 = HEAP32[$31>>2]|0;
+ $33 = ((($0)) + 496|0);
+ FUNCTION_TABLE_viii[$32 & 127]($33,$6,8);
+ dest=$5; stop=dest+64|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
+ $34 = HEAP32[$29>>2]|0;
+ $35 = ((($34)) + 44|0);
+ $36 = HEAP32[$35>>2]|0;
+ FUNCTION_TABLE_viiii[$36 & 63]($33,$5,$5,64);
+ $37 = (__gcry_poly1305_init($23,$5,32)|0);
+ $38 = $5;
+ $39 = $38;
+ HEAP32[$39>>2] = 0;
+ $40 = (($38) + 4)|0;
+ $41 = $40;
+ HEAP32[$41>>2] = 0;
+ $42 = ((($5)) + 8|0);
+ $43 = $42;
+ $44 = $43;
+ HEAP32[$44>>2] = 0;
+ $45 = (($43) + 4)|0;
+ $46 = $45;
+ HEAP32[$46>>2] = 0;
+ $47 = ((($5)) + 16|0);
+ $48 = $47;
+ $49 = $48;
+ HEAP32[$49>>2] = 0;
+ $50 = (($48) + 4)|0;
+ $51 = $50;
+ HEAP32[$51>>2] = 0;
+ $52 = ((($5)) + 24|0);
+ $53 = $52;
+ $54 = $53;
+ HEAP32[$54>>2] = 0;
+ $55 = (($53) + 4)|0;
+ $56 = $55;
+ HEAP32[$56>>2] = 0;
+ $57 = ((($5)) + 32|0);
+ $58 = $57;
+ $59 = $58;
+ HEAP32[$59>>2] = 0;
+ $60 = (($58) + 4)|0;
+ $61 = $60;
+ HEAP32[$61>>2] = 0;
+ $62 = ((($5)) + 40|0);
+ $63 = $62;
+ $64 = $63;
+ HEAP32[$64>>2] = 0;
+ $65 = (($63) + 4)|0;
+ $66 = $65;
+ HEAP32[$66>>2] = 0;
+ $67 = ((($5)) + 48|0);
+ $68 = $67;
+ $69 = $68;
+ HEAP32[$69>>2] = 0;
+ $70 = (($68) + 4)|0;
+ $71 = $70;
+ HEAP32[$71>>2] = 0;
+ $72 = ((($5)) + 56|0);
+ $73 = $72;
+ $74 = $73;
+ HEAP32[$74>>2] = 0;
+ $75 = (($73) + 4)|0;
+ $76 = $75;
+ HEAP32[$76>>2] = 0;
+ $77 = ($37|0)==(0);
+ if ($77) {
+ $78 = HEAP8[$8>>0]|0;
+ $79 = $78 | 2;
+ HEAP8[$8>>0] = $79;
+ $$pre = HEAP8[$12>>0]|0;
+ $81 = $$pre;
+ break;
+ }
+ $$0 = $37;
+ STACKTOP = sp;return ($$0|0);
+ } else {
+ $81 = $13;
+ }
+ } while(0);
+ $80 = $81 & 1;
+ $82 = ($80<<24>>24)==(0);
+ if ($82) {
+ $83 = ((($0)) + 128|0);
+ $$val$i = HEAP32[$83>>2]|0;
+ $84 = $$val$i & 15;
+ $85 = ($84|0)==(0);
+ if ($85) {
+ $89 = $81;
+ } else {
+ $86 = ((($0)) + 148|0);
+ $87 = (16 - ($84))|0;
+ __gcry_poly1305_update($86,73322,$87);
+ $$pre21 = HEAP8[$12>>0]|0;
+ $89 = $$pre21;
+ }
+ $88 = $89 | 1;
+ HEAP8[$12>>0] = $88;
+ $90 = ((($0)) + 136|0);
+ HEAP32[$90>>2] = 0;
+ $91 = ((($0)) + 140|0);
+ HEAP32[$91>>2] = 0;
+ $$pre$phi24Z2D = $90;$100 = $88;$93 = 0;
+ } else {
+ $$phi$trans$insert = ((($0)) + 136|0);
+ $$pre23 = HEAP32[$$phi$trans$insert>>2]|0;
+ $$pre$phi24Z2D = $$phi$trans$insert;$100 = $81;$93 = $$pre23;
+ }
+ $92 = (($93) + ($4))|0;
+ HEAP32[$$pre$phi24Z2D>>2] = $92;
+ $94 = ($92>>>0)<($4>>>0);
+ if ($94) {
+ $95 = ((($0)) + 140|0);
+ $96 = HEAP32[$95>>2]|0;
+ $97 = (($96) + 1)|0;
+ HEAP32[$95>>2] = $97;
+ $98 = ($97|0)==(0);
+ if ($98) {
+ $99 = $100 | 2;
+ HEAP8[$12>>0] = $99;
+ $$0 = 139;
+ STACKTOP = sp;return ($$0|0);
+ }
+ }
+ $101 = ((($0)) + 12|0);
+ $102 = HEAP32[$101>>2]|0;
+ $103 = ((($102)) + 44|0);
+ $104 = HEAP32[$103>>2]|0;
+ $105 = ((($0)) + 496|0);
+ FUNCTION_TABLE_viiii[$104 & 63]($105,$1,$3,$4);
+ $106 = ((($0)) + 148|0);
+ __gcry_poly1305_update($106,$1,$4);
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+}
+function __gcry_cipher_poly1305_decrypt($0,$1,$2,$3,$4) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ var $$0 = 0, $$phi$trans$insert = 0, $$pre = 0, $$pre$phi24Z2D = 0, $$pre21 = 0, $$pre23 = 0, $$val$i = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0;
+ var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0;
+ var $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0;
+ var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0;
+ var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0;
+ var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, dest = 0, label = 0, sp = 0, stop = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0);
+ $5 = sp;
+ $6 = sp + 64|0;
+ $7 = ($2>>>0)<($4>>>0);
+ if ($7) {
+ $$0 = 200;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $8 = ((($0)) + 56|0);
+ $9 = HEAP8[$8>>0]|0;
+ $10 = $9 & 4;
+ $11 = ($10<<24>>24)==(0);
+ if (!($11)) {
+ $$0 = 156;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $12 = ((($0)) + 144|0);
+ $13 = HEAP8[$12>>0]|0;
+ $14 = $13 & 2;
+ $15 = ($14<<24>>24)==(0);
+ if (!($15)) {
+ $$0 = 139;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $16 = $9 & 2;
+ $17 = ($16<<24>>24)==(0);
+ do {
+ if ($17) {
+ $18 = $6;
+ $19 = $18;
+ HEAP32[$19>>2] = 0;
+ $20 = (($18) + 4)|0;
+ $21 = $20;
+ HEAP32[$21>>2] = 0;
+ $22 = ((($0)) + 128|0);
+ $23 = ((($0)) + 148|0);
+ dest=$23; stop=dest+92|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
+ HEAP32[$22>>2] = 0;
+ $24 = ((($22)) + 4|0);
+ HEAP32[$24>>2] = 0;
+ $25 = ((($0)) + 136|0);
+ HEAP32[$25>>2] = 0;
+ $26 = ((($0)) + 140|0);
+ HEAP32[$26>>2] = 0;
+ $27 = $13 & -4;
+ HEAP8[$12>>0] = $27;
+ $28 = $9 & -7;
+ HEAP8[$8>>0] = $28;
+ $29 = ((($0)) + 12|0);
+ $30 = HEAP32[$29>>2]|0;
+ $31 = ((($30)) + 60|0);
+ $32 = HEAP32[$31>>2]|0;
+ $33 = ((($0)) + 496|0);
+ FUNCTION_TABLE_viii[$32 & 127]($33,$6,8);
+ dest=$5; stop=dest+64|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
+ $34 = HEAP32[$29>>2]|0;
+ $35 = ((($34)) + 44|0);
+ $36 = HEAP32[$35>>2]|0;
+ FUNCTION_TABLE_viiii[$36 & 63]($33,$5,$5,64);
+ $37 = (__gcry_poly1305_init($23,$5,32)|0);
+ $38 = $5;
+ $39 = $38;
+ HEAP32[$39>>2] = 0;
+ $40 = (($38) + 4)|0;
+ $41 = $40;
+ HEAP32[$41>>2] = 0;
+ $42 = ((($5)) + 8|0);
+ $43 = $42;
+ $44 = $43;
+ HEAP32[$44>>2] = 0;
+ $45 = (($43) + 4)|0;
+ $46 = $45;
+ HEAP32[$46>>2] = 0;
+ $47 = ((($5)) + 16|0);
+ $48 = $47;
+ $49 = $48;
+ HEAP32[$49>>2] = 0;
+ $50 = (($48) + 4)|0;
+ $51 = $50;
+ HEAP32[$51>>2] = 0;
+ $52 = ((($5)) + 24|0);
+ $53 = $52;
+ $54 = $53;
+ HEAP32[$54>>2] = 0;
+ $55 = (($53) + 4)|0;
+ $56 = $55;
+ HEAP32[$56>>2] = 0;
+ $57 = ((($5)) + 32|0);
+ $58 = $57;
+ $59 = $58;
+ HEAP32[$59>>2] = 0;
+ $60 = (($58) + 4)|0;
+ $61 = $60;
+ HEAP32[$61>>2] = 0;
+ $62 = ((($5)) + 40|0);
+ $63 = $62;
+ $64 = $63;
+ HEAP32[$64>>2] = 0;
+ $65 = (($63) + 4)|0;
+ $66 = $65;
+ HEAP32[$66>>2] = 0;
+ $67 = ((($5)) + 48|0);
+ $68 = $67;
+ $69 = $68;
+ HEAP32[$69>>2] = 0;
+ $70 = (($68) + 4)|0;
+ $71 = $70;
+ HEAP32[$71>>2] = 0;
+ $72 = ((($5)) + 56|0);
+ $73 = $72;
+ $74 = $73;
+ HEAP32[$74>>2] = 0;
+ $75 = (($73) + 4)|0;
+ $76 = $75;
+ HEAP32[$76>>2] = 0;
+ $77 = ($37|0)==(0);
+ if ($77) {
+ $78 = HEAP8[$8>>0]|0;
+ $79 = $78 | 2;
+ HEAP8[$8>>0] = $79;
+ $$pre = HEAP8[$12>>0]|0;
+ $81 = $$pre;
+ break;
+ }
+ $$0 = $37;
+ STACKTOP = sp;return ($$0|0);
+ } else {
+ $81 = $13;
+ }
+ } while(0);
+ $80 = $81 & 1;
+ $82 = ($80<<24>>24)==(0);
+ if ($82) {
+ $83 = ((($0)) + 128|0);
+ $$val$i = HEAP32[$83>>2]|0;
+ $84 = $$val$i & 15;
+ $85 = ($84|0)==(0);
+ if ($85) {
+ $89 = $81;
+ } else {
+ $86 = ((($0)) + 148|0);
+ $87 = (16 - ($84))|0;
+ __gcry_poly1305_update($86,73322,$87);
+ $$pre21 = HEAP8[$12>>0]|0;
+ $89 = $$pre21;
+ }
+ $88 = $89 | 1;
+ HEAP8[$12>>0] = $88;
+ $90 = ((($0)) + 136|0);
+ HEAP32[$90>>2] = 0;
+ $91 = ((($0)) + 140|0);
+ HEAP32[$91>>2] = 0;
+ $$pre$phi24Z2D = $90;$100 = $88;$93 = 0;
+ } else {
+ $$phi$trans$insert = ((($0)) + 136|0);
+ $$pre23 = HEAP32[$$phi$trans$insert>>2]|0;
+ $$pre$phi24Z2D = $$phi$trans$insert;$100 = $81;$93 = $$pre23;
+ }
+ $92 = (($93) + ($4))|0;
+ HEAP32[$$pre$phi24Z2D>>2] = $92;
+ $94 = ($92>>>0)<($4>>>0);
+ if ($94) {
+ $95 = ((($0)) + 140|0);
+ $96 = HEAP32[$95>>2]|0;
+ $97 = (($96) + 1)|0;
+ HEAP32[$95>>2] = $97;
+ $98 = ($97|0)==(0);
+ if ($98) {
+ $99 = $100 | 2;
+ HEAP8[$12>>0] = $99;
+ $$0 = 139;
+ STACKTOP = sp;return ($$0|0);
+ }
+ }
+ $101 = ((($0)) + 148|0);
+ __gcry_poly1305_update($101,$3,$4);
+ $102 = ((($0)) + 12|0);
+ $103 = HEAP32[$102>>2]|0;
+ $104 = ((($103)) + 48|0);
+ $105 = HEAP32[$104>>2]|0;
+ $106 = ((($0)) + 496|0);
+ FUNCTION_TABLE_viiii[$105 & 63]($106,$1,$3,$4);
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+}
+function __gcry_cipher_poly1305_setkey($0) {
+ $0 = $0|0;
+ var $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = ((($0)) + 128|0);
+ HEAP32[$1>>2] = 0;
+ $2 = ((($1)) + 4|0);
+ HEAP32[$2>>2] = 0;
+ $3 = ((($0)) + 136|0);
+ HEAP32[$3>>2] = 0;
+ $4 = ((($0)) + 140|0);
+ HEAP32[$4>>2] = 0;
+ $5 = ((($0)) + 144|0);
+ $6 = HEAP8[$5>>0]|0;
+ $7 = $6 & -4;
+ HEAP8[$5>>0] = $7;
+ $8 = ((($0)) + 56|0);
+ $9 = HEAP8[$8>>0]|0;
+ $10 = $9 & -7;
+ HEAP8[$8>>0] = $10;
+ return;
+}
+function __gcry_cipher_poly1305_setiv($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
+ var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
+ var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
+ var $65 = 0, $66 = 0, $67 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, dest = 0, label = 0, sp = 0, stop = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
+ $3 = sp;
+ $4 = ($1|0)==(0|0);
+ $5 = ($2|0)!=(12);
+ $or$cond = $4 & $5;
+ if ($or$cond) {
+ $$0 = 45;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $6 = ((($0)) + 128|0);
+ $7 = ((($0)) + 148|0);
+ dest=$7; stop=dest+92|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
+ HEAP32[$6>>2] = 0;
+ $8 = ((($6)) + 4|0);
+ HEAP32[$8>>2] = 0;
+ $9 = ((($0)) + 136|0);
+ HEAP32[$9>>2] = 0;
+ $10 = ((($0)) + 140|0);
+ HEAP32[$10>>2] = 0;
+ $11 = ((($0)) + 144|0);
+ $12 = HEAP8[$11>>0]|0;
+ $13 = $12 & -4;
+ HEAP8[$11>>0] = $13;
+ $14 = ((($0)) + 56|0);
+ $15 = HEAP8[$14>>0]|0;
+ $16 = $15 & -7;
+ HEAP8[$14>>0] = $16;
+ $17 = ((($0)) + 12|0);
+ $18 = HEAP32[$17>>2]|0;
+ $19 = ((($18)) + 60|0);
+ $20 = HEAP32[$19>>2]|0;
+ $21 = ((($0)) + 496|0);
+ FUNCTION_TABLE_viii[$20 & 127]($21,$1,$2);
+ dest=$3; stop=dest+64|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
+ $22 = HEAP32[$17>>2]|0;
+ $23 = ((($22)) + 44|0);
+ $24 = HEAP32[$23>>2]|0;
+ FUNCTION_TABLE_viiii[$24 & 63]($21,$3,$3,64);
+ $25 = (__gcry_poly1305_init($7,$3,32)|0);
+ $26 = $3;
+ $27 = $26;
+ HEAP32[$27>>2] = 0;
+ $28 = (($26) + 4)|0;
+ $29 = $28;
+ HEAP32[$29>>2] = 0;
+ $30 = ((($3)) + 8|0);
+ $31 = $30;
+ $32 = $31;
+ HEAP32[$32>>2] = 0;
+ $33 = (($31) + 4)|0;
+ $34 = $33;
+ HEAP32[$34>>2] = 0;
+ $35 = ((($3)) + 16|0);
+ $36 = $35;
+ $37 = $36;
+ HEAP32[$37>>2] = 0;
+ $38 = (($36) + 4)|0;
+ $39 = $38;
+ HEAP32[$39>>2] = 0;
+ $40 = ((($3)) + 24|0);
+ $41 = $40;
+ $42 = $41;
+ HEAP32[$42>>2] = 0;
+ $43 = (($41) + 4)|0;
+ $44 = $43;
+ HEAP32[$44>>2] = 0;
+ $45 = ((($3)) + 32|0);
+ $46 = $45;
+ $47 = $46;
+ HEAP32[$47>>2] = 0;
+ $48 = (($46) + 4)|0;
+ $49 = $48;
+ HEAP32[$49>>2] = 0;
+ $50 = ((($3)) + 40|0);
+ $51 = $50;
+ $52 = $51;
+ HEAP32[$52>>2] = 0;
+ $53 = (($51) + 4)|0;
+ $54 = $53;
+ HEAP32[$54>>2] = 0;
+ $55 = ((($3)) + 48|0);
+ $56 = $55;
+ $57 = $56;
+ HEAP32[$57>>2] = 0;
+ $58 = (($56) + 4)|0;
+ $59 = $58;
+ HEAP32[$59>>2] = 0;
+ $60 = ((($3)) + 56|0);
+ $61 = $60;
+ $62 = $61;
+ HEAP32[$62>>2] = 0;
+ $63 = (($61) + 4)|0;
+ $64 = $63;
+ HEAP32[$64>>2] = 0;
+ $65 = ($25|0)==(0);
+ if (!($65)) {
+ $$0 = $25;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $66 = HEAP8[$14>>0]|0;
+ $67 = $66 | 2;
+ HEAP8[$14>>0] = $67;
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+}
+function __gcry_selftest_helper_cbc($0,$1,$2,$3,$4,$5,$6) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ $5 = $5|0;
+ $6 = $6|0;
+ var $$ = 0, $$0 = 0, $$0129156 = 0, $$03449$i = 0, $$03449$i136$us = 0, $$03548$i = 0, $$03548$i137$us = 0, $$03647$i = 0, $$03647$i138$us = 0, $$037$i = 0, $$037$i142$us = 0, $$039$i = 0, $$039$i141$us = 0, $$041$i = 0, $$041$i140$us = 0, $$050$i = 0, $$050$i135$us = 0, $$1$i = 0, $$1$i143$us = 0, $$1152 = 0;
+ var $$13845$i = 0, $$13845$i147 = 0, $$13845$i147$us = 0, $$14044$i = 0, $$14044$i148 = 0, $$14044$i148$us = 0, $$14243$i = 0, $$14243$i149 = 0, $$14243$i149$us = 0, $$2151 = 0, $$2151$us = 0, $$246$i = 0, $$246$i146 = 0, $$246$i146$us = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0;
+ var $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, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0;
+ var $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0;
+ var $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0;
+ var $59 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0;
+ var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0;
+ var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond161 = 0, $or$cond$i = 0, $scevgep$i = 0, $scevgep$i131 = 0, $scevgep61$i = 0, $scevgep61$i132$us = 0, $scevgep63$i = 0, $scevgep63$i133$us = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $7 = (($6) + 15)|0;
+ $8 = $7 & -16;
+ $9 = $5 << 1;
+ $10 = Math_imul($5, $4)|0;
+ $11 = ($10*3)|0;
+ $12 = (($9) + 16)|0;
+ $13 = (($12) + ($11))|0;
+ $14 = (($13) + ($8))|0;
+ $15 = (__gcry_calloc(1,$14)|0);
+ $16 = ($15|0)==(0|0);
+ if ($16) {
+ $$0 = 64554;
+ return ($$0|0);
+ }
+ $17 = $15;
+ $18 = (0 - ($17))|0;
+ $19 = $18 & 15;
+ $20 = (($15) + ($19)|0);
+ $21 = (($20) + ($8)|0);
+ $22 = (($21) + ($5)|0);
+ $23 = (($22) + ($5)|0);
+ $24 = (($23) + ($10)|0);
+ $25 = (($24) + ($10)|0);
+ $26 = (FUNCTION_TABLE_iiii[$1 & 127]($20,16208,16)|0);
+ $27 = ($26|0)==(0);
+ if (!($27)) {
+ __gcry_free($15);
+ $$0 = 64540;
+ return ($$0|0);
+ }
+ _memset(($21|0),78,($5|0))|0;
+ _memset(($22|0),78,($5|0))|0;
+ $28 = ($5|0)>(0);
+ if ($28) {
+ $$0129156 = 0;
+ while(1) {
+ $29 = $$0129156&255;
+ $30 = (($23) + ($$0129156)|0);
+ HEAP8[$30>>0] = $29;
+ $31 = (($$0129156) + 1)|0;
+ $exitcond161 = ($31|0)==($5|0);
+ if ($exitcond161) {
+ break;
+ } else {
+ $$0129156 = $31;
+ }
+ }
+ }
+ $32 = $25;
+ $33 = $21;
+ $34 = $23;
+ $35 = $34 | $33;
+ $36 = $35 | $32;
+ $37 = $36 & 3;
+ $38 = ($37|0)==(0);
+ $39 = ($5>>>0)>(3);
+ $or$cond$i = $39 & $38;
+ if ($or$cond$i) {
+ $40 = (($5) + -4)|0;
+ $41 = $40 & -4;
+ $42 = (($41) + 4)|0;
+ $scevgep61$i = (($23) + ($42)|0);
+ $$03449$i = $23;$$03548$i = $21;$$03647$i = $25;$$050$i = $5;
+ while(1) {
+ $43 = ((($$03548$i)) + 4|0);
+ $44 = HEAP32[$$03548$i>>2]|0;
+ $45 = ((($$03449$i)) + 4|0);
+ $46 = HEAP32[$$03449$i>>2]|0;
+ $47 = $46 ^ $44;
+ $48 = ((($$03647$i)) + 4|0);
+ HEAP32[$$03647$i>>2] = $47;
+ $49 = (($$050$i) + -4)|0;
+ $50 = ($49>>>0)>(3);
+ if ($50) {
+ $$03449$i = $45;$$03548$i = $43;$$03647$i = $48;$$050$i = $49;
+ } else {
+ break;
+ }
+ }
+ $scevgep$i = (($21) + ($42)|0);
+ $scevgep63$i = (($25) + ($42)|0);
+ $51 = (($40) - ($41))|0;
+ $$037$i = $scevgep61$i;$$039$i = $scevgep$i;$$041$i = $scevgep63$i;$$1$i = $51;
+ } else {
+ $$037$i = $23;$$039$i = $21;$$041$i = $25;$$1$i = $5;
+ }
+ $52 = ($$1$i|0)==(0);
+ if (!($52)) {
+ $$13845$i = $$037$i;$$14044$i = $$039$i;$$14243$i = $$041$i;$$246$i = $$1$i;
+ while(1) {
+ $53 = ((($$14044$i)) + 1|0);
+ $54 = HEAP8[$$14044$i>>0]|0;
+ $55 = ((($$13845$i)) + 1|0);
+ $56 = HEAP8[$$13845$i>>0]|0;
+ $57 = $56 ^ $54;
+ $58 = ((($$14243$i)) + 1|0);
+ HEAP8[$$14243$i>>0] = $57;
+ $59 = (($$246$i) + -1)|0;
+ $60 = ($59|0)==(0);
+ if ($60) {
+ break;
+ } else {
+ $$13845$i = $55;$$14044$i = $53;$$14243$i = $58;$$246$i = $59;
+ }
+ }
+ }
+ (FUNCTION_TABLE_iiii[$2 & 127]($20,$25,$25)|0);
+ _memcpy(($21|0),($25|0),($5|0))|0;
+ FUNCTION_TABLE_viiiii[$3 & 127]($20,$22,$24,$25,1);
+ $61 = (_memcmp($24,$23,$5)|0);
+ $62 = ($61|0)==(0);
+ if (!($62)) {
+ __gcry_free($15);
+ $$0 = 64491;
+ return ($$0|0);
+ }
+ $63 = (_memcmp($22,$21,$5)|0);
+ $64 = ($63|0)==(0);
+ if (!($64)) {
+ __gcry_free($15);
+ $$0 = 64491;
+ return ($$0|0);
+ }
+ _memset(($21|0),95,($5|0))|0;
+ _memset(($22|0),95,($5|0))|0;
+ $65 = ($10|0)>(0);
+ L32: do {
+ if ($65) {
+ $$1152 = 0;
+ while(1) {
+ $66 = $$1152&255;
+ $67 = (($23) + ($$1152)|0);
+ HEAP8[$67>>0] = $66;
+ $68 = (($$1152) + 1)|0;
+ $exitcond = ($68|0)==($10|0);
+ if ($exitcond) {
+ break;
+ } else {
+ $$1152 = $68;
+ }
+ }
+ if ($65) {
+ $69 = (($5) + -4)|0;
+ $70 = $69 & -4;
+ $71 = (($70) + 4)|0;
+ $scevgep$i131 = (($21) + ($71)|0);
+ $72 = (($69) - ($70))|0;
+ if (!($39)) {
+ $100 = ($5|0)==(0);
+ $$2151 = 0;
+ while(1) {
+ $101 = (($25) + ($$2151)|0);
+ if (!($100)) {
+ $102 = (($23) + ($$2151)|0);
+ $$13845$i147 = $102;$$14044$i148 = $21;$$14243$i149 = $101;$$246$i146 = $5;
+ while(1) {
+ $103 = ((($$14044$i148)) + 1|0);
+ $104 = HEAP8[$$14044$i148>>0]|0;
+ $105 = ((($$13845$i147)) + 1|0);
+ $106 = HEAP8[$$13845$i147>>0]|0;
+ $107 = $106 ^ $104;
+ $108 = ((($$14243$i149)) + 1|0);
+ HEAP8[$$14243$i149>>0] = $107;
+ $109 = (($$246$i146) + -1)|0;
+ $110 = ($109|0)==(0);
+ if ($110) {
+ break;
+ } else {
+ $$13845$i147 = $105;$$14044$i148 = $103;$$14243$i149 = $108;$$246$i146 = $109;
+ }
+ }
+ }
+ (FUNCTION_TABLE_iiii[$2 & 127]($20,$101,$101)|0);
+ _memcpy(($21|0),($101|0),($5|0))|0;
+ $111 = (($$2151) + ($5))|0;
+ $112 = ($111|0)<($10|0);
+ if ($112) {
+ $$2151 = $111;
+ } else {
+ break L32;
+ }
+ }
+ }
+ $$2151$us = 0;
+ while(1) {
+ $73 = (($25) + ($$2151$us)|0);
+ $74 = (($23) + ($$2151$us)|0);
+ $75 = $73;
+ $76 = $75 | $33;
+ $77 = $74;
+ $78 = $76 | $77;
+ $79 = $78 & 3;
+ $80 = ($79|0)==(0);
+ if ($80) {
+ $scevgep61$i132$us = (($74) + ($71)|0);
+ $$03449$i136$us = $74;$$03548$i137$us = $21;$$03647$i138$us = $73;$$050$i135$us = $5;
+ while(1) {
+ $81 = ((($$03548$i137$us)) + 4|0);
+ $82 = HEAP32[$$03548$i137$us>>2]|0;
+ $83 = ((($$03449$i136$us)) + 4|0);
+ $84 = HEAP32[$$03449$i136$us>>2]|0;
+ $85 = $84 ^ $82;
+ $86 = ((($$03647$i138$us)) + 4|0);
+ HEAP32[$$03647$i138$us>>2] = $85;
+ $87 = (($$050$i135$us) + -4)|0;
+ $88 = ($87>>>0)>(3);
+ if ($88) {
+ $$03449$i136$us = $83;$$03548$i137$us = $81;$$03647$i138$us = $86;$$050$i135$us = $87;
+ } else {
+ break;
+ }
+ }
+ $scevgep63$i133$us = (($73) + ($71)|0);
+ $$037$i142$us = $scevgep61$i132$us;$$039$i141$us = $scevgep$i131;$$041$i140$us = $scevgep63$i133$us;$$1$i143$us = $72;
+ } else {
+ $$037$i142$us = $74;$$039$i141$us = $21;$$041$i140$us = $73;$$1$i143$us = $5;
+ }
+ $89 = ($$1$i143$us|0)==(0);
+ if (!($89)) {
+ $$13845$i147$us = $$037$i142$us;$$14044$i148$us = $$039$i141$us;$$14243$i149$us = $$041$i140$us;$$246$i146$us = $$1$i143$us;
+ while(1) {
+ $90 = ((($$14044$i148$us)) + 1|0);
+ $91 = HEAP8[$$14044$i148$us>>0]|0;
+ $92 = ((($$13845$i147$us)) + 1|0);
+ $93 = HEAP8[$$13845$i147$us>>0]|0;
+ $94 = $93 ^ $91;
+ $95 = ((($$14243$i149$us)) + 1|0);
+ HEAP8[$$14243$i149$us>>0] = $94;
+ $96 = (($$246$i146$us) + -1)|0;
+ $97 = ($96|0)==(0);
+ if ($97) {
+ break;
+ } else {
+ $$13845$i147$us = $92;$$14044$i148$us = $90;$$14243$i149$us = $95;$$246$i146$us = $96;
+ }
+ }
+ }
+ (FUNCTION_TABLE_iiii[$2 & 127]($20,$73,$73)|0);
+ _memcpy(($21|0),($73|0),($5|0))|0;
+ $98 = (($$2151$us) + ($5))|0;
+ $99 = ($98|0)<($10|0);
+ if ($99) {
+ $$2151$us = $98;
+ } else {
+ break;
+ }
+ }
+ }
+ }
+ } while(0);
+ FUNCTION_TABLE_viiiii[$3 & 127]($20,$22,$24,$25,$4);
+ $113 = (_memcmp($24,$23,$10)|0);
+ $114 = ($113|0)==(0);
+ if ($114) {
+ $115 = (_memcmp($22,$21,$5)|0);
+ $116 = ($115|0)==(0);
+ __gcry_free($15);
+ $$ = $116 ? 0 : 64491;
+ $$0 = $$;
+ return ($$0|0);
+ } else {
+ __gcry_free($15);
+ $$0 = 64491;
+ return ($$0|0);
+ }
+ return (0)|0;
+}
+function __gcry_selftest_helper_cfb($0,$1,$2,$3,$4,$5,$6) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ $5 = $5|0;
+ $6 = $6|0;
+ var $$ = 0, $$0 = 0, $$0121148 = 0, $$03449$i = 0, $$03449$i128$us = 0, $$03548$i = 0, $$03548$i129$us = 0, $$03647$i = 0, $$03647$i130$us = 0, $$037$i = 0, $$037$i134$us = 0, $$039$i = 0, $$039$i133$us = 0, $$041$i = 0, $$041$i132$us = 0, $$050$i = 0, $$050$i127$us = 0, $$1$i = 0, $$1$i135$us = 0, $$1144 = 0;
+ var $$13845$i = 0, $$13845$i139 = 0, $$13845$i139$us = 0, $$14044$i = 0, $$14044$i140 = 0, $$14044$i140$us = 0, $$14243$i = 0, $$14243$i141 = 0, $$14243$i141$us = 0, $$2143 = 0, $$2143$us = 0, $$246$i = 0, $$246$i138 = 0, $$246$i138$us = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0;
+ var $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, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0;
+ var $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0;
+ var $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0;
+ var $59 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0;
+ var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0;
+ var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond153 = 0, $or$cond$i = 0, $scevgep$i = 0, $scevgep$i123$us = 0, $scevgep61$i = 0, $scevgep61$i124$us = 0, $scevgep63$i = 0, $scevgep63$i125 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $7 = (($6) + 15)|0;
+ $8 = $7 & -16;
+ $9 = $5 << 1;
+ $10 = Math_imul($5, $4)|0;
+ $11 = ($10*3)|0;
+ $12 = (($9) + 16)|0;
+ $13 = (($12) + ($11))|0;
+ $14 = (($13) + ($8))|0;
+ $15 = (__gcry_calloc(1,$14)|0);
+ $16 = ($15|0)==(0|0);
+ if ($16) {
+ $$0 = 64554;
+ return ($$0|0);
+ }
+ $17 = $15;
+ $18 = (0 - ($17))|0;
+ $19 = $18 & 15;
+ $20 = (($15) + ($19)|0);
+ $21 = (($20) + ($8)|0);
+ $22 = (($21) + ($5)|0);
+ $23 = (($22) + ($5)|0);
+ $24 = (($23) + ($10)|0);
+ $25 = (($24) + ($10)|0);
+ $26 = (FUNCTION_TABLE_iiii[$1 & 127]($20,16224,16)|0);
+ $27 = ($26|0)==(0);
+ if (!($27)) {
+ __gcry_free($15);
+ $$0 = 64540;
+ return ($$0|0);
+ }
+ _memset(($21|0),-45,($5|0))|0;
+ _memset(($22|0),-45,($5|0))|0;
+ $28 = ($5|0)>(0);
+ if ($28) {
+ $$0121148 = 0;
+ while(1) {
+ $29 = $$0121148&255;
+ $30 = (($23) + ($$0121148)|0);
+ HEAP8[$30>>0] = $29;
+ $31 = (($$0121148) + 1)|0;
+ $exitcond153 = ($31|0)==($5|0);
+ if ($exitcond153) {
+ break;
+ } else {
+ $$0121148 = $31;
+ }
+ }
+ }
+ (FUNCTION_TABLE_iiii[$2 & 127]($20,$25,$21)|0);
+ $32 = $23;
+ $33 = $21;
+ $34 = $25;
+ $35 = $32 | $33;
+ $36 = $35 | $34;
+ $37 = $36 & 3;
+ $38 = ($37|0)==(0);
+ $39 = ($5>>>0)>(3);
+ $or$cond$i = $39 & $38;
+ if ($or$cond$i) {
+ $40 = (($5) + -4)|0;
+ $41 = $40 & -4;
+ $42 = (($41) + 4)|0;
+ $scevgep61$i = (($25) + ($42)|0);
+ $$03449$i = $23;$$03548$i = $25;$$03647$i = $21;$$050$i = $5;
+ while(1) {
+ $43 = ((($$03449$i)) + 4|0);
+ $44 = HEAP32[$$03449$i>>2]|0;
+ $45 = ((($$03548$i)) + 4|0);
+ $46 = HEAP32[$$03548$i>>2]|0;
+ $47 = $46 ^ $44;
+ HEAP32[$$03548$i>>2] = $47;
+ $48 = ((($$03647$i)) + 4|0);
+ HEAP32[$$03647$i>>2] = $47;
+ $49 = (($$050$i) + -4)|0;
+ $50 = ($49>>>0)>(3);
+ if ($50) {
+ $$03449$i = $43;$$03548$i = $45;$$03647$i = $48;$$050$i = $49;
+ } else {
+ break;
+ }
+ }
+ $scevgep$i = (($23) + ($42)|0);
+ $scevgep63$i = (($21) + ($42)|0);
+ $51 = (($40) - ($41))|0;
+ $$037$i = $scevgep$i;$$039$i = $scevgep61$i;$$041$i = $scevgep63$i;$$1$i = $51;
+ } else {
+ $$037$i = $23;$$039$i = $25;$$041$i = $21;$$1$i = $5;
+ }
+ $52 = ($$1$i|0)==(0);
+ if (!($52)) {
+ $$13845$i = $$037$i;$$14044$i = $$039$i;$$14243$i = $$041$i;$$246$i = $$1$i;
+ while(1) {
+ $53 = ((($$13845$i)) + 1|0);
+ $54 = HEAP8[$$13845$i>>0]|0;
+ $55 = ((($$14044$i)) + 1|0);
+ $56 = HEAP8[$$14044$i>>0]|0;
+ $57 = $56 ^ $54;
+ HEAP8[$$14044$i>>0] = $57;
+ $58 = ((($$14243$i)) + 1|0);
+ HEAP8[$$14243$i>>0] = $57;
+ $59 = (($$246$i) + -1)|0;
+ $60 = ($59|0)==(0);
+ if ($60) {
+ break;
+ } else {
+ $$13845$i = $53;$$14044$i = $55;$$14243$i = $58;$$246$i = $59;
+ }
+ }
+ }
+ FUNCTION_TABLE_viiiii[$3 & 127]($20,$22,$24,$25,1);
+ $61 = (_memcmp($24,$23,$5)|0);
+ $62 = ($61|0)==(0);
+ if (!($62)) {
+ __gcry_free($15);
+ $$0 = 64580;
+ return ($$0|0);
+ }
+ $63 = (_memcmp($22,$21,$5)|0);
+ $64 = ($63|0)==(0);
+ if (!($64)) {
+ __gcry_free($15);
+ $$0 = 64580;
+ return ($$0|0);
+ }
+ _memset(($21|0),-26,($5|0))|0;
+ _memset(($22|0),-26,($5|0))|0;
+ $65 = ($10|0)>(0);
+ L32: do {
+ if ($65) {
+ $$1144 = 0;
+ while(1) {
+ $66 = $$1144&255;
+ $67 = (($23) + ($$1144)|0);
+ HEAP8[$67>>0] = $66;
+ $68 = (($$1144) + 1)|0;
+ $exitcond = ($68|0)==($10|0);
+ if ($exitcond) {
+ break;
+ } else {
+ $$1144 = $68;
+ }
+ }
+ if ($65) {
+ $69 = (($5) + -4)|0;
+ $70 = $69 & -4;
+ $71 = (($70) + 4)|0;
+ $scevgep63$i125 = (($21) + ($71)|0);
+ $72 = (($69) - ($70))|0;
+ if (!($39)) {
+ $100 = ($5|0)==(0);
+ $$2143 = 0;
+ while(1) {
+ $101 = (($25) + ($$2143)|0);
+ (FUNCTION_TABLE_iiii[$2 & 127]($20,$101,$21)|0);
+ if (!($100)) {
+ $102 = (($23) + ($$2143)|0);
+ $$13845$i139 = $102;$$14044$i140 = $101;$$14243$i141 = $21;$$246$i138 = $5;
+ while(1) {
+ $103 = ((($$13845$i139)) + 1|0);
+ $104 = HEAP8[$$13845$i139>>0]|0;
+ $105 = ((($$14044$i140)) + 1|0);
+ $106 = HEAP8[$$14044$i140>>0]|0;
+ $107 = $106 ^ $104;
+ HEAP8[$$14044$i140>>0] = $107;
+ $108 = ((($$14243$i141)) + 1|0);
+ HEAP8[$$14243$i141>>0] = $107;
+ $109 = (($$246$i138) + -1)|0;
+ $110 = ($109|0)==(0);
+ if ($110) {
+ break;
+ } else {
+ $$13845$i139 = $103;$$14044$i140 = $105;$$14243$i141 = $108;$$246$i138 = $109;
+ }
+ }
+ }
+ $111 = (($$2143) + ($5))|0;
+ $112 = ($111|0)<($10|0);
+ if ($112) {
+ $$2143 = $111;
+ } else {
+ break L32;
+ }
+ }
+ }
+ $$2143$us = 0;
+ while(1) {
+ $73 = (($25) + ($$2143$us)|0);
+ (FUNCTION_TABLE_iiii[$2 & 127]($20,$73,$21)|0);
+ $74 = (($23) + ($$2143$us)|0);
+ $75 = $74;
+ $76 = $73;
+ $77 = $76 | $33;
+ $78 = $77 | $75;
+ $79 = $78 & 3;
+ $80 = ($79|0)==(0);
+ if ($80) {
+ $scevgep$i123$us = (($74) + ($71)|0);
+ $$03449$i128$us = $74;$$03548$i129$us = $73;$$03647$i130$us = $21;$$050$i127$us = $5;
+ while(1) {
+ $81 = ((($$03449$i128$us)) + 4|0);
+ $82 = HEAP32[$$03449$i128$us>>2]|0;
+ $83 = ((($$03548$i129$us)) + 4|0);
+ $84 = HEAP32[$$03548$i129$us>>2]|0;
+ $85 = $84 ^ $82;
+ HEAP32[$$03548$i129$us>>2] = $85;
+ $86 = ((($$03647$i130$us)) + 4|0);
+ HEAP32[$$03647$i130$us>>2] = $85;
+ $87 = (($$050$i127$us) + -4)|0;
+ $88 = ($87>>>0)>(3);
+ if ($88) {
+ $$03449$i128$us = $81;$$03548$i129$us = $83;$$03647$i130$us = $86;$$050$i127$us = $87;
+ } else {
+ break;
+ }
+ }
+ $scevgep61$i124$us = (($73) + ($71)|0);
+ $$037$i134$us = $scevgep$i123$us;$$039$i133$us = $scevgep61$i124$us;$$041$i132$us = $scevgep63$i125;$$1$i135$us = $72;
+ } else {
+ $$037$i134$us = $74;$$039$i133$us = $73;$$041$i132$us = $21;$$1$i135$us = $5;
+ }
+ $89 = ($$1$i135$us|0)==(0);
+ if (!($89)) {
+ $$13845$i139$us = $$037$i134$us;$$14044$i140$us = $$039$i133$us;$$14243$i141$us = $$041$i132$us;$$246$i138$us = $$1$i135$us;
+ while(1) {
+ $90 = ((($$13845$i139$us)) + 1|0);
+ $91 = HEAP8[$$13845$i139$us>>0]|0;
+ $92 = ((($$14044$i140$us)) + 1|0);
+ $93 = HEAP8[$$14044$i140$us>>0]|0;
+ $94 = $93 ^ $91;
+ HEAP8[$$14044$i140$us>>0] = $94;
+ $95 = ((($$14243$i141$us)) + 1|0);
+ HEAP8[$$14243$i141$us>>0] = $94;
+ $96 = (($$246$i138$us) + -1)|0;
+ $97 = ($96|0)==(0);
+ if ($97) {
+ break;
+ } else {
+ $$13845$i139$us = $90;$$14044$i140$us = $92;$$14243$i141$us = $95;$$246$i138$us = $96;
+ }
+ }
+ }
+ $98 = (($$2143$us) + ($5))|0;
+ $99 = ($98|0)<($10|0);
+ if ($99) {
+ $$2143$us = $98;
+ } else {
+ break;
+ }
+ }
+ }
+ }
+ } while(0);
+ FUNCTION_TABLE_viiiii[$3 & 127]($20,$22,$24,$25,$4);
+ $113 = (_memcmp($24,$23,$10)|0);
+ $114 = ($113|0)==(0);
+ if ($114) {
+ $115 = (_memcmp($22,$21,$5)|0);
+ $116 = ($115|0)==(0);
+ __gcry_free($15);
+ $$ = $116 ? 0 : 64580;
+ $$0 = $$;
+ return ($$0|0);
+ } else {
+ __gcry_free($15);
+ $$0 = 64580;
+ return ($$0|0);
+ }
+ return (0)|0;
+}
+function __gcry_selftest_helper_ctr($0,$1,$2,$3,$4,$5,$6) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ $5 = $5|0;
+ $6 = $6|0;
+ var $$0 = 0, $$0236308 = 0, $$0237271$us = 0, $$0241267 = 0, $$1238275$us = 0, $$1304 = 0, $$2239243$us = 0, $$2299 = 0, $$3240247$us = 0, $$3295 = 0, $$4280 = 0, $$4280$us = 0, $$5242 = 0, $$6252 = 0, $$6252$us = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0;
+ var $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0;
+ var $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0;
+ var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
+ var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0;
+ var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond316 = 0;
+ var $exitcond317 = 0, $exitcond318 = 0, $exitcond319 = 0, $exitcond320 = 0, $or$cond = 0, $or$cond313 = 0, $or$cond315 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $7 = (($6) + 15)|0;
+ $8 = $7 & -16;
+ $9 = $5 << 1;
+ $10 = Math_imul($5, $4)|0;
+ $11 = $10 << 2;
+ $12 = (($9) + 16)|0;
+ $13 = (($12) + ($11))|0;
+ $14 = (($13) + ($8))|0;
+ $15 = (__gcry_calloc(1,$14)|0);
+ $16 = ($15|0)==(0|0);
+ if ($16) {
+ $$0 = 64554;
+ return ($$0|0);
+ }
+ $17 = $15;
+ $18 = (0 - ($17))|0;
+ $19 = $18 & 15;
+ $20 = (($15) + ($19)|0);
+ $21 = (($20) + ($8)|0);
+ $22 = (($21) + ($5)|0);
+ $23 = (($22) + ($5)|0);
+ $24 = (($23) + ($10)|0);
+ $25 = (($24) + ($10)|0);
+ $26 = (($25) + ($10)|0);
+ $27 = (FUNCTION_TABLE_iiii[$1 & 127]($20,16240,16)|0);
+ $28 = ($27|0)==(0);
+ if (!($28)) {
+ __gcry_free($15);
+ $$0 = 64540;
+ return ($$0|0);
+ }
+ _memset(($21|0),-1,($5|0))|0;
+ $29 = ($5|0)>(0);
+ if ($29) {
+ $$0236308 = 0;
+ while(1) {
+ $30 = $$0236308&255;
+ $31 = (($23) + ($$0236308)|0);
+ HEAP8[$31>>0] = $30;
+ $32 = (($$0236308) + 1)|0;
+ $exitcond320 = ($32|0)==($5|0);
+ if ($exitcond320) {
+ break;
+ } else {
+ $$0236308 = $32;
+ }
+ }
+ (FUNCTION_TABLE_iiii[$2 & 127]($20,$25,$21)|0);
+ if ($29) {
+ $$1304 = 0;
+ while(1) {
+ $33 = (($23) + ($$1304)|0);
+ $34 = HEAP8[$33>>0]|0;
+ $35 = (($25) + ($$1304)|0);
+ $36 = HEAP8[$35>>0]|0;
+ $37 = $36 ^ $34;
+ HEAP8[$35>>0] = $37;
+ $38 = (($$1304) + 1)|0;
+ $exitcond319 = ($38|0)==($5|0);
+ if ($exitcond319) {
+ break;
+ } else {
+ $$1304 = $38;
+ }
+ }
+ if ($29) {
+ $$2299 = $5;
+ while(1) {
+ $39 = (($$2299) + -1)|0;
+ $40 = (($21) + ($39)|0);
+ $41 = HEAP8[$40>>0]|0;
+ $42 = (($41) + 1)<<24>>24;
+ HEAP8[$40>>0] = $42;
+ $43 = ($42<<24>>24)==(0);
+ $44 = ($$2299|0)>(1);
+ $or$cond315 = $43 & $44;
+ if ($or$cond315) {
+ $$2299 = $39;
+ } else {
+ break;
+ }
+ }
+ }
+ }
+ } else {
+ (FUNCTION_TABLE_iiii[$2 & 127]($20,$25,$21)|0);
+ }
+ _memset(($22|0),-1,($5|0))|0;
+ FUNCTION_TABLE_viiiii[$3 & 127]($20,$22,$24,$25,1);
+ $45 = (_memcmp($24,$23,$5)|0);
+ $46 = ($45|0)==(0);
+ if (!($46)) {
+ __gcry_free($15);
+ $$0 = 64629;
+ return ($$0|0);
+ }
+ $47 = (_memcmp($22,$21,$5)|0);
+ $48 = ($47|0)==(0);
+ if (!($48)) {
+ __gcry_free($15);
+ $$0 = 64629;
+ return ($$0|0);
+ }
+ $49 = (($5) + -4)|0;
+ _memset(($21|0),87,($49|0))|0;
+ $50 = (($5) + -1)|0;
+ $51 = (($21) + ($50)|0);
+ HEAP8[$51>>0] = 1;
+ $52 = (($5) + -2)|0;
+ $53 = (($21) + ($52)|0);
+ HEAP8[$53>>0] = 0;
+ $54 = (($5) + -3)|0;
+ $55 = (($21) + ($54)|0);
+ HEAP8[$55>>0] = 0;
+ $56 = (($21) + ($49)|0);
+ HEAP8[$56>>0] = 0;
+ _memset(($22|0),87,($49|0))|0;
+ $57 = (($22) + ($50)|0);
+ HEAP8[$57>>0] = 1;
+ $58 = (($22) + ($52)|0);
+ HEAP8[$58>>0] = 0;
+ $59 = (($22) + ($54)|0);
+ HEAP8[$59>>0] = 0;
+ $60 = (($22) + ($49)|0);
+ HEAP8[$60>>0] = 0;
+ $61 = ($10|0)>(0);
+ L30: do {
+ if ($61) {
+ $$3295 = 0;
+ while(1) {
+ $62 = $$3295&255;
+ $63 = (($23) + ($$3295)|0);
+ HEAP8[$63>>0] = $62;
+ $64 = (($24) + ($$3295)|0);
+ HEAP8[$64>>0] = $62;
+ $65 = (($$3295) + 1)|0;
+ $exitcond318 = ($65|0)==($10|0);
+ if ($exitcond318) {
+ break;
+ } else {
+ $$3295 = $65;
+ }
+ }
+ if ($61) {
+ if (!($29)) {
+ $$4280 = 0;
+ while(1) {
+ $82 = (($25) + ($$4280)|0);
+ (FUNCTION_TABLE_iiii[$2 & 127]($20,$82,$21)|0);
+ $83 = (($$4280) + ($5))|0;
+ $84 = ($83|0)<($10|0);
+ if ($84) {
+ $$4280 = $83;
+ } else {
+ break L30;
+ }
+ }
+ }
+ $$4280$us = 0;
+ while(1) {
+ $66 = (($25) + ($$4280$us)|0);
+ (FUNCTION_TABLE_iiii[$2 & 127]($20,$66,$21)|0);
+ $$0237271$us = 0;
+ while(1) {
+ $75 = (($$0237271$us) + ($$4280$us))|0;
+ $76 = (($23) + ($75)|0);
+ $77 = HEAP8[$76>>0]|0;
+ $78 = (($25) + ($75)|0);
+ $79 = HEAP8[$78>>0]|0;
+ $80 = $79 ^ $77;
+ HEAP8[$78>>0] = $80;
+ $81 = (($$0237271$us) + 1)|0;
+ $exitcond317 = ($81|0)==($5|0);
+ if ($exitcond317) {
+ break;
+ } else {
+ $$0237271$us = $81;
+ }
+ }
+ $$1238275$us = $5;
+ while(1) {
+ $67 = (($$1238275$us) + -1)|0;
+ $68 = (($21) + ($67)|0);
+ $69 = HEAP8[$68>>0]|0;
+ $70 = (($69) + 1)<<24>>24;
+ HEAP8[$68>>0] = $70;
+ $71 = ($70<<24>>24)==(0);
+ $72 = ($$1238275$us|0)>(1);
+ $or$cond313 = $71 & $72;
+ if ($or$cond313) {
+ $$1238275$us = $67;
+ } else {
+ break;
+ }
+ }
+ $73 = (($$4280$us) + ($5))|0;
+ $74 = ($73|0)<($10|0);
+ if ($74) {
+ $$4280$us = $73;
+ } else {
+ break;
+ }
+ }
+ }
+ }
+ } while(0);
+ FUNCTION_TABLE_viiiii[$3 & 127]($20,$22,$26,$24,$4);
+ $85 = (_memcmp($26,$25,$10)|0);
+ $86 = ($85|0)==(0);
+ if (!($86)) {
+ __gcry_free($15);
+ $$0 = 64629;
+ return ($$0|0);
+ }
+ $87 = (_memcmp($22,$21,$5)|0);
+ $88 = ($87|0)==(0);
+ if (!($88)) {
+ __gcry_free($15);
+ $$0 = 64629;
+ return ($$0|0);
+ }
+ $89 = ($4|0)>(0);
+ L58: do {
+ if ($89) {
+ $90 = ((($21)) + 1|0);
+ $91 = ((($21)) + 2|0);
+ $92 = ((($22)) + 1|0);
+ $93 = ((($22)) + 2|0);
+ $$0241267 = 0;
+ while(1) {
+ _memset(($21|0),-1,($5|0))|0;
+ $96 = HEAP8[$51>>0]|0;
+ $97 = $96&255;
+ $98 = (($97) - ($$0241267))|0;
+ $99 = $98&255;
+ HEAP8[$51>>0] = $99;
+ HEAP8[$90>>0] = 0;
+ HEAP8[$21>>0] = 0;
+ HEAP8[$91>>0] = 7;
+ L62: do {
+ if ($61) {
+ $$5242 = 0;
+ while(1) {
+ $100 = $$5242&255;
+ $101 = (($23) + ($$5242)|0);
+ HEAP8[$101>>0] = $100;
+ $102 = (($$5242) + 1)|0;
+ $exitcond = ($102|0)==($10|0);
+ if ($exitcond) {
+ break;
+ } else {
+ $$5242 = $102;
+ }
+ }
+ if ($61) {
+ if (!($29)) {
+ $$6252 = 0;
+ while(1) {
+ $119 = (($25) + ($$6252)|0);
+ (FUNCTION_TABLE_iiii[$2 & 127]($20,$119,$21)|0);
+ $120 = (($$6252) + ($5))|0;
+ $121 = ($120|0)<($10|0);
+ if ($121) {
+ $$6252 = $120;
+ } else {
+ break L62;
+ }
+ }
+ }
+ $$6252$us = 0;
+ while(1) {
+ $103 = (($25) + ($$6252$us)|0);
+ (FUNCTION_TABLE_iiii[$2 & 127]($20,$103,$21)|0);
+ $$2239243$us = 0;
+ while(1) {
+ $112 = (($$2239243$us) + ($$6252$us))|0;
+ $113 = (($23) + ($112)|0);
+ $114 = HEAP8[$113>>0]|0;
+ $115 = (($25) + ($112)|0);
+ $116 = HEAP8[$115>>0]|0;
+ $117 = $116 ^ $114;
+ HEAP8[$115>>0] = $117;
+ $118 = (($$2239243$us) + 1)|0;
+ $exitcond316 = ($118|0)==($5|0);
+ if ($exitcond316) {
+ break;
+ } else {
+ $$2239243$us = $118;
+ }
+ }
+ $$3240247$us = $5;
+ while(1) {
+ $104 = (($$3240247$us) + -1)|0;
+ $105 = (($21) + ($104)|0);
+ $106 = HEAP8[$105>>0]|0;
+ $107 = (($106) + 1)<<24>>24;
+ HEAP8[$105>>0] = $107;
+ $108 = ($107<<24>>24)==(0);
+ $109 = ($$3240247$us|0)>(1);
+ $or$cond = $108 & $109;
+ if ($or$cond) {
+ $$3240247$us = $104;
+ } else {
+ break;
+ }
+ }
+ $110 = (($$6252$us) + ($5))|0;
+ $111 = ($110|0)<($10|0);
+ if ($111) {
+ $$6252$us = $110;
+ } else {
+ break;
+ }
+ }
+ }
+ }
+ } while(0);
+ _memset(($22|0),-1,($5|0))|0;
+ $122 = HEAP8[$57>>0]|0;
+ $123 = $122&255;
+ $124 = (($123) - ($$0241267))|0;
+ $125 = $124&255;
+ HEAP8[$57>>0] = $125;
+ HEAP8[$92>>0] = 0;
+ HEAP8[$22>>0] = 0;
+ HEAP8[$93>>0] = 7;
+ FUNCTION_TABLE_viiiii[$3 & 127]($20,$22,$24,$25,$4);
+ $126 = (_memcmp($24,$23,$10)|0);
+ $127 = ($126|0)==(0);
+ if (!($127)) {
+ label = 52;
+ break;
+ }
+ $128 = (_memcmp($22,$21,$5)|0);
+ $129 = ($128|0)==(0);
+ $95 = (($$0241267) + 1)|0;
+ if (!($129)) {
+ label = 54;
+ break;
+ }
+ $94 = ($95|0)<($4|0);
+ if ($94) {
+ $$0241267 = $95;
+ } else {
+ break L58;
+ }
+ }
+ if ((label|0) == 52) {
+ __gcry_free($15);
+ $$0 = 64629;
+ return ($$0|0);
+ }
+ else if ((label|0) == 54) {
+ __gcry_free($15);
+ $$0 = 64629;
+ return ($$0|0);
+ }
+ }
+ } while(0);
+ __gcry_free($15);
+ $$0 = 0;
+ return ($$0|0);
+}
+function _ecc_generate($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $$0$i$i = 0, $$0102110 = 0, $$0105109 = 0, $$076 = 0, $$078 = 0, $$079 = 0, $$080 = 0, $$081 = 0, $$081$i = 0, $$082 = 0, $$082$i = 0, $$1 = 0, $$1103 = 0, $$1106 = 0, $$184 = 0, $$187 = 0, $$2 = 0, $$2$i = 0, $$2104 = 0, $$2107 = 0;
+ var $$284$i = 0, $$285 = 0, $$3 = 0, $$3108 = 0, $$byval_copy = 0, $$byval_copy71 = 0, $$lobit = 0, $$pre = 0, $$pre$i = 0, $$pre$phi$iZ2D = 0, $$pre$phi116Z2D = 0, $$pre$phi118Z2D = 0, $$pre$phi120Z2D = 0, $$pre$phi122Z2D = 0, $$pre$phi124Z2D = 0, $$pre$phi2$iZ2D = 0, $$pre1$i = 0, $$pre115 = 0, $$pre117 = 0, $$pre119 = 0;
+ var $$pre121 = 0, $$pre123 = 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, $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, $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, $34 = 0;
+ var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0;
+ var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0;
+ var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0;
+ var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond93 = 0, $spec$select = 0, $vararg_buffer = 0, $vararg_buffer10 = 0, $vararg_buffer12 = 0, $vararg_buffer14 = 0, $vararg_buffer16 = 0, $vararg_buffer18 = 0;
+ var $vararg_buffer2 = 0, $vararg_buffer20 = 0, $vararg_buffer22 = 0, $vararg_buffer24 = 0, $vararg_buffer26 = 0, $vararg_buffer28 = 0, $vararg_buffer31 = 0, $vararg_buffer34 = 0, $vararg_buffer37 = 0, $vararg_buffer39 = 0, $vararg_buffer5 = 0, $vararg_buffer60 = 0, $vararg_buffer69 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0, $vararg_ptr42 = 0, $vararg_ptr43 = 0, $vararg_ptr44 = 0, $vararg_ptr45 = 0, $vararg_ptr46 = 0;
+ var $vararg_ptr47 = 0, $vararg_ptr48 = 0, $vararg_ptr49 = 0, $vararg_ptr50 = 0, $vararg_ptr51 = 0, $vararg_ptr52 = 0, $vararg_ptr53 = 0, $vararg_ptr54 = 0, $vararg_ptr55 = 0, $vararg_ptr56 = 0, $vararg_ptr57 = 0, $vararg_ptr58 = 0, $vararg_ptr59 = 0, $vararg_ptr63 = 0, $vararg_ptr64 = 0, $vararg_ptr65 = 0, $vararg_ptr66 = 0, $vararg_ptr67 = 0, $vararg_ptr68 = 0, dest = 0;
+ var label = 0, sp = 0, src = 0, stop = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 704|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(704|0);
+ $$byval_copy71 = sp + 660|0;
+ $$byval_copy = sp + 616|0;
+ $vararg_buffer69 = sp + 248|0;
+ $vararg_buffer60 = sp + 216|0;
+ $vararg_buffer39 = sp + 136|0;
+ $vararg_buffer37 = sp + 128|0;
+ $vararg_buffer34 = sp + 120|0;
+ $vararg_buffer31 = sp + 112|0;
+ $vararg_buffer28 = sp + 104|0;
+ $vararg_buffer26 = sp + 96|0;
+ $vararg_buffer24 = sp + 88|0;
+ $vararg_buffer22 = sp + 80|0;
+ $vararg_buffer20 = sp + 72|0;
+ $vararg_buffer18 = sp + 64|0;
+ $vararg_buffer16 = sp + 56|0;
+ $vararg_buffer14 = sp + 48|0;
+ $vararg_buffer12 = sp + 40|0;
+ $vararg_buffer10 = sp + 32|0;
+ $vararg_buffer8 = sp + 24|0;
+ $vararg_buffer5 = sp + 16|0;
+ $vararg_buffer2 = sp + 8|0;
+ $vararg_buffer = sp;
+ $2 = sp + 560|0;
+ $3 = sp + 548|0;
+ $4 = sp + 504|0;
+ $5 = sp + 448|0;
+ $6 = sp + 436|0;
+ $7 = sp + 392|0;
+ $8 = sp + 380|0;
+ $9 = sp + 376|0;
+ $10 = sp + 332|0;
+ $11 = sp + 272|0;
+ $12 = sp + 268|0;
+ $13 = sp + 264|0;
+ $14 = sp + 260|0;
+ $15 = sp + 256|0;
+ $16 = sp + 252|0;
+ HEAP32[$12>>2] = 0;
+ HEAP32[$13>>2] = 0;
+ HEAP32[$14>>2] = 0;
+ dest=$10; stop=dest+44|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
+ dest=$11; stop=dest+60|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
+ $17 = (__gcry_pk_util_get_nbits($0,$9)|0);
+ $18 = ($17|0)==(0);
+ if (!($18)) {
+ $$187 = $17;
+ STACKTOP = sp;return ($$187|0);
+ }
+ $19 = (__gcry_sexp_find_token($0,64745,0)|0);
+ $20 = ($19|0)==(0|0);
+ if ($20) {
+ $$080 = 0;
+ } else {
+ $21 = (__gcry_sexp_nth_string($19,1)|0);
+ __gcry_sexp_release($19);
+ $22 = ($21|0)==(0|0);
+ if ($22) {
+ $$187 = 65;
+ STACKTOP = sp;return ($$187|0);
+ } else {
+ $$080 = $21;
+ }
+ }
+ $23 = (__gcry_sexp_find_token($0,64705,0)|0);
+ $24 = ($23|0)==(0|0);
+ if ($24) {
+ label = 6;
+ } else {
+ $25 = (__gcry_pk_util_parse_flaglist($23,$14,0)|0);
+ __gcry_sexp_release($23);
+ $26 = ($25|0)==(0);
+ if ($26) {
+ label = 6;
+ } else {
+ $$076 = 0;$$078 = 0;$$079 = 0;$$081 = 0;$$082 = 0;$$2 = 0;$$285 = $25;$$3 = 0;$$3108 = 0;
+ }
+ }
+ do {
+ if ((label|0) == 6) {
+ $27 = (__gcry_sexp_find_token($0,66452,0)|0);
+ $28 = ($27|0)==(0|0);
+ if (!($28)) {
+ $29 = HEAP32[$14>>2]|0;
+ $30 = $29 | 32;
+ HEAP32[$14>>2] = $30;
+ __gcry_sexp_release($27);
+ }
+ $31 = HEAP32[$9>>2]|0;
+ $32 = ($31|0)!=(0);
+ $33 = ($$080|0)!=(0|0);
+ $or$cond = $33 | $32;
+ if (!($or$cond)) {
+ $$187 = 68;
+ STACKTOP = sp;return ($$187|0);
+ }
+ $34 = (__gcry_ecc_fill_in_curve($31,$$080,$10,$9)|0);
+ __gcry_free($$080);
+ $35 = ($34|0)==(0);
+ if ($35) {
+ $36 = (__gcry_get_debug_flag(1)|0);
+ $37 = ($36|0)==(0);
+ if ($37) {
+ $$pre115 = ((($10)) + 4|0);
+ $$pre117 = ((($10)) + 8|0);
+ $$pre119 = ((($10)) + 12|0);
+ $$pre121 = ((($10)) + 16|0);
+ $$pre$phi116Z2D = $$pre115;$$pre$phi118Z2D = $$pre117;$$pre$phi120Z2D = $$pre119;$$pre$phi122Z2D = $$pre121;
+ } else {
+ $38 = HEAP32[$10>>2]|0;
+ $39 = (__gcry_ecc_model2str($38)|0);
+ $40 = ((($10)) + 4|0);
+ $41 = HEAP32[$40>>2]|0;
+ $42 = (__gcry_ecc_dialect2str($41)|0);
+ HEAP32[$vararg_buffer>>2] = $39;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = $42;
+ __gcry_log_debug(66466,$vararg_buffer);
+ $43 = ((($10)) + 40|0);
+ $44 = HEAP32[$43>>2]|0;
+ $45 = ($44|0)==(0|0);
+ if (!($45)) {
+ HEAP32[$vararg_buffer2>>2] = $44;
+ __gcry_log_debug(66491,$vararg_buffer2);
+ }
+ $46 = ((($10)) + 8|0);
+ $47 = HEAP32[$46>>2]|0;
+ __gcry_log_printmpi(66513,$47);
+ $48 = ((($10)) + 12|0);
+ $49 = HEAP32[$48>>2]|0;
+ __gcry_log_printmpi(66529,$49);
+ $50 = ((($10)) + 16|0);
+ $51 = HEAP32[$50>>2]|0;
+ __gcry_log_printmpi(66545,$51);
+ $52 = ((($10)) + 32|0);
+ $53 = HEAP32[$52>>2]|0;
+ __gcry_log_printmpi(66561,$53);
+ $54 = ((($10)) + 36|0);
+ $55 = HEAP32[$54>>2]|0;
+ __gcry_log_printmpi(66577,$55);
+ $56 = ((($10)) + 20|0);
+ __gcry_mpi_point_log(66593,$56,0);
+ $$pre$phi116Z2D = $40;$$pre$phi118Z2D = $46;$$pre$phi120Z2D = $48;$$pre$phi122Z2D = $50;
+ }
+ $57 = HEAP32[$10>>2]|0;
+ $58 = HEAP32[$$pre$phi116Z2D>>2]|0;
+ $59 = HEAP32[$$pre$phi118Z2D>>2]|0;
+ $60 = HEAP32[$$pre$phi120Z2D>>2]|0;
+ $61 = HEAP32[$$pre$phi122Z2D>>2]|0;
+ $62 = (__gcry_mpi_ec_p_internal_new($57,$58,0,$59,$60,$61)|0);
+ $63 = HEAP32[$14>>2]|0;
+ $64 = $63 & 4096;
+ $65 = ($64|0)==(0);
+ if ($65) {
+ $66 = HEAP32[$9>>2]|0;
+ $67 = HEAP32[$$pre$phi118Z2D>>2]|0;
+ $68 = (__gcry_mpi_get_nbits($67)|0);
+ __gcry_mpi_point_init($8);
+ $69 = $63 >>> 5;
+ $70 = $69 & 1;
+ $71 = (2 - ($70))|0;
+ $72 = ((($62)) + 4|0);
+ $73 = HEAP32[$72>>2]|0;
+ $74 = ($73|0)==(1);
+ if ($74) {
+ $75 = (__gcry_mpi_snew(256)|0);
+ $76 = ((($11)) + 56|0);
+ HEAP32[$76>>2] = $75;
+ $77 = (__gcry_random_bytes_secure(32,$71)|0);
+ $78 = HEAP8[$77>>0]|0;
+ $79 = $78 & 63;
+ $80 = $79 | 64;
+ HEAP8[$77>>0] = $80;
+ $81 = ((($77)) + 31|0);
+ $82 = HEAP8[$81>>0]|0;
+ $83 = $82 & -8;
+ HEAP8[$81>>0] = $83;
+ $84 = HEAP32[$76>>2]|0;
+ __gcry_mpi_set_buffer($84,$77,32,0);
+ __gcry_free($77);
+ $$pre$i = HEAP32[$76>>2]|0;
+ $$pre1$i = ((($10)) + 32|0);
+ $$pre$phi$iZ2D = $76;$$pre$phi2$iZ2D = $$pre1$i;$90 = $$pre$i;
+ } else {
+ $85 = ((($10)) + 32|0);
+ $86 = HEAP32[$85>>2]|0;
+ $87 = (__gcry_dsa_gen_k($86,$71)|0);
+ $88 = ((($11)) + 56|0);
+ HEAP32[$88>>2] = $87;
+ $$pre$phi$iZ2D = $88;$$pre$phi2$iZ2D = $85;$90 = $87;
+ }
+ $89 = ((($10)) + 20|0);
+ __gcry_mpi_ec_mul_point($8,$90,$89,$62);
+ $91 = HEAP32[$10>>2]|0;
+ HEAP32[$11>>2] = $91;
+ $92 = HEAP32[$$pre$phi116Z2D>>2]|0;
+ $93 = ((($11)) + 4|0);
+ HEAP32[$93>>2] = $92;
+ $94 = HEAP32[$$pre$phi118Z2D>>2]|0;
+ $95 = (__gcry_mpi_copy($94)|0);
+ $96 = ((($11)) + 8|0);
+ HEAP32[$96>>2] = $95;
+ $97 = HEAP32[$$pre$phi120Z2D>>2]|0;
+ $98 = (__gcry_mpi_copy($97)|0);
+ $99 = ((($11)) + 12|0);
+ HEAP32[$99>>2] = $98;
+ $100 = HEAP32[$$pre$phi122Z2D>>2]|0;
+ $101 = (__gcry_mpi_copy($100)|0);
+ $102 = ((($11)) + 16|0);
+ HEAP32[$102>>2] = $101;
+ $103 = ((($11)) + 20|0);
+ __gcry_mpi_point_init($103);
+ $104 = HEAP32[$103>>2]|0;
+ $105 = HEAP32[$89>>2]|0;
+ (__gcry_mpi_set($104,$105)|0);
+ $106 = ((($11)) + 24|0);
+ $107 = HEAP32[$106>>2]|0;
+ $108 = ((($10)) + 24|0);
+ $109 = HEAP32[$108>>2]|0;
+ (__gcry_mpi_set($107,$109)|0);
+ $110 = ((($11)) + 28|0);
+ $111 = HEAP32[$110>>2]|0;
+ $112 = ((($10)) + 28|0);
+ $113 = HEAP32[$112>>2]|0;
+ (__gcry_mpi_set($111,$113)|0);
+ $114 = HEAP32[$$pre$phi2$iZ2D>>2]|0;
+ $115 = (__gcry_mpi_copy($114)|0);
+ $116 = ((($11)) + 32|0);
+ HEAP32[$116>>2] = $115;
+ $117 = ((($10)) + 36|0);
+ $118 = HEAP32[$117>>2]|0;
+ $119 = (__gcry_mpi_copy($118)|0);
+ $120 = ((($11)) + 36|0);
+ HEAP32[$120>>2] = $119;
+ $121 = ((($11)) + 44|0);
+ __gcry_mpi_point_init($121);
+ $122 = (__gcry_mpi_new($68)|0);
+ $123 = (__gcry_mpi_new($68)|0);
+ $124 = (__gcry_mpi_ec_get_affine($122,$123,$8,$62)|0);
+ $125 = ($124|0)==(0);
+ if (!($125)) {
+ HEAP32[$vararg_buffer5>>2] = 66655;
+ __gcry_log_fatal(66607,$vararg_buffer5);
+ // unreachable;
+ }
+ $126 = HEAP32[$$pre$phi116Z2D>>2]|0;
+ $127 = ($126|0)==(1);
+ do {
+ if ($127) {
+ $128 = HEAP32[$121>>2]|0;
+ $129 = HEAP32[$8>>2]|0;
+ (__gcry_mpi_set($128,$129)|0);
+ $130 = ((($11)) + 48|0);
+ $131 = HEAP32[$130>>2]|0;
+ $132 = ((($8)) + 4|0);
+ $133 = HEAP32[$132>>2]|0;
+ (__gcry_mpi_set($131,$133)|0);
+ $134 = ((($11)) + 52|0);
+ $135 = HEAP32[$134>>2]|0;
+ $136 = ((($8)) + 8|0);
+ $137 = HEAP32[$136>>2]|0;
+ (__gcry_mpi_set($135,$137)|0);
+ $$2$i = $122;$$284$i = $123;
+ } else {
+ $138 = (__gcry_mpi_new($68)|0);
+ $139 = HEAP32[$10>>2]|0;
+ $140 = ($139|0)==(0);
+ $141 = HEAP32[$$pre$phi118Z2D>>2]|0;
+ if ($140) {
+ __gcry_mpi_sub($138,$141,$123);
+ } else {
+ __gcry_mpi_sub($138,$141,$122);
+ }
+ $142 = (__gcry_mpi_cmp($138,$123)|0);
+ $143 = ($142|0)<(0);
+ if (!($143)) {
+ __gcry_mpi_free($138);
+ $151 = HEAP32[$121>>2]|0;
+ $152 = HEAP32[$8>>2]|0;
+ (__gcry_mpi_set($151,$152)|0);
+ $153 = ((($11)) + 48|0);
+ $154 = HEAP32[$153>>2]|0;
+ $155 = ((($8)) + 4|0);
+ $156 = HEAP32[$155>>2]|0;
+ (__gcry_mpi_set($154,$156)|0);
+ $157 = ((($11)) + 52|0);
+ $158 = HEAP32[$157>>2]|0;
+ $159 = ((($8)) + 8|0);
+ $160 = HEAP32[$159>>2]|0;
+ (__gcry_mpi_set($158,$160)|0);
+ $161 = (__gcry_get_debug_flag(1)|0);
+ $162 = ($161|0)==(0);
+ if ($162) {
+ $$2$i = $122;$$284$i = $123;
+ break;
+ }
+ __gcry_log_debug(66697,$vararg_buffer10);
+ $$2$i = $122;$$284$i = $123;
+ break;
+ }
+ $144 = HEAP32[$10>>2]|0;
+ $145 = ($144|0)==(0);
+ if ($145) {
+ __gcry_mpi_free($123);
+ $$081$i = $122;$$082$i = $138;
+ } else {
+ __gcry_mpi_free($122);
+ $$081$i = $138;$$082$i = $123;
+ }
+ $146 = HEAP32[$$pre$phi$iZ2D>>2]|0;
+ $147 = HEAP32[$$pre$phi2$iZ2D>>2]|0;
+ __gcry_mpi_sub($146,$147,$146);
+ $148 = (__gcry_mpi_const(1)|0);
+ (__gcry_mpi_point_set($121,$$081$i,$$082$i,$148)|0);
+ $149 = (__gcry_get_debug_flag(1)|0);
+ $150 = ($149|0)==(0);
+ if ($150) {
+ $$2$i = $$081$i;$$284$i = $$082$i;
+ } else {
+ __gcry_log_debug(66657,$vararg_buffer8);
+ $$2$i = $$081$i;$$284$i = $$082$i;
+ }
+ }
+ } while(0);
+ __gcry_mpi_point_free_parts($8);
+ $163 = $63 & 16384;
+ $164 = ($163|0)==(0);
+ do {
+ if ($164) {
+ $165 = HEAP32[$11>>2]|0;
+ $166 = ($165|0)==(1);
+ $167 = (($66) + -64)|0;
+ if (!($166)) {
+ $168 = (__gcry_mpi_new($167)|0);
+ $169 = (__gcry_mpi_new($167)|0);
+ $170 = (__gcry_mpi_new($167)|0);
+ $171 = (__gcry_mpi_new($167)|0);
+ $172 = (__gcry_mpi_new($167)|0);
+ $173 = (__gcry_get_debug_flag(1)|0);
+ $174 = ($173|0)==(0);
+ if (!($174)) {
+ __gcry_log_debug(66750,$vararg_buffer12);
+ }
+ __gcry_mpi_point_init($6);
+ dest=$$byval_copy; src=$11; stop=dest+44|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0));
+ __gcry_ecc_curve_copy($7,$$byval_copy);
+ dest=$5; src=$7; stop=dest+44|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0));
+ $175 = ((($5)) + 44|0);
+ __gcry_mpi_point_init($175);
+ $176 = HEAP32[$175>>2]|0;
+ $177 = ((($11)) + 44|0);
+ $178 = HEAP32[$177>>2]|0;
+ (__gcry_mpi_set($176,$178)|0);
+ $179 = ((($5)) + 48|0);
+ $180 = HEAP32[$179>>2]|0;
+ $181 = ((($11)) + 48|0);
+ $182 = HEAP32[$181>>2]|0;
+ (__gcry_mpi_set($180,$182)|0);
+ $183 = ((($5)) + 52|0);
+ $184 = HEAP32[$183>>2]|0;
+ $185 = ((($11)) + 52|0);
+ $186 = HEAP32[$185>>2]|0;
+ (__gcry_mpi_set($184,$186)|0);
+ __gcry_mpi_randomize($168,$167,0);
+ $187 = (__gcry_ecc_ecdsa_sign($168,$11,$171,$172,0,0)|0);
+ $188 = ($187|0)==(0);
+ if (!($188)) {
+ __gcry_log_fatal(66764,$vararg_buffer14);
+ // unreachable;
+ }
+ $189 = (__gcry_ecc_ecdsa_verify($168,$5,$171,$172)|0);
+ $190 = ($189|0)==(0);
+ if (!($190)) {
+ __gcry_log_fatal(66794,$vararg_buffer16);
+ // unreachable;
+ }
+ $191 = (__gcry_get_debug_flag(1)|0);
+ $192 = ($191|0)==(0);
+ if (!($192)) {
+ __gcry_log_debug(66832,$vararg_buffer18);
+ }
+ __gcry_mpi_point_free_parts($175);
+ __gcry_ecc_curve_free($5);
+ __gcry_mpi_point_free_parts($6);
+ __gcry_mpi_free($172);
+ __gcry_mpi_free($171);
+ __gcry_mpi_free($170);
+ __gcry_mpi_free($169);
+ __gcry_mpi_free($168);
+ break;
+ }
+ $193 = (__gcry_get_debug_flag(1)|0);
+ $194 = ($193|0)==(0);
+ if (!($194)) {
+ __gcry_log_debug(66750,$vararg_buffer20);
+ }
+ __gcry_mpi_point_init($3);
+ dest=$$byval_copy71; src=$11; stop=dest+44|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0));
+ __gcry_ecc_curve_copy($4,$$byval_copy71);
+ dest=$2; src=$4; stop=dest+44|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0));
+ $195 = ((($2)) + 44|0);
+ __gcry_mpi_point_init($195);
+ $196 = HEAP32[$195>>2]|0;
+ $197 = ((($11)) + 44|0);
+ $198 = HEAP32[$197>>2]|0;
+ (__gcry_mpi_set($196,$198)|0);
+ $199 = ((($2)) + 48|0);
+ $200 = HEAP32[$199>>2]|0;
+ $201 = ((($11)) + 48|0);
+ $202 = HEAP32[$201>>2]|0;
+ (__gcry_mpi_set($200,$202)|0);
+ $203 = ((($2)) + 52|0);
+ $204 = HEAP32[$203>>2]|0;
+ $205 = ((($11)) + 52|0);
+ $206 = HEAP32[$205>>2]|0;
+ (__gcry_mpi_set($204,$206)|0);
+ $207 = HEAP32[$93>>2]|0;
+ $208 = ($207|0)==(1);
+ if ($208) {
+ $209 = (__gcry_mpi_new(256)|0);
+ $210 = (__gcry_random_bytes(32,0)|0);
+ $211 = HEAP8[$210>>0]|0;
+ $212 = $211 & 63;
+ $213 = $212 | 64;
+ HEAP8[$210>>0] = $213;
+ $214 = ((($210)) + 31|0);
+ $215 = HEAP8[$214>>0]|0;
+ $216 = $215 & -8;
+ HEAP8[$214>>0] = $216;
+ __gcry_mpi_set_buffer($209,$210,32,0);
+ __gcry_free($210);
+ $$0$i$i = $209;
+ } else {
+ $217 = (__gcry_mpi_new($167)|0);
+ __gcry_mpi_randomize($217,$167,0);
+ $$0$i$i = $217;
+ }
+ $218 = HEAP32[$2>>2]|0;
+ $219 = ((($2)) + 4|0);
+ $220 = HEAP32[$219>>2]|0;
+ $221 = ((($2)) + 8|0);
+ $222 = HEAP32[$221>>2]|0;
+ $223 = ((($2)) + 12|0);
+ $224 = HEAP32[$223>>2]|0;
+ $225 = ((($2)) + 16|0);
+ $226 = HEAP32[$225>>2]|0;
+ $227 = (__gcry_mpi_ec_p_internal_new($218,$220,0,$222,$224,$226)|0);
+ $228 = (__gcry_mpi_new(0)|0);
+ $229 = (__gcry_mpi_new(0)|0);
+ __gcry_mpi_ec_mul_point($3,$$0$i$i,$195,$227);
+ $230 = HEAP32[$93>>2]|0;
+ $231 = ($230|0)==(1);
+ if (!($231)) {
+ $232 = ((($227)) + 36|0);
+ $233 = HEAP32[$232>>2]|0;
+ __gcry_mpi_ec_mul_point($3,$233,$3,$227);
+ }
+ $234 = (__gcry_mpi_ec_get_affine($228,0,$3,$227)|0);
+ $235 = ($234|0)==(0);
+ if (!($235)) {
+ __gcry_log_fatal(66867,$vararg_buffer22);
+ // unreachable;
+ }
+ $236 = ((($2)) + 20|0);
+ __gcry_mpi_ec_mul_point($3,$$0$i$i,$236,$227);
+ $237 = HEAP32[$$pre$phi$iZ2D>>2]|0;
+ __gcry_mpi_ec_mul_point($3,$237,$3,$227);
+ $238 = HEAP32[$93>>2]|0;
+ $239 = ($238|0)==(1);
+ if (!($239)) {
+ $240 = ((($227)) + 36|0);
+ $241 = HEAP32[$240>>2]|0;
+ __gcry_mpi_ec_mul_point($3,$241,$3,$227);
+ }
+ $242 = (__gcry_mpi_ec_get_affine($229,0,$3,$227)|0);
+ $243 = ($242|0)==(0);
+ if (!($243)) {
+ __gcry_log_fatal(66915,$vararg_buffer24);
+ // unreachable;
+ }
+ $244 = (__gcry_mpi_cmp($228,$229)|0);
+ $245 = ($244|0)==(0);
+ if ($245) {
+ __gcry_mpi_free($228);
+ __gcry_mpi_free($229);
+ __gcry_mpi_ec_free($227);
+ __gcry_mpi_point_free_parts($195);
+ __gcry_ecc_curve_free($2);
+ __gcry_mpi_point_free_parts($3);
+ __gcry_mpi_free($$0$i$i);
+ break;
+ } else {
+ __gcry_log_fatal(66964,$vararg_buffer26);
+ // unreachable;
+ }
+ }
+ } while(0);
+ $$0102110 = $$284$i;$$0105109 = $$2$i;$$pre$phi124Z2D = $103;
+ } else {
+ $246 = (__gcry_ecc_eddsa_genkey($11,$10,$62,$63)|0);
+ $247 = ($246|0)==(0);
+ if (!($247)) {
+ $$076 = 0;$$078 = 0;$$079 = $62;$$081 = 0;$$082 = 0;$$2 = 0;$$285 = $246;$$3 = 0;$$3108 = 0;
+ break;
+ }
+ $$pre123 = ((($11)) + 20|0);
+ $$0102110 = 0;$$0105109 = 0;$$pre$phi124Z2D = $$pre123;
+ }
+ $248 = (__gcry_mpi_new(0)|0);
+ $249 = (__gcry_mpi_new(0)|0);
+ $250 = (__gcry_mpi_ec_get_affine($248,$249,$$pre$phi124Z2D,$62)|0);
+ $251 = ($250|0)==(0);
+ if (!($251)) {
+ HEAP32[$vararg_buffer28>>2] = 66983;
+ __gcry_log_fatal(66607,$vararg_buffer28);
+ // unreachable;
+ }
+ $252 = ((($11)) + 8|0);
+ $253 = HEAP32[$252>>2]|0;
+ $254 = (__gcry_ecc_ec2os($248,$249,$253)|0);
+ $255 = ((($11)) + 4|0);
+ $256 = HEAP32[$255>>2]|0;
+ $257 = ($256|0)==(1);
+ do {
+ if ($257) {
+ $258 = HEAP32[$14>>2]|0;
+ $259 = $258 & 2048;
+ $260 = ($259|0)==(0);
+ if ($260) {
+ $261 = ((($11)) + 44|0);
+ $262 = $258 >>> 10;
+ $$lobit = $262 & 1;
+ $263 = (__gcry_ecc_eddsa_encodepoint($261,$62,$248,$249,$$lobit,$15,$16)|0);
+ $264 = ($263|0)==(0);
+ if ($264) {
+ $265 = (__gcry_mpi_new(0)|0);
+ $266 = HEAP32[$15>>2]|0;
+ $267 = HEAP32[$16>>2]|0;
+ $268 = $267 << 3;
+ (__gcry_mpi_set_opaque($265,$266,$268)|0);
+ $$1 = $265;$$2104 = $$0102110;$$2107 = $$0105109;
+ break;
+ }
+ $$187 = $263;
+ STACKTOP = sp;return ($$187|0);
+ } else {
+ label = 71;
+ }
+ } else {
+ label = 71;
+ }
+ } while(0);
+ if ((label|0) == 71) {
+ $269 = ($$0105109|0)==(0|0);
+ if ($269) {
+ $270 = (__gcry_mpi_new(0)|0);
+ $271 = (__gcry_mpi_new(0)|0);
+ $272 = ((($11)) + 44|0);
+ $273 = (__gcry_mpi_ec_get_affine($270,$271,$272,$62)|0);
+ $274 = ($273|0)==(0);
+ if ($274) {
+ $$1103 = $271;$$1106 = $270;
+ } else {
+ HEAP32[$vararg_buffer31>>2] = 66655;
+ __gcry_log_fatal(66607,$vararg_buffer31);
+ // unreachable;
+ }
+ } else {
+ $$1103 = $$0102110;$$1106 = $$0105109;
+ }
+ $275 = HEAP32[$252>>2]|0;
+ $276 = (__gcry_ecc_ec2os($$1106,$$1103,$275)|0);
+ $$1 = $276;$$2104 = $$1103;$$2107 = $$1106;
+ }
+ $277 = ((($11)) + 56|0);
+ $278 = HEAP32[$277>>2]|0;
+ HEAP32[$277>>2] = 0;
+ $279 = ((($10)) + 40|0);
+ $280 = HEAP32[$279>>2]|0;
+ $281 = ($280|0)==(0|0);
+ if (!($281)) {
+ HEAP32[$vararg_buffer34>>2] = $280;
+ $282 = (__gcry_sexp_build($12,0,66985,$vararg_buffer34)|0);
+ $283 = ($282|0)==(0);
+ if (!($283)) {
+ $$076 = $278;$$078 = $254;$$079 = $62;$$081 = $249;$$082 = $248;$$2 = $$1;$$285 = $282;$$3 = $$2104;$$3108 = $$2107;
+ break;
+ }
+ }
+ $284 = HEAP32[$14>>2]|0;
+ $285 = $284 & 4608;
+ $286 = ($285|0)==(0);
+ if ($286) {
+ $294 = $284;
+ } else {
+ $287 = $284 & 512;
+ $288 = ($287|0)==(0);
+ $289 = ($285|0)==(4608);
+ $290 = $288 ? 66996 : 67010;
+ $spec$select = $289 ? 67024 : $290;
+ $291 = (__gcry_sexp_build($13,0,$spec$select,$vararg_buffer37)|0);
+ $292 = ($291|0)==(0);
+ if (!($292)) {
+ $$076 = $278;$$078 = $254;$$079 = $62;$$081 = $249;$$082 = $248;$$2 = $$1;$$285 = $291;$$3 = $$2104;$$3108 = $$2107;
+ break;
+ }
+ $$pre = HEAP32[$14>>2]|0;
+ $294 = $$pre;
+ }
+ $293 = $294 & 512;
+ $295 = ($293|0)==(0);
+ $296 = HEAP32[$279>>2]|0;
+ $297 = ($296|0)==(0|0);
+ $or$cond93 = $295 | $297;
+ $298 = HEAP32[$12>>2]|0;
+ $299 = HEAP32[$13>>2]|0;
+ if ($or$cond93) {
+ HEAP32[$vararg_buffer60>>2] = $298;
+ $vararg_ptr63 = ((($vararg_buffer60)) + 4|0);
+ HEAP32[$vararg_ptr63>>2] = $299;
+ $vararg_ptr64 = ((($vararg_buffer60)) + 8|0);
+ HEAP32[$vararg_ptr64>>2] = $$1;
+ $vararg_ptr65 = ((($vararg_buffer60)) + 12|0);
+ HEAP32[$vararg_ptr65>>2] = $298;
+ $vararg_ptr66 = ((($vararg_buffer60)) + 16|0);
+ HEAP32[$vararg_ptr66>>2] = $299;
+ $vararg_ptr67 = ((($vararg_buffer60)) + 20|0);
+ HEAP32[$vararg_ptr67>>2] = $$1;
+ $vararg_ptr68 = ((($vararg_buffer60)) + 24|0);
+ HEAP32[$vararg_ptr68>>2] = $278;
+ $310 = (__gcry_sexp_build($1,0,67180,$vararg_buffer60)|0);
+ $$184 = $310;
+ } else {
+ $300 = HEAP32[$252>>2]|0;
+ $301 = ((($11)) + 12|0);
+ $302 = HEAP32[$301>>2]|0;
+ $303 = ((($11)) + 16|0);
+ $304 = HEAP32[$303>>2]|0;
+ $305 = ((($11)) + 32|0);
+ $306 = HEAP32[$305>>2]|0;
+ $307 = ((($11)) + 36|0);
+ $308 = HEAP32[$307>>2]|0;
+ HEAP32[$vararg_buffer39>>2] = $298;
+ $vararg_ptr42 = ((($vararg_buffer39)) + 4|0);
+ HEAP32[$vararg_ptr42>>2] = $299;
+ $vararg_ptr43 = ((($vararg_buffer39)) + 8|0);
+ HEAP32[$vararg_ptr43>>2] = $300;
+ $vararg_ptr44 = ((($vararg_buffer39)) + 12|0);
+ HEAP32[$vararg_ptr44>>2] = $302;
+ $vararg_ptr45 = ((($vararg_buffer39)) + 16|0);
+ HEAP32[$vararg_ptr45>>2] = $304;
+ $vararg_ptr46 = ((($vararg_buffer39)) + 20|0);
+ HEAP32[$vararg_ptr46>>2] = $254;
+ $vararg_ptr47 = ((($vararg_buffer39)) + 24|0);
+ HEAP32[$vararg_ptr47>>2] = $306;
+ $vararg_ptr48 = ((($vararg_buffer39)) + 28|0);
+ HEAP32[$vararg_ptr48>>2] = $308;
+ $vararg_ptr49 = ((($vararg_buffer39)) + 32|0);
+ HEAP32[$vararg_ptr49>>2] = $$1;
+ $vararg_ptr50 = ((($vararg_buffer39)) + 36|0);
+ HEAP32[$vararg_ptr50>>2] = $298;
+ $vararg_ptr51 = ((($vararg_buffer39)) + 40|0);
+ HEAP32[$vararg_ptr51>>2] = $299;
+ $vararg_ptr52 = ((($vararg_buffer39)) + 44|0);
+ HEAP32[$vararg_ptr52>>2] = $300;
+ $vararg_ptr53 = ((($vararg_buffer39)) + 48|0);
+ HEAP32[$vararg_ptr53>>2] = $302;
+ $vararg_ptr54 = ((($vararg_buffer39)) + 52|0);
+ HEAP32[$vararg_ptr54>>2] = $304;
+ $vararg_ptr55 = ((($vararg_buffer39)) + 56|0);
+ HEAP32[$vararg_ptr55>>2] = $254;
+ $vararg_ptr56 = ((($vararg_buffer39)) + 60|0);
+ HEAP32[$vararg_ptr56>>2] = $306;
+ $vararg_ptr57 = ((($vararg_buffer39)) + 64|0);
+ HEAP32[$vararg_ptr57>>2] = $308;
+ $vararg_ptr58 = ((($vararg_buffer39)) + 68|0);
+ HEAP32[$vararg_ptr58>>2] = $$1;
+ $vararg_ptr59 = ((($vararg_buffer39)) + 72|0);
+ HEAP32[$vararg_ptr59>>2] = $278;
+ $309 = (__gcry_sexp_build($1,0,67044,$vararg_buffer39)|0);
+ $$184 = $309;
+ }
+ $311 = ($$184|0)==(0);
+ if ($311) {
+ $312 = (__gcry_get_debug_flag(1)|0);
+ $313 = ($312|0)==(0);
+ if ($313) {
+ $$076 = $278;$$078 = $254;$$079 = $62;$$081 = $249;$$082 = $248;$$2 = $$1;$$285 = 0;$$3 = $$2104;$$3108 = $$2107;
+ } else {
+ $314 = HEAP32[$252>>2]|0;
+ __gcry_log_printmpi(67256,$314);
+ $315 = ((($11)) + 12|0);
+ $316 = HEAP32[$315>>2]|0;
+ __gcry_log_printmpi(67272,$316);
+ $317 = ((($11)) + 16|0);
+ $318 = HEAP32[$317>>2]|0;
+ __gcry_log_printmpi(67288,$318);
+ __gcry_log_printmpi(67304,$254);
+ $319 = ((($11)) + 32|0);
+ $320 = HEAP32[$319>>2]|0;
+ __gcry_log_printmpi(67320,$320);
+ $321 = ((($11)) + 36|0);
+ $322 = HEAP32[$321>>2]|0;
+ __gcry_log_printmpi(67336,$322);
+ __gcry_log_printmpi(67352,$$1);
+ __gcry_log_printmpi(67368,$278);
+ $323 = HEAP32[$14>>2]|0;
+ $324 = $323 & 4096;
+ $325 = ($324|0)==(0);
+ if ($325) {
+ $$076 = $278;$$078 = $254;$$079 = $62;$$081 = $249;$$082 = $248;$$2 = $$1;$$285 = 0;$$3 = $$2104;$$3108 = $$2107;
+ } else {
+ __gcry_log_debug(67384,$vararg_buffer69);
+ $$076 = $278;$$078 = $254;$$079 = $62;$$081 = $249;$$082 = $248;$$2 = $$1;$$285 = 0;$$3 = $$2104;$$3108 = $$2107;
+ }
+ }
+ } else {
+ $$076 = $278;$$078 = $254;$$079 = $62;$$081 = $249;$$082 = $248;$$2 = $$1;$$285 = $$184;$$3 = $$2104;$$3108 = $$2107;
+ }
+ } else {
+ $$076 = 0;$$078 = 0;$$079 = 0;$$081 = 0;$$082 = 0;$$2 = 0;$$285 = $34;$$3 = 0;$$3108 = 0;
+ }
+ }
+ } while(0);
+ __gcry_mpi_free($$076);
+ __gcry_mpi_free($$2);
+ __gcry_mpi_free($$078);
+ __gcry_ecc_curve_free($11);
+ $326 = ((($11)) + 44|0);
+ __gcry_mpi_point_free_parts($326);
+ $327 = ((($11)) + 56|0);
+ $328 = HEAP32[$327>>2]|0;
+ __gcry_mpi_free($328);
+ __gcry_ecc_curve_free($10);
+ __gcry_mpi_free($$082);
+ __gcry_mpi_free($$081);
+ __gcry_mpi_free($$3108);
+ __gcry_mpi_free($$3);
+ __gcry_mpi_ec_free($$079);
+ $329 = HEAP32[$13>>2]|0;
+ __gcry_sexp_release($329);
+ $330 = HEAP32[$12>>2]|0;
+ __gcry_sexp_release($330);
+ $$187 = $$285;
+ STACKTOP = sp;return ($$187|0);
+}
+function _ecc_check_secret_key($0) {
+ $0 = $0|0;
+ var $$0 = 0, $$032 = 0, $$033 = 0, $$034 = 0, $$036 = 0, $$045$i = 0, $$046$i = 0, $$1 = 0, $$1$i = 0, $$135 = 0, $$144$i = 0, $$2 = 0, $$lobit = 0, $$pre = 0, $$pre$phiZ2D = 0, $$pre38 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0;
+ var $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0;
+ var $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0;
+ var $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0;
+ var $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0;
+ var $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $2 = 0;
+ var $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, $38 = 0;
+ var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0;
+ var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0;
+ var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0;
+ var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $vararg_buffer = 0, $vararg_buffer14 = 0, $vararg_buffer18 = 0, $vararg_buffer21 = 0, $vararg_buffer23 = 0, $vararg_buffer25 = 0, $vararg_buffer27 = 0, $vararg_buffer29 = 0, $vararg_buffer31 = 0, $vararg_buffer33 = 0, $vararg_buffer35 = 0, $vararg_buffer37 = 0, $vararg_buffer39 = 0;
+ var $vararg_buffer9 = 0, $vararg_ptr1 = 0, $vararg_ptr12 = 0, $vararg_ptr13 = 0, $vararg_ptr17 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, dest = 0, label = 0, sp = 0, stop = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 240|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(240|0);
+ $vararg_buffer39 = sp + 144|0;
+ $vararg_buffer37 = sp + 136|0;
+ $vararg_buffer35 = sp + 128|0;
+ $vararg_buffer33 = sp + 120|0;
+ $vararg_buffer31 = sp + 112|0;
+ $vararg_buffer29 = sp + 104|0;
+ $vararg_buffer27 = sp + 96|0;
+ $vararg_buffer25 = sp + 88|0;
+ $vararg_buffer23 = sp + 80|0;
+ $vararg_buffer21 = sp + 72|0;
+ $vararg_buffer18 = sp + 64|0;
+ $vararg_buffer14 = sp + 56|0;
+ $vararg_buffer9 = sp + 40|0;
+ $vararg_buffer = sp;
+ $1 = sp + 220|0;
+ $2 = sp + 216|0;
+ $3 = sp + 212|0;
+ $4 = sp + 208|0;
+ $5 = sp + 148|0;
+ HEAP32[$2>>2] = 0;
+ HEAP32[$3>>2] = 0;
+ HEAP32[$4>>2] = 0;
+ dest=$5; stop=dest+60|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
+ $6 = (__gcry_sexp_find_token($0,64705,0)|0);
+ $7 = ($6|0)==(0|0);
+ if ($7) {
+ label = 5;
+ } else {
+ $8 = (__gcry_pk_util_parse_flaglist($6,$2,0)|0);
+ $9 = ($8|0)==(0);
+ if ($9) {
+ $$pre = HEAP32[$2>>2]|0;
+ $10 = $$pre & 512;
+ $11 = ($10|0)==(0);
+ if ($11) {
+ label = 5;
+ } else {
+ $12 = ((($5)) + 8|0);
+ $13 = ((($5)) + 12|0);
+ $14 = ((($5)) + 16|0);
+ $15 = ((($5)) + 32|0);
+ $16 = ((($5)) + 36|0);
+ $17 = ((($5)) + 56|0);
+ HEAP32[$vararg_buffer>>2] = $12;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = $13;
+ $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
+ HEAP32[$vararg_ptr2>>2] = $14;
+ $vararg_ptr3 = ((($vararg_buffer)) + 12|0);
+ HEAP32[$vararg_ptr3>>2] = $3;
+ $vararg_ptr4 = ((($vararg_buffer)) + 16|0);
+ HEAP32[$vararg_ptr4>>2] = $15;
+ $vararg_ptr5 = ((($vararg_buffer)) + 20|0);
+ HEAP32[$vararg_ptr5>>2] = $16;
+ $vararg_ptr6 = ((($vararg_buffer)) + 24|0);
+ HEAP32[$vararg_ptr6>>2] = $4;
+ $vararg_ptr7 = ((($vararg_buffer)) + 28|0);
+ HEAP32[$vararg_ptr7>>2] = $17;
+ $vararg_ptr8 = ((($vararg_buffer)) + 32|0);
+ HEAP32[$vararg_ptr8>>2] = 0;
+ $18 = (__gcry_sexp_extract_param($0,0,65045,$vararg_buffer)|0);
+ $$034 = $18;
+ label = 6;
+ }
+ } else {
+ $$0 = 0;$$033 = $6;$$1 = 0;$$2 = $8;
+ }
+ }
+ if ((label|0) == 5) {
+ $19 = ((($5)) + 56|0);
+ HEAP32[$vararg_buffer9>>2] = $4;
+ $vararg_ptr12 = ((($vararg_buffer9)) + 4|0);
+ HEAP32[$vararg_ptr12>>2] = $19;
+ $vararg_ptr13 = ((($vararg_buffer9)) + 8|0);
+ HEAP32[$vararg_ptr13>>2] = 0;
+ $20 = (__gcry_sexp_extract_param($0,0,65064,$vararg_buffer9)|0);
+ $$034 = $20;
+ label = 6;
+ }
+ do {
+ if ((label|0) == 6) {
+ $21 = ($$034|0)==(0);
+ if ($21) {
+ __gcry_sexp_release($6);
+ $22 = (__gcry_sexp_find_token($0,64745,5)|0);
+ $23 = ($22|0)==(0|0);
+ if ($23) {
+ $$032 = 0;
+ } else {
+ $24 = (__gcry_sexp_nth_string($22,1)|0);
+ $25 = ($24|0)==(0|0);
+ if ($25) {
+ $$032 = 0;
+ } else {
+ $26 = ((($5)) + 4|0);
+ $27 = ((($5)) + 8|0);
+ $28 = ((($5)) + 12|0);
+ $29 = ((($5)) + 16|0);
+ $30 = ((($5)) + 32|0);
+ $31 = ((($5)) + 36|0);
+ $32 = (__gcry_ecc_update_curve_param($24,$5,$26,$27,$28,$29,$3,$30,$31)|0);
+ $33 = ($32|0)==(0);
+ if ($33) {
+ $$032 = $24;
+ } else {
+ $$036 = $32;
+ STACKTOP = sp;return ($$036|0);
+ }
+ }
+ }
+ $34 = HEAP32[$3>>2]|0;
+ $35 = ($34|0)==(0|0);
+ if (!($35)) {
+ $36 = ((($5)) + 20|0);
+ __gcry_mpi_point_init($36);
+ $37 = HEAP32[$3>>2]|0;
+ $38 = (__gcry_ecc_os2ec($36,$37)|0);
+ $39 = ($38|0)==(0);
+ if (!($39)) {
+ $$0 = 0;$$033 = $22;$$1 = $$032;$$2 = $38;
+ break;
+ }
+ }
+ $40 = ($$032|0)==(0|0);
+ if ($40) {
+ $41 = HEAP32[$2>>2]|0;
+ $42 = $41 >>> 11;
+ $43 = $42 & 2;
+ HEAP32[$5>>2] = $43;
+ $44 = $41 >>> 12;
+ $$lobit = $44 & 1;
+ $45 = ((($5)) + 4|0);
+ HEAP32[$45>>2] = $$lobit;
+ }
+ $46 = (__gcry_get_debug_flag(1)|0);
+ $47 = ($46|0)==(0);
+ if ($47) {
+ $$pre38 = ((($5)) + 8|0);
+ $$pre$phiZ2D = $$pre38;
+ } else {
+ $48 = HEAP32[$5>>2]|0;
+ $49 = (__gcry_ecc_model2str($48)|0);
+ $50 = ((($5)) + 4|0);
+ $51 = HEAP32[$50>>2]|0;
+ $52 = (__gcry_ecc_dialect2str($51)|0);
+ HEAP32[$vararg_buffer14>>2] = $49;
+ $vararg_ptr17 = ((($vararg_buffer14)) + 4|0);
+ HEAP32[$vararg_ptr17>>2] = $52;
+ __gcry_log_debug(65973,$vararg_buffer14);
+ $53 = ((($5)) + 40|0);
+ $54 = HEAP32[$53>>2]|0;
+ $55 = ($54|0)==(0|0);
+ if (!($55)) {
+ HEAP32[$vararg_buffer18>>2] = $54;
+ __gcry_log_debug(65997,$vararg_buffer18);
+ }
+ $56 = ((($5)) + 8|0);
+ $57 = HEAP32[$56>>2]|0;
+ __gcry_log_printmpi(66018,$57);
+ $58 = ((($5)) + 12|0);
+ $59 = HEAP32[$58>>2]|0;
+ __gcry_log_printmpi(66034,$59);
+ $60 = ((($5)) + 16|0);
+ $61 = HEAP32[$60>>2]|0;
+ __gcry_log_printmpi(66050,$61);
+ $62 = ((($5)) + 20|0);
+ __gcry_mpi_point_log(66066,$62,0);
+ $63 = ((($5)) + 32|0);
+ $64 = HEAP32[$63>>2]|0;
+ __gcry_log_printmpi(66080,$64);
+ $65 = ((($5)) + 36|0);
+ $66 = HEAP32[$65>>2]|0;
+ __gcry_log_printmpi(66096,$66);
+ $67 = HEAP32[$4>>2]|0;
+ __gcry_log_printmpi(66112,$67);
+ $68 = (__gcry_fips_mode()|0);
+ $69 = ($68|0)==(0);
+ if ($69) {
+ $70 = ((($5)) + 56|0);
+ $71 = HEAP32[$70>>2]|0;
+ __gcry_log_printmpi(66128,$71);
+ $$pre$phiZ2D = $56;
+ } else {
+ $$pre$phiZ2D = $56;
+ }
+ }
+ $72 = HEAP32[$$pre$phiZ2D>>2]|0;
+ $73 = ($72|0)==(0|0);
+ if ($73) {
+ $$0 = 0;$$033 = $22;$$1 = $$032;$$2 = 68;
+ } else {
+ $74 = ((($5)) + 12|0);
+ $75 = HEAP32[$74>>2]|0;
+ $76 = ($75|0)==(0|0);
+ if ($76) {
+ $$0 = 0;$$033 = $22;$$1 = $$032;$$2 = 68;
+ } else {
+ $77 = ((($5)) + 16|0);
+ $78 = HEAP32[$77>>2]|0;
+ $79 = ($78|0)==(0|0);
+ if ($79) {
+ $$0 = 0;$$033 = $22;$$1 = $$032;$$2 = 68;
+ } else {
+ $80 = ((($5)) + 20|0);
+ $81 = HEAP32[$80>>2]|0;
+ $82 = ($81|0)==(0|0);
+ if ($82) {
+ $$0 = 0;$$033 = $22;$$1 = $$032;$$2 = 68;
+ } else {
+ $83 = ((($5)) + 32|0);
+ $84 = HEAP32[$83>>2]|0;
+ $85 = ($84|0)==(0|0);
+ if ($85) {
+ $$0 = 0;$$033 = $22;$$1 = $$032;$$2 = 68;
+ } else {
+ $86 = ((($5)) + 36|0);
+ $87 = HEAP32[$86>>2]|0;
+ $88 = ($87|0)==(0|0);
+ if ($88) {
+ $$0 = 0;$$033 = $22;$$1 = $$032;$$2 = 68;
+ } else {
+ $89 = ((($5)) + 56|0);
+ $90 = HEAP32[$89>>2]|0;
+ $91 = ($90|0)==(0|0);
+ if ($91) {
+ $$0 = 0;$$033 = $22;$$1 = $$032;$$2 = 68;
+ } else {
+ $92 = HEAP32[$5>>2]|0;
+ $93 = ((($5)) + 4|0);
+ $94 = HEAP32[$93>>2]|0;
+ $95 = (__gcry_mpi_ec_p_internal_new($92,$94,0,$72,$75,$78)|0);
+ $96 = HEAP32[$4>>2]|0;
+ $97 = ($96|0)==(0|0);
+ if ($97) {
+ $$0 = $95;$$033 = $22;$$1 = $$032;$$2 = 68;
+ } else {
+ $98 = ((($5)) + 44|0);
+ __gcry_mpi_point_init($98);
+ $99 = ((($95)) + 4|0);
+ $100 = HEAP32[$99>>2]|0;
+ $101 = ($100|0)==(1);
+ $102 = HEAP32[$4>>2]|0;
+ if ($101) {
+ $103 = (__gcry_ecc_eddsa_decodepoint($102,$95,$98,0,0)|0);
+ $$135 = $103;
+ } else {
+ $104 = (__gcry_ecc_os2ec($98,$102)|0);
+ $$135 = $104;
+ }
+ $105 = ($$135|0)==(0);
+ if ($105) {
+ $106 = HEAP32[$2>>2]|0;
+ __gcry_mpi_point_init($1);
+ $107 = (__gcry_mpi_new(0)|0);
+ $108 = HEAP32[$95>>2]|0;
+ $109 = ($108|0)==(1);
+ if ($109) {
+ $$045$i = 0;
+ } else {
+ $110 = (__gcry_mpi_new(0)|0);
+ $$045$i = $110;
+ }
+ $111 = ((($5)) + 20|0);
+ $112 = (__gcry_mpi_ec_curve_point($111,$95)|0);
+ $113 = ($112|0)==(0);
+ L45: do {
+ if ($113) {
+ $114 = (__gcry_get_debug_flag(1)|0);
+ $115 = ($114|0)==(0);
+ if ($115) {
+ $$046$i = 7;$$1$i = 0;$$144$i = 0;
+ break;
+ }
+ __gcry_log_debug(66144,$vararg_buffer21);
+ $$046$i = 7;$$1$i = 0;$$144$i = 0;
+ } else {
+ $116 = ((($5)) + 28|0);
+ $117 = HEAP32[$116>>2]|0;
+ $118 = (__gcry_mpi_cmp_ui($117,0)|0);
+ $119 = ($118|0)==(0);
+ if ($119) {
+ $120 = (__gcry_get_debug_flag(1)|0);
+ $121 = ($120|0)==(0);
+ if ($121) {
+ $$046$i = 7;$$1$i = 0;$$144$i = 0;
+ break;
+ }
+ __gcry_log_debug(66196,$vararg_buffer23);
+ $$046$i = 7;$$1$i = 0;$$144$i = 0;
+ break;
+ }
+ $122 = HEAP32[$93>>2]|0;
+ $123 = ($122|0)==(1);
+ do {
+ if (!($123)) {
+ $124 = HEAP32[$83>>2]|0;
+ __gcry_mpi_ec_mul_point($1,$124,$111,$95);
+ $125 = ((($1)) + 8|0);
+ $126 = HEAP32[$125>>2]|0;
+ $127 = (__gcry_mpi_cmp_ui($126,0)|0);
+ $128 = ($127|0)==(0);
+ if ($128) {
+ break;
+ }
+ $129 = (__gcry_get_debug_flag(1)|0);
+ $130 = ($129|0)==(0);
+ if ($130) {
+ $$046$i = 7;$$1$i = 0;$$144$i = 0;
+ break L45;
+ }
+ __gcry_log_debug(66241,$vararg_buffer25);
+ $$046$i = 7;$$1$i = 0;$$144$i = 0;
+ break L45;
+ }
+ } while(0);
+ $131 = ((($5)) + 52|0);
+ $132 = HEAP32[$131>>2]|0;
+ $133 = (__gcry_mpi_cmp_ui($132,0)|0);
+ $134 = ($133|0)==(0);
+ if ($134) {
+ $135 = (__gcry_get_debug_flag(1)|0);
+ $136 = ($135|0)==(0);
+ if ($136) {
+ $$046$i = 7;$$1$i = 0;$$144$i = 0;
+ break;
+ }
+ __gcry_log_debug(66288,$vararg_buffer27);
+ $$046$i = 7;$$1$i = 0;$$144$i = 0;
+ break;
+ }
+ $137 = HEAP32[$89>>2]|0;
+ $138 = (__gcry_ecc_compute_public($1,$95,$111,$137)|0);
+ $139 = ($138|0)==(0|0);
+ if ($139) {
+ $140 = (__gcry_get_debug_flag(1)|0);
+ $141 = ($140|0)==(0);
+ if ($141) {
+ $$046$i = 7;$$1$i = 0;$$144$i = 0;
+ break;
+ }
+ __gcry_log_debug(66334,$vararg_buffer29);
+ $$046$i = 7;$$1$i = 0;$$144$i = 0;
+ break;
+ }
+ $142 = (__gcry_mpi_ec_get_affine($107,$$045$i,$1,$95)|0);
+ $143 = ($142|0)==(0);
+ if (!($143)) {
+ $144 = (__gcry_get_debug_flag(1)|0);
+ $145 = ($144|0)==(0);
+ if ($145) {
+ $$046$i = 7;$$1$i = 0;$$144$i = 0;
+ break;
+ }
+ __gcry_log_debug(66288,$vararg_buffer31);
+ $$046$i = 7;$$1$i = 0;$$144$i = 0;
+ break;
+ }
+ $146 = $106 & 4096;
+ $147 = ($146|0)==(0);
+ if (!($147)) {
+ $$046$i = 0;$$1$i = 0;$$144$i = 0;
+ break;
+ }
+ $148 = HEAP32[$131>>2]|0;
+ $149 = (__gcry_mpi_cmp_ui($148,1)|0);
+ $150 = ($149|0)==(0);
+ if ($150) {
+ $151 = HEAP32[$98>>2]|0;
+ $152 = (__gcry_mpi_cmp($107,$151)|0);
+ $153 = ($152|0)==(0);
+ if ($153) {
+ $154 = ($$045$i|0)==(0|0);
+ if (!($154)) {
+ $$046$i = 0;$$1$i = 0;$$144$i = 0;
+ break;
+ }
+ $155 = ((($5)) + 48|0);
+ $156 = HEAP32[$155>>2]|0;
+ $157 = (__gcry_mpi_cmp(0,$156)|0);
+ $158 = ($157|0)==(0);
+ if ($158) {
+ $$046$i = 0;$$1$i = 0;$$144$i = 0;
+ break;
+ }
+ }
+ $159 = (__gcry_get_debug_flag(1)|0);
+ $160 = ($159|0)==(0);
+ if ($160) {
+ $$046$i = 7;$$1$i = 0;$$144$i = 0;
+ break;
+ }
+ __gcry_log_debug(66371,$vararg_buffer33);
+ $$046$i = 7;$$1$i = 0;$$144$i = 0;
+ break;
+ }
+ $161 = (__gcry_mpi_new(0)|0);
+ $162 = (__gcry_mpi_new(0)|0);
+ $163 = (__gcry_mpi_ec_get_affine($161,$162,$98,$95)|0);
+ $164 = ($163|0)==(0);
+ if (!($164)) {
+ $165 = (__gcry_get_debug_flag(1)|0);
+ $166 = ($165|0)==(0);
+ if ($166) {
+ $$046$i = 7;$$1$i = $162;$$144$i = $161;
+ break;
+ }
+ __gcry_log_debug(66288,$vararg_buffer35);
+ $$046$i = 7;$$1$i = $162;$$144$i = $161;
+ break;
+ }
+ $167 = (__gcry_mpi_cmp($107,$161)|0);
+ $168 = ($167|0)==(0);
+ if ($168) {
+ $169 = (__gcry_mpi_cmp($$045$i,$162)|0);
+ $170 = ($169|0)==(0);
+ if ($170) {
+ $$046$i = 0;$$1$i = $162;$$144$i = $161;
+ break;
+ }
+ }
+ $171 = (__gcry_get_debug_flag(1)|0);
+ $172 = ($171|0)==(0);
+ if ($172) {
+ $$046$i = 7;$$1$i = $162;$$144$i = $161;
+ break;
+ }
+ __gcry_log_debug(66371,$vararg_buffer37);
+ $$046$i = 7;$$1$i = $162;$$144$i = $161;
+ }
+ } while(0);
+ __gcry_mpi_free($$144$i);
+ __gcry_mpi_free($107);
+ __gcry_mpi_free($$045$i);
+ __gcry_mpi_free($$1$i);
+ __gcry_mpi_point_free_parts($1);
+ $$0 = $95;$$033 = $22;$$1 = $$032;$$2 = $$046$i;
+ } else {
+ $$0 = $95;$$033 = $22;$$1 = $$032;$$2 = $$135;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ } else {
+ $$0 = 0;$$033 = $6;$$1 = 0;$$2 = $$034;
+ }
+ }
+ } while(0);
+ __gcry_mpi_ec_free($$0);
+ $173 = ((($5)) + 8|0);
+ $174 = HEAP32[$173>>2]|0;
+ __gcry_mpi_release($174);
+ $175 = ((($5)) + 12|0);
+ $176 = HEAP32[$175>>2]|0;
+ __gcry_mpi_release($176);
+ $177 = ((($5)) + 16|0);
+ $178 = HEAP32[$177>>2]|0;
+ __gcry_mpi_release($178);
+ $179 = HEAP32[$3>>2]|0;
+ __gcry_mpi_release($179);
+ $180 = ((($5)) + 20|0);
+ __gcry_mpi_point_free_parts($180);
+ $181 = ((($5)) + 32|0);
+ $182 = HEAP32[$181>>2]|0;
+ __gcry_mpi_release($182);
+ $183 = ((($5)) + 36|0);
+ $184 = HEAP32[$183>>2]|0;
+ __gcry_mpi_release($184);
+ $185 = HEAP32[$4>>2]|0;
+ __gcry_mpi_release($185);
+ $186 = ((($5)) + 44|0);
+ __gcry_mpi_point_free_parts($186);
+ $187 = ((($5)) + 56|0);
+ $188 = HEAP32[$187>>2]|0;
+ __gcry_mpi_release($188);
+ __gcry_free($$1);
+ __gcry_sexp_release($$033);
+ $189 = (__gcry_get_debug_flag(1)|0);
+ $190 = ($189|0)==(0);
+ if ($190) {
+ $$036 = $$2;
+ STACKTOP = sp;return ($$036|0);
+ }
+ $191 = (_gpg_strerror($$2)|0);
+ HEAP32[$vararg_buffer39>>2] = $191;
+ __gcry_log_debug(66431,$vararg_buffer39);
+ $$036 = $$2;
+ STACKTOP = sp;return ($$036|0);
+}
+function _ecc_encrypt_raw($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$0 = 0, $$055 = 0, $$056 = 0, $$057 = 0, $$058 = 0, $$05966 = 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;
+ var $111 = 0, $112 = 0, $113 = 0, $114 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
+ var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
+ var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0;
+ var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0;
+ var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0;
+ var $or$cond61 = 0, $or$cond63 = 0, $or$cond65 = 0, $vararg_buffer = 0, $vararg_buffer12 = 0, $vararg_buffer15 = 0, $vararg_buffer17 = 0, $vararg_buffer19 = 0, $vararg_buffer23 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0, $vararg_ptr11 = 0, $vararg_ptr2 = 0, $vararg_ptr22 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, dest = 0;
+ var label = 0, sp = 0, stop = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 208|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(208|0);
+ $vararg_buffer23 = sp + 72|0;
+ $vararg_buffer19 = sp + 64|0;
+ $vararg_buffer17 = sp + 56|0;
+ $vararg_buffer15 = sp + 48|0;
+ $vararg_buffer12 = sp + 40|0;
+ $vararg_buffer8 = sp + 32|0;
+ $vararg_buffer = sp;
+ $3 = sp + 160|0;
+ $4 = sp + 152|0;
+ $5 = sp + 148|0;
+ $6 = sp + 144|0;
+ $7 = sp + 88|0;
+ $8 = sp + 76|0;
+ HEAP32[$4>>2] = 0;
+ HEAP32[$5>>2] = 0;
+ HEAP32[$6>>2] = 0;
+ dest=$7; stop=dest+56|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
+ $9 = (_ecc_get_nbits($2)|0);
+ __gcry_pk_util_init_encoding_ctx($3,0,$9);
+ $10 = (__gcry_pk_util_data_to_mpi($1,$6,$3)|0);
+ $11 = ($10|0)==(0);
+ do {
+ if ($11) {
+ $12 = (__gcry_get_debug_flag(1)|0);
+ $13 = ($12|0)==(0);
+ if (!($13)) {
+ $14 = HEAP32[$6>>2]|0;
+ __gcry_log_printmpi(65633,$14);
+ }
+ $15 = HEAP32[$6>>2]|0;
+ $16 = ($15|0)==(0|0);
+ if (!($16)) {
+ $17 = ((($15)) + 12|0);
+ $18 = HEAP32[$17>>2]|0;
+ $19 = $18 & 4;
+ $20 = ($19|0)==(0);
+ if (!($20)) {
+ $$055 = 79;$$056 = 0;$$057 = 0;$$058 = 0;$$1 = 0;
+ break;
+ }
+ }
+ $21 = ((($7)) + 8|0);
+ $22 = ((($7)) + 12|0);
+ $23 = ((($7)) + 16|0);
+ $24 = ((($7)) + 32|0);
+ $25 = ((($7)) + 36|0);
+ HEAP32[$vararg_buffer>>2] = $21;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = $22;
+ $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
+ HEAP32[$vararg_ptr2>>2] = $23;
+ $vararg_ptr3 = ((($vararg_buffer)) + 12|0);
+ HEAP32[$vararg_ptr3>>2] = $4;
+ $vararg_ptr4 = ((($vararg_buffer)) + 16|0);
+ HEAP32[$vararg_ptr4>>2] = $24;
+ $vararg_ptr5 = ((($vararg_buffer)) + 20|0);
+ HEAP32[$vararg_ptr5>>2] = $25;
+ $vararg_ptr6 = ((($vararg_buffer)) + 24|0);
+ HEAP32[$vararg_ptr6>>2] = $5;
+ $vararg_ptr7 = ((($vararg_buffer)) + 28|0);
+ HEAP32[$vararg_ptr7>>2] = 0;
+ $26 = (__gcry_sexp_extract_param($2,0,65650,$vararg_buffer)|0);
+ $27 = ($26|0)==(0);
+ if ($27) {
+ $28 = HEAP32[$4>>2]|0;
+ $29 = ($28|0)==(0|0);
+ if (!($29)) {
+ $30 = ((($7)) + 20|0);
+ __gcry_mpi_point_init($30);
+ $31 = HEAP32[$4>>2]|0;
+ $32 = (__gcry_ecc_os2ec($30,$31)|0);
+ $33 = ($32|0)==(0);
+ if (!($33)) {
+ $$055 = $32;$$056 = 0;$$057 = 0;$$058 = 0;$$1 = 0;
+ break;
+ }
+ }
+ __gcry_sexp_release(0);
+ $34 = (__gcry_sexp_find_token($2,64745,5)|0);
+ $35 = ($34|0)==(0|0);
+ if ($35) {
+ label = 12;
+ } else {
+ $36 = (__gcry_sexp_nth_string($34,1)|0);
+ $37 = ($36|0)==(0|0);
+ if ($37) {
+ label = 12;
+ } else {
+ $38 = (__gcry_ecc_fill_in_curve(0,$36,$7,0)|0);
+ $39 = ($38|0)==(0);
+ if ($39) {
+ $$05966 = $36;
+ } else {
+ $$0 = $38;
+ STACKTOP = sp;return ($$0|0);
+ }
+ }
+ }
+ if ((label|0) == 12) {
+ HEAP32[$7>>2] = 0;
+ $40 = ((($7)) + 4|0);
+ HEAP32[$40>>2] = 0;
+ $$05966 = 0;
+ }
+ $41 = (__gcry_get_debug_flag(1)|0);
+ $42 = ($41|0)==(0);
+ if (!($42)) {
+ $43 = HEAP32[$7>>2]|0;
+ $44 = (__gcry_ecc_model2str($43)|0);
+ $45 = ((($7)) + 4|0);
+ $46 = HEAP32[$45>>2]|0;
+ $47 = (__gcry_ecc_dialect2str($46)|0);
+ HEAP32[$vararg_buffer8>>2] = $44;
+ $vararg_ptr11 = ((($vararg_buffer8)) + 4|0);
+ HEAP32[$vararg_ptr11>>2] = $47;
+ __gcry_log_debug(65666,$vararg_buffer8);
+ $48 = ((($7)) + 40|0);
+ $49 = HEAP32[$48>>2]|0;
+ $50 = ($49|0)==(0|0);
+ if (!($50)) {
+ HEAP32[$vararg_buffer12>>2] = $49;
+ __gcry_log_debug(65691,$vararg_buffer12);
+ }
+ $51 = HEAP32[$21>>2]|0;
+ __gcry_log_printmpi(65713,$51);
+ $52 = HEAP32[$22>>2]|0;
+ __gcry_log_printmpi(65730,$52);
+ $53 = HEAP32[$23>>2]|0;
+ __gcry_log_printmpi(65747,$53);
+ $54 = ((($7)) + 20|0);
+ __gcry_mpi_point_log(65764,$54,0);
+ $55 = HEAP32[$24>>2]|0;
+ __gcry_log_printmpi(65779,$55);
+ $56 = HEAP32[$25>>2]|0;
+ __gcry_log_printmpi(65796,$56);
+ $57 = HEAP32[$5>>2]|0;
+ __gcry_log_printmpi(65813,$57);
+ }
+ $58 = HEAP32[$21>>2]|0;
+ $59 = ($58|0)==(0|0);
+ $60 = HEAP32[$22>>2]|0;
+ $61 = ($60|0)==(0|0);
+ $or$cond61 = $59 | $61;
+ $62 = HEAP32[$23>>2]|0;
+ $63 = ($62|0)==(0|0);
+ $or$cond63 = $or$cond61 | $63;
+ if ($or$cond63) {
+ $$055 = 68;$$056 = 0;$$057 = 0;$$058 = 0;$$1 = $$05966;
+ } else {
+ $64 = ((($7)) + 20|0);
+ $65 = HEAP32[$64>>2]|0;
+ $66 = ($65|0)==(0|0);
+ $67 = HEAP32[$24>>2]|0;
+ $68 = ($67|0)==(0|0);
+ $or$cond65 = $66 | $68;
+ if ($or$cond65) {
+ $$055 = 68;$$056 = 0;$$057 = 0;$$058 = 0;$$1 = $$05966;
+ } else {
+ $69 = HEAP32[$25>>2]|0;
+ $70 = ($69|0)!=(0|0);
+ $71 = HEAP32[$5>>2]|0;
+ $72 = ($71|0)!=(0|0);
+ $or$cond = $70 & $72;
+ if ($or$cond) {
+ $73 = ((($7)) + 44|0);
+ __gcry_mpi_point_init($73);
+ $74 = HEAP32[$5>>2]|0;
+ $75 = (__gcry_ecc_os2ec($73,$74)|0);
+ $76 = ($75|0)==(0);
+ if ($76) {
+ $77 = HEAP32[$7>>2]|0;
+ $78 = ((($7)) + 4|0);
+ $79 = HEAP32[$78>>2]|0;
+ $80 = HEAP32[$21>>2]|0;
+ $81 = HEAP32[$22>>2]|0;
+ $82 = HEAP32[$23>>2]|0;
+ $83 = (__gcry_mpi_ec_p_internal_new($77,$79,0,$80,$81,$82)|0);
+ $84 = (__gcry_mpi_new(0)|0);
+ $85 = (__gcry_mpi_new(0)|0);
+ __gcry_mpi_point_init($8);
+ $86 = HEAP32[$6>>2]|0;
+ __gcry_mpi_ec_mul_point($8,$86,$73,$83);
+ $87 = (__gcry_mpi_ec_get_affine($84,$85,$8,$83)|0);
+ $88 = ($87|0)==(0);
+ if (!($88)) {
+ __gcry_log_fatal(65830,$vararg_buffer15);
+ // unreachable;
+ }
+ $89 = HEAP32[$21>>2]|0;
+ $90 = (__gcry_ecc_ec2os($84,$85,$89)|0);
+ $91 = HEAP32[$6>>2]|0;
+ __gcry_mpi_ec_mul_point($8,$91,$64,$83);
+ $92 = (__gcry_mpi_ec_get_affine($84,$85,$8,$83)|0);
+ $93 = ($92|0)==(0);
+ if ($93) {
+ $94 = HEAP32[$21>>2]|0;
+ $95 = (__gcry_ecc_ec2os($84,$85,$94)|0);
+ __gcry_mpi_free($84);
+ __gcry_mpi_free($85);
+ __gcry_mpi_point_free_parts($8);
+ HEAP32[$vararg_buffer19>>2] = $90;
+ $vararg_ptr22 = ((($vararg_buffer19)) + 4|0);
+ HEAP32[$vararg_ptr22>>2] = $95;
+ $96 = (__gcry_sexp_build($0,0,65925,$vararg_buffer19)|0);
+ $$055 = $96;$$056 = $83;$$057 = $95;$$058 = $90;$$1 = $$05966;
+ break;
+ } else {
+ __gcry_log_fatal(65878,$vararg_buffer17);
+ // unreachable;
+ }
+ } else {
+ $$055 = $75;$$056 = 0;$$057 = 0;$$058 = 0;$$1 = $$05966;
+ }
+ } else {
+ $$055 = 68;$$056 = 0;$$057 = 0;$$058 = 0;$$1 = $$05966;
+ }
+ }
+ }
+ } else {
+ $$055 = $26;$$056 = 0;$$057 = 0;$$058 = 0;$$1 = 0;
+ }
+ } else {
+ $$055 = $10;$$056 = 0;$$057 = 0;$$058 = 0;$$1 = 0;
+ }
+ } while(0);
+ $97 = ((($7)) + 8|0);
+ $98 = HEAP32[$97>>2]|0;
+ __gcry_mpi_release($98);
+ $99 = ((($7)) + 12|0);
+ $100 = HEAP32[$99>>2]|0;
+ __gcry_mpi_release($100);
+ $101 = ((($7)) + 16|0);
+ $102 = HEAP32[$101>>2]|0;
+ __gcry_mpi_release($102);
+ $103 = HEAP32[$4>>2]|0;
+ __gcry_mpi_release($103);
+ $104 = ((($7)) + 20|0);
+ __gcry_mpi_point_free_parts($104);
+ $105 = ((($7)) + 32|0);
+ $106 = HEAP32[$105>>2]|0;
+ __gcry_mpi_release($106);
+ $107 = ((($7)) + 36|0);
+ $108 = HEAP32[$107>>2]|0;
+ __gcry_mpi_release($108);
+ $109 = HEAP32[$5>>2]|0;
+ __gcry_mpi_release($109);
+ $110 = ((($7)) + 44|0);
+ __gcry_mpi_point_free_parts($110);
+ $111 = HEAP32[$6>>2]|0;
+ __gcry_mpi_release($111);
+ __gcry_mpi_release($$058);
+ __gcry_mpi_release($$057);
+ __gcry_free($$1);
+ __gcry_mpi_ec_free($$056);
+ __gcry_pk_util_free_encoding_ctx($3);
+ $112 = (__gcry_get_debug_flag(1)|0);
+ $113 = ($112|0)==(0);
+ if ($113) {
+ $$0 = $$055;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $114 = (_gpg_strerror($$055)|0);
+ HEAP32[$vararg_buffer23>>2] = $114;
+ __gcry_log_debug(65951,$vararg_buffer23);
+ $$0 = $$055;
+ STACKTOP = sp;return ($$0|0);
+}
+function _ecc_decrypt_raw($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$0 = 0, $$044 = 0, $$045 = 0, $$046 = 0, $$04758 = 0, $$1 = 0, $$148 = 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;
+ var $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, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0;
+ var $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, $38 = 0;
+ var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0;
+ var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0;
+ var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0;
+ var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond51 = 0, $or$cond53 = 0, $or$cond55 = 0, $or$cond57 = 0, $vararg_buffer = 0, $vararg_buffer12 = 0, $vararg_buffer16 = 0, $vararg_buffer19 = 0, $vararg_buffer2 = 0, $vararg_buffer21 = 0, $vararg_buffer24 = 0, $vararg_ptr1 = 0;
+ var $vararg_ptr10 = 0, $vararg_ptr11 = 0, $vararg_ptr15 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, $vararg_ptr9 = 0, dest = 0, label = 0, sp = 0, stop = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 224|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(224|0);
+ $vararg_buffer24 = sp + 72|0;
+ $vararg_buffer21 = sp + 64|0;
+ $vararg_buffer19 = sp + 56|0;
+ $vararg_buffer16 = sp + 48|0;
+ $vararg_buffer12 = sp + 40|0;
+ $vararg_buffer2 = sp + 8|0;
+ $vararg_buffer = sp;
+ $3 = sp + 176|0;
+ $4 = sp + 168|0;
+ $5 = sp + 164|0;
+ $6 = sp + 104|0;
+ $7 = sp + 100|0;
+ $8 = sp + 88|0;
+ $9 = sp + 76|0;
+ HEAP32[$4>>2] = 0;
+ HEAP32[$5>>2] = 0;
+ HEAP32[$7>>2] = 0;
+ dest=$6; stop=dest+60|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
+ __gcry_mpi_point_init($8);
+ __gcry_mpi_point_init($9);
+ $10 = (_ecc_get_nbits($2)|0);
+ __gcry_pk_util_init_encoding_ctx($3,1,$10);
+ $11 = (__gcry_pk_util_preparse_encval($1,16256,$4,$3)|0);
+ $12 = ($11|0)==(0);
+ do {
+ if ($12) {
+ $13 = HEAP32[$4>>2]|0;
+ HEAP32[$vararg_buffer>>2] = $5;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 0;
+ $14 = (__gcry_sexp_extract_param($13,0,65344,$vararg_buffer)|0);
+ $15 = ($14|0)==(0);
+ if ($15) {
+ $16 = (__gcry_get_debug_flag(1)|0);
+ $17 = ($16|0)==(0);
+ if (!($17)) {
+ $18 = HEAP32[$5>>2]|0;
+ __gcry_log_printmpi(65346,$18);
+ }
+ $19 = HEAP32[$5>>2]|0;
+ $20 = ($19|0)==(0|0);
+ if (!($20)) {
+ $21 = ((($19)) + 12|0);
+ $22 = HEAP32[$21>>2]|0;
+ $23 = $22 & 4;
+ $24 = ($23|0)==(0);
+ if (!($24)) {
+ $$045 = 0;$$046 = 0;$$1 = 79;$$148 = 0;
+ break;
+ }
+ }
+ $25 = ((($6)) + 8|0);
+ $26 = ((($6)) + 12|0);
+ $27 = ((($6)) + 16|0);
+ $28 = ((($6)) + 32|0);
+ $29 = ((($6)) + 36|0);
+ $30 = ((($6)) + 56|0);
+ HEAP32[$vararg_buffer2>>2] = $25;
+ $vararg_ptr5 = ((($vararg_buffer2)) + 4|0);
+ HEAP32[$vararg_ptr5>>2] = $26;
+ $vararg_ptr6 = ((($vararg_buffer2)) + 8|0);
+ HEAP32[$vararg_ptr6>>2] = $27;
+ $vararg_ptr7 = ((($vararg_buffer2)) + 12|0);
+ HEAP32[$vararg_ptr7>>2] = $7;
+ $vararg_ptr8 = ((($vararg_buffer2)) + 16|0);
+ HEAP32[$vararg_ptr8>>2] = $28;
+ $vararg_ptr9 = ((($vararg_buffer2)) + 20|0);
+ HEAP32[$vararg_ptr9>>2] = $29;
+ $vararg_ptr10 = ((($vararg_buffer2)) + 24|0);
+ HEAP32[$vararg_ptr10>>2] = $30;
+ $vararg_ptr11 = ((($vararg_buffer2)) + 28|0);
+ HEAP32[$vararg_ptr11>>2] = 0;
+ $31 = (__gcry_sexp_extract_param($2,0,65363,$vararg_buffer2)|0);
+ $32 = ($31|0)==(0);
+ if ($32) {
+ $33 = HEAP32[$7>>2]|0;
+ $34 = ($33|0)==(0|0);
+ if (!($34)) {
+ $35 = ((($6)) + 20|0);
+ __gcry_mpi_point_init($35);
+ $36 = HEAP32[$7>>2]|0;
+ $37 = (__gcry_ecc_os2ec($35,$36)|0);
+ $38 = ($37|0)==(0);
+ if (!($38)) {
+ $$045 = 0;$$046 = 0;$$1 = $37;$$148 = 0;
+ break;
+ }
+ }
+ $39 = HEAP32[$4>>2]|0;
+ __gcry_sexp_release($39);
+ $40 = (__gcry_sexp_find_token($2,64745,5)|0);
+ HEAP32[$4>>2] = $40;
+ $41 = ($40|0)==(0|0);
+ if ($41) {
+ label = 13;
+ } else {
+ $42 = (__gcry_sexp_nth_string($40,1)|0);
+ $43 = ($42|0)==(0|0);
+ if ($43) {
+ label = 13;
+ } else {
+ $44 = (__gcry_ecc_fill_in_curve(0,$42,$6,0)|0);
+ $45 = ($44|0)==(0);
+ if ($45) {
+ $$04758 = $42;
+ } else {
+ $$0 = $44;
+ STACKTOP = sp;return ($$0|0);
+ }
+ }
+ }
+ if ((label|0) == 13) {
+ HEAP32[$6>>2] = 0;
+ $46 = ((($6)) + 4|0);
+ HEAP32[$46>>2] = 0;
+ $$04758 = 0;
+ }
+ $47 = (__gcry_get_debug_flag(1)|0);
+ $48 = ($47|0)==(0);
+ if (!($48)) {
+ $49 = HEAP32[$6>>2]|0;
+ $50 = (__gcry_ecc_model2str($49)|0);
+ $51 = ((($6)) + 4|0);
+ $52 = HEAP32[$51>>2]|0;
+ $53 = (__gcry_ecc_dialect2str($52)|0);
+ HEAP32[$vararg_buffer12>>2] = $50;
+ $vararg_ptr15 = ((($vararg_buffer12)) + 4|0);
+ HEAP32[$vararg_ptr15>>2] = $53;
+ __gcry_log_debug(65379,$vararg_buffer12);
+ $54 = ((($6)) + 40|0);
+ $55 = HEAP32[$54>>2]|0;
+ $56 = ($55|0)==(0|0);
+ if (!($56)) {
+ HEAP32[$vararg_buffer16>>2] = $55;
+ __gcry_log_debug(65404,$vararg_buffer16);
+ }
+ $57 = HEAP32[$25>>2]|0;
+ __gcry_log_printmpi(65426,$57);
+ $58 = HEAP32[$26>>2]|0;
+ __gcry_log_printmpi(65443,$58);
+ $59 = HEAP32[$27>>2]|0;
+ __gcry_log_printmpi(65460,$59);
+ $60 = ((($6)) + 20|0);
+ __gcry_mpi_point_log(65477,$60,0);
+ $61 = HEAP32[$28>>2]|0;
+ __gcry_log_printmpi(65492,$61);
+ $62 = HEAP32[$29>>2]|0;
+ __gcry_log_printmpi(65509,$62);
+ $63 = (__gcry_fips_mode()|0);
+ $64 = ($63|0)==(0);
+ if ($64) {
+ $65 = HEAP32[$30>>2]|0;
+ __gcry_log_printmpi(65526,$65);
+ }
+ }
+ $66 = HEAP32[$25>>2]|0;
+ $67 = ($66|0)==(0|0);
+ $68 = HEAP32[$26>>2]|0;
+ $69 = ($68|0)==(0|0);
+ $or$cond = $67 | $69;
+ $70 = HEAP32[$27>>2]|0;
+ $71 = ($70|0)==(0|0);
+ $or$cond51 = $or$cond | $71;
+ if ($or$cond51) {
+ $$045 = 0;$$046 = 0;$$1 = 68;$$148 = $$04758;
+ } else {
+ $72 = ((($6)) + 20|0);
+ $73 = HEAP32[$72>>2]|0;
+ $74 = ($73|0)==(0|0);
+ $75 = HEAP32[$28>>2]|0;
+ $76 = ($75|0)==(0|0);
+ $or$cond53 = $74 | $76;
+ $77 = HEAP32[$29>>2]|0;
+ $78 = ($77|0)==(0|0);
+ $or$cond55 = $or$cond53 | $78;
+ $79 = HEAP32[$30>>2]|0;
+ $80 = ($79|0)==(0|0);
+ $or$cond57 = $or$cond55 | $80;
+ if ($or$cond57) {
+ $$045 = 0;$$046 = 0;$$1 = 68;$$148 = $$04758;
+ } else {
+ $81 = HEAP32[$5>>2]|0;
+ $82 = (__gcry_ecc_os2ec($8,$81)|0);
+ $83 = ($82|0)==(0);
+ if (!($83)) {
+ __gcry_mpi_point_free_parts($8);
+ $$0 = $82;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $84 = HEAP32[$6>>2]|0;
+ $85 = ((($6)) + 4|0);
+ $86 = HEAP32[$85>>2]|0;
+ $87 = HEAP32[$25>>2]|0;
+ $88 = HEAP32[$26>>2]|0;
+ $89 = HEAP32[$27>>2]|0;
+ $90 = (__gcry_mpi_ec_p_internal_new($84,$86,0,$87,$88,$89)|0);
+ $91 = HEAP32[$30>>2]|0;
+ __gcry_mpi_ec_mul_point($9,$91,$8,$90);
+ $92 = (__gcry_mpi_new(0)|0);
+ $93 = (__gcry_mpi_new(0)|0);
+ $94 = (__gcry_mpi_ec_get_affine($92,$93,$9,$90)|0);
+ $95 = ($94|0)==(0);
+ if (!($95)) {
+ __gcry_log_fatal(65543,$vararg_buffer19);
+ // unreachable;
+ }
+ $96 = HEAP32[$25>>2]|0;
+ $97 = (__gcry_ecc_ec2os($92,$93,$96)|0);
+ $98 = ($97|0)==(0|0);
+ if ($98) {
+ $99 = (_gpg_err_code_from_syserror()|0);
+ $$044 = $99;
+ } else {
+ $$044 = 0;
+ }
+ __gcry_mpi_free($92);
+ __gcry_mpi_free($93);
+ $100 = (__gcry_get_debug_flag(1)|0);
+ $101 = ($100|0)==(0);
+ if (!($101)) {
+ __gcry_log_printmpi(65583,$97);
+ }
+ $102 = ($$044|0)==(0);
+ if ($102) {
+ HEAP32[$vararg_buffer21>>2] = $97;
+ $103 = (__gcry_sexp_build($0,0,65600,$vararg_buffer21)|0);
+ $$045 = $97;$$046 = $90;$$1 = $103;$$148 = $$04758;
+ } else {
+ $$045 = $97;$$046 = $90;$$1 = $$044;$$148 = $$04758;
+ }
+ }
+ }
+ } else {
+ $$045 = 0;$$046 = 0;$$1 = $31;$$148 = 0;
+ }
+ } else {
+ $$045 = 0;$$046 = 0;$$1 = $14;$$148 = 0;
+ }
+ } else {
+ $$045 = 0;$$046 = 0;$$1 = $11;$$148 = 0;
+ }
+ } while(0);
+ __gcry_mpi_point_free_parts($9);
+ __gcry_mpi_point_free_parts($8);
+ __gcry_mpi_release($$045);
+ $104 = ((($6)) + 8|0);
+ $105 = HEAP32[$104>>2]|0;
+ __gcry_mpi_release($105);
+ $106 = ((($6)) + 12|0);
+ $107 = HEAP32[$106>>2]|0;
+ __gcry_mpi_release($107);
+ $108 = ((($6)) + 16|0);
+ $109 = HEAP32[$108>>2]|0;
+ __gcry_mpi_release($109);
+ $110 = HEAP32[$7>>2]|0;
+ __gcry_mpi_release($110);
+ $111 = ((($6)) + 20|0);
+ __gcry_mpi_point_free_parts($111);
+ $112 = ((($6)) + 32|0);
+ $113 = HEAP32[$112>>2]|0;
+ __gcry_mpi_release($113);
+ $114 = ((($6)) + 36|0);
+ $115 = HEAP32[$114>>2]|0;
+ __gcry_mpi_release($115);
+ $116 = ((($6)) + 56|0);
+ $117 = HEAP32[$116>>2]|0;
+ __gcry_mpi_release($117);
+ $118 = HEAP32[$5>>2]|0;
+ __gcry_mpi_release($118);
+ __gcry_free($$148);
+ $119 = HEAP32[$4>>2]|0;
+ __gcry_sexp_release($119);
+ __gcry_mpi_ec_free($$046);
+ __gcry_pk_util_free_encoding_ctx($3);
+ $120 = (__gcry_get_debug_flag(1)|0);
+ $121 = ($120|0)==(0);
+ if ($121) {
+ $$0 = $$1;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $122 = (_gpg_strerror($$1)|0);
+ HEAP32[$vararg_buffer24>>2] = $122;
+ __gcry_log_debug(65611,$vararg_buffer24);
+ $$0 = $$1;
+ STACKTOP = sp;return ($$0|0);
+}
+function _ecc_sign($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$0 = 0, $$045 = 0, $$04651 = 0, $$047 = 0, $$048 = 0, $$050 = 0, $$1 = 0, $$149 = 0, $$lobit = 0, $$pre = 0, $$pre$phiZ2D = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0;
+ var $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0;
+ var $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0;
+ var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0;
+ var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0;
+ var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0;
+ var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $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;
+ var $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $vararg_buffer = 0, $vararg_buffer14 = 0, $vararg_buffer19 = 0, $vararg_buffer22 = 0, $vararg_buffer26 = 0, $vararg_buffer30 = 0, $vararg_buffer34 = 0, $vararg_buffer9 = 0, $vararg_ptr1 = 0, $vararg_ptr12 = 0, $vararg_ptr13 = 0, $vararg_ptr17 = 0, $vararg_ptr18 = 0, $vararg_ptr2 = 0, $vararg_ptr25 = 0;
+ var $vararg_ptr29 = 0, $vararg_ptr3 = 0, $vararg_ptr33 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, dest = 0, label = 0, sp = 0, stop = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 224|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(224|0);
+ $vararg_buffer34 = sp + 104|0;
+ $vararg_buffer30 = sp + 96|0;
+ $vararg_buffer26 = sp + 88|0;
+ $vararg_buffer22 = sp + 80|0;
+ $vararg_buffer19 = sp + 72|0;
+ $vararg_buffer14 = sp + 56|0;
+ $vararg_buffer9 = sp + 40|0;
+ $vararg_buffer = sp;
+ $3 = sp + 184|0;
+ $4 = sp + 176|0;
+ $5 = sp + 172|0;
+ $6 = sp + 168|0;
+ $7 = sp + 108|0;
+ HEAP32[$4>>2] = 0;
+ HEAP32[$5>>2] = 0;
+ HEAP32[$6>>2] = 0;
+ dest=$7; stop=dest+60|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
+ __gcry_pk_util_init_encoding_ctx($3,2,0);
+ $8 = (__gcry_pk_util_data_to_mpi($1,$4,$3)|0);
+ $9 = ($8|0)==(0);
+ do {
+ if ($9) {
+ $10 = (__gcry_get_debug_flag(1)|0);
+ $11 = ($10|0)==(0);
+ if (!($11)) {
+ $12 = HEAP32[$4>>2]|0;
+ __gcry_log_printmpi(65029,$12);
+ }
+ $13 = ((($3)) + 12|0);
+ $14 = HEAP32[$13>>2]|0;
+ $15 = $14 & 512;
+ $16 = ($15|0)==(0);
+ if ($16) {
+ $24 = ((($7)) + 56|0);
+ HEAP32[$vararg_buffer9>>2] = $6;
+ $vararg_ptr12 = ((($vararg_buffer9)) + 4|0);
+ HEAP32[$vararg_ptr12>>2] = $24;
+ $vararg_ptr13 = ((($vararg_buffer9)) + 8|0);
+ HEAP32[$vararg_ptr13>>2] = 0;
+ $25 = (__gcry_sexp_extract_param($2,0,65064,$vararg_buffer9)|0);
+ $$048 = $25;
+ } else {
+ $17 = ((($7)) + 8|0);
+ $18 = ((($7)) + 12|0);
+ $19 = ((($7)) + 16|0);
+ $20 = ((($7)) + 32|0);
+ $21 = ((($7)) + 36|0);
+ $22 = ((($7)) + 56|0);
+ HEAP32[$vararg_buffer>>2] = $17;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = $18;
+ $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
+ HEAP32[$vararg_ptr2>>2] = $19;
+ $vararg_ptr3 = ((($vararg_buffer)) + 12|0);
+ HEAP32[$vararg_ptr3>>2] = $5;
+ $vararg_ptr4 = ((($vararg_buffer)) + 16|0);
+ HEAP32[$vararg_ptr4>>2] = $20;
+ $vararg_ptr5 = ((($vararg_buffer)) + 20|0);
+ HEAP32[$vararg_ptr5>>2] = $21;
+ $vararg_ptr6 = ((($vararg_buffer)) + 24|0);
+ HEAP32[$vararg_ptr6>>2] = $6;
+ $vararg_ptr7 = ((($vararg_buffer)) + 28|0);
+ HEAP32[$vararg_ptr7>>2] = $22;
+ $vararg_ptr8 = ((($vararg_buffer)) + 32|0);
+ HEAP32[$vararg_ptr8>>2] = 0;
+ $23 = (__gcry_sexp_extract_param($2,0,65045,$vararg_buffer)|0);
+ $$048 = $23;
+ }
+ $26 = ($$048|0)==(0);
+ if ($26) {
+ $27 = HEAP32[$5>>2]|0;
+ $28 = ($27|0)==(0|0);
+ if (!($28)) {
+ $29 = ((($7)) + 20|0);
+ __gcry_mpi_point_init($29);
+ $30 = HEAP32[$5>>2]|0;
+ $31 = (__gcry_ecc_os2ec($29,$30)|0);
+ $32 = ($31|0)==(0);
+ if (!($32)) {
+ $$0 = 0;$$045 = 0;$$047 = 0;$$1 = 0;$$149 = $31;
+ break;
+ }
+ }
+ __gcry_sexp_release(0);
+ $33 = (__gcry_sexp_find_token($2,64745,5)|0);
+ $34 = ($33|0)==(0|0);
+ if ($34) {
+ label = 13;
+ } else {
+ $35 = (__gcry_sexp_nth_string($33,1)|0);
+ $36 = ($35|0)==(0|0);
+ if ($36) {
+ label = 13;
+ } else {
+ $37 = (__gcry_ecc_fill_in_curve(0,$35,$7,0)|0);
+ $38 = ($37|0)==(0);
+ if ($38) {
+ $$04651 = $35;
+ } else {
+ $$050 = $37;
+ STACKTOP = sp;return ($$050|0);
+ }
+ }
+ }
+ if ((label|0) == 13) {
+ $39 = HEAP32[$13>>2]|0;
+ $40 = $39 >>> 11;
+ $41 = $40 & 2;
+ HEAP32[$7>>2] = $41;
+ $42 = $39 >>> 12;
+ $$lobit = $42 & 1;
+ $43 = ((($7)) + 4|0);
+ HEAP32[$43>>2] = $$lobit;
+ $$04651 = 0;
+ }
+ $44 = (__gcry_get_debug_flag(1)|0);
+ $45 = ($44|0)==(0);
+ if ($45) {
+ $$pre = ((($7)) + 8|0);
+ $$pre$phiZ2D = $$pre;
+ } else {
+ $46 = HEAP32[$7>>2]|0;
+ $47 = (__gcry_ecc_model2str($46)|0);
+ $48 = ((($7)) + 4|0);
+ $49 = HEAP32[$48>>2]|0;
+ $50 = (__gcry_ecc_dialect2str($49)|0);
+ $51 = HEAP32[$13>>2]|0;
+ $52 = $51 & 4096;
+ $53 = ($52|0)==(0);
+ $54 = $53 ? 73338 : 64839;
+ HEAP32[$vararg_buffer14>>2] = $47;
+ $vararg_ptr17 = ((($vararg_buffer14)) + 4|0);
+ HEAP32[$vararg_ptr17>>2] = $50;
+ $vararg_ptr18 = ((($vararg_buffer14)) + 8|0);
+ HEAP32[$vararg_ptr18>>2] = $54;
+ __gcry_log_debug(65070,$vararg_buffer14);
+ $55 = ((($7)) + 40|0);
+ $56 = HEAP32[$55>>2]|0;
+ $57 = ($56|0)==(0|0);
+ if (!($57)) {
+ HEAP32[$vararg_buffer19>>2] = $56;
+ __gcry_log_debug(65096,$vararg_buffer19);
+ }
+ $58 = ((($7)) + 8|0);
+ $59 = HEAP32[$58>>2]|0;
+ __gcry_log_printmpi(65117,$59);
+ $60 = ((($7)) + 12|0);
+ $61 = HEAP32[$60>>2]|0;
+ __gcry_log_printmpi(65133,$61);
+ $62 = ((($7)) + 16|0);
+ $63 = HEAP32[$62>>2]|0;
+ __gcry_log_printmpi(65149,$63);
+ $64 = ((($7)) + 20|0);
+ __gcry_mpi_point_log(65165,$64,0);
+ $65 = ((($7)) + 32|0);
+ $66 = HEAP32[$65>>2]|0;
+ __gcry_log_printmpi(65179,$66);
+ $67 = ((($7)) + 36|0);
+ $68 = HEAP32[$67>>2]|0;
+ __gcry_log_printmpi(65195,$68);
+ $69 = HEAP32[$6>>2]|0;
+ __gcry_log_printmpi(65211,$69);
+ $70 = (__gcry_fips_mode()|0);
+ $71 = ($70|0)==(0);
+ if ($71) {
+ $72 = ((($7)) + 56|0);
+ $73 = HEAP32[$72>>2]|0;
+ __gcry_log_printmpi(65227,$73);
+ $$pre$phiZ2D = $58;
+ } else {
+ $$pre$phiZ2D = $58;
+ }
+ }
+ $74 = HEAP32[$$pre$phiZ2D>>2]|0;
+ $75 = ($74|0)==(0|0);
+ if ($75) {
+ $$0 = 0;$$045 = 0;$$047 = $33;$$1 = $$04651;$$149 = 68;
+ } else {
+ $76 = ((($7)) + 12|0);
+ $77 = HEAP32[$76>>2]|0;
+ $78 = ($77|0)==(0|0);
+ if ($78) {
+ $$0 = 0;$$045 = 0;$$047 = $33;$$1 = $$04651;$$149 = 68;
+ } else {
+ $79 = ((($7)) + 16|0);
+ $80 = HEAP32[$79>>2]|0;
+ $81 = ($80|0)==(0|0);
+ if ($81) {
+ $$0 = 0;$$045 = 0;$$047 = $33;$$1 = $$04651;$$149 = 68;
+ } else {
+ $82 = ((($7)) + 20|0);
+ $83 = HEAP32[$82>>2]|0;
+ $84 = ($83|0)==(0|0);
+ if ($84) {
+ $$0 = 0;$$045 = 0;$$047 = $33;$$1 = $$04651;$$149 = 68;
+ } else {
+ $85 = ((($7)) + 32|0);
+ $86 = HEAP32[$85>>2]|0;
+ $87 = ($86|0)==(0|0);
+ if ($87) {
+ $$0 = 0;$$045 = 0;$$047 = $33;$$1 = $$04651;$$149 = 68;
+ } else {
+ $88 = ((($7)) + 36|0);
+ $89 = HEAP32[$88>>2]|0;
+ $90 = ($89|0)==(0|0);
+ if ($90) {
+ $$0 = 0;$$045 = 0;$$047 = $33;$$1 = $$04651;$$149 = 68;
+ } else {
+ $91 = ((($7)) + 56|0);
+ $92 = HEAP32[$91>>2]|0;
+ $93 = ($92|0)==(0|0);
+ if ($93) {
+ $$0 = 0;$$045 = 0;$$047 = $33;$$1 = $$04651;$$149 = 68;
+ } else {
+ $94 = (__gcry_mpi_new(0)|0);
+ $95 = (__gcry_mpi_new(0)|0);
+ $96 = HEAP32[$13>>2]|0;
+ $97 = $96 & 4096;
+ $98 = ($97|0)==(0);
+ if (!($98)) {
+ $99 = HEAP32[$4>>2]|0;
+ $100 = ((($3)) + 16|0);
+ $101 = HEAP32[$100>>2]|0;
+ $102 = HEAP32[$6>>2]|0;
+ $103 = (__gcry_ecc_eddsa_sign($99,$7,$94,$95,$101,$102)|0);
+ $104 = ($103|0)==(0);
+ if (!($104)) {
+ $$0 = $95;$$045 = $94;$$047 = $33;$$1 = $$04651;$$149 = $103;
+ break;
+ }
+ HEAP32[$vararg_buffer22>>2] = $94;
+ $vararg_ptr25 = ((($vararg_buffer22)) + 4|0);
+ HEAP32[$vararg_ptr25>>2] = $95;
+ $105 = (__gcry_sexp_build($0,0,65243,$vararg_buffer22)|0);
+ $$0 = $95;$$045 = $94;$$047 = $33;$$1 = $$04651;$$149 = $105;
+ break;
+ }
+ $106 = $96 & 8192;
+ $107 = ($106|0)==(0);
+ $108 = HEAP32[$4>>2]|0;
+ if ($107) {
+ $112 = ((($3)) + 16|0);
+ $113 = HEAP32[$112>>2]|0;
+ $114 = (__gcry_ecc_ecdsa_sign($108,$7,$94,$95,$96,$113)|0);
+ $115 = ($114|0)==(0);
+ if (!($115)) {
+ $$0 = $95;$$045 = $94;$$047 = $33;$$1 = $$04651;$$149 = $114;
+ break;
+ }
+ HEAP32[$vararg_buffer30>>2] = $94;
+ $vararg_ptr33 = ((($vararg_buffer30)) + 4|0);
+ HEAP32[$vararg_ptr33>>2] = $95;
+ $116 = (__gcry_sexp_build($0,0,65296,$vararg_buffer30)|0);
+ $$0 = $95;$$045 = $94;$$047 = $33;$$1 = $$04651;$$149 = $116;
+ break;
+ } else {
+ $109 = (__gcry_ecc_gost_sign($108,$7,$94,$95)|0);
+ $110 = ($109|0)==(0);
+ if (!($110)) {
+ $$0 = $95;$$045 = $94;$$047 = $33;$$1 = $$04651;$$149 = $109;
+ break;
+ }
+ HEAP32[$vararg_buffer26>>2] = $94;
+ $vararg_ptr29 = ((($vararg_buffer26)) + 4|0);
+ HEAP32[$vararg_ptr29>>2] = $95;
+ $111 = (__gcry_sexp_build($0,0,65270,$vararg_buffer26)|0);
+ $$0 = $95;$$045 = $94;$$047 = $33;$$1 = $$04651;$$149 = $111;
+ break;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ } else {
+ $$0 = 0;$$045 = 0;$$047 = 0;$$1 = 0;$$149 = $$048;
+ }
+ } else {
+ $$0 = 0;$$045 = 0;$$047 = 0;$$1 = 0;$$149 = $8;
+ }
+ } while(0);
+ $117 = ((($7)) + 8|0);
+ $118 = HEAP32[$117>>2]|0;
+ __gcry_mpi_release($118);
+ $119 = ((($7)) + 12|0);
+ $120 = HEAP32[$119>>2]|0;
+ __gcry_mpi_release($120);
+ $121 = ((($7)) + 16|0);
+ $122 = HEAP32[$121>>2]|0;
+ __gcry_mpi_release($122);
+ $123 = HEAP32[$5>>2]|0;
+ __gcry_mpi_release($123);
+ $124 = ((($7)) + 20|0);
+ __gcry_mpi_point_free_parts($124);
+ $125 = ((($7)) + 32|0);
+ $126 = HEAP32[$125>>2]|0;
+ __gcry_mpi_release($126);
+ $127 = ((($7)) + 36|0);
+ $128 = HEAP32[$127>>2]|0;
+ __gcry_mpi_release($128);
+ $129 = HEAP32[$6>>2]|0;
+ __gcry_mpi_release($129);
+ $130 = ((($7)) + 44|0);
+ __gcry_mpi_point_free_parts($130);
+ $131 = ((($7)) + 56|0);
+ $132 = HEAP32[$131>>2]|0;
+ __gcry_mpi_release($132);
+ __gcry_mpi_release($$045);
+ __gcry_mpi_release($$0);
+ __gcry_free($$1);
+ $133 = HEAP32[$4>>2]|0;
+ __gcry_mpi_release($133);
+ __gcry_sexp_release($$047);
+ __gcry_pk_util_free_encoding_ctx($3);
+ $134 = (__gcry_get_debug_flag(1)|0);
+ $135 = ($134|0)==(0);
+ if ($135) {
+ $$050 = $$149;
+ STACKTOP = sp;return ($$050|0);
+ }
+ $136 = (_gpg_strerror($$149)|0);
+ HEAP32[$vararg_buffer34>>2] = $136;
+ __gcry_log_debug(65323,$vararg_buffer34);
+ $$050 = $$149;
+ STACKTOP = sp;return ($$050|0);
+}
+function _ecc_verify($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$0 = 0, $$037 = 0, $$03840 = 0, $$1 = 0, $$139 = 0, $$2 = 0, $$3 = 0, $$lobit = 0, $$pre = 0, $$pre$phiZ2D = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0;
+ var $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0;
+ var $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0;
+ var $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0;
+ var $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0;
+ var $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, $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, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0;
+ var $or$cond = 0, $vararg_buffer = 0, $vararg_buffer13 = 0, $vararg_buffer17 = 0, $vararg_buffer22 = 0, $vararg_buffer25 = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0, $vararg_ptr10 = 0, $vararg_ptr11 = 0, $vararg_ptr12 = 0, $vararg_ptr16 = 0, $vararg_ptr2 = 0, $vararg_ptr20 = 0, $vararg_ptr21 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, $vararg_ptr9 = 0, dest = 0;
+ var label = 0, sp = 0, stop = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 224|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(224|0);
+ $vararg_buffer25 = sp + 80|0;
+ $vararg_buffer22 = sp + 72|0;
+ $vararg_buffer17 = sp + 56|0;
+ $vararg_buffer13 = sp + 48|0;
+ $vararg_buffer3 = sp + 16|0;
+ $vararg_buffer = sp;
+ $3 = sp + 176|0;
+ $4 = sp + 172|0;
+ $5 = sp + 168|0;
+ $6 = sp + 164|0;
+ $7 = sp + 160|0;
+ $8 = sp + 156|0;
+ $9 = sp + 152|0;
+ $10 = sp + 96|0;
+ $11 = sp + 92|0;
+ $12 = sp + 88|0;
+ $13 = sp + 84|0;
+ HEAP32[$4>>2] = 0;
+ HEAP32[$5>>2] = 0;
+ HEAP32[$6>>2] = 0;
+ HEAP32[$7>>2] = 0;
+ HEAP32[$8>>2] = 0;
+ HEAP32[$9>>2] = 0;
+ dest=$10; stop=dest+56|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
+ $14 = (_ecc_get_nbits($2)|0);
+ __gcry_pk_util_init_encoding_ctx($3,3,$14);
+ $15 = (__gcry_pk_util_data_to_mpi($1,$9,$3)|0);
+ $16 = ($15|0)==(0);
+ L1: do {
+ if ($16) {
+ $17 = (__gcry_get_debug_flag(1)|0);
+ $18 = ($17|0)==(0);
+ if (!($18)) {
+ $19 = HEAP32[$9>>2]|0;
+ __gcry_log_printmpi(64771,$19);
+ }
+ $20 = (__gcry_pk_util_preparse_sigval($0,16256,$4,$11)|0);
+ $21 = ($20|0)==(0);
+ if ($21) {
+ $22 = HEAP32[$4>>2]|0;
+ $23 = HEAP32[$11>>2]|0;
+ $24 = $23 & 4096;
+ $25 = ($24|0)==(0);
+ $26 = $25 ? 64702 : 64787;
+ HEAP32[$vararg_buffer>>2] = $7;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = $8;
+ $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
+ HEAP32[$vararg_ptr2>>2] = 0;
+ $27 = (__gcry_sexp_extract_param($22,0,$26,$vararg_buffer)|0);
+ $28 = ($27|0)==(0);
+ if ($28) {
+ $29 = (__gcry_get_debug_flag(1)|0);
+ $30 = ($29|0)==(0);
+ if (!($30)) {
+ $31 = HEAP32[$7>>2]|0;
+ __gcry_log_printmpi(64791,$31);
+ $32 = HEAP32[$8>>2]|0;
+ __gcry_log_printmpi(64807,$32);
+ }
+ $33 = ((($3)) + 12|0);
+ $34 = HEAP32[$33>>2]|0;
+ $35 = HEAP32[$11>>2]|0;
+ $36 = $35 ^ $34;
+ $37 = $36 & 4096;
+ $38 = ($37|0)==(0);
+ if ($38) {
+ $39 = $34 & 512;
+ $40 = ($39|0)==(0);
+ if ($40) {
+ HEAP32[$vararg_buffer13>>2] = $6;
+ $vararg_ptr16 = ((($vararg_buffer13)) + 4|0);
+ HEAP32[$vararg_ptr16>>2] = 0;
+ $46 = (__gcry_sexp_extract_param($2,0,64740,$vararg_buffer13)|0);
+ $$037 = $46;
+ } else {
+ $41 = ((($10)) + 8|0);
+ $42 = ((($10)) + 12|0);
+ $43 = ((($10)) + 16|0);
+ $44 = ((($10)) + 32|0);
+ HEAP32[$vararg_buffer3>>2] = $41;
+ $vararg_ptr6 = ((($vararg_buffer3)) + 4|0);
+ HEAP32[$vararg_ptr6>>2] = $42;
+ $vararg_ptr7 = ((($vararg_buffer3)) + 8|0);
+ HEAP32[$vararg_ptr7>>2] = $43;
+ $vararg_ptr8 = ((($vararg_buffer3)) + 12|0);
+ HEAP32[$vararg_ptr8>>2] = $5;
+ $vararg_ptr9 = ((($vararg_buffer3)) + 16|0);
+ HEAP32[$vararg_ptr9>>2] = $44;
+ $vararg_ptr10 = ((($vararg_buffer3)) + 20|0);
+ HEAP32[$vararg_ptr10>>2] = $44;
+ $vararg_ptr11 = ((($vararg_buffer3)) + 24|0);
+ HEAP32[$vararg_ptr11>>2] = $6;
+ $vararg_ptr12 = ((($vararg_buffer3)) + 28|0);
+ HEAP32[$vararg_ptr12>>2] = 0;
+ $45 = (__gcry_sexp_extract_param($2,0,64823,$vararg_buffer3)|0);
+ $$037 = $45;
+ }
+ $47 = ($$037|0)==(0);
+ if ($47) {
+ $48 = HEAP32[$5>>2]|0;
+ $49 = ($48|0)==(0|0);
+ if (!($49)) {
+ $50 = ((($10)) + 20|0);
+ __gcry_mpi_point_init($50);
+ $51 = HEAP32[$5>>2]|0;
+ $52 = (__gcry_ecc_os2ec($50,$51)|0);
+ $53 = ($52|0)==(0);
+ if (!($53)) {
+ $$139 = 0;$$3 = $52;
+ break;
+ }
+ }
+ $54 = HEAP32[$4>>2]|0;
+ __gcry_sexp_release($54);
+ $55 = (__gcry_sexp_find_token($2,64745,5)|0);
+ HEAP32[$4>>2] = $55;
+ $56 = ($55|0)==(0|0);
+ if ($56) {
+ label = 18;
+ } else {
+ $57 = (__gcry_sexp_nth_string($55,1)|0);
+ $58 = ($57|0)==(0|0);
+ if ($58) {
+ label = 18;
+ } else {
+ $59 = (__gcry_ecc_fill_in_curve(0,$57,$10,0)|0);
+ $60 = ($59|0)==(0);
+ if ($60) {
+ $$03840 = $57;
+ } else {
+ $$0 = $59;
+ STACKTOP = sp;return ($$0|0);
+ }
+ }
+ }
+ if ((label|0) == 18) {
+ $61 = HEAP32[$11>>2]|0;
+ $62 = $61 >>> 11;
+ $63 = $62 & 2;
+ HEAP32[$10>>2] = $63;
+ $64 = $61 >>> 12;
+ $$lobit = $64 & 1;
+ $65 = ((($10)) + 4|0);
+ HEAP32[$65>>2] = $$lobit;
+ $$03840 = 0;
+ }
+ $66 = (__gcry_get_debug_flag(1)|0);
+ $67 = ($66|0)==(0);
+ if ($67) {
+ $$pre = ((($10)) + 8|0);
+ $$pre$phiZ2D = $$pre;
+ } else {
+ $68 = HEAP32[$10>>2]|0;
+ $69 = (__gcry_ecc_model2str($68)|0);
+ $70 = ((($10)) + 4|0);
+ $71 = HEAP32[$70>>2]|0;
+ $72 = (__gcry_ecc_dialect2str($71)|0);
+ $73 = HEAP32[$11>>2]|0;
+ $74 = $73 & 4096;
+ $75 = ($74|0)==(0);
+ $76 = $75 ? 73338 : 64839;
+ HEAP32[$vararg_buffer17>>2] = $69;
+ $vararg_ptr20 = ((($vararg_buffer17)) + 4|0);
+ HEAP32[$vararg_ptr20>>2] = $72;
+ $vararg_ptr21 = ((($vararg_buffer17)) + 8|0);
+ HEAP32[$vararg_ptr21>>2] = $76;
+ __gcry_log_debug(64846,$vararg_buffer17);
+ $77 = ((($10)) + 40|0);
+ $78 = HEAP32[$77>>2]|0;
+ $79 = ($78|0)==(0|0);
+ if (!($79)) {
+ HEAP32[$vararg_buffer22>>2] = $78;
+ __gcry_log_debug(64872,$vararg_buffer22);
+ }
+ $80 = ((($10)) + 8|0);
+ $81 = HEAP32[$80>>2]|0;
+ __gcry_log_printmpi(64893,$81);
+ $82 = ((($10)) + 12|0);
+ $83 = HEAP32[$82>>2]|0;
+ __gcry_log_printmpi(64909,$83);
+ $84 = ((($10)) + 16|0);
+ $85 = HEAP32[$84>>2]|0;
+ __gcry_log_printmpi(64925,$85);
+ $86 = ((($10)) + 20|0);
+ __gcry_mpi_point_log(64941,$86,0);
+ $87 = ((($10)) + 32|0);
+ $88 = HEAP32[$87>>2]|0;
+ __gcry_log_printmpi(64955,$88);
+ $89 = ((($10)) + 36|0);
+ $90 = HEAP32[$89>>2]|0;
+ __gcry_log_printmpi(64971,$90);
+ $91 = HEAP32[$6>>2]|0;
+ __gcry_log_printmpi(64987,$91);
+ $$pre$phiZ2D = $80;
+ }
+ $92 = HEAP32[$$pre$phiZ2D>>2]|0;
+ $93 = ($92|0)==(0|0);
+ if ($93) {
+ $$139 = $$03840;$$3 = 68;
+ } else {
+ $94 = ((($10)) + 12|0);
+ $95 = HEAP32[$94>>2]|0;
+ $96 = ($95|0)==(0|0);
+ if ($96) {
+ $$139 = $$03840;$$3 = 68;
+ } else {
+ $97 = ((($10)) + 16|0);
+ $98 = HEAP32[$97>>2]|0;
+ $99 = ($98|0)==(0|0);
+ if ($99) {
+ $$139 = $$03840;$$3 = 68;
+ } else {
+ $100 = ((($10)) + 20|0);
+ $101 = HEAP32[$100>>2]|0;
+ $102 = ($101|0)==(0|0);
+ if ($102) {
+ $$139 = $$03840;$$3 = 68;
+ } else {
+ $103 = ((($10)) + 32|0);
+ $104 = HEAP32[$103>>2]|0;
+ $105 = ($104|0)==(0|0);
+ if ($105) {
+ $$139 = $$03840;$$3 = 68;
+ } else {
+ $106 = ((($10)) + 36|0);
+ $107 = HEAP32[$106>>2]|0;
+ $108 = ($107|0)!=(0|0);
+ $109 = HEAP32[$6>>2]|0;
+ $110 = ($109|0)!=(0|0);
+ $or$cond = $108 & $110;
+ if ($or$cond) {
+ $111 = HEAP32[$11>>2]|0;
+ $112 = $111 & 4096;
+ $113 = ($112|0)==(0);
+ if (!($113)) {
+ $114 = HEAP32[$9>>2]|0;
+ $115 = HEAP32[$7>>2]|0;
+ $116 = HEAP32[$8>>2]|0;
+ $117 = ((($3)) + 16|0);
+ $118 = HEAP32[$117>>2]|0;
+ $119 = (__gcry_ecc_eddsa_verify($114,$10,$115,$116,$118,$109)|0);
+ $$139 = $$03840;$$3 = $119;
+ break;
+ }
+ $120 = $111 & 8192;
+ $121 = ($120|0)==(0);
+ $122 = ((($10)) + 44|0);
+ __gcry_mpi_point_init($122);
+ if (!($121)) {
+ $123 = HEAP32[$6>>2]|0;
+ $124 = (__gcry_ecc_os2ec($122,$123)|0);
+ $125 = ($124|0)==(0);
+ if (!($125)) {
+ $$139 = $$03840;$$3 = $124;
+ break;
+ }
+ $126 = HEAP32[$9>>2]|0;
+ $127 = HEAP32[$7>>2]|0;
+ $128 = HEAP32[$8>>2]|0;
+ $129 = (__gcry_ecc_gost_verify($126,$10,$127,$128)|0);
+ $$139 = $$03840;$$3 = $129;
+ break;
+ }
+ $130 = ((($10)) + 4|0);
+ $131 = HEAP32[$130>>2]|0;
+ $132 = ($131|0)==(1);
+ if ($132) {
+ $133 = HEAP32[$10>>2]|0;
+ $134 = HEAP32[$$pre$phiZ2D>>2]|0;
+ $135 = HEAP32[$94>>2]|0;
+ $136 = HEAP32[$97>>2]|0;
+ $137 = (__gcry_mpi_ec_p_internal_new($133,1,0,$134,$135,$136)|0);
+ $138 = HEAP32[$6>>2]|0;
+ $139 = (__gcry_ecc_eddsa_decodepoint($138,$137,$122,0,0)|0);
+ __gcry_mpi_ec_free($137);
+ $$1 = $139;
+ } else {
+ $140 = HEAP32[$6>>2]|0;
+ $141 = (__gcry_ecc_os2ec($122,$140)|0);
+ $$1 = $141;
+ }
+ $142 = ($$1|0)==(0);
+ if (!($142)) {
+ $$139 = $$03840;$$3 = $$1;
+ break;
+ }
+ $143 = HEAP32[$9>>2]|0;
+ $144 = ($143|0)==(0|0);
+ do {
+ if (!($144)) {
+ $145 = ((($143)) + 12|0);
+ $146 = HEAP32[$145>>2]|0;
+ $147 = $146 & 4;
+ $148 = ($147|0)==(0);
+ if ($148) {
+ break;
+ }
+ $149 = HEAP32[$103>>2]|0;
+ $150 = (__gcry_mpi_get_nbits($149)|0);
+ $151 = HEAP32[$9>>2]|0;
+ $152 = (__gcry_mpi_get_opaque($151,$12)|0);
+ $153 = HEAP32[$12>>2]|0;
+ $154 = (($153) + 7)|0;
+ $155 = $154 >>> 3;
+ $156 = (__gcry_mpi_scan($13,5,$152,$155,0)|0);
+ $157 = ($156|0)==(0);
+ if ($157) {
+ $158 = HEAP32[$12>>2]|0;
+ $159 = ($158>>>0)>($150>>>0);
+ if ($159) {
+ $160 = (($158) - ($150))|0;
+ $161 = HEAP32[$13>>2]|0;
+ __gcry_mpi_rshift($161,$161,$160);
+ }
+ $162 = HEAP32[$13>>2]|0;
+ $163 = HEAP32[$7>>2]|0;
+ $164 = HEAP32[$8>>2]|0;
+ $165 = (__gcry_ecc_ecdsa_verify($162,$10,$163,$164)|0);
+ $166 = HEAP32[$13>>2]|0;
+ __gcry_mpi_release($166);
+ $$2 = $165;
+ } else {
+ $$2 = $156;
+ }
+ $$139 = $$03840;$$3 = $$2;
+ break L1;
+ }
+ } while(0);
+ $167 = HEAP32[$7>>2]|0;
+ $168 = HEAP32[$8>>2]|0;
+ $169 = (__gcry_ecc_ecdsa_verify($143,$10,$167,$168)|0);
+ $$139 = $$03840;$$3 = $169;
+ } else {
+ $$139 = $$03840;$$3 = 68;
+ }
+ }
+ }
+ }
+ }
+ }
+ } else {
+ $$139 = 0;$$3 = $$037;
+ }
+ } else {
+ $$139 = 0;$$3 = 70;
+ }
+ } else {
+ $$139 = 0;$$3 = $27;
+ }
+ } else {
+ $$139 = 0;$$3 = $20;
+ }
+ } else {
+ $$139 = 0;$$3 = $15;
+ }
+ } while(0);
+ $170 = ((($10)) + 8|0);
+ $171 = HEAP32[$170>>2]|0;
+ __gcry_mpi_release($171);
+ $172 = ((($10)) + 12|0);
+ $173 = HEAP32[$172>>2]|0;
+ __gcry_mpi_release($173);
+ $174 = ((($10)) + 16|0);
+ $175 = HEAP32[$174>>2]|0;
+ __gcry_mpi_release($175);
+ $176 = HEAP32[$5>>2]|0;
+ __gcry_mpi_release($176);
+ $177 = ((($10)) + 20|0);
+ __gcry_mpi_point_free_parts($177);
+ $178 = ((($10)) + 32|0);
+ $179 = HEAP32[$178>>2]|0;
+ __gcry_mpi_release($179);
+ $180 = ((($10)) + 36|0);
+ $181 = HEAP32[$180>>2]|0;
+ __gcry_mpi_release($181);
+ $182 = HEAP32[$6>>2]|0;
+ __gcry_mpi_release($182);
+ $183 = ((($10)) + 44|0);
+ __gcry_mpi_point_free_parts($183);
+ $184 = HEAP32[$9>>2]|0;
+ __gcry_mpi_release($184);
+ $185 = HEAP32[$7>>2]|0;
+ __gcry_mpi_release($185);
+ $186 = HEAP32[$8>>2]|0;
+ __gcry_mpi_release($186);
+ __gcry_free($$139);
+ $187 = HEAP32[$4>>2]|0;
+ __gcry_sexp_release($187);
+ __gcry_pk_util_free_encoding_ctx($3);
+ $188 = (__gcry_get_debug_flag(1)|0);
+ $189 = ($188|0)==(0);
+ if ($189) {
+ $$0 = $$3;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $190 = ($$3|0)==(0);
+ if ($190) {
+ $192 = 65003;
+ } else {
+ $191 = (_gpg_strerror($$3)|0);
+ $192 = $191;
+ }
+ HEAP32[$vararg_buffer25>>2] = $192;
+ __gcry_log_debug(65008,$vararg_buffer25);
+ $$0 = $$3;
+ STACKTOP = sp;return ($$0|0);
+}
+function _ecc_get_nbits($0) {
+ $0 = $0|0;
+ var $$0 = 0, $$pre = 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, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $1 = sp;
+ HEAP32[$1>>2] = 0;
+ $2 = (__gcry_sexp_find_token($0,64769,1)|0);
+ $3 = ($2|0)==(0|0);
+ if ($3) {
+ $4 = (__gcry_sexp_find_token($0,64745,5)|0);
+ $5 = ($4|0)==(0|0);
+ if ($5) {
+ $$0 = 0;
+ } else {
+ $6 = (__gcry_sexp_nth_string($4,1)|0);
+ __gcry_sexp_release($4);
+ $7 = ($6|0)==(0|0);
+ if ($7) {
+ $$0 = 0;
+ } else {
+ $8 = (__gcry_ecc_fill_in_curve(0,$6,0,$1)|0);
+ $9 = ($8|0)==(0);
+ if (!($9)) {
+ HEAP32[$1>>2] = 0;
+ }
+ __gcry_free($6);
+ $$pre = HEAP32[$1>>2]|0;
+ $$0 = $$pre;
+ }
+ }
+ } else {
+ $10 = (__gcry_sexp_nth_mpi($2,1,5)|0);
+ __gcry_sexp_release($2);
+ $11 = ($10|0)==(0|0);
+ if ($11) {
+ $$0 = 0;
+ } else {
+ $12 = (__gcry_mpi_get_nbits($10)|0);
+ HEAP32[$1>>2] = $12;
+ __gcry_mpi_release($10);
+ $$0 = $12;
+ }
+ }
+ STACKTOP = sp;return ($$0|0);
+}
+function _run_selftests_1814($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $3 = 0, $spec$select = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $3 = ($0|0)==(18);
+ $spec$select = $3 ? 0 : 4;
+ return ($spec$select|0);
+}
+function _compute_keygrip_1815($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $$060 = 0, $$06370 = 0, $$069 = 0, $$164 = 0, $$26782 = 0, $$8 = 0, $$lobit = 0, $$pre = 0, $$pre$phiZ2D = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0;
+ var $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $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;
+ 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, $vararg_buffer = 0, $vararg_buffer18 = 0, $vararg_buffer22 = 0, $vararg_buffer26 = 0, $vararg_buffer30 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0, $vararg_ptr11 = 0, $vararg_ptr12 = 0, $vararg_ptr13 = 0, $vararg_ptr14 = 0, $vararg_ptr15 = 0, $vararg_ptr16 = 0, $vararg_ptr17 = 0, $vararg_ptr2 = 0, $vararg_ptr21 = 0, $vararg_ptr25 = 0, $vararg_ptr29 = 0;
+ var $vararg_ptr3 = 0, $vararg_ptr33 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 192|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(192|0);
+ $vararg_buffer30 = sp + 152|0;
+ $vararg_buffer26 = sp + 144|0;
+ $vararg_buffer22 = sp + 136|0;
+ $vararg_buffer18 = sp + 128|0;
+ $vararg_buffer8 = sp + 96|0;
+ $vararg_buffer = sp + 64|0;
+ $2 = sp + 32|0;
+ $3 = sp + 176|0;
+ $4 = sp + 172|0;
+ $5 = sp + 168|0;
+ $6 = sp;
+ $7 = sp + 164|0;
+ $8 = sp + 160|0;
+ HEAP32[$3>>2] = 0;
+ HEAP32[$4>>2] = 0;
+ HEAP32[$5>>2] = 0;
+ ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;
+ $9 = (__gcry_sexp_find_token($1,64705,0)|0);
+ $10 = ($9|0)==(0|0);
+ do {
+ if ($10) {
+ $11 = ((($2)) + 24|0);
+ $28 = $11;
+ label = 10;
+ } else {
+ $12 = (__gcry_pk_util_parse_flaglist($9,$3,0)|0);
+ $13 = ($12|0)==(0);
+ if ($13) {
+ $$pre = HEAP32[$3>>2]|0;
+ $14 = $$pre & 512;
+ $15 = ($14|0)==(0);
+ $16 = $$pre & 4096;
+ $17 = ($16|0)!=(0);
+ if ($15) {
+ $26 = ((($2)) + 24|0);
+ if (!($17)) {
+ $28 = $26;
+ label = 10;
+ break;
+ }
+ HEAP32[$vararg_buffer18>>2] = $26;
+ $vararg_ptr21 = ((($vararg_buffer18)) + 4|0);
+ HEAP32[$vararg_ptr21>>2] = 0;
+ $27 = (__gcry_sexp_extract_param($1,0,64740,$vararg_buffer18)|0);
+ $$060 = $27;
+ label = 11;
+ break;
+ }
+ $18 = ((($2)) + 4|0);
+ $19 = ((($2)) + 8|0);
+ $20 = ((($2)) + 12|0);
+ $21 = ((($2)) + 16|0);
+ $22 = ((($2)) + 20|0);
+ $23 = ((($2)) + 24|0);
+ if ($17) {
+ HEAP32[$vararg_buffer>>2] = $2;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = $18;
+ $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
+ HEAP32[$vararg_ptr2>>2] = $19;
+ $vararg_ptr3 = ((($vararg_buffer)) + 12|0);
+ HEAP32[$vararg_ptr3>>2] = $20;
+ $vararg_ptr4 = ((($vararg_buffer)) + 16|0);
+ HEAP32[$vararg_ptr4>>2] = $21;
+ $vararg_ptr5 = ((($vararg_buffer)) + 20|0);
+ HEAP32[$vararg_ptr5>>2] = $22;
+ $vararg_ptr6 = ((($vararg_buffer)) + 24|0);
+ HEAP32[$vararg_ptr6>>2] = $23;
+ $vararg_ptr7 = ((($vararg_buffer)) + 28|0);
+ HEAP32[$vararg_ptr7>>2] = 0;
+ $24 = (__gcry_sexp_extract_param($1,0,64711,$vararg_buffer)|0);
+ $$060 = $24;
+ label = 11;
+ break;
+ } else {
+ HEAP32[$vararg_buffer8>>2] = $2;
+ $vararg_ptr11 = ((($vararg_buffer8)) + 4|0);
+ HEAP32[$vararg_ptr11>>2] = $18;
+ $vararg_ptr12 = ((($vararg_buffer8)) + 8|0);
+ HEAP32[$vararg_ptr12>>2] = $19;
+ $vararg_ptr13 = ((($vararg_buffer8)) + 12|0);
+ HEAP32[$vararg_ptr13>>2] = $20;
+ $vararg_ptr14 = ((($vararg_buffer8)) + 16|0);
+ HEAP32[$vararg_ptr14>>2] = $21;
+ $vararg_ptr15 = ((($vararg_buffer8)) + 20|0);
+ HEAP32[$vararg_ptr15>>2] = $22;
+ $vararg_ptr16 = ((($vararg_buffer8)) + 24|0);
+ HEAP32[$vararg_ptr16>>2] = $23;
+ $vararg_ptr17 = ((($vararg_buffer8)) + 28|0);
+ HEAP32[$vararg_ptr17>>2] = 0;
+ $25 = (__gcry_sexp_extract_param($1,0,64726,$vararg_buffer8)|0);
+ $$060 = $25;
+ label = 11;
+ break;
+ }
+ } else {
+ $$069 = $9;$$164 = 0;$$8 = $12;
+ }
+ }
+ } while(0);
+ if ((label|0) == 10) {
+ HEAP32[$vararg_buffer22>>2] = $28;
+ $vararg_ptr25 = ((($vararg_buffer22)) + 4|0);
+ HEAP32[$vararg_ptr25>>2] = 0;
+ $29 = (__gcry_sexp_extract_param($1,0,64743,$vararg_buffer22)|0);
+ $$060 = $29;
+ label = 11;
+ }
+ L14: do {
+ if ((label|0) == 11) {
+ $30 = ($$060|0)==(0);
+ if ($30) {
+ __gcry_sexp_release($9);
+ $31 = (__gcry_sexp_find_token($1,64745,5)|0);
+ $32 = ($31|0)==(0|0);
+ if ($32) {
+ label = 15;
+ } else {
+ $33 = (__gcry_sexp_nth_string($31,1)|0);
+ $34 = ($33|0)==(0|0);
+ if ($34) {
+ label = 15;
+ } else {
+ $35 = ((($2)) + 4|0);
+ $36 = ((($2)) + 8|0);
+ $37 = ((($2)) + 12|0);
+ $38 = ((($2)) + 16|0);
+ $39 = ((($2)) + 20|0);
+ $40 = (__gcry_ecc_update_curve_param($33,$4,$5,$2,$35,$36,$37,$38,$39)|0);
+ $41 = ($40|0)==(0);
+ if ($41) {
+ $$06370 = $33;$$pre$phiZ2D = $2;
+ } else {
+ $$069 = $31;$$164 = $33;$$8 = $40;
+ break;
+ }
+ }
+ }
+ if ((label|0) == 15) {
+ $42 = HEAP32[$3>>2]|0;
+ $43 = $42 >>> 11;
+ $44 = $43 & 2;
+ HEAP32[$4>>2] = $44;
+ $45 = $42 >>> 12;
+ $$lobit = $45 & 1;
+ HEAP32[$5>>2] = $$lobit;
+ $$06370 = 0;$$pre$phiZ2D = $2;
+ }
+ $46 = HEAP32[$$pre$phiZ2D>>2]|0;
+ $47 = ($46|0)==(0|0);
+ if ($47) {
+ $$069 = $31;$$164 = $$06370;$$8 = 68;
+ } else {
+ __gcry_mpi_normalize($46);
+ $48 = ((($2)) + 4|0);
+ $49 = HEAP32[$48>>2]|0;
+ $50 = ($49|0)==(0|0);
+ if ($50) {
+ $$069 = $31;$$164 = $$06370;$$8 = 68;
+ } else {
+ __gcry_mpi_normalize($49);
+ $98 = ((($2)) + 8|0);
+ $99 = HEAP32[$98>>2]|0;
+ $100 = ($99|0)==(0|0);
+ if ($100) {
+ $$069 = $31;$$164 = $$06370;$$8 = 68;
+ } else {
+ __gcry_mpi_normalize($99);
+ $101 = ((($2)) + 12|0);
+ $102 = HEAP32[$101>>2]|0;
+ $103 = ($102|0)==(0|0);
+ if ($103) {
+ $$069 = $31;$$164 = $$06370;$$8 = 68;
+ } else {
+ __gcry_mpi_normalize($102);
+ $104 = ((($2)) + 16|0);
+ $105 = HEAP32[$104>>2]|0;
+ $106 = ($105|0)==(0|0);
+ if ($106) {
+ $$069 = $31;$$164 = $$06370;$$8 = 68;
+ } else {
+ __gcry_mpi_normalize($105);
+ $107 = ((($2)) + 20|0);
+ $108 = HEAP32[$107>>2]|0;
+ $109 = ($108|0)==(0|0);
+ if ($109) {
+ $$069 = $31;$$164 = $$06370;$$8 = 68;
+ } else {
+ __gcry_mpi_normalize($108);
+ $54 = ((($2)) + 24|0);
+ $110 = HEAP32[$54>>2]|0;
+ $111 = ($110|0)==(0|0);
+ if ($111) {
+ $$069 = $31;$$164 = $$06370;$$8 = 68;
+ } else {
+ __gcry_mpi_normalize($110);
+ $112 = HEAP32[$3>>2]|0;
+ $113 = $112 & 4096;
+ $114 = ($113|0)==(0);
+ if (!($114)) {
+ $51 = HEAP32[$5>>2]|0;
+ $52 = ($51|0)==(1);
+ if (!($52)) {
+ $$069 = $31;$$164 = $$06370;$$8 = 69;
+ break;
+ }
+ $53 = HEAP32[$54>>2]|0;
+ $55 = (__gcry_ecc_eddsa_ensure_compact($53,256)|0);
+ $56 = ($55|0)==(0);
+ if (!($56)) {
+ $$069 = $31;$$164 = $$06370;$$8 = $55;
+ break;
+ }
+ }
+ $$26782 = 0;
+ L34: while(1) {
+ $57 = ($$26782|0)==(5);
+ do {
+ if (!($57)) {
+ $58 = (($2) + ($$26782<<2)|0);
+ $59 = HEAP32[$58>>2]|0;
+ $60 = ($59|0)==(0|0);
+ if (!($60)) {
+ $61 = ((($59)) + 12|0);
+ $62 = HEAP32[$61>>2]|0;
+ $63 = $62 & 4;
+ $64 = ($63|0)==(0);
+ if (!($64)) {
+ $65 = (__gcry_mpi_get_opaque($59,$7)|0);
+ $66 = HEAP32[$7>>2]|0;
+ $67 = (($66) + 7)|0;
+ $68 = $67 >>> 3;
+ HEAP32[$7>>2] = $68;
+ $69 = (64751 + ($$26782)|0);
+ $70 = HEAP8[$69>>0]|0;
+ $71 = $70 << 24 >> 24;
+ HEAP32[$vararg_buffer26>>2] = $71;
+ $vararg_ptr29 = ((($vararg_buffer26)) + 4|0);
+ HEAP32[$vararg_ptr29>>2] = $68;
+ (_snprintf($6,30,64758,$vararg_buffer26)|0);
+ $72 = (_strlen($6)|0);
+ __gcry_md_write($0,$6,$72);
+ $73 = HEAP32[$7>>2]|0;
+ __gcry_md_write($0,$65,$73);
+ __gcry_md_write($0,64767,1);
+ break;
+ }
+ }
+ $74 = (__gcry_mpi_get_buffer($59,0,$8,0)|0);
+ $75 = ($74|0)==(0|0);
+ if ($75) {
+ break L34;
+ }
+ $76 = (64751 + ($$26782)|0);
+ $77 = HEAP8[$76>>0]|0;
+ $78 = $77 << 24 >> 24;
+ $79 = HEAP32[$8>>2]|0;
+ HEAP32[$vararg_buffer30>>2] = $78;
+ $vararg_ptr33 = ((($vararg_buffer30)) + 4|0);
+ HEAP32[$vararg_ptr33>>2] = $79;
+ (_snprintf($6,30,64758,$vararg_buffer30)|0);
+ $80 = (_strlen($6)|0);
+ __gcry_md_write($0,$6,$80);
+ $81 = HEAP32[$8>>2]|0;
+ __gcry_md_write($0,$74,$81);
+ __gcry_md_write($0,64767,1);
+ __gcry_free($74);
+ }
+ } while(0);
+ $83 = (($$26782) + 1)|0;
+ $84 = ($83>>>0)<(7);
+ if ($84) {
+ $$26782 = $83;
+ } else {
+ $$069 = $31;$$164 = $$06370;$$8 = 0;
+ break L14;
+ }
+ }
+ $82 = (_gpg_err_code_from_syserror()|0);
+ $$069 = $31;$$164 = $$06370;$$8 = $82;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ } else {
+ $$069 = $9;$$164 = 0;$$8 = $$060;
+ }
+ }
+ } while(0);
+ __gcry_free($$164);
+ __gcry_sexp_release($$069);
+ $85 = HEAP32[$2>>2]|0;
+ __gcry_mpi_release($85);
+ $86 = ((($2)) + 4|0);
+ $87 = HEAP32[$86>>2]|0;
+ __gcry_mpi_release($87);
+ $88 = ((($2)) + 8|0);
+ $89 = HEAP32[$88>>2]|0;
+ __gcry_mpi_release($89);
+ $90 = ((($2)) + 12|0);
+ $91 = HEAP32[$90>>2]|0;
+ __gcry_mpi_release($91);
+ $92 = ((($2)) + 16|0);
+ $93 = HEAP32[$92>>2]|0;
+ __gcry_mpi_release($93);
+ $94 = ((($2)) + 20|0);
+ $95 = HEAP32[$94>>2]|0;
+ __gcry_mpi_release($95);
+ $96 = ((($2)) + 24|0);
+ $97 = HEAP32[$96>>2]|0;
+ __gcry_mpi_release($97);
+ STACKTOP = sp;return ($$8|0);
+}
+function __gcry_hash_selftest_check_one($0,$1,$2,$3,$4,$5) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ $5 = $5|0;
+ var $$022 = 0, $$025 = 0, $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $spec$select = 0, label = 0;
+ var sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 1008|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1008|0);
+ $6 = sp + 1000|0;
+ $7 = sp;
+ $8 = (__gcry_md_get_algo_dlen($0)|0);
+ $9 = ($8|0)==($5|0);
+ if (!($9)) {
+ $$022 = 67478;
+ STACKTOP = sp;return ($$022|0);
+ }
+ $10 = (__gcry_md_open($6,$0,0)|0);
+ $11 = ($10|0)==(0);
+ if (!($11)) {
+ $$022 = 67519;
+ STACKTOP = sp;return ($$022|0);
+ }
+ switch ($1|0) {
+ case 0: {
+ $12 = HEAP32[$6>>2]|0;
+ __gcry_md_write($12,$2,$3);
+ label = 8;
+ break;
+ }
+ case 1: {
+ _memset(($7|0),97,1000)|0;
+ $$025 = 0;
+ while(1) {
+ $13 = HEAP32[$6>>2]|0;
+ __gcry_md_write($13,$7,1000);
+ $14 = (($$025) + 1)|0;
+ $exitcond = ($14|0)==(1000);
+ if ($exitcond) {
+ break;
+ } else {
+ $$025 = $14;
+ }
+ }
+ label = 8;
+ break;
+ }
+ default: {
+ $$1 = 67461;
+ }
+ }
+ if ((label|0) == 8) {
+ $15 = HEAP32[$6>>2]|0;
+ $16 = (__gcry_md_read($15,$0)|0);
+ $17 = (_memcmp($16,$4,$5)|0);
+ $18 = ($17|0)==(0);
+ $spec$select = $18 ? 0 : 67445;
+ $$1 = $spec$select;
+ }
+ $19 = HEAP32[$6>>2]|0;
+ __gcry_md_close($19);
+ $$022 = $$1;
+ STACKTOP = sp;return ($$022|0);
+}
+function __gcry_md_block_write($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$06376$lcssa = 0, $$0637689 = 0, $$077$lcssa = 0, $$07788 = 0, $$1 = 0, $$164 = 0, $$168 = 0, $$2 = 0, $$265 = 0, $$36673 = 0, $$374 = 0, $$lcssa = 0, $$pre = 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, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0;
+ var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0;
+ var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0;
+ var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0;
+ var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0;
+ var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $3 = ((($0)) + 148|0);
+ $4 = HEAP32[$3>>2]|0;
+ $5 = ($4>>>0)>(128);
+ if ($5) {
+ __gcry_bug(67539,112,67553);
+ // unreachable;
+ }
+ $6 = ((($0)) + 152|0);
+ $7 = HEAP32[$6>>2]|0;
+ $8 = ($7|0)==(0|0);
+ if ($8) {
+ return;
+ }
+ $9 = ((($0)) + 144|0);
+ $10 = HEAP32[$9>>2]|0;
+ $11 = ($10|0)==($4|0);
+ if ($11) {
+ $12 = (FUNCTION_TABLE_iiii[$7 & 127]($0,$0,1)|0);
+ ___gcry_burn_stack($12);
+ HEAP32[$9>>2] = 0;
+ $13 = ((($0)) + 128|0);
+ $14 = $13;
+ $15 = $14;
+ $16 = HEAP32[$15>>2]|0;
+ $17 = (($14) + 4)|0;
+ $18 = $17;
+ $19 = HEAP32[$18>>2]|0;
+ $20 = (_i64Add(($16|0),($19|0),1,0)|0);
+ $21 = tempRet0;
+ $22 = $13;
+ $23 = $22;
+ HEAP32[$23>>2] = $20;
+ $24 = (($22) + 4)|0;
+ $25 = $24;
+ HEAP32[$25>>2] = $21;
+ $26 = ($20|0)==(0);
+ $27 = ($21|0)==(0);
+ $28 = $26 & $27;
+ if ($28) {
+ $29 = ((($0)) + 136|0);
+ $30 = $29;
+ $31 = $30;
+ $32 = HEAP32[$31>>2]|0;
+ $33 = (($30) + 4)|0;
+ $34 = $33;
+ $35 = HEAP32[$34>>2]|0;
+ $36 = (_i64Add(($32|0),($35|0),1,0)|0);
+ $37 = tempRet0;
+ $38 = $29;
+ $39 = $38;
+ HEAP32[$39>>2] = $36;
+ $40 = (($38) + 4)|0;
+ $41 = $40;
+ HEAP32[$41>>2] = $37;
+ $44 = 0;
+ } else {
+ $44 = 0;
+ }
+ } else {
+ $44 = $10;
+ }
+ $42 = ($1|0)==(0|0);
+ if ($42) {
+ return;
+ }
+ $43 = ($44|0)==(0);
+ L14: do {
+ if ($43) {
+ $$1 = $2;$$164 = $1;
+ } else {
+ $45 = ($2|0)==(0);
+ L16: do {
+ if (!($45)) {
+ $46 = ($44>>>0)<($4>>>0);
+ if ($46) {
+ $$0637689 = $1;$$07788 = $2;$49 = $44;
+ while(1) {
+ $47 = HEAP8[$$0637689>>0]|0;
+ $48 = (($49) + 1)|0;
+ HEAP32[$9>>2] = $48;
+ $50 = (($0) + ($49)|0);
+ HEAP8[$50>>0] = $47;
+ $51 = (($$07788) + -1)|0;
+ $52 = ($51|0)==(0);
+ if ($52) {
+ break L16;
+ }
+ $53 = ((($$0637689)) + 1|0);
+ $$pre = HEAP32[$9>>2]|0;
+ $54 = ($$pre>>>0)<($4>>>0);
+ if ($54) {
+ $$0637689 = $53;$$07788 = $51;$49 = $$pre;
+ } else {
+ $$06376$lcssa = $53;$$077$lcssa = $51;$$lcssa = $$pre;
+ break;
+ }
+ }
+ } else {
+ $$06376$lcssa = $1;$$077$lcssa = $2;$$lcssa = $44;
+ }
+ $55 = HEAP32[$3>>2]|0;
+ $56 = ($55>>>0)>(128);
+ if ($56) {
+ __gcry_bug(67539,112,67553);
+ // unreachable;
+ }
+ $57 = HEAP32[$6>>2]|0;
+ $58 = ($57|0)!=(0|0);
+ $59 = ($$lcssa|0)==($55|0);
+ $or$cond = $59 & $58;
+ if (!($or$cond)) {
+ $$1 = $$077$lcssa;$$164 = $$06376$lcssa;
+ break L14;
+ }
+ $60 = (FUNCTION_TABLE_iiii[$57 & 127]($0,$0,1)|0);
+ ___gcry_burn_stack($60);
+ HEAP32[$9>>2] = 0;
+ $61 = ((($0)) + 128|0);
+ $62 = $61;
+ $63 = $62;
+ $64 = HEAP32[$63>>2]|0;
+ $65 = (($62) + 4)|0;
+ $66 = $65;
+ $67 = HEAP32[$66>>2]|0;
+ $68 = (_i64Add(($64|0),($67|0),1,0)|0);
+ $69 = tempRet0;
+ $70 = $61;
+ $71 = $70;
+ HEAP32[$71>>2] = $68;
+ $72 = (($70) + 4)|0;
+ $73 = $72;
+ HEAP32[$73>>2] = $69;
+ $74 = ($68|0)==(0);
+ $75 = ($69|0)==(0);
+ $76 = $74 & $75;
+ if (!($76)) {
+ $$1 = $$077$lcssa;$$164 = $$06376$lcssa;
+ break L14;
+ }
+ $77 = ((($0)) + 136|0);
+ $78 = $77;
+ $79 = $78;
+ $80 = HEAP32[$79>>2]|0;
+ $81 = (($78) + 4)|0;
+ $82 = $81;
+ $83 = HEAP32[$82>>2]|0;
+ $84 = (_i64Add(($80|0),($83|0),1,0)|0);
+ $85 = tempRet0;
+ $86 = $77;
+ $87 = $86;
+ HEAP32[$87>>2] = $84;
+ $88 = (($86) + 4)|0;
+ $89 = $88;
+ HEAP32[$89>>2] = $85;
+ $$1 = $$077$lcssa;$$164 = $$06376$lcssa;
+ break L14;
+ }
+ } while(0);
+ $90 = HEAP32[$3>>2]|0;
+ $91 = ($90>>>0)>(128);
+ if ($91) {
+ __gcry_bug(67539,112,67553);
+ // unreachable;
+ }
+ $92 = HEAP32[$6>>2]|0;
+ $93 = ($92|0)==(0|0);
+ if ($93) {
+ return;
+ }
+ $94 = HEAP32[$9>>2]|0;
+ $95 = ($94|0)==($90|0);
+ if (!($95)) {
+ return;
+ }
+ $96 = (FUNCTION_TABLE_iiii[$92 & 127]($0,$0,1)|0);
+ ___gcry_burn_stack($96);
+ HEAP32[$9>>2] = 0;
+ $97 = ((($0)) + 128|0);
+ $98 = $97;
+ $99 = $98;
+ $100 = HEAP32[$99>>2]|0;
+ $101 = (($98) + 4)|0;
+ $102 = $101;
+ $103 = HEAP32[$102>>2]|0;
+ $104 = (_i64Add(($100|0),($103|0),1,0)|0);
+ $105 = tempRet0;
+ $106 = $97;
+ $107 = $106;
+ HEAP32[$107>>2] = $104;
+ $108 = (($106) + 4)|0;
+ $109 = $108;
+ HEAP32[$109>>2] = $105;
+ $110 = ($104|0)==(0);
+ $111 = ($105|0)==(0);
+ $112 = $110 & $111;
+ if (!($112)) {
+ return;
+ }
+ $113 = ((($0)) + 136|0);
+ $114 = $113;
+ $115 = $114;
+ $116 = HEAP32[$115>>2]|0;
+ $117 = (($114) + 4)|0;
+ $118 = $117;
+ $119 = HEAP32[$118>>2]|0;
+ $120 = (_i64Add(($116|0),($119|0),1,0)|0);
+ $121 = tempRet0;
+ $122 = $113;
+ $123 = $122;
+ HEAP32[$123>>2] = $120;
+ $124 = (($122) + 4)|0;
+ $125 = $124;
+ HEAP32[$125>>2] = $121;
+ return;
+ }
+ } while(0);
+ $126 = ($$1>>>0)<($4>>>0);
+ if ($126) {
+ $$168 = 0;$$2 = $$1;$$265 = $$164;
+ } else {
+ $127 = (($$1>>>0) / ($4>>>0))&-1;
+ $128 = HEAP32[$6>>2]|0;
+ $129 = (FUNCTION_TABLE_iiii[$128 & 127]($0,$$164,$127)|0);
+ HEAP32[$9>>2] = 0;
+ $130 = ((($0)) + 128|0);
+ $131 = $130;
+ $132 = $131;
+ $133 = HEAP32[$132>>2]|0;
+ $134 = (($131) + 4)|0;
+ $135 = $134;
+ $136 = HEAP32[$135>>2]|0;
+ $137 = (_i64Add(($133|0),($136|0),($127|0),0)|0);
+ $138 = tempRet0;
+ $139 = ($138>>>0)<(0);
+ $140 = ($137>>>0)<($127>>>0);
+ $141 = ($138|0)==(0);
+ $142 = $141 & $140;
+ $143 = $139 | $142;
+ $144 = $143&1;
+ $145 = ((($0)) + 136|0);
+ $146 = $145;
+ $147 = $146;
+ $148 = HEAP32[$147>>2]|0;
+ $149 = (($146) + 4)|0;
+ $150 = $149;
+ $151 = HEAP32[$150>>2]|0;
+ $152 = (_i64Add(($148|0),($151|0),($144|0),0)|0);
+ $153 = tempRet0;
+ $154 = $145;
+ $155 = $154;
+ HEAP32[$155>>2] = $152;
+ $156 = (($154) + 4)|0;
+ $157 = $156;
+ HEAP32[$157>>2] = $153;
+ $158 = $130;
+ $159 = $158;
+ HEAP32[$159>>2] = $137;
+ $160 = (($158) + 4)|0;
+ $161 = $160;
+ HEAP32[$161>>2] = $138;
+ $162 = Math_imul($127, $4)|0;
+ $163 = (($$1) - ($162))|0;
+ $164 = (($$164) + ($162)|0);
+ $$168 = $129;$$2 = $163;$$265 = $164;
+ }
+ ___gcry_burn_stack($$168);
+ $165 = ($$2|0)==(0);
+ if ($165) {
+ return;
+ }
+ $$36673 = $$265;$$374 = $$2;
+ while(1) {
+ $166 = HEAP32[$9>>2]|0;
+ $167 = ($166>>>0)<($4>>>0);
+ if (!($167)) {
+ label = 31;
+ break;
+ }
+ $168 = ((($$36673)) + 1|0);
+ $169 = HEAP8[$$36673>>0]|0;
+ $170 = (($166) + 1)|0;
+ HEAP32[$9>>2] = $170;
+ $171 = (($0) + ($166)|0);
+ HEAP8[$171>>0] = $169;
+ $172 = (($$374) + -1)|0;
+ $173 = ($172|0)==(0);
+ if ($173) {
+ label = 31;
+ break;
+ } else {
+ $$36673 = $168;$$374 = $172;
+ }
+ }
+ if ((label|0) == 31) {
+ return;
+ }
+}
+function __gcry_poly1305_update($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$0 = 0, $$02434$i = 0, $$02434$i66 = 0, $$02533$i = 0, $$02533$i67 = 0, $$026$i70 = 0, $$028$i69 = 0, $$035$i = 0, $$035$i65 = 0, $$057 = 0, $$1 = 0, $$1$i71 = 0, $$12731$i = 0, $$12731$i$ph = 0, $$12731$i75 = 0, $$12930$i = 0, $$12930$i$ph = 0, $$12930$i76 = 0, $$158 = 0, $$160 = 0;
+ var $$2 = 0, $$232$i = 0, $$232$i$ph = 0, $$232$i74 = 0, $$pre = 0, $$pre81 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0;
+ var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0;
+ var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $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, $9 = 0, $or$cond$i = 0, $or$cond$i61 = 0, $scevgep$i = 0, $scevgep$i62 = 0, $scevgep44$i = 0, $scevgep44$i63 = 0, $spec$select = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $3 = ((($0)) + 3|0);
+ $4 = $3;
+ $5 = $4 & 3;
+ $6 = (0 - ($5))|0;
+ $7 = (($3) + ($6)|0);
+ $8 = ((($0)) + 84|0);
+ $9 = HEAP32[$8>>2]|0;
+ $10 = HEAP32[$9>>2]|0;
+ $11 = ((($0)) + 88|0);
+ $12 = HEAP32[$11>>2]|0;
+ $13 = ($12|0)==(0);
+ do {
+ if ($13) {
+ $$0 = $1;$$057 = $2;$$160 = 0;
+ } else {
+ $14 = (($10) - ($12))|0;
+ $15 = ($14>>>0)>($2>>>0);
+ $spec$select = $15 ? $2 : $14;
+ $16 = (((($0)) + 68|0) + ($12)|0);
+ $17 = $16;
+ $18 = $1;
+ $19 = $17 | $18;
+ $20 = $19 & 3;
+ $21 = ($20|0)==(0);
+ $22 = ($spec$select>>>0)>(3);
+ $or$cond$i61 = $22 & $21;
+ if ($or$cond$i61) {
+ $23 = (($spec$select) + -4)|0;
+ $24 = $23 & -4;
+ $25 = (($24) + 4)|0;
+ $scevgep$i62 = (($1) + ($25)|0);
+ $$02434$i66 = $1;$$02533$i67 = $16;$$035$i65 = $spec$select;
+ while(1) {
+ $26 = ((($$02434$i66)) + 4|0);
+ $27 = HEAP32[$$02434$i66>>2]|0;
+ $28 = ((($$02533$i67)) + 4|0);
+ HEAP32[$$02533$i67>>2] = $27;
+ $29 = (($$035$i65) + -4)|0;
+ $30 = ($29>>>0)>(3);
+ if ($30) {
+ $$02434$i66 = $26;$$02533$i67 = $28;$$035$i65 = $29;
+ } else {
+ break;
+ }
+ }
+ $scevgep44$i63 = (($16) + ($25)|0);
+ $31 = (($23) - ($24))|0;
+ $$026$i70 = $scevgep$i62;$$028$i69 = $scevgep44$i63;$$1$i71 = $31;
+ } else {
+ $$026$i70 = $1;$$028$i69 = $16;$$1$i71 = $spec$select;
+ }
+ $32 = ($$1$i71|0)==(0);
+ if ($32) {
+ $39 = $12;
+ } else {
+ $$12731$i75 = $$026$i70;$$12930$i76 = $$028$i69;$$232$i74 = $$1$i71;
+ while(1) {
+ $33 = ((($$12731$i75)) + 1|0);
+ $34 = HEAP8[$$12731$i75>>0]|0;
+ $35 = ((($$12930$i76)) + 1|0);
+ HEAP8[$$12930$i76>>0] = $34;
+ $36 = (($$232$i74) + -1)|0;
+ $37 = ($36|0)==(0);
+ if ($37) {
+ break;
+ } else {
+ $$12731$i75 = $33;$$12930$i76 = $35;$$232$i74 = $36;
+ }
+ }
+ $$pre = HEAP32[$11>>2]|0;
+ $39 = $$pre;
+ }
+ $38 = (($39) + ($spec$select))|0;
+ HEAP32[$11>>2] = $38;
+ $40 = ($38>>>0)<($10>>>0);
+ if ($40) {
+ return;
+ } else {
+ $41 = (($1) + ($spec$select)|0);
+ $42 = (($2) - ($spec$select))|0;
+ $43 = ((($0)) + 68|0);
+ $44 = HEAP32[$8>>2]|0;
+ $45 = ((($44)) + 8|0);
+ $46 = HEAP32[$45>>2]|0;
+ $47 = (FUNCTION_TABLE_iiii[$46 & 127]($7,$43,$10)|0);
+ HEAP32[$11>>2] = 0;
+ $$0 = $41;$$057 = $42;$$160 = $47;
+ break;
+ }
+ }
+ } while(0);
+ $48 = ($$057>>>0)<($10>>>0);
+ $49 = (0 - ($10))|0;
+ $50 = $$057 & $49;
+ if ($48) {
+ $$1 = $$0;$$158 = $$057;$$2 = $$160;
+ } else {
+ $51 = (($$057) - ($50))|0;
+ $52 = (($$0) + ($50)|0);
+ $53 = HEAP32[$8>>2]|0;
+ $54 = ((($53)) + 8|0);
+ $55 = HEAP32[$54>>2]|0;
+ $56 = (FUNCTION_TABLE_iiii[$55 & 127]($7,$$0,$50)|0);
+ $$1 = $52;$$158 = $51;$$2 = $56;
+ }
+ $57 = ($$158|0)==(0);
+ if (!($57)) {
+ $58 = HEAP32[$11>>2]|0;
+ $59 = (((($0)) + 68|0) + ($58)|0);
+ $60 = $59;
+ $61 = $$1;
+ $62 = $60 | $61;
+ $63 = $62 & 3;
+ $64 = ($63|0)==(0);
+ $65 = ($$158>>>0)>(3);
+ $or$cond$i = $65 & $64;
+ if ($or$cond$i) {
+ $66 = (($$158) + -4)|0;
+ $67 = $66 & -4;
+ $68 = (($67) + 4)|0;
+ $scevgep$i = (($$1) + ($68)|0);
+ $$02434$i = $$1;$$02533$i = $59;$$035$i = $$158;
+ while(1) {
+ $69 = ((($$02434$i)) + 4|0);
+ $70 = HEAP32[$$02434$i>>2]|0;
+ $71 = ((($$02533$i)) + 4|0);
+ HEAP32[$$02533$i>>2] = $70;
+ $72 = (($$035$i) + -4)|0;
+ $73 = ($72>>>0)>(3);
+ if ($73) {
+ $$02434$i = $69;$$02533$i = $71;$$035$i = $72;
+ } else {
+ break;
+ }
+ }
+ $scevgep44$i = (($59) + ($68)|0);
+ $74 = (($66) - ($67))|0;
+ $75 = ($74|0)==(0);
+ if ($75) {
+ $82 = $58;
+ } else {
+ $$12731$i$ph = $scevgep$i;$$12930$i$ph = $scevgep44$i;$$232$i$ph = $74;
+ label = 19;
+ }
+ } else {
+ $$12731$i$ph = $$1;$$12930$i$ph = $59;$$232$i$ph = $$158;
+ label = 19;
+ }
+ if ((label|0) == 19) {
+ $$12731$i = $$12731$i$ph;$$12930$i = $$12930$i$ph;$$232$i = $$232$i$ph;
+ while(1) {
+ $76 = ((($$12731$i)) + 1|0);
+ $77 = HEAP8[$$12731$i>>0]|0;
+ $78 = ((($$12930$i)) + 1|0);
+ HEAP8[$$12930$i>>0] = $77;
+ $79 = (($$232$i) + -1)|0;
+ $80 = ($79|0)==(0);
+ if ($80) {
+ break;
+ } else {
+ $$12731$i = $76;$$12930$i = $78;$$232$i = $79;
+ }
+ }
+ $$pre81 = HEAP32[$11>>2]|0;
+ $82 = $$pre81;
+ }
+ $81 = (($82) + ($$158))|0;
+ HEAP32[$11>>2] = $81;
+ }
+ $83 = ($$2|0)==(0);
+ if ($83) {
+ return;
+ }
+ ___gcry_burn_stack($$2);
+ return;
+}
+function __gcry_poly1305_init($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$0 = 0, $$015$i56 = 0, $$016$i = 0, $$036$lcssa64 = 0, $$03648 = 0, $$037$lcssa63 = 0, $$03747 = 0, $$1 = 0, $$138 = 0, $$2 = 0, $$239 = 0, $$34045 = 0, $$346 = 0, $$pre = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0;
+ var $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0;
+ var $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0;
+ var $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0;
+ var $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0;
+ var $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0;
+ var $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
+ var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
+ var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
+ var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0;
+ var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $scevgep = 0;
+ var $spec$select = 0, $vararg_buffer = 0, dest = 0, label = 0, sp = 0, stop = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 528|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(528|0);
+ $vararg_buffer = sp + 304|0;
+ $3 = sp + 436|0;
+ $4 = sp + 344|0;
+ $5 = sp + 272|0;
+ $6 = sp + 16|0;
+ $7 = sp;
+ $8 = sp + 312|0;
+ $9 = HEAP32[18129]|0;
+ $10 = ($9|0)==(0);
+ if ($10) {
+ HEAP32[18129] = 1;
+ dest=$3; stop=dest+92|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
+ dest=$4; stop=dest+92|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
+ ;HEAP32[$7>>2]=0|0;HEAP32[$7+4>>2]=0|0;HEAP32[$7+8>>2]=0|0;HEAP32[$7+12>>2]=0|0;
+ _poly1305_auth($7,16288,131,16432);
+ $11 = (_memcmp(16464,$7,16)|0);
+ $12 = ($11|0)==(0);
+ if ($12) {
+ ;HEAP32[$7>>2]=0|0;HEAP32[$7+4>>2]=0|0;HEAP32[$7+8>>2]=0|0;HEAP32[$7+12>>2]=0|0;
+ (__gcry_poly1305_init($3,16432,32)|0);
+ __gcry_poly1305_update($3,16288,32);
+ __gcry_poly1305_update($3,(16320),64);
+ __gcry_poly1305_update($3,(16384),16);
+ __gcry_poly1305_update($3,(16400),8);
+ __gcry_poly1305_update($3,(16408),4);
+ __gcry_poly1305_update($3,(16412),2);
+ __gcry_poly1305_update($3,(16414),1);
+ __gcry_poly1305_update($3,(16415),1);
+ __gcry_poly1305_update($3,(16416),1);
+ __gcry_poly1305_update($3,(16417),1);
+ __gcry_poly1305_update($3,(16418),1);
+ $13 = ((($3)) + 3|0);
+ $14 = $13;
+ $15 = $14 & 3;
+ $16 = (0 - ($15))|0;
+ $17 = (($13) + ($16)|0);
+ $18 = ((($3)) + 84|0);
+ $19 = HEAP32[$18>>2]|0;
+ $20 = ((($19)) + 12|0);
+ $21 = HEAP32[$20>>2]|0;
+ $22 = ((($3)) + 68|0);
+ $23 = ((($3)) + 88|0);
+ $24 = HEAP32[$23>>2]|0;
+ $25 = (FUNCTION_TABLE_iiiii[$21 & 127]($17,$22,$24,$7)|0);
+ ___gcry_burn_stack($25);
+ $26 = (_memcmp(16464,$7,16)|0);
+ $27 = ($26|0)==(0);
+ if ($27) {
+ ;HEAP32[$7>>2]=0|0;HEAP32[$7+4>>2]=0|0;HEAP32[$7+8>>2]=0|0;HEAP32[$7+12>>2]=0|0;
+ _poly1305_auth($7,16480,16,16496);
+ $28 = (_memcmp(16528,$7,16)|0);
+ $29 = ($28|0)==(0);
+ if ($29) {
+ (__gcry_poly1305_init($4,16544,32)|0);
+ $$015$i56 = 0;
+ while(1) {
+ $30 = $$015$i56&255;
+ _memset(($5|0),($30|0),32)|0;
+ $31 = ($$015$i56|0)==(0);
+ if (!($31)) {
+ _memset(($6|0),($30|0),($$015$i56|0))|0;
+ }
+ _poly1305_auth($7,$6,$$015$i56,$5);
+ __gcry_poly1305_update($4,$7,16);
+ $32 = (($$015$i56) + 1)|0;
+ $exitcond = ($32|0)==(256);
+ if ($exitcond) {
+ break;
+ } else {
+ $$015$i56 = $32;
+ }
+ }
+ $33 = ((($4)) + 3|0);
+ $34 = $33;
+ $35 = $34 & 3;
+ $36 = (0 - ($35))|0;
+ $37 = (($33) + ($36)|0);
+ $38 = ((($4)) + 84|0);
+ $39 = HEAP32[$38>>2]|0;
+ $40 = ((($39)) + 12|0);
+ $41 = HEAP32[$40>>2]|0;
+ $42 = ((($4)) + 68|0);
+ $43 = ((($4)) + 88|0);
+ $44 = HEAP32[$43>>2]|0;
+ $45 = (FUNCTION_TABLE_iiiii[$41 & 127]($37,$42,$44,$7)|0);
+ ___gcry_burn_stack($45);
+ $46 = (_memcmp(16576,$7,16)|0);
+ $47 = ($46|0)==(0);
+ $spec$select = $47 ? 0 : 67574;
+ $$016$i = $spec$select;
+ } else {
+ $$016$i = 67646;
+ }
+ } else {
+ $$016$i = 67622;
+ }
+ } else {
+ $$016$i = 67598;
+ }
+ HEAP32[18130] = $$016$i;
+ $48 = ($$016$i|0)==(0|0);
+ if (!($48)) {
+ HEAP32[$vararg_buffer>>2] = $$016$i;
+ __gcry_log_error(67670,$vararg_buffer);
+ }
+ }
+ $49 = ($2|0)==(32);
+ if (!($49)) {
+ $$0 = 44;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $50 = HEAP32[18130]|0;
+ $51 = ($50|0)==(0|0);
+ if (!($51)) {
+ $$0 = 50;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $52 = ((($0)) + 84|0);
+ HEAP32[$52>>2] = 40192;
+ $53 = $8;
+ $54 = $1;
+ $55 = $54 & 3;
+ $56 = ($55|0)==(0);
+ if ($56) {
+ $57 = ((($1)) + 4|0);
+ $58 = HEAP32[$1>>2]|0;
+ $59 = ((($8)) + 4|0);
+ HEAP32[$8>>2] = $58;
+ $60 = ((($1)) + 8|0);
+ $61 = HEAP32[$57>>2]|0;
+ $62 = ((($8)) + 8|0);
+ HEAP32[$59>>2] = $61;
+ $63 = ((($1)) + 12|0);
+ $64 = HEAP32[$60>>2]|0;
+ $65 = ((($8)) + 12|0);
+ HEAP32[$62>>2] = $64;
+ $66 = ((($1)) + 16|0);
+ $67 = HEAP32[$63>>2]|0;
+ $68 = ((($8)) + 16|0);
+ HEAP32[$65>>2] = $67;
+ $69 = ((($1)) + 20|0);
+ $70 = HEAP32[$66>>2]|0;
+ $71 = ((($8)) + 20|0);
+ HEAP32[$68>>2] = $70;
+ $72 = ((($1)) + 24|0);
+ $73 = HEAP32[$69>>2]|0;
+ $74 = ((($8)) + 24|0);
+ HEAP32[$71>>2] = $73;
+ $75 = ((($1)) + 28|0);
+ $76 = HEAP32[$72>>2]|0;
+ $77 = ((($8)) + 28|0);
+ HEAP32[$74>>2] = $76;
+ $78 = HEAP32[$75>>2]|0;
+ HEAP32[$77>>2] = $78;
+ $180 = 40192;
+ } else {
+ $79 = ((($1)) + 1|0);
+ $80 = HEAP8[$1>>0]|0;
+ $81 = ((($8)) + 1|0);
+ HEAP8[$8>>0] = $80;
+ $82 = ((($1)) + 2|0);
+ $83 = HEAP8[$79>>0]|0;
+ $84 = ((($8)) + 2|0);
+ HEAP8[$81>>0] = $83;
+ $85 = ((($1)) + 3|0);
+ $86 = HEAP8[$82>>0]|0;
+ $87 = ((($8)) + 3|0);
+ HEAP8[$84>>0] = $86;
+ $88 = ((($1)) + 4|0);
+ $89 = HEAP8[$85>>0]|0;
+ $90 = ((($8)) + 4|0);
+ HEAP8[$87>>0] = $89;
+ $91 = ((($1)) + 5|0);
+ $92 = HEAP8[$88>>0]|0;
+ $93 = ((($8)) + 5|0);
+ HEAP8[$90>>0] = $92;
+ $94 = ((($1)) + 6|0);
+ $95 = HEAP8[$91>>0]|0;
+ $96 = ((($8)) + 6|0);
+ HEAP8[$93>>0] = $95;
+ $97 = ((($1)) + 7|0);
+ $98 = HEAP8[$94>>0]|0;
+ $99 = ((($8)) + 7|0);
+ HEAP8[$96>>0] = $98;
+ $100 = ((($1)) + 8|0);
+ $101 = HEAP8[$97>>0]|0;
+ $102 = ((($8)) + 8|0);
+ HEAP8[$99>>0] = $101;
+ $103 = ((($1)) + 9|0);
+ $104 = HEAP8[$100>>0]|0;
+ $105 = ((($8)) + 9|0);
+ HEAP8[$102>>0] = $104;
+ $106 = ((($1)) + 10|0);
+ $107 = HEAP8[$103>>0]|0;
+ $108 = ((($8)) + 10|0);
+ HEAP8[$105>>0] = $107;
+ $109 = ((($1)) + 11|0);
+ $110 = HEAP8[$106>>0]|0;
+ $111 = ((($8)) + 11|0);
+ HEAP8[$108>>0] = $110;
+ $112 = ((($1)) + 12|0);
+ $113 = HEAP8[$109>>0]|0;
+ $114 = ((($8)) + 12|0);
+ HEAP8[$111>>0] = $113;
+ $115 = ((($1)) + 13|0);
+ $116 = HEAP8[$112>>0]|0;
+ $117 = ((($8)) + 13|0);
+ HEAP8[$114>>0] = $116;
+ $118 = ((($1)) + 14|0);
+ $119 = HEAP8[$115>>0]|0;
+ $120 = ((($8)) + 14|0);
+ HEAP8[$117>>0] = $119;
+ $121 = ((($1)) + 15|0);
+ $122 = HEAP8[$118>>0]|0;
+ $123 = ((($8)) + 15|0);
+ HEAP8[$120>>0] = $122;
+ $124 = ((($1)) + 16|0);
+ $125 = HEAP8[$121>>0]|0;
+ $126 = ((($8)) + 16|0);
+ HEAP8[$123>>0] = $125;
+ $127 = ((($1)) + 17|0);
+ $128 = HEAP8[$124>>0]|0;
+ $129 = ((($8)) + 17|0);
+ HEAP8[$126>>0] = $128;
+ $130 = ((($1)) + 18|0);
+ $131 = HEAP8[$127>>0]|0;
+ $132 = ((($8)) + 18|0);
+ HEAP8[$129>>0] = $131;
+ $133 = ((($1)) + 19|0);
+ $134 = HEAP8[$130>>0]|0;
+ $135 = ((($8)) + 19|0);
+ HEAP8[$132>>0] = $134;
+ $136 = ((($1)) + 20|0);
+ $137 = HEAP8[$133>>0]|0;
+ $138 = ((($8)) + 20|0);
+ HEAP8[$135>>0] = $137;
+ $139 = ((($1)) + 21|0);
+ $140 = HEAP8[$136>>0]|0;
+ $141 = ((($8)) + 21|0);
+ HEAP8[$138>>0] = $140;
+ $142 = ((($1)) + 22|0);
+ $143 = HEAP8[$139>>0]|0;
+ $144 = ((($8)) + 22|0);
+ HEAP8[$141>>0] = $143;
+ $145 = ((($1)) + 23|0);
+ $146 = HEAP8[$142>>0]|0;
+ $147 = ((($8)) + 23|0);
+ HEAP8[$144>>0] = $146;
+ $148 = ((($1)) + 24|0);
+ $149 = HEAP8[$145>>0]|0;
+ $150 = ((($8)) + 24|0);
+ HEAP8[$147>>0] = $149;
+ $151 = ((($1)) + 25|0);
+ $152 = HEAP8[$148>>0]|0;
+ $153 = ((($8)) + 25|0);
+ HEAP8[$150>>0] = $152;
+ $154 = ((($1)) + 26|0);
+ $155 = HEAP8[$151>>0]|0;
+ $156 = ((($8)) + 26|0);
+ HEAP8[$153>>0] = $155;
+ $157 = ((($1)) + 27|0);
+ $158 = HEAP8[$154>>0]|0;
+ $159 = ((($8)) + 27|0);
+ HEAP8[$156>>0] = $158;
+ $160 = ((($1)) + 28|0);
+ $161 = HEAP8[$157>>0]|0;
+ $162 = ((($8)) + 28|0);
+ HEAP8[$159>>0] = $161;
+ $163 = ((($1)) + 29|0);
+ $164 = HEAP8[$160>>0]|0;
+ $165 = ((($8)) + 29|0);
+ HEAP8[$162>>0] = $164;
+ $166 = ((($1)) + 30|0);
+ $167 = HEAP8[$163>>0]|0;
+ $168 = ((($8)) + 30|0);
+ HEAP8[$165>>0] = $167;
+ $169 = ((($1)) + 31|0);
+ $170 = HEAP8[$166>>0]|0;
+ $171 = ((($8)) + 31|0);
+ HEAP8[$168>>0] = $170;
+ $172 = HEAP8[$169>>0]|0;
+ HEAP8[$171>>0] = $172;
+ $$pre = HEAP32[$52>>2]|0;
+ $180 = $$pre;
+ }
+ $173 = ((($0)) + 3|0);
+ $174 = $173;
+ $175 = $174 & 3;
+ $176 = (0 - ($175))|0;
+ $177 = (($173) + ($176)|0);
+ $178 = ((($0)) + 88|0);
+ HEAP32[$178>>2] = 0;
+ $179 = ((($180)) + 4|0);
+ $181 = HEAP32[$179>>2]|0;
+ FUNCTION_TABLE_vii[$181 & 63]($177,$8);
+ $182 = $53 & 4;
+ $183 = ($182|0)==(0);
+ if ($183) {
+ $$036$lcssa64 = 32;$$037$lcssa63 = $8;
+ label = 21;
+ } else {
+ $$03648 = 32;$$03747 = $8;
+ while(1) {
+ HEAP8[$$03747>>0] = 0;
+ $184 = ((($$03747)) + 1|0);
+ $185 = (($$03648) + -1)|0;
+ $186 = $184;
+ $187 = $186 & 7;
+ $188 = ($187|0)!=(0);
+ $189 = ($185|0)!=(0);
+ $190 = $189 & $188;
+ if ($190) {
+ $$03648 = $185;$$03747 = $184;
+ } else {
+ break;
+ }
+ }
+ $191 = ($185>>>0)<(8);
+ if ($191) {
+ $$2 = $185;$$239 = $184;
+ } else {
+ $$036$lcssa64 = $185;$$037$lcssa63 = $184;
+ label = 21;
+ }
+ }
+ if ((label|0) == 21) {
+ $192 = (($$036$lcssa64) + -8)|0;
+ $193 = $192 & -8;
+ $194 = (($193) + 8)|0;
+ $$1 = $$036$lcssa64;$$138 = $$037$lcssa63;
+ while(1) {
+ $195 = $$138;
+ $196 = $195;
+ HEAP32[$196>>2] = 0;
+ $197 = (($195) + 4)|0;
+ $198 = $197;
+ HEAP32[$198>>2] = 0;
+ $199 = (($$1) + -8)|0;
+ $200 = ((($$138)) + 8|0);
+ $201 = ($199>>>0)>(7);
+ if ($201) {
+ $$1 = $199;$$138 = $200;
+ } else {
+ break;
+ }
+ }
+ $202 = (($192) - ($193))|0;
+ $scevgep = (($$037$lcssa63) + ($194)|0);
+ $$2 = $202;$$239 = $scevgep;
+ }
+ $203 = ($$2|0)==(0);
+ if ($203) {
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $$34045 = $$239;$$346 = $$2;
+ while(1) {
+ HEAP8[$$34045>>0] = 0;
+ $204 = ((($$34045)) + 1|0);
+ $205 = (($$346) + -1)|0;
+ $206 = ($205|0)==(0);
+ if ($206) {
+ $$0 = 0;
+ break;
+ } else {
+ $$34045 = $204;$$346 = $205;
+ }
+ }
+ STACKTOP = sp;return ($$0|0);
+}
+function _poly1305_auth($0,$1,$2,$3) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ var $$0$lcssa49 = 0, $$032$lcssa48 = 0, $$03239 = 0, $$040 = 0, $$1 = 0, $$133 = 0, $$2 = 0, $$234 = 0, $$33537 = 0, $$338 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0;
+ var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0;
+ var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $scevgep = 0, dest = 0, label = 0, sp = 0, stop = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0);
+ $4 = sp;
+ dest=$4; stop=dest+92|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
+ (__gcry_poly1305_init($4,$3,32)|0);
+ __gcry_poly1305_update($4,$1,$2);
+ $5 = ((($4)) + 3|0);
+ $6 = $5;
+ $7 = $6 & 3;
+ $8 = (0 - ($7))|0;
+ $9 = (($5) + ($8)|0);
+ $10 = ((($4)) + 84|0);
+ $11 = HEAP32[$10>>2]|0;
+ $12 = ((($11)) + 12|0);
+ $13 = HEAP32[$12>>2]|0;
+ $14 = ((($4)) + 68|0);
+ $15 = ((($4)) + 88|0);
+ $16 = HEAP32[$15>>2]|0;
+ $17 = (FUNCTION_TABLE_iiiii[$13 & 127]($9,$14,$16,$0)|0);
+ ___gcry_burn_stack($17);
+ $18 = $4;
+ $19 = $18 & 4;
+ $20 = ($19|0)==(0);
+ if ($20) {
+ $$0$lcssa49 = $4;$$032$lcssa48 = 92;
+ label = 5;
+ } else {
+ $$03239 = 92;$$040 = $4;
+ while(1) {
+ HEAP8[$$040>>0] = 0;
+ $21 = ((($$040)) + 1|0);
+ $22 = (($$03239) + -1)|0;
+ $23 = $21;
+ $24 = $23 & 7;
+ $25 = ($24|0)!=(0);
+ $26 = ($22|0)!=(0);
+ $27 = $26 & $25;
+ if ($27) {
+ $$03239 = $22;$$040 = $21;
+ } else {
+ break;
+ }
+ }
+ $28 = ($22>>>0)<(8);
+ if ($28) {
+ $$2 = $21;$$234 = $22;
+ } else {
+ $$0$lcssa49 = $21;$$032$lcssa48 = $22;
+ label = 5;
+ }
+ }
+ if ((label|0) == 5) {
+ $29 = (($$032$lcssa48) + -8)|0;
+ $30 = $29 & -8;
+ $31 = (($30) + 8)|0;
+ $$1 = $$0$lcssa49;$$133 = $$032$lcssa48;
+ while(1) {
+ $32 = $$1;
+ $33 = $32;
+ HEAP32[$33>>2] = 0;
+ $34 = (($32) + 4)|0;
+ $35 = $34;
+ HEAP32[$35>>2] = 0;
+ $36 = (($$133) + -8)|0;
+ $37 = ((($$1)) + 8|0);
+ $38 = ($36>>>0)>(7);
+ if ($38) {
+ $$1 = $37;$$133 = $36;
+ } else {
+ break;
+ }
+ }
+ $39 = (($29) - ($30))|0;
+ $scevgep = (($$0$lcssa49) + ($31)|0);
+ $$2 = $scevgep;$$234 = $39;
+ }
+ $40 = ($$234|0)==(0);
+ if ($40) {
+ STACKTOP = sp;return;
+ }
+ $$33537 = $$234;$$338 = $$2;
+ while(1) {
+ HEAP8[$$338>>0] = 0;
+ $41 = ((($$338)) + 1|0);
+ $42 = (($$33537) + -1)|0;
+ $43 = ($42|0)==(0);
+ if ($43) {
+ break;
+ } else {
+ $$33537 = $42;$$338 = $41;
+ }
+ }
+ STACKTOP = sp;return;
+}
+function _poly1305_init_ext_ref32($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $$masked = 0, $$masked26 = 0, $$masked27 = 0, $$masked28 = 0, $$masked29 = 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;
+ var $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0;
+ var $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0;
+ var $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0;
+ var $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0;
+ var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0;
+ var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0;
+ var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0;
+ var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $2 = ((($1)) + 3|0);
+ $3 = HEAP8[$2>>0]|0;
+ $4 = $3&255;
+ $5 = $4 << 24;
+ $6 = ((($1)) + 2|0);
+ $7 = HEAP8[$6>>0]|0;
+ $8 = $7&255;
+ $9 = $8 << 16;
+ $10 = ((($1)) + 1|0);
+ $11 = HEAP8[$10>>0]|0;
+ $12 = $11&255;
+ $13 = $12 << 8;
+ $14 = HEAP8[$1>>0]|0;
+ $15 = $14&255;
+ $$masked27 = $5 & 50331648;
+ $$masked26 = $9 | $$masked27;
+ $$masked = $$masked26 | $13;
+ $16 = $$masked | $15;
+ HEAP32[$0>>2] = $16;
+ $17 = ((($1)) + 6|0);
+ $18 = HEAP8[$17>>0]|0;
+ $19 = $18&255;
+ $20 = $19 << 24;
+ $21 = ((($1)) + 5|0);
+ $22 = HEAP8[$21>>0]|0;
+ $23 = $22&255;
+ $24 = $23 << 16;
+ $25 = $24 | $20;
+ $26 = ((($1)) + 4|0);
+ $27 = HEAP8[$26>>0]|0;
+ $28 = $27&255;
+ $29 = $28 << 8;
+ $30 = $25 | $29;
+ $31 = HEAP8[$2>>0]|0;
+ $32 = $31&255;
+ $33 = $30 | $32;
+ $34 = $33 >>> 2;
+ $35 = $34 & 67108611;
+ $36 = ((($0)) + 4|0);
+ HEAP32[$36>>2] = $35;
+ $37 = ((($1)) + 9|0);
+ $38 = HEAP8[$37>>0]|0;
+ $39 = $38&255;
+ $40 = $39 << 24;
+ $41 = ((($1)) + 8|0);
+ $42 = HEAP8[$41>>0]|0;
+ $43 = $42&255;
+ $44 = $43 << 16;
+ $45 = $44 | $40;
+ $46 = ((($1)) + 7|0);
+ $47 = HEAP8[$46>>0]|0;
+ $48 = $47&255;
+ $49 = $48 << 8;
+ $50 = $45 | $49;
+ $51 = HEAP8[$17>>0]|0;
+ $52 = $51&255;
+ $53 = $50 | $52;
+ $54 = $53 >>> 4;
+ $55 = $54 & 67092735;
+ $56 = ((($0)) + 8|0);
+ HEAP32[$56>>2] = $55;
+ $57 = ((($1)) + 12|0);
+ $58 = HEAP8[$57>>0]|0;
+ $59 = $58&255;
+ $60 = $59 << 24;
+ $61 = ((($1)) + 11|0);
+ $62 = HEAP8[$61>>0]|0;
+ $63 = $62&255;
+ $64 = $63 << 16;
+ $65 = $64 | $60;
+ $66 = ((($1)) + 10|0);
+ $67 = HEAP8[$66>>0]|0;
+ $68 = $67&255;
+ $69 = $68 << 8;
+ $70 = $65 | $69;
+ $71 = HEAP8[$37>>0]|0;
+ $72 = $71&255;
+ $73 = $70 | $72;
+ $74 = $73 >>> 6;
+ $75 = $74 & 66076671;
+ $76 = ((($0)) + 12|0);
+ HEAP32[$76>>2] = $75;
+ $77 = ((($1)) + 15|0);
+ $78 = HEAP8[$77>>0]|0;
+ $79 = $78&255;
+ $80 = $79 << 16;
+ $81 = ((($1)) + 14|0);
+ $82 = HEAP8[$81>>0]|0;
+ $83 = $82&255;
+ $84 = $83 << 8;
+ $85 = ((($1)) + 13|0);
+ $86 = HEAP8[$85>>0]|0;
+ $87 = $86&255;
+ $$masked29 = $80 & 983040;
+ $$masked28 = $84 | $$masked29;
+ $88 = $$masked28 | $87;
+ $89 = ((($0)) + 16|0);
+ HEAP32[$89>>2] = $88;
+ $90 = ((($0)) + 20|0);
+ $91 = ((($1)) + 16|0);
+ $92 = ((($1)) + 19|0);
+ ;HEAP32[$90>>2]=0|0;HEAP32[$90+4>>2]=0|0;HEAP32[$90+8>>2]=0|0;HEAP32[$90+12>>2]=0|0;HEAP32[$90+16>>2]=0|0;
+ $93 = HEAP8[$92>>0]|0;
+ $94 = $93&255;
+ $95 = $94 << 24;
+ $96 = ((($1)) + 18|0);
+ $97 = HEAP8[$96>>0]|0;
+ $98 = $97&255;
+ $99 = $98 << 16;
+ $100 = $99 | $95;
+ $101 = ((($1)) + 17|0);
+ $102 = HEAP8[$101>>0]|0;
+ $103 = $102&255;
+ $104 = $103 << 8;
+ $105 = $100 | $104;
+ $106 = HEAP8[$91>>0]|0;
+ $107 = $106&255;
+ $108 = $105 | $107;
+ $109 = ((($0)) + 40|0);
+ HEAP32[$109>>2] = $108;
+ $110 = ((($1)) + 20|0);
+ $111 = ((($1)) + 23|0);
+ $112 = HEAP8[$111>>0]|0;
+ $113 = $112&255;
+ $114 = $113 << 24;
+ $115 = ((($1)) + 22|0);
+ $116 = HEAP8[$115>>0]|0;
+ $117 = $116&255;
+ $118 = $117 << 16;
+ $119 = $118 | $114;
+ $120 = ((($1)) + 21|0);
+ $121 = HEAP8[$120>>0]|0;
+ $122 = $121&255;
+ $123 = $122 << 8;
+ $124 = $119 | $123;
+ $125 = HEAP8[$110>>0]|0;
+ $126 = $125&255;
+ $127 = $124 | $126;
+ $128 = ((($0)) + 44|0);
+ HEAP32[$128>>2] = $127;
+ $129 = ((($1)) + 24|0);
+ $130 = ((($1)) + 27|0);
+ $131 = HEAP8[$130>>0]|0;
+ $132 = $131&255;
+ $133 = $132 << 24;
+ $134 = ((($1)) + 26|0);
+ $135 = HEAP8[$134>>0]|0;
+ $136 = $135&255;
+ $137 = $136 << 16;
+ $138 = $137 | $133;
+ $139 = ((($1)) + 25|0);
+ $140 = HEAP8[$139>>0]|0;
+ $141 = $140&255;
+ $142 = $141 << 8;
+ $143 = $138 | $142;
+ $144 = HEAP8[$129>>0]|0;
+ $145 = $144&255;
+ $146 = $143 | $145;
+ $147 = ((($0)) + 48|0);
+ HEAP32[$147>>2] = $146;
+ $148 = ((($1)) + 28|0);
+ $149 = ((($1)) + 31|0);
+ $150 = HEAP8[$149>>0]|0;
+ $151 = $150&255;
+ $152 = $151 << 24;
+ $153 = ((($1)) + 30|0);
+ $154 = HEAP8[$153>>0]|0;
+ $155 = $154&255;
+ $156 = $155 << 16;
+ $157 = $156 | $152;
+ $158 = ((($1)) + 29|0);
+ $159 = HEAP8[$158>>0]|0;
+ $160 = $159&255;
+ $161 = $160 << 8;
+ $162 = $157 | $161;
+ $163 = HEAP8[$148>>0]|0;
+ $164 = $163&255;
+ $165 = $162 | $164;
+ $166 = ((($0)) + 52|0);
+ HEAP32[$166>>2] = $165;
+ $167 = ((($0)) + 56|0);
+ HEAP8[$167>>0] = 0;
+ return;
+}
+function _poly1305_blocks_ref32($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$0156169 = 0, $$0157$lcssa = 0, $$0157168 = 0, $$0158$lcssa = 0, $$0158167 = 0, $$0159$lcssa = 0, $$0159166 = 0, $$0160$lcssa = 0, $$0160165 = 0, $$0161$lcssa = 0, $$0161164 = 0, $$0170 = 0, $$masked = 0, $$masked162 = 0, $$masked163 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0;
+ var $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0;
+ var $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, $139 = 0, $14 = 0;
+ var $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, $157 = 0, $158 = 0;
+ var $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, $175 = 0, $176 = 0;
+ var $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, $193 = 0, $194 = 0;
+ var $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0;
+ var $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0;
+ var $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $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, label = 0, sp = 0;
+ sp = STACKTOP;
+ $3 = ((($0)) + 56|0);
+ $4 = HEAP8[$3>>0]|0;
+ $5 = ($4<<24>>24)==(0);
+ $6 = $5 ? 16777216 : 0;
+ $7 = ((($0)) + 4|0);
+ $8 = HEAP32[$7>>2]|0;
+ $9 = ((($0)) + 8|0);
+ $10 = HEAP32[$9>>2]|0;
+ $11 = ((($0)) + 12|0);
+ $12 = HEAP32[$11>>2]|0;
+ $13 = ((($0)) + 16|0);
+ $14 = HEAP32[$13>>2]|0;
+ $15 = ((($0)) + 20|0);
+ $16 = HEAP32[$15>>2]|0;
+ $17 = ((($0)) + 24|0);
+ $18 = HEAP32[$17>>2]|0;
+ $19 = ((($0)) + 28|0);
+ $20 = HEAP32[$19>>2]|0;
+ $21 = ((($0)) + 32|0);
+ $22 = HEAP32[$21>>2]|0;
+ $23 = ((($0)) + 36|0);
+ $24 = HEAP32[$23>>2]|0;
+ $25 = ($2>>>0)>(15);
+ if (!($25)) {
+ $$0157$lcssa = $16;$$0158$lcssa = $18;$$0159$lcssa = $20;$$0160$lcssa = $22;$$0161$lcssa = $24;
+ HEAP32[$15>>2] = $$0157$lcssa;
+ HEAP32[$17>>2] = $$0158$lcssa;
+ HEAP32[$19>>2] = $$0159$lcssa;
+ HEAP32[$21>>2] = $$0160$lcssa;
+ HEAP32[$23>>2] = $$0161$lcssa;
+ return 124;
+ }
+ $26 = ($14*5)|0;
+ $27 = ($12*5)|0;
+ $28 = ($10*5)|0;
+ $29 = ($8*5)|0;
+ $30 = HEAP32[$0>>2]|0;
+ $$0156169 = $2;$$0157168 = $16;$$0158167 = $18;$$0159166 = $20;$$0160165 = $22;$$0161164 = $24;$$0170 = $1;
+ while(1) {
+ $31 = ((($$0170)) + 3|0);
+ $32 = HEAP8[$31>>0]|0;
+ $33 = $32&255;
+ $34 = $33 << 24;
+ $35 = ((($$0170)) + 2|0);
+ $36 = HEAP8[$35>>0]|0;
+ $37 = $36&255;
+ $38 = $37 << 16;
+ $39 = ((($$0170)) + 1|0);
+ $40 = HEAP8[$39>>0]|0;
+ $41 = $40&255;
+ $42 = $41 << 8;
+ $43 = HEAP8[$$0170>>0]|0;
+ $44 = $43&255;
+ $$masked163 = $34 & 50331648;
+ $$masked162 = $38 | $$masked163;
+ $$masked = $$masked162 | $42;
+ $45 = $$masked | $44;
+ $46 = (($45) + ($$0157168))|0;
+ $47 = ((($$0170)) + 6|0);
+ $48 = HEAP8[$47>>0]|0;
+ $49 = $48&255;
+ $50 = $49 << 24;
+ $51 = ((($$0170)) + 5|0);
+ $52 = HEAP8[$51>>0]|0;
+ $53 = $52&255;
+ $54 = $53 << 16;
+ $55 = ((($$0170)) + 4|0);
+ $56 = HEAP8[$55>>0]|0;
+ $57 = $56&255;
+ $58 = $57 << 8;
+ $59 = $50 | $33;
+ $60 = $59 | $54;
+ $61 = $60 | $58;
+ $62 = $61 >>> 2;
+ $63 = $62 & 67108863;
+ $64 = (($63) + ($$0158167))|0;
+ $65 = ((($$0170)) + 9|0);
+ $66 = HEAP8[$65>>0]|0;
+ $67 = $66&255;
+ $68 = $67 << 24;
+ $69 = ((($$0170)) + 8|0);
+ $70 = HEAP8[$69>>0]|0;
+ $71 = $70&255;
+ $72 = $71 << 16;
+ $73 = $72 | $68;
+ $74 = ((($$0170)) + 7|0);
+ $75 = HEAP8[$74>>0]|0;
+ $76 = $75&255;
+ $77 = $76 << 8;
+ $78 = $73 | $77;
+ $79 = $78 | $49;
+ $80 = $79 >>> 4;
+ $81 = $80 & 67108863;
+ $82 = (($81) + ($$0159166))|0;
+ $83 = ((($$0170)) + 12|0);
+ $84 = HEAP8[$83>>0]|0;
+ $85 = $84&255;
+ $86 = $85 << 24;
+ $87 = ((($$0170)) + 11|0);
+ $88 = HEAP8[$87>>0]|0;
+ $89 = $88&255;
+ $90 = $89 << 16;
+ $91 = $90 | $86;
+ $92 = ((($$0170)) + 10|0);
+ $93 = HEAP8[$92>>0]|0;
+ $94 = $93&255;
+ $95 = $94 << 8;
+ $96 = $91 | $95;
+ $97 = $96 | $67;
+ $98 = $97 >>> 6;
+ $99 = (($98) + ($$0160165))|0;
+ $100 = ((($$0170)) + 15|0);
+ $101 = HEAP8[$100>>0]|0;
+ $102 = $101&255;
+ $103 = $102 << 16;
+ $104 = ((($$0170)) + 14|0);
+ $105 = HEAP8[$104>>0]|0;
+ $106 = $105&255;
+ $107 = $106 << 8;
+ $108 = ((($$0170)) + 13|0);
+ $109 = HEAP8[$108>>0]|0;
+ $110 = $109&255;
+ $111 = $103 | $6;
+ $112 = $111 | $107;
+ $113 = $112 | $110;
+ $114 = (($113) + ($$0161164))|0;
+ $115 = (___muldi3(($46|0),0,($30|0),0)|0);
+ $116 = tempRet0;
+ $117 = (___muldi3(($64|0),0,($26|0),0)|0);
+ $118 = tempRet0;
+ $119 = (_i64Add(($117|0),($118|0),($115|0),($116|0))|0);
+ $120 = tempRet0;
+ $121 = (___muldi3(($82|0),0,($27|0),0)|0);
+ $122 = tempRet0;
+ $123 = (_i64Add(($119|0),($120|0),($121|0),($122|0))|0);
+ $124 = tempRet0;
+ $125 = (___muldi3(($99|0),0,($28|0),0)|0);
+ $126 = tempRet0;
+ $127 = (_i64Add(($123|0),($124|0),($125|0),($126|0))|0);
+ $128 = tempRet0;
+ $129 = (___muldi3(($114|0),0,($29|0),0)|0);
+ $130 = tempRet0;
+ $131 = (_i64Add(($127|0),($128|0),($129|0),($130|0))|0);
+ $132 = tempRet0;
+ $133 = (___muldi3(($46|0),0,($8|0),0)|0);
+ $134 = tempRet0;
+ $135 = (___muldi3(($64|0),0,($30|0),0)|0);
+ $136 = tempRet0;
+ $137 = (_i64Add(($135|0),($136|0),($133|0),($134|0))|0);
+ $138 = tempRet0;
+ $139 = (___muldi3(($82|0),0,($26|0),0)|0);
+ $140 = tempRet0;
+ $141 = (_i64Add(($137|0),($138|0),($139|0),($140|0))|0);
+ $142 = tempRet0;
+ $143 = (___muldi3(($99|0),0,($27|0),0)|0);
+ $144 = tempRet0;
+ $145 = (_i64Add(($141|0),($142|0),($143|0),($144|0))|0);
+ $146 = tempRet0;
+ $147 = (___muldi3(($114|0),0,($28|0),0)|0);
+ $148 = tempRet0;
+ $149 = (_i64Add(($145|0),($146|0),($147|0),($148|0))|0);
+ $150 = tempRet0;
+ $151 = (___muldi3(($46|0),0,($10|0),0)|0);
+ $152 = tempRet0;
+ $153 = (___muldi3(($64|0),0,($8|0),0)|0);
+ $154 = tempRet0;
+ $155 = (_i64Add(($153|0),($154|0),($151|0),($152|0))|0);
+ $156 = tempRet0;
+ $157 = (___muldi3(($82|0),0,($30|0),0)|0);
+ $158 = tempRet0;
+ $159 = (_i64Add(($155|0),($156|0),($157|0),($158|0))|0);
+ $160 = tempRet0;
+ $161 = (___muldi3(($99|0),0,($26|0),0)|0);
+ $162 = tempRet0;
+ $163 = (_i64Add(($159|0),($160|0),($161|0),($162|0))|0);
+ $164 = tempRet0;
+ $165 = (___muldi3(($114|0),0,($27|0),0)|0);
+ $166 = tempRet0;
+ $167 = (_i64Add(($163|0),($164|0),($165|0),($166|0))|0);
+ $168 = tempRet0;
+ $169 = (___muldi3(($46|0),0,($12|0),0)|0);
+ $170 = tempRet0;
+ $171 = (___muldi3(($64|0),0,($10|0),0)|0);
+ $172 = tempRet0;
+ $173 = (_i64Add(($171|0),($172|0),($169|0),($170|0))|0);
+ $174 = tempRet0;
+ $175 = (___muldi3(($82|0),0,($8|0),0)|0);
+ $176 = tempRet0;
+ $177 = (_i64Add(($173|0),($174|0),($175|0),($176|0))|0);
+ $178 = tempRet0;
+ $179 = (___muldi3(($99|0),0,($30|0),0)|0);
+ $180 = tempRet0;
+ $181 = (_i64Add(($177|0),($178|0),($179|0),($180|0))|0);
+ $182 = tempRet0;
+ $183 = (___muldi3(($114|0),0,($26|0),0)|0);
+ $184 = tempRet0;
+ $185 = (_i64Add(($181|0),($182|0),($183|0),($184|0))|0);
+ $186 = tempRet0;
+ $187 = (___muldi3(($46|0),0,($14|0),0)|0);
+ $188 = tempRet0;
+ $189 = (___muldi3(($64|0),0,($12|0),0)|0);
+ $190 = tempRet0;
+ $191 = (_i64Add(($189|0),($190|0),($187|0),($188|0))|0);
+ $192 = tempRet0;
+ $193 = (___muldi3(($82|0),0,($10|0),0)|0);
+ $194 = tempRet0;
+ $195 = (_i64Add(($191|0),($192|0),($193|0),($194|0))|0);
+ $196 = tempRet0;
+ $197 = (___muldi3(($99|0),0,($8|0),0)|0);
+ $198 = tempRet0;
+ $199 = (_i64Add(($195|0),($196|0),($197|0),($198|0))|0);
+ $200 = tempRet0;
+ $201 = (___muldi3(($114|0),0,($30|0),0)|0);
+ $202 = tempRet0;
+ $203 = (_i64Add(($199|0),($200|0),($201|0),($202|0))|0);
+ $204 = tempRet0;
+ $205 = (_bitshift64Lshr(($131|0),($132|0),26)|0);
+ $206 = tempRet0;
+ $207 = $131 & 67108863;
+ $208 = (_i64Add(($149|0),($150|0),($205|0),0)|0);
+ $209 = tempRet0;
+ $210 = (_bitshift64Lshr(($208|0),($209|0),26)|0);
+ $211 = tempRet0;
+ $212 = $208 & 67108863;
+ $213 = (_i64Add(($167|0),($168|0),($210|0),0)|0);
+ $214 = tempRet0;
+ $215 = (_bitshift64Lshr(($213|0),($214|0),26)|0);
+ $216 = tempRet0;
+ $217 = $213 & 67108863;
+ $218 = (_i64Add(($185|0),($186|0),($215|0),0)|0);
+ $219 = tempRet0;
+ $220 = (_bitshift64Lshr(($218|0),($219|0),26)|0);
+ $221 = tempRet0;
+ $222 = $218 & 67108863;
+ $223 = (_i64Add(($203|0),($204|0),($220|0),0)|0);
+ $224 = tempRet0;
+ $225 = (_bitshift64Lshr(($223|0),($224|0),26)|0);
+ $226 = tempRet0;
+ $227 = $223 & 67108863;
+ $228 = ($225*5)|0;
+ $229 = (($228) + ($207))|0;
+ $230 = $229 >>> 26;
+ $231 = $229 & 67108863;
+ $232 = (($230) + ($212))|0;
+ $233 = ((($$0170)) + 16|0);
+ $234 = (($$0156169) + -16)|0;
+ $235 = ($234>>>0)>(15);
+ if ($235) {
+ $$0156169 = $234;$$0157168 = $231;$$0158167 = $232;$$0159166 = $217;$$0160165 = $222;$$0161164 = $227;$$0170 = $233;
+ } else {
+ $$0157$lcssa = $231;$$0158$lcssa = $232;$$0159$lcssa = $217;$$0160$lcssa = $222;$$0161$lcssa = $227;
+ break;
+ }
+ }
+ HEAP32[$15>>2] = $$0157$lcssa;
+ HEAP32[$17>>2] = $$0158$lcssa;
+ HEAP32[$19>>2] = $$0159$lcssa;
+ HEAP32[$21>>2] = $$0160$lcssa;
+ HEAP32[$23>>2] = $$0161$lcssa;
+ return 124;
+}
+function _poly1305_finish_ext_ref32($0,$1,$2,$3) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ var $$0156 = 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, $116 = 0;
+ var $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, $134 = 0;
+ var $135 = 0, $136 = 0, $137 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $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, dest = 0, label = 0, sp = 0, stop = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $4 = sp;
+ $5 = ($2|0)==(0);
+ if ($5) {
+ $$0156 = 100;
+ } else {
+ ;HEAP32[$4>>2]=0|0;HEAP32[$4+4>>2]=0|0;HEAP32[$4+8>>2]=0|0;HEAP32[$4+12>>2]=0|0;
+ _memcpy(($4|0),($1|0),($2|0))|0;
+ $6 = (($4) + ($2)|0);
+ HEAP8[$6>>0] = 1;
+ $7 = ((($0)) + 56|0);
+ HEAP8[$7>>0] = 1;
+ (_poly1305_blocks_ref32($0,$4,16)|0);
+ $$0156 = 224;
+ }
+ $8 = ((($0)) + 20|0);
+ $9 = HEAP32[$8>>2]|0;
+ $10 = ((($0)) + 24|0);
+ $11 = HEAP32[$10>>2]|0;
+ $12 = ((($0)) + 28|0);
+ $13 = HEAP32[$12>>2]|0;
+ $14 = ((($0)) + 32|0);
+ $15 = HEAP32[$14>>2]|0;
+ $16 = ((($0)) + 36|0);
+ $17 = HEAP32[$16>>2]|0;
+ $18 = $11 >>> 26;
+ $19 = $11 & 67108863;
+ $20 = (($13) + ($18))|0;
+ $21 = $20 >>> 26;
+ $22 = $20 & 67108863;
+ $23 = (($21) + ($15))|0;
+ $24 = $23 >>> 26;
+ $25 = $23 & 67108863;
+ $26 = (($24) + ($17))|0;
+ $27 = $26 >>> 26;
+ $28 = ($27*5)|0;
+ $29 = (($28) + ($9))|0;
+ $30 = $29 >>> 26;
+ $31 = $29 & 67108863;
+ $32 = (($30) + ($19))|0;
+ $33 = (($31) + 5)|0;
+ $34 = $33 >>> 26;
+ $35 = (($34) + ($32))|0;
+ $36 = $35 >>> 26;
+ $37 = (($36) + ($22))|0;
+ $38 = $37 >>> 26;
+ $39 = (($38) + ($25))|0;
+ $40 = $39 >>> 26;
+ $41 = $26 | -67108864;
+ $42 = (($41) + ($40))|0;
+ $43 = $42 >>> 31;
+ $44 = (($43) + -1)|0;
+ $45 = $44 & 67108863;
+ $46 = $45 & $33;
+ $47 = $45 & $35;
+ $48 = $45 & $37;
+ $49 = $45 & $39;
+ $50 = $44 & $42;
+ $51 = $42 >> 31;
+ $52 = $51 & $31;
+ $53 = $52 | $46;
+ $54 = $51 & $32;
+ $55 = $54 | $47;
+ $56 = $51 & $22;
+ $57 = $56 | $48;
+ $58 = $51 & $25;
+ $59 = $58 | $49;
+ $60 = $51 & $26;
+ $61 = $50 | $60;
+ $62 = $55 << 26;
+ $63 = $53 | $62;
+ $64 = $55 >>> 6;
+ $65 = $57 << 20;
+ $66 = $64 | $65;
+ $67 = $57 >>> 12;
+ $68 = $59 << 14;
+ $69 = $67 | $68;
+ $70 = $59 >>> 18;
+ $71 = $61 << 8;
+ $72 = $71 | $70;
+ $73 = ((($0)) + 40|0);
+ $74 = HEAP32[$73>>2]|0;
+ $75 = (_i64Add(($63|0),0,($74|0),0)|0);
+ $76 = tempRet0;
+ $77 = ((($0)) + 44|0);
+ $78 = HEAP32[$77>>2]|0;
+ $79 = (_i64Add(($66|0),0,($78|0),0)|0);
+ $80 = tempRet0;
+ $81 = (_i64Add(($79|0),($80|0),($76|0),0)|0);
+ $82 = tempRet0;
+ $83 = ((($0)) + 48|0);
+ $84 = HEAP32[$83>>2]|0;
+ $85 = (_i64Add(($69|0),0,($84|0),0)|0);
+ $86 = tempRet0;
+ $87 = (_i64Add(($85|0),($86|0),($82|0),0)|0);
+ $88 = tempRet0;
+ $89 = ((($0)) + 52|0);
+ $90 = HEAP32[$89>>2]|0;
+ $91 = (_i64Add(($72|0),0,($90|0),0)|0);
+ $92 = tempRet0;
+ $93 = (_i64Add(($91|0),($92|0),($88|0),0)|0);
+ $94 = tempRet0;
+ $95 = $75 >>> 24;
+ $96 = $95&255;
+ $97 = ((($3)) + 3|0);
+ HEAP8[$97>>0] = $96;
+ $98 = $75 >>> 16;
+ $99 = $98&255;
+ $100 = ((($3)) + 2|0);
+ HEAP8[$100>>0] = $99;
+ $101 = $75 >>> 8;
+ $102 = $101&255;
+ $103 = ((($3)) + 1|0);
+ HEAP8[$103>>0] = $102;
+ $104 = $75&255;
+ HEAP8[$3>>0] = $104;
+ $105 = ((($3)) + 4|0);
+ $106 = $81 >>> 24;
+ $107 = $106&255;
+ $108 = ((($3)) + 7|0);
+ HEAP8[$108>>0] = $107;
+ $109 = $81 >>> 16;
+ $110 = $109&255;
+ $111 = ((($3)) + 6|0);
+ HEAP8[$111>>0] = $110;
+ $112 = $81 >>> 8;
+ $113 = $112&255;
+ $114 = ((($3)) + 5|0);
+ HEAP8[$114>>0] = $113;
+ $115 = $81&255;
+ HEAP8[$105>>0] = $115;
+ $116 = ((($3)) + 8|0);
+ $117 = $87 >>> 24;
+ $118 = $117&255;
+ $119 = ((($3)) + 11|0);
+ HEAP8[$119>>0] = $118;
+ $120 = $87 >>> 16;
+ $121 = $120&255;
+ $122 = ((($3)) + 10|0);
+ HEAP8[$122>>0] = $121;
+ $123 = $87 >>> 8;
+ $124 = $123&255;
+ $125 = ((($3)) + 9|0);
+ HEAP8[$125>>0] = $124;
+ $126 = $87&255;
+ HEAP8[$116>>0] = $126;
+ $127 = ((($3)) + 12|0);
+ $128 = $93 >>> 24;
+ $129 = $128&255;
+ $130 = ((($3)) + 15|0);
+ HEAP8[$130>>0] = $129;
+ $131 = $93 >>> 16;
+ $132 = $131&255;
+ $133 = ((($3)) + 14|0);
+ HEAP8[$133>>0] = $132;
+ $134 = $93 >>> 8;
+ $135 = $134&255;
+ $136 = ((($3)) + 13|0);
+ HEAP8[$136>>0] = $135;
+ $137 = $93&255;
+ HEAP8[$127>>0] = $137;
+ dest=$0; stop=dest+56|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
+ STACKTOP = sp;return ($$0156|0);
+}
+function __gcry_rngcsprng_initialize($0) {
+ $0 = $0|0;
+ var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = ($0|0)==(0);
+ if (!($1)) {
+ _initialize();
+ return;
+ }
+ $2 = HEAP32[18131]|0;
+ $3 = ($2|0)==(0);
+ if (!($3)) {
+ return;
+ }
+ HEAP32[18131] = 1;
+ return;
+}
+function _initialize() {
+ 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, $3 = 0, $4 = 0;
+ var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer3 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
+ $vararg_buffer3 = sp + 16|0;
+ $vararg_buffer1 = sp + 8|0;
+ $vararg_buffer = sp;
+ $0 = HEAP32[18131]|0;
+ $1 = ($0|0)==(0);
+ if ($1) {
+ HEAP32[18131] = 1;
+ }
+ $2 = (_gpgrt_lock_lock(40208)|0);
+ $3 = ($2|0)==(0);
+ if (!($3)) {
+ $4 = (_gpg_strerror($2)|0);
+ HEAP32[$vararg_buffer>>2] = $4;
+ __gcry_log_fatal(67701,$vararg_buffer);
+ // unreachable;
+ }
+ HEAP32[18132] = 1;
+ $5 = HEAP32[18133]|0;
+ $6 = ($5|0)==(0|0);
+ do {
+ if ($6) {
+ $7 = HEAP32[18134]|0;
+ $8 = ($7|0)==(0);
+ if ($8) {
+ $10 = (__gcry_xcalloc(1,664)|0);
+ $11 = $10;
+ } else {
+ $9 = (__gcry_xcalloc_secure(1,664)|0);
+ $11 = $9;
+ }
+ HEAP32[18133] = $11;
+ $12 = HEAP32[18134]|0;
+ $13 = ($12|0)==(0);
+ if ($13) {
+ $15 = (__gcry_xcalloc(1,664)|0);
+ $16 = $15;
+ } else {
+ $14 = (__gcry_xcalloc_secure(1,664)|0);
+ $16 = $14;
+ }
+ HEAP32[18135] = $16;
+ $17 = (_access(69685,4)|0);
+ $18 = ($17|0)==(0);
+ if (!($18)) {
+ $21 = (__gcry_gettext(67738)|0);
+ __gcry_log_fatal($21,$vararg_buffer1);
+ // unreachable;
+ }
+ $19 = (_access(69697,4)|0);
+ $20 = ($19|0)==(0);
+ if ($20) {
+ HEAP32[18136] = 83;
+ break;
+ } else {
+ $21 = (__gcry_gettext(67738)|0);
+ __gcry_log_fatal($21,$vararg_buffer1);
+ // unreachable;
+ }
+ }
+ } while(0);
+ HEAP32[18132] = 0;
+ $22 = (_gpgrt_lock_unlock(40208)|0);
+ $23 = ($22|0)==(0);
+ if ($23) {
+ STACKTOP = sp;return;
+ } else {
+ $24 = (_gpg_strerror($22)|0);
+ HEAP32[$vararg_buffer3>>2] = $24;
+ __gcry_log_fatal(67776,$vararg_buffer3);
+ // unreachable;
+ }
+}
+function __gcry_rngcsprng_close_fds() {
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $vararg_buffer1 = sp + 8|0;
+ $vararg_buffer = sp;
+ $0 = (_gpgrt_lock_lock(40208)|0);
+ $1 = ($0|0)==(0);
+ if (!($1)) {
+ $2 = (_gpg_strerror($0)|0);
+ HEAP32[$vararg_buffer>>2] = $2;
+ __gcry_log_fatal(67701,$vararg_buffer);
+ // unreachable;
+ }
+ HEAP32[18132] = 1;
+ (__gcry_rndlinux_gather_random(0,0,0,0)|0);
+ HEAP32[18137] = 0;
+ HEAP32[18132] = 0;
+ $3 = (_gpgrt_lock_unlock(40208)|0);
+ $4 = ($3|0)==(0);
+ if ($4) {
+ STACKTOP = sp;return;
+ } else {
+ $5 = (_gpg_strerror($3)|0);
+ HEAP32[$vararg_buffer1>>2] = $5;
+ __gcry_log_fatal(67776,$vararg_buffer1);
+ // unreachable;
+ }
+}
+function __gcry_rngcsprng_dump_stats() {
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr10 = 0, $vararg_ptr11 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0;
+ var $vararg_ptr5 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, $vararg_ptr9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
+ $vararg_buffer = sp;
+ $0 = HEAP32[18138]|0;
+ $1 = HEAP32[18139]|0;
+ $2 = HEAP32[18140]|0;
+ $3 = HEAP32[18141]|0;
+ $4 = HEAP32[18142]|0;
+ $5 = HEAP32[18143]|0;
+ $6 = HEAP32[18144]|0;
+ $7 = HEAP32[18145]|0;
+ $8 = HEAP32[18146]|0;
+ $9 = HEAP32[18147]|0;
+ $10 = (__gcry_rndhw_failed_p()|0);
+ $11 = ($10|0)==(0);
+ $12 = $11 ? 73338 : 67813;
+ HEAP32[$vararg_buffer>>2] = 600;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = $0;
+ $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
+ HEAP32[$vararg_ptr2>>2] = $1;
+ $vararg_ptr3 = ((($vararg_buffer)) + 12|0);
+ HEAP32[$vararg_ptr3>>2] = $2;
+ $vararg_ptr4 = ((($vararg_buffer)) + 16|0);
+ HEAP32[$vararg_ptr4>>2] = $3;
+ $vararg_ptr5 = ((($vararg_buffer)) + 20|0);
+ HEAP32[$vararg_ptr5>>2] = $4;
+ $vararg_ptr6 = ((($vararg_buffer)) + 24|0);
+ HEAP32[$vararg_ptr6>>2] = $5;
+ $vararg_ptr7 = ((($vararg_buffer)) + 28|0);
+ HEAP32[$vararg_ptr7>>2] = $6;
+ $vararg_ptr8 = ((($vararg_buffer)) + 32|0);
+ HEAP32[$vararg_ptr8>>2] = $7;
+ $vararg_ptr9 = ((($vararg_buffer)) + 36|0);
+ HEAP32[$vararg_ptr9>>2] = $8;
+ $vararg_ptr10 = ((($vararg_buffer)) + 40|0);
+ HEAP32[$vararg_ptr10>>2] = $9;
+ $vararg_ptr11 = ((($vararg_buffer)) + 44|0);
+ HEAP32[$vararg_ptr11>>2] = $12;
+ __gcry_log_info(67829,$vararg_buffer);
+ STACKTOP = sp;return;
+}
+function __gcry_rngcsprng_secure_alloc() {
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ HEAP32[18134] = 1;
+ return;
+}
+function __gcry_rngcsprng_enable_quick_gen() {
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ HEAP32[18148] = 1;
+ return;
+}
+function __gcry_rngcsprng_set_daemon_socket($0) {
+ $0 = $0|0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ return;
+}
+function __gcry_rngcsprng_use_daemon($0) {
+ $0 = $0|0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ return 0;
+}
+function __gcry_rngcsprng_is_faked() {
+ var $0 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ _initialize();
+ $0 = HEAP32[18148]|0;
+ return ($0|0);
+}
+function _mix_pool($0) {
+ $0 = $0|0;
+ var $$04961 = 0, $$052$add = 0, $$052$add53 = 0, $$052$idx60 = 0, $$052$ptr$add = 0, $$052$ptr$ptr = 0, $$1$add = 0, $$1$add$1 = 0, $$1$add$10 = 0, $$1$add$11 = 0, $$1$add$12 = 0, $$1$add$13 = 0, $$1$add$14 = 0, $$1$add$15 = 0, $$1$add$16 = 0, $$1$add$17 = 0, $$1$add$18 = 0, $$1$add$19 = 0, $$1$add$2 = 0, $$1$add$20 = 0;
+ var $$1$add$21 = 0, $$1$add$22 = 0, $$1$add$23 = 0, $$1$add$24 = 0, $$1$add$25 = 0, $$1$add$26 = 0, $$1$add$27 = 0, $$1$add$28 = 0, $$1$add$29 = 0, $$1$add$3 = 0, $$1$add$30 = 0, $$1$add$31 = 0, $$1$add$32 = 0, $$1$add$33 = 0, $$1$add$34 = 0, $$1$add$35 = 0, $$1$add$36 = 0, $$1$add$37 = 0, $$1$add$38 = 0, $$1$add$39 = 0;
+ var $$1$add$4 = 0, $$1$add$40 = 0, $$1$add$41 = 0, $$1$add$42 = 0, $$1$add$5 = 0, $$1$add$6 = 0, $$1$add$7 = 0, $$1$add$8 = 0, $$1$add$9 = 0, $$1$ptr = 0, $$1$ptr$1 = 0, $$1$ptr$10 = 0, $$1$ptr$11 = 0, $$1$ptr$12 = 0, $$1$ptr$13 = 0, $$1$ptr$14 = 0, $$1$ptr$15 = 0, $$1$ptr$16 = 0, $$1$ptr$17 = 0, $$1$ptr$18 = 0;
+ var $$1$ptr$19 = 0, $$1$ptr$2 = 0, $$1$ptr$20 = 0, $$1$ptr$21 = 0, $$1$ptr$22 = 0, $$1$ptr$23 = 0, $$1$ptr$24 = 0, $$1$ptr$25 = 0, $$1$ptr$26 = 0, $$1$ptr$27 = 0, $$1$ptr$28 = 0, $$1$ptr$29 = 0, $$1$ptr$3 = 0, $$1$ptr$30 = 0, $$1$ptr$31 = 0, $$1$ptr$32 = 0, $$1$ptr$33 = 0, $$1$ptr$34 = 0, $$1$ptr$35 = 0, $$1$ptr$36 = 0;
+ var $$1$ptr$37 = 0, $$1$ptr$38 = 0, $$1$ptr$39 = 0, $$1$ptr$4 = 0, $$1$ptr$40 = 0, $$1$ptr$41 = 0, $$1$ptr$42 = 0, $$1$ptr$43 = 0, $$1$ptr$5 = 0, $$1$ptr$6 = 0, $$1$ptr$7 = 0, $$1$ptr$8 = 0, $$1$ptr$9 = 0, $$ptr54 = 0, $$ptr55 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0;
+ var $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0;
+ var $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, $139 = 0;
+ var $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, $157 = 0;
+ var $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, $175 = 0;
+ var $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, $193 = 0;
+ var $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, $210 = 0;
+ var $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, $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, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0;
+ var $exitcond = 0, $or$cond = 0, $spec$select = 0, $spec$select$1 = 0, $spec$select$10 = 0, $spec$select$11 = 0, $spec$select$12 = 0, $spec$select$13 = 0, $spec$select$14 = 0, $spec$select$15 = 0, $spec$select$16 = 0, $spec$select$17 = 0, $spec$select$18 = 0, $spec$select$19 = 0, $spec$select$2 = 0, $spec$select$20 = 0, $spec$select$21 = 0, $spec$select$22 = 0, $spec$select$23 = 0, $spec$select$24 = 0;
+ var $spec$select$25 = 0, $spec$select$26 = 0, $spec$select$27 = 0, $spec$select$28 = 0, $spec$select$29 = 0, $spec$select$3 = 0, $spec$select$30 = 0, $spec$select$31 = 0, $spec$select$32 = 0, $spec$select$33 = 0, $spec$select$34 = 0, $spec$select$35 = 0, $spec$select$36 = 0, $spec$select$37 = 0, $spec$select$38 = 0, $spec$select$39 = 0, $spec$select$4 = 0, $spec$select$40 = 0, $spec$select$41 = 0, $spec$select$42 = 0;
+ var $spec$select$43 = 0, $spec$select$5 = 0, $spec$select$6 = 0, $spec$select$7 = 0, $spec$select$8 = 0, $spec$select$9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 192|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(192|0);
+ $1 = sp;
+ $2 = ((($0)) + 600|0);
+ $3 = HEAP32[18132]|0;
+ $4 = ($3|0)==(0);
+ if ($4) {
+ __gcry_assert_failed(67953,67968,615,67984);
+ // unreachable;
+ }
+ __gcry_rmd160_init($1);
+ $5 = ((($0)) + 580|0);
+ dest=$2; src=$5; stop=dest+20|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
+ $6 = ((($0)) + 620|0);
+ dest=$6; src=$0; stop=dest+44|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
+ __gcry_rmd160_mixblock($1,$2);
+ dest=$0; src=$2; stop=dest+20|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
+ $7 = HEAP32[18151]|0;
+ $8 = ($7|0)!=(0);
+ $9 = HEAP32[18133]|0;
+ $10 = ($9|0)==($0|0);
+ $or$cond = $8 & $10;
+ if ($or$cond) {
+ $11 = HEAP8[71216]|0;
+ $12 = HEAP8[$0>>0]|0;
+ $13 = $12 ^ $11;
+ HEAP8[$0>>0] = $13;
+ $14 = HEAP8[(71217)>>0]|0;
+ $15 = ((($0)) + 1|0);
+ $16 = HEAP8[$15>>0]|0;
+ $17 = $16 ^ $14;
+ HEAP8[$15>>0] = $17;
+ $18 = HEAP8[(71218)>>0]|0;
+ $19 = ((($0)) + 2|0);
+ $20 = HEAP8[$19>>0]|0;
+ $21 = $20 ^ $18;
+ HEAP8[$19>>0] = $21;
+ $22 = HEAP8[(71219)>>0]|0;
+ $23 = ((($0)) + 3|0);
+ $24 = HEAP8[$23>>0]|0;
+ $25 = $24 ^ $22;
+ HEAP8[$23>>0] = $25;
+ $26 = HEAP8[(71220)>>0]|0;
+ $27 = ((($0)) + 4|0);
+ $28 = HEAP8[$27>>0]|0;
+ $29 = $28 ^ $26;
+ HEAP8[$27>>0] = $29;
+ $30 = HEAP8[(71221)>>0]|0;
+ $31 = ((($0)) + 5|0);
+ $32 = HEAP8[$31>>0]|0;
+ $33 = $32 ^ $30;
+ HEAP8[$31>>0] = $33;
+ $34 = HEAP8[(71222)>>0]|0;
+ $35 = ((($0)) + 6|0);
+ $36 = HEAP8[$35>>0]|0;
+ $37 = $36 ^ $34;
+ HEAP8[$35>>0] = $37;
+ $38 = HEAP8[(71223)>>0]|0;
+ $39 = ((($0)) + 7|0);
+ $40 = HEAP8[$39>>0]|0;
+ $41 = $40 ^ $38;
+ HEAP8[$39>>0] = $41;
+ $42 = HEAP8[(71224)>>0]|0;
+ $43 = ((($0)) + 8|0);
+ $44 = HEAP8[$43>>0]|0;
+ $45 = $44 ^ $42;
+ HEAP8[$43>>0] = $45;
+ $46 = HEAP8[(71225)>>0]|0;
+ $47 = ((($0)) + 9|0);
+ $48 = HEAP8[$47>>0]|0;
+ $49 = $48 ^ $46;
+ HEAP8[$47>>0] = $49;
+ $50 = HEAP8[(71226)>>0]|0;
+ $51 = ((($0)) + 10|0);
+ $52 = HEAP8[$51>>0]|0;
+ $53 = $52 ^ $50;
+ HEAP8[$51>>0] = $53;
+ $54 = HEAP8[(71227)>>0]|0;
+ $55 = ((($0)) + 11|0);
+ $56 = HEAP8[$55>>0]|0;
+ $57 = $56 ^ $54;
+ HEAP8[$55>>0] = $57;
+ $58 = HEAP8[(71228)>>0]|0;
+ $59 = ((($0)) + 12|0);
+ $60 = HEAP8[$59>>0]|0;
+ $61 = $60 ^ $58;
+ HEAP8[$59>>0] = $61;
+ $62 = HEAP8[(71229)>>0]|0;
+ $63 = ((($0)) + 13|0);
+ $64 = HEAP8[$63>>0]|0;
+ $65 = $64 ^ $62;
+ HEAP8[$63>>0] = $65;
+ $66 = HEAP8[(71230)>>0]|0;
+ $67 = ((($0)) + 14|0);
+ $68 = HEAP8[$67>>0]|0;
+ $69 = $68 ^ $66;
+ HEAP8[$67>>0] = $69;
+ $70 = HEAP8[(71231)>>0]|0;
+ $71 = ((($0)) + 15|0);
+ $72 = HEAP8[$71>>0]|0;
+ $73 = $72 ^ $70;
+ HEAP8[$71>>0] = $73;
+ $74 = HEAP8[(71232)>>0]|0;
+ $75 = ((($0)) + 16|0);
+ $76 = HEAP8[$75>>0]|0;
+ $77 = $76 ^ $74;
+ HEAP8[$75>>0] = $77;
+ $78 = HEAP8[(71233)>>0]|0;
+ $79 = ((($0)) + 17|0);
+ $80 = HEAP8[$79>>0]|0;
+ $81 = $80 ^ $78;
+ HEAP8[$79>>0] = $81;
+ $82 = HEAP8[(71234)>>0]|0;
+ $83 = ((($0)) + 18|0);
+ $84 = HEAP8[$83>>0]|0;
+ $85 = $84 ^ $82;
+ HEAP8[$83>>0] = $85;
+ $86 = HEAP8[(71235)>>0]|0;
+ $87 = ((($0)) + 19|0);
+ $88 = HEAP8[$87>>0]|0;
+ $89 = $88 ^ $86;
+ HEAP8[$87>>0] = $89;
+ }
+ $90 = ((($0)) + 620|0);
+ $91 = ((($0)) + 621|0);
+ $92 = ((($0)) + 622|0);
+ $93 = ((($0)) + 623|0);
+ $94 = ((($0)) + 624|0);
+ $95 = ((($0)) + 625|0);
+ $96 = ((($0)) + 626|0);
+ $97 = ((($0)) + 627|0);
+ $98 = ((($0)) + 628|0);
+ $99 = ((($0)) + 629|0);
+ $100 = ((($0)) + 630|0);
+ $101 = ((($0)) + 631|0);
+ $102 = ((($0)) + 632|0);
+ $103 = ((($0)) + 633|0);
+ $104 = ((($0)) + 634|0);
+ $105 = ((($0)) + 635|0);
+ $106 = ((($0)) + 636|0);
+ $107 = ((($0)) + 637|0);
+ $108 = ((($0)) + 638|0);
+ $109 = ((($0)) + 639|0);
+ $110 = ((($0)) + 640|0);
+ $111 = ((($0)) + 641|0);
+ $112 = ((($0)) + 642|0);
+ $113 = ((($0)) + 643|0);
+ $114 = ((($0)) + 644|0);
+ $115 = ((($0)) + 645|0);
+ $116 = ((($0)) + 646|0);
+ $117 = ((($0)) + 647|0);
+ $118 = ((($0)) + 648|0);
+ $119 = ((($0)) + 649|0);
+ $120 = ((($0)) + 650|0);
+ $121 = ((($0)) + 651|0);
+ $122 = ((($0)) + 652|0);
+ $123 = ((($0)) + 653|0);
+ $124 = ((($0)) + 654|0);
+ $125 = ((($0)) + 655|0);
+ $126 = ((($0)) + 656|0);
+ $127 = ((($0)) + 657|0);
+ $128 = ((($0)) + 658|0);
+ $129 = ((($0)) + 659|0);
+ $130 = ((($0)) + 660|0);
+ $131 = ((($0)) + 661|0);
+ $132 = ((($0)) + 662|0);
+ $133 = ((($0)) + 663|0);
+ $$04961 = 1;$$052$idx60 = 0;
+ while(1) {
+ $$052$ptr$ptr = (($0) + ($$052$idx60)|0);
+ dest=$2; src=$$052$ptr$ptr; stop=dest+20|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
+ $$052$add53 = (($$052$idx60) + 20)|0;
+ $$ptr54 = (($0) + ($$052$add53)|0);
+ $$052$ptr$add = (($$052$idx60) + 40)|0;
+ $$052$add = (($$052$idx60) + 104)|0;
+ $134 = ($$052$add>>>0)<(600);
+ if ($134) {
+ $$ptr55 = (($0) + ($$052$ptr$add)|0);
+ dest=$6; src=$$ptr55; stop=dest+44|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
+ } else {
+ $135 = ($$052$ptr$add>>>0)>(599);
+ $spec$select = $135 ? 0 : $$052$ptr$add;
+ $$1$ptr = (($0) + ($spec$select)|0);
+ $$1$add = $spec$select | 1;
+ $136 = HEAP8[$$1$ptr>>0]|0;
+ HEAP8[$90>>0] = $136;
+ $137 = ($$1$add>>>0)>(599);
+ $spec$select$1 = $137 ? 0 : $$1$add;
+ $$1$ptr$1 = (($0) + ($spec$select$1)|0);
+ $$1$add$1 = (($spec$select$1) + 1)|0;
+ $138 = HEAP8[$$1$ptr$1>>0]|0;
+ HEAP8[$91>>0] = $138;
+ $139 = ($spec$select$1>>>0)>(598);
+ $spec$select$2 = $139 ? 0 : $$1$add$1;
+ $$1$ptr$2 = (($0) + ($spec$select$2)|0);
+ $$1$add$2 = (($spec$select$2) + 1)|0;
+ $140 = HEAP8[$$1$ptr$2>>0]|0;
+ HEAP8[$92>>0] = $140;
+ $141 = ($spec$select$2|0)>(598);
+ $spec$select$3 = $141 ? 0 : $$1$add$2;
+ $$1$ptr$3 = (($0) + ($spec$select$3)|0);
+ $$1$add$3 = (($spec$select$3) + 1)|0;
+ $142 = HEAP8[$$1$ptr$3>>0]|0;
+ HEAP8[$93>>0] = $142;
+ $143 = ($spec$select$3|0)>(598);
+ $spec$select$4 = $143 ? 0 : $$1$add$3;
+ $$1$ptr$4 = (($0) + ($spec$select$4)|0);
+ $$1$add$4 = (($spec$select$4) + 1)|0;
+ $144 = HEAP8[$$1$ptr$4>>0]|0;
+ HEAP8[$94>>0] = $144;
+ $145 = ($spec$select$4|0)>(598);
+ $spec$select$5 = $145 ? 0 : $$1$add$4;
+ $$1$ptr$5 = (($0) + ($spec$select$5)|0);
+ $$1$add$5 = (($spec$select$5) + 1)|0;
+ $146 = HEAP8[$$1$ptr$5>>0]|0;
+ HEAP8[$95>>0] = $146;
+ $147 = ($spec$select$5|0)>(598);
+ $spec$select$6 = $147 ? 0 : $$1$add$5;
+ $$1$ptr$6 = (($0) + ($spec$select$6)|0);
+ $$1$add$6 = (($spec$select$6) + 1)|0;
+ $148 = HEAP8[$$1$ptr$6>>0]|0;
+ HEAP8[$96>>0] = $148;
+ $149 = ($spec$select$6|0)>(598);
+ $spec$select$7 = $149 ? 0 : $$1$add$6;
+ $$1$ptr$7 = (($0) + ($spec$select$7)|0);
+ $$1$add$7 = (($spec$select$7) + 1)|0;
+ $150 = HEAP8[$$1$ptr$7>>0]|0;
+ HEAP8[$97>>0] = $150;
+ $151 = ($spec$select$7|0)>(598);
+ $spec$select$8 = $151 ? 0 : $$1$add$7;
+ $$1$ptr$8 = (($0) + ($spec$select$8)|0);
+ $$1$add$8 = (($spec$select$8) + 1)|0;
+ $152 = HEAP8[$$1$ptr$8>>0]|0;
+ HEAP8[$98>>0] = $152;
+ $153 = ($spec$select$8|0)>(598);
+ $spec$select$9 = $153 ? 0 : $$1$add$8;
+ $$1$ptr$9 = (($0) + ($spec$select$9)|0);
+ $$1$add$9 = (($spec$select$9) + 1)|0;
+ $154 = HEAP8[$$1$ptr$9>>0]|0;
+ HEAP8[$99>>0] = $154;
+ $155 = ($spec$select$9|0)>(598);
+ $spec$select$10 = $155 ? 0 : $$1$add$9;
+ $$1$ptr$10 = (($0) + ($spec$select$10)|0);
+ $$1$add$10 = (($spec$select$10) + 1)|0;
+ $156 = HEAP8[$$1$ptr$10>>0]|0;
+ HEAP8[$100>>0] = $156;
+ $157 = ($spec$select$10|0)>(598);
+ $spec$select$11 = $157 ? 0 : $$1$add$10;
+ $$1$ptr$11 = (($0) + ($spec$select$11)|0);
+ $$1$add$11 = (($spec$select$11) + 1)|0;
+ $158 = HEAP8[$$1$ptr$11>>0]|0;
+ HEAP8[$101>>0] = $158;
+ $159 = ($spec$select$11|0)>(598);
+ $spec$select$12 = $159 ? 0 : $$1$add$11;
+ $$1$ptr$12 = (($0) + ($spec$select$12)|0);
+ $$1$add$12 = (($spec$select$12) + 1)|0;
+ $160 = HEAP8[$$1$ptr$12>>0]|0;
+ HEAP8[$102>>0] = $160;
+ $161 = ($spec$select$12|0)>(598);
+ $spec$select$13 = $161 ? 0 : $$1$add$12;
+ $$1$ptr$13 = (($0) + ($spec$select$13)|0);
+ $$1$add$13 = (($spec$select$13) + 1)|0;
+ $162 = HEAP8[$$1$ptr$13>>0]|0;
+ HEAP8[$103>>0] = $162;
+ $163 = ($spec$select$13|0)>(598);
+ $spec$select$14 = $163 ? 0 : $$1$add$13;
+ $$1$ptr$14 = (($0) + ($spec$select$14)|0);
+ $$1$add$14 = (($spec$select$14) + 1)|0;
+ $164 = HEAP8[$$1$ptr$14>>0]|0;
+ HEAP8[$104>>0] = $164;
+ $165 = ($spec$select$14|0)>(598);
+ $spec$select$15 = $165 ? 0 : $$1$add$14;
+ $$1$ptr$15 = (($0) + ($spec$select$15)|0);
+ $$1$add$15 = (($spec$select$15) + 1)|0;
+ $166 = HEAP8[$$1$ptr$15>>0]|0;
+ HEAP8[$105>>0] = $166;
+ $167 = ($spec$select$15|0)>(598);
+ $spec$select$16 = $167 ? 0 : $$1$add$15;
+ $$1$ptr$16 = (($0) + ($spec$select$16)|0);
+ $$1$add$16 = (($spec$select$16) + 1)|0;
+ $168 = HEAP8[$$1$ptr$16>>0]|0;
+ HEAP8[$106>>0] = $168;
+ $169 = ($spec$select$16|0)>(598);
+ $spec$select$17 = $169 ? 0 : $$1$add$16;
+ $$1$ptr$17 = (($0) + ($spec$select$17)|0);
+ $$1$add$17 = (($spec$select$17) + 1)|0;
+ $170 = HEAP8[$$1$ptr$17>>0]|0;
+ HEAP8[$107>>0] = $170;
+ $171 = ($spec$select$17|0)>(598);
+ $spec$select$18 = $171 ? 0 : $$1$add$17;
+ $$1$ptr$18 = (($0) + ($spec$select$18)|0);
+ $$1$add$18 = (($spec$select$18) + 1)|0;
+ $172 = HEAP8[$$1$ptr$18>>0]|0;
+ HEAP8[$108>>0] = $172;
+ $173 = ($spec$select$18|0)>(598);
+ $spec$select$19 = $173 ? 0 : $$1$add$18;
+ $$1$ptr$19 = (($0) + ($spec$select$19)|0);
+ $$1$add$19 = (($spec$select$19) + 1)|0;
+ $174 = HEAP8[$$1$ptr$19>>0]|0;
+ HEAP8[$109>>0] = $174;
+ $175 = ($spec$select$19|0)>(598);
+ $spec$select$20 = $175 ? 0 : $$1$add$19;
+ $$1$ptr$20 = (($0) + ($spec$select$20)|0);
+ $$1$add$20 = (($spec$select$20) + 1)|0;
+ $176 = HEAP8[$$1$ptr$20>>0]|0;
+ HEAP8[$110>>0] = $176;
+ $177 = ($spec$select$20|0)>(598);
+ $spec$select$21 = $177 ? 0 : $$1$add$20;
+ $$1$ptr$21 = (($0) + ($spec$select$21)|0);
+ $$1$add$21 = (($spec$select$21) + 1)|0;
+ $178 = HEAP8[$$1$ptr$21>>0]|0;
+ HEAP8[$111>>0] = $178;
+ $179 = ($spec$select$21|0)>(598);
+ $spec$select$22 = $179 ? 0 : $$1$add$21;
+ $$1$ptr$22 = (($0) + ($spec$select$22)|0);
+ $$1$add$22 = (($spec$select$22) + 1)|0;
+ $180 = HEAP8[$$1$ptr$22>>0]|0;
+ HEAP8[$112>>0] = $180;
+ $181 = ($spec$select$22|0)>(598);
+ $spec$select$23 = $181 ? 0 : $$1$add$22;
+ $$1$ptr$23 = (($0) + ($spec$select$23)|0);
+ $$1$add$23 = (($spec$select$23) + 1)|0;
+ $182 = HEAP8[$$1$ptr$23>>0]|0;
+ HEAP8[$113>>0] = $182;
+ $183 = ($spec$select$23|0)>(598);
+ $spec$select$24 = $183 ? 0 : $$1$add$23;
+ $$1$ptr$24 = (($0) + ($spec$select$24)|0);
+ $$1$add$24 = (($spec$select$24) + 1)|0;
+ $184 = HEAP8[$$1$ptr$24>>0]|0;
+ HEAP8[$114>>0] = $184;
+ $185 = ($spec$select$24|0)>(598);
+ $spec$select$25 = $185 ? 0 : $$1$add$24;
+ $$1$ptr$25 = (($0) + ($spec$select$25)|0);
+ $$1$add$25 = (($spec$select$25) + 1)|0;
+ $186 = HEAP8[$$1$ptr$25>>0]|0;
+ HEAP8[$115>>0] = $186;
+ $187 = ($spec$select$25|0)>(598);
+ $spec$select$26 = $187 ? 0 : $$1$add$25;
+ $$1$ptr$26 = (($0) + ($spec$select$26)|0);
+ $$1$add$26 = (($spec$select$26) + 1)|0;
+ $188 = HEAP8[$$1$ptr$26>>0]|0;
+ HEAP8[$116>>0] = $188;
+ $189 = ($spec$select$26|0)>(598);
+ $spec$select$27 = $189 ? 0 : $$1$add$26;
+ $$1$ptr$27 = (($0) + ($spec$select$27)|0);
+ $$1$add$27 = (($spec$select$27) + 1)|0;
+ $190 = HEAP8[$$1$ptr$27>>0]|0;
+ HEAP8[$117>>0] = $190;
+ $191 = ($spec$select$27|0)>(598);
+ $spec$select$28 = $191 ? 0 : $$1$add$27;
+ $$1$ptr$28 = (($0) + ($spec$select$28)|0);
+ $$1$add$28 = (($spec$select$28) + 1)|0;
+ $192 = HEAP8[$$1$ptr$28>>0]|0;
+ HEAP8[$118>>0] = $192;
+ $193 = ($spec$select$28|0)>(598);
+ $spec$select$29 = $193 ? 0 : $$1$add$28;
+ $$1$ptr$29 = (($0) + ($spec$select$29)|0);
+ $$1$add$29 = (($spec$select$29) + 1)|0;
+ $194 = HEAP8[$$1$ptr$29>>0]|0;
+ HEAP8[$119>>0] = $194;
+ $195 = ($spec$select$29|0)>(598);
+ $spec$select$30 = $195 ? 0 : $$1$add$29;
+ $$1$ptr$30 = (($0) + ($spec$select$30)|0);
+ $$1$add$30 = (($spec$select$30) + 1)|0;
+ $196 = HEAP8[$$1$ptr$30>>0]|0;
+ HEAP8[$120>>0] = $196;
+ $197 = ($spec$select$30|0)>(598);
+ $spec$select$31 = $197 ? 0 : $$1$add$30;
+ $$1$ptr$31 = (($0) + ($spec$select$31)|0);
+ $$1$add$31 = (($spec$select$31) + 1)|0;
+ $198 = HEAP8[$$1$ptr$31>>0]|0;
+ HEAP8[$121>>0] = $198;
+ $199 = ($spec$select$31|0)>(598);
+ $spec$select$32 = $199 ? 0 : $$1$add$31;
+ $$1$ptr$32 = (($0) + ($spec$select$32)|0);
+ $$1$add$32 = (($spec$select$32) + 1)|0;
+ $200 = HEAP8[$$1$ptr$32>>0]|0;
+ HEAP8[$122>>0] = $200;
+ $201 = ($spec$select$32|0)>(598);
+ $spec$select$33 = $201 ? 0 : $$1$add$32;
+ $$1$ptr$33 = (($0) + ($spec$select$33)|0);
+ $$1$add$33 = (($spec$select$33) + 1)|0;
+ $202 = HEAP8[$$1$ptr$33>>0]|0;
+ HEAP8[$123>>0] = $202;
+ $203 = ($spec$select$33|0)>(598);
+ $spec$select$34 = $203 ? 0 : $$1$add$33;
+ $$1$ptr$34 = (($0) + ($spec$select$34)|0);
+ $$1$add$34 = (($spec$select$34) + 1)|0;
+ $204 = HEAP8[$$1$ptr$34>>0]|0;
+ HEAP8[$124>>0] = $204;
+ $205 = ($spec$select$34|0)>(598);
+ $spec$select$35 = $205 ? 0 : $$1$add$34;
+ $$1$ptr$35 = (($0) + ($spec$select$35)|0);
+ $$1$add$35 = (($spec$select$35) + 1)|0;
+ $206 = HEAP8[$$1$ptr$35>>0]|0;
+ HEAP8[$125>>0] = $206;
+ $207 = ($spec$select$35|0)>(598);
+ $spec$select$36 = $207 ? 0 : $$1$add$35;
+ $$1$ptr$36 = (($0) + ($spec$select$36)|0);
+ $$1$add$36 = (($spec$select$36) + 1)|0;
+ $208 = HEAP8[$$1$ptr$36>>0]|0;
+ HEAP8[$126>>0] = $208;
+ $209 = ($spec$select$36|0)>(598);
+ $spec$select$37 = $209 ? 0 : $$1$add$36;
+ $$1$ptr$37 = (($0) + ($spec$select$37)|0);
+ $$1$add$37 = (($spec$select$37) + 1)|0;
+ $210 = HEAP8[$$1$ptr$37>>0]|0;
+ HEAP8[$127>>0] = $210;
+ $211 = ($spec$select$37|0)>(598);
+ $spec$select$38 = $211 ? 0 : $$1$add$37;
+ $$1$ptr$38 = (($0) + ($spec$select$38)|0);
+ $$1$add$38 = (($spec$select$38) + 1)|0;
+ $212 = HEAP8[$$1$ptr$38>>0]|0;
+ HEAP8[$128>>0] = $212;
+ $213 = ($spec$select$38|0)>(598);
+ $spec$select$39 = $213 ? 0 : $$1$add$38;
+ $$1$ptr$39 = (($0) + ($spec$select$39)|0);
+ $$1$add$39 = (($spec$select$39) + 1)|0;
+ $214 = HEAP8[$$1$ptr$39>>0]|0;
+ HEAP8[$129>>0] = $214;
+ $215 = ($spec$select$39|0)>(598);
+ $spec$select$40 = $215 ? 0 : $$1$add$39;
+ $$1$ptr$40 = (($0) + ($spec$select$40)|0);
+ $$1$add$40 = (($spec$select$40) + 1)|0;
+ $216 = HEAP8[$$1$ptr$40>>0]|0;
+ HEAP8[$130>>0] = $216;
+ $217 = ($spec$select$40|0)>(598);
+ $spec$select$41 = $217 ? 0 : $$1$add$40;
+ $$1$ptr$41 = (($0) + ($spec$select$41)|0);
+ $$1$add$41 = (($spec$select$41) + 1)|0;
+ $218 = HEAP8[$$1$ptr$41>>0]|0;
+ HEAP8[$131>>0] = $218;
+ $219 = ($spec$select$41|0)>(598);
+ $spec$select$42 = $219 ? 0 : $$1$add$41;
+ $$1$ptr$42 = (($0) + ($spec$select$42)|0);
+ $$1$add$42 = (($spec$select$42) + 1)|0;
+ $220 = HEAP8[$$1$ptr$42>>0]|0;
+ HEAP8[$132>>0] = $220;
+ $221 = ($spec$select$42|0)>(598);
+ $spec$select$43 = $221 ? 0 : $$1$add$42;
+ $$1$ptr$43 = (($0) + ($spec$select$43)|0);
+ $222 = HEAP8[$$1$ptr$43>>0]|0;
+ HEAP8[$133>>0] = $222;
+ }
+ __gcry_rmd160_mixblock($1,$2);
+ dest=$$ptr54; src=$2; stop=dest+20|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
+ $223 = (($$04961) + 1)|0;
+ $exitcond = ($223|0)==(30);
+ if ($exitcond) {
+ break;
+ } else {
+ $$04961 = $223;$$052$idx60 = $$052$add53;
+ }
+ }
+ $224 = HEAP32[18133]|0;
+ $225 = ($224|0)==($0|0);
+ if (!($225)) {
+ ___gcry_burn_stack(384);
+ STACKTOP = sp;return;
+ }
+ __gcry_rmd160_hash_buffer(71216,$0,600);
+ HEAP32[18151] = 1;
+ ___gcry_burn_stack(384);
+ STACKTOP = sp;return;
+}
+function __gcry_rngcsprng_randomize($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$$040$i = 0, $$0$$0$$0$$i = 0, $$0$$0$$0$11$i = 0, $$0$$0$$0$12$i = 0, $$0$$0$$0$13$i = 0, $$0$i = 0, $$01113$us$i$i$i = 0, $$0183437 = 0, $$03536 = 0, $$03763$i = 0, $$03862$i = 0, $$03961$i = 0, $$040$i = 0, $$1$lcssa$i = 0, $$164$i = 0, $$in$i = 0, $$op = 0, $$pr$i = 0, $$pre = 0, $$pre$i = 0;
+ var $$pre$i$i = 0, $$pre26$i$i = 0, $$pre27$i$i = 0, $$pre28$i$i = 0, $$pre29$i$i = 0, $$pre30$i$i = 0, $$pre31$i$i = 0, $$pre32$i$i = 0, $$pre33$i$i = 0, $$pre34$i$i = 0, $$pre35$i$i = 0, $$pre36$i$i = 0, $$pre77$i = 0, $$pre78$i = 0, $$pre79$i = 0, $$pre80$i = 0, $$pre81$i = 0, $$pre82$i = 0, $$pre83$i = 0, $$pre84$i = 0;
+ var $$pre86$i = 0, $$pre87$i = 0, $$pre88$i = 0, $$pre89$i = 0, $$pre90$i = 0, $$sroa$3$0$extract$shift = 0, $$sroa$3$0$extract$shift$i = 0, $$sroa$3$0$extract$trunc = 0, $$sroa$3$0$extract$trunc$i = 0, $$sroa$330$0$extract$shift = 0, $$sroa$330$0$extract$trunc = 0, $$sroa$353$0$extract$shift$i = 0, $$sroa$353$0$extract$trunc$i = 0, $$sroa$358$0$extract$shift$i = 0, $$sroa$358$0$extract$trunc$i = 0, $$sroa$4$0$extract$shift = 0, $$sroa$4$0$extract$trunc = 0, $10 = 0, $100 = 0, $101 = 0;
+ var $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0;
+ var $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0;
+ var $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0;
+ var $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0;
+ var $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0;
+ var $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0;
+ var $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0;
+ var $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, $247 = 0;
+ var $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, $265 = 0;
+ var $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, $283 = 0;
+ var $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, $300 = 0;
+ var $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0;
+ var $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0;
+ var $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0;
+ var $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0;
+ var $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0;
+ var $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0;
+ var $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, $427 = 0;
+ var $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, $445 = 0;
+ var $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, $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, $exitcond$i = 0, $or$cond = 0, $or$cond$i = 0, $pool_balance$promoted$i = 0, $pool_readpos$promoted$i = 0, $rndstats$6$rndstats$4 = 0;
+ var $rndstats$7$rndstats$5 = 0, $scevgep$i = 0, $spec$select$i = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer13 = 0, $vararg_buffer16 = 0, $vararg_buffer18 = 0, $vararg_buffer20 = 0, $vararg_buffer24 = 0, $vararg_buffer26 = 0, $vararg_buffer28 = 0, $vararg_buffer3 = 0, $vararg_buffer30 = 0, $vararg_buffer32 = 0, $vararg_buffer34 = 0, $vararg_buffer36 = 0, $vararg_buffer38 = 0, $vararg_buffer40 = 0, $vararg_buffer5 = 0;
+ var $vararg_buffer9 = 0, $vararg_ptr12 = 0, $vararg_ptr23 = 0, $vararg_ptr8 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 832|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(832|0);
+ $vararg_buffer40 = sp + 736|0;
+ $vararg_buffer38 = sp + 728|0;
+ $vararg_buffer36 = sp + 720|0;
+ $vararg_buffer34 = sp + 712|0;
+ $vararg_buffer32 = sp + 704|0;
+ $vararg_buffer30 = sp + 696|0;
+ $vararg_buffer28 = sp + 688|0;
+ $vararg_buffer26 = sp + 680|0;
+ $vararg_buffer24 = sp + 672|0;
+ $vararg_buffer20 = sp + 664|0;
+ $vararg_buffer18 = sp + 656|0;
+ $vararg_buffer16 = sp + 648|0;
+ $vararg_buffer13 = sp + 640|0;
+ $vararg_buffer9 = sp + 632|0;
+ $vararg_buffer5 = sp + 624|0;
+ $vararg_buffer3 = sp + 616|0;
+ $vararg_buffer1 = sp + 608|0;
+ $vararg_buffer = sp + 600|0;
+ $3 = sp + 744|0;
+ $4 = sp;
+ $5 = sp + 740|0;
+ _initialize();
+ $6 = HEAP32[18148]|0;
+ $7 = ($6|0)!=(0);
+ $8 = ($2>>>0)>(1);
+ $or$cond = $8 & $7;
+ $$op = $2 & 3;
+ $9 = $or$cond ? 1 : $$op;
+ $10 = (_gpgrt_lock_lock(40208)|0);
+ $11 = ($10|0)==(0);
+ if (!($11)) {
+ $12 = (_gpg_strerror($10)|0);
+ HEAP32[$vararg_buffer>>2] = $12;
+ __gcry_log_fatal(67701,$vararg_buffer);
+ // unreachable;
+ }
+ HEAP32[18132] = 1;
+ $13 = ($9>>>0)>(1);
+ $rndstats$6$rndstats$4 = $13 ? 72588 : 72580;
+ $rndstats$7$rndstats$5 = $13 ? 72584 : 72576;
+ $14 = HEAP32[$rndstats$6$rndstats$4>>2]|0;
+ $15 = (($14) + ($1))|0;
+ HEAP32[$rndstats$6$rndstats$4>>2] = $15;
+ $16 = HEAP32[$rndstats$7$rndstats$5>>2]|0;
+ $17 = (($16) + 1)|0;
+ HEAP32[$rndstats$7$rndstats$5>>2] = $17;
+ $18 = ($1|0)==(0);
+ L4: do {
+ if (!($18)) {
+ $19 = ($9|0)!=(2);
+ $20 = ($9|0)==(2);
+ $21 = ((($3)) + 12|0);
+ $22 = ((($3)) + 36|0);
+ $23 = ($1>>>0)<(600);
+ $24 = $23 ? $1 : 600;
+ $$0183437 = $0;$$03536 = $1;$451 = $24;
+ L6: while(1) {
+ $$0$i = $$0183437;$$040$i = $451;
+ while(1) {
+ $25 = (_getpid()|0);
+ HEAP32[$5>>2] = $25;
+ $26 = HEAP32[10063]|0;
+ $27 = ($26|0)==(-1);
+ if ($27) {
+ $$0$$0$$0$$i = HEAP32[$5>>2]|0;
+ HEAP32[10063] = $$0$$0$$0$$i;
+ }
+ $28 = HEAP32[10063]|0;
+ $$0$$0$$0$11$i = HEAP32[$5>>2]|0;
+ $29 = ($28|0)==($$0$$0$$0$11$i|0);
+ if (!($29)) {
+ $$0$$0$$0$12$i = HEAP32[$5>>2]|0;
+ HEAP32[10063] = $$0$$0$$0$12$i;
+ $30 = HEAP32[10063]|0;
+ $$sroa$330$0$extract$shift = $30 >>> 24;
+ $$sroa$330$0$extract$trunc = $$sroa$330$0$extract$shift&255;
+ $31 = HEAP32[18132]|0;
+ $32 = ($31|0)==(0);
+ $33 = $30 >>> 8;
+ $34 = $33&255;
+ $35 = $30 >>> 16;
+ $36 = $35&255;
+ if ($32) {
+ label = 11;
+ break L6;
+ }
+ $37 = $30&255;
+ $38 = HEAP32[18142]|0;
+ $39 = (($38) + 4)|0;
+ HEAP32[18142] = $39;
+ $40 = HEAP32[18141]|0;
+ $41 = (($40) + 1)|0;
+ HEAP32[18141] = $41;
+ $42 = HEAP32[18133]|0;
+ $43 = HEAP32[18149]|0;
+ $44 = (($43) + 1)|0;
+ HEAP32[18149] = $44;
+ $45 = (($42) + ($43)|0);
+ $46 = HEAP8[$45>>0]|0;
+ $47 = $46 ^ $37;
+ HEAP8[$45>>0] = $47;
+ $48 = ($44>>>0)>(599);
+ if ($48) {
+ HEAP32[18149] = 0;
+ _mix_pool($42);
+ $49 = HEAP32[18138]|0;
+ $50 = (($49) + 1)|0;
+ HEAP32[18138] = $50;
+ HEAP32[18150] = 0;
+ $$pre$i = HEAP32[18133]|0;
+ $$pre77$i = HEAP32[18149]|0;
+ $52 = $$pre77$i;$54 = $$pre$i;
+ } else {
+ $52 = $44;$54 = $42;
+ }
+ $51 = (($52) + 1)|0;
+ HEAP32[18149] = $51;
+ $53 = (($54) + ($52)|0);
+ $55 = HEAP8[$53>>0]|0;
+ $56 = $55 ^ $34;
+ HEAP8[$53>>0] = $56;
+ $57 = ($51>>>0)>(599);
+ if ($57) {
+ HEAP32[18149] = 0;
+ _mix_pool($54);
+ $390 = HEAP32[18138]|0;
+ $391 = (($390) + 1)|0;
+ HEAP32[18138] = $391;
+ HEAP32[18150] = 0;
+ $$pre78$i = HEAP32[18133]|0;
+ $$pre79$i = HEAP32[18149]|0;
+ $393 = $$pre79$i;$395 = $$pre78$i;
+ } else {
+ $393 = $51;$395 = $54;
+ }
+ $392 = (($393) + 1)|0;
+ HEAP32[18149] = $392;
+ $394 = (($395) + ($393)|0);
+ $396 = HEAP8[$394>>0]|0;
+ $397 = $396 ^ $36;
+ HEAP8[$394>>0] = $397;
+ $398 = ($392>>>0)>(599);
+ if ($398) {
+ HEAP32[18149] = 0;
+ _mix_pool($395);
+ $399 = HEAP32[18138]|0;
+ $400 = (($399) + 1)|0;
+ HEAP32[18138] = $400;
+ HEAP32[18150] = 0;
+ }
+ $401 = HEAP32[18133]|0;
+ $402 = HEAP32[18149]|0;
+ $403 = (($402) + 1)|0;
+ HEAP32[18149] = $403;
+ $404 = (($401) + ($402)|0);
+ $405 = HEAP8[$404>>0]|0;
+ $406 = $405 ^ $$sroa$330$0$extract$trunc;
+ HEAP8[$404>>0] = $406;
+ $407 = ($403>>>0)>(599);
+ if ($407) {
+ HEAP32[18149] = 0;
+ _mix_pool($401);
+ $408 = HEAP32[18138]|0;
+ $409 = (($408) + 1)|0;
+ HEAP32[18138] = $409;
+ HEAP32[18150] = 1;
+ }
+ HEAP32[18150] = 0;
+ }
+ $58 = HEAP32[18132]|0;
+ $59 = ($58|0)==(0);
+ if ($59) {
+ label = 16;
+ break L6;
+ }
+ $60 = ($$040$i>>>0)>(600);
+ if ($60) {
+ label = 18;
+ break L6;
+ }
+ $61 = HEAP32[18137]|0;
+ $62 = ($61|0)==(0);
+ L31: do {
+ if ($62) {
+ $63 = HEAP32[18152]|0;
+ $64 = ($63|0)==(0|0);
+ L33: do {
+ if (!($64)) {
+ $65 = (_open($63,0,$vararg_buffer3)|0);
+ $66 = ($65|0)==(-1);
+ if ($66) {
+ $67 = (___errno_location()|0);
+ $68 = HEAP32[$67>>2]|0;
+ $69 = ($68|0)==(2);
+ if ($69) {
+ HEAP32[18153] = 1;
+ break;
+ } else {
+ $70 = (__gcry_gettext(68050)|0);
+ $71 = HEAP32[18152]|0;
+ $72 = (___errno_location()|0);
+ $73 = HEAP32[$72>>2]|0;
+ $74 = (_strerror($73)|0);
+ HEAP32[$vararg_buffer5>>2] = $71;
+ $vararg_ptr8 = ((($vararg_buffer5)) + 4|0);
+ HEAP32[$vararg_ptr8>>2] = $74;
+ __gcry_log_info($70,$vararg_buffer5);
+ break;
+ }
+ }
+ $75 = HEAP32[18152]|0;
+ $76 = (_lock_seed_file($65,$75,0)|0);
+ $77 = ($76|0)==(0);
+ if (!($77)) {
+ (_close($65)|0);
+ break;
+ }
+ $78 = (_fstat($65,$3)|0);
+ $79 = ($78|0)==(0);
+ if (!($79)) {
+ $80 = (__gcry_gettext(68071)|0);
+ $81 = HEAP32[18152]|0;
+ $82 = (___errno_location()|0);
+ $83 = HEAP32[$82>>2]|0;
+ $84 = (_strerror($83)|0);
+ HEAP32[$vararg_buffer9>>2] = $81;
+ $vararg_ptr12 = ((($vararg_buffer9)) + 4|0);
+ HEAP32[$vararg_ptr12>>2] = $84;
+ __gcry_log_info($80,$vararg_buffer9);
+ (_close($65)|0);
+ break;
+ }
+ $85 = HEAP32[$21>>2]|0;
+ $86 = $85 & 61440;
+ $87 = ($86|0)==(32768);
+ if (!($87)) {
+ $88 = (__gcry_gettext(68092)|0);
+ $89 = HEAP32[18152]|0;
+ HEAP32[$vararg_buffer13>>2] = $89;
+ __gcry_log_info($88,$vararg_buffer13);
+ (_close($65)|0);
+ break;
+ }
+ $90 = HEAP32[$22>>2]|0;
+ switch ($90|0) {
+ case 0: {
+ $91 = (__gcry_gettext(68130)|0);
+ __gcry_log_info($91,$vararg_buffer16);
+ (_close($65)|0);
+ HEAP32[18153] = 1;
+ break L33;
+ break;
+ }
+ case 600: {
+ L54: while(1) {
+ $93 = (_read($65,$4,600)|0);
+ switch ($93|0) {
+ case 600: {
+ break L54;
+ break;
+ }
+ case -1: {
+ break;
+ }
+ default: {
+ label = 37;
+ break L6;
+ }
+ }
+ $94 = (___errno_location()|0);
+ $95 = HEAP32[$94>>2]|0;
+ $96 = ($95|0)==(4);
+ if (!($96)) {
+ label = 37;
+ break L6;
+ }
+ }
+ (_close($65)|0);
+ $102 = HEAP32[18132]|0;
+ $103 = ($102|0)==(0);
+ if ($103) {
+ label = 39;
+ break L6;
+ }
+ $104 = HEAP32[18142]|0;
+ $105 = (($104) + 600)|0;
+ HEAP32[18142] = $105;
+ $106 = HEAP32[18141]|0;
+ $107 = (($106) + 1)|0;
+ HEAP32[18141] = $107;
+ $$01113$us$i$i$i = $4;$120 = 599;
+ while(1) {
+ $108 = ((($$01113$us$i$i$i)) + 1|0);
+ $109 = HEAP8[$$01113$us$i$i$i>>0]|0;
+ $110 = HEAP32[18133]|0;
+ $111 = HEAP32[18149]|0;
+ $112 = (($111) + 1)|0;
+ HEAP32[18149] = $112;
+ $113 = (($110) + ($111)|0);
+ $114 = HEAP8[$113>>0]|0;
+ $115 = $114 ^ $109;
+ HEAP8[$113>>0] = $115;
+ $116 = ($112>>>0)>(599);
+ if ($116) {
+ HEAP32[18149] = 0;
+ _mix_pool($110);
+ $117 = HEAP32[18138]|0;
+ $118 = (($117) + 1)|0;
+ HEAP32[18138] = $118;
+ $119 = ($120|0)==(0);
+ $121 = $119&1;
+ HEAP32[18150] = $121;
+ }
+ $122 = (($120) + -1)|0;
+ $123 = ($120|0)==(0);
+ if ($123) {
+ break;
+ } else {
+ $$01113$us$i$i$i = $108;$120 = $122;
+ }
+ }
+ $124 = (_getpid()|0);
+ $$sroa$358$0$extract$shift$i = $124 >>> 24;
+ $$sroa$358$0$extract$trunc$i = $$sroa$358$0$extract$shift$i&255;
+ $125 = HEAP32[18132]|0;
+ $126 = ($125|0)==(0);
+ $127 = $124 >>> 8;
+ $128 = $127&255;
+ $129 = $124 >>> 16;
+ $130 = $129&255;
+ if ($126) {
+ label = 45;
+ break L6;
+ }
+ $131 = $124&255;
+ $132 = HEAP32[18142]|0;
+ $133 = (($132) + 4)|0;
+ HEAP32[18142] = $133;
+ $134 = HEAP32[18141]|0;
+ $135 = (($134) + 1)|0;
+ HEAP32[18141] = $135;
+ $136 = HEAP32[18133]|0;
+ $137 = HEAP32[18149]|0;
+ $138 = (($137) + 1)|0;
+ HEAP32[18149] = $138;
+ $139 = (($136) + ($137)|0);
+ $140 = HEAP8[$139>>0]|0;
+ $141 = $140 ^ $131;
+ HEAP8[$139>>0] = $141;
+ $142 = ($138>>>0)>(599);
+ if ($142) {
+ HEAP32[18149] = 0;
+ _mix_pool($136);
+ $143 = HEAP32[18138]|0;
+ $144 = (($143) + 1)|0;
+ HEAP32[18138] = $144;
+ HEAP32[18150] = 0;
+ $$pre$i$i = HEAP32[18133]|0;
+ $$pre26$i$i = HEAP32[18149]|0;
+ $146 = $$pre26$i$i;$148 = $$pre$i$i;
+ } else {
+ $146 = $138;$148 = $136;
+ }
+ $145 = (($146) + 1)|0;
+ HEAP32[18149] = $145;
+ $147 = (($148) + ($146)|0);
+ $149 = HEAP8[$147>>0]|0;
+ $150 = $149 ^ $128;
+ HEAP8[$147>>0] = $150;
+ $151 = ($145>>>0)>(599);
+ if ($151) {
+ HEAP32[18149] = 0;
+ _mix_pool($148);
+ $248 = HEAP32[18138]|0;
+ $249 = (($248) + 1)|0;
+ HEAP32[18138] = $249;
+ HEAP32[18150] = 0;
+ $$pre27$i$i = HEAP32[18133]|0;
+ $$pre28$i$i = HEAP32[18149]|0;
+ $251 = $$pre28$i$i;$253 = $$pre27$i$i;
+ } else {
+ $251 = $145;$253 = $148;
+ }
+ $250 = (($251) + 1)|0;
+ HEAP32[18149] = $250;
+ $252 = (($253) + ($251)|0);
+ $254 = HEAP8[$252>>0]|0;
+ $255 = $254 ^ $130;
+ HEAP8[$252>>0] = $255;
+ $256 = ($250>>>0)>(599);
+ if ($256) {
+ HEAP32[18149] = 0;
+ _mix_pool($253);
+ $257 = HEAP32[18138]|0;
+ $258 = (($257) + 1)|0;
+ HEAP32[18138] = $258;
+ HEAP32[18150] = 0;
+ }
+ $259 = HEAP32[18133]|0;
+ $260 = HEAP32[18149]|0;
+ $261 = (($260) + 1)|0;
+ HEAP32[18149] = $261;
+ $262 = (($259) + ($260)|0);
+ $263 = HEAP8[$262>>0]|0;
+ $264 = $263 ^ $$sroa$358$0$extract$trunc$i;
+ HEAP8[$262>>0] = $264;
+ $265 = ($261>>>0)>(599);
+ if ($265) {
+ HEAP32[18149] = 0;
+ _mix_pool($259);
+ $266 = HEAP32[18138]|0;
+ $267 = (($266) + 1)|0;
+ HEAP32[18138] = $267;
+ HEAP32[18150] = 1;
+ }
+ $153 = (_time((0|0))|0);
+ $$sroa$353$0$extract$shift$i = $153 >>> 24;
+ $$sroa$353$0$extract$trunc$i = $$sroa$353$0$extract$shift$i&255;
+ $268 = HEAP32[18132]|0;
+ $269 = ($268|0)==(0);
+ $270 = $153 >>> 8;
+ $173 = $270&255;
+ $271 = $153 >>> 16;
+ $231 = $271&255;
+ if ($269) {
+ label = 49;
+ break L6;
+ }
+ $152 = $153&255;
+ $154 = HEAP32[18142]|0;
+ $155 = (($154) + 4)|0;
+ HEAP32[18142] = $155;
+ $156 = HEAP32[18141]|0;
+ $157 = (($156) + 1)|0;
+ HEAP32[18141] = $157;
+ $158 = HEAP32[18133]|0;
+ $159 = HEAP32[18149]|0;
+ $160 = (($159) + 1)|0;
+ HEAP32[18149] = $160;
+ $161 = (($158) + ($159)|0);
+ $162 = HEAP8[$161>>0]|0;
+ $163 = $162 ^ $152;
+ HEAP8[$161>>0] = $163;
+ $164 = ($160>>>0)>(599);
+ if ($164) {
+ HEAP32[18149] = 0;
+ _mix_pool($158);
+ $165 = HEAP32[18138]|0;
+ $166 = (($165) + 1)|0;
+ HEAP32[18138] = $166;
+ HEAP32[18150] = 0;
+ $$pre29$i$i = HEAP32[18133]|0;
+ $$pre30$i$i = HEAP32[18149]|0;
+ $168 = $$pre30$i$i;$170 = $$pre29$i$i;
+ } else {
+ $168 = $160;$170 = $158;
+ }
+ $167 = (($168) + 1)|0;
+ HEAP32[18149] = $167;
+ $169 = (($170) + ($168)|0);
+ $171 = HEAP8[$169>>0]|0;
+ $172 = $171 ^ $173;
+ HEAP8[$169>>0] = $172;
+ $174 = ($167>>>0)>(599);
+ if ($174) {
+ HEAP32[18149] = 0;
+ _mix_pool($170);
+ $223 = HEAP32[18138]|0;
+ $224 = (($223) + 1)|0;
+ HEAP32[18138] = $224;
+ HEAP32[18150] = 0;
+ $$pre31$i$i = HEAP32[18133]|0;
+ $$pre32$i$i = HEAP32[18149]|0;
+ $226 = $$pre32$i$i;$228 = $$pre31$i$i;
+ } else {
+ $226 = $167;$228 = $170;
+ }
+ $225 = (($226) + 1)|0;
+ HEAP32[18149] = $225;
+ $227 = (($228) + ($226)|0);
+ $229 = HEAP8[$227>>0]|0;
+ $230 = $229 ^ $231;
+ HEAP8[$227>>0] = $230;
+ $232 = ($225>>>0)>(599);
+ if ($232) {
+ HEAP32[18149] = 0;
+ _mix_pool($228);
+ $233 = HEAP32[18138]|0;
+ $234 = (($233) + 1)|0;
+ HEAP32[18138] = $234;
+ HEAP32[18150] = 0;
+ }
+ $235 = HEAP32[18133]|0;
+ $236 = HEAP32[18149]|0;
+ $237 = (($236) + 1)|0;
+ HEAP32[18149] = $237;
+ $238 = (($235) + ($236)|0);
+ $239 = HEAP8[$238>>0]|0;
+ $240 = $239 ^ $$sroa$353$0$extract$trunc$i;
+ HEAP8[$238>>0] = $240;
+ $241 = ($237>>>0)>(599);
+ if ($241) {
+ HEAP32[18149] = 0;
+ _mix_pool($235);
+ $242 = HEAP32[18138]|0;
+ $243 = (($242) + 1)|0;
+ HEAP32[18138] = $243;
+ HEAP32[18150] = 1;
+ }
+ $176 = (_clock()|0);
+ $$sroa$3$0$extract$shift$i = $176 >>> 24;
+ $$sroa$3$0$extract$trunc$i = $$sroa$3$0$extract$shift$i&255;
+ $244 = HEAP32[18132]|0;
+ $245 = ($244|0)==(0);
+ $246 = $176 >>> 8;
+ $196 = $246&255;
+ $247 = $176 >>> 16;
+ $208 = $247&255;
+ if ($245) {
+ label = 53;
+ break L6;
+ }
+ $175 = $176&255;
+ $177 = HEAP32[18142]|0;
+ $178 = (($177) + 4)|0;
+ HEAP32[18142] = $178;
+ $179 = HEAP32[18141]|0;
+ $180 = (($179) + 1)|0;
+ HEAP32[18141] = $180;
+ $181 = HEAP32[18133]|0;
+ $182 = HEAP32[18149]|0;
+ $183 = (($182) + 1)|0;
+ HEAP32[18149] = $183;
+ $184 = (($181) + ($182)|0);
+ $185 = HEAP8[$184>>0]|0;
+ $186 = $185 ^ $175;
+ HEAP8[$184>>0] = $186;
+ $187 = ($183>>>0)>(599);
+ if ($187) {
+ HEAP32[18149] = 0;
+ _mix_pool($181);
+ $188 = HEAP32[18138]|0;
+ $189 = (($188) + 1)|0;
+ HEAP32[18138] = $189;
+ HEAP32[18150] = 0;
+ $$pre33$i$i = HEAP32[18133]|0;
+ $$pre34$i$i = HEAP32[18149]|0;
+ $191 = $$pre34$i$i;$193 = $$pre33$i$i;
+ } else {
+ $191 = $183;$193 = $181;
+ }
+ $190 = (($191) + 1)|0;
+ HEAP32[18149] = $190;
+ $192 = (($193) + ($191)|0);
+ $194 = HEAP8[$192>>0]|0;
+ $195 = $194 ^ $196;
+ HEAP8[$192>>0] = $195;
+ $197 = ($190>>>0)>(599);
+ if ($197) {
+ HEAP32[18149] = 0;
+ _mix_pool($193);
+ $200 = HEAP32[18138]|0;
+ $201 = (($200) + 1)|0;
+ HEAP32[18138] = $201;
+ HEAP32[18150] = 0;
+ $$pre35$i$i = HEAP32[18133]|0;
+ $$pre36$i$i = HEAP32[18149]|0;
+ $203 = $$pre36$i$i;$205 = $$pre35$i$i;
+ } else {
+ $203 = $190;$205 = $193;
+ }
+ $202 = (($203) + 1)|0;
+ HEAP32[18149] = $202;
+ $204 = (($205) + ($203)|0);
+ $206 = HEAP8[$204>>0]|0;
+ $207 = $206 ^ $208;
+ HEAP8[$204>>0] = $207;
+ $209 = ($202>>>0)>(599);
+ if ($209) {
+ HEAP32[18149] = 0;
+ _mix_pool($205);
+ $210 = HEAP32[18138]|0;
+ $211 = (($210) + 1)|0;
+ HEAP32[18138] = $211;
+ HEAP32[18150] = 0;
+ }
+ $212 = HEAP32[18133]|0;
+ $213 = HEAP32[18149]|0;
+ $214 = (($213) + 1)|0;
+ HEAP32[18149] = $214;
+ $215 = (($212) + ($213)|0);
+ $216 = HEAP8[$215>>0]|0;
+ $217 = $216 ^ $$sroa$3$0$extract$trunc$i;
+ HEAP8[$215>>0] = $217;
+ $218 = ($214>>>0)>(599);
+ if ($218) {
+ HEAP32[18149] = 0;
+ _mix_pool($212);
+ $219 = HEAP32[18138]|0;
+ $220 = (($219) + 1)|0;
+ HEAP32[18138] = $220;
+ HEAP32[18150] = 1;
+ }
+ $221 = HEAP32[18136]|0;
+ $222 = ($221|0)==(0|0);
+ if ($222) {
+ label = 57;
+ break L6;
+ }
+ $198 = (__gcry_rndlinux_gather_random(84,0,16,0)|0);
+ $199 = ($198|0)<(0);
+ if ($199) {
+ label = 59;
+ break L6;
+ }
+ HEAP32[18153] = 1;
+ HEAP32[18137] = 1;
+ break L31;
+ break;
+ }
+ default: {
+ $92 = (__gcry_gettext(68163)|0);
+ __gcry_log_info($92,$vararg_buffer18);
+ (_close($65)|0);
+ break L33;
+ }
+ }
+ }
+ } while(0);
+ }
+ } while(0);
+ $272 = HEAP32[18154]|0;
+ $273 = ($272|0)!=(0);
+ $or$cond$i = $19 | $273;
+ if ($or$cond$i) {
+ if ($20) {
+ $$pr$i = HEAP32[18155]|0;
+ $282 = $$pr$i;
+ label = 88;
+ }
+ } else {
+ HEAP32[18155] = 0;
+ $274 = ($$040$i>>>0)>(16);
+ $$$040$i = $274 ? $$040$i : 16;
+ $275 = HEAP32[18136]|0;
+ $276 = ($275|0)==(0|0);
+ if ($276) {
+ label = 82;
+ break L6;
+ }
+ $277 = (__gcry_rndlinux_gather_random(84,4,$$$040$i,2)|0);
+ $278 = ($277|0)<(0);
+ if ($278) {
+ label = 84;
+ break L6;
+ }
+ $279 = HEAP32[18155]|0;
+ $280 = (($279) + ($$$040$i))|0;
+ HEAP32[18155] = $280;
+ HEAP32[18154] = 1;
+ $282 = $280;
+ label = 88;
+ }
+ if ((label|0) == 88) {
+ label = 0;
+ $281 = ($282>>>0)<($$040$i>>>0);
+ if ($281) {
+ $283 = ($282|0)<(0);
+ if ($283) {
+ HEAP32[18155] = 0;
+ $285 = 0;
+ } else {
+ $285 = $282;
+ }
+ $284 = (($$040$i) - ($285))|0;
+ $286 = ($284>>>0)>(600);
+ if ($286) {
+ label = 92;
+ break L6;
+ }
+ $287 = HEAP32[18136]|0;
+ $288 = ($287|0)==(0|0);
+ if ($288) {
+ label = 94;
+ break L6;
+ }
+ $289 = (__gcry_rndlinux_gather_random(84,4,$284,2)|0);
+ $290 = ($289|0)<(0);
+ if ($290) {
+ label = 96;
+ break L6;
+ }
+ $291 = HEAP32[18155]|0;
+ $292 = (($291) + ($284))|0;
+ HEAP32[18155] = $292;
+ }
+ }
+ $293 = HEAP32[18137]|0;
+ $294 = ($293|0)==(0);
+ if ($294) {
+ while(1) {
+ $297 = HEAP32[18139]|0;
+ $298 = (($297) + 1)|0;
+ HEAP32[18139] = $298;
+ $299 = HEAP32[18136]|0;
+ $300 = ($299|0)==(0|0);
+ if ($300) {
+ label = 102;
+ break L6;
+ }
+ $301 = (__gcry_rndlinux_gather_random(84,3,120,1)|0);
+ $302 = ($301|0)<(0);
+ if ($302) {
+ label = 104;
+ break L6;
+ }
+ $295 = HEAP32[18137]|0;
+ $296 = ($295|0)==(0);
+ if (!($296)) {
+ break;
+ }
+ }
+ }
+ _do_fast_random_poll();
+ $303 = HEAP32[10063]|0;
+ $$sroa$4$0$extract$shift = $303 >>> 24;
+ $$sroa$4$0$extract$trunc = $$sroa$4$0$extract$shift&255;
+ $304 = HEAP32[18132]|0;
+ $305 = ($304|0)==(0);
+ $306 = $303 >>> 8;
+ $307 = $306&255;
+ $308 = $303 >>> 16;
+ $309 = $308&255;
+ if ($305) {
+ label = 106;
+ break L6;
+ }
+ $310 = $303&255;
+ $311 = HEAP32[18142]|0;
+ $312 = (($311) + 4)|0;
+ HEAP32[18142] = $312;
+ $313 = HEAP32[18141]|0;
+ $314 = (($313) + 1)|0;
+ HEAP32[18141] = $314;
+ $315 = HEAP32[18133]|0;
+ $316 = HEAP32[18149]|0;
+ $317 = (($316) + 1)|0;
+ HEAP32[18149] = $317;
+ $318 = (($315) + ($316)|0);
+ $319 = HEAP8[$318>>0]|0;
+ $320 = $319 ^ $310;
+ HEAP8[$318>>0] = $320;
+ $321 = ($317>>>0)>(599);
+ if ($321) {
+ HEAP32[18149] = 0;
+ _mix_pool($315);
+ $322 = HEAP32[18138]|0;
+ $323 = (($322) + 1)|0;
+ HEAP32[18138] = $323;
+ HEAP32[18150] = 0;
+ $$pre80$i = HEAP32[18133]|0;
+ $$pre81$i = HEAP32[18149]|0;
+ $325 = $$pre81$i;$327 = $$pre80$i;
+ } else {
+ $325 = $317;$327 = $315;
+ }
+ $324 = (($325) + 1)|0;
+ HEAP32[18149] = $324;
+ $326 = (($327) + ($325)|0);
+ $328 = HEAP8[$326>>0]|0;
+ $329 = $328 ^ $307;
+ HEAP8[$326>>0] = $329;
+ $330 = ($324>>>0)>(599);
+ if ($330) {
+ HEAP32[18149] = 0;
+ _mix_pool($327);
+ $410 = HEAP32[18138]|0;
+ $411 = (($410) + 1)|0;
+ HEAP32[18138] = $411;
+ HEAP32[18150] = 0;
+ $$pre82$i = HEAP32[18133]|0;
+ $$pre83$i = HEAP32[18149]|0;
+ $413 = $$pre83$i;$415 = $$pre82$i;
+ } else {
+ $413 = $324;$415 = $327;
+ }
+ $412 = (($413) + 1)|0;
+ HEAP32[18149] = $412;
+ $414 = (($415) + ($413)|0);
+ $416 = HEAP8[$414>>0]|0;
+ $417 = $416 ^ $309;
+ HEAP8[$414>>0] = $417;
+ $418 = ($412>>>0)>(599);
+ if ($418) {
+ HEAP32[18149] = 0;
+ _mix_pool($415);
+ $419 = HEAP32[18138]|0;
+ $420 = (($419) + 1)|0;
+ HEAP32[18138] = $420;
+ HEAP32[18150] = 0;
+ }
+ $331 = HEAP32[18133]|0;
+ $421 = HEAP32[18149]|0;
+ $422 = (($421) + 1)|0;
+ HEAP32[18149] = $422;
+ $423 = (($331) + ($421)|0);
+ $424 = HEAP8[$423>>0]|0;
+ $425 = $424 ^ $$sroa$4$0$extract$trunc;
+ HEAP8[$423>>0] = $425;
+ $426 = ($422>>>0)>(599);
+ if ($426) {
+ HEAP32[18149] = 0;
+ _mix_pool($331);
+ $427 = HEAP32[18138]|0;
+ $428 = (($427) + 1)|0;
+ HEAP32[18138] = $428;
+ HEAP32[18150] = 1;
+ } else {
+ $$pre84$i = HEAP32[18150]|0;
+ $429 = ($$pre84$i|0)==(0);
+ if ($429) {
+ _mix_pool($331);
+ $332 = HEAP32[18138]|0;
+ $333 = (($332) + 1)|0;
+ HEAP32[18138] = $333;
+ }
+ }
+ $334 = HEAP32[18135]|0;
+ $335 = HEAP32[18133]|0;
+ $$03763$i = $334;$$03862$i = $335;$$03961$i = 0;
+ while(1) {
+ $336 = HEAP32[$$03862$i>>2]|0;
+ $337 = (($336) + -1515870811)|0;
+ HEAP32[$$03763$i>>2] = $337;
+ $338 = (($$03961$i) + 1)|0;
+ $339 = ((($$03763$i)) + 4|0);
+ $340 = ((($$03862$i)) + 4|0);
+ $exitcond$i = ($338|0)==(150);
+ if ($exitcond$i) {
+ break;
+ } else {
+ $$03763$i = $339;$$03862$i = $340;$$03961$i = $338;
+ }
+ }
+ _mix_pool($335);
+ $341 = HEAP32[18138]|0;
+ $342 = (($341) + 1)|0;
+ HEAP32[18138] = $342;
+ $343 = HEAP32[18135]|0;
+ _mix_pool($343);
+ $344 = HEAP32[18143]|0;
+ $345 = (($344) + 1)|0;
+ HEAP32[18143] = $345;
+ $346 = ($$040$i|0)==(0);
+ if ($346) {
+ $$pre86$i = HEAP32[18155]|0;
+ $$1$lcssa$i = $$0$i;$358 = $$pre86$i;
+ } else {
+ $347 = HEAP32[18135]|0;
+ $pool_readpos$promoted$i = HEAP32[18156]|0;
+ $pool_balance$promoted$i = HEAP32[18155]|0;
+ $$164$i = $$0$i;$$in$i = $$040$i;$350 = $pool_readpos$promoted$i;
+ while(1) {
+ $348 = (($$in$i) + -1)|0;
+ $349 = (($350) + 1)|0;
+ $351 = (($347) + ($350)|0);
+ $352 = HEAP8[$351>>0]|0;
+ $353 = ((($$164$i)) + 1|0);
+ HEAP8[$$164$i>>0] = $352;
+ $354 = ($349>>>0)>(599);
+ $spec$select$i = $354 ? 0 : $349;
+ $355 = ($348|0)==(0);
+ if ($355) {
+ break;
+ } else {
+ $$164$i = $353;$$in$i = $348;$350 = $spec$select$i;
+ }
+ }
+ $scevgep$i = (($$0$i) + ($$040$i)|0);
+ $356 = (($pool_balance$promoted$i) - ($$040$i))|0;
+ HEAP32[18156] = $spec$select$i;
+ HEAP32[18155] = $356;
+ $$1$lcssa$i = $scevgep$i;$358 = $356;
+ }
+ $357 = ($358|0)<(0);
+ if ($357) {
+ HEAP32[18155] = 0;
+ }
+ $359 = HEAP32[18135]|0;
+ _memset(($359|0),0,600)|0;
+ $360 = (_getpid()|0);
+ $$0$$0$$0$13$i = HEAP32[$5>>2]|0;
+ $361 = ($360|0)==($$0$$0$$0$13$i|0);
+ if ($361) {
+ break;
+ }
+ $362 = (_getpid()|0);
+ $$sroa$3$0$extract$shift = $362 >>> 24;
+ $$sroa$3$0$extract$trunc = $$sroa$3$0$extract$shift&255;
+ $363 = HEAP32[18132]|0;
+ $364 = ($363|0)==(0);
+ $365 = $362 >>> 8;
+ $366 = $365&255;
+ $367 = $362 >>> 16;
+ $368 = $367&255;
+ if ($364) {
+ label = 122;
+ break L6;
+ }
+ $369 = $362&255;
+ $370 = HEAP32[18142]|0;
+ $371 = (($370) + 4)|0;
+ HEAP32[18142] = $371;
+ $372 = HEAP32[18141]|0;
+ $373 = (($372) + 1)|0;
+ HEAP32[18141] = $373;
+ $374 = HEAP32[18133]|0;
+ $375 = HEAP32[18149]|0;
+ $376 = (($375) + 1)|0;
+ HEAP32[18149] = $376;
+ $377 = (($374) + ($375)|0);
+ $378 = HEAP8[$377>>0]|0;
+ $379 = $378 ^ $369;
+ HEAP8[$377>>0] = $379;
+ $380 = ($376>>>0)>(599);
+ if ($380) {
+ HEAP32[18149] = 0;
+ _mix_pool($374);
+ $381 = HEAP32[18138]|0;
+ $382 = (($381) + 1)|0;
+ HEAP32[18138] = $382;
+ HEAP32[18150] = 0;
+ $$pre87$i = HEAP32[18133]|0;
+ $$pre88$i = HEAP32[18149]|0;
+ $384 = $$pre88$i;$386 = $$pre87$i;
+ } else {
+ $384 = $376;$386 = $374;
+ }
+ $383 = (($384) + 1)|0;
+ HEAP32[18149] = $383;
+ $385 = (($386) + ($384)|0);
+ $387 = HEAP8[$385>>0]|0;
+ $388 = $387 ^ $366;
+ HEAP8[$385>>0] = $388;
+ $389 = ($383>>>0)>(599);
+ if ($389) {
+ HEAP32[18149] = 0;
+ _mix_pool($386);
+ $430 = HEAP32[18138]|0;
+ $431 = (($430) + 1)|0;
+ HEAP32[18138] = $431;
+ HEAP32[18150] = 0;
+ $$pre89$i = HEAP32[18133]|0;
+ $$pre90$i = HEAP32[18149]|0;
+ $433 = $$pre90$i;$435 = $$pre89$i;
+ } else {
+ $433 = $383;$435 = $386;
+ }
+ $432 = (($433) + 1)|0;
+ HEAP32[18149] = $432;
+ $434 = (($435) + ($433)|0);
+ $436 = HEAP8[$434>>0]|0;
+ $437 = $436 ^ $368;
+ HEAP8[$434>>0] = $437;
+ $438 = ($432>>>0)>(599);
+ if ($438) {
+ HEAP32[18149] = 0;
+ _mix_pool($435);
+ $439 = HEAP32[18138]|0;
+ $440 = (($439) + 1)|0;
+ HEAP32[18138] = $440;
+ HEAP32[18150] = 0;
+ }
+ $441 = HEAP32[18133]|0;
+ $442 = HEAP32[18149]|0;
+ $443 = (($442) + 1)|0;
+ HEAP32[18149] = $443;
+ $444 = (($441) + ($442)|0);
+ $445 = HEAP8[$444>>0]|0;
+ $446 = $445 ^ $$sroa$3$0$extract$trunc;
+ HEAP8[$444>>0] = $446;
+ $447 = ($443>>>0)>(599);
+ if ($447) {
+ HEAP32[18149] = 0;
+ _mix_pool($441);
+ $448 = HEAP32[18138]|0;
+ $449 = (($448) + 1)|0;
+ HEAP32[18138] = $449;
+ HEAP32[18150] = 1;
+ }
+ HEAP32[18150] = 0;
+ HEAP32[10063] = $362;
+ $$0$i = $$1$lcssa$i;$$040$i = -1;
+ }
+ $450 = (($$03536) - ($451))|0;
+ $452 = ($450|0)==(0);
+ if ($452) {
+ break L4;
+ }
+ $453 = (($$0183437) + ($451)|0);
+ $$pre = HEAP32[18132]|0;
+ $454 = ($450>>>0)<(600);
+ $455 = $454 ? $450 : 600;
+ $456 = ($$pre|0)==(0);
+ if ($456) {
+ label = 5;
+ break;
+ } else {
+ $$0183437 = $453;$$03536 = $450;$451 = $455;
+ }
+ }
+ switch (label|0) {
+ case 5: {
+ __gcry_assert_failed(67953,67968,934,67993);
+ // unreachable;
+ break;
+ }
+ case 11: {
+ __gcry_assert_failed(67953,67968,1074,68003);
+ // unreachable;
+ break;
+ }
+ case 16: {
+ __gcry_assert_failed(67953,67968,953,67993);
+ // unreachable;
+ break;
+ }
+ case 18: {
+ __gcry_log_bug(68018,$vararg_buffer1);
+ // unreachable;
+ break;
+ }
+ case 37: {
+ $97 = (__gcry_gettext(68217)|0);
+ $98 = HEAP32[18152]|0;
+ $99 = (___errno_location()|0);
+ $100 = HEAP32[$99>>2]|0;
+ $101 = (_strerror($100)|0);
+ HEAP32[$vararg_buffer20>>2] = $98;
+ $vararg_ptr23 = ((($vararg_buffer20)) + 4|0);
+ HEAP32[$vararg_ptr23>>2] = $101;
+ __gcry_log_fatal($97,$vararg_buffer20);
+ // unreachable;
+ break;
+ }
+ case 39: {
+ __gcry_assert_failed(67953,67968,1074,68003);
+ // unreachable;
+ break;
+ }
+ case 45: {
+ __gcry_assert_failed(67953,67968,1074,68003);
+ // unreachable;
+ break;
+ }
+ case 49: {
+ __gcry_assert_failed(67953,67968,1074,68003);
+ // unreachable;
+ break;
+ }
+ case 53: {
+ __gcry_assert_failed(67953,67968,1074,68003);
+ // unreachable;
+ break;
+ }
+ case 57: {
+ __gcry_log_fatal(68238,$vararg_buffer24);
+ // unreachable;
+ break;
+ }
+ case 59: {
+ __gcry_log_fatal(68289,$vararg_buffer26);
+ // unreachable;
+ break;
+ }
+ case 82: {
+ __gcry_log_fatal(68238,$vararg_buffer28);
+ // unreachable;
+ break;
+ }
+ case 84: {
+ __gcry_log_fatal(68289,$vararg_buffer30);
+ // unreachable;
+ break;
+ }
+ case 92: {
+ __gcry_bug(67968,995,67993);
+ // unreachable;
+ break;
+ }
+ case 94: {
+ __gcry_log_fatal(68238,$vararg_buffer32);
+ // unreachable;
+ break;
+ }
+ case 96: {
+ __gcry_log_fatal(68289,$vararg_buffer34);
+ // unreachable;
+ break;
+ }
+ case 102: {
+ __gcry_log_fatal(68238,$vararg_buffer36);
+ // unreachable;
+ break;
+ }
+ case 104: {
+ __gcry_log_fatal(68289,$vararg_buffer38);
+ // unreachable;
+ break;
+ }
+ case 106: {
+ __gcry_assert_failed(67953,67968,1074,68003);
+ // unreachable;
+ break;
+ }
+ case 122: {
+ __gcry_assert_failed(67953,67968,1074,68003);
+ // unreachable;
+ break;
+ }
+ }
+ }
+ } while(0);
+ HEAP32[18132] = 0;
+ $457 = (_gpgrt_lock_unlock(40208)|0);
+ $458 = ($457|0)==(0);
+ if ($458) {
+ STACKTOP = sp;return;
+ } else {
+ $459 = (_gpg_strerror($457)|0);
+ HEAP32[$vararg_buffer40>>2] = $459;
+ __gcry_log_fatal(67776,$vararg_buffer40);
+ // unreachable;
+ }
+}
+function _lock_seed_file($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$010 = 0, $$09 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
+ var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $spec$select = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer5 = 0, $vararg_buffer8 = 0, $vararg_ptr4 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
+ $vararg_buffer8 = sp + 24|0;
+ $vararg_buffer5 = sp + 16|0;
+ $vararg_buffer1 = sp + 8|0;
+ $vararg_buffer = sp;
+ $3 = sp + 40|0;
+ $4 = sp + 32|0;
+ $5 = ((($3)) + 4|0);
+ ;HEAP32[$5>>2]=0|0;HEAP32[$5+4>>2]=0|0;HEAP32[$5+8>>2]=0|0;
+ $6 = ($2|0)!=(0);
+ $7 = $6&1;
+ HEAP16[$3>>1] = $7;
+ $8 = ((($3)) + 2|0);
+ HEAP16[$8>>1] = 0;
+ HEAP32[$vararg_buffer>>2] = $3;
+ $9 = (_fcntl($0,13,$vararg_buffer)|0);
+ $10 = ($9|0)==(-1);
+ if (!($10)) {
+ $$09 = 0;
+ STACKTOP = sp;return ($$09|0);
+ }
+ $11 = ((($4)) + 4|0);
+ $$010 = 0;
+ while(1) {
+ $12 = (___errno_location()|0);
+ $13 = HEAP32[$12>>2]|0;
+ $14 = ($13|0)==(11);
+ if (!($14)) {
+ $15 = (___errno_location()|0);
+ $16 = HEAP32[$15>>2]|0;
+ $17 = ($16|0)==(13);
+ if (!($17)) {
+ break;
+ }
+ }
+ $22 = ($$010>>>0)>(2);
+ if ($22) {
+ $23 = (__gcry_gettext(68368)|0);
+ HEAP32[$vararg_buffer5>>2] = $1;
+ __gcry_log_info($23,$vararg_buffer5);
+ }
+ HEAP32[$4>>2] = $$010;
+ HEAP32[$11>>2] = 250000;
+ (_select(0,0,0,0,$4)|0);
+ $24 = ($$010>>>0)<(10);
+ $25 = $24&1;
+ $spec$select = (($$010) + ($25))|0;
+ HEAP32[$vararg_buffer8>>2] = $3;
+ $26 = (_fcntl($0,13,$vararg_buffer8)|0);
+ $27 = ($26|0)==(-1);
+ if ($27) {
+ $$010 = $spec$select;
+ } else {
+ $$09 = 0;
+ label = 9;
+ break;
+ }
+ }
+ if ((label|0) == 9) {
+ STACKTOP = sp;return ($$09|0);
+ }
+ $18 = (__gcry_gettext(68347)|0);
+ $19 = (___errno_location()|0);
+ $20 = HEAP32[$19>>2]|0;
+ $21 = (_strerror($20)|0);
+ HEAP32[$vararg_buffer1>>2] = $1;
+ $vararg_ptr4 = ((($vararg_buffer1)) + 4|0);
+ HEAP32[$vararg_ptr4>>2] = $21;
+ __gcry_log_info($18,$vararg_buffer1);
+ $$09 = -1;
+ STACKTOP = sp;return ($$09|0);
+}
+function _add_randomness($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$01113 = 0, $$01113$us = 0, $$014 = 0, $$1 = 0, $$2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0;
+ var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0;
+ var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $3 = HEAP32[18132]|0;
+ $4 = ($3|0)==(0);
+ if ($4) {
+ __gcry_assert_failed(67953,67968,1074,68003);
+ // unreachable;
+ }
+ $5 = HEAP32[18142]|0;
+ $6 = (($5) + ($1))|0;
+ HEAP32[18142] = $6;
+ $7 = HEAP32[18141]|0;
+ $8 = (($7) + 1)|0;
+ HEAP32[18141] = $8;
+ $9 = (($1) + -1)|0;
+ $10 = ($1|0)==(0);
+ if ($10) {
+ return;
+ }
+ $11 = ($2>>>0)<(3);
+ if ($11) {
+ $$01113$us = $0;$24 = $9;
+ while(1) {
+ $12 = ((($$01113$us)) + 1|0);
+ $13 = HEAP8[$$01113$us>>0]|0;
+ $14 = HEAP32[18133]|0;
+ $15 = HEAP32[18149]|0;
+ $16 = (($15) + 1)|0;
+ HEAP32[18149] = $16;
+ $17 = (($14) + ($15)|0);
+ $18 = HEAP8[$17>>0]|0;
+ $19 = $18 ^ $13;
+ HEAP8[$17>>0] = $19;
+ $20 = ($16>>>0)>(599);
+ if ($20) {
+ HEAP32[18149] = 0;
+ _mix_pool($14);
+ $21 = HEAP32[18138]|0;
+ $22 = (($21) + 1)|0;
+ HEAP32[18138] = $22;
+ $23 = ($24|0)==(0);
+ $25 = $23&1;
+ HEAP32[18150] = $25;
+ }
+ $26 = (($24) + -1)|0;
+ $27 = ($24|0)==(0);
+ if ($27) {
+ break;
+ } else {
+ $$01113$us = $12;$24 = $26;
+ }
+ }
+ return;
+ }
+ $$01113 = $0;$$014 = 0;$46 = $9;
+ while(1) {
+ $28 = ((($$01113)) + 1|0);
+ $29 = HEAP8[$$01113>>0]|0;
+ $30 = HEAP32[18133]|0;
+ $31 = HEAP32[18149]|0;
+ $32 = (($31) + 1)|0;
+ HEAP32[18149] = $32;
+ $33 = (($30) + ($31)|0);
+ $34 = HEAP8[$33>>0]|0;
+ $35 = $34 ^ $29;
+ HEAP8[$33>>0] = $35;
+ $36 = (($$014) + 1)|0;
+ $37 = ($32>>>0)>(599);
+ if ($37) {
+ $38 = HEAP32[18137]|0;
+ $39 = ($38|0)==(0);
+ if ($39) {
+ $40 = HEAP32[18157]|0;
+ $41 = (($40) + ($36))|0;
+ HEAP32[18157] = $41;
+ $42 = ($41>>>0)>(599);
+ if ($42) {
+ HEAP32[18137] = 1;
+ $$1 = 0;
+ } else {
+ $$1 = 0;
+ }
+ } else {
+ $$1 = $36;
+ }
+ HEAP32[18149] = 0;
+ _mix_pool($30);
+ $43 = HEAP32[18138]|0;
+ $44 = (($43) + 1)|0;
+ HEAP32[18138] = $44;
+ $45 = ($46|0)==(0);
+ $47 = $45&1;
+ HEAP32[18150] = $47;
+ $$2 = $$1;
+ } else {
+ $$2 = $36;
+ }
+ $48 = (($46) + -1)|0;
+ $49 = ($46|0)==(0);
+ if ($49) {
+ break;
+ } else {
+ $$01113 = $28;$$014 = $$2;$46 = $48;
+ }
+ }
+ return;
+}
+function _do_fast_random_poll() {
+ var $$01113$us$i3 = 0, $$pre = 0, $$pre13 = 0, $$pre14 = 0, $$pre15 = 0, $$pre16 = 0, $$pre17 = 0, $$pre18 = 0, $$pre19 = 0, $$pre20 = 0, $$pre21 = 0, $$pre22 = 0, $$pre23 = 0, $$pre24 = 0, $$pre25 = 0, $$pre26 = 0, $$pre27 = 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, $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, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 160|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(160|0);
+ $0 = sp + 144|0;
+ $1 = sp + 8|0;
+ $2 = sp + 4|0;
+ $3 = sp;
+ $4 = HEAP32[18132]|0;
+ $5 = ($4|0)==(0);
+ if ($5) {
+ __gcry_assert_failed(67953,67968,1180,68327);
+ // unreachable;
+ }
+ $6 = HEAP32[18140]|0;
+ $7 = (($6) + 1)|0;
+ HEAP32[18140] = $7;
+ $8 = (_gettimeofday(($0|0),(0|0))|0);
+ $9 = ($8|0)==(0);
+ if (!($9)) {
+ __gcry_bug(67968,1198,68327);
+ // unreachable;
+ }
+ $10 = HEAP32[18132]|0;
+ $11 = ($10|0)==(0);
+ if ($11) {
+ __gcry_assert_failed(67953,67968,1074,68003);
+ // unreachable;
+ }
+ $12 = HEAP32[18142]|0;
+ $13 = (($12) + 4)|0;
+ HEAP32[18142] = $13;
+ $14 = HEAP32[18141]|0;
+ $15 = (($14) + 1)|0;
+ HEAP32[18141] = $15;
+ $16 = ((($0)) + 1|0);
+ $17 = HEAP8[$0>>0]|0;
+ $18 = HEAP32[18133]|0;
+ $19 = HEAP32[18149]|0;
+ $20 = (($19) + 1)|0;
+ HEAP32[18149] = $20;
+ $21 = (($18) + ($19)|0);
+ $22 = HEAP8[$21>>0]|0;
+ $23 = $22 ^ $17;
+ HEAP8[$21>>0] = $23;
+ $24 = ($20>>>0)>(599);
+ if ($24) {
+ HEAP32[18149] = 0;
+ _mix_pool($18);
+ $25 = HEAP32[18138]|0;
+ $26 = (($25) + 1)|0;
+ HEAP32[18138] = $26;
+ HEAP32[18150] = 0;
+ $$pre = HEAP32[18133]|0;
+ $$pre13 = HEAP32[18149]|0;
+ $30 = $$pre13;$32 = $$pre;
+ } else {
+ $30 = $20;$32 = $18;
+ }
+ $27 = ((($0)) + 2|0);
+ $28 = HEAP8[$16>>0]|0;
+ $29 = (($30) + 1)|0;
+ HEAP32[18149] = $29;
+ $31 = (($32) + ($30)|0);
+ $33 = HEAP8[$31>>0]|0;
+ $34 = $33 ^ $28;
+ HEAP8[$31>>0] = $34;
+ $35 = ($29>>>0)>(599);
+ if ($35) {
+ HEAP32[18149] = 0;
+ _mix_pool($32);
+ $206 = HEAP32[18138]|0;
+ $207 = (($206) + 1)|0;
+ HEAP32[18138] = $207;
+ HEAP32[18150] = 0;
+ $$pre14 = HEAP32[18133]|0;
+ $$pre15 = HEAP32[18149]|0;
+ $211 = $$pre15;$213 = $$pre14;
+ } else {
+ $211 = $29;$213 = $32;
+ }
+ $208 = ((($0)) + 3|0);
+ $209 = HEAP8[$27>>0]|0;
+ $210 = (($211) + 1)|0;
+ HEAP32[18149] = $210;
+ $212 = (($213) + ($211)|0);
+ $214 = HEAP8[$212>>0]|0;
+ $215 = $214 ^ $209;
+ HEAP8[$212>>0] = $215;
+ $216 = ($210>>>0)>(599);
+ if ($216) {
+ HEAP32[18149] = 0;
+ _mix_pool($213);
+ $217 = HEAP32[18138]|0;
+ $218 = (($217) + 1)|0;
+ HEAP32[18138] = $218;
+ HEAP32[18150] = 0;
+ }
+ $219 = HEAP8[$208>>0]|0;
+ $220 = HEAP32[18133]|0;
+ $221 = HEAP32[18149]|0;
+ $222 = (($221) + 1)|0;
+ HEAP32[18149] = $222;
+ $223 = (($220) + ($221)|0);
+ $224 = HEAP8[$223>>0]|0;
+ $225 = $224 ^ $219;
+ HEAP8[$223>>0] = $225;
+ $226 = ($222>>>0)>(599);
+ if ($226) {
+ HEAP32[18149] = 0;
+ _mix_pool($220);
+ $227 = HEAP32[18138]|0;
+ $228 = (($227) + 1)|0;
+ HEAP32[18138] = $228;
+ HEAP32[18150] = 1;
+ }
+ $229 = HEAP32[18132]|0;
+ $230 = ($229|0)==(0);
+ if ($230) {
+ __gcry_assert_failed(67953,67968,1074,68003);
+ // unreachable;
+ }
+ $36 = ((($0)) + 4|0);
+ $37 = HEAP32[18142]|0;
+ $38 = (($37) + 4)|0;
+ HEAP32[18142] = $38;
+ $39 = HEAP32[18141]|0;
+ $40 = (($39) + 1)|0;
+ HEAP32[18141] = $40;
+ $41 = ((($36)) + 1|0);
+ $42 = HEAP8[$36>>0]|0;
+ $43 = HEAP32[18133]|0;
+ $44 = HEAP32[18149]|0;
+ $45 = (($44) + 1)|0;
+ HEAP32[18149] = $45;
+ $46 = (($43) + ($44)|0);
+ $47 = HEAP8[$46>>0]|0;
+ $48 = $47 ^ $42;
+ HEAP8[$46>>0] = $48;
+ $49 = ($45>>>0)>(599);
+ if ($49) {
+ HEAP32[18149] = 0;
+ _mix_pool($43);
+ $50 = HEAP32[18138]|0;
+ $51 = (($50) + 1)|0;
+ HEAP32[18138] = $51;
+ HEAP32[18150] = 0;
+ $$pre16 = HEAP32[18133]|0;
+ $$pre17 = HEAP32[18149]|0;
+ $55 = $$pre17;$57 = $$pre16;
+ } else {
+ $55 = $45;$57 = $43;
+ }
+ $52 = ((($36)) + 2|0);
+ $53 = HEAP8[$41>>0]|0;
+ $54 = (($55) + 1)|0;
+ HEAP32[18149] = $54;
+ $56 = (($57) + ($55)|0);
+ $58 = HEAP8[$56>>0]|0;
+ $59 = $58 ^ $53;
+ HEAP8[$56>>0] = $59;
+ $60 = ($54>>>0)>(599);
+ if ($60) {
+ HEAP32[18149] = 0;
+ _mix_pool($57);
+ $181 = HEAP32[18138]|0;
+ $182 = (($181) + 1)|0;
+ HEAP32[18138] = $182;
+ HEAP32[18150] = 0;
+ $$pre18 = HEAP32[18133]|0;
+ $$pre19 = HEAP32[18149]|0;
+ $186 = $$pre19;$188 = $$pre18;
+ } else {
+ $186 = $54;$188 = $57;
+ }
+ $183 = ((($36)) + 3|0);
+ $184 = HEAP8[$52>>0]|0;
+ $185 = (($186) + 1)|0;
+ HEAP32[18149] = $185;
+ $187 = (($188) + ($186)|0);
+ $189 = HEAP8[$187>>0]|0;
+ $190 = $189 ^ $184;
+ HEAP8[$187>>0] = $190;
+ $191 = ($185>>>0)>(599);
+ if ($191) {
+ HEAP32[18149] = 0;
+ _mix_pool($188);
+ $192 = HEAP32[18138]|0;
+ $193 = (($192) + 1)|0;
+ HEAP32[18138] = $193;
+ HEAP32[18150] = 0;
+ }
+ $194 = HEAP8[$183>>0]|0;
+ $195 = HEAP32[18133]|0;
+ $196 = HEAP32[18149]|0;
+ $197 = (($196) + 1)|0;
+ HEAP32[18149] = $197;
+ $198 = (($195) + ($196)|0);
+ $199 = HEAP8[$198>>0]|0;
+ $200 = $199 ^ $194;
+ HEAP8[$198>>0] = $200;
+ $201 = ($197>>>0)>(599);
+ if ($201) {
+ HEAP32[18149] = 0;
+ _mix_pool($195);
+ $202 = HEAP32[18138]|0;
+ $203 = (($202) + 1)|0;
+ HEAP32[18138] = $203;
+ HEAP32[18150] = 1;
+ }
+ (_getrusage(0,$1)|0);
+ $204 = HEAP32[18132]|0;
+ $205 = ($204|0)==(0);
+ if ($205) {
+ __gcry_assert_failed(67953,67968,1074,68003);
+ // unreachable;
+ }
+ $61 = HEAP32[18142]|0;
+ $62 = (($61) + 136)|0;
+ HEAP32[18142] = $62;
+ $63 = HEAP32[18141]|0;
+ $64 = (($63) + 1)|0;
+ HEAP32[18141] = $64;
+ $$01113$us$i3 = $1;$77 = 135;
+ while(1) {
+ $65 = ((($$01113$us$i3)) + 1|0);
+ $66 = HEAP8[$$01113$us$i3>>0]|0;
+ $67 = HEAP32[18133]|0;
+ $68 = HEAP32[18149]|0;
+ $69 = (($68) + 1)|0;
+ HEAP32[18149] = $69;
+ $70 = (($67) + ($68)|0);
+ $71 = HEAP8[$70>>0]|0;
+ $72 = $71 ^ $66;
+ HEAP8[$70>>0] = $72;
+ $73 = ($69>>>0)>(599);
+ if ($73) {
+ HEAP32[18149] = 0;
+ _mix_pool($67);
+ $74 = HEAP32[18138]|0;
+ $75 = (($74) + 1)|0;
+ HEAP32[18138] = $75;
+ $76 = ($77|0)==(0);
+ $78 = $76&1;
+ HEAP32[18150] = $78;
+ }
+ $79 = (($77) + -1)|0;
+ $80 = ($77|0)==(0);
+ if ($80) {
+ break;
+ } else {
+ $$01113$us$i3 = $65;$77 = $79;
+ }
+ }
+ $81 = (_time((0|0))|0);
+ HEAP32[$2>>2] = $81;
+ $82 = HEAP32[18132]|0;
+ $83 = ($82|0)==(0);
+ $84 = $81 >>> 8;
+ $85 = $84&255;
+ $86 = $81 >>> 16;
+ $87 = $86&255;
+ if ($83) {
+ __gcry_assert_failed(67953,67968,1074,68003);
+ // unreachable;
+ }
+ $88 = $81&255;
+ $89 = HEAP32[18142]|0;
+ $90 = (($89) + 4)|0;
+ HEAP32[18142] = $90;
+ $91 = HEAP32[18141]|0;
+ $92 = (($91) + 1)|0;
+ HEAP32[18141] = $92;
+ $93 = HEAP32[18133]|0;
+ $94 = HEAP32[18149]|0;
+ $95 = (($94) + 1)|0;
+ HEAP32[18149] = $95;
+ $96 = (($93) + ($94)|0);
+ $97 = HEAP8[$96>>0]|0;
+ $98 = $97 ^ $88;
+ HEAP8[$96>>0] = $98;
+ $99 = ($95>>>0)>(599);
+ if ($99) {
+ HEAP32[18149] = 0;
+ _mix_pool($93);
+ $100 = HEAP32[18138]|0;
+ $101 = (($100) + 1)|0;
+ HEAP32[18138] = $101;
+ HEAP32[18150] = 0;
+ $$pre20 = HEAP32[18133]|0;
+ $$pre21 = HEAP32[18149]|0;
+ $103 = $$pre21;$105 = $$pre20;
+ } else {
+ $103 = $95;$105 = $93;
+ }
+ $102 = (($103) + 1)|0;
+ HEAP32[18149] = $102;
+ $104 = (($105) + ($103)|0);
+ $106 = HEAP8[$104>>0]|0;
+ $107 = $106 ^ $85;
+ HEAP8[$104>>0] = $107;
+ $108 = ($102>>>0)>(599);
+ if ($108) {
+ HEAP32[18149] = 0;
+ _mix_pool($105);
+ $155 = HEAP32[18138]|0;
+ $156 = (($155) + 1)|0;
+ HEAP32[18138] = $156;
+ HEAP32[18150] = 0;
+ $$pre22 = HEAP32[18133]|0;
+ $$pre23 = HEAP32[18149]|0;
+ $159 = $$pre23;$161 = $$pre22;
+ } else {
+ $159 = $102;$161 = $105;
+ }
+ $157 = ((($2)) + 3|0);
+ $158 = (($159) + 1)|0;
+ HEAP32[18149] = $158;
+ $160 = (($161) + ($159)|0);
+ $162 = HEAP8[$160>>0]|0;
+ $163 = $162 ^ $87;
+ HEAP8[$160>>0] = $163;
+ $164 = ($158>>>0)>(599);
+ if ($164) {
+ HEAP32[18149] = 0;
+ _mix_pool($161);
+ $165 = HEAP32[18138]|0;
+ $166 = (($165) + 1)|0;
+ HEAP32[18138] = $166;
+ HEAP32[18150] = 0;
+ }
+ $167 = HEAP8[$157>>0]|0;
+ $168 = HEAP32[18133]|0;
+ $169 = HEAP32[18149]|0;
+ $170 = (($169) + 1)|0;
+ HEAP32[18149] = $170;
+ $171 = (($168) + ($169)|0);
+ $172 = HEAP8[$171>>0]|0;
+ $173 = $172 ^ $167;
+ HEAP8[$171>>0] = $173;
+ $174 = ($170>>>0)>(599);
+ if ($174) {
+ HEAP32[18149] = 0;
+ _mix_pool($168);
+ $175 = HEAP32[18138]|0;
+ $176 = (($175) + 1)|0;
+ HEAP32[18138] = $176;
+ HEAP32[18150] = 1;
+ }
+ $110 = (_clock()|0);
+ HEAP32[$3>>2] = $110;
+ $177 = HEAP32[18132]|0;
+ $178 = ($177|0)==(0);
+ $179 = $110 >>> 8;
+ $130 = $179&255;
+ $180 = $110 >>> 16;
+ $141 = $180&255;
+ if ($178) {
+ __gcry_assert_failed(67953,67968,1074,68003);
+ // unreachable;
+ }
+ $109 = $110&255;
+ $111 = HEAP32[18142]|0;
+ $112 = (($111) + 4)|0;
+ HEAP32[18142] = $112;
+ $113 = HEAP32[18141]|0;
+ $114 = (($113) + 1)|0;
+ HEAP32[18141] = $114;
+ $115 = HEAP32[18133]|0;
+ $116 = HEAP32[18149]|0;
+ $117 = (($116) + 1)|0;
+ HEAP32[18149] = $117;
+ $118 = (($115) + ($116)|0);
+ $119 = HEAP8[$118>>0]|0;
+ $120 = $119 ^ $109;
+ HEAP8[$118>>0] = $120;
+ $121 = ($117>>>0)>(599);
+ if ($121) {
+ HEAP32[18149] = 0;
+ _mix_pool($115);
+ $122 = HEAP32[18138]|0;
+ $123 = (($122) + 1)|0;
+ HEAP32[18138] = $123;
+ HEAP32[18150] = 0;
+ $$pre24 = HEAP32[18133]|0;
+ $$pre25 = HEAP32[18149]|0;
+ $125 = $$pre25;$127 = $$pre24;
+ } else {
+ $125 = $117;$127 = $115;
+ }
+ $124 = (($125) + 1)|0;
+ HEAP32[18149] = $124;
+ $126 = (($127) + ($125)|0);
+ $128 = HEAP8[$126>>0]|0;
+ $129 = $128 ^ $130;
+ HEAP8[$126>>0] = $129;
+ $131 = ($124>>>0)>(599);
+ if ($131) {
+ HEAP32[18149] = 0;
+ _mix_pool($127);
+ $132 = HEAP32[18138]|0;
+ $133 = (($132) + 1)|0;
+ HEAP32[18138] = $133;
+ HEAP32[18150] = 0;
+ $$pre26 = HEAP32[18133]|0;
+ $$pre27 = HEAP32[18149]|0;
+ $136 = $$pre27;$138 = $$pre26;
+ } else {
+ $136 = $124;$138 = $127;
+ }
+ $134 = ((($3)) + 3|0);
+ $135 = (($136) + 1)|0;
+ HEAP32[18149] = $135;
+ $137 = (($138) + ($136)|0);
+ $139 = HEAP8[$137>>0]|0;
+ $140 = $139 ^ $141;
+ HEAP8[$137>>0] = $140;
+ $142 = ($135>>>0)>(599);
+ if ($142) {
+ HEAP32[18149] = 0;
+ _mix_pool($138);
+ $143 = HEAP32[18138]|0;
+ $144 = (($143) + 1)|0;
+ HEAP32[18138] = $144;
+ HEAP32[18150] = 0;
+ }
+ $145 = HEAP8[$134>>0]|0;
+ $146 = HEAP32[18133]|0;
+ $147 = HEAP32[18149]|0;
+ $148 = (($147) + 1)|0;
+ HEAP32[18149] = $148;
+ $149 = (($146) + ($147)|0);
+ $150 = HEAP8[$149>>0]|0;
+ $151 = $150 ^ $145;
+ HEAP8[$149>>0] = $151;
+ $152 = ($148>>>0)>(599);
+ if (!($152)) {
+ STACKTOP = sp;return;
+ }
+ HEAP32[18149] = 0;
+ _mix_pool($146);
+ $153 = HEAP32[18138]|0;
+ $154 = (($153) + 1)|0;
+ HEAP32[18138] = $154;
+ HEAP32[18150] = 1;
+ STACKTOP = sp;return;
+}
+function __gcry_rngcsprng_set_seed_file($0) {
+ $0 = $0|0;
+ var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = HEAP32[18152]|0;
+ $2 = ($1|0)==(0|0);
+ if ($2) {
+ $3 = (__gcry_xstrdup($0)|0);
+ HEAP32[18152] = $3;
+ return;
+ } else {
+ __gcry_bug(67968,673,68397);
+ // unreachable;
+ }
+}
+function __gcry_rngcsprng_update_seed_file() {
+ var $$02328 = 0, $$02427 = 0, $$029 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0;
+ var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0;
+ var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $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, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $or$cond = 0, $or$cond3 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer12 = 0, $vararg_buffer16 = 0, $vararg_buffer20 = 0;
+ var $vararg_buffer24 = 0, $vararg_buffer28 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, $vararg_buffer9 = 0, $vararg_ptr15 = 0, $vararg_ptr19 = 0, $vararg_ptr23 = 0, $vararg_ptr27 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0);
+ $vararg_buffer28 = sp + 72|0;
+ $vararg_buffer24 = sp + 64|0;
+ $vararg_buffer20 = sp + 56|0;
+ $vararg_buffer16 = sp + 48|0;
+ $vararg_buffer12 = sp + 40|0;
+ $vararg_buffer9 = sp + 32|0;
+ $vararg_buffer7 = sp + 24|0;
+ $vararg_buffer4 = sp + 16|0;
+ $vararg_buffer1 = sp + 8|0;
+ $vararg_buffer = sp;
+ $0 = HEAP32[18131]|0;
+ $1 = ($0|0)==(0);
+ if ($1) {
+ HEAP32[18131] = 1;
+ }
+ $2 = (_gpgrt_lock_lock(40208)|0);
+ $3 = ($2|0)==(0);
+ if (!($3)) {
+ $4 = (_gpg_strerror($2)|0);
+ HEAP32[$vararg_buffer>>2] = $4;
+ __gcry_log_fatal(67701,$vararg_buffer);
+ // unreachable;
+ }
+ HEAP32[18132] = 1;
+ $5 = HEAP32[18152]|0;
+ $6 = ($5|0)!=(0|0);
+ $7 = HEAP32[18133]|0;
+ $8 = ($7|0)!=(0|0);
+ $or$cond = $6 & $8;
+ $9 = HEAP32[18137]|0;
+ $10 = ($9|0)!=(0);
+ $or$cond3 = $or$cond & $10;
+ if (!($or$cond3)) {
+ HEAP32[18132] = 0;
+ $11 = (_gpgrt_lock_unlock(40208)|0);
+ $12 = ($11|0)==(0);
+ if ($12) {
+ STACKTOP = sp;return;
+ } else {
+ $13 = (_gpg_strerror($11)|0);
+ HEAP32[$vararg_buffer1>>2] = $13;
+ __gcry_log_fatal(67776,$vararg_buffer1);
+ // unreachable;
+ }
+ }
+ $14 = HEAP32[18153]|0;
+ $15 = ($14|0)==(0);
+ if ($15) {
+ HEAP32[18132] = 0;
+ $16 = (_gpgrt_lock_unlock(40208)|0);
+ $17 = ($16|0)==(0);
+ if (!($17)) {
+ $18 = (_gpg_strerror($16)|0);
+ HEAP32[$vararg_buffer4>>2] = $18;
+ __gcry_log_fatal(67776,$vararg_buffer4);
+ // unreachable;
+ }
+ $19 = (__gcry_gettext(68427)|0);
+ __gcry_log_info($19,$vararg_buffer7);
+ STACKTOP = sp;return;
+ }
+ $20 = HEAP32[18135]|0;
+ $$02328 = $7;$$02427 = $20;$$029 = 0;
+ while(1) {
+ $21 = HEAP32[$$02328>>2]|0;
+ $22 = (($21) + -1515870811)|0;
+ HEAP32[$$02427>>2] = $22;
+ $23 = (($$029) + 1)|0;
+ $24 = ((($$02427)) + 4|0);
+ $25 = ((($$02328)) + 4|0);
+ $exitcond = ($23|0)==(150);
+ if ($exitcond) {
+ break;
+ } else {
+ $$02328 = $25;$$02427 = $24;$$029 = $23;
+ }
+ }
+ _mix_pool($7);
+ $26 = HEAP32[18138]|0;
+ $27 = (($26) + 1)|0;
+ HEAP32[18138] = $27;
+ $28 = HEAP32[18135]|0;
+ _mix_pool($28);
+ $29 = HEAP32[18143]|0;
+ $30 = (($29) + 1)|0;
+ HEAP32[18143] = $30;
+ $31 = HEAP32[18152]|0;
+ HEAP32[$vararg_buffer9>>2] = 384;
+ $32 = (_open($31,65,$vararg_buffer9)|0);
+ $33 = ($32|0)==(-1);
+ do {
+ if ($33) {
+ $34 = (__gcry_gettext(68463)|0);
+ $35 = HEAP32[18152]|0;
+ $36 = (___errno_location()|0);
+ $37 = HEAP32[$36>>2]|0;
+ $38 = (_strerror($37)|0);
+ HEAP32[$vararg_buffer12>>2] = $35;
+ $vararg_ptr15 = ((($vararg_buffer12)) + 4|0);
+ HEAP32[$vararg_ptr15>>2] = $38;
+ __gcry_log_info($34,$vararg_buffer12);
+ } else {
+ $39 = HEAP32[18152]|0;
+ $40 = (_lock_seed_file($32,$39,1)|0);
+ $41 = ($40|0)==(0);
+ if (!($41)) {
+ (_close($32)|0);
+ break;
+ }
+ $42 = (_ftruncate($32,0)|0);
+ $43 = ($42|0)==(0);
+ if (!($43)) {
+ $44 = (__gcry_gettext(68486)|0);
+ $45 = HEAP32[18152]|0;
+ $46 = (___errno_location()|0);
+ $47 = HEAP32[$46>>2]|0;
+ $48 = (_strerror($47)|0);
+ HEAP32[$vararg_buffer16>>2] = $45;
+ $vararg_ptr19 = ((($vararg_buffer16)) + 4|0);
+ HEAP32[$vararg_ptr19>>2] = $48;
+ __gcry_log_info($44,$vararg_buffer16);
+ (_close($32)|0);
+ break;
+ }
+ L32: while(1) {
+ $49 = HEAP32[18135]|0;
+ $50 = (_write($32,$49,600)|0);
+ switch ($50|0) {
+ case 600: {
+ break L32;
+ break;
+ }
+ case -1: {
+ break;
+ }
+ default: {
+ label = 23;
+ break L32;
+ }
+ }
+ $51 = (___errno_location()|0);
+ $52 = HEAP32[$51>>2]|0;
+ $53 = ($52|0)==(4);
+ if (!($53)) {
+ label = 23;
+ break;
+ }
+ }
+ if ((label|0) == 23) {
+ $54 = (__gcry_gettext(68486)|0);
+ $55 = HEAP32[18152]|0;
+ $56 = (___errno_location()|0);
+ $57 = HEAP32[$56>>2]|0;
+ $58 = (_strerror($57)|0);
+ HEAP32[$vararg_buffer20>>2] = $55;
+ $vararg_ptr23 = ((($vararg_buffer20)) + 4|0);
+ HEAP32[$vararg_ptr23>>2] = $58;
+ __gcry_log_info($54,$vararg_buffer20);
+ }
+ $59 = (_close($32)|0);
+ $60 = ($59|0)==(0);
+ if (!($60)) {
+ $61 = (__gcry_gettext(68508)|0);
+ $62 = HEAP32[18152]|0;
+ $63 = (___errno_location()|0);
+ $64 = HEAP32[$63>>2]|0;
+ $65 = (_strerror($64)|0);
+ HEAP32[$vararg_buffer24>>2] = $62;
+ $vararg_ptr27 = ((($vararg_buffer24)) + 4|0);
+ HEAP32[$vararg_ptr27>>2] = $65;
+ __gcry_log_info($61,$vararg_buffer24);
+ }
+ }
+ } while(0);
+ HEAP32[18132] = 0;
+ $66 = (_gpgrt_lock_unlock(40208)|0);
+ $67 = ($66|0)==(0);
+ if ($67) {
+ STACKTOP = sp;return;
+ } else {
+ $68 = (_gpg_strerror($66)|0);
+ HEAP32[$vararg_buffer28>>2] = $68;
+ __gcry_log_fatal(67776,$vararg_buffer28);
+ // unreachable;
+ }
+}
+function __gcry_rngcsprng_fast_poll() {
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $vararg_buffer1 = sp + 8|0;
+ $vararg_buffer = sp;
+ $0 = HEAP32[18131]|0;
+ $1 = ($0|0)==(0);
+ if ($1) {
+ HEAP32[18131] = 1;
+ }
+ $2 = (_gpgrt_lock_lock(40208)|0);
+ $3 = ($2|0)==(0);
+ if (!($3)) {
+ $4 = (_gpg_strerror($2)|0);
+ HEAP32[$vararg_buffer>>2] = $4;
+ __gcry_log_fatal(67701,$vararg_buffer);
+ // unreachable;
+ }
+ HEAP32[18132] = 1;
+ $5 = HEAP32[18133]|0;
+ $6 = ($5|0)==(0|0);
+ if (!($6)) {
+ _do_fast_random_poll();
+ }
+ HEAP32[18132] = 0;
+ $7 = (_gpgrt_lock_unlock(40208)|0);
+ $8 = ($7|0)==(0);
+ if ($8) {
+ STACKTOP = sp;return;
+ } else {
+ $9 = (_gpg_strerror($7)|0);
+ HEAP32[$vararg_buffer1>>2] = $9;
+ __gcry_log_fatal(67776,$vararg_buffer1);
+ // unreachable;
+ }
+}
+function __gcry_rngfips_initialize($0) {
+ $0 = $0|0;
+ var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
+ var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
+ var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0;
+ var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
+ $vararg_buffer10 = sp + 32|0;
+ $vararg_buffer7 = sp + 24|0;
+ $vararg_buffer4 = sp + 16|0;
+ $vararg_buffer1 = sp + 8|0;
+ $vararg_buffer = sp;
+ $1 = HEAP32[18158]|0;
+ $2 = ($1|0)==(0);
+ if ($2) {
+ HEAP32[18158] = 1;
+ HEAP32[18159] = 0;
+ }
+ $3 = ($0|0)==(0);
+ if ($3) {
+ STACKTOP = sp;return;
+ }
+ $4 = (_gpgrt_lock_lock(40256)|0);
+ $5 = ($4|0)==(0);
+ if (!($5)) {
+ $6 = (_gpg_strerror($4)|0);
+ HEAP32[$vararg_buffer>>2] = $6;
+ __gcry_log_fatal(68530,$vararg_buffer);
+ // unreachable;
+ }
+ HEAP32[18159] = 1;
+ $7 = HEAP32[18160]|0;
+ $8 = ($7|0)==(0|0);
+ if ($8) {
+ $9 = (__gcry_xmalloc_secure(48)|0);
+ HEAP32[18160] = $9;
+ $10 = (__gcry_xcalloc(1,68)|0);
+ HEAP32[18161] = $10;
+ HEAP8[$10>>0] = 17;
+ $11 = ((($10)) + 16|0);
+ HEAP8[$11>>0] = 42;
+ $12 = ((($10)) + 33|0);
+ HEAP8[$12>>0] = -119;
+ $13 = ((($10)) + 50|0);
+ HEAP8[$13>>0] = -4;
+ $14 = (__gcry_xcalloc_secure(1,68)|0);
+ HEAP32[18162] = $14;
+ HEAP8[$14>>0] = 17;
+ $15 = ((($14)) + 16|0);
+ HEAP8[$15>>0] = 42;
+ $16 = ((($14)) + 33|0);
+ HEAP8[$16>>0] = -119;
+ $17 = ((($14)) + 50|0);
+ HEAP8[$17>>0] = -4;
+ $18 = (__gcry_xcalloc_secure(1,68)|0);
+ HEAP32[18163] = $18;
+ HEAP8[$18>>0] = 17;
+ $19 = ((($18)) + 16|0);
+ HEAP8[$19>>0] = 42;
+ $20 = ((($18)) + 33|0);
+ HEAP8[$20>>0] = -119;
+ $21 = ((($18)) + 50|0);
+ HEAP8[$21>>0] = -4;
+ } else {
+ $22 = HEAP32[18161]|0;
+ $23 = ((($22)) + 52|0);
+ $24 = HEAP32[$23>>2]|0;
+ $25 = ($24|0)==(0|0);
+ if (!($25)) {
+ __gcry_assert_failed(68566,68594,767,68608);
+ // unreachable;
+ }
+ $26 = HEAP32[18162]|0;
+ $27 = ((($26)) + 52|0);
+ $28 = HEAP32[$27>>2]|0;
+ $29 = ($28|0)==(0|0);
+ if (!($29)) {
+ __gcry_assert_failed(68633,68594,768,68608);
+ // unreachable;
+ }
+ $30 = HEAP32[18163]|0;
+ $31 = ((($30)) + 52|0);
+ $32 = HEAP32[$31>>2]|0;
+ $33 = ($32|0)==(0|0);
+ if (!($33)) {
+ __gcry_assert_failed(68663,68594,769,68608);
+ // unreachable;
+ }
+ $34 = HEAP8[$22>>0]|0;
+ $35 = ($34<<24>>24)==(17);
+ if (!($35)) {
+ HEAP32[$vararg_buffer1>>2] = $22;
+ __gcry_log_fatal(68696,$vararg_buffer1);
+ // unreachable;
+ }
+ $36 = ((($22)) + 16|0);
+ $37 = HEAP8[$36>>0]|0;
+ $38 = ($37<<24>>24)==(42);
+ if (!($38)) {
+ HEAP32[$vararg_buffer1>>2] = $22;
+ __gcry_log_fatal(68696,$vararg_buffer1);
+ // unreachable;
+ }
+ $39 = ((($22)) + 33|0);
+ $40 = HEAP8[$39>>0]|0;
+ $41 = ($40<<24>>24)==(-119);
+ if (!($41)) {
+ HEAP32[$vararg_buffer1>>2] = $22;
+ __gcry_log_fatal(68696,$vararg_buffer1);
+ // unreachable;
+ }
+ $42 = ((($22)) + 50|0);
+ $43 = HEAP8[$42>>0]|0;
+ $44 = ($43<<24>>24)==(-4);
+ if (!($44)) {
+ HEAP32[$vararg_buffer1>>2] = $22;
+ __gcry_log_fatal(68696,$vararg_buffer1);
+ // unreachable;
+ }
+ $45 = HEAP8[$26>>0]|0;
+ $46 = ($45<<24>>24)==(17);
+ if (!($46)) {
+ HEAP32[$vararg_buffer4>>2] = $26;
+ __gcry_log_fatal(68696,$vararg_buffer4);
+ // unreachable;
+ }
+ $47 = ((($26)) + 16|0);
+ $48 = HEAP8[$47>>0]|0;
+ $49 = ($48<<24>>24)==(42);
+ if (!($49)) {
+ HEAP32[$vararg_buffer4>>2] = $26;
+ __gcry_log_fatal(68696,$vararg_buffer4);
+ // unreachable;
+ }
+ $50 = ((($26)) + 33|0);
+ $51 = HEAP8[$50>>0]|0;
+ $52 = ($51<<24>>24)==(-119);
+ if (!($52)) {
+ HEAP32[$vararg_buffer4>>2] = $26;
+ __gcry_log_fatal(68696,$vararg_buffer4);
+ // unreachable;
+ }
+ $53 = ((($26)) + 50|0);
+ $54 = HEAP8[$53>>0]|0;
+ $55 = ($54<<24>>24)==(-4);
+ if (!($55)) {
+ HEAP32[$vararg_buffer4>>2] = $26;
+ __gcry_log_fatal(68696,$vararg_buffer4);
+ // unreachable;
+ }
+ $56 = HEAP8[$30>>0]|0;
+ $57 = ($56<<24>>24)==(17);
+ if (!($57)) {
+ HEAP32[$vararg_buffer7>>2] = $30;
+ __gcry_log_fatal(68696,$vararg_buffer7);
+ // unreachable;
+ }
+ $58 = ((($30)) + 16|0);
+ $59 = HEAP8[$58>>0]|0;
+ $60 = ($59<<24>>24)==(42);
+ if (!($60)) {
+ HEAP32[$vararg_buffer7>>2] = $30;
+ __gcry_log_fatal(68696,$vararg_buffer7);
+ // unreachable;
+ }
+ $61 = ((($30)) + 33|0);
+ $62 = HEAP8[$61>>0]|0;
+ $63 = ($62<<24>>24)==(-119);
+ if (!($63)) {
+ HEAP32[$vararg_buffer7>>2] = $30;
+ __gcry_log_fatal(68696,$vararg_buffer7);
+ // unreachable;
+ }
+ $64 = ((($30)) + 50|0);
+ $65 = HEAP8[$64>>0]|0;
+ $66 = ($65<<24>>24)==(-4);
+ if (!($66)) {
+ HEAP32[$vararg_buffer7>>2] = $30;
+ __gcry_log_fatal(68696,$vararg_buffer7);
+ // unreachable;
+ }
+ }
+ HEAP32[18159] = 0;
+ $67 = (_gpgrt_lock_unlock(40256)|0);
+ $68 = ($67|0)==(0);
+ if ($68) {
+ STACKTOP = sp;return;
+ } else {
+ $69 = (_gpg_strerror($67)|0);
+ HEAP32[$vararg_buffer10>>2] = $69;
+ __gcry_log_fatal(68742,$vararg_buffer10);
+ // unreachable;
+ }
+}
+function __gcry_rngfips_close_fds() {
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $vararg_buffer1 = sp + 8|0;
+ $vararg_buffer = sp;
+ $0 = (_gpgrt_lock_lock(40256)|0);
+ $1 = ($0|0)==(0);
+ if (!($1)) {
+ $2 = (_gpg_strerror($0)|0);
+ HEAP32[$vararg_buffer>>2] = $2;
+ __gcry_log_fatal(68530,$vararg_buffer);
+ // unreachable;
+ }
+ HEAP32[18159] = 1;
+ (__gcry_rndlinux_gather_random(0,0,0,0)|0);
+ HEAP32[18159] = 0;
+ $3 = (_gpgrt_lock_unlock(40256)|0);
+ $4 = ($3|0)==(0);
+ if ($4) {
+ STACKTOP = sp;return;
+ } else {
+ $5 = (_gpg_strerror($3)|0);
+ HEAP32[$vararg_buffer1>>2] = $5;
+ __gcry_log_fatal(68742,$vararg_buffer1);
+ // unreachable;
+ }
+}
+function __gcry_rngfips_dump_stats() {
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ return;
+}
+function __gcry_rngfips_is_faked() {
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ return 0;
+}
+function __gcry_rngfips_randomize($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $vararg_buffer1 = sp + 8|0;
+ $vararg_buffer = sp;
+ __gcry_rngfips_initialize(1);
+ $3 = (_gpgrt_lock_lock(40256)|0);
+ $4 = ($3|0)==(0);
+ if (!($4)) {
+ $5 = (_gpg_strerror($3)|0);
+ HEAP32[$vararg_buffer>>2] = $5;
+ __gcry_log_fatal(68530,$vararg_buffer);
+ // unreachable;
+ }
+ HEAP32[18159] = 1;
+ $6 = ($2|0)==(2);
+ if ($6) {
+ $7 = HEAP32[18163]|0;
+ _get_random($0,$1,$7);
+ } else {
+ $8 = HEAP32[18162]|0;
+ _get_random($0,$1,$8);
+ }
+ HEAP32[18159] = 0;
+ $9 = (_gpgrt_lock_unlock(40256)|0);
+ $10 = ($9|0)==(0);
+ if ($10) {
+ STACKTOP = sp;return;
+ } else {
+ $11 = (_gpg_strerror($9)|0);
+ HEAP32[$vararg_buffer1>>2] = $11;
+ __gcry_log_fatal(68742,$vararg_buffer1);
+ // unreachable;
+ }
+}
+function _get_random($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$mask = 0, $$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
+ var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
+ var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
+ $vararg_buffer4 = sp + 16|0;
+ $vararg_buffer1 = sp + 8|0;
+ $vararg_buffer = sp;
+ $3 = ($0|0)==(0|0);
+ if ($3) {
+ __gcry_assert_failed(69561,68594,685,69584);
+ // unreachable;
+ }
+ $4 = ($2|0)==(0|0);
+ if ($4) {
+ __gcry_assert_failed(68778,68594,686,69584);
+ // unreachable;
+ }
+ $5 = HEAP8[$2>>0]|0;
+ $6 = ($5<<24>>24)==(17);
+ if (!($6)) {
+ HEAP32[$vararg_buffer>>2] = $2;
+ __gcry_log_fatal(68696,$vararg_buffer);
+ // unreachable;
+ }
+ $7 = ((($2)) + 16|0);
+ $8 = HEAP8[$7>>0]|0;
+ $9 = ($8<<24>>24)==(42);
+ if (!($9)) {
+ HEAP32[$vararg_buffer>>2] = $2;
+ __gcry_log_fatal(68696,$vararg_buffer);
+ // unreachable;
+ }
+ $10 = ((($2)) + 33|0);
+ $11 = HEAP8[$10>>0]|0;
+ $12 = ($11<<24>>24)==(-119);
+ if (!($12)) {
+ HEAP32[$vararg_buffer>>2] = $2;
+ __gcry_log_fatal(68696,$vararg_buffer);
+ // unreachable;
+ }
+ $13 = ((($2)) + 50|0);
+ $14 = HEAP8[$13>>0]|0;
+ $15 = ($14<<24>>24)==(-4);
+ if (!($15)) {
+ HEAP32[$vararg_buffer>>2] = $2;
+ __gcry_log_fatal(68696,$vararg_buffer);
+ // unreachable;
+ }
+ $16 = ((($2)) + 4|0);
+ $17 = HEAP32[$16>>2]|0;
+ $18 = ($17|0)==(0|0);
+ do {
+ if ($18) {
+ $19 = HEAP32[18161]|0;
+ $20 = ($19|0)==($2|0);
+ $$sink = $20&1;
+ $21 = (_x931_generate_key($$sink)|0);
+ HEAP32[$16>>2] = $21;
+ $22 = ($21|0)==(0|0);
+ if ($22) {
+ __gcry_log_fatal(68840,$vararg_buffer4);
+ // unreachable;
+ } else {
+ $23 = (_getpid()|0);
+ $24 = ((($2)) + 60|0);
+ HEAP32[$24>>2] = $23;
+ break;
+ }
+ }
+ } while(0);
+ $25 = ((($2)) + 8|0);
+ $26 = HEAP8[$25>>0]|0;
+ $$mask = $26 & 1;
+ $27 = ($$mask<<24>>24)==(0);
+ if ($27) {
+ _x931_reseed($2);
+ }
+ $28 = ((($2)) + 60|0);
+ $29 = HEAP32[$28>>2]|0;
+ $30 = (_getpid()|0);
+ $31 = ($29|0)==($30|0);
+ if ($31) {
+ $32 = ((($2)) + 64|0);
+ $33 = HEAP32[$32>>2]|0;
+ $34 = (_getpid()|0);
+ $35 = ($33|0)==($34|0);
+ if ($35) {
+ $36 = (_x931_aes_driver($0,$1,$2)|0);
+ $37 = ($36|0)==(0);
+ if (!($37)) {
+ __gcry_log_fatal(68840,$vararg_buffer4);
+ // unreachable;
+ }
+ $38 = HEAP8[$2>>0]|0;
+ $39 = ($38<<24>>24)==(17);
+ if (!($39)) {
+ HEAP32[$vararg_buffer1>>2] = $2;
+ __gcry_log_fatal(68696,$vararg_buffer1);
+ // unreachable;
+ }
+ $40 = HEAP8[$7>>0]|0;
+ $41 = ($40<<24>>24)==(42);
+ if (!($41)) {
+ HEAP32[$vararg_buffer1>>2] = $2;
+ __gcry_log_fatal(68696,$vararg_buffer1);
+ // unreachable;
+ }
+ $42 = HEAP8[$10>>0]|0;
+ $43 = ($42<<24>>24)==(-119);
+ if (!($43)) {
+ HEAP32[$vararg_buffer1>>2] = $2;
+ __gcry_log_fatal(68696,$vararg_buffer1);
+ // unreachable;
+ }
+ $44 = HEAP8[$13>>0]|0;
+ $45 = ($44<<24>>24)==(-4);
+ if ($45) {
+ STACKTOP = sp;return;
+ } else {
+ HEAP32[$vararg_buffer1>>2] = $2;
+ __gcry_log_fatal(68696,$vararg_buffer1);
+ // unreachable;
+ }
+ }
+ }
+ __gcry_fips_signal_error(68594,714,69584,0,68786);
+ __gcry_log_fatal(68840,$vararg_buffer4);
+ // unreachable;
+}
+function _x931_generate_key($0) {
+ $0 = $0|0;
+ var $$0 = 0, $$041$lcssa61 = 0, $$04152 = 0, $$042$lcssa60 = 0, $$04251 = 0, $$047 = 0, $$1 = 0, $$143 = 0, $$2 = 0, $$244 = 0, $$34549 = 0, $$350 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0;
+ var $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0;
+ var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $scevgep = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $vararg_buffer1 = sp + 8|0;
+ $vararg_buffer = sp;
+ $1 = sp + 12|0;
+ $2 = HEAP32[18159]|0;
+ $3 = ($2|0)==(0);
+ if ($3) {
+ __gcry_assert_failed(68869,68594,596,69203);
+ // unreachable;
+ }
+ $4 = (__gcry_cipher_open($1,7,1,1)|0);
+ $5 = ($4|0)==(0);
+ if (!($5)) {
+ $6 = (_gpg_strerror($4)|0);
+ HEAP32[$vararg_buffer>>2] = $6;
+ __gcry_log_error(69221,$vararg_buffer);
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $7 = ($0|0)==(0);
+ if ($7) {
+ $10 = (_get_entropy()|0);
+ $$047 = $10;
+ } else {
+ $8 = (__gcry_xmalloc(16)|0);
+ $9 = HEAP32[18162]|0;
+ _get_random($8,16,$9);
+ $$047 = $8;
+ }
+ $11 = HEAP32[$1>>2]|0;
+ $12 = (__gcry_cipher_setkey($11,$$047,16)|0);
+ $13 = $$047;
+ $14 = $13 & 7;
+ $15 = ($14|0)==(0);
+ if ($15) {
+ $$041$lcssa61 = 16;$$042$lcssa60 = $$047;
+ label = 12;
+ } else {
+ $$04152 = 16;$$04251 = $$047;
+ while(1) {
+ HEAP8[$$04251>>0] = 0;
+ $16 = ((($$04251)) + 1|0);
+ $17 = (($$04152) + -1)|0;
+ $18 = $16;
+ $19 = $18 & 7;
+ $20 = ($19|0)!=(0);
+ $21 = ($17|0)!=(0);
+ $22 = $21 & $20;
+ if ($22) {
+ $$04152 = $17;$$04251 = $16;
+ } else {
+ break;
+ }
+ }
+ $23 = ($17>>>0)<(8);
+ if ($23) {
+ $$2 = $17;$$244 = $16;
+ } else {
+ $$041$lcssa61 = $17;$$042$lcssa60 = $16;
+ label = 12;
+ }
+ }
+ if ((label|0) == 12) {
+ $24 = (($$041$lcssa61) + -8)|0;
+ $25 = $24 & -8;
+ $26 = (($25) + 8)|0;
+ $$1 = $$041$lcssa61;$$143 = $$042$lcssa60;
+ while(1) {
+ $27 = $$143;
+ $28 = $27;
+ HEAP32[$28>>2] = 0;
+ $29 = (($27) + 4)|0;
+ $30 = $29;
+ HEAP32[$30>>2] = 0;
+ $31 = (($$1) + -8)|0;
+ $32 = ((($$143)) + 8|0);
+ $33 = ($31>>>0)>(7);
+ if ($33) {
+ $$1 = $31;$$143 = $32;
+ } else {
+ break;
+ }
+ }
+ $34 = (($24) - ($25))|0;
+ $scevgep = (($$042$lcssa60) + ($26)|0);
+ $$2 = $34;$$244 = $scevgep;
+ }
+ $35 = ($$2|0)==(0);
+ if (!($35)) {
+ $$34549 = $$244;$$350 = $$2;
+ while(1) {
+ HEAP8[$$34549>>0] = 0;
+ $36 = ((($$34549)) + 1|0);
+ $37 = (($$350) + -1)|0;
+ $38 = ($37|0)==(0);
+ if ($38) {
+ break;
+ } else {
+ $$34549 = $36;$$350 = $37;
+ }
+ }
+ }
+ __gcry_free($$047);
+ $39 = ($12|0)==(0);
+ if ($39) {
+ $42 = HEAP32[$1>>2]|0;
+ $$0 = $42;
+ STACKTOP = sp;return ($$0|0);
+ } else {
+ $40 = (_gpg_strerror($12)|0);
+ HEAP32[$vararg_buffer1>>2] = $40;
+ __gcry_log_error(69264,$vararg_buffer1);
+ $41 = HEAP32[$1>>2]|0;
+ __gcry_cipher_close($41);
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+ }
+ return (0)|0;
+}
+function _x931_reseed($0) {
+ $0 = $0|0;
+ var $$0$lcssa14$i = 0, $$035$lcssa13$i = 0, $$0354$i = 0, $$05$i = 0, $$1$i = 0, $$136$i = 0, $$2$i = 0, $$237$i = 0, $$33$i = 0, $$3382$i = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0;
+ var $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0;
+ var $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $scevgep$i = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0;
+ sp = STACKTOP;
+ $1 = HEAP32[18159]|0;
+ $2 = ($1|0)==(0);
+ if ($2) {
+ __gcry_assert_failed(68869,68594,658,69085);
+ // unreachable;
+ }
+ $3 = HEAP32[18161]|0;
+ $4 = ($3|0)==($0|0);
+ $5 = ((($0)) + 17|0);
+ if ($4) {
+ $6 = HEAP32[18162]|0;
+ _get_random($5,16,$6);
+ $34 = ((($0)) + 8|0);
+ $35 = HEAP8[$34>>0]|0;
+ $36 = $35 | 1;
+ HEAP8[$34>>0] = $36;
+ $37 = (_getpid()|0);
+ $38 = ((($0)) + 64|0);
+ HEAP32[$38>>2] = $37;
+ return;
+ }
+ $7 = (_get_entropy()|0);
+ dest=$5; src=$7; stop=dest+16|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
+ $8 = $7;
+ $9 = $8 & 7;
+ $10 = ($9|0)==(0);
+ if ($10) {
+ $$0$lcssa14$i = $7;$$035$lcssa13$i = 16;
+ label = 9;
+ } else {
+ $$0354$i = 16;$$05$i = $7;
+ while(1) {
+ HEAP8[$$05$i>>0] = 0;
+ $11 = ((($$05$i)) + 1|0);
+ $12 = (($$0354$i) + -1)|0;
+ $13 = $11;
+ $14 = $13 & 7;
+ $15 = ($14|0)!=(0);
+ $16 = ($12|0)!=(0);
+ $17 = $16 & $15;
+ if ($17) {
+ $$0354$i = $12;$$05$i = $11;
+ } else {
+ break;
+ }
+ }
+ $18 = ($12>>>0)<(8);
+ if ($18) {
+ $$2$i = $11;$$237$i = $12;
+ } else {
+ $$0$lcssa14$i = $11;$$035$lcssa13$i = $12;
+ label = 9;
+ }
+ }
+ if ((label|0) == 9) {
+ $19 = (($$035$lcssa13$i) + -8)|0;
+ $20 = $19 & -8;
+ $$1$i = $$0$lcssa14$i;$$136$i = $$035$lcssa13$i;
+ while(1) {
+ $21 = $$1$i;
+ $22 = $21;
+ HEAP32[$22>>2] = 0;
+ $23 = (($21) + 4)|0;
+ $24 = $23;
+ HEAP32[$24>>2] = 0;
+ $25 = (($$136$i) + -8)|0;
+ $26 = ((($$1$i)) + 8|0);
+ $27 = ($25>>>0)>(7);
+ if ($27) {
+ $$1$i = $26;$$136$i = $25;
+ } else {
+ break;
+ }
+ }
+ $28 = (($20) + 8)|0;
+ $29 = (($19) - ($20))|0;
+ $scevgep$i = (($$0$lcssa14$i) + ($28)|0);
+ $$2$i = $scevgep$i;$$237$i = $29;
+ }
+ $30 = ($$237$i|0)==(0);
+ if (!($30)) {
+ $$33$i = $$2$i;$$3382$i = $$237$i;
+ while(1) {
+ HEAP8[$$33$i>>0] = 0;
+ $31 = ((($$33$i)) + 1|0);
+ $32 = (($$3382$i) + -1)|0;
+ $33 = ($32|0)==(0);
+ if ($33) {
+ break;
+ } else {
+ $$33$i = $31;$$3382$i = $32;
+ }
+ }
+ }
+ __gcry_free($7);
+ $34 = ((($0)) + 8|0);
+ $35 = HEAP8[$34>>0]|0;
+ $36 = $35 | 1;
+ HEAP8[$34>>0] = $36;
+ $37 = (_getpid()|0);
+ $38 = ((($0)) + 64|0);
+ HEAP32[$38>>2] = $37;
+ return;
+}
+function _x931_aes_driver($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$0 = 0, $$0$lcssa122$i = 0, $$0108$i = 0, $$071$ph125 = 0, $$072$lcssa151 = 0, $$072115 = 0, $$073$lcssa150 = 0, $$073114 = 0, $$074$lcssa121$i = 0, $$074107$i = 0, $$078$lcssa124$i = 0, $$078$ph123 = 0, $$07897$i = 0, $$082$lcssa123$i = 0, $$08296$i = 0, $$1 = 0, $$1$i = 0, $$174 = 0, $$175$i = 0, $$179$i = 0;
+ var $$183$i = 0, $$2 = 0, $$2$i = 0, $$275 = 0, $$276$i = 0, $$280$i = 0, $$284$i = 0, $$3103$i = 0, $$3119 = 0, $$376118 = 0, $$377102$i = 0, $$38195$i = 0, $$38594$i = 0, $$mask = 0, $$mask79 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0;
+ var $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0;
+ var $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, $139 = 0, $14 = 0;
+ var $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, $157 = 0, $158 = 0;
+ var $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, $175 = 0, $176 = 0;
+ var $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, $193 = 0, $194 = 0;
+ var $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0;
+ var $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0;
+ var $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0;
+ var $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0;
+ var $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0;
+ var $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0;
+ var $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0;
+ var $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0;
+ var $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0;
+ var $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0;
+ var $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
+ var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0;
+ var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0;
+ var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0;
+ var $or$cond$i = 0, $or$cond3$i = 0, $or$cond5$i = 0, $or$cond7$i = 0, $or$cond82 = 0, $or$cond84 = 0, $scevgep = 0, $scevgep$i = 0, $scevgep120$i = 0, $scevgep149 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
+ $vararg_buffer7 = sp + 40|0;
+ $vararg_buffer4 = sp + 32|0;
+ $vararg_buffer1 = sp + 24|0;
+ $vararg_buffer = sp + 16|0;
+ $3 = sp + 48|0;
+ $4 = sp;
+ $5 = HEAP32[18159]|0;
+ $6 = ($5|0)==(0);
+ if ($6) {
+ __gcry_assert_failed(68869,68594,444,68888);
+ // unreachable;
+ }
+ $7 = ((($2)) + 4|0);
+ $8 = HEAP32[$7>>2]|0;
+ $9 = ($8|0)==(0|0);
+ if ($9) {
+ __gcry_assert_failed(68904,68594,445,68888);
+ // unreachable;
+ }
+ $10 = ((($2)) + 8|0);
+ $11 = HEAP8[$10>>0]|0;
+ $$mask = $11 & 1;
+ $12 = ($$mask<<24>>24)==(0);
+ if ($12) {
+ __gcry_assert_failed(68923,68594,446,68888);
+ // unreachable;
+ }
+ $13 = HEAP32[18160]|0;
+ $14 = ($13|0)==(0|0);
+ if ($14) {
+ __gcry_assert_failed(68942,68594,448,68888);
+ // unreachable;
+ }
+ $15 = ((($13)) + 16|0);
+ $16 = ((($13)) + 32|0);
+ $17 = ($1|0)==(0);
+ if ($17) {
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $18 = ((($2)) + 52|0);
+ $19 = ((($2)) + 12|0);
+ $20 = ((($2)) + 17|0);
+ $21 = ((($2)) + 56|0);
+ $22 = ((($4)) + 12|0);
+ $23 = ((($4)) + 13|0);
+ $24 = ((($4)) + 14|0);
+ $25 = ((($4)) + 15|0);
+ $26 = ((($13)) + 1|0);
+ $27 = ((($2)) + 18|0);
+ $28 = ((($13)) + 17|0);
+ $29 = ((($13)) + 2|0);
+ $30 = ((($2)) + 19|0);
+ $31 = ((($13)) + 18|0);
+ $32 = ((($13)) + 3|0);
+ $33 = ((($2)) + 20|0);
+ $34 = ((($13)) + 19|0);
+ $35 = ((($13)) + 4|0);
+ $36 = ((($2)) + 21|0);
+ $37 = ((($13)) + 20|0);
+ $38 = ((($13)) + 5|0);
+ $39 = ((($2)) + 22|0);
+ $40 = ((($13)) + 21|0);
+ $41 = ((($13)) + 6|0);
+ $42 = ((($2)) + 23|0);
+ $43 = ((($13)) + 22|0);
+ $44 = ((($13)) + 7|0);
+ $45 = ((($2)) + 24|0);
+ $46 = ((($13)) + 23|0);
+ $47 = ((($13)) + 8|0);
+ $48 = ((($2)) + 25|0);
+ $49 = ((($13)) + 24|0);
+ $50 = ((($13)) + 9|0);
+ $51 = ((($2)) + 26|0);
+ $52 = ((($13)) + 25|0);
+ $53 = ((($13)) + 10|0);
+ $54 = ((($2)) + 27|0);
+ $55 = ((($13)) + 26|0);
+ $56 = ((($13)) + 11|0);
+ $57 = ((($2)) + 28|0);
+ $58 = ((($13)) + 27|0);
+ $59 = ((($13)) + 12|0);
+ $60 = ((($2)) + 29|0);
+ $61 = ((($13)) + 28|0);
+ $62 = ((($13)) + 13|0);
+ $63 = ((($2)) + 30|0);
+ $64 = ((($13)) + 29|0);
+ $65 = ((($13)) + 14|0);
+ $66 = ((($2)) + 31|0);
+ $67 = ((($13)) + 30|0);
+ $68 = ((($13)) + 15|0);
+ $69 = ((($2)) + 32|0);
+ $70 = ((($13)) + 31|0);
+ $71 = ((($3)) + 4|0);
+ $72 = ((($13)) + 33|0);
+ $73 = ((($13)) + 34|0);
+ $74 = ((($13)) + 35|0);
+ $75 = ((($13)) + 36|0);
+ $76 = ((($13)) + 37|0);
+ $77 = ((($13)) + 38|0);
+ $78 = ((($13)) + 39|0);
+ $79 = ((($13)) + 40|0);
+ $80 = ((($13)) + 41|0);
+ $81 = ((($13)) + 42|0);
+ $82 = ((($13)) + 43|0);
+ $83 = ((($13)) + 44|0);
+ $84 = ((($13)) + 45|0);
+ $85 = ((($13)) + 46|0);
+ $86 = ((($13)) + 47|0);
+ $87 = ((($4)) + 1|0);
+ $88 = ((($4)) + 2|0);
+ $89 = ((($4)) + 3|0);
+ $90 = ((($4)) + 4|0);
+ $91 = ((($4)) + 5|0);
+ $92 = ((($4)) + 6|0);
+ $93 = ((($4)) + 7|0);
+ $94 = ((($4)) + 8|0);
+ $95 = ((($4)) + 9|0);
+ $96 = ((($4)) + 10|0);
+ $97 = ((($4)) + 11|0);
+ $98 = $13;
+ $99 = $98 & 7;
+ $100 = ($99|0)==(0);
+ $101 = $15;
+ $102 = $101 & 7;
+ $103 = ($102|0)==(0);
+ $104 = ((($2)) + 51|0);
+ $105 = ((($2)) + 34|0);
+ $106 = $16;
+ $107 = $106 & 7;
+ $108 = ($107|0)==(0);
+ $$071$ph125 = $0;$$078$ph123 = $1;
+ L16: while(1) {
+ while(1) {
+ $109 = HEAP32[$18>>2]|0;
+ $110 = ($109|0)==(0|0);
+ if ($110) {
+ $111 = HEAP32[$19>>2]|0;
+ $112 = ($111>>>0)>(1000);
+ if ($112) {
+ _x931_reseed($2);
+ HEAP32[$19>>2] = 0;
+ }
+ }
+ $113 = HEAP32[18159]|0;
+ $114 = ($113|0)==(0);
+ if ($114) {
+ label = 16;
+ break L16;
+ }
+ $115 = HEAP32[$18>>2]|0;
+ $116 = ($115|0)==(0|0);
+ $117 = HEAP32[18161]|0;
+ $118 = ($117|0)==($2|0);
+ $or$cond$i = $116 | $118;
+ $119 = HEAP32[18162]|0;
+ $120 = ($119|0)==($2|0);
+ $or$cond3$i = $or$cond$i | $120;
+ $121 = HEAP32[18163]|0;
+ $122 = ($121|0)==($2|0);
+ $or$cond5$i = $or$cond3$i | $122;
+ if ($or$cond5$i) {
+ $132 = HEAP32[18164]|0;
+ $133 = ($132|0)==(0);
+ if ($133) {
+ $134 = (_getpid()|0);
+ HEAP32[18165] = $134;
+ $135 = (_getppid()|0);
+ HEAP32[18166] = $135;
+ }
+ $136 = (_gettimeofday(($3|0),(0|0))|0);
+ $137 = ($136|0)==(0);
+ if (!($137)) {
+ label = 22;
+ break L16;
+ }
+ $141 = HEAP32[$71>>2]|0;
+ $142 = $141 << 4;
+ $143 = HEAP32[$3>>2]|0;
+ $144 = HEAP32[18164]|0;
+ $145 = ($143|0)==($144|0);
+ $146 = HEAP32[18167]|0;
+ $147 = ($142|0)==($146|0);
+ $or$cond7$i = $145 & $147;
+ if ($or$cond7$i) {
+ $148 = HEAP16[36660]|0;
+ $149 = (($148) + 1)<<16>>16;
+ $150 = $149 & 4095;
+ HEAP16[36660] = $150;
+ $163 = $150;
+ } else {
+ HEAP16[36660] = 0;
+ HEAP32[18164] = $143;
+ HEAP32[18167] = $142;
+ $163 = 0;
+ }
+ $151 = $143 >>> 24;
+ $152 = $151&255;
+ HEAP8[$4>>0] = $152;
+ $153 = $143 >>> 16;
+ $154 = $153&255;
+ HEAP8[$87>>0] = $154;
+ $155 = $143 >>> 8;
+ $156 = $155&255;
+ HEAP8[$88>>0] = $156;
+ $157 = $143&255;
+ HEAP8[$89>>0] = $157;
+ $158 = $141 >>> 12;
+ $159 = $158&255;
+ HEAP8[$90>>0] = $159;
+ $160 = $141 >>> 4;
+ $161 = $160&255;
+ HEAP8[$91>>0] = $161;
+ $162 = $163&65535;
+ $164 = $162 >>> 8;
+ $165 = $164 & 15;
+ $166 = $165 | $142;
+ $167 = $166&255;
+ HEAP8[$92>>0] = $167;
+ $168 = $163&255;
+ HEAP8[$93>>0] = $168;
+ $169 = HEAP32[18165]|0;
+ $170 = $169 >>> 24;
+ $171 = $170&255;
+ HEAP8[$94>>0] = $171;
+ $172 = $169 >>> 16;
+ $173 = $172&255;
+ HEAP8[$95>>0] = $173;
+ $174 = $169 >>> 8;
+ $175 = $174&255;
+ HEAP8[$96>>0] = $175;
+ $176 = $169&255;
+ HEAP8[$97>>0] = $176;
+ $177 = HEAP32[18166]|0;
+ $178 = $177 >>> 24;
+ $179 = $178&255;
+ HEAP8[$22>>0] = $179;
+ $180 = $177 >>> 16;
+ $181 = $180&255;
+ HEAP8[$23>>0] = $181;
+ $182 = $177 >>> 8;
+ $183 = $182&255;
+ HEAP8[$24>>0] = $183;
+ $184 = $177&255;
+ HEAP8[$25>>0] = $184;
+ $185 = (($177) + 1)|0;
+ HEAP32[18166] = $185;
+ $186 = ($185|0)==(0);
+ if ($186) {
+ $187 = (($169) + 1)|0;
+ HEAP32[18165] = $187;
+ }
+ } else {
+ dest=$4; src=$115; stop=dest+12|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
+ $123 = HEAP32[$21>>2]|0;
+ $124 = $123 >>> 24;
+ $125 = $124&255;
+ HEAP8[$22>>0] = $125;
+ $126 = $123 >>> 16;
+ $127 = $126&255;
+ HEAP8[$23>>0] = $127;
+ $128 = $123 >>> 8;
+ $129 = $128&255;
+ HEAP8[$24>>0] = $129;
+ $130 = $123&255;
+ HEAP8[$25>>0] = $130;
+ $131 = (($123) + 1)|0;
+ HEAP32[$21>>2] = $131;
+ }
+ $188 = HEAP32[$7>>2]|0;
+ $189 = (__gcry_cipher_encrypt($188,$13,16,$4,16)|0);
+ $190 = ($189|0)==(0);
+ if (!($190)) {
+ label = 30;
+ break L16;
+ }
+ $192 = HEAP8[$13>>0]|0;
+ $193 = HEAP8[$20>>0]|0;
+ $194 = $193 ^ $192;
+ HEAP8[$15>>0] = $194;
+ $195 = HEAP8[$26>>0]|0;
+ $196 = HEAP8[$27>>0]|0;
+ $197 = $196 ^ $195;
+ HEAP8[$28>>0] = $197;
+ $198 = HEAP8[$29>>0]|0;
+ $199 = HEAP8[$30>>0]|0;
+ $200 = $199 ^ $198;
+ HEAP8[$31>>0] = $200;
+ $201 = HEAP8[$32>>0]|0;
+ $202 = HEAP8[$33>>0]|0;
+ $203 = $202 ^ $201;
+ HEAP8[$34>>0] = $203;
+ $204 = HEAP8[$35>>0]|0;
+ $205 = HEAP8[$36>>0]|0;
+ $206 = $205 ^ $204;
+ HEAP8[$37>>0] = $206;
+ $207 = HEAP8[$38>>0]|0;
+ $208 = HEAP8[$39>>0]|0;
+ $209 = $208 ^ $207;
+ HEAP8[$40>>0] = $209;
+ $210 = HEAP8[$41>>0]|0;
+ $211 = HEAP8[$42>>0]|0;
+ $212 = $211 ^ $210;
+ HEAP8[$43>>0] = $212;
+ $213 = HEAP8[$44>>0]|0;
+ $214 = HEAP8[$45>>0]|0;
+ $215 = $214 ^ $213;
+ HEAP8[$46>>0] = $215;
+ $216 = HEAP8[$47>>0]|0;
+ $217 = HEAP8[$48>>0]|0;
+ $218 = $217 ^ $216;
+ HEAP8[$49>>0] = $218;
+ $219 = HEAP8[$50>>0]|0;
+ $220 = HEAP8[$51>>0]|0;
+ $221 = $220 ^ $219;
+ HEAP8[$52>>0] = $221;
+ $222 = HEAP8[$53>>0]|0;
+ $223 = HEAP8[$54>>0]|0;
+ $224 = $223 ^ $222;
+ HEAP8[$55>>0] = $224;
+ $225 = HEAP8[$56>>0]|0;
+ $226 = HEAP8[$57>>0]|0;
+ $227 = $226 ^ $225;
+ HEAP8[$58>>0] = $227;
+ $228 = HEAP8[$59>>0]|0;
+ $229 = HEAP8[$60>>0]|0;
+ $230 = $229 ^ $228;
+ HEAP8[$61>>0] = $230;
+ $231 = HEAP8[$62>>0]|0;
+ $232 = HEAP8[$63>>0]|0;
+ $233 = $232 ^ $231;
+ HEAP8[$64>>0] = $233;
+ $234 = HEAP8[$65>>0]|0;
+ $235 = HEAP8[$66>>0]|0;
+ $236 = $235 ^ $234;
+ HEAP8[$67>>0] = $236;
+ $237 = HEAP8[$68>>0]|0;
+ $238 = HEAP8[$69>>0]|0;
+ $239 = $238 ^ $237;
+ HEAP8[$70>>0] = $239;
+ $240 = (__gcry_cipher_encrypt($188,$16,16,$15,16)|0);
+ $241 = ($240|0)==(0);
+ if (!($241)) {
+ label = 32;
+ break L16;
+ }
+ $243 = HEAP8[$16>>0]|0;
+ $244 = HEAP8[$13>>0]|0;
+ $245 = $244 ^ $243;
+ HEAP8[$15>>0] = $245;
+ $246 = HEAP8[$72>>0]|0;
+ $247 = HEAP8[$26>>0]|0;
+ $248 = $247 ^ $246;
+ HEAP8[$28>>0] = $248;
+ $249 = HEAP8[$73>>0]|0;
+ $250 = HEAP8[$29>>0]|0;
+ $251 = $250 ^ $249;
+ HEAP8[$31>>0] = $251;
+ $252 = HEAP8[$74>>0]|0;
+ $253 = HEAP8[$32>>0]|0;
+ $254 = $253 ^ $252;
+ HEAP8[$34>>0] = $254;
+ $255 = HEAP8[$75>>0]|0;
+ $256 = HEAP8[$35>>0]|0;
+ $257 = $256 ^ $255;
+ HEAP8[$37>>0] = $257;
+ $258 = HEAP8[$76>>0]|0;
+ $259 = HEAP8[$38>>0]|0;
+ $260 = $259 ^ $258;
+ HEAP8[$40>>0] = $260;
+ $261 = HEAP8[$77>>0]|0;
+ $262 = HEAP8[$41>>0]|0;
+ $263 = $262 ^ $261;
+ HEAP8[$43>>0] = $263;
+ $264 = HEAP8[$78>>0]|0;
+ $265 = HEAP8[$44>>0]|0;
+ $266 = $265 ^ $264;
+ HEAP8[$46>>0] = $266;
+ $267 = HEAP8[$79>>0]|0;
+ $268 = HEAP8[$47>>0]|0;
+ $269 = $268 ^ $267;
+ HEAP8[$49>>0] = $269;
+ $270 = HEAP8[$80>>0]|0;
+ $271 = HEAP8[$50>>0]|0;
+ $272 = $271 ^ $270;
+ HEAP8[$52>>0] = $272;
+ $273 = HEAP8[$81>>0]|0;
+ $274 = HEAP8[$53>>0]|0;
+ $275 = $274 ^ $273;
+ HEAP8[$55>>0] = $275;
+ $276 = HEAP8[$82>>0]|0;
+ $277 = HEAP8[$56>>0]|0;
+ $278 = $277 ^ $276;
+ HEAP8[$58>>0] = $278;
+ $279 = HEAP8[$83>>0]|0;
+ $280 = HEAP8[$59>>0]|0;
+ $281 = $280 ^ $279;
+ HEAP8[$61>>0] = $281;
+ $282 = HEAP8[$84>>0]|0;
+ $283 = HEAP8[$62>>0]|0;
+ $284 = $283 ^ $282;
+ HEAP8[$64>>0] = $284;
+ $285 = HEAP8[$85>>0]|0;
+ $286 = HEAP8[$65>>0]|0;
+ $287 = $286 ^ $285;
+ HEAP8[$67>>0] = $287;
+ $288 = HEAP8[$86>>0]|0;
+ $289 = HEAP8[$68>>0]|0;
+ $290 = $289 ^ $288;
+ HEAP8[$70>>0] = $290;
+ $291 = (__gcry_cipher_encrypt($188,$20,16,$15,16)|0);
+ $292 = ($291|0)==(0);
+ if (!($292)) {
+ label = 34;
+ break L16;
+ }
+ if ($100) {
+ $$0$lcssa122$i = $13;$$074$lcssa121$i = 16;
+ label = 39;
+ } else {
+ $$0108$i = $13;$$074107$i = 16;
+ while(1) {
+ HEAP8[$$0108$i>>0] = 0;
+ $294 = ((($$0108$i)) + 1|0);
+ $295 = (($$074107$i) + -1)|0;
+ $296 = $294;
+ $297 = $296 & 7;
+ $298 = ($297|0)!=(0);
+ $299 = ($295|0)!=(0);
+ $300 = $299 & $298;
+ if ($300) {
+ $$0108$i = $294;$$074107$i = $295;
+ } else {
+ break;
+ }
+ }
+ $301 = ($295>>>0)<(8);
+ if ($301) {
+ $$2$i = $294;$$276$i = $295;
+ } else {
+ $$0$lcssa122$i = $294;$$074$lcssa121$i = $295;
+ label = 39;
+ }
+ }
+ if ((label|0) == 39) {
+ label = 0;
+ $302 = (($$074$lcssa121$i) + -8)|0;
+ $303 = $302 & -8;
+ $$1$i = $$0$lcssa122$i;$$175$i = $$074$lcssa121$i;
+ while(1) {
+ $304 = $$1$i;
+ $305 = $304;
+ HEAP32[$305>>2] = 0;
+ $306 = (($304) + 4)|0;
+ $307 = $306;
+ HEAP32[$307>>2] = 0;
+ $308 = (($$175$i) + -8)|0;
+ $309 = ((($$1$i)) + 8|0);
+ $310 = ($308>>>0)>(7);
+ if ($310) {
+ $$1$i = $309;$$175$i = $308;
+ } else {
+ break;
+ }
+ }
+ $311 = (($303) + 8)|0;
+ $312 = (($302) - ($303))|0;
+ $scevgep120$i = (($$0$lcssa122$i) + ($311)|0);
+ $$2$i = $scevgep120$i;$$276$i = $312;
+ }
+ $313 = ($$276$i|0)==(0);
+ if (!($313)) {
+ $$3103$i = $$2$i;$$377102$i = $$276$i;
+ while(1) {
+ HEAP8[$$3103$i>>0] = 0;
+ $314 = ((($$3103$i)) + 1|0);
+ $315 = (($$377102$i) + -1)|0;
+ $316 = ($315|0)==(0);
+ if ($316) {
+ break;
+ } else {
+ $$3103$i = $314;$$377102$i = $315;
+ }
+ }
+ }
+ if ($103) {
+ $$078$lcssa124$i = 16;$$082$lcssa123$i = $15;
+ label = 49;
+ } else {
+ $$07897$i = 16;$$08296$i = $15;
+ while(1) {
+ HEAP8[$$08296$i>>0] = 0;
+ $317 = ((($$08296$i)) + 1|0);
+ $318 = (($$07897$i) + -1)|0;
+ $319 = $317;
+ $320 = $319 & 7;
+ $321 = ($320|0)!=(0);
+ $322 = ($318|0)!=(0);
+ $323 = $322 & $321;
+ if ($323) {
+ $$07897$i = $318;$$08296$i = $317;
+ } else {
+ break;
+ }
+ }
+ $324 = ($318>>>0)<(8);
+ if ($324) {
+ $$280$i = $318;$$284$i = $317;
+ } else {
+ $$078$lcssa124$i = $318;$$082$lcssa123$i = $317;
+ label = 49;
+ }
+ }
+ if ((label|0) == 49) {
+ label = 0;
+ $325 = (($$078$lcssa124$i) + -8)|0;
+ $326 = $325 & -8;
+ $$179$i = $$078$lcssa124$i;$$183$i = $$082$lcssa123$i;
+ while(1) {
+ $327 = $$183$i;
+ $328 = $327;
+ HEAP32[$328>>2] = 0;
+ $329 = (($327) + 4)|0;
+ $330 = $329;
+ HEAP32[$330>>2] = 0;
+ $331 = (($$179$i) + -8)|0;
+ $332 = ((($$183$i)) + 8|0);
+ $333 = ($331>>>0)>(7);
+ if ($333) {
+ $$179$i = $331;$$183$i = $332;
+ } else {
+ break;
+ }
+ }
+ $334 = (($326) + 8)|0;
+ $335 = (($325) - ($326))|0;
+ $scevgep$i = (($$082$lcssa123$i) + ($334)|0);
+ $$280$i = $335;$$284$i = $scevgep$i;
+ }
+ $336 = ($$280$i|0)==(0);
+ if (!($336)) {
+ $$38195$i = $$280$i;$$38594$i = $$284$i;
+ while(1) {
+ HEAP8[$$38594$i>>0] = 0;
+ $337 = ((($$38594$i)) + 1|0);
+ $338 = (($$38195$i) + -1)|0;
+ $339 = ($338|0)==(0);
+ if ($339) {
+ break;
+ } else {
+ $$38195$i = $338;$$38594$i = $337;
+ }
+ }
+ }
+ $340 = HEAP32[$19>>2]|0;
+ $341 = (($340) + 1)|0;
+ HEAP32[$19>>2] = $341;
+ $342 = HEAP8[$104>>0]|0;
+ $343 = ($342<<24>>24)==(0);
+ if (!($343)) {
+ $344 = HEAP32[$18>>2]|0;
+ $345 = ($344|0)==(0|0);
+ $346 = HEAP32[18161]|0;
+ $347 = ($346|0)==($2|0);
+ $or$cond = $345 | $347;
+ $348 = HEAP32[18162]|0;
+ $349 = ($348|0)==($2|0);
+ $or$cond82 = $or$cond | $349;
+ $350 = HEAP32[18163]|0;
+ $351 = ($350|0)==($2|0);
+ $or$cond84 = $or$cond82 | $351;
+ if (!($or$cond84)) {
+ label = 62;
+ break;
+ }
+ }
+ $352 = HEAP8[$10>>0]|0;
+ $$mask79 = $352 & 2;
+ $353 = ($$mask79<<24>>24)==(0);
+ if (!($353)) {
+ label = 59;
+ break;
+ }
+ dest=$105; src=$16; stop=dest+16|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
+ $354 = $352 | 2;
+ HEAP8[$10>>0] = $354;
+ }
+ if ((label|0) == 59) {
+ label = 0;
+ $355 = (_memcmp($105,$16,16)|0);
+ $356 = ($355|0)==(0);
+ if ($356) {
+ label = 60;
+ break;
+ }
+ $357 = ($$078$ph123>>>0)<(16);
+ $358 = $357 ? $$078$ph123 : 16;
+ dest=$105; src=$16; stop=dest+16|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
+ $361 = $358;
+ }
+ else if ((label|0) == 62) {
+ label = 0;
+ $359 = ($$078$ph123>>>0)<(16);
+ $360 = $359 ? $$078$ph123 : 16;
+ $361 = $360;
+ }
+ _memcpy(($$071$ph125|0),($16|0),($361|0))|0;
+ if ($108) {
+ $$072$lcssa151 = 16;$$073$lcssa150 = $16;
+ label = 67;
+ } else {
+ $$072115 = 16;$$073114 = $16;
+ while(1) {
+ HEAP8[$$073114>>0] = 0;
+ $362 = ((($$073114)) + 1|0);
+ $363 = (($$072115) + -1)|0;
+ $364 = $362;
+ $365 = $364 & 7;
+ $366 = ($365|0)!=(0);
+ $367 = ($363|0)!=(0);
+ $368 = $367 & $366;
+ if ($368) {
+ $$072115 = $363;$$073114 = $362;
+ } else {
+ break;
+ }
+ }
+ $369 = ($363>>>0)<(8);
+ if ($369) {
+ $$2 = $363;$$275 = $362;
+ } else {
+ $$072$lcssa151 = $363;$$073$lcssa150 = $362;
+ label = 67;
+ }
+ }
+ if ((label|0) == 67) {
+ label = 0;
+ $370 = (($$072$lcssa151) + -8)|0;
+ $371 = $370 & -8;
+ $scevgep = ((($$073$lcssa150)) + 8|0);
+ $$1 = $$072$lcssa151;$$174 = $$073$lcssa150;
+ while(1) {
+ $372 = $$174;
+ $373 = $372;
+ HEAP32[$373>>2] = 0;
+ $374 = (($372) + 4)|0;
+ $375 = $374;
+ HEAP32[$375>>2] = 0;
+ $376 = (($$1) + -8)|0;
+ $377 = ((($$174)) + 8|0);
+ $378 = ($376>>>0)>(7);
+ if ($378) {
+ $$1 = $376;$$174 = $377;
+ } else {
+ break;
+ }
+ }
+ $379 = (($370) - ($371))|0;
+ $scevgep149 = (($scevgep) + ($371)|0);
+ $$2 = $379;$$275 = $scevgep149;
+ }
+ $380 = ($$2|0)==(0);
+ if (!($380)) {
+ $$3119 = $$2;$$376118 = $$275;
+ while(1) {
+ HEAP8[$$376118>>0] = 0;
+ $381 = ((($$376118)) + 1|0);
+ $382 = (($$3119) + -1)|0;
+ $383 = ($382|0)==(0);
+ if ($383) {
+ break;
+ } else {
+ $$3119 = $382;$$376118 = $381;
+ }
+ }
+ }
+ $384 = (($$071$ph125) + ($361)|0);
+ $385 = (($$078$ph123) - ($361))|0;
+ $386 = ($385|0)==(0);
+ if ($386) {
+ $$0 = 0;
+ label = 74;
+ break;
+ } else {
+ $$071$ph125 = $384;$$078$ph123 = $385;
+ }
+ }
+ if ((label|0) == 16) {
+ __gcry_assert_failed(68869,68594,274,68972);
+ // unreachable;
+ }
+ else if ((label|0) == 22) {
+ $138 = (___errno_location()|0);
+ $139 = HEAP32[$138>>2]|0;
+ $140 = (_strerror($139)|0);
+ HEAP32[$vararg_buffer>>2] = $140;
+ __gcry_log_fatal(68984,$vararg_buffer);
+ // unreachable;
+ }
+ else if ((label|0) == 30) {
+ $191 = (__gcry_strerror($189)|0);
+ HEAP32[$vararg_buffer1>>2] = $191;
+ __gcry_log_fatal(69011,$vararg_buffer1);
+ // unreachable;
+ }
+ else if ((label|0) == 32) {
+ $242 = (__gcry_strerror($240)|0);
+ HEAP32[$vararg_buffer4>>2] = $242;
+ __gcry_log_fatal(69011,$vararg_buffer4);
+ // unreachable;
+ }
+ else if ((label|0) == 34) {
+ $293 = (__gcry_strerror($291)|0);
+ HEAP32[$vararg_buffer7>>2] = $293;
+ __gcry_log_fatal(69011,$vararg_buffer7);
+ // unreachable;
+ }
+ else if ((label|0) == 60) {
+ __gcry_fips_signal_error(68594,502,68888,0,69045);
+ $$0 = -1;
+ STACKTOP = sp;return ($$0|0);
+ }
+ else if ((label|0) == 74) {
+ STACKTOP = sp;return ($$0|0);
+ }
+ return (0)|0;
+}
+function __gcry_strerror($0) {
+ $0 = $0|0;
+ var $1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = (_gpg_strerror($0)|0);
+ return ($1|0);
+}
+function _get_entropy() {
+ var $0 = 0, $1 = 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)) abortStackOverflow(16|0);
+ $vararg_buffer = sp;
+ $0 = HEAP32[18168]|0;
+ $1 = ($0|0)==(0|0);
+ if (!($1)) {
+ __gcry_assert_failed(69097,68594,552,69121);
+ // unreachable;
+ }
+ $2 = (__gcry_xmalloc_secure(16)|0);
+ HEAP32[18168] = $2;
+ HEAP32[18169] = 16;
+ HEAP32[18170] = 0;
+ $3 = (__gcry_rndlinux_gather_random(85,0,16,2)|0);
+ $4 = ($3|0)<(0);
+ if (!($4)) {
+ $5 = HEAP32[18170]|0;
+ $6 = HEAP32[18169]|0;
+ $7 = ($5|0)==($6|0);
+ if ($7) {
+ $9 = HEAP32[18168]|0;
+ HEAP32[18168] = 0;
+ STACKTOP = sp;return ($9|0);
+ }
+ }
+ $8 = HEAP32[18168]|0;
+ __gcry_free($8);
+ HEAP32[18168] = 0;
+ __gcry_log_fatal(69133,$vararg_buffer);
+ // unreachable;
+ return (0)|0;
+}
+function _entropy_collect_cb($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$05 = 0, $$in = 0, $$pre = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0;
+ var sp = 0;
+ sp = STACKTOP;
+ $3 = HEAP32[18159]|0;
+ $4 = ($3|0)==(0);
+ if ($4) {
+ __gcry_assert_failed(68869,68594,531,69161);
+ // unreachable;
+ }
+ $5 = HEAP32[18168]|0;
+ $6 = ($5|0)==(0|0);
+ if ($6) {
+ __gcry_assert_failed(69180,68594,532,69161);
+ // unreachable;
+ }
+ $7 = ($1|0)==(0);
+ if ($7) {
+ return;
+ }
+ $8 = HEAP32[18169]|0;
+ $$pre = HEAP32[18170]|0;
+ $$05 = $0;$$in = $1;$11 = $$pre;
+ while(1) {
+ $9 = (($$in) + -1)|0;
+ $10 = ($11>>>0)<($8>>>0);
+ if (!($10)) {
+ label = 9;
+ break;
+ }
+ $12 = ((($$05)) + 1|0);
+ $13 = HEAP8[$$05>>0]|0;
+ $14 = (($11) + 1)|0;
+ HEAP32[18170] = $14;
+ $15 = (($5) + ($11)|0);
+ $16 = HEAP8[$15>>0]|0;
+ $17 = $16 ^ $13;
+ HEAP8[$15>>0] = $17;
+ $18 = ($9|0)==(0);
+ if ($18) {
+ label = 9;
+ break;
+ } else {
+ $$05 = $12;$$in = $9;$11 = $14;
+ }
+ }
+ if ((label|0) == 9) {
+ return;
+ }
+}
+function __gcry_rngfips_create_nonce($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $vararg_buffer1 = sp + 8|0;
+ $vararg_buffer = sp;
+ __gcry_rngfips_initialize(1);
+ $2 = (_gpgrt_lock_lock(40256)|0);
+ $3 = ($2|0)==(0);
+ if (!($3)) {
+ $4 = (_gpg_strerror($2)|0);
+ HEAP32[$vararg_buffer>>2] = $4;
+ __gcry_log_fatal(68530,$vararg_buffer);
+ // unreachable;
+ }
+ HEAP32[18159] = 1;
+ $5 = HEAP32[18161]|0;
+ _get_random($0,$1,$5);
+ HEAP32[18159] = 0;
+ $6 = (_gpgrt_lock_unlock(40256)|0);
+ $7 = ($6|0)==(0);
+ if ($7) {
+ STACKTOP = sp;return;
+ } else {
+ $8 = (_gpg_strerror($6)|0);
+ HEAP32[$vararg_buffer1>>2] = $8;
+ __gcry_log_fatal(68742,$vararg_buffer1);
+ // unreachable;
+ }
+}
+function __gcry_rngfips_selftest($0) {
+ $0 = $0|0;
+ var $$0$i = 0, $$04854$i = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
+ var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0;
+ var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0;
+ var $62 = 0, $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;
+ 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, $or$cond$i = 0;
+ var $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
+ $vararg_buffer7 = sp + 40|0;
+ $vararg_buffer4 = sp + 32|0;
+ $vararg_buffer1 = sp + 24|0;
+ $vararg_buffer = sp + 16|0;
+ $1 = sp;
+ $2 = sp + 48|0;
+ __gcry_randomize($2,8,1);
+ $3 = HEAP32[18160]|0;
+ $4 = ($3|0)==(0|0);
+ if ($4) {
+ __gcry_assert_failed(68942,68594,912,69296);
+ // unreachable;
+ }
+ $5 = (__gcry_xcalloc(1,68)|0);
+ HEAP8[$5>>0] = 17;
+ $6 = ((($5)) + 16|0);
+ HEAP8[$6>>0] = 42;
+ $7 = ((($5)) + 33|0);
+ HEAP8[$7>>0] = -119;
+ $8 = ((($5)) + 50|0);
+ HEAP8[$8>>0] = -4;
+ $9 = (_gpgrt_lock_lock(40256)|0);
+ $10 = ($9|0)==(0);
+ if (!($10)) {
+ $11 = (_gpg_strerror($9)|0);
+ HEAP32[$vararg_buffer>>2] = $11;
+ __gcry_log_fatal(68530,$vararg_buffer);
+ // unreachable;
+ }
+ HEAP32[18159] = 1;
+ $12 = ((($5)) + 4|0);
+ $13 = ((($5)) + 60|0);
+ $14 = ((($5)) + 17|0);
+ $15 = ((($5)) + 8|0);
+ $16 = ((($5)) + 64|0);
+ $17 = ((($5)) + 52|0);
+ $18 = ((($5)) + 56|0);
+ $$04854$i = 0;
+ while(1) {
+ $21 = (__gcry_cipher_open($12,7,1,1)|0);
+ $22 = ($21|0)==(0);
+ if (!($22)) {
+ $$0$i = 69378;
+ label = 18;
+ break;
+ }
+ $23 = HEAP32[$12>>2]|0;
+ $24 = (16592 + (($$04854$i*96)|0)|0);
+ $25 = (__gcry_cipher_setkey($23,$24,16)|0);
+ $26 = ($25|0)==(0);
+ if (!($26)) {
+ $$0$i = 69416;
+ label = 18;
+ break;
+ }
+ $27 = (_getpid()|0);
+ HEAP32[$13>>2] = $27;
+ $28 = (((16592 + (($$04854$i*96)|0)|0)) + 32|0);
+ dest=$14; src=$28; stop=dest+16|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
+ $29 = HEAP8[$15>>0]|0;
+ $30 = $29 | 1;
+ HEAP8[$15>>0] = $30;
+ $31 = (_getpid()|0);
+ HEAP32[$16>>2] = $31;
+ $32 = (((16592 + (($$04854$i*96)|0)|0)) + 16|0);
+ HEAP32[$17>>2] = $32;
+ $33 = (((16592 + (($$04854$i*96)|0)|0)) + 28|0);
+ $34 = HEAP8[$33>>0]|0;
+ $35 = $34&255;
+ $36 = $35 << 24;
+ $37 = (((16592 + (($$04854$i*96)|0)|0)) + 29|0);
+ $38 = HEAP8[$37>>0]|0;
+ $39 = $38&255;
+ $40 = $39 << 16;
+ $41 = $40 | $36;
+ $42 = (((16592 + (($$04854$i*96)|0)|0)) + 30|0);
+ $43 = HEAP8[$42>>0]|0;
+ $44 = $43&255;
+ $45 = $44 << 8;
+ $46 = $41 | $45;
+ $47 = (((16592 + (($$04854$i*96)|0)|0)) + 31|0);
+ $48 = HEAP8[$47>>0]|0;
+ $49 = $48&255;
+ $50 = $46 | $49;
+ HEAP32[$18>>2] = $50;
+ $51 = (_x931_aes_driver($1,16,$5)|0);
+ $52 = ($51|0)==(0);
+ if (!($52)) {
+ $$0$i = 69309;
+ label = 18;
+ break;
+ }
+ $55 = (((16592 + (($$04854$i*96)|0)|0)) + 48|0);
+ $56 = (_memcmp($1,$55,16)|0);
+ $57 = ($56|0)==(0);
+ if (!($57)) {
+ $$0$i = 69340;
+ label = 18;
+ break;
+ }
+ $53 = (_x931_aes_driver($1,16,$5)|0);
+ $54 = ($53|0)==(0);
+ if (!($54)) {
+ $$0$i = 69309;
+ label = 18;
+ break;
+ }
+ $86 = (((16592 + (($$04854$i*96)|0)|0)) + 64|0);
+ $87 = (_memcmp($1,$86,16)|0);
+ $88 = ($87|0)==(0);
+ if (!($88)) {
+ $$0$i = 69340;
+ label = 18;
+ break;
+ }
+ $89 = (_x931_aes_driver($1,16,$5)|0);
+ $90 = ($89|0)==(0);
+ if (!($90)) {
+ $$0$i = 69309;
+ label = 18;
+ break;
+ }
+ $91 = (((16592 + (($$04854$i*96)|0)|0)) + 80|0);
+ $92 = (_memcmp($1,$91,16)|0);
+ $93 = ($92|0)==(0);
+ if (!($93)) {
+ $$0$i = 69340;
+ label = 18;
+ break;
+ }
+ $94 = HEAP32[$13>>2]|0;
+ $95 = (_getpid()|0);
+ $96 = ($94|0)==($95|0);
+ if (!($96)) {
+ $$0$i = 69442;
+ label = 18;
+ break;
+ }
+ $58 = HEAP32[$16>>2]|0;
+ $59 = (_getpid()|0);
+ $60 = ($58|0)==($59|0);
+ if (!($60)) {
+ $$0$i = 69442;
+ label = 18;
+ break;
+ }
+ $61 = HEAP32[$12>>2]|0;
+ __gcry_cipher_close($61);
+ HEAP32[$12>>2] = 0;
+ $62 = HEAP8[$15>>0]|0;
+ $63 = $62 & -2;
+ HEAP8[$15>>0] = $63;
+ $64 = HEAP8[$5>>0]|0;
+ $65 = ($64<<24>>24)==(17);
+ if (!($65)) {
+ label = 17;
+ break;
+ }
+ $66 = HEAP8[$6>>0]|0;
+ $67 = ($66<<24>>24)==(42);
+ if (!($67)) {
+ label = 17;
+ break;
+ }
+ $68 = HEAP8[$7>>0]|0;
+ $69 = ($68<<24>>24)==(-119);
+ if (!($69)) {
+ label = 17;
+ break;
+ }
+ $70 = HEAP8[$8>>0]|0;
+ $71 = ($70<<24>>24)==(-4);
+ $20 = (($$04854$i) + 1)|0;
+ if (!($71)) {
+ label = 17;
+ break;
+ }
+ $19 = ($20>>>0)<(3);
+ if ($19) {
+ $$04854$i = $20;
+ } else {
+ $$0$i = 0;
+ label = 18;
+ break;
+ }
+ }
+ if ((label|0) == 17) {
+ HEAP32[$vararg_buffer1>>2] = $5;
+ __gcry_log_fatal(68696,$vararg_buffer1);
+ // unreachable;
+ }
+ else if ((label|0) == 18) {
+ HEAP32[18159] = 0;
+ $72 = (_gpgrt_lock_unlock(40256)|0);
+ $73 = ($72|0)==(0);
+ if (!($73)) {
+ $74 = (_gpg_strerror($72)|0);
+ HEAP32[$vararg_buffer4>>2] = $74;
+ __gcry_log_fatal(68742,$vararg_buffer4);
+ // unreachable;
+ }
+ $75 = HEAP32[$12>>2]|0;
+ __gcry_cipher_close($75);
+ $76 = HEAP8[$5>>0]|0;
+ $77 = ($76<<24>>24)==(17);
+ if (!($77)) {
+ HEAP32[$vararg_buffer7>>2] = $5;
+ __gcry_log_fatal(68696,$vararg_buffer7);
+ // unreachable;
+ }
+ $78 = HEAP8[$6>>0]|0;
+ $79 = ($78<<24>>24)==(42);
+ if (!($79)) {
+ HEAP32[$vararg_buffer7>>2] = $5;
+ __gcry_log_fatal(68696,$vararg_buffer7);
+ // unreachable;
+ }
+ $80 = HEAP8[$7>>0]|0;
+ $81 = ($80<<24>>24)==(-119);
+ if (!($81)) {
+ HEAP32[$vararg_buffer7>>2] = $5;
+ __gcry_log_fatal(68696,$vararg_buffer7);
+ // unreachable;
+ }
+ $82 = HEAP8[$8>>0]|0;
+ $83 = ($82<<24>>24)==(-4);
+ if (!($83)) {
+ HEAP32[$vararg_buffer7>>2] = $5;
+ __gcry_log_fatal(68696,$vararg_buffer7);
+ // unreachable;
+ }
+ __gcry_free($5);
+ $84 = ($0|0)!=(0|0);
+ $85 = ($$0$i|0)!=(0|0);
+ $or$cond$i = $84 & $85;
+ if (!($or$cond$i)) {
+ $97 = $85 ? 16777266 : 0;
+ STACKTOP = sp;return ($97|0);
+ }
+ FUNCTION_TABLE_viiii[$0 & 63](69464,0,69471,$$0$i);
+ $97 = $85 ? 16777266 : 0;
+ STACKTOP = sp;return ($97|0);
+ }
+ return (0)|0;
+}
+function __gcry_rngfips_init_external_test($0,$1,$2,$3,$4,$5,$6,$7) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ $5 = $5|0;
+ $6 = $6|0;
+ $7 = $7|0;
+ var $$0 = 0, $$055 = 0, $$05557 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
+ var $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0;
+ var $67 = 0, $68 = 0, $69 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $8 = 0, $9 = 0, $or$cond$not = 0, $or$cond11 = 0, $or$cond3 = 0, $or$cond5$not = 0, $or$cond7 = 0, $or$cond9$not = 0, $storemerge = 0, $vararg_buffer = 0, $vararg_buffer1 = 0;
+ var dest = 0, label = 0, sp = 0, src = 0, stop = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $vararg_buffer1 = sp + 8|0;
+ $vararg_buffer = sp;
+ __gcry_rngfips_initialize(1);
+ $8 = ($0|0)==(0|0);
+ $9 = ($2|0)==(0|0);
+ $or$cond$not = $8 | $9;
+ $10 = ($3|0)!=(16);
+ $or$cond3 = $or$cond$not | $10;
+ $11 = ($4|0)==(0|0);
+ $or$cond5$not = $or$cond3 | $11;
+ $12 = ($5|0)!=(16);
+ $or$cond7 = $or$cond5$not | $12;
+ $13 = ($6|0)==(0|0);
+ $or$cond9$not = $or$cond7 | $13;
+ $14 = ($7|0)!=(16);
+ $or$cond11 = $or$cond9$not | $14;
+ if ($or$cond11) {
+ $$0 = 45;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $15 = (__gcry_calloc(1,84)|0);
+ $16 = ($15|0)==(0|0);
+ if ($16) {
+ $17 = (_gpg_err_code_from_syserror()|0);
+ $$0 = $17;
+ STACKTOP = sp;return ($$0|0);
+ }
+ HEAP8[$15>>0] = 17;
+ $18 = ((($15)) + 16|0);
+ HEAP8[$18>>0] = 42;
+ $19 = ((($15)) + 33|0);
+ HEAP8[$19>>0] = -119;
+ $20 = ((($15)) + 50|0);
+ HEAP8[$20>>0] = -4;
+ $21 = ((($15)) + 4|0);
+ $22 = (__gcry_cipher_open($21,7,1,1)|0);
+ $23 = ($22|0)==(0);
+ do {
+ if ($23) {
+ $24 = HEAP32[$21>>2]|0;
+ $25 = (__gcry_cipher_setkey($24,$2,16)|0);
+ $26 = ($25|0)==(0);
+ if ($26) {
+ $27 = (_getpid()|0);
+ $28 = ((($15)) + 60|0);
+ HEAP32[$28>>2] = $27;
+ $29 = ((($15)) + 17|0);
+ dest=$29; src=$4; stop=dest+16|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
+ $30 = ((($15)) + 8|0);
+ $31 = HEAP8[$30>>0]|0;
+ $32 = $31 | 1;
+ HEAP8[$30>>0] = $32;
+ $33 = (_getpid()|0);
+ $34 = ((($15)) + 64|0);
+ HEAP32[$34>>2] = $33;
+ $35 = ((($15)) + 68|0);
+ dest=$35; src=$6; stop=dest+16|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
+ $36 = ((($15)) + 52|0);
+ HEAP32[$36>>2] = $35;
+ $37 = ((($15)) + 80|0);
+ $38 = HEAP8[$37>>0]|0;
+ $39 = $38&255;
+ $40 = $39 << 24;
+ $41 = ((($15)) + 81|0);
+ $42 = HEAP8[$41>>0]|0;
+ $43 = $42&255;
+ $44 = $43 << 16;
+ $45 = $44 | $40;
+ $46 = ((($15)) + 82|0);
+ $47 = HEAP8[$46>>0]|0;
+ $48 = $47&255;
+ $49 = $48 << 8;
+ $50 = $45 | $49;
+ $51 = ((($15)) + 83|0);
+ $52 = HEAP8[$51>>0]|0;
+ $53 = $52&255;
+ $54 = $50 | $53;
+ $55 = ((($15)) + 56|0);
+ HEAP32[$55>>2] = $54;
+ $56 = $1 & 1;
+ $57 = ($56|0)==(0);
+ if ($57) {
+ $67 = HEAP8[$15>>0]|0;
+ $68 = ($67<<24>>24)==(17);
+ if (!($68)) {
+ HEAP32[$vararg_buffer1>>2] = $15;
+ __gcry_log_fatal(68696,$vararg_buffer1);
+ // unreachable;
+ }
+ $69 = HEAP8[$18>>0]|0;
+ $70 = ($69<<24>>24)==(42);
+ if (!($70)) {
+ HEAP32[$vararg_buffer1>>2] = $15;
+ __gcry_log_fatal(68696,$vararg_buffer1);
+ // unreachable;
+ }
+ $71 = HEAP8[$19>>0]|0;
+ $72 = ($71<<24>>24)==(-119);
+ if (!($72)) {
+ HEAP32[$vararg_buffer1>>2] = $15;
+ __gcry_log_fatal(68696,$vararg_buffer1);
+ // unreachable;
+ }
+ $73 = HEAP8[$20>>0]|0;
+ $74 = ($73<<24>>24)==(-4);
+ if ($74) {
+ $$05557 = 0;$storemerge = $15;
+ break;
+ }
+ HEAP32[$vararg_buffer1>>2] = $15;
+ __gcry_log_fatal(68696,$vararg_buffer1);
+ // unreachable;
+ } else {
+ $58 = ((($15)) + 51|0);
+ HEAP8[$58>>0] = 1;
+ $59 = HEAP8[$15>>0]|0;
+ $60 = ($59<<24>>24)==(17);
+ if (!($60)) {
+ HEAP32[$vararg_buffer>>2] = $15;
+ __gcry_log_fatal(68696,$vararg_buffer);
+ // unreachable;
+ }
+ $61 = HEAP8[$18>>0]|0;
+ $62 = ($61<<24>>24)==(42);
+ if (!($62)) {
+ HEAP32[$vararg_buffer>>2] = $15;
+ __gcry_log_fatal(68696,$vararg_buffer);
+ // unreachable;
+ }
+ $63 = HEAP8[$19>>0]|0;
+ $64 = ($63<<24>>24)==(-119);
+ if (!($64)) {
+ HEAP32[$vararg_buffer>>2] = $15;
+ __gcry_log_fatal(68696,$vararg_buffer);
+ // unreachable;
+ }
+ $65 = HEAP8[$20>>0]|0;
+ $66 = ($65<<24>>24)==(-4);
+ if ($66) {
+ $$05557 = 0;$storemerge = $15;
+ break;
+ }
+ HEAP32[$vararg_buffer>>2] = $15;
+ __gcry_log_fatal(68696,$vararg_buffer);
+ // unreachable;
+ }
+ } else {
+ $$055 = $25;
+ label = 17;
+ }
+ } else {
+ $$055 = $22;
+ label = 17;
+ }
+ } while(0);
+ if ((label|0) == 17) {
+ $75 = HEAP32[$21>>2]|0;
+ __gcry_cipher_close($75);
+ __gcry_free($15);
+ $$05557 = $$055;$storemerge = 0;
+ }
+ HEAP32[$0>>2] = $storemerge;
+ $$0 = $$05557;
+ STACKTOP = sp;return ($$0|0);
+}
+function __gcry_rngfips_run_external_test($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$0 = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond$not = 0, $or$cond3 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $vararg_buffer1 = sp + 8|0;
+ $vararg_buffer = sp;
+ $3 = ($0|0)==(0|0);
+ $4 = ($1|0)==(0|0);
+ $or$cond$not = $3 | $4;
+ $5 = ($2|0)!=(16);
+ $or$cond3 = $or$cond$not | $5;
+ if ($or$cond3) {
+ $$0 = 45;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $6 = (_gpgrt_lock_lock(40256)|0);
+ $7 = ($6|0)==(0);
+ if (!($7)) {
+ $8 = (_gpg_strerror($6)|0);
+ HEAP32[$vararg_buffer>>2] = $8;
+ __gcry_log_fatal(68530,$vararg_buffer);
+ // unreachable;
+ }
+ HEAP32[18159] = 1;
+ _get_random($1,16,$0);
+ HEAP32[18159] = 0;
+ $9 = (_gpgrt_lock_unlock(40256)|0);
+ $10 = ($9|0)==(0);
+ if ($10) {
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+ } else {
+ $11 = (_gpg_strerror($9)|0);
+ HEAP32[$vararg_buffer1>>2] = $11;
+ __gcry_log_fatal(68742,$vararg_buffer1);
+ // unreachable;
+ }
+ return (0)|0;
+}
+function __gcry_rngfips_deinit_external_test($0) {
+ $0 = $0|0;
+ var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = ($0|0)==(0|0);
+ if ($1) {
+ return;
+ }
+ $2 = ((($0)) + 4|0);
+ $3 = HEAP32[$2>>2]|0;
+ __gcry_cipher_close($3);
+ __gcry_free($0);
+ return;
+}
+function __gcry_rngsystem_initialize($0) {
+ $0 = $0|0;
+ var $1 = 0, $2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = HEAP32[18171]|0;
+ $2 = ($1|0)==(0);
+ if (!($2)) {
+ return;
+ }
+ HEAP32[18171] = 1;
+ HEAP32[18172] = 0;
+ return;
+}
+function __gcry_rngsystem_close_fds() {
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $vararg_buffer1 = sp + 8|0;
+ $vararg_buffer = sp;
+ $0 = (_gpgrt_lock_lock(40300)|0);
+ $1 = ($0|0)==(0);
+ if (!($1)) {
+ $2 = (_gpg_strerror($0)|0);
+ HEAP32[$vararg_buffer>>2] = $2;
+ __gcry_log_fatal(69475,$vararg_buffer);
+ // unreachable;
+ }
+ HEAP32[18172] = 1;
+ (__gcry_rndlinux_gather_random(0,0,0,0)|0);
+ HEAP32[18172] = 0;
+ $3 = (_gpgrt_lock_unlock(40300)|0);
+ $4 = ($3|0)==(0);
+ if ($4) {
+ STACKTOP = sp;return;
+ } else {
+ $5 = (_gpg_strerror($3)|0);
+ HEAP32[$vararg_buffer1>>2] = $5;
+ __gcry_log_fatal(69518,$vararg_buffer1);
+ // unreachable;
+ }
+}
+function __gcry_rngsystem_randomize($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $spec$select = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, label = 0;
+ var sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
+ $vararg_buffer4 = sp + 16|0;
+ $vararg_buffer1 = sp + 8|0;
+ $vararg_buffer = sp;
+ $3 = HEAP32[18171]|0;
+ $4 = ($3|0)==(0);
+ if ($4) {
+ HEAP32[18171] = 1;
+ HEAP32[18172] = 0;
+ }
+ $5 = ($2|0)==(2);
+ $spec$select = $5 ? 2 : 1;
+ $6 = (_gpgrt_lock_lock(40300)|0);
+ $7 = ($6|0)==(0);
+ if (!($7)) {
+ $8 = (_gpg_strerror($6)|0);
+ HEAP32[$vararg_buffer>>2] = $8;
+ __gcry_log_fatal(69475,$vararg_buffer);
+ // unreachable;
+ }
+ HEAP32[18172] = 1;
+ $9 = ($0|0)==(0|0);
+ if ($9) {
+ __gcry_assert_failed(69561,69568,144,69584);
+ // unreachable;
+ }
+ HEAP32[18173] = $0;
+ HEAP32[18174] = $1;
+ HEAP32[18175] = 0;
+ $10 = (__gcry_rndlinux_gather_random(86,0,$1,$spec$select)|0);
+ $11 = ($10|0)<(0);
+ if ($11) {
+ HEAP32[$vararg_buffer1>>2] = $10;
+ __gcry_log_fatal(69595,$vararg_buffer1);
+ // unreachable;
+ }
+ $12 = HEAP32[18175]|0;
+ $13 = HEAP32[18174]|0;
+ $14 = ($12|0)==($13|0);
+ if (!($14)) {
+ HEAP32[$vararg_buffer1>>2] = $10;
+ __gcry_log_fatal(69595,$vararg_buffer1);
+ // unreachable;
+ }
+ HEAP32[18172] = 0;
+ $15 = (_gpgrt_lock_unlock(40300)|0);
+ $16 = ($15|0)==(0);
+ if ($16) {
+ STACKTOP = sp;return;
+ } else {
+ $17 = (_gpg_strerror($15)|0);
+ HEAP32[$vararg_buffer4>>2] = $17;
+ __gcry_log_fatal(69518,$vararg_buffer4);
+ // unreachable;
+ }
+}
+function _read_cb($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$05 = 0, $$in = 0, $$pre = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $3 = HEAP32[18172]|0;
+ $4 = ($3|0)==(0);
+ if ($4) {
+ __gcry_assert_failed(69641,69568,124,69662);
+ // unreachable;
+ }
+ $5 = HEAP32[18173]|0;
+ $6 = ($5|0)==(0|0);
+ if ($6) {
+ __gcry_assert_failed(69670,69568,125,69662);
+ // unreachable;
+ }
+ $7 = ($1|0)==(0);
+ if ($7) {
+ return;
+ }
+ $8 = HEAP32[18174]|0;
+ $$pre = HEAP32[18175]|0;
+ $$05 = $0;$$in = $1;$11 = $$pre;
+ while(1) {
+ $9 = (($$in) + -1)|0;
+ $10 = ($11>>>0)<($8>>>0);
+ if (!($10)) {
+ label = 9;
+ break;
+ }
+ $12 = ((($$05)) + 1|0);
+ $13 = HEAP8[$$05>>0]|0;
+ $14 = (($11) + 1)|0;
+ HEAP32[18175] = $14;
+ $15 = (($5) + ($11)|0);
+ HEAP8[$15>>0] = $13;
+ $16 = ($9|0)==(0);
+ if ($16) {
+ label = 9;
+ break;
+ } else {
+ $$05 = $12;$$in = $9;$11 = $14;
+ }
+ }
+ if ((label|0) == 9) {
+ return;
+ }
+}
+function __gcry_rndhw_failed_p() {
+ var $0 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = HEAP32[18176]|0;
+ return ($0|0);
+}
+function __gcry_rndhw_poll_fast($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ return;
+}
+function __gcry_rndhw_poll_slow($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ return 0;
+}
+function __gcry_rndlinux_gather_random($0,$1,$2,$3) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ var $$0102 = 0, $$0110 = 0, $$0113129 = 0, $$0113129$us = 0, $$0116$ph$be = 0, $$0116$ph183258 = 0, $$0119$lcssa = 0, $$0119$ph$be = 0, $$0119$ph182259 = 0, $$0119173 = 0, $$0119173$us = 0, $$0122$ph181260 = 0, $$0122172 = 0, $$0122172$us = 0, $$1$ph185257 = 0, $$1120 = 0, $$1120$us = 0, $$1123 = 0, $$1123$us = 0, $$1174 = 0;
+ var $$1174$us = 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, $116 = 0;
+ var $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, $134 = 0;
+ var $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, $152 = 0;
+ var $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, $170 = 0;
+ var $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, $189 = 0;
+ var $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0;
+ var $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, $224 = 0, $225 = 0;
+ var $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, $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, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0;
+ var $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, $279 = 0, $28 = 0;
+ var $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, $297 = 0, $298 = 0;
+ var $299 = 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, $314 = 0, $315 = 0, $316 = 0;
+ var $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, $332 = 0, $333 = 0, $334 = 0;
+ var $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, $350 = 0, $351 = 0, $352 = 0;
+ var $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0;
+ var $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, $387 = 0, $388 = 0, $389 = 0;
+ var $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, $404 = 0, $405 = 0, $406 = 0;
+ var $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, $422 = 0, $423 = 0, $424 = 0;
+ var $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, $440 = 0, $441 = 0, $442 = 0;
+ var $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, $459 = 0, $46 = 0, $460 = 0;
+ var $461 = 0, $462 = 0, $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;
+ var $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, $495 = 0, $496 = 0, $497 = 0;
+ var $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, $512 = 0, $513 = 0, $514 = 0;
+ var $515 = 0, $516 = 0, $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;
+ var $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, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0;
+ var $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 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, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0;
+ var $or$cond = 0, $or$cond$us = 0, $or$cond127 = 0, $or$cond127$us = 0, $spec$select = 0, $spec$select126 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, dest = 0, label = 0, sp = 0, stop = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 944|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(944|0);
+ $vararg_buffer7 = sp + 792|0;
+ $vararg_buffer4 = sp + 784|0;
+ $vararg_buffer1 = sp + 776|0;
+ $vararg_buffer = sp + 768|0;
+ $4 = sp;
+ $5 = sp + 808|0;
+ $6 = sp + 800|0;
+ $7 = ($0|0)==(0|0);
+ if ($7) {
+ $8 = HEAP32[10086]|0;
+ $9 = ($8|0)==(-1);
+ if (!($9)) {
+ (_close($8)|0);
+ HEAP32[10086] = -1;
+ }
+ $10 = HEAP32[10087]|0;
+ $11 = ($10|0)==(-1);
+ if ($11) {
+ STACKTOP = sp;return 0;
+ }
+ (_close($10)|0);
+ HEAP32[10087] = -1;
+ STACKTOP = sp;return 0;
+ }
+ $12 = (__gcry_rndhw_poll_slow($0,$1)|0);
+ $13 = $2 >>> 1;
+ $14 = ($12>>>0)>($13>>>0);
+ $spec$select = $14 ? $13 : $12;
+ $15 = ($2>>>0)>(1);
+ $16 = $15 ? $spec$select : 0;
+ $$0102 = (($2) - ($16))|0;
+ $17 = ($3|0)>(1);
+ if ($17) {
+ $18 = HEAP32[10086]|0;
+ $19 = ($18|0)==(-1);
+ if ($19) {
+ $20 = HEAP8[73337]|0;
+ $21 = $20 & 1;
+ $22 = $21&255;
+ $23 = (_open_device(69685,$22)|0);
+ HEAP32[10086] = $23;
+ $24 = HEAP8[73337]|0;
+ $25 = $24 | 1;
+ HEAP8[73337] = $25;
+ $$0110 = $23;
+ } else {
+ $$0110 = $18;
+ }
+ } else {
+ $26 = HEAP32[10087]|0;
+ $27 = ($26|0)==(-1);
+ if ($27) {
+ $28 = HEAP8[73337]|0;
+ $29 = $28 & 2;
+ $30 = $29&255;
+ $31 = (_open_device(69697,$30)|0);
+ HEAP32[10087] = $31;
+ $32 = HEAP8[73337]|0;
+ $33 = $32 | 2;
+ HEAP8[73337] = $33;
+ $$0110 = $31;
+ } else {
+ $$0110 = $26;
+ }
+ }
+ $34 = ($$0102|0)==(0);
+ L17: do {
+ if ($34) {
+ $$0119$lcssa = 0;
+ } else {
+ $35 = ($$0110|0)<(1024);
+ $36 = $$0110 & 31;
+ $37 = 1 << $36;
+ $38 = $$0110 >>> 5;
+ $39 = (($5) + ($38<<2)|0);
+ $40 = ((($6)) + 4|0);
+ $41 = (($$0110) + 1)|0;
+ L19: do {
+ if ($35) {
+ $$0116$ph183258 = 0;$$0119$ph182259 = 0;$$0122$ph181260 = 0;$$1$ph185257 = $$0102;$47 = 100000;$66 = 0;
+ L21: while(1) {
+ $$0119173$us = $$0119$ph182259;$$0122172$us = $$0122$ph181260;$$1174$us = $$1$ph185257;
+ L23: while(1) {
+ $42 = ($$0119173$us|0)==(0);
+ $43 = (($2) - ($$1174$us))|0;
+ $44 = ($$0122172$us|0)==($43|0);
+ $or$cond$us = $42 & $44;
+ if ($or$cond$us) {
+ $$1120$us = 0;$$1123$us = $$0122172$us;
+ } else {
+ __gcry_random_progress(69710,88,$43,$2);
+ $$1120$us = 1;$$1123$us = $43;
+ }
+ dest=$5; stop=dest+128|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
+ $45 = HEAP32[$39>>2]|0;
+ $46 = $45 | $37;
+ HEAP32[$39>>2] = $46;
+ HEAP32[$6>>2] = $$0116$ph183258;
+ HEAP32[$40>>2] = $47;
+ $48 = (_select($41,$5,0,0,$6)|0);
+ switch ($48|0) {
+ case 0: {
+ label = 33;
+ break L23;
+ break;
+ }
+ case -1: {
+ label = 26;
+ break L23;
+ break;
+ }
+ default: {
+ }
+ }
+ $49 = ($$1174$us>>>0)<(768);
+ $50 = $49 ? $$1174$us : 768;
+ while(1) {
+ $51 = (_read($$0110,$4,$50)|0);
+ $52 = ($51|0)>(-1);
+ $53 = ($51>>>0)>($50>>>0);
+ $or$cond127$us = $52 & $53;
+ if ($or$cond127$us) {
+ label = 22;
+ break;
+ }
+ $54 = ($51|0)==(-1);
+ if (!($54)) {
+ $$0113129$us = $51;
+ break;
+ }
+ $55 = (___errno_location()|0);
+ $56 = HEAP32[$55>>2]|0;
+ $57 = ($56|0)==(4);
+ if (!($57)) {
+ break L21;
+ }
+ }
+ if ((label|0) == 22) {
+ label = 0;
+ HEAP32[$vararg_buffer>>2] = $51;
+ __gcry_log_error(69723,$vararg_buffer);
+ $$0113129$us = $50;
+ }
+ FUNCTION_TABLE_viii[$0 & 127]($4,$$0113129$us,$1);
+ $58 = (($$1174$us) - ($$0113129$us))|0;
+ $59 = ($58|0)==(0);
+ if ($59) {
+ $$0119$lcssa = $$1120$us;
+ break L17;
+ } else {
+ $$0119173$us = $$1120$us;$$0122172$us = $$1123$us;$$1174$us = $58;
+ }
+ }
+ if ((label|0) == 26) {
+ label = 0;
+ $63 = (___errno_location()|0);
+ $64 = HEAP32[$63>>2]|0;
+ $65 = (_strerror($64)|0);
+ HEAP32[$vararg_buffer1>>2] = $65;
+ __gcry_log_error(69761,$vararg_buffer1);
+ $spec$select126 = $66 ? $$0116$ph183258 : 1;
+ $$0116$ph$be = $spec$select126;$$0119$ph$be = $$1120$us;
+ }
+ else if ((label|0) == 33) {
+ label = 0;
+ $$0116$ph$be = 3;$$0119$ph$be = 1;
+ }
+ $79 = ($$0116$ph$be|0)!=(0);
+ $80 = $79 ? 0 : 100000;
+ if ($35) {
+ $$0116$ph183258 = $$0116$ph$be;$$0119$ph182259 = $$0119$ph$be;$$0122$ph181260 = $$1123$us;$$1$ph185257 = $$1174$us;$47 = $80;$66 = $79;
+ } else {
+ break L19;
+ }
+ }
+ $76 = (___errno_location()|0);
+ $77 = HEAP32[$76>>2]|0;
+ $78 = (_strerror($77)|0);
+ HEAP32[$vararg_buffer7>>2] = $78;
+ __gcry_log_fatal(69781,$vararg_buffer7);
+ // unreachable;
+ }
+ } while(0);
+ $$0119173 = 0;$$0122172 = 0;$$1174 = $$0102;
+ L42: while(1) {
+ $60 = ($$0119173|0)==(0);
+ $61 = (($2) - ($$1174))|0;
+ $62 = ($$0122172|0)==($61|0);
+ $or$cond = $60 & $62;
+ if ($or$cond) {
+ $$1120 = 0;$$1123 = $$0122172;
+ } else {
+ __gcry_random_progress(69710,88,$61,$2);
+ $$1120 = 1;$$1123 = $61;
+ }
+ $67 = ($$1174>>>0)<(768);
+ $68 = $67 ? $$1174 : 768;
+ while(1) {
+ $69 = (_read($$0110,$4,$68)|0);
+ $70 = ($69|0)>(-1);
+ $71 = ($69>>>0)>($68>>>0);
+ $or$cond127 = $70 & $71;
+ if ($or$cond127) {
+ label = 29;
+ break;
+ }
+ $72 = ($69|0)==(-1);
+ if (!($72)) {
+ $$0113129 = $69;
+ break;
+ }
+ $73 = (___errno_location()|0);
+ $74 = HEAP32[$73>>2]|0;
+ $75 = ($74|0)==(4);
+ if (!($75)) {
+ break L42;
+ }
+ }
+ if ((label|0) == 29) {
+ label = 0;
+ HEAP32[$vararg_buffer4>>2] = $69;
+ __gcry_log_error(69723,$vararg_buffer4);
+ $$0113129 = $68;
+ }
+ FUNCTION_TABLE_viii[$0 & 127]($4,$$0113129,$1);
+ $81 = (($$1174) - ($$0113129))|0;
+ $82 = ($81|0)==(0);
+ if ($82) {
+ $$0119$lcssa = $$1120;
+ break L17;
+ } else {
+ $$0119173 = $$1120;$$0122172 = $$1123;$$1174 = $81;
+ }
+ }
+ $76 = (___errno_location()|0);
+ $77 = HEAP32[$76>>2]|0;
+ $78 = (_strerror($77)|0);
+ HEAP32[$vararg_buffer7>>2] = $78;
+ __gcry_log_fatal(69781,$vararg_buffer7);
+ // unreachable;
+ }
+ } while(0);
+ $83 = $4;
+ $84 = $83;
+ HEAP32[$84>>2] = 0;
+ $85 = (($83) + 4)|0;
+ $86 = $85;
+ HEAP32[$86>>2] = 0;
+ $87 = ((($4)) + 8|0);
+ $88 = $87;
+ $89 = $88;
+ HEAP32[$89>>2] = 0;
+ $90 = (($88) + 4)|0;
+ $91 = $90;
+ HEAP32[$91>>2] = 0;
+ $92 = ((($4)) + 16|0);
+ $93 = $92;
+ $94 = $93;
+ HEAP32[$94>>2] = 0;
+ $95 = (($93) + 4)|0;
+ $96 = $95;
+ HEAP32[$96>>2] = 0;
+ $97 = ((($4)) + 24|0);
+ $98 = $97;
+ $99 = $98;
+ HEAP32[$99>>2] = 0;
+ $100 = (($98) + 4)|0;
+ $101 = $100;
+ HEAP32[$101>>2] = 0;
+ $102 = ((($4)) + 32|0);
+ $103 = $102;
+ $104 = $103;
+ HEAP32[$104>>2] = 0;
+ $105 = (($103) + 4)|0;
+ $106 = $105;
+ HEAP32[$106>>2] = 0;
+ $107 = ((($4)) + 40|0);
+ $108 = $107;
+ $109 = $108;
+ HEAP32[$109>>2] = 0;
+ $110 = (($108) + 4)|0;
+ $111 = $110;
+ HEAP32[$111>>2] = 0;
+ $112 = ((($4)) + 48|0);
+ $113 = $112;
+ $114 = $113;
+ HEAP32[$114>>2] = 0;
+ $115 = (($113) + 4)|0;
+ $116 = $115;
+ HEAP32[$116>>2] = 0;
+ $117 = ((($4)) + 56|0);
+ $118 = $117;
+ $119 = $118;
+ HEAP32[$119>>2] = 0;
+ $120 = (($118) + 4)|0;
+ $121 = $120;
+ HEAP32[$121>>2] = 0;
+ $122 = ((($4)) + 64|0);
+ $123 = $122;
+ $124 = $123;
+ HEAP32[$124>>2] = 0;
+ $125 = (($123) + 4)|0;
+ $126 = $125;
+ HEAP32[$126>>2] = 0;
+ $127 = ((($4)) + 72|0);
+ $128 = $127;
+ $129 = $128;
+ HEAP32[$129>>2] = 0;
+ $130 = (($128) + 4)|0;
+ $131 = $130;
+ HEAP32[$131>>2] = 0;
+ $132 = ((($4)) + 80|0);
+ $133 = $132;
+ $134 = $133;
+ HEAP32[$134>>2] = 0;
+ $135 = (($133) + 4)|0;
+ $136 = $135;
+ HEAP32[$136>>2] = 0;
+ $137 = ((($4)) + 88|0);
+ $138 = $137;
+ $139 = $138;
+ HEAP32[$139>>2] = 0;
+ $140 = (($138) + 4)|0;
+ $141 = $140;
+ HEAP32[$141>>2] = 0;
+ $142 = ((($4)) + 96|0);
+ $143 = $142;
+ $144 = $143;
+ HEAP32[$144>>2] = 0;
+ $145 = (($143) + 4)|0;
+ $146 = $145;
+ HEAP32[$146>>2] = 0;
+ $147 = ((($4)) + 104|0);
+ $148 = $147;
+ $149 = $148;
+ HEAP32[$149>>2] = 0;
+ $150 = (($148) + 4)|0;
+ $151 = $150;
+ HEAP32[$151>>2] = 0;
+ $152 = ((($4)) + 112|0);
+ $153 = $152;
+ $154 = $153;
+ HEAP32[$154>>2] = 0;
+ $155 = (($153) + 4)|0;
+ $156 = $155;
+ HEAP32[$156>>2] = 0;
+ $157 = ((($4)) + 120|0);
+ $158 = $157;
+ $159 = $158;
+ HEAP32[$159>>2] = 0;
+ $160 = (($158) + 4)|0;
+ $161 = $160;
+ HEAP32[$161>>2] = 0;
+ $162 = ((($4)) + 128|0);
+ $163 = $162;
+ $164 = $163;
+ HEAP32[$164>>2] = 0;
+ $165 = (($163) + 4)|0;
+ $166 = $165;
+ HEAP32[$166>>2] = 0;
+ $167 = ((($4)) + 136|0);
+ $168 = $167;
+ $169 = $168;
+ HEAP32[$169>>2] = 0;
+ $170 = (($168) + 4)|0;
+ $171 = $170;
+ HEAP32[$171>>2] = 0;
+ $172 = ((($4)) + 144|0);
+ $173 = $172;
+ $174 = $173;
+ HEAP32[$174>>2] = 0;
+ $175 = (($173) + 4)|0;
+ $176 = $175;
+ HEAP32[$176>>2] = 0;
+ $177 = ((($4)) + 152|0);
+ $178 = $177;
+ $179 = $178;
+ HEAP32[$179>>2] = 0;
+ $180 = (($178) + 4)|0;
+ $181 = $180;
+ HEAP32[$181>>2] = 0;
+ $182 = ((($4)) + 160|0);
+ $183 = $182;
+ $184 = $183;
+ HEAP32[$184>>2] = 0;
+ $185 = (($183) + 4)|0;
+ $186 = $185;
+ HEAP32[$186>>2] = 0;
+ $187 = ((($4)) + 168|0);
+ $188 = $187;
+ $189 = $188;
+ HEAP32[$189>>2] = 0;
+ $190 = (($188) + 4)|0;
+ $191 = $190;
+ HEAP32[$191>>2] = 0;
+ $192 = ((($4)) + 176|0);
+ $193 = $192;
+ $194 = $193;
+ HEAP32[$194>>2] = 0;
+ $195 = (($193) + 4)|0;
+ $196 = $195;
+ HEAP32[$196>>2] = 0;
+ $197 = ((($4)) + 184|0);
+ $198 = $197;
+ $199 = $198;
+ HEAP32[$199>>2] = 0;
+ $200 = (($198) + 4)|0;
+ $201 = $200;
+ HEAP32[$201>>2] = 0;
+ $202 = ((($4)) + 192|0);
+ $203 = $202;
+ $204 = $203;
+ HEAP32[$204>>2] = 0;
+ $205 = (($203) + 4)|0;
+ $206 = $205;
+ HEAP32[$206>>2] = 0;
+ $207 = ((($4)) + 200|0);
+ $208 = $207;
+ $209 = $208;
+ HEAP32[$209>>2] = 0;
+ $210 = (($208) + 4)|0;
+ $211 = $210;
+ HEAP32[$211>>2] = 0;
+ $212 = ((($4)) + 208|0);
+ $213 = $212;
+ $214 = $213;
+ HEAP32[$214>>2] = 0;
+ $215 = (($213) + 4)|0;
+ $216 = $215;
+ HEAP32[$216>>2] = 0;
+ $217 = ((($4)) + 216|0);
+ $218 = $217;
+ $219 = $218;
+ HEAP32[$219>>2] = 0;
+ $220 = (($218) + 4)|0;
+ $221 = $220;
+ HEAP32[$221>>2] = 0;
+ $222 = ((($4)) + 224|0);
+ $223 = $222;
+ $224 = $223;
+ HEAP32[$224>>2] = 0;
+ $225 = (($223) + 4)|0;
+ $226 = $225;
+ HEAP32[$226>>2] = 0;
+ $227 = ((($4)) + 232|0);
+ $228 = $227;
+ $229 = $228;
+ HEAP32[$229>>2] = 0;
+ $230 = (($228) + 4)|0;
+ $231 = $230;
+ HEAP32[$231>>2] = 0;
+ $232 = ((($4)) + 240|0);
+ $233 = $232;
+ $234 = $233;
+ HEAP32[$234>>2] = 0;
+ $235 = (($233) + 4)|0;
+ $236 = $235;
+ HEAP32[$236>>2] = 0;
+ $237 = ((($4)) + 248|0);
+ $238 = $237;
+ $239 = $238;
+ HEAP32[$239>>2] = 0;
+ $240 = (($238) + 4)|0;
+ $241 = $240;
+ HEAP32[$241>>2] = 0;
+ $242 = ((($4)) + 256|0);
+ $243 = $242;
+ $244 = $243;
+ HEAP32[$244>>2] = 0;
+ $245 = (($243) + 4)|0;
+ $246 = $245;
+ HEAP32[$246>>2] = 0;
+ $247 = ((($4)) + 264|0);
+ $248 = $247;
+ $249 = $248;
+ HEAP32[$249>>2] = 0;
+ $250 = (($248) + 4)|0;
+ $251 = $250;
+ HEAP32[$251>>2] = 0;
+ $252 = ((($4)) + 272|0);
+ $253 = $252;
+ $254 = $253;
+ HEAP32[$254>>2] = 0;
+ $255 = (($253) + 4)|0;
+ $256 = $255;
+ HEAP32[$256>>2] = 0;
+ $257 = ((($4)) + 280|0);
+ $258 = $257;
+ $259 = $258;
+ HEAP32[$259>>2] = 0;
+ $260 = (($258) + 4)|0;
+ $261 = $260;
+ HEAP32[$261>>2] = 0;
+ $262 = ((($4)) + 288|0);
+ $263 = $262;
+ $264 = $263;
+ HEAP32[$264>>2] = 0;
+ $265 = (($263) + 4)|0;
+ $266 = $265;
+ HEAP32[$266>>2] = 0;
+ $267 = ((($4)) + 296|0);
+ $268 = $267;
+ $269 = $268;
+ HEAP32[$269>>2] = 0;
+ $270 = (($268) + 4)|0;
+ $271 = $270;
+ HEAP32[$271>>2] = 0;
+ $272 = ((($4)) + 304|0);
+ $273 = $272;
+ $274 = $273;
+ HEAP32[$274>>2] = 0;
+ $275 = (($273) + 4)|0;
+ $276 = $275;
+ HEAP32[$276>>2] = 0;
+ $277 = ((($4)) + 312|0);
+ $278 = $277;
+ $279 = $278;
+ HEAP32[$279>>2] = 0;
+ $280 = (($278) + 4)|0;
+ $281 = $280;
+ HEAP32[$281>>2] = 0;
+ $282 = ((($4)) + 320|0);
+ $283 = $282;
+ $284 = $283;
+ HEAP32[$284>>2] = 0;
+ $285 = (($283) + 4)|0;
+ $286 = $285;
+ HEAP32[$286>>2] = 0;
+ $287 = ((($4)) + 328|0);
+ $288 = $287;
+ $289 = $288;
+ HEAP32[$289>>2] = 0;
+ $290 = (($288) + 4)|0;
+ $291 = $290;
+ HEAP32[$291>>2] = 0;
+ $292 = ((($4)) + 336|0);
+ $293 = $292;
+ $294 = $293;
+ HEAP32[$294>>2] = 0;
+ $295 = (($293) + 4)|0;
+ $296 = $295;
+ HEAP32[$296>>2] = 0;
+ $297 = ((($4)) + 344|0);
+ $298 = $297;
+ $299 = $298;
+ HEAP32[$299>>2] = 0;
+ $300 = (($298) + 4)|0;
+ $301 = $300;
+ HEAP32[$301>>2] = 0;
+ $302 = ((($4)) + 352|0);
+ $303 = $302;
+ $304 = $303;
+ HEAP32[$304>>2] = 0;
+ $305 = (($303) + 4)|0;
+ $306 = $305;
+ HEAP32[$306>>2] = 0;
+ $307 = ((($4)) + 360|0);
+ $308 = $307;
+ $309 = $308;
+ HEAP32[$309>>2] = 0;
+ $310 = (($308) + 4)|0;
+ $311 = $310;
+ HEAP32[$311>>2] = 0;
+ $312 = ((($4)) + 368|0);
+ $313 = $312;
+ $314 = $313;
+ HEAP32[$314>>2] = 0;
+ $315 = (($313) + 4)|0;
+ $316 = $315;
+ HEAP32[$316>>2] = 0;
+ $317 = ((($4)) + 376|0);
+ $318 = $317;
+ $319 = $318;
+ HEAP32[$319>>2] = 0;
+ $320 = (($318) + 4)|0;
+ $321 = $320;
+ HEAP32[$321>>2] = 0;
+ $322 = ((($4)) + 384|0);
+ $323 = $322;
+ $324 = $323;
+ HEAP32[$324>>2] = 0;
+ $325 = (($323) + 4)|0;
+ $326 = $325;
+ HEAP32[$326>>2] = 0;
+ $327 = ((($4)) + 392|0);
+ $328 = $327;
+ $329 = $328;
+ HEAP32[$329>>2] = 0;
+ $330 = (($328) + 4)|0;
+ $331 = $330;
+ HEAP32[$331>>2] = 0;
+ $332 = ((($4)) + 400|0);
+ $333 = $332;
+ $334 = $333;
+ HEAP32[$334>>2] = 0;
+ $335 = (($333) + 4)|0;
+ $336 = $335;
+ HEAP32[$336>>2] = 0;
+ $337 = ((($4)) + 408|0);
+ $338 = $337;
+ $339 = $338;
+ HEAP32[$339>>2] = 0;
+ $340 = (($338) + 4)|0;
+ $341 = $340;
+ HEAP32[$341>>2] = 0;
+ $342 = ((($4)) + 416|0);
+ $343 = $342;
+ $344 = $343;
+ HEAP32[$344>>2] = 0;
+ $345 = (($343) + 4)|0;
+ $346 = $345;
+ HEAP32[$346>>2] = 0;
+ $347 = ((($4)) + 424|0);
+ $348 = $347;
+ $349 = $348;
+ HEAP32[$349>>2] = 0;
+ $350 = (($348) + 4)|0;
+ $351 = $350;
+ HEAP32[$351>>2] = 0;
+ $352 = ((($4)) + 432|0);
+ $353 = $352;
+ $354 = $353;
+ HEAP32[$354>>2] = 0;
+ $355 = (($353) + 4)|0;
+ $356 = $355;
+ HEAP32[$356>>2] = 0;
+ $357 = ((($4)) + 440|0);
+ $358 = $357;
+ $359 = $358;
+ HEAP32[$359>>2] = 0;
+ $360 = (($358) + 4)|0;
+ $361 = $360;
+ HEAP32[$361>>2] = 0;
+ $362 = ((($4)) + 448|0);
+ $363 = $362;
+ $364 = $363;
+ HEAP32[$364>>2] = 0;
+ $365 = (($363) + 4)|0;
+ $366 = $365;
+ HEAP32[$366>>2] = 0;
+ $367 = ((($4)) + 456|0);
+ $368 = $367;
+ $369 = $368;
+ HEAP32[$369>>2] = 0;
+ $370 = (($368) + 4)|0;
+ $371 = $370;
+ HEAP32[$371>>2] = 0;
+ $372 = ((($4)) + 464|0);
+ $373 = $372;
+ $374 = $373;
+ HEAP32[$374>>2] = 0;
+ $375 = (($373) + 4)|0;
+ $376 = $375;
+ HEAP32[$376>>2] = 0;
+ $377 = ((($4)) + 472|0);
+ $378 = $377;
+ $379 = $378;
+ HEAP32[$379>>2] = 0;
+ $380 = (($378) + 4)|0;
+ $381 = $380;
+ HEAP32[$381>>2] = 0;
+ $382 = ((($4)) + 480|0);
+ $383 = $382;
+ $384 = $383;
+ HEAP32[$384>>2] = 0;
+ $385 = (($383) + 4)|0;
+ $386 = $385;
+ HEAP32[$386>>2] = 0;
+ $387 = ((($4)) + 488|0);
+ $388 = $387;
+ $389 = $388;
+ HEAP32[$389>>2] = 0;
+ $390 = (($388) + 4)|0;
+ $391 = $390;
+ HEAP32[$391>>2] = 0;
+ $392 = ((($4)) + 496|0);
+ $393 = $392;
+ $394 = $393;
+ HEAP32[$394>>2] = 0;
+ $395 = (($393) + 4)|0;
+ $396 = $395;
+ HEAP32[$396>>2] = 0;
+ $397 = ((($4)) + 504|0);
+ $398 = $397;
+ $399 = $398;
+ HEAP32[$399>>2] = 0;
+ $400 = (($398) + 4)|0;
+ $401 = $400;
+ HEAP32[$401>>2] = 0;
+ $402 = ((($4)) + 512|0);
+ $403 = $402;
+ $404 = $403;
+ HEAP32[$404>>2] = 0;
+ $405 = (($403) + 4)|0;
+ $406 = $405;
+ HEAP32[$406>>2] = 0;
+ $407 = ((($4)) + 520|0);
+ $408 = $407;
+ $409 = $408;
+ HEAP32[$409>>2] = 0;
+ $410 = (($408) + 4)|0;
+ $411 = $410;
+ HEAP32[$411>>2] = 0;
+ $412 = ((($4)) + 528|0);
+ $413 = $412;
+ $414 = $413;
+ HEAP32[$414>>2] = 0;
+ $415 = (($413) + 4)|0;
+ $416 = $415;
+ HEAP32[$416>>2] = 0;
+ $417 = ((($4)) + 536|0);
+ $418 = $417;
+ $419 = $418;
+ HEAP32[$419>>2] = 0;
+ $420 = (($418) + 4)|0;
+ $421 = $420;
+ HEAP32[$421>>2] = 0;
+ $422 = ((($4)) + 544|0);
+ $423 = $422;
+ $424 = $423;
+ HEAP32[$424>>2] = 0;
+ $425 = (($423) + 4)|0;
+ $426 = $425;
+ HEAP32[$426>>2] = 0;
+ $427 = ((($4)) + 552|0);
+ $428 = $427;
+ $429 = $428;
+ HEAP32[$429>>2] = 0;
+ $430 = (($428) + 4)|0;
+ $431 = $430;
+ HEAP32[$431>>2] = 0;
+ $432 = ((($4)) + 560|0);
+ $433 = $432;
+ $434 = $433;
+ HEAP32[$434>>2] = 0;
+ $435 = (($433) + 4)|0;
+ $436 = $435;
+ HEAP32[$436>>2] = 0;
+ $437 = ((($4)) + 568|0);
+ $438 = $437;
+ $439 = $438;
+ HEAP32[$439>>2] = 0;
+ $440 = (($438) + 4)|0;
+ $441 = $440;
+ HEAP32[$441>>2] = 0;
+ $442 = ((($4)) + 576|0);
+ $443 = $442;
+ $444 = $443;
+ HEAP32[$444>>2] = 0;
+ $445 = (($443) + 4)|0;
+ $446 = $445;
+ HEAP32[$446>>2] = 0;
+ $447 = ((($4)) + 584|0);
+ $448 = $447;
+ $449 = $448;
+ HEAP32[$449>>2] = 0;
+ $450 = (($448) + 4)|0;
+ $451 = $450;
+ HEAP32[$451>>2] = 0;
+ $452 = ((($4)) + 592|0);
+ $453 = $452;
+ $454 = $453;
+ HEAP32[$454>>2] = 0;
+ $455 = (($453) + 4)|0;
+ $456 = $455;
+ HEAP32[$456>>2] = 0;
+ $457 = ((($4)) + 600|0);
+ $458 = $457;
+ $459 = $458;
+ HEAP32[$459>>2] = 0;
+ $460 = (($458) + 4)|0;
+ $461 = $460;
+ HEAP32[$461>>2] = 0;
+ $462 = ((($4)) + 608|0);
+ $463 = $462;
+ $464 = $463;
+ HEAP32[$464>>2] = 0;
+ $465 = (($463) + 4)|0;
+ $466 = $465;
+ HEAP32[$466>>2] = 0;
+ $467 = ((($4)) + 616|0);
+ $468 = $467;
+ $469 = $468;
+ HEAP32[$469>>2] = 0;
+ $470 = (($468) + 4)|0;
+ $471 = $470;
+ HEAP32[$471>>2] = 0;
+ $472 = ((($4)) + 624|0);
+ $473 = $472;
+ $474 = $473;
+ HEAP32[$474>>2] = 0;
+ $475 = (($473) + 4)|0;
+ $476 = $475;
+ HEAP32[$476>>2] = 0;
+ $477 = ((($4)) + 632|0);
+ $478 = $477;
+ $479 = $478;
+ HEAP32[$479>>2] = 0;
+ $480 = (($478) + 4)|0;
+ $481 = $480;
+ HEAP32[$481>>2] = 0;
+ $482 = ((($4)) + 640|0);
+ $483 = $482;
+ $484 = $483;
+ HEAP32[$484>>2] = 0;
+ $485 = (($483) + 4)|0;
+ $486 = $485;
+ HEAP32[$486>>2] = 0;
+ $487 = ((($4)) + 648|0);
+ $488 = $487;
+ $489 = $488;
+ HEAP32[$489>>2] = 0;
+ $490 = (($488) + 4)|0;
+ $491 = $490;
+ HEAP32[$491>>2] = 0;
+ $492 = ((($4)) + 656|0);
+ $493 = $492;
+ $494 = $493;
+ HEAP32[$494>>2] = 0;
+ $495 = (($493) + 4)|0;
+ $496 = $495;
+ HEAP32[$496>>2] = 0;
+ $497 = ((($4)) + 664|0);
+ $498 = $497;
+ $499 = $498;
+ HEAP32[$499>>2] = 0;
+ $500 = (($498) + 4)|0;
+ $501 = $500;
+ HEAP32[$501>>2] = 0;
+ $502 = ((($4)) + 672|0);
+ $503 = $502;
+ $504 = $503;
+ HEAP32[$504>>2] = 0;
+ $505 = (($503) + 4)|0;
+ $506 = $505;
+ HEAP32[$506>>2] = 0;
+ $507 = ((($4)) + 680|0);
+ $508 = $507;
+ $509 = $508;
+ HEAP32[$509>>2] = 0;
+ $510 = (($508) + 4)|0;
+ $511 = $510;
+ HEAP32[$511>>2] = 0;
+ $512 = ((($4)) + 688|0);
+ $513 = $512;
+ $514 = $513;
+ HEAP32[$514>>2] = 0;
+ $515 = (($513) + 4)|0;
+ $516 = $515;
+ HEAP32[$516>>2] = 0;
+ $517 = ((($4)) + 696|0);
+ $518 = $517;
+ $519 = $518;
+ HEAP32[$519>>2] = 0;
+ $520 = (($518) + 4)|0;
+ $521 = $520;
+ HEAP32[$521>>2] = 0;
+ $522 = ((($4)) + 704|0);
+ $523 = $522;
+ $524 = $523;
+ HEAP32[$524>>2] = 0;
+ $525 = (($523) + 4)|0;
+ $526 = $525;
+ HEAP32[$526>>2] = 0;
+ $527 = ((($4)) + 712|0);
+ $528 = $527;
+ $529 = $528;
+ HEAP32[$529>>2] = 0;
+ $530 = (($528) + 4)|0;
+ $531 = $530;
+ HEAP32[$531>>2] = 0;
+ $532 = ((($4)) + 720|0);
+ $533 = $532;
+ $534 = $533;
+ HEAP32[$534>>2] = 0;
+ $535 = (($533) + 4)|0;
+ $536 = $535;
+ HEAP32[$536>>2] = 0;
+ $537 = ((($4)) + 728|0);
+ $538 = $537;
+ $539 = $538;
+ HEAP32[$539>>2] = 0;
+ $540 = (($538) + 4)|0;
+ $541 = $540;
+ HEAP32[$541>>2] = 0;
+ $542 = ((($4)) + 736|0);
+ $543 = $542;
+ $544 = $543;
+ HEAP32[$544>>2] = 0;
+ $545 = (($543) + 4)|0;
+ $546 = $545;
+ HEAP32[$546>>2] = 0;
+ $547 = ((($4)) + 744|0);
+ $548 = $547;
+ $549 = $548;
+ HEAP32[$549>>2] = 0;
+ $550 = (($548) + 4)|0;
+ $551 = $550;
+ HEAP32[$551>>2] = 0;
+ $552 = ((($4)) + 752|0);
+ $553 = $552;
+ $554 = $553;
+ HEAP32[$554>>2] = 0;
+ $555 = (($553) + 4)|0;
+ $556 = $555;
+ HEAP32[$556>>2] = 0;
+ $557 = ((($4)) + 760|0);
+ $558 = $557;
+ $559 = $558;
+ HEAP32[$559>>2] = 0;
+ $560 = (($558) + 4)|0;
+ $561 = $560;
+ HEAP32[$561>>2] = 0;
+ $562 = ($$0119$lcssa|0)==(0);
+ if ($562) {
+ STACKTOP = sp;return 0;
+ }
+ __gcry_random_progress(69710,88,$2,$2);
+ STACKTOP = sp;return 0;
+}
+function _open_device($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $$lcssa1016 = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
+ var $9 = 0, $or$cond11 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer11 = 0, $vararg_buffer14 = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, $vararg_buffer8 = 0, $vararg_ptr17 = 0, $vararg_ptr7 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
+ $vararg_buffer14 = sp + 48|0;
+ $vararg_buffer11 = sp + 40|0;
+ $vararg_buffer8 = sp + 32|0;
+ $vararg_buffer5 = sp + 24|0;
+ $vararg_buffer3 = sp + 16|0;
+ $vararg_buffer1 = sp + 8|0;
+ $vararg_buffer = sp;
+ $2 = sp + 56|0;
+ $3 = ($1|0)!=(0);
+ do {
+ if ($3) {
+ __gcry_random_progress(69814,88,1,0);
+ $6 = (_open($0,0,$vararg_buffer1)|0);
+ $7 = ($6|0)==(-1);
+ $or$cond11 = $3 & $7;
+ if ($or$cond11) {
+ $8 = ((($2)) + 4|0);
+ while(1) {
+ HEAP32[$2>>2] = 5;
+ HEAP32[$8>>2] = 0;
+ __gcry_random_progress(69830,88,0,5);
+ (_select(0,0,0,0,$2)|0);
+ $9 = (_open($0,0,$vararg_buffer3)|0);
+ $10 = ($9|0)==(-1);
+ if (!($10)) {
+ $$lcssa1016 = $9;
+ break;
+ }
+ }
+ } else {
+ if (!($7)) {
+ $$lcssa1016 = $6;
+ break;
+ }
+ $11 = (___errno_location()|0);
+ $12 = HEAP32[$11>>2]|0;
+ $13 = (_strerror($12)|0);
+ HEAP32[$vararg_buffer5>>2] = $0;
+ $vararg_ptr7 = ((($vararg_buffer5)) + 4|0);
+ HEAP32[$vararg_ptr7>>2] = $13;
+ __gcry_log_fatal(69846,$vararg_buffer5);
+ // unreachable;
+ }
+ } else {
+ $4 = (_open($0,0,$vararg_buffer)|0);
+ $5 = ($4|0)==(-1);
+ if ($5) {
+ $11 = (___errno_location()|0);
+ $12 = HEAP32[$11>>2]|0;
+ $13 = (_strerror($12)|0);
+ HEAP32[$vararg_buffer5>>2] = $0;
+ $vararg_ptr7 = ((($vararg_buffer5)) + 4|0);
+ HEAP32[$vararg_ptr7>>2] = $13;
+ __gcry_log_fatal(69846,$vararg_buffer5);
+ // unreachable;
+ } else {
+ $$lcssa1016 = $4;
+ }
+ }
+ } while(0);
+ HEAP32[$vararg_buffer8>>2] = 0;
+ $14 = (_fcntl($$lcssa1016,1,$vararg_buffer8)|0);
+ $15 = ($14|0)<(0);
+ if (!($15)) {
+ $16 = $14 | 1;
+ HEAP32[$vararg_buffer11>>2] = $16;
+ $17 = (_fcntl($$lcssa1016,2,$vararg_buffer11)|0);
+ $18 = ($17|0)==(0);
+ if ($18) {
+ STACKTOP = sp;return ($$lcssa1016|0);
+ }
+ }
+ $19 = (___errno_location()|0);
+ $20 = HEAP32[$19>>2]|0;
+ $21 = (_strerror($20)|0);
+ HEAP32[$vararg_buffer14>>2] = $$lcssa1016;
+ $vararg_ptr17 = ((($vararg_buffer14)) + 4|0);
+ HEAP32[$vararg_ptr17>>2] = $21;
+ __gcry_log_error(69865,$vararg_buffer14);
+ STACKTOP = sp;return ($$lcssa1016|0);
+}
+function __gcry_mpih_addmul_1($0,$1,$2,$3) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ var $$0 = 0, $$076 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
+ var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $spec$select = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $4 = (0 - ($2))|0;
+ $5 = (($0) + ($2<<2)|0);
+ $6 = (($1) + ($2<<2)|0);
+ $7 = $3 & 65535;
+ $8 = $3 >>> 16;
+ $$0 = 0;$$076 = $4;
+ while(1) {
+ $9 = (($6) + ($$076<<2)|0);
+ $10 = HEAP32[$9>>2]|0;
+ $11 = $10 & 65535;
+ $12 = $10 >>> 16;
+ $13 = Math_imul($11, $7)|0;
+ $14 = Math_imul($11, $8)|0;
+ $15 = Math_imul($12, $7)|0;
+ $16 = Math_imul($12, $8)|0;
+ $17 = $13 >>> 16;
+ $18 = (($15) + ($14))|0;
+ $19 = (($18) + ($17))|0;
+ $20 = ($19>>>0)<($15>>>0);
+ $21 = (($16) + 65536)|0;
+ $spec$select = $20 ? $21 : $16;
+ $22 = $19 >>> 16;
+ $23 = (($spec$select) + ($22))|0;
+ $24 = $19 << 16;
+ $25 = $13 & 65535;
+ $26 = $24 | $25;
+ $27 = (($26) + ($$0))|0;
+ $28 = ($27>>>0)<($$0>>>0);
+ $29 = $28&1;
+ $30 = (($23) + ($29))|0;
+ $31 = (($5) + ($$076<<2)|0);
+ $32 = HEAP32[$31>>2]|0;
+ $33 = (($27) + ($32))|0;
+ $34 = ($33>>>0)<($32>>>0);
+ $35 = $34&1;
+ $36 = (($30) + ($35))|0;
+ HEAP32[$31>>2] = $33;
+ $37 = (($$076) + 1)|0;
+ $38 = ($37|0)==(0);
+ if ($38) {
+ break;
+ } else {
+ $$0 = $36;$$076 = $37;
+ }
+ }
+ return ($36|0);
+}
+function __gcry_dsa_gen_k($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $$0 = 0, $$0$us = 0, $$1 = 0, $$1$lcssa = 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;
+ 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0;
+ var $vararg_buffer2 = 0, $vararg_buffer4 = 0, $vararg_buffer6 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
+ $vararg_buffer8 = sp + 32|0;
+ $vararg_buffer6 = sp + 24|0;
+ $vararg_buffer4 = sp + 16|0;
+ $vararg_buffer2 = sp + 8|0;
+ $vararg_buffer = sp;
+ $2 = ((($0)) + 4|0);
+ $3 = HEAP32[$2>>2]|0;
+ $4 = (__gcry_mpi_alloc_secure($3)|0);
+ $5 = (__gcry_mpi_get_nbits($0)|0);
+ $6 = (($5) + 7)|0;
+ $7 = $6 >>> 3;
+ $8 = (__gcry_get_debug_flag(1)|0);
+ $9 = ($8|0)==(0);
+ if (!($9)) {
+ HEAP32[$vararg_buffer>>2] = $5;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = $1;
+ __gcry_log_debug(69904,$vararg_buffer);
+ }
+ $10 = ($5>>>0)<(32);
+ $11 = (($5) + -1)|0;
+ if ($10) {
+ $$0$us = 0;
+ while(1) {
+ __gcry_free($$0$us);
+ $12 = (__gcry_random_bytes_secure($7,$1)|0);
+ __gcry_mpi_set_buffer($4,$12,$7,0);
+ $13 = (__gcry_mpi_test_bit($4,$11)|0);
+ $14 = ($13|0)==(0);
+ __gcry_mpi_set_highbit($4,$11);
+ if ($14) {
+ __gcry_mpi_clear_bit($4,$11);
+ }
+ $15 = (__gcry_mpi_cmp($4,$0)|0);
+ $16 = ($15|0)<(0);
+ if ($16) {
+ $19 = (__gcry_mpi_cmp_ui($4,0)|0);
+ $20 = ($19|0)>(0);
+ if ($20) {
+ $$1$lcssa = $12;
+ break;
+ }
+ $21 = (__gcry_get_debug_flag(1)|0);
+ $22 = ($21|0)==(0);
+ if (!($22)) {
+ __gcry_log_debug(69973,$vararg_buffer4);
+ }
+ } else {
+ $17 = (__gcry_get_debug_flag(1)|0);
+ $18 = ($17|0)==(0);
+ if (!($18)) {
+ __gcry_log_debug(69951,$vararg_buffer2);
+ }
+ }
+ $$0$us = $12;
+ }
+ __gcry_free($$1$lcssa);
+ STACKTOP = sp;return ($4|0);
+ }
+ $$0 = 0;
+ while(1) {
+ $23 = ($$0|0)==(0|0);
+ if ($23) {
+ __gcry_free(0);
+ $24 = (__gcry_random_bytes_secure($7,$1)|0);
+ $$1 = $24;
+ } else {
+ $25 = (__gcry_random_bytes_secure(4,$1)|0);
+ $26 = HEAPU8[$25>>0]|(HEAPU8[$25+1>>0]<<8)|(HEAPU8[$25+2>>0]<<16)|(HEAPU8[$25+3>>0]<<24);
+ HEAP8[$$0>>0]=$26&255;HEAP8[$$0+1>>0]=($26>>8)&255;HEAP8[$$0+2>>0]=($26>>16)&255;HEAP8[$$0+3>>0]=$26>>24;
+ __gcry_free($25);
+ $$1 = $$0;
+ }
+ __gcry_mpi_set_buffer($4,$$1,$7,0);
+ $27 = (__gcry_mpi_test_bit($4,$11)|0);
+ $28 = ($27|0)==(0);
+ __gcry_mpi_set_highbit($4,$11);
+ if ($28) {
+ __gcry_mpi_clear_bit($4,$11);
+ }
+ $29 = (__gcry_mpi_cmp($4,$0)|0);
+ $30 = ($29|0)<(0);
+ if ($30) {
+ $33 = (__gcry_mpi_cmp_ui($4,0)|0);
+ $34 = ($33|0)>(0);
+ if ($34) {
+ $$1$lcssa = $$1;
+ break;
+ }
+ $35 = (__gcry_get_debug_flag(1)|0);
+ $36 = ($35|0)==(0);
+ if (!($36)) {
+ __gcry_log_debug(69973,$vararg_buffer8);
+ }
+ } else {
+ $31 = (__gcry_get_debug_flag(1)|0);
+ $32 = ($31|0)==(0);
+ if (!($32)) {
+ __gcry_log_debug(69951,$vararg_buffer6);
+ }
+ }
+ $$0 = $$1;
+ }
+ __gcry_free($$1$lcssa);
+ STACKTOP = sp;return ($4|0);
+}
+function __gcry_dsa_gen_rfc6979_k($0,$1,$2,$3,$4,$5,$6) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ $5 = $5|0;
+ $6 = $6|0;
+ var $$0135 = 0, $$0136145$us = 0, $$0136145$us$be = 0, $$0137 = 0, $$0138 = 0, $$0139 = 0, $$0140$ph = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0;
+ var $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0;
+ var $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
+ var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
+ var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0;
+ var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0;
+ var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond3 = 0, label = 0;
+ var sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
+ $7 = sp + 16|0;
+ $8 = sp + 12|0;
+ $9 = sp + 8|0;
+ $10 = sp + 4|0;
+ $11 = sp;
+ HEAP32[$8>>2] = 0;
+ HEAP32[$9>>2] = 0;
+ HEAP32[$10>>2] = 0;
+ HEAP32[$11>>2] = 0;
+ $12 = (__gcry_mpi_get_nbits($1)|0);
+ $13 = ($12|0)!=(0);
+ $14 = ($3|0)!=(0|0);
+ $or$cond = $14 & $13;
+ $15 = ($4|0)!=(0);
+ $or$cond3 = $15 & $or$cond;
+ if (!($or$cond3)) {
+ $$0135 = 32816;
+ STACKTOP = sp;return ($$0135|0);
+ }
+ $16 = (__gcry_md_get_algo_dlen($5)|0);
+ $17 = ($16|0)==($4|0);
+ if (!($17)) {
+ $$0135 = 5;
+ STACKTOP = sp;return ($$0135|0);
+ }
+ $18 = (__gcry_malloc($4)|0);
+ $19 = ($18|0)==(0|0);
+ L7: do {
+ if ($19) {
+ $20 = (_gpg_err_code_from_syserror()|0);
+ $$0137 = 0;$$0138 = 0;$$0139 = $20;
+ } else {
+ _memset(($18|0),1,($4|0))|0;
+ $21 = (__gcry_calloc(1,$4)|0);
+ $22 = ($21|0)==(0|0);
+ if ($22) {
+ $23 = (_gpg_err_code_from_syserror()|0);
+ $$0137 = 0;$$0138 = 0;$$0139 = $23;
+ break;
+ }
+ $24 = (($12) + 7)|0;
+ $25 = $24 >>> 3;
+ $26 = (_int2octets($8,$2,$25)|0);
+ $27 = ($26|0)==(0);
+ if ($27) {
+ $28 = $4 << 3;
+ $29 = $4 & 536870911;
+ $30 = (__gcry_mpi_scan($7,5,$3,$29,0)|0);
+ $31 = ($30|0)==(0);
+ if (!($31)) {
+ $$0137 = 0;$$0138 = $21;$$0139 = $30;
+ break;
+ }
+ $32 = ($28>>>0)>($12>>>0);
+ if ($32) {
+ $33 = (($28) - ($12))|0;
+ $34 = HEAP32[$7>>2]|0;
+ __gcry_mpi_rshift($34,$34,$33);
+ }
+ $35 = HEAP32[$7>>2]|0;
+ $36 = (__gcry_mpi_cmp($35,$1)|0);
+ $37 = ($36|0)>(-1);
+ if ($37) {
+ $38 = HEAP32[$7>>2]|0;
+ __gcry_mpi_sub($38,$38,$1);
+ }
+ $39 = HEAP32[$7>>2]|0;
+ $40 = (_int2octets($9,$39,$25)|0);
+ $41 = HEAP32[$7>>2]|0;
+ __gcry_mpi_free($41);
+ $42 = ($40|0)==(0);
+ if ($42) {
+ $43 = (__gcry_md_open($10,$5,3)|0);
+ $44 = ($43|0)==(0);
+ if ($44) {
+ $45 = HEAP32[$10>>2]|0;
+ $46 = (__gcry_md_setkey($45,$21,$4)|0);
+ $47 = ($46|0)==(0);
+ if ($47) {
+ $48 = HEAP32[$10>>2]|0;
+ __gcry_md_write($48,$18,$4);
+ $49 = HEAP32[$10>>2]|0;
+ __gcry_md_write($49,73338,1);
+ $50 = HEAP32[$10>>2]|0;
+ $51 = HEAP32[$8>>2]|0;
+ __gcry_md_write($50,$51,$25);
+ $52 = HEAP32[$10>>2]|0;
+ $53 = HEAP32[$9>>2]|0;
+ __gcry_md_write($52,$53,$25);
+ $54 = HEAP32[$10>>2]|0;
+ $55 = (__gcry_md_read($54,0)|0);
+ _memcpy(($21|0),($55|0),($4|0))|0;
+ $56 = HEAP32[$10>>2]|0;
+ $57 = (__gcry_md_setkey($56,$21,$4)|0);
+ $58 = ($57|0)==(0);
+ if ($58) {
+ $59 = HEAP32[$10>>2]|0;
+ __gcry_md_write($59,$18,$4);
+ $60 = HEAP32[$10>>2]|0;
+ $61 = (__gcry_md_read($60,0)|0);
+ _memcpy(($18|0),($61|0),($4|0))|0;
+ $62 = HEAP32[$10>>2]|0;
+ $63 = (__gcry_md_setkey($62,$21,$4)|0);
+ $64 = ($63|0)==(0);
+ if ($64) {
+ $65 = HEAP32[$10>>2]|0;
+ __gcry_md_write($65,$18,$4);
+ $66 = HEAP32[$10>>2]|0;
+ __gcry_md_write($66,69993,1);
+ $67 = HEAP32[$10>>2]|0;
+ __gcry_md_write($67,$51,$25);
+ $68 = HEAP32[$10>>2]|0;
+ __gcry_md_write($68,$53,$25);
+ $69 = HEAP32[$10>>2]|0;
+ $70 = (__gcry_md_read($69,0)|0);
+ _memcpy(($21|0),($70|0),($4|0))|0;
+ $71 = HEAP32[$10>>2]|0;
+ $72 = (__gcry_md_setkey($71,$21,$4)|0);
+ $73 = ($72|0)==(0);
+ if ($73) {
+ $74 = HEAP32[$10>>2]|0;
+ __gcry_md_write($74,$18,$4);
+ $75 = HEAP32[$10>>2]|0;
+ $76 = (__gcry_md_read($75,0)|0);
+ _memcpy(($18|0),($76|0),($4|0))|0;
+ $77 = (($25) + ($4))|0;
+ $78 = (__gcry_malloc($77)|0);
+ $79 = ($78|0)==(0|0);
+ if ($79) {
+ $80 = (_gpg_err_code_from_syserror()|0);
+ $$0137 = 0;$$0138 = $21;$$0139 = $80;
+ break;
+ }
+ $$0140$ph = $6;
+ while(1) {
+ $$0136145$us = 0;
+ while(1) {
+ $104 = HEAP32[$10>>2]|0;
+ $105 = (__gcry_md_setkey($104,$21,$4)|0);
+ $106 = ($105|0)==(0);
+ if (!($106)) {
+ $$0137 = $78;$$0138 = $21;$$0139 = $105;
+ break L7;
+ }
+ $107 = HEAP32[$10>>2]|0;
+ __gcry_md_write($107,$18,$4);
+ $108 = HEAP32[$10>>2]|0;
+ $109 = (__gcry_md_read($108,0)|0);
+ _memcpy(($18|0),($109|0),($4|0))|0;
+ $110 = $$0136145$us >>> 3;
+ $111 = (($78) + ($110)|0);
+ _memcpy(($111|0),($18|0),($4|0))|0;
+ $82 = (($$0136145$us) + ($28))|0;
+ $112 = ($82>>>0)<($12>>>0);
+ if ($112) {
+ $$0136145$us$be = $82;
+ } else {
+ $113 = HEAP32[$11>>2]|0;
+ __gcry_mpi_free($113);
+ HEAP32[$11>>2] = 0;
+ $114 = $82 >>> 3;
+ $115 = (__gcry_mpi_scan($11,5,$78,$114,0)|0);
+ $116 = ($115|0)==(0);
+ if (!($116)) {
+ $$0137 = $78;$$0138 = $21;$$0139 = $115;
+ break L7;
+ }
+ $81 = ($82>>>0)>($12>>>0);
+ if ($81) {
+ $83 = (($82) - ($12))|0;
+ $84 = HEAP32[$11>>2]|0;
+ __gcry_mpi_rshift($84,$84,$83);
+ }
+ $85 = HEAP32[$11>>2]|0;
+ $86 = (__gcry_mpi_cmp($85,$1)|0);
+ $87 = ($86|0)<(0);
+ if ($87) {
+ $88 = HEAP32[$11>>2]|0;
+ $89 = (__gcry_mpi_cmp_ui($88,0)|0);
+ $90 = ($89|0)>(0);
+ if ($90) {
+ break;
+ }
+ }
+ $91 = HEAP32[$10>>2]|0;
+ $92 = (__gcry_md_setkey($91,$21,$4)|0);
+ $93 = ($92|0)==(0);
+ if (!($93)) {
+ $$0137 = $78;$$0138 = $21;$$0139 = $92;
+ break L7;
+ }
+ $94 = HEAP32[$10>>2]|0;
+ __gcry_md_write($94,$18,$4);
+ $95 = HEAP32[$10>>2]|0;
+ __gcry_md_write($95,73338,1);
+ $96 = HEAP32[$10>>2]|0;
+ $97 = (__gcry_md_read($96,0)|0);
+ _memcpy(($21|0),($97|0),($4|0))|0;
+ $98 = HEAP32[$10>>2]|0;
+ $99 = (__gcry_md_setkey($98,$21,$4)|0);
+ $100 = ($99|0)==(0);
+ if (!($100)) {
+ $$0137 = $78;$$0138 = $21;$$0139 = $99;
+ break L7;
+ }
+ $101 = HEAP32[$10>>2]|0;
+ __gcry_md_write($101,$18,$4);
+ $102 = HEAP32[$10>>2]|0;
+ $103 = (__gcry_md_read($102,0)|0);
+ _memcpy(($18|0),($103|0),($4|0))|0;
+ $$0136145$us$be = 0;
+ }
+ $$0136145$us = $$0136145$us$be;
+ }
+ $117 = ($$0140$ph|0)==(0);
+ if ($117) {
+ $$0137 = $78;$$0138 = $21;$$0139 = 0;
+ break L7;
+ }
+ $118 = (($$0140$ph) + -1)|0;
+ $119 = HEAP32[$10>>2]|0;
+ $120 = (__gcry_md_setkey($119,$21,$4)|0);
+ $121 = ($120|0)==(0);
+ if (!($121)) {
+ $$0137 = $78;$$0138 = $21;$$0139 = $120;
+ break L7;
+ }
+ $122 = HEAP32[$10>>2]|0;
+ __gcry_md_write($122,$18,$4);
+ $123 = HEAP32[$10>>2]|0;
+ __gcry_md_write($123,73338,1);
+ $124 = HEAP32[$10>>2]|0;
+ $125 = (__gcry_md_read($124,0)|0);
+ _memcpy(($21|0),($125|0),($4|0))|0;
+ $126 = HEAP32[$10>>2]|0;
+ $127 = (__gcry_md_setkey($126,$21,$4)|0);
+ $128 = ($127|0)==(0);
+ if (!($128)) {
+ $$0137 = $78;$$0138 = $21;$$0139 = $127;
+ break L7;
+ }
+ $129 = HEAP32[$10>>2]|0;
+ __gcry_md_write($129,$18,$4);
+ $130 = HEAP32[$10>>2]|0;
+ $131 = (__gcry_md_read($130,0)|0);
+ _memcpy(($18|0),($131|0),($4|0))|0;
+ $$0140$ph = $118;
+ }
+ } else {
+ $$0137 = 0;$$0138 = $21;$$0139 = $72;
+ }
+ } else {
+ $$0137 = 0;$$0138 = $21;$$0139 = $63;
+ }
+ } else {
+ $$0137 = 0;$$0138 = $21;$$0139 = $57;
+ }
+ } else {
+ $$0137 = 0;$$0138 = $21;$$0139 = $46;
+ }
+ } else {
+ $$0137 = 0;$$0138 = $21;$$0139 = $43;
+ }
+ } else {
+ $$0137 = 0;$$0138 = $21;$$0139 = $40;
+ }
+ } else {
+ $$0137 = 0;$$0138 = $21;$$0139 = $26;
+ }
+ }
+ } while(0);
+ __gcry_free($$0137);
+ $132 = HEAP32[$10>>2]|0;
+ __gcry_md_close($132);
+ $133 = HEAP32[$9>>2]|0;
+ __gcry_free($133);
+ $134 = HEAP32[$8>>2]|0;
+ __gcry_free($134);
+ __gcry_free($$0138);
+ __gcry_free($18);
+ $135 = ($$0139|0)==(0);
+ $136 = HEAP32[$11>>2]|0;
+ if ($135) {
+ HEAP32[$0>>2] = $136;
+ $$0135 = 0;
+ STACKTOP = sp;return ($$0135|0);
+ } else {
+ __gcry_mpi_free($136);
+ $$0135 = $$0139;
+ STACKTOP = sp;return ($$0135|0);
+ }
+ return (0)|0;
+}
+function _int2octets($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $3 = 0, $4 = 0;
+ var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $spec$select = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $3 = sp;
+ $4 = (__gcry_mpi_print(5,0,0,$3,$1)|0);
+ $5 = ($4|0)==(0);
+ if (!($5)) {
+ $$0 = $4;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $6 = HEAP32[$3>>2]|0;
+ $7 = ($6>>>0)>($2>>>0);
+ if ($7) {
+ $$0 = 67;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $8 = ($6>>>0)<($2>>>0);
+ $9 = (($2) - ($6))|0;
+ $spec$select = $8 ? $9 : 0;
+ $10 = (($spec$select) + ($6))|0;
+ $11 = ($1|0)==(0|0);
+ if ($11) {
+ label = 6;
+ } else {
+ $12 = ((($1)) + 12|0);
+ $13 = HEAP32[$12>>2]|0;
+ $14 = $13 & 1;
+ $15 = ($14|0)==(0);
+ if ($15) {
+ label = 6;
+ } else {
+ $16 = (__gcry_malloc_secure($10)|0);
+ $19 = $16;
+ }
+ }
+ if ((label|0) == 6) {
+ $17 = (__gcry_malloc($10)|0);
+ $19 = $17;
+ }
+ $18 = ($19|0)==(0|0);
+ if ($18) {
+ $20 = (_gpg_err_code_from_syserror()|0);
+ $$0 = $20;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $21 = ($spec$select|0)==(0);
+ if (!($21)) {
+ _memset(($19|0),0,($spec$select|0))|0;
+ }
+ $22 = HEAP32[$3>>2]|0;
+ $23 = (($22) + ($spec$select))|0;
+ HEAP32[$3>>2] = $23;
+ $24 = (($19) + ($spec$select)|0);
+ $25 = (__gcry_mpi_print(5,$24,$22,0,$1)|0);
+ $26 = ($25|0)==(0);
+ if ($26) {
+ HEAP32[$0>>2] = $19;
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+ } else {
+ __gcry_free($19);
+ $$0 = $25;
+ STACKTOP = sp;return ($$0|0);
+ }
+ return (0)|0;
+}
+function __gcry_dsa_normalize_hash($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0;
+ var sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $3 = sp + 4|0;
+ $4 = sp;
+ $5 = ($0|0)==(0|0);
+ if ($5) {
+ label = 6;
+ } else {
+ $6 = ((($0)) + 12|0);
+ $7 = HEAP32[$6>>2]|0;
+ $8 = $7 & 4;
+ $9 = ($8|0)==(0);
+ if ($9) {
+ label = 6;
+ } else {
+ $10 = (__gcry_mpi_get_opaque($0,$3)|0);
+ $11 = HEAP32[$3>>2]|0;
+ $12 = (($11) + 7)|0;
+ $13 = $12 >>> 3;
+ $14 = (__gcry_mpi_scan($4,5,$10,$13,0)|0);
+ $15 = ($14|0)==(0);
+ if (!($15)) {
+ $$0 = $14;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $16 = HEAP32[$3>>2]|0;
+ $17 = ($16>>>0)>($2>>>0);
+ if ($17) {
+ $18 = (($16) - ($2))|0;
+ $19 = HEAP32[$4>>2]|0;
+ __gcry_mpi_rshift($19,$19,$18);
+ }
+ }
+ }
+ if ((label|0) == 6) {
+ HEAP32[$4>>2] = $0;
+ }
+ $20 = HEAP32[$4>>2]|0;
+ HEAP32[$1>>2] = $20;
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+}
+function __gcry_ecc_ecdsa_sign($0,$1,$2,$3,$4,$5) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ $5 = $5|0;
+ var $$0 = 0, $$074 = 0, $$175$us = 0, $$276$lcssa77 = 0, $$3 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0;
+ var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0;
+ var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $9 = 0;
+ var $or$cond = 0, $vararg_buffer = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
+ $vararg_buffer = sp;
+ $6 = sp + 24|0;
+ $7 = sp + 12|0;
+ $8 = sp + 8|0;
+ $9 = sp + 4|0;
+ $10 = (__gcry_get_debug_flag(1)|0);
+ $11 = ($10|0)==(0);
+ if (!($11)) {
+ __gcry_log_printmpi(69995,$0);
+ }
+ $12 = ((($1)) + 32|0);
+ $13 = HEAP32[$12>>2]|0;
+ $14 = (__gcry_mpi_get_nbits($13)|0);
+ $15 = (__gcry_dsa_normalize_hash($0,$8,$14)|0);
+ $16 = ($15|0)==(0);
+ if (!($16)) {
+ $$0 = $15;
+ STACKTOP = sp;return ($$0|0);
+ }
+ HEAP32[$6>>2] = 0;
+ $17 = (__gcry_mpi_alloc(0)|0);
+ $18 = (__gcry_mpi_alloc(0)|0);
+ $19 = (__gcry_mpi_alloc(0)|0);
+ $20 = (__gcry_mpi_alloc(0)|0);
+ __gcry_mpi_point_init($7);
+ $21 = HEAP32[$1>>2]|0;
+ $22 = ((($1)) + 4|0);
+ $23 = HEAP32[$22>>2]|0;
+ $24 = ((($1)) + 8|0);
+ $25 = HEAP32[$24>>2]|0;
+ $26 = ((($1)) + 12|0);
+ $27 = HEAP32[$26>>2]|0;
+ $28 = ((($1)) + 16|0);
+ $29 = HEAP32[$28>>2]|0;
+ $30 = (__gcry_mpi_ec_p_internal_new($21,$23,0,$25,$27,$29)|0);
+ $31 = $4 & 2;
+ $32 = ($31|0)!=(0);
+ $33 = ($5|0)!=(0);
+ $or$cond = $32 & $33;
+ $34 = ($0|0)==(0|0);
+ $35 = ((($1)) + 20|0);
+ $36 = ((($0)) + 12|0);
+ $37 = ((($1)) + 56|0);
+ $$074 = 0;
+ L7: while(1) {
+ if ($or$cond) {
+ $$175$us = $$074;
+ while(1) {
+ $38 = HEAP32[$6>>2]|0;
+ __gcry_mpi_free($38);
+ HEAP32[$6>>2] = 0;
+ if ($34) {
+ $$3 = 70;
+ break L7;
+ }
+ $39 = HEAP32[$36>>2]|0;
+ $40 = $39 & 4;
+ $41 = ($40|0)==(0);
+ if ($41) {
+ $$3 = 70;
+ break L7;
+ }
+ $42 = (__gcry_mpi_get_opaque($0,$9)|0);
+ $43 = HEAP32[$12>>2]|0;
+ $44 = HEAP32[$37>>2]|0;
+ $45 = HEAP32[$9>>2]|0;
+ $46 = (($45) + 7)|0;
+ $47 = $46 >>> 3;
+ $48 = (__gcry_dsa_gen_rfc6979_k($6,$43,$44,$42,$47,$5,$$175$us)|0);
+ $49 = ($48|0)==(0);
+ if (!($49)) {
+ $$3 = $48;
+ break L7;
+ }
+ $50 = (($$175$us) + 1)|0;
+ $51 = HEAP32[$6>>2]|0;
+ __gcry_mpi_ec_mul_point($7,$51,$35,$30);
+ $52 = (__gcry_mpi_ec_get_affine($20,0,$7,$30)|0);
+ $53 = ($52|0)==(0);
+ if (!($53)) {
+ label = 14;
+ break L7;
+ }
+ $54 = HEAP32[$12>>2]|0;
+ __gcry_mpi_mod($2,$20,$54);
+ $55 = (__gcry_mpi_cmp_ui($2,0)|0);
+ $56 = ($55|0)==(0);
+ if ($56) {
+ $$175$us = $50;
+ } else {
+ $$276$lcssa77 = $50;
+ break;
+ }
+ }
+ } else {
+ while(1) {
+ $57 = HEAP32[$6>>2]|0;
+ __gcry_mpi_free($57);
+ HEAP32[$6>>2] = 0;
+ $58 = HEAP32[$12>>2]|0;
+ $59 = (__gcry_dsa_gen_k($58,1)|0);
+ HEAP32[$6>>2] = $59;
+ __gcry_mpi_ec_mul_point($7,$59,$35,$30);
+ $60 = (__gcry_mpi_ec_get_affine($20,0,$7,$30)|0);
+ $61 = ($60|0)==(0);
+ if (!($61)) {
+ label = 14;
+ break L7;
+ }
+ $64 = HEAP32[$12>>2]|0;
+ __gcry_mpi_mod($2,$20,$64);
+ $65 = (__gcry_mpi_cmp_ui($2,0)|0);
+ $66 = ($65|0)==(0);
+ if (!($66)) {
+ $$276$lcssa77 = $$074;
+ break;
+ }
+ }
+ }
+ $67 = HEAP32[$37>>2]|0;
+ $68 = HEAP32[$12>>2]|0;
+ __gcry_mpi_mulm($17,$67,$2,$68);
+ $69 = HEAP32[$8>>2]|0;
+ $70 = HEAP32[$12>>2]|0;
+ __gcry_mpi_addm($18,$69,$17,$70);
+ $71 = HEAP32[$6>>2]|0;
+ $72 = HEAP32[$12>>2]|0;
+ (__gcry_mpi_invm($19,$71,$72)|0);
+ $73 = HEAP32[$12>>2]|0;
+ __gcry_mpi_mulm($3,$19,$18,$73);
+ $74 = (__gcry_mpi_cmp_ui($3,0)|0);
+ $75 = ($74|0)==(0);
+ if ($75) {
+ $$074 = $$276$lcssa77;
+ } else {
+ label = 18;
+ break;
+ }
+ }
+ if ((label|0) == 14) {
+ $62 = (__gcry_get_debug_flag(1)|0);
+ $63 = ($62|0)==(0);
+ if ($63) {
+ $$3 = 8;
+ } else {
+ __gcry_log_debug(70072,$vararg_buffer);
+ $$3 = 8;
+ }
+ }
+ else if ((label|0) == 18) {
+ $76 = (__gcry_get_debug_flag(1)|0);
+ $77 = ($76|0)==(0);
+ if ($77) {
+ $$3 = 0;
+ } else {
+ __gcry_log_printmpi(70013,$2);
+ __gcry_log_printmpi(70034,$3);
+ $$3 = 0;
+ }
+ }
+ __gcry_mpi_ec_free($30);
+ __gcry_mpi_point_free_parts($7);
+ __gcry_mpi_free($20);
+ __gcry_mpi_free($19);
+ __gcry_mpi_free($18);
+ __gcry_mpi_free($17);
+ $78 = HEAP32[$6>>2]|0;
+ __gcry_mpi_free($78);
+ $79 = HEAP32[$8>>2]|0;
+ $80 = ($79|0)==($0|0);
+ if ($80) {
+ $$0 = $$3;
+ STACKTOP = sp;return ($$0|0);
+ }
+ __gcry_mpi_free($79);
+ $$0 = $$3;
+ STACKTOP = sp;return ($$0|0);
+}
+function __gcry_ecc_ecdsa_verify($0,$1,$2,$3) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ var $$0 = 0, $$063 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
+ var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
+ var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
+ $vararg_buffer1 = sp + 8|0;
+ $vararg_buffer = sp;
+ $4 = sp + 48|0;
+ $5 = sp + 36|0;
+ $6 = sp + 24|0;
+ $7 = sp + 12|0;
+ $8 = (__gcry_mpi_cmp_ui($2,0)|0);
+ $9 = ($8|0)>(0);
+ if (!($9)) {
+ $$0 = 8;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $10 = ((($1)) + 32|0);
+ $11 = HEAP32[$10>>2]|0;
+ $12 = (__gcry_mpi_cmp($2,$11)|0);
+ $13 = ($12|0)<(0);
+ if (!($13)) {
+ $$0 = 8;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $14 = (__gcry_mpi_cmp_ui($3,0)|0);
+ $15 = ($14|0)>(0);
+ if (!($15)) {
+ $$0 = 8;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $16 = HEAP32[$10>>2]|0;
+ $17 = (__gcry_mpi_cmp($3,$16)|0);
+ $18 = ($17|0)<(0);
+ if (!($18)) {
+ $$0 = 8;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $19 = HEAP32[$10>>2]|0;
+ $20 = (__gcry_mpi_get_nbits($19)|0);
+ $21 = (__gcry_dsa_normalize_hash($0,$4,$20)|0);
+ $22 = ($21|0)==(0);
+ if (!($22)) {
+ $$0 = $21;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $23 = (__gcry_mpi_alloc(0)|0);
+ $24 = (__gcry_mpi_alloc(0)|0);
+ $25 = (__gcry_mpi_alloc(0)|0);
+ $26 = (__gcry_mpi_alloc(0)|0);
+ __gcry_mpi_point_init($5);
+ __gcry_mpi_point_init($6);
+ __gcry_mpi_point_init($7);
+ $27 = HEAP32[$1>>2]|0;
+ $28 = ((($1)) + 4|0);
+ $29 = HEAP32[$28>>2]|0;
+ $30 = ((($1)) + 8|0);
+ $31 = HEAP32[$30>>2]|0;
+ $32 = ((($1)) + 12|0);
+ $33 = HEAP32[$32>>2]|0;
+ $34 = ((($1)) + 16|0);
+ $35 = HEAP32[$34>>2]|0;
+ $36 = (__gcry_mpi_ec_p_internal_new($27,$29,0,$31,$33,$35)|0);
+ $37 = HEAP32[$10>>2]|0;
+ (__gcry_mpi_invm($23,$3,$37)|0);
+ $38 = HEAP32[$4>>2]|0;
+ $39 = HEAP32[$10>>2]|0;
+ __gcry_mpi_mulm($24,$38,$23,$39);
+ $40 = ((($1)) + 20|0);
+ __gcry_mpi_ec_mul_point($6,$24,$40,$36);
+ $41 = HEAP32[$10>>2]|0;
+ __gcry_mpi_mulm($25,$2,$23,$41);
+ $42 = ((($1)) + 44|0);
+ __gcry_mpi_ec_mul_point($7,$25,$42,$36);
+ __gcry_mpi_ec_add_points($5,$6,$7,$36);
+ $43 = ((($5)) + 8|0);
+ $44 = HEAP32[$43>>2]|0;
+ $45 = (__gcry_mpi_cmp_ui($44,0)|0);
+ $46 = ($45|0)==(0);
+ do {
+ if ($46) {
+ $47 = (__gcry_get_debug_flag(1)|0);
+ $48 = ($47|0)==(0);
+ if ($48) {
+ $$063 = 8;
+ } else {
+ __gcry_log_debug(70156,$vararg_buffer);
+ $$063 = 8;
+ }
+ } else {
+ $49 = (__gcry_mpi_ec_get_affine($26,0,$5,$36)|0);
+ $50 = ($49|0)==(0);
+ if (!($50)) {
+ $51 = (__gcry_get_debug_flag(1)|0);
+ $52 = ($51|0)==(0);
+ if ($52) {
+ $$063 = 8;
+ break;
+ }
+ __gcry_log_debug(70178,$vararg_buffer1);
+ $$063 = 8;
+ break;
+ }
+ $53 = HEAP32[$10>>2]|0;
+ __gcry_mpi_mod($26,$26,$53);
+ $54 = (__gcry_mpi_cmp($26,$2)|0);
+ $55 = ($54|0)==(0);
+ if ($55) {
+ $$063 = 0;
+ } else {
+ $56 = (__gcry_get_debug_flag(1)|0);
+ $57 = ($56|0)==(0);
+ if ($57) {
+ $$063 = 8;
+ } else {
+ __gcry_log_printmpi(70224,$26);
+ __gcry_log_printmpi(70231,$2);
+ __gcry_log_printmpi(70238,$3);
+ $$063 = 8;
+ }
+ }
+ }
+ } while(0);
+ __gcry_mpi_ec_free($36);
+ __gcry_mpi_point_free_parts($7);
+ __gcry_mpi_point_free_parts($6);
+ __gcry_mpi_point_free_parts($5);
+ __gcry_mpi_free($26);
+ __gcry_mpi_free($25);
+ __gcry_mpi_free($24);
+ __gcry_mpi_free($23);
+ $58 = HEAP32[$4>>2]|0;
+ $59 = ($58|0)==($0|0);
+ if ($59) {
+ $$0 = $$063;
+ STACKTOP = sp;return ($$0|0);
+ }
+ __gcry_mpi_free($58);
+ $$0 = $$063;
+ STACKTOP = sp;return ($$0|0);
+}
+function __gcry_ecc_gost_sign($0,$1,$2,$3) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ var $$0 = 0, $$1 = 0, $$177 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
+ var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0;
+ var $64 = 0, $65 = 0, $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)) abortStackOverflow(32|0);
+ $vararg_buffer = sp;
+ $4 = sp + 12|0;
+ $5 = sp + 8|0;
+ $6 = sp + 4|0;
+ $7 = (__gcry_get_debug_flag(1)|0);
+ $8 = ($7|0)==(0);
+ if (!($8)) {
+ __gcry_log_printmpi(70055,$0);
+ }
+ $9 = ((($1)) + 32|0);
+ $10 = HEAP32[$9>>2]|0;
+ $11 = (__gcry_mpi_get_nbits($10)|0);
+ $12 = ($0|0)==(0|0);
+ if ($12) {
+ label = 8;
+ } else {
+ $13 = ((($0)) + 12|0);
+ $14 = HEAP32[$13>>2]|0;
+ $15 = $14 & 4;
+ $16 = ($15|0)==(0);
+ if ($16) {
+ label = 8;
+ } else {
+ $17 = (__gcry_mpi_get_opaque($0,$6)|0);
+ $18 = HEAP32[$6>>2]|0;
+ $19 = (($18) + 7)|0;
+ $20 = $19 >>> 3;
+ $21 = (__gcry_mpi_scan($5,5,$17,$20,0)|0);
+ $22 = ($21|0)==(0);
+ if (!($22)) {
+ $$0 = $21;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $23 = HEAP32[$6>>2]|0;
+ $24 = ($23>>>0)>($11>>>0);
+ if ($24) {
+ $25 = (($23) - ($11))|0;
+ $26 = HEAP32[$5>>2]|0;
+ __gcry_mpi_rshift($26,$26,$25);
+ }
+ }
+ }
+ if ((label|0) == 8) {
+ HEAP32[$5>>2] = $0;
+ }
+ $27 = (__gcry_mpi_alloc(0)|0);
+ $28 = (__gcry_mpi_alloc(0)|0);
+ $29 = (__gcry_mpi_alloc(0)|0);
+ $30 = (__gcry_mpi_alloc(0)|0);
+ $31 = (__gcry_mpi_alloc(0)|0);
+ __gcry_mpi_point_init($4);
+ $32 = HEAP32[$1>>2]|0;
+ $33 = ((($1)) + 4|0);
+ $34 = HEAP32[$33>>2]|0;
+ $35 = ((($1)) + 8|0);
+ $36 = HEAP32[$35>>2]|0;
+ $37 = ((($1)) + 12|0);
+ $38 = HEAP32[$37>>2]|0;
+ $39 = ((($1)) + 16|0);
+ $40 = HEAP32[$39>>2]|0;
+ $41 = (__gcry_mpi_ec_p_internal_new($32,$34,0,$36,$38,$40)|0);
+ $42 = HEAP32[$9>>2]|0;
+ __gcry_mpi_mod($30,$0,$42);
+ $43 = (__gcry_mpi_cmp_ui($30,0)|0);
+ $44 = ($43|0)==(0);
+ if ($44) {
+ (__gcry_mpi_set_ui($30,1)|0);
+ }
+ $45 = ((($1)) + 20|0);
+ $46 = ((($1)) + 56|0);
+ $$177 = 0;
+ while(1) {
+ __gcry_mpi_free($$177);
+ $47 = HEAP32[$9>>2]|0;
+ $48 = (__gcry_dsa_gen_k($47,1)|0);
+ __gcry_mpi_ec_mul_point($4,$48,$45,$41);
+ $49 = (__gcry_mpi_ec_get_affine($31,0,$4,$41)|0);
+ $50 = ($49|0)==(0);
+ if (!($50)) {
+ label = 13;
+ break;
+ }
+ $53 = HEAP32[$9>>2]|0;
+ __gcry_mpi_mod($2,$31,$53);
+ $54 = (__gcry_mpi_cmp_ui($2,0)|0);
+ $55 = ($54|0)==(0);
+ if (!($55)) {
+ $56 = HEAP32[$46>>2]|0;
+ $57 = HEAP32[$9>>2]|0;
+ __gcry_mpi_mulm($27,$56,$2,$57);
+ $58 = HEAP32[$9>>2]|0;
+ __gcry_mpi_mulm($29,$48,$30,$58);
+ $59 = HEAP32[$9>>2]|0;
+ __gcry_mpi_addm($3,$29,$27,$59);
+ $60 = (__gcry_mpi_cmp_ui($3,0)|0);
+ $61 = ($60|0)==(0);
+ if (!($61)) {
+ label = 18;
+ break;
+ }
+ }
+ $$177 = $48;
+ }
+ if ((label|0) == 13) {
+ $51 = (__gcry_get_debug_flag(1)|0);
+ $52 = ($51|0)==(0);
+ if ($52) {
+ $$1 = 8;
+ } else {
+ __gcry_log_debug(70072,$vararg_buffer);
+ $$1 = 8;
+ }
+ }
+ else if ((label|0) == 18) {
+ $62 = (__gcry_get_debug_flag(1)|0);
+ $63 = ($62|0)==(0);
+ if ($63) {
+ $$1 = 0;
+ } else {
+ __gcry_log_printmpi(70116,$2);
+ __gcry_log_printmpi(70136,$3);
+ $$1 = 0;
+ }
+ }
+ __gcry_mpi_ec_free($41);
+ __gcry_mpi_point_free_parts($4);
+ __gcry_mpi_free($31);
+ __gcry_mpi_free($30);
+ __gcry_mpi_free($29);
+ __gcry_mpi_free($28);
+ __gcry_mpi_free($27);
+ __gcry_mpi_free($48);
+ $64 = HEAP32[$5>>2]|0;
+ $65 = ($64|0)==($0|0);
+ if ($65) {
+ $$0 = $$1;
+ STACKTOP = sp;return ($$0|0);
+ }
+ __gcry_mpi_free($64);
+ $$0 = $$1;
+ STACKTOP = sp;return ($$0|0);
+}
+function __gcry_ecc_gost_verify($0,$1,$2,$3) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ var $$0 = 0, $$074 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
+ var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
+ var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer3 = 0;
+ var $vararg_buffer5 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
+ $vararg_buffer5 = sp + 24|0;
+ $vararg_buffer3 = sp + 16|0;
+ $vararg_buffer1 = sp + 8|0;
+ $vararg_buffer = sp;
+ $4 = sp + 52|0;
+ $5 = sp + 40|0;
+ $6 = sp + 28|0;
+ $7 = (__gcry_mpi_cmp_ui($2,0)|0);
+ $8 = ($7|0)>(0);
+ if (!($8)) {
+ $$0 = 8;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $9 = ((($1)) + 32|0);
+ $10 = HEAP32[$9>>2]|0;
+ $11 = (__gcry_mpi_cmp($2,$10)|0);
+ $12 = ($11|0)<(0);
+ if (!($12)) {
+ $$0 = 8;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $13 = (__gcry_mpi_cmp_ui($3,0)|0);
+ $14 = ($13|0)>(0);
+ if (!($14)) {
+ $$0 = 8;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $15 = HEAP32[$9>>2]|0;
+ $16 = (__gcry_mpi_cmp($3,$15)|0);
+ $17 = ($16|0)<(0);
+ if (!($17)) {
+ $$0 = 8;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $18 = (__gcry_mpi_alloc(0)|0);
+ $19 = (__gcry_mpi_alloc(0)|0);
+ $20 = (__gcry_mpi_alloc(0)|0);
+ $21 = (__gcry_mpi_alloc(0)|0);
+ $22 = (__gcry_mpi_alloc(0)|0);
+ $23 = (__gcry_mpi_alloc(0)|0);
+ $24 = (__gcry_mpi_alloc(0)|0);
+ __gcry_mpi_point_init($4);
+ __gcry_mpi_point_init($5);
+ __gcry_mpi_point_init($6);
+ $25 = HEAP32[$1>>2]|0;
+ $26 = ((($1)) + 4|0);
+ $27 = HEAP32[$26>>2]|0;
+ $28 = ((($1)) + 8|0);
+ $29 = HEAP32[$28>>2]|0;
+ $30 = ((($1)) + 12|0);
+ $31 = HEAP32[$30>>2]|0;
+ $32 = ((($1)) + 16|0);
+ $33 = HEAP32[$32>>2]|0;
+ $34 = (__gcry_mpi_ec_p_internal_new($25,$27,0,$29,$31,$33)|0);
+ $35 = HEAP32[$9>>2]|0;
+ __gcry_mpi_mod($19,$0,$35);
+ $36 = (__gcry_mpi_cmp_ui($19,0)|0);
+ $37 = ($36|0)==(0);
+ if ($37) {
+ (__gcry_mpi_set_ui($19,1)|0);
+ }
+ $38 = HEAP32[$9>>2]|0;
+ (__gcry_mpi_invm($22,$19,$38)|0);
+ $39 = HEAP32[$9>>2]|0;
+ __gcry_mpi_mulm($20,$3,$22,$39);
+ $40 = HEAP32[$9>>2]|0;
+ __gcry_mpi_mulm($23,$2,$22,$40);
+ $41 = HEAP32[$9>>2]|0;
+ __gcry_mpi_subm($21,$24,$23,$41);
+ $42 = ((($1)) + 20|0);
+ __gcry_mpi_ec_mul_point($5,$20,$42,$34);
+ $43 = ((($1)) + 44|0);
+ __gcry_mpi_ec_mul_point($6,$21,$43,$34);
+ __gcry_mpi_ec_add_points($4,$5,$6,$34);
+ $44 = ((($4)) + 8|0);
+ $45 = HEAP32[$44>>2]|0;
+ $46 = (__gcry_mpi_cmp_ui($45,0)|0);
+ $47 = ($46|0)==(0);
+ do {
+ if ($47) {
+ $48 = (__gcry_get_debug_flag(1)|0);
+ $49 = ($48|0)==(0);
+ if ($49) {
+ $$074 = 8;
+ } else {
+ __gcry_log_debug(70156,$vararg_buffer);
+ $$074 = 8;
+ }
+ } else {
+ $50 = (__gcry_mpi_ec_get_affine($18,0,$4,$34)|0);
+ $51 = ($50|0)==(0);
+ if (!($51)) {
+ $52 = (__gcry_get_debug_flag(1)|0);
+ $53 = ($52|0)==(0);
+ if ($53) {
+ $$074 = 8;
+ break;
+ }
+ __gcry_log_debug(70178,$vararg_buffer1);
+ $$074 = 8;
+ break;
+ }
+ $54 = HEAP32[$9>>2]|0;
+ __gcry_mpi_mod($18,$18,$54);
+ $55 = (__gcry_mpi_cmp($18,$2)|0);
+ $56 = ($55|0)==(0);
+ $57 = (__gcry_get_debug_flag(1)|0);
+ $58 = ($57|0)!=(0);
+ if ($56) {
+ if (!($58)) {
+ $$074 = 0;
+ break;
+ }
+ __gcry_log_debug(70271,$vararg_buffer5);
+ $$074 = 0;
+ break;
+ } else {
+ if (!($58)) {
+ $$074 = 8;
+ break;
+ }
+ __gcry_log_printmpi(70224,$18);
+ __gcry_log_printmpi(70231,$2);
+ __gcry_log_printmpi(70238,$3);
+ __gcry_log_debug(70245,$vararg_buffer3);
+ $$074 = 8;
+ break;
+ }
+ }
+ } while(0);
+ __gcry_mpi_ec_free($34);
+ __gcry_mpi_point_free_parts($6);
+ __gcry_mpi_point_free_parts($5);
+ __gcry_mpi_point_free_parts($4);
+ __gcry_mpi_free($24);
+ __gcry_mpi_free($23);
+ __gcry_mpi_free($22);
+ __gcry_mpi_free($21);
+ __gcry_mpi_free($20);
+ __gcry_mpi_free($18);
+ __gcry_mpi_free($19);
+ $$0 = $$074;
+ STACKTOP = sp;return ($$0|0);
+}
+function _gpg_err_init() {
+ var $0 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = (__gpg_err_init()|0);
+ return ($0|0);
+}
+function _gpg_strerror($0) {
+ $0 = $0|0;
+ var $1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = (__gpg_strerror($0)|0);
+ return ($1|0);
+}
+function _gpg_err_code_from_errno($0) {
+ $0 = $0|0;
+ var $1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = (__gpg_err_code_from_errno($0)|0);
+ return ($1|0);
+}
+function _gpg_err_code_to_errno($0) {
+ $0 = $0|0;
+ var $1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = (__gpg_err_code_to_errno($0)|0);
+ return ($1|0);
+}
+function _gpg_err_code_from_syserror() {
+ var $0 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = (__gpg_err_code_from_syserror()|0);
+ return ($0|0);
+}
+function _gpg_err_set_errno($0) {
+ $0 = $0|0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ __gpg_err_set_errno($0);
+ return;
+}
+function _gpgrt_lock_init($0) {
+ $0 = $0|0;
+ var $1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = (__gpgrt_lock_init($0)|0);
+ return ($1|0);
+}
+function _gpgrt_lock_lock($0) {
+ $0 = $0|0;
+ var $1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = (__gpgrt_lock_lock($0)|0);
+ return ($1|0);
+}
+function _gpgrt_lock_unlock($0) {
+ $0 = $0|0;
+ var $1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = (__gpgrt_lock_unlock($0)|0);
+ return ($1|0);
+}
+function _gpgrt_lock_destroy($0) {
+ $0 = $0|0;
+ var $1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = (__gpgrt_lock_destroy($0)|0);
+ return ($1|0);
+}
+function __gpgrt_lock_init($0) {
+ $0 = $0|0;
+ var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = HEAP32[$0>>2]|0;
+ switch ($1|0) {
+ case 0: {
+ HEAP32[$0>>2] = 1;
+ break;
+ }
+ case 1: {
+ break;
+ }
+ default: {
+ ___assert_fail((70293|0),(70313|0),114,(70326|0));
+ // unreachable;
+ }
+ }
+ $2 = ((($0)) + 4|0);
+ $3 = (_pthread_mutex_init(($2|0),(0|0))|0);
+ $4 = ($3|0)==(0);
+ if ($4) {
+ $$0 = 0;
+ return ($$0|0);
+ }
+ $5 = (_gpg_err_code_from_errno($3)|0);
+ $$0 = $5;
+ return ($$0|0);
+}
+function __gpgrt_lock_lock($0) {
+ $0 = $0|0;
+ var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = HEAP32[$0>>2]|0;
+ $2 = ($1|0)==(1);
+ if (!($2)) {
+ ___assert_fail((70293|0),(70313|0),114,(70326|0));
+ // unreachable;
+ }
+ $3 = ((($0)) + 4|0);
+ $4 = (_pthread_mutex_lock(($3|0))|0);
+ $5 = ($4|0)==(0);
+ if ($5) {
+ $$0 = 0;
+ return ($$0|0);
+ }
+ $6 = (_gpg_err_code_from_errno($4)|0);
+ $$0 = $6;
+ return ($$0|0);
+}
+function __gpgrt_lock_unlock($0) {
+ $0 = $0|0;
+ var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = HEAP32[$0>>2]|0;
+ $2 = ($1|0)==(1);
+ if (!($2)) {
+ ___assert_fail((70293|0),(70313|0),114,(70326|0));
+ // unreachable;
+ }
+ $3 = ((($0)) + 4|0);
+ $4 = (_pthread_mutex_unlock(($3|0))|0);
+ $5 = ($4|0)==(0);
+ if ($5) {
+ $$0 = 0;
+ return ($$0|0);
+ }
+ $6 = (_gpg_err_code_from_errno($4)|0);
+ $$0 = $6;
+ return ($$0|0);
+}
+function __gpgrt_lock_destroy($0) {
+ $0 = $0|0;
+ var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, dest = 0, label = 0, sp = 0, stop = 0;
+ sp = STACKTOP;
+ $1 = HEAP32[$0>>2]|0;
+ $2 = ($1|0)==(1);
+ if (!($2)) {
+ ___assert_fail((70293|0),(70313|0),114,(70326|0));
+ // unreachable;
+ }
+ $3 = ((($0)) + 4|0);
+ $4 = (_pthread_mutex_destroy(($3|0))|0);
+ $5 = ($4|0)==(0);
+ if ($5) {
+ HEAP32[$0>>2] = 1;
+ dest=$3; stop=dest+40|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
+ $$0 = 0;
+ return ($$0|0);
+ } else {
+ $6 = (_gpg_err_code_from_errno($4)|0);
+ $$0 = $6;
+ return ($$0|0);
+ }
+ return (0)|0;
+}
+function __gpg_err_init() {
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ (__gpgrt_es_init()|0);
+ return 0;
+}
+function __gpg_err_set_errno($0) {
+ $0 = $0|0;
+ var $1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = (___errno_location()|0);
+ HEAP32[$1>>2] = $0;
+ return;
+}
+function __gpgrt_es_init() {
+ var $0 = 0, $1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = HEAP32[18177]|0;
+ $1 = ($0|0)==(0);
+ if (!($1)) {
+ return 0;
+ }
+ HEAP32[18177] = 1;
+ (_atexit((87|0))|0);
+ return 0;
+}
+function _do_deinit() {
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ (__gpgrt_fflush(0)|0);
+ return;
+}
+function __gpgrt_fflush($0) {
+ $0 = $0|0;
+ var $$0 = 0, $$0$i = 0, $$0$i20 = 0, $$014$lcssa = 0, $$01424 = 0, $$025 = 0, $$1 = 0, $$2 = 0, $$idx = 0, $$idx$val = 0, $$idx15 = 0, $$idx15$val = 0, $$idx16 = 0, $$idx16$val = 0, $$idx17$val = 0, $$pre = 0, $$pre26 = 0, $1 = 0, $10 = 0, $11 = 0;
+ var $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0;
+ var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $5 = 0, $6 = 0, $7 = 0;
+ var $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = ($0|0)==(0|0);
+ if (!($1)) {
+ $$idx15 = ((($0)) + 36|0);
+ $$idx15$val = HEAP32[$$idx15>>2]|0;
+ $2 = ((($$idx15$val)) + 1148|0);
+ $3 = HEAP8[$2>>0]|0;
+ $4 = $3 & 32;
+ $5 = ($4<<24>>24)==(0);
+ if ($5) {
+ $6 = ((($$idx15$val)) + 1040|0);
+ (__gpgrt_lock_lock($6)|0);
+ }
+ $7 = HEAP32[$0>>2]|0;
+ $8 = $7 & 65536;
+ $9 = ($8|0)==(0);
+ if ($9) {
+ $11 = ((($0)) + 12|0);
+ HEAP32[$11>>2] = 0;
+ $12 = ((($0)) + 16|0);
+ HEAP32[$12>>2] = 0;
+ $13 = ((($0)) + 32|0);
+ HEAP32[$13>>2] = 0;
+ $$0$i = 0;
+ } else {
+ $10 = (_es_flush($0)|0);
+ $$0$i = $10;
+ }
+ $$idx17$val = HEAP32[$$idx15>>2]|0;
+ $14 = ((($$idx17$val)) + 1148|0);
+ $15 = HEAP8[$14>>0]|0;
+ $16 = $15 & 32;
+ $17 = ($16<<24>>24)==(0);
+ if (!($17)) {
+ $$2 = $$0$i;
+ $44 = ($$2|0)!=(0);
+ $45 = $44 << 31 >> 31;
+ return ($45|0);
+ }
+ $18 = ((($$idx17$val)) + 1040|0);
+ (__gpgrt_lock_unlock($18)|0);
+ $$2 = $$0$i;
+ $44 = ($$2|0)!=(0);
+ $45 = $44 << 31 >> 31;
+ return ($45|0);
+ }
+ (__gpgrt_lock_lock(40352)|0);
+ $19 = (0|0)==(0|0);
+ if ($19) {
+ $$014$lcssa = 0;
+ } else {
+ $$01424 = 0;$$025 = 0;
+ while(1) {
+ $20 = ((($$025)) + 4|0);
+ $21 = HEAP32[$20>>2]|0;
+ $22 = ($21|0)==(0|0);
+ if ($22) {
+ $$1 = $$01424;
+ } else {
+ $$idx = ((($21)) + 36|0);
+ $$idx$val = HEAP32[$$idx>>2]|0;
+ $23 = ((($$idx$val)) + 1148|0);
+ $24 = HEAP8[$23>>0]|0;
+ $25 = $24 & 32;
+ $26 = ($25<<24>>24)==(0);
+ if ($26) {
+ $27 = ((($$idx$val)) + 1040|0);
+ (__gpgrt_lock_lock($27)|0);
+ $$pre = HEAP32[$20>>2]|0;
+ $29 = $$pre;
+ } else {
+ $29 = $21;
+ }
+ $28 = HEAP32[$29>>2]|0;
+ $30 = $28 & 65536;
+ $31 = ($30|0)==(0);
+ if ($31) {
+ $33 = ((($29)) + 12|0);
+ HEAP32[$33>>2] = 0;
+ $34 = ((($29)) + 16|0);
+ HEAP32[$34>>2] = 0;
+ $35 = ((($29)) + 32|0);
+ HEAP32[$35>>2] = 0;
+ $$0$i20 = 0;$37 = $29;
+ } else {
+ $32 = (_es_flush($29)|0);
+ $$pre26 = HEAP32[$20>>2]|0;
+ $$0$i20 = $32;$37 = $$pre26;
+ }
+ $36 = $$0$i20 | $$01424;
+ $$idx16 = ((($37)) + 36|0);
+ $$idx16$val = HEAP32[$$idx16>>2]|0;
+ $38 = ((($$idx16$val)) + 1148|0);
+ $39 = HEAP8[$38>>0]|0;
+ $40 = $39 & 32;
+ $41 = ($40<<24>>24)==(0);
+ if ($41) {
+ $42 = ((($$idx16$val)) + 1040|0);
+ (__gpgrt_lock_unlock($42)|0);
+ $$1 = $36;
+ } else {
+ $$1 = $36;
+ }
+ }
+ $$0 = HEAP32[$$025>>2]|0;
+ $43 = ($$0|0)==(0|0);
+ if ($43) {
+ $$014$lcssa = $$1;
+ break;
+ } else {
+ $$01424 = $$1;$$025 = $$0;
+ }
+ }
+ }
+ (__gpgrt_lock_unlock(40352)|0);
+ $$2 = $$014$lcssa;
+ $44 = ($$2|0)!=(0);
+ $45 = $44 << 31 >> 31;
+ return ($45|0);
+}
+function _es_flush($0) {
+ $0 = $0|0;
+ var $$ = 0, $$2 = 0, $$446 = 0, $$448 = 0, $$63 = 0, $$lcssa = 0, $$pre = 0, $$pre54$pre = 0, $$pre55 = 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, $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = ((($0)) + 36|0);
+ $2 = HEAP32[$1>>2]|0;
+ $3 = ((($2)) + 1116|0);
+ $4 = HEAP32[$3>>2]|0;
+ $5 = HEAP32[$0>>2]|0;
+ $6 = $5 & 65536;
+ $7 = ($6|0)==(0);
+ if ($7) {
+ ___assert_fail((70342|0),(70364|0),1654,(70374|0));
+ // unreachable;
+ }
+ $8 = ((($0)) + 16|0);
+ $9 = HEAP32[$8>>2]|0;
+ $10 = ($9|0)==(0);
+ if ($10) {
+ $$446 = 0;
+ return ($$446|0);
+ }
+ $11 = ($4|0)==(0|0);
+ do {
+ if ($11) {
+ $$448 = 95;$54 = $2;
+ } else {
+ $12 = ($9|0)>(0);
+ if (!($12)) {
+ $$446 = 0;
+ return ($$446|0);
+ }
+ $13 = ((($0)) + 4|0);
+ $14 = ((($2)) + 1084|0);
+ $15 = HEAP32[$14>>2]|0;
+ $16 = HEAP32[$13>>2]|0;
+ $17 = (FUNCTION_TABLE_iiii[$4 & 127]($15,$16,$9)|0);
+ $18 = ($17|0)==(-1);
+ $$63 = $18 ? 0 : $17;
+ L12: do {
+ if ($18) {
+ $$lcssa = $$63;
+ label = 10;
+ } else {
+ $21 = $$63;
+ while(1) {
+ $19 = HEAP32[$8>>2]|0;
+ $20 = (($19) - ($21))|0;
+ $22 = ($20|0)>(0);
+ if (!($22)) {
+ $$2 = 0;$33 = $21;$35 = $19;
+ break L12;
+ }
+ $$pre = HEAP32[$1>>2]|0;
+ $23 = ((($$pre)) + 1084|0);
+ $24 = HEAP32[$23>>2]|0;
+ $25 = HEAP32[$13>>2]|0;
+ $26 = (($25) + ($21)|0);
+ $27 = (FUNCTION_TABLE_iiii[$4 & 127]($24,$26,$20)|0);
+ $28 = ($27|0)==(-1);
+ $$ = $28 ? 0 : $27;
+ $29 = (($$) + ($21))|0;
+ if ($28) {
+ $$lcssa = $29;
+ label = 10;
+ break;
+ } else {
+ $21 = $29;
+ }
+ }
+ }
+ } while(0);
+ if ((label|0) == 10) {
+ $$pre54$pre = HEAP32[$8>>2]|0;
+ $$2 = -1;$33 = $$lcssa;$35 = $$pre54$pre;
+ }
+ $30 = ((($0)) + 20|0);
+ $31 = HEAP32[$30>>2]|0;
+ $32 = (($31) + ($33))|0;
+ HEAP32[$30>>2] = $32;
+ $34 = ($35|0)==($33|0);
+ if ($34) {
+ $36 = HEAP32[$1>>2]|0;
+ $37 = ((($36)) + 1104|0);
+ $38 = $37;
+ $39 = $38;
+ $40 = HEAP32[$39>>2]|0;
+ $41 = (($38) + 4)|0;
+ $42 = $41;
+ $43 = HEAP32[$42>>2]|0;
+ $44 = (_i64Add(($40|0),($43|0),($35|0),0)|0);
+ $45 = tempRet0;
+ $46 = $37;
+ $47 = $46;
+ HEAP32[$47>>2] = $44;
+ $48 = (($46) + 4)|0;
+ $49 = $48;
+ HEAP32[$49>>2] = $45;
+ HEAP32[$8>>2] = 0;
+ HEAP32[$30>>2] = 0;
+ $50 = ((($36)) + 1084|0);
+ $51 = HEAP32[$50>>2]|0;
+ (FUNCTION_TABLE_iiii[$4 & 127]($51,0,0)|0);
+ }
+ $52 = ($$2|0)==(0);
+ if ($52) {
+ $$446 = 0;
+ return ($$446|0);
+ } else {
+ $$pre55 = HEAP32[$1>>2]|0;
+ $$448 = -1;$54 = $$pre55;
+ break;
+ }
+ }
+ } while(0);
+ $53 = ((($54)) + 1144|0);
+ $55 = HEAP8[$53>>0]|0;
+ $56 = $55 | 1;
+ HEAP8[$53>>0] = $56;
+ $$446 = $$448;
+ return ($$446|0);
+}
+function __gpg_strerror($0) {
+ $0 = $0|0;
+ var $$1 = 0, $$1121417202326293235384143454850 = 0, $$off$i = 0, $$off64$i = 0, $$off65$i = 0, $$off66$i = 0, $$off67$i = 0, $$off68$i = 0, $$off69$i = 0, $$off70$i = 0, $$off71$i = 0, $$off75$i = 0, $$off77$i = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0;
+ var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0;
+ var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $trunc = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = $0 & 65535;
+ $2 = $0 & 32768;
+ $3 = ($2|0)==(0);
+ L1: do {
+ if ($3) {
+ $7 = ($1>>>0)<(214);
+ if ($7) {
+ $38 = $1;
+ } else {
+ $$off$i = (($1) + -222)|0;
+ $8 = ($$off$i>>>0)<(33);
+ if ($8) {
+ $9 = (($1) + -8)|0;
+ $38 = $9;
+ break;
+ }
+ $$off64$i = (($1) + -257)|0;
+ $10 = ($$off64$i>>>0)<(15);
+ if ($10) {
+ $11 = (($1) + -10)|0;
+ $38 = $11;
+ break;
+ }
+ $$off65$i = (($1) + -273)|0;
+ $12 = ($$off65$i>>>0)<(9);
+ if ($12) {
+ $13 = (($1) + -11)|0;
+ $38 = $13;
+ break;
+ }
+ $$off66$i = (($1) + -721)|0;
+ $14 = ($$off66$i>>>0)<(9);
+ if ($14) {
+ $15 = (($1) + -450)|0;
+ $38 = $15;
+ break;
+ }
+ $$off67$i = (($1) + -750)|0;
+ $16 = ($$off67$i>>>0)<(3);
+ if ($16) {
+ $17 = (($1) + -470)|0;
+ $38 = $17;
+ break;
+ }
+ $$off68$i = (($1) + -754)|0;
+ $18 = ($$off68$i>>>0)<(29);
+ if ($18) {
+ $19 = (($1) + -471)|0;
+ $38 = $19;
+ break;
+ }
+ $$off69$i = (($1) + -784)|0;
+ $20 = ($$off69$i>>>0)<(6);
+ if ($20) {
+ $21 = (($1) + -472)|0;
+ $38 = $21;
+ break;
+ }
+ $$off70$i = (($1) + -800)|0;
+ $22 = ($$off70$i>>>0)<(5);
+ if ($22) {
+ $23 = (($1) + -482)|0;
+ $38 = $23;
+ break;
+ }
+ $$off71$i = (($1) + -815)|0;
+ $24 = ($$off71$i>>>0)<(8);
+ if ($24) {
+ $25 = (($1) + -492)|0;
+ $38 = $25;
+ break;
+ }
+ $26 = $0 & 65528;
+ $27 = ($26|0)==(832);
+ if ($27) {
+ $28 = (($1) + -501)|0;
+ $38 = $28;
+ break;
+ }
+ $trunc = $0&65535;
+ switch ($trunc<<16>>16) {
+ case 844: {
+ $38 = 339;
+ break L1;
+ break;
+ }
+ case 848: {
+ $38 = 340;
+ break L1;
+ break;
+ }
+ default: {
+ }
+ }
+ $$off75$i = (($1) + -881)|0;
+ $29 = ($$off75$i>>>0)<(11);
+ if ($29) {
+ $30 = (($1) + -540)|0;
+ $38 = $30;
+ break;
+ }
+ $31 = $0 & 65520;
+ $32 = ($31|0)==(1024);
+ if ($32) {
+ $33 = (($1) + -672)|0;
+ $38 = $33;
+ } else {
+ $$1121417202326293235384143454850 = $1;
+ label = 31;
+ }
+ }
+ } else {
+ $4 = (_gpg_err_code_to_errno($1)|0);
+ $5 = ($4|0)==(0);
+ if ($5) {
+ $$1121417202326293235384143454850 = 16382;
+ label = 31;
+ } else {
+ $6 = (_strerror($4)|0);
+ $$1 = $6;
+ return ($$1|0);
+ }
+ }
+ } while(0);
+ if ((label|0) == 31) {
+ $$off77$i = (($$1121417202326293235384143454850) + -16381)|0;
+ $34 = ($$off77$i>>>0)<(3);
+ $35 = (($$1121417202326293235384143454850) + -16013)|0;
+ $36 = $34 ? $35 : 371;
+ $38 = $36;
+ }
+ $37 = (16880 + ($38<<2)|0);
+ $39 = HEAP32[$37>>2]|0;
+ $40 = (18368 + ($39)|0);
+ $$1 = $40;
+ return ($$1|0);
+}
+function __gpg_err_code_to_errno($0) {
+ $0 = $0|0;
+ var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = $0 & 32768;
+ $2 = ($1|0)==(0);
+ if ($2) {
+ $$0 = 0;
+ } else {
+ $3 = $0 & -32769;
+ $4 = ($3>>>0)<(141);
+ if ($4) {
+ $5 = (26384 + ($3<<2)|0);
+ $6 = HEAP32[$5>>2]|0;
+ $$0 = $6;
+ } else {
+ $$0 = 0;
+ }
+ }
+ return ($$0|0);
+}
+function __gpg_err_code_from_errno($0) {
+ $0 = $0|0;
+ var $$0 = 0, $$off = 0, $$off29 = 0, $$off30 = 0, $$off31 = 0, $$off32 = 0, $$off33 = 0, $$ph$pn = 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;
+ var $9 = 0, $spec$select = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = ($0|0)==(0);
+ if ($1) {
+ $$0 = 0;
+ return ($$0|0);
+ }
+ $$off = (($0) + -1)|0;
+ $2 = ($$off>>>0)<(11);
+ do {
+ if ($2) {
+ $$ph$pn = $$off;
+ } else {
+ $$off29 = (($0) + -11)|0;
+ $3 = ($$off29>>>0)<(25);
+ if ($3) {
+ $$ph$pn = $0;
+ } else {
+ $$off30 = (($0) + -35)|0;
+ $4 = ($$off30>>>0)<(6);
+ if ($4) {
+ $5 = (($0) + 1)|0;
+ $$ph$pn = $5;
+ break;
+ }
+ $$off31 = (($0) + -42)|0;
+ $6 = ($$off31>>>0)<(16);
+ if ($6) {
+ $$ph$pn = $0;
+ } else {
+ $$off32 = (($0) + -59)|0;
+ $7 = ($$off32>>>0)<(37);
+ $$off33 = (($0) + -95)|0;
+ $8 = ($$off33>>>0)<(31);
+ $9 = $8 ? $0 : -1;
+ $spec$select = $7 ? $$off : $9;
+ $10 = ($spec$select|0)<(0);
+ if ($10) {
+ $$0 = 16382;
+ return ($$0|0);
+ } else {
+ $$ph$pn = $spec$select;
+ }
+ }
+ }
+ }
+ } while(0);
+ $11 = (26960 + ($$ph$pn<<2)|0);
+ $12 = HEAP32[$11>>2]|0;
+ $13 = $12 | 32768;
+ $$0 = $13;
+ return ($$0|0);
+}
+function __gpg_err_code_from_syserror() {
+ var $$0 = 0, $$off = 0, $$off31 = 0, $$off32 = 0, $$off33 = 0, $$off34 = 0, $$off35 = 0, $$ph$pn = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0;
+ var $7 = 0, $8 = 0, $9 = 0, $spec$select = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = (___errno_location()|0);
+ $1 = HEAP32[$0>>2]|0;
+ $2 = ($1|0)==(0);
+ if ($2) {
+ $$0 = 16381;
+ return ($$0|0);
+ }
+ $$off = (($1) + -1)|0;
+ $3 = ($$off>>>0)<(11);
+ do {
+ if ($3) {
+ $$ph$pn = $$off;
+ } else {
+ $$off31 = (($1) + -11)|0;
+ $4 = ($$off31>>>0)<(25);
+ if ($4) {
+ $$ph$pn = $1;
+ } else {
+ $$off32 = (($1) + -35)|0;
+ $5 = ($$off32>>>0)<(6);
+ if ($5) {
+ $6 = (($1) + 1)|0;
+ $$ph$pn = $6;
+ break;
+ }
+ $$off33 = (($1) + -42)|0;
+ $7 = ($$off33>>>0)<(16);
+ if ($7) {
+ $$ph$pn = $1;
+ } else {
+ $$off34 = (($1) + -59)|0;
+ $8 = ($$off34>>>0)<(37);
+ $$off35 = (($1) + -95)|0;
+ $9 = ($$off35>>>0)<(31);
+ $10 = $9 ? $1 : -1;
+ $spec$select = $8 ? $$off : $10;
+ $11 = ($spec$select|0)<(0);
+ if ($11) {
+ $$0 = 16382;
+ return ($$0|0);
+ } else {
+ $$ph$pn = $spec$select;
+ }
+ }
+ }
+ }
+ } while(0);
+ $12 = (26960 + ($$ph$pn<<2)|0);
+ $13 = HEAP32[$12>>2]|0;
+ $14 = $13 | 32768;
+ $$0 = $14;
+ return ($$0|0);
+}
+function _TALER_amount_hton($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0;
+ var sp = 0, src = 0, stop = 0;
+ sp = STACKTOP;
+ $2 = $1;
+ $3 = $2;
+ $4 = HEAP32[$3>>2]|0;
+ $5 = (($2) + 4)|0;
+ $6 = $5;
+ $7 = HEAP32[$6>>2]|0;
+ $8 = (_GNUNET_htonll($4,$7)|0);
+ $9 = tempRet0;
+ $10 = $0;
+ $11 = $10;
+ HEAP8[$11>>0]=$8&255;HEAP8[$11+1>>0]=($8>>8)&255;HEAP8[$11+2>>0]=($8>>16)&255;HEAP8[$11+3>>0]=$8>>24;
+ $12 = (($10) + 4)|0;
+ $13 = $12;
+ HEAP8[$13>>0]=$9&255;HEAP8[$13+1>>0]=($9>>8)&255;HEAP8[$13+2>>0]=($9>>16)&255;HEAP8[$13+3>>0]=$9>>24;
+ $14 = ((($1)) + 8|0);
+ $15 = HEAP32[$14>>2]|0;
+ $16 = (_htonl($15)|0);
+ $17 = ((($0)) + 8|0);
+ HEAP8[$17>>0]=$16&255;HEAP8[$17+1>>0]=($16>>8)&255;HEAP8[$17+2>>0]=($16>>16)&255;HEAP8[$17+3>>0]=$16>>24;
+ $18 = ((($0)) + 12|0);
+ $19 = ((($1)) + 12|0);
+ dest=$18; src=$19; stop=dest+12|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
+ return;
+}
+function _TALER_amount_ntoh($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0;
+ var sp = 0, src = 0, stop = 0;
+ sp = STACKTOP;
+ $2 = $1;
+ $3 = $2;
+ $4 = HEAPU8[$3>>0]|(HEAPU8[$3+1>>0]<<8)|(HEAPU8[$3+2>>0]<<16)|(HEAPU8[$3+3>>0]<<24);
+ $5 = (($2) + 4)|0;
+ $6 = $5;
+ $7 = HEAPU8[$6>>0]|(HEAPU8[$6+1>>0]<<8)|(HEAPU8[$6+2>>0]<<16)|(HEAPU8[$6+3>>0]<<24);
+ $8 = (_GNUNET_ntohll($4,$7)|0);
+ $9 = tempRet0;
+ $10 = $0;
+ $11 = $10;
+ HEAP32[$11>>2] = $8;
+ $12 = (($10) + 4)|0;
+ $13 = $12;
+ HEAP32[$13>>2] = $9;
+ $14 = ((($1)) + 8|0);
+ $15 = HEAPU8[$14>>0]|(HEAPU8[$14+1>>0]<<8)|(HEAPU8[$14+2>>0]<<16)|(HEAPU8[$14+3>>0]<<24);
+ $16 = (_ntohl($15)|0);
+ $17 = ((($0)) + 8|0);
+ HEAP32[$17>>2] = $16;
+ $18 = ((($0)) + 12|0);
+ $19 = ((($1)) + 12|0);
+ dest=$18; src=$19; stop=dest+12|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
+ return;
+}
+function _TALER_amount_get_zero($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $2 = (_strlen($0)|0);
+ $3 = ($2>>>0)>(11);
+ if ($3) {
+ $$0 = -1;
+ return ($$0|0);
+ }
+ ;HEAP32[$1>>2]=0|0;HEAP32[$1+4>>2]=0|0;HEAP32[$1+8>>2]=0|0;HEAP32[$1+12>>2]=0|0;HEAP32[$1+16>>2]=0|0;HEAP32[$1+20>>2]=0|0;
+ $4 = ((($1)) + 12|0);
+ _memcpy(($4|0),($0|0),($2|0))|0;
+ $$0 = 1;
+ return ($$0|0);
+}
+function _TALER_amount_cmp($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $$0 = 0, $$65 = 0, $$66 = 0, $$idx$i = 0, $$idx$val$i = 0, $$idx4$i = 0, $$idx4$val$i = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx80 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$2 = 0, $$sroa$796$0 = 0, $$sroa$796$0$$sroa_idx97 = 0, $$sroa$796$0$copyload = 0, $$sroa$796$1 = 0, $$sroa$796$2$ph = 0, $10 = 0, $11 = 0, $12 = 0;
+ var $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $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, $8 = 0, $9 = 0, $spec$select = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_buffer6 = 0, $vararg_ptr1 = 0, $vararg_ptr5 = 0;
+ var $vararg_ptr9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
+ $vararg_buffer6 = sp + 16|0;
+ $vararg_buffer2 = sp + 8|0;
+ $vararg_buffer = sp;
+ $$idx4$i = ((($0)) + 12|0);
+ $$idx4$val$i = HEAP8[$$idx4$i>>0]|0;
+ $2 = ($$idx4$val$i<<24>>24)==(0);
+ if (!($2)) {
+ $$idx$i = ((($1)) + 12|0);
+ $$idx$val$i = HEAP8[$$idx$i>>0]|0;
+ $3 = ($$idx$val$i<<24>>24)==(0);
+ if (!($3)) {
+ $4 = (_strcasecmp($$idx4$i,$$idx$i)|0);
+ $5 = ($4|0)==(0);
+ if ($5) {
+ $13 = $0;
+ $14 = $13;
+ $15 = HEAP32[$14>>2]|0;
+ $16 = (($13) + 4)|0;
+ $17 = $16;
+ $18 = HEAP32[$17>>2]|0;
+ $$sroa$796$0$$sroa_idx97 = ((($0)) + 8|0);
+ $$sroa$796$0$copyload = HEAP32[$$sroa$796$0$$sroa_idx97>>2]|0;
+ $19 = $1;
+ $20 = $19;
+ $21 = HEAP32[$20>>2]|0;
+ $22 = (($19) + 4)|0;
+ $23 = $22;
+ $24 = HEAP32[$23>>2]|0;
+ $$sroa$7$0$$sroa_idx80 = ((($1)) + 8|0);
+ $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx80>>2]|0;
+ $25 = ($15|0)==(-1);
+ $26 = ($18|0)==(-1);
+ $27 = $25 & $26;
+ L5: do {
+ if ($27) {
+ $$sroa$796$1 = $$sroa$796$0$copyload;
+ label = 15;
+ } else {
+ $$sroa$796$0 = $$sroa$796$0$copyload;$30 = $15;$31 = $18;
+ while(1) {
+ $28 = ($$sroa$796$0>>>0)>(99999999);
+ if (!($28)) {
+ $$sroa$796$2$ph = $$sroa$796$0;$66 = $30;$69 = $31;
+ break L5;
+ }
+ $29 = (($$sroa$796$0) + -100000000)|0;
+ $32 = (_i64Add(($30|0),($31|0),1,0)|0);
+ $33 = tempRet0;
+ $34 = ($32|0)==(-1);
+ $35 = ($33|0)==(-1);
+ $36 = $34 & $35;
+ if ($36) {
+ $$sroa$796$1 = $29;
+ label = 15;
+ break;
+ } else {
+ $$sroa$796$0 = $29;$30 = $32;$31 = $33;
+ }
+ }
+ }
+ } while(0);
+ if ((label|0) == 15) {
+ $37 = ($$sroa$796$1>>>0)>(99999999);
+ if ($37) {
+ $38 = HEAP32[10100]|0;
+ $39 = ($38|0)==(-1);
+ if ($39) {
+ $40 = (_GNUNET_get_log_call_status(1,0,70383,70392,353)|0);
+ HEAP32[10100] = $40;
+ }
+ $41 = (_GNUNET_get_log_skip()|0);
+ $42 = ($41|0)>(0);
+ if ($42) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $43 = HEAP32[10100]|0;
+ $44 = ($43|0)==(0);
+ if ($44) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer2>>2] = 70383;
+ $vararg_ptr5 = ((($vararg_buffer2)) + 4|0);
+ HEAP32[$vararg_ptr5>>2] = 353;
+ _GNUNET_log_nocheck(1,70521,$vararg_buffer2);
+ _GNUNET_abort_();
+ // unreachable;
+ } else {
+ $$sroa$796$2$ph = $$sroa$796$1;$66 = -1;$69 = -1;
+ }
+ }
+ $45 = ($21|0)==(-1);
+ $46 = ($24|0)==(-1);
+ $47 = $45 & $46;
+ L25: do {
+ if ($47) {
+ $$sroa$7$1 = $$sroa$7$0$copyload;
+ label = 27;
+ } else {
+ $$sroa$7$0 = $$sroa$7$0$copyload;$50 = $21;$51 = $24;
+ while(1) {
+ $48 = ($$sroa$7$0>>>0)>(99999999);
+ if (!($48)) {
+ $$sroa$7$2 = $$sroa$7$0;$67 = $50;$70 = $51;
+ break L25;
+ }
+ $49 = (($$sroa$7$0) + -100000000)|0;
+ $52 = (_i64Add(($50|0),($51|0),1,0)|0);
+ $53 = tempRet0;
+ $54 = ($52|0)==(-1);
+ $55 = ($53|0)==(-1);
+ $56 = $54 & $55;
+ if ($56) {
+ $$sroa$7$1 = $49;
+ label = 27;
+ break;
+ } else {
+ $$sroa$7$0 = $49;$50 = $52;$51 = $53;
+ }
+ }
+ }
+ } while(0);
+ if ((label|0) == 27) {
+ $57 = ($$sroa$7$1>>>0)>(99999999);
+ if ($57) {
+ $58 = HEAP32[10101]|0;
+ $59 = ($58|0)==(-1);
+ if ($59) {
+ $60 = (_GNUNET_get_log_call_status(1,0,70383,70392,355)|0);
+ HEAP32[10101] = $60;
+ }
+ $61 = (_GNUNET_get_log_skip()|0);
+ $62 = ($61|0)>(0);
+ if ($62) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $63 = HEAP32[10101]|0;
+ $64 = ($63|0)==(0);
+ if ($64) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer6>>2] = 70383;
+ $vararg_ptr9 = ((($vararg_buffer6)) + 4|0);
+ HEAP32[$vararg_ptr9>>2] = 355;
+ _GNUNET_log_nocheck(1,70521,$vararg_buffer6);
+ _GNUNET_abort_();
+ // unreachable;
+ } else {
+ $$sroa$7$2 = $$sroa$7$1;$67 = -1;$70 = -1;
+ }
+ }
+ $65 = ($66|0)==($67|0);
+ $68 = ($69|0)==($70|0);
+ $71 = $65 & $68;
+ if ($71) {
+ $72 = ($$sroa$796$2$ph>>>0)<($$sroa$7$2>>>0);
+ $73 = ($$sroa$796$2$ph>>>0)>($$sroa$7$2>>>0);
+ $$65 = $73&1;
+ $spec$select = $72 ? -1 : $$65;
+ $$0 = $spec$select;
+ STACKTOP = sp;return ($$0|0);
+ } else {
+ $74 = ($69>>>0)<($70>>>0);
+ $75 = ($66>>>0)<($67>>>0);
+ $76 = ($69|0)==($70|0);
+ $77 = $76 & $75;
+ $78 = $74 | $77;
+ $$66 = $78 ? -1 : 1;
+ $$0 = $$66;
+ STACKTOP = sp;return ($$0|0);
+ }
+ }
+ }
+ }
+ $6 = HEAP32[10099]|0;
+ $7 = ($6|0)==(-1);
+ if ($7) {
+ $8 = (_GNUNET_get_log_call_status(1,0,70383,70392,349)|0);
+ HEAP32[10099] = $8;
+ }
+ $9 = (_GNUNET_get_log_skip()|0);
+ $10 = ($9|0)>(0);
+ if ($10) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $11 = HEAP32[10099]|0;
+ $12 = ($11|0)==(0);
+ if ($12) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer>>2] = 70383;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 349;
+ _GNUNET_log_nocheck(1,70521,$vararg_buffer);
+ _GNUNET_abort_();
+ // unreachable;
+ return (0)|0;
+}
+function _TALER_amount_normalize($0) {
+ $0 = $0|0;
+ var $$0$lcssa = 0, $$08 = 0, $$09 = 0, $$idx = 0, $$idx$val = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $$idx = ((($0)) + 12|0);
+ $$idx$val = HEAP8[$$idx>>0]|0;
+ $1 = ($$idx$val<<24>>24)==(0);
+ if ($1) {
+ $$08 = -1;
+ return ($$08|0);
+ }
+ $2 = ((($0)) + 8|0);
+ $3 = $0;
+ $4 = $3;
+ $5 = HEAP32[$4>>2]|0;
+ $6 = (($3) + 4)|0;
+ $7 = $6;
+ $8 = HEAP32[$7>>2]|0;
+ $9 = ($5|0)==(-1);
+ $10 = ($8|0)==(-1);
+ $11 = $9 & $10;
+ $12 = HEAP32[$2>>2]|0;
+ L4: do {
+ if ($11) {
+ $$0$lcssa = 0;$28 = $12;
+ } else {
+ $$09 = 0;$14 = $12;$16 = $5;$17 = $8;
+ while(1) {
+ $13 = ($14>>>0)>(99999999);
+ if (!($13)) {
+ $$08 = $$09;
+ break;
+ }
+ $15 = (($14) + -100000000)|0;
+ HEAP32[$2>>2] = $15;
+ $18 = (_i64Add(($16|0),($17|0),1,0)|0);
+ $19 = tempRet0;
+ $20 = $0;
+ $21 = $20;
+ HEAP32[$21>>2] = $18;
+ $22 = (($20) + 4)|0;
+ $23 = $22;
+ HEAP32[$23>>2] = $19;
+ $24 = ($18|0)==(-1);
+ $25 = ($19|0)==(-1);
+ $26 = $24 & $25;
+ if ($26) {
+ $$0$lcssa = 1;$28 = $15;
+ break L4;
+ } else {
+ $$09 = 1;$14 = $15;$16 = $18;$17 = $19;
+ }
+ }
+ return ($$08|0);
+ }
+ } while(0);
+ $27 = ($28>>>0)>(99999999);
+ if (!($27)) {
+ $$08 = $$0$lcssa;
+ return ($$08|0);
+ }
+ ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0;HEAP32[$0+12>>2]=0|0;HEAP32[$0+16>>2]=0|0;HEAP32[$0+20>>2]=0|0;
+ $$08 = -1;
+ return ($$08|0);
+}
+function _TALER_amount_subtract($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$0 = 0, $$idx$i = 0, $$idx$i75 = 0, $$idx$val$i = 0, $$idx$val$i76 = 0, $$idx4$i = 0, $$idx4$val$i = 0, $$sroa$8$0 = 0, $$sroa$8$0$$sroa_idx90 = 0, $$sroa$8$0$copyload = 0, $$sroa$8$1 = 0, $$sroa$8$2 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0;
+ var $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0;
+ var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0;
+ var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0;
+ var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0;
+ var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $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, $not$or$cond = 0, $spec$select = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_ptr1 = 0, $vararg_ptr5 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
+ $vararg_buffer2 = sp + 32|0;
+ $vararg_buffer = sp + 24|0;
+ $3 = sp;
+ $$idx4$i = ((($1)) + 12|0);
+ $$idx4$val$i = HEAP8[$$idx4$i>>0]|0;
+ $4 = ($$idx4$val$i<<24>>24)==(0);
+ if (!($4)) {
+ $$idx$i = ((($2)) + 12|0);
+ $$idx$val$i = HEAP8[$$idx$i>>0]|0;
+ $5 = ($$idx$val$i<<24>>24)==(0);
+ if (!($5)) {
+ $6 = (_strcasecmp($$idx4$i,$$idx$i)|0);
+ $7 = ($6|0)==(0);
+ if ($7) {
+ ;HEAP32[$3>>2]=HEAP32[$1>>2]|0;HEAP32[$3+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$3+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[$3+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[$3+16>>2]=HEAP32[$1+16>>2]|0;HEAP32[$3+20>>2]=HEAP32[$1+20>>2]|0;
+ $8 = $2;
+ $9 = $8;
+ $10 = HEAP32[$9>>2]|0;
+ $11 = (($8) + 4)|0;
+ $12 = $11;
+ $13 = HEAP32[$12>>2]|0;
+ $$sroa$8$0$$sroa_idx90 = ((($2)) + 8|0);
+ $$sroa$8$0$copyload = HEAP32[$$sroa$8$0$$sroa_idx90>>2]|0;
+ $$idx$i75 = ((($3)) + 12|0);
+ $$idx$val$i76 = HEAP8[$$idx$i75>>0]|0;
+ $14 = ($$idx$val$i76<<24>>24)==(0);
+ do {
+ if (!($14)) {
+ $15 = ((($3)) + 8|0);
+ $16 = $3;
+ $17 = $16;
+ $18 = HEAP32[$17>>2]|0;
+ $19 = (($16) + 4)|0;
+ $20 = $19;
+ $21 = HEAP32[$20>>2]|0;
+ $22 = ($18|0)==(-1);
+ $23 = ($21|0)==(-1);
+ $24 = $22 & $23;
+ $25 = HEAP32[$15>>2]|0;
+ do {
+ if ($24) {
+ $41 = $25;
+ label = 11;
+ } else {
+ $27 = $25;$29 = $18;$30 = $21;
+ while(1) {
+ $26 = ($27>>>0)>(99999999);
+ if (!($26)) {
+ label = 13;
+ break;
+ }
+ $28 = (($27) + -100000000)|0;
+ $31 = (_i64Add(($29|0),($30|0),1,0)|0);
+ $32 = tempRet0;
+ $33 = ($31|0)==(-1);
+ $34 = ($32|0)==(-1);
+ $35 = $33 & $34;
+ if ($35) {
+ label = 10;
+ break;
+ } else {
+ $27 = $28;$29 = $31;$30 = $32;
+ }
+ }
+ if ((label|0) == 10) {
+ HEAP32[$15>>2] = $28;
+ $36 = $3;
+ $37 = $36;
+ HEAP32[$37>>2] = -1;
+ $38 = (($36) + 4)|0;
+ $39 = $38;
+ HEAP32[$39>>2] = -1;
+ $41 = $28;
+ label = 11;
+ break;
+ }
+ else if ((label|0) == 13) {
+ HEAP32[$15>>2] = $27;
+ $42 = $3;
+ $43 = $42;
+ HEAP32[$43>>2] = $29;
+ $44 = (($42) + 4)|0;
+ $45 = $44;
+ HEAP32[$45>>2] = $30;
+ $60 = $27;$62 = $29;$64 = $30;
+ break;
+ }
+ }
+ } while(0);
+ if ((label|0) == 11) {
+ $40 = ($41>>>0)>(99999999);
+ if ($40) {
+ ;HEAP32[$3>>2]=0|0;HEAP32[$3+4>>2]=0|0;HEAP32[$3+8>>2]=0|0;HEAP32[$3+12>>2]=0|0;HEAP32[$3+16>>2]=0|0;HEAP32[$3+20>>2]=0|0;
+ break;
+ } else {
+ $60 = $41;$62 = -1;$64 = -1;
+ }
+ }
+ $46 = ($10|0)==(-1);
+ $47 = ($13|0)==(-1);
+ $48 = $46 & $47;
+ L19: do {
+ if ($48) {
+ $$sroa$8$1 = $$sroa$8$0$copyload;
+ label = 18;
+ } else {
+ $$sroa$8$0 = $$sroa$8$0$copyload;$51 = $10;$52 = $13;
+ while(1) {
+ $49 = ($$sroa$8$0>>>0)>(99999999);
+ if (!($49)) {
+ $$sroa$8$2 = $$sroa$8$0;$75 = $52;$78 = $51;
+ break L19;
+ }
+ $50 = (($$sroa$8$0) + -100000000)|0;
+ $53 = (_i64Add(($51|0),($52|0),1,0)|0);
+ $54 = tempRet0;
+ $55 = ($53|0)==(-1);
+ $56 = ($54|0)==(-1);
+ $57 = $55 & $56;
+ if ($57) {
+ $$sroa$8$1 = $50;
+ label = 18;
+ break;
+ } else {
+ $$sroa$8$0 = $50;$51 = $53;$52 = $54;
+ }
+ }
+ }
+ } while(0);
+ if ((label|0) == 18) {
+ $58 = ($$sroa$8$1>>>0)>(99999999);
+ if ($58) {
+ break;
+ } else {
+ $$sroa$8$2 = $$sroa$8$1;$75 = -1;$78 = -1;
+ }
+ }
+ $59 = ($60>>>0)<($$sroa$8$2>>>0);
+ do {
+ if ($59) {
+ $61 = ($62|0)==(0);
+ $63 = ($64|0)==(0);
+ $65 = $61 & $63;
+ if (!($65)) {
+ $66 = (($60) + 100000000)|0;
+ HEAP32[$15>>2] = $66;
+ $67 = (_i64Add(($62|0),($64|0),-1,-1)|0);
+ $68 = tempRet0;
+ $69 = $3;
+ $70 = $69;
+ HEAP32[$70>>2] = $67;
+ $71 = (($69) + 4)|0;
+ $72 = $71;
+ HEAP32[$72>>2] = $68;
+ $74 = $68;$77 = $67;$93 = $66;
+ break;
+ }
+ ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0;HEAP32[$0+12>>2]=0|0;HEAP32[$0+16>>2]=0|0;HEAP32[$0+20>>2]=0|0;
+ $$0 = -1;
+ STACKTOP = sp;return ($$0|0);
+ } else {
+ $74 = $64;$77 = $62;$93 = $60;
+ }
+ } while(0);
+ $73 = ($74>>>0)<($75>>>0);
+ $76 = ($77>>>0)<($78>>>0);
+ $79 = ($74|0)==($75|0);
+ $80 = $79 & $76;
+ $81 = $73 | $80;
+ if ($81) {
+ ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0;HEAP32[$0+12>>2]=0|0;HEAP32[$0+16>>2]=0|0;HEAP32[$0+20>>2]=0|0;
+ $$0 = -1;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $82 = (_strlen($$idx$i75)|0);
+ $83 = ($82>>>0)>(11);
+ if ($83) {
+ $84 = HEAP32[10102]|0;
+ $85 = ($84|0)==(-1);
+ if ($85) {
+ $86 = (_GNUNET_get_log_call_status(1,0,70383,70409,421)|0);
+ HEAP32[10102] = $86;
+ }
+ $87 = (_GNUNET_get_log_skip()|0);
+ $88 = ($87|0)>(0);
+ if ($88) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $89 = HEAP32[10102]|0;
+ $90 = ($89|0)==(0);
+ if ($90) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer>>2] = 70383;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 421;
+ _GNUNET_log_nocheck(1,70521,$vararg_buffer);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0;HEAP32[$0+12>>2]=0|0;HEAP32[$0+16>>2]=0|0;HEAP32[$0+20>>2]=0|0;
+ $91 = ((($0)) + 12|0);
+ _memcpy(($91|0),($$idx$i75|0),($82|0))|0;
+ $92 = ($93>>>0)<($$sroa$8$2>>>0);
+ if (!($92)) {
+ $101 = (($93) - ($$sroa$8$2))|0;
+ $102 = ((($0)) + 8|0);
+ HEAP32[$102>>2] = $101;
+ $103 = (_i64Subtract(($77|0),($74|0),($78|0),($75|0))|0);
+ $104 = tempRet0;
+ $105 = $0;
+ $106 = $105;
+ HEAP32[$106>>2] = $103;
+ $107 = (($105) + 4)|0;
+ $108 = $107;
+ HEAP32[$108>>2] = $104;
+ $109 = ($101|0)!=(0);
+ $110 = ($103|0)!=(0);
+ $111 = ($104|0)!=(0);
+ $112 = $110 | $111;
+ $not$or$cond = $112 | $109;
+ $spec$select = $not$or$cond&1;
+ $$0 = $spec$select;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $94 = HEAP32[10103]|0;
+ $95 = ($94|0)==(-1);
+ if ($95) {
+ $96 = (_GNUNET_get_log_call_status(1,0,70383,70409,422)|0);
+ HEAP32[10103] = $96;
+ }
+ $97 = (_GNUNET_get_log_skip()|0);
+ $98 = ($97|0)>(0);
+ if ($98) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $99 = HEAP32[10103]|0;
+ $100 = ($99|0)==(0);
+ if ($100) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer2>>2] = 70383;
+ $vararg_ptr5 = ((($vararg_buffer2)) + 4|0);
+ HEAP32[$vararg_ptr5>>2] = 422;
+ _GNUNET_log_nocheck(1,70521,$vararg_buffer2);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ } while(0);
+ ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0;HEAP32[$0+12>>2]=0|0;HEAP32[$0+16>>2]=0|0;HEAP32[$0+20>>2]=0|0;
+ $$0 = -1;
+ STACKTOP = sp;return ($$0|0);
+ }
+ }
+ }
+ ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0;HEAP32[$0+12>>2]=0|0;HEAP32[$0+16>>2]=0|0;HEAP32[$0+20>>2]=0|0;
+ $$0 = -1;
+ STACKTOP = sp;return ($$0|0);
+}
+function _TALER_amount_add($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$0 = 0, $$idx$i = 0, $$idx$val$i = 0, $$idx4$i = 0, $$idx4$val$i = 0, $$sroa$11 = 0, $$sroa$11$0$$sroa$11$12$$idx$val$i29 = 0, $$sroa$11$0$$sroa_idx = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx72 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$2 = 0, $$sroa$788$0 = 0, $$sroa$788$0$$sroa_idx90 = 0, $$sroa$788$0$copyload = 0, $$sroa$788$1 = 0, $$sroa$788$2$ph = 0, $$sroa$8$0 = 0, $$sroa$8$0$$sroa_idx51 = 0;
+ var $$sroa$8$1 = 0, $$sroa$8$2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
+ var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
+ var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0;
+ var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0;
+ var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
+ $vararg_buffer = sp;
+ $$sroa$11 = sp + 8|0;
+ $$idx4$i = ((($1)) + 12|0);
+ $$idx4$val$i = HEAP8[$$idx4$i>>0]|0;
+ $3 = ($$idx4$val$i<<24>>24)==(0);
+ if (!($3)) {
+ $$idx$i = ((($2)) + 12|0);
+ $$idx$val$i = HEAP8[$$idx$i>>0]|0;
+ $4 = ($$idx$val$i<<24>>24)==(0);
+ if (!($4)) {
+ $5 = (_strcasecmp($$idx4$i,$$idx$i)|0);
+ $6 = ($5|0)==(0);
+ if ($6) {
+ $7 = $1;
+ $8 = $7;
+ $9 = HEAP32[$8>>2]|0;
+ $10 = (($7) + 4)|0;
+ $11 = $10;
+ $12 = HEAP32[$11>>2]|0;
+ $$sroa$788$0$$sroa_idx90 = ((($1)) + 8|0);
+ $$sroa$788$0$copyload = HEAP32[$$sroa$788$0$$sroa_idx90>>2]|0;
+ $13 = $2;
+ $14 = $13;
+ $15 = HEAP32[$14>>2]|0;
+ $16 = (($13) + 4)|0;
+ $17 = $16;
+ $18 = HEAP32[$17>>2]|0;
+ $$sroa$7$0$$sroa_idx72 = ((($2)) + 8|0);
+ $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx72>>2]|0;
+ $19 = ($9|0)==(-1);
+ $20 = ($12|0)==(-1);
+ $21 = $19 & $20;
+ L5: do {
+ if ($21) {
+ $$sroa$788$1 = $$sroa$788$0$copyload;
+ label = 9;
+ } else {
+ $$sroa$788$0 = $$sroa$788$0$copyload;$24 = $9;$25 = $12;
+ while(1) {
+ $22 = ($$sroa$788$0>>>0)>(99999999);
+ if (!($22)) {
+ $$sroa$788$2$ph = $$sroa$788$0;$58 = $24;$59 = $25;
+ label = 10;
+ break L5;
+ }
+ $23 = (($$sroa$788$0) + -100000000)|0;
+ $26 = (_i64Add(($24|0),($25|0),1,0)|0);
+ $27 = tempRet0;
+ $28 = ($26|0)==(-1);
+ $29 = ($27|0)==(-1);
+ $30 = $28 & $29;
+ if ($30) {
+ $$sroa$788$1 = $23;
+ label = 9;
+ break;
+ } else {
+ $$sroa$788$0 = $23;$24 = $26;$25 = $27;
+ }
+ }
+ }
+ } while(0);
+ if ((label|0) == 9) {
+ $31 = ($$sroa$788$1>>>0)>(99999999);
+ if (!($31)) {
+ $$sroa$788$2$ph = $$sroa$788$1;$58 = -1;$59 = -1;
+ label = 10;
+ }
+ }
+ do {
+ if ((label|0) == 10) {
+ $32 = ($15|0)==(-1);
+ $33 = ($18|0)==(-1);
+ $34 = $32 & $33;
+ L14: do {
+ if ($34) {
+ $$sroa$7$1 = $$sroa$7$0$copyload;
+ label = 14;
+ } else {
+ $$sroa$7$0 = $$sroa$7$0$copyload;$37 = $15;$38 = $18;
+ while(1) {
+ $35 = ($$sroa$7$0>>>0)>(99999999);
+ if (!($35)) {
+ $$sroa$7$2 = $$sroa$7$0;$56 = $37;$57 = $38;
+ break L14;
+ }
+ $36 = (($$sroa$7$0) + -100000000)|0;
+ $39 = (_i64Add(($37|0),($38|0),1,0)|0);
+ $40 = tempRet0;
+ $41 = ($39|0)==(-1);
+ $42 = ($40|0)==(-1);
+ $43 = $41 & $42;
+ if ($43) {
+ $$sroa$7$1 = $36;
+ label = 14;
+ break;
+ } else {
+ $$sroa$7$0 = $36;$37 = $39;$38 = $40;
+ }
+ }
+ }
+ } while(0);
+ if ((label|0) == 14) {
+ $44 = ($$sroa$7$1>>>0)>(99999999);
+ if ($44) {
+ break;
+ } else {
+ $$sroa$7$2 = $$sroa$7$1;$56 = -1;$57 = -1;
+ }
+ }
+ $45 = (_strlen($$idx4$i)|0);
+ $46 = ($45>>>0)>(11);
+ if ($46) {
+ $47 = HEAP32[10104]|0;
+ $48 = ($47|0)==(-1);
+ if ($48) {
+ $49 = (_GNUNET_get_log_call_status(1,0,70383,70431,468)|0);
+ HEAP32[10104] = $49;
+ }
+ $50 = (_GNUNET_get_log_skip()|0);
+ $51 = ($50|0)>(0);
+ if ($51) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $52 = HEAP32[10104]|0;
+ $53 = ($52|0)==(0);
+ if ($53) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer>>2] = 70383;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 468;
+ _GNUNET_log_nocheck(1,70521,$vararg_buffer);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $54 = (12 - ($45))|0;
+ $55 = (($$sroa$11) + ($45)|0);
+ _memset(($55|0),0,($54|0))|0;
+ _memcpy(($$sroa$11|0),($$idx4$i|0),($45|0))|0;
+ $60 = (_i64Add(($56|0),($57|0),($58|0),($59|0))|0);
+ $61 = tempRet0;
+ $62 = ($61>>>0)<($59>>>0);
+ $63 = ($60>>>0)<($58>>>0);
+ $64 = ($61|0)==($59|0);
+ $65 = $64 & $63;
+ $66 = $62 | $65;
+ if ($66) {
+ ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0;HEAP32[$0+12>>2]=0|0;HEAP32[$0+16>>2]=0|0;HEAP32[$0+20>>2]=0|0;
+ $$0 = -1;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $67 = (($$sroa$7$2) + ($$sroa$788$2$ph))|0;
+ $$sroa$11$0$$sroa$11$12$$idx$val$i29 = HEAP8[$$sroa$11>>0]|0;
+ $68 = ($$sroa$11$0$$sroa$11$12$$idx$val$i29<<24>>24)==(0);
+ do {
+ if (!($68)) {
+ $69 = ($60|0)==(-1);
+ $70 = ($61|0)==(-1);
+ $71 = $69 & $70;
+ L42: do {
+ if ($71) {
+ $$sroa$8$1 = $67;
+ label = 31;
+ } else {
+ $$sroa$8$0 = $67;$74 = $60;$75 = $61;
+ while(1) {
+ $72 = ($$sroa$8$0>>>0)>(99999999);
+ if (!($72)) {
+ $$sroa$8$2 = $$sroa$8$0;$84 = $74;$87 = $75;
+ break L42;
+ }
+ $73 = (($$sroa$8$0) + -100000000)|0;
+ $76 = (_i64Add(($74|0),($75|0),1,0)|0);
+ $77 = tempRet0;
+ $78 = ($76|0)==(-1);
+ $79 = ($77|0)==(-1);
+ $80 = $78 & $79;
+ if ($80) {
+ $$sroa$8$1 = $73;
+ label = 31;
+ break;
+ } else {
+ $$sroa$8$0 = $73;$74 = $76;$75 = $77;
+ }
+ }
+ }
+ } while(0);
+ if ((label|0) == 31) {
+ $81 = ($$sroa$8$1>>>0)>(99999999);
+ if ($81) {
+ ;HEAP32[$$sroa$11>>2]=0|0;HEAP32[$$sroa$11+4>>2]=0|0;HEAP32[$$sroa$11+8>>2]=0|0;
+ break;
+ } else {
+ $$sroa$8$2 = $$sroa$8$1;$84 = -1;$87 = -1;
+ }
+ }
+ $82 = $0;
+ $83 = $82;
+ HEAP32[$83>>2] = $84;
+ $85 = (($82) + 4)|0;
+ $86 = $85;
+ HEAP32[$86>>2] = $87;
+ $$sroa$8$0$$sroa_idx51 = ((($0)) + 8|0);
+ HEAP32[$$sroa$8$0$$sroa_idx51>>2] = $$sroa$8$2;
+ $$sroa$11$0$$sroa_idx = ((($0)) + 12|0);
+ ;HEAP32[$$sroa$11$0$$sroa_idx>>2]=HEAP32[$$sroa$11>>2]|0;HEAP32[$$sroa$11$0$$sroa_idx+4>>2]=HEAP32[$$sroa$11+4>>2]|0;HEAP32[$$sroa$11$0$$sroa_idx+8>>2]=HEAP32[$$sroa$11+8>>2]|0;
+ $$0 = 1;
+ STACKTOP = sp;return ($$0|0);
+ }
+ } while(0);
+ ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0;HEAP32[$0+12>>2]=0|0;HEAP32[$0+16>>2]=0|0;HEAP32[$0+20>>2]=0|0;
+ $$0 = -1;
+ STACKTOP = sp;return ($$0|0);
+ }
+ } while(0);
+ ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0;HEAP32[$0+12>>2]=0|0;HEAP32[$0+16>>2]=0|0;HEAP32[$0+20>>2]=0|0;
+ $$0 = -1;
+ STACKTOP = sp;return ($$0|0);
+ }
+ }
+ }
+ ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0;HEAP32[$0+12>>2]=0|0;HEAP32[$0+16>>2]=0|0;HEAP32[$0+20>>2]=0|0;
+ $$0 = -1;
+ STACKTOP = sp;return ($$0|0);
+}
+function _TALER_gcrypt_init() {
+ var $0 = 0, $1 = 0, $2 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $vararg_buffer1 = sp + 8|0;
+ $vararg_buffer = sp;
+ _gcry_set_fatalerror_handler(88,0);
+ $0 = (_gcry_check_version(70448)|0);
+ $1 = ($0|0)==(0|0);
+ if ($1) {
+ $2 = HEAP32[10138]|0;
+ (_fwrite(70454,27,1,$2)|0);
+ _abort();
+ // unreachable;
+ } else {
+ HEAP32[$vararg_buffer>>2] = 0;
+ (_gcry_control(37,$vararg_buffer)|0);
+ HEAP32[$vararg_buffer1>>2] = 0;
+ (_gcry_control(38,$vararg_buffer1)|0);
+ STACKTOP = sp;return;
+ }
+}
+function _fatal_error_handler_2503($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $3 = 0, $vararg_buffer = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $vararg_buffer = sp;
+ $3 = HEAP32[10138]|0;
+ HEAP32[$vararg_buffer>>2] = $2;
+ (_fprintf($3,70482,$vararg_buffer)|0);
+ _abort();
+ // unreachable;
+}
+function _TALER_setup_fresh_coin($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_ptr1 = 0;
+ var $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr7 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
+ $vararg_buffer4 = sp + 16|0;
+ $vararg_buffer = sp;
+ $3 = sp + 24|0;
+ $4 = (_htonl($1)|0);
+ HEAP32[$3>>2] = $4;
+ HEAP32[$vararg_buffer>>2] = 70559;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 21;
+ $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
+ HEAP32[$vararg_ptr2>>2] = 0;
+ $vararg_ptr3 = ((($vararg_buffer)) + 12|0);
+ HEAP32[$vararg_ptr3>>2] = 0;
+ $5 = (_GNUNET_CRYPTO_kdf($2,64,$3,4,$0,64,$vararg_buffer)|0);
+ $6 = ($5|0)==(1);
+ if ($6) {
+ $14 = HEAP8[$2>>0]|0;
+ $15 = $14 & 63;
+ $16 = $15 | 64;
+ HEAP8[$2>>0] = $16;
+ $17 = ((($2)) + 31|0);
+ $18 = HEAP8[$17>>0]|0;
+ $19 = $18 & -8;
+ HEAP8[$17>>0] = $19;
+ STACKTOP = sp;return;
+ }
+ $7 = HEAP32[10105]|0;
+ $8 = ($7|0)==(-1);
+ if ($8) {
+ $9 = (_GNUNET_get_log_call_status(1,0,70512,70581,197)|0);
+ HEAP32[10105] = $9;
+ }
+ $10 = (_GNUNET_get_log_skip()|0);
+ $11 = ($10|0)>(0);
+ if ($11) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $12 = HEAP32[10105]|0;
+ $13 = ($12|0)==(0);
+ if ($13) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer4>>2] = 70512;
+ $vararg_ptr7 = ((($vararg_buffer4)) + 4|0);
+ HEAP32[$vararg_ptr7>>2] = 197;
+ _GNUNET_log_nocheck(1,70521,$vararg_buffer4);
+ _GNUNET_abort_();
+ // unreachable;
+}
+function _malloc($0) {
+ $0 = $0|0;
+ var $$0 = 0, $$0$i = 0, $$0$i$i = 0, $$0$i$i$i = 0, $$0$i20$i = 0, $$0169$i = 0, $$0170$i = 0, $$0171$i = 0, $$0192 = 0, $$0194 = 0, $$02014$i$i = 0, $$0202$lcssa$i$i = 0, $$02023$i$i = 0, $$0206$i$i = 0, $$0207$i$i = 0, $$024372$i = 0, $$0259$i$i = 0, $$02604$i$i = 0, $$0261$lcssa$i$i = 0, $$02613$i$i = 0;
+ var $$0267$i$i = 0, $$0268$i$i = 0, $$0318$i = 0, $$032012$i = 0, $$0321$lcssa$i = 0, $$032111$i = 0, $$0323$i = 0, $$0329$i = 0, $$0335$i = 0, $$0336$i = 0, $$0338$i = 0, $$0339$i = 0, $$0344$i = 0, $$1174$i = 0, $$1174$i$be = 0, $$1174$i$ph = 0, $$1176$i = 0, $$1176$i$be = 0, $$1176$i$ph = 0, $$124471$i = 0;
+ var $$1263$i$i = 0, $$1263$i$i$be = 0, $$1263$i$i$ph = 0, $$1265$i$i = 0, $$1265$i$i$be = 0, $$1265$i$i$ph = 0, $$1319$i = 0, $$1324$i = 0, $$1340$i = 0, $$1346$i = 0, $$1346$i$be = 0, $$1346$i$ph = 0, $$1350$i = 0, $$1350$i$be = 0, $$1350$i$ph = 0, $$2234243136$i = 0, $$2247$ph$i = 0, $$2253$ph$i = 0, $$2331$i = 0, $$3$i = 0;
+ var $$3$i$i = 0, $$3$i198 = 0, $$3$i198211 = 0, $$3326$i = 0, $$3348$i = 0, $$4$lcssa$i = 0, $$415$i = 0, $$415$i$ph = 0, $$4236$i = 0, $$4327$lcssa$i = 0, $$432714$i = 0, $$432714$i$ph = 0, $$4333$i = 0, $$533413$i = 0, $$533413$i$ph = 0, $$723947$i = 0, $$748$i = 0, $$pre = 0, $$pre$i = 0, $$pre$i$i = 0;
+ var $$pre$i16$i = 0, $$pre$i195 = 0, $$pre$i204 = 0, $$pre$phi$i$iZ2D = 0, $$pre$phi$i17$iZ2D = 0, $$pre$phi$i205Z2D = 0, $$pre$phi$iZ2D = 0, $$pre$phiZ2D = 0, $$sink = 0, $$sink320 = 0, $$sink321 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0;
+ var $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0;
+ var $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0;
+ var $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0;
+ var $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0;
+ var $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0;
+ var $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0;
+ var $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0;
+ var $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0;
+ var $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0;
+ var $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0;
+ var $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0;
+ var $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, $322 = 0;
+ var $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0;
+ var $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0;
+ var $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0;
+ var $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0;
+ var $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0;
+ var $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0;
+ var $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0;
+ var $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0;
+ var $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0;
+ var $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0;
+ var $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0;
+ var $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0;
+ var $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0;
+ var $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0;
+ var $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0;
+ var $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0;
+ var $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0;
+ var $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0;
+ var $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0;
+ var $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0;
+ var $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0;
+ var $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0;
+ var $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0;
+ var $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0;
+ var $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0;
+ var $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0;
+ var $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0;
+ var $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0;
+ var $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0;
+ var $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0;
+ var $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0;
+ var $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0;
+ var $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0;
+ var $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0, $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0;
+ var $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0, $940 = 0, $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0;
+ var $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0, $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $967 = 0, $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0;
+ var $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0, $977 = 0, $978 = 0, $979 = 0, $98 = 0, $99 = 0, $cond$i = 0, $cond$i$i = 0, $cond$i203 = 0, $not$$i = 0, $or$cond$i = 0, $or$cond$i199 = 0, $or$cond1$i = 0, $or$cond1$i197 = 0, $or$cond11$i = 0, $or$cond2$i = 0;
+ var $or$cond5$i = 0, $or$cond50$i = 0, $or$cond51$i = 0, $or$cond6$i = 0, $or$cond7$i = 0, $or$cond8$i = 0, $or$cond8$not$i = 0, $spec$select$i = 0, $spec$select$i201 = 0, $spec$select1$i = 0, $spec$select2$i = 0, $spec$select4$i = 0, $spec$select49$i = 0, $spec$select9$i = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $1 = sp;
+ $2 = ($0>>>0)<(245);
+ do {
+ if ($2) {
+ $3 = ($0>>>0)<(11);
+ $4 = (($0) + 11)|0;
+ $5 = $4 & -8;
+ $6 = $3 ? 16 : $5;
+ $7 = $6 >>> 3;
+ $8 = HEAP32[18178]|0;
+ $9 = $8 >>> $7;
+ $10 = $9 & 3;
+ $11 = ($10|0)==(0);
+ if (!($11)) {
+ $12 = $9 & 1;
+ $13 = $12 ^ 1;
+ $14 = (($13) + ($7))|0;
+ $15 = $14 << 1;
+ $16 = (72752 + ($15<<2)|0);
+ $17 = ((($16)) + 8|0);
+ $18 = HEAP32[$17>>2]|0;
+ $19 = ((($18)) + 8|0);
+ $20 = HEAP32[$19>>2]|0;
+ $21 = ($20|0)==($16|0);
+ if ($21) {
+ $22 = 1 << $14;
+ $23 = $22 ^ -1;
+ $24 = $8 & $23;
+ HEAP32[18178] = $24;
+ } else {
+ $25 = ((($20)) + 12|0);
+ HEAP32[$25>>2] = $16;
+ HEAP32[$17>>2] = $20;
+ }
+ $26 = $14 << 3;
+ $27 = $26 | 3;
+ $28 = ((($18)) + 4|0);
+ HEAP32[$28>>2] = $27;
+ $29 = (($18) + ($26)|0);
+ $30 = ((($29)) + 4|0);
+ $31 = HEAP32[$30>>2]|0;
+ $32 = $31 | 1;
+ HEAP32[$30>>2] = $32;
+ $$0 = $19;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $33 = HEAP32[(72720)>>2]|0;
+ $34 = ($6>>>0)>($33>>>0);
+ if ($34) {
+ $35 = ($9|0)==(0);
+ if (!($35)) {
+ $36 = $9 << $7;
+ $37 = 2 << $7;
+ $38 = (0 - ($37))|0;
+ $39 = $37 | $38;
+ $40 = $36 & $39;
+ $41 = (0 - ($40))|0;
+ $42 = $40 & $41;
+ $43 = (($42) + -1)|0;
+ $44 = $43 >>> 12;
+ $45 = $44 & 16;
+ $46 = $43 >>> $45;
+ $47 = $46 >>> 5;
+ $48 = $47 & 8;
+ $49 = $48 | $45;
+ $50 = $46 >>> $48;
+ $51 = $50 >>> 2;
+ $52 = $51 & 4;
+ $53 = $49 | $52;
+ $54 = $50 >>> $52;
+ $55 = $54 >>> 1;
+ $56 = $55 & 2;
+ $57 = $53 | $56;
+ $58 = $54 >>> $56;
+ $59 = $58 >>> 1;
+ $60 = $59 & 1;
+ $61 = $57 | $60;
+ $62 = $58 >>> $60;
+ $63 = (($61) + ($62))|0;
+ $64 = $63 << 1;
+ $65 = (72752 + ($64<<2)|0);
+ $66 = ((($65)) + 8|0);
+ $67 = HEAP32[$66>>2]|0;
+ $68 = ((($67)) + 8|0);
+ $69 = HEAP32[$68>>2]|0;
+ $70 = ($69|0)==($65|0);
+ if ($70) {
+ $71 = 1 << $63;
+ $72 = $71 ^ -1;
+ $73 = $8 & $72;
+ HEAP32[18178] = $73;
+ $90 = $73;
+ } else {
+ $74 = ((($69)) + 12|0);
+ HEAP32[$74>>2] = $65;
+ HEAP32[$66>>2] = $69;
+ $90 = $8;
+ }
+ $75 = $63 << 3;
+ $76 = (($75) - ($6))|0;
+ $77 = $6 | 3;
+ $78 = ((($67)) + 4|0);
+ HEAP32[$78>>2] = $77;
+ $79 = (($67) + ($6)|0);
+ $80 = $76 | 1;
+ $81 = ((($79)) + 4|0);
+ HEAP32[$81>>2] = $80;
+ $82 = (($67) + ($75)|0);
+ HEAP32[$82>>2] = $76;
+ $83 = ($33|0)==(0);
+ if (!($83)) {
+ $84 = HEAP32[(72732)>>2]|0;
+ $85 = $33 >>> 3;
+ $86 = $85 << 1;
+ $87 = (72752 + ($86<<2)|0);
+ $88 = 1 << $85;
+ $89 = $90 & $88;
+ $91 = ($89|0)==(0);
+ if ($91) {
+ $92 = $90 | $88;
+ HEAP32[18178] = $92;
+ $$pre = ((($87)) + 8|0);
+ $$0194 = $87;$$pre$phiZ2D = $$pre;
+ } else {
+ $93 = ((($87)) + 8|0);
+ $94 = HEAP32[$93>>2]|0;
+ $$0194 = $94;$$pre$phiZ2D = $93;
+ }
+ HEAP32[$$pre$phiZ2D>>2] = $84;
+ $95 = ((($$0194)) + 12|0);
+ HEAP32[$95>>2] = $84;
+ $96 = ((($84)) + 8|0);
+ HEAP32[$96>>2] = $$0194;
+ $97 = ((($84)) + 12|0);
+ HEAP32[$97>>2] = $87;
+ }
+ HEAP32[(72720)>>2] = $76;
+ HEAP32[(72732)>>2] = $79;
+ $$0 = $68;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $98 = HEAP32[(72716)>>2]|0;
+ $99 = ($98|0)==(0);
+ if ($99) {
+ $$0192 = $6;
+ } else {
+ $100 = (0 - ($98))|0;
+ $101 = $98 & $100;
+ $102 = (($101) + -1)|0;
+ $103 = $102 >>> 12;
+ $104 = $103 & 16;
+ $105 = $102 >>> $104;
+ $106 = $105 >>> 5;
+ $107 = $106 & 8;
+ $108 = $107 | $104;
+ $109 = $105 >>> $107;
+ $110 = $109 >>> 2;
+ $111 = $110 & 4;
+ $112 = $108 | $111;
+ $113 = $109 >>> $111;
+ $114 = $113 >>> 1;
+ $115 = $114 & 2;
+ $116 = $112 | $115;
+ $117 = $113 >>> $115;
+ $118 = $117 >>> 1;
+ $119 = $118 & 1;
+ $120 = $116 | $119;
+ $121 = $117 >>> $119;
+ $122 = (($120) + ($121))|0;
+ $123 = (73016 + ($122<<2)|0);
+ $124 = HEAP32[$123>>2]|0;
+ $125 = ((($124)) + 4|0);
+ $126 = HEAP32[$125>>2]|0;
+ $127 = $126 & -8;
+ $128 = (($127) - ($6))|0;
+ $$0169$i = $124;$$0170$i = $124;$$0171$i = $128;
+ while(1) {
+ $129 = ((($$0169$i)) + 16|0);
+ $130 = HEAP32[$129>>2]|0;
+ $131 = ($130|0)==(0|0);
+ if ($131) {
+ $132 = ((($$0169$i)) + 20|0);
+ $133 = HEAP32[$132>>2]|0;
+ $134 = ($133|0)==(0|0);
+ if ($134) {
+ break;
+ } else {
+ $136 = $133;
+ }
+ } else {
+ $136 = $130;
+ }
+ $135 = ((($136)) + 4|0);
+ $137 = HEAP32[$135>>2]|0;
+ $138 = $137 & -8;
+ $139 = (($138) - ($6))|0;
+ $140 = ($139>>>0)<($$0171$i>>>0);
+ $spec$select$i = $140 ? $139 : $$0171$i;
+ $spec$select1$i = $140 ? $136 : $$0170$i;
+ $$0169$i = $136;$$0170$i = $spec$select1$i;$$0171$i = $spec$select$i;
+ }
+ $141 = (($$0170$i) + ($6)|0);
+ $142 = ($141>>>0)>($$0170$i>>>0);
+ if ($142) {
+ $143 = ((($$0170$i)) + 24|0);
+ $144 = HEAP32[$143>>2]|0;
+ $145 = ((($$0170$i)) + 12|0);
+ $146 = HEAP32[$145>>2]|0;
+ $147 = ($146|0)==($$0170$i|0);
+ do {
+ if ($147) {
+ $152 = ((($$0170$i)) + 20|0);
+ $153 = HEAP32[$152>>2]|0;
+ $154 = ($153|0)==(0|0);
+ if ($154) {
+ $155 = ((($$0170$i)) + 16|0);
+ $156 = HEAP32[$155>>2]|0;
+ $157 = ($156|0)==(0|0);
+ if ($157) {
+ $$3$i = 0;
+ break;
+ } else {
+ $$1174$i$ph = $156;$$1176$i$ph = $155;
+ }
+ } else {
+ $$1174$i$ph = $153;$$1176$i$ph = $152;
+ }
+ $$1174$i = $$1174$i$ph;$$1176$i = $$1176$i$ph;
+ while(1) {
+ $158 = ((($$1174$i)) + 20|0);
+ $159 = HEAP32[$158>>2]|0;
+ $160 = ($159|0)==(0|0);
+ if ($160) {
+ $161 = ((($$1174$i)) + 16|0);
+ $162 = HEAP32[$161>>2]|0;
+ $163 = ($162|0)==(0|0);
+ if ($163) {
+ break;
+ } else {
+ $$1174$i$be = $162;$$1176$i$be = $161;
+ }
+ } else {
+ $$1174$i$be = $159;$$1176$i$be = $158;
+ }
+ $$1174$i = $$1174$i$be;$$1176$i = $$1176$i$be;
+ }
+ HEAP32[$$1176$i>>2] = 0;
+ $$3$i = $$1174$i;
+ } else {
+ $148 = ((($$0170$i)) + 8|0);
+ $149 = HEAP32[$148>>2]|0;
+ $150 = ((($149)) + 12|0);
+ HEAP32[$150>>2] = $146;
+ $151 = ((($146)) + 8|0);
+ HEAP32[$151>>2] = $149;
+ $$3$i = $146;
+ }
+ } while(0);
+ $164 = ($144|0)==(0|0);
+ do {
+ if (!($164)) {
+ $165 = ((($$0170$i)) + 28|0);
+ $166 = HEAP32[$165>>2]|0;
+ $167 = (73016 + ($166<<2)|0);
+ $168 = HEAP32[$167>>2]|0;
+ $169 = ($$0170$i|0)==($168|0);
+ if ($169) {
+ HEAP32[$167>>2] = $$3$i;
+ $cond$i = ($$3$i|0)==(0|0);
+ if ($cond$i) {
+ $170 = 1 << $166;
+ $171 = $170 ^ -1;
+ $172 = $98 & $171;
+ HEAP32[(72716)>>2] = $172;
+ break;
+ }
+ } else {
+ $173 = ((($144)) + 16|0);
+ $174 = HEAP32[$173>>2]|0;
+ $175 = ($174|0)==($$0170$i|0);
+ $176 = ((($144)) + 20|0);
+ $$sink = $175 ? $173 : $176;
+ HEAP32[$$sink>>2] = $$3$i;
+ $177 = ($$3$i|0)==(0|0);
+ if ($177) {
+ break;
+ }
+ }
+ $178 = ((($$3$i)) + 24|0);
+ HEAP32[$178>>2] = $144;
+ $179 = ((($$0170$i)) + 16|0);
+ $180 = HEAP32[$179>>2]|0;
+ $181 = ($180|0)==(0|0);
+ if (!($181)) {
+ $182 = ((($$3$i)) + 16|0);
+ HEAP32[$182>>2] = $180;
+ $183 = ((($180)) + 24|0);
+ HEAP32[$183>>2] = $$3$i;
+ }
+ $184 = ((($$0170$i)) + 20|0);
+ $185 = HEAP32[$184>>2]|0;
+ $186 = ($185|0)==(0|0);
+ if (!($186)) {
+ $187 = ((($$3$i)) + 20|0);
+ HEAP32[$187>>2] = $185;
+ $188 = ((($185)) + 24|0);
+ HEAP32[$188>>2] = $$3$i;
+ }
+ }
+ } while(0);
+ $189 = ($$0171$i>>>0)<(16);
+ if ($189) {
+ $190 = (($$0171$i) + ($6))|0;
+ $191 = $190 | 3;
+ $192 = ((($$0170$i)) + 4|0);
+ HEAP32[$192>>2] = $191;
+ $193 = (($$0170$i) + ($190)|0);
+ $194 = ((($193)) + 4|0);
+ $195 = HEAP32[$194>>2]|0;
+ $196 = $195 | 1;
+ HEAP32[$194>>2] = $196;
+ } else {
+ $197 = $6 | 3;
+ $198 = ((($$0170$i)) + 4|0);
+ HEAP32[$198>>2] = $197;
+ $199 = $$0171$i | 1;
+ $200 = ((($141)) + 4|0);
+ HEAP32[$200>>2] = $199;
+ $201 = (($141) + ($$0171$i)|0);
+ HEAP32[$201>>2] = $$0171$i;
+ $202 = ($33|0)==(0);
+ if (!($202)) {
+ $203 = HEAP32[(72732)>>2]|0;
+ $204 = $33 >>> 3;
+ $205 = $204 << 1;
+ $206 = (72752 + ($205<<2)|0);
+ $207 = 1 << $204;
+ $208 = $207 & $8;
+ $209 = ($208|0)==(0);
+ if ($209) {
+ $210 = $207 | $8;
+ HEAP32[18178] = $210;
+ $$pre$i = ((($206)) + 8|0);
+ $$0$i = $206;$$pre$phi$iZ2D = $$pre$i;
+ } else {
+ $211 = ((($206)) + 8|0);
+ $212 = HEAP32[$211>>2]|0;
+ $$0$i = $212;$$pre$phi$iZ2D = $211;
+ }
+ HEAP32[$$pre$phi$iZ2D>>2] = $203;
+ $213 = ((($$0$i)) + 12|0);
+ HEAP32[$213>>2] = $203;
+ $214 = ((($203)) + 8|0);
+ HEAP32[$214>>2] = $$0$i;
+ $215 = ((($203)) + 12|0);
+ HEAP32[$215>>2] = $206;
+ }
+ HEAP32[(72720)>>2] = $$0171$i;
+ HEAP32[(72732)>>2] = $141;
+ }
+ $216 = ((($$0170$i)) + 8|0);
+ $$0 = $216;
+ STACKTOP = sp;return ($$0|0);
+ } else {
+ $$0192 = $6;
+ }
+ }
+ } else {
+ $$0192 = $6;
+ }
+ } else {
+ $217 = ($0>>>0)>(4294967231);
+ if ($217) {
+ $$0192 = -1;
+ } else {
+ $218 = (($0) + 11)|0;
+ $219 = $218 & -8;
+ $220 = HEAP32[(72716)>>2]|0;
+ $221 = ($220|0)==(0);
+ if ($221) {
+ $$0192 = $219;
+ } else {
+ $222 = (0 - ($219))|0;
+ $223 = $218 >>> 8;
+ $224 = ($223|0)==(0);
+ if ($224) {
+ $$0335$i = 0;
+ } else {
+ $225 = ($219>>>0)>(16777215);
+ if ($225) {
+ $$0335$i = 31;
+ } else {
+ $226 = (($223) + 1048320)|0;
+ $227 = $226 >>> 16;
+ $228 = $227 & 8;
+ $229 = $223 << $228;
+ $230 = (($229) + 520192)|0;
+ $231 = $230 >>> 16;
+ $232 = $231 & 4;
+ $233 = $232 | $228;
+ $234 = $229 << $232;
+ $235 = (($234) + 245760)|0;
+ $236 = $235 >>> 16;
+ $237 = $236 & 2;
+ $238 = $233 | $237;
+ $239 = (14 - ($238))|0;
+ $240 = $234 << $237;
+ $241 = $240 >>> 15;
+ $242 = (($239) + ($241))|0;
+ $243 = $242 << 1;
+ $244 = (($242) + 7)|0;
+ $245 = $219 >>> $244;
+ $246 = $245 & 1;
+ $247 = $246 | $243;
+ $$0335$i = $247;
+ }
+ }
+ $248 = (73016 + ($$0335$i<<2)|0);
+ $249 = HEAP32[$248>>2]|0;
+ $250 = ($249|0)==(0|0);
+ L79: do {
+ if ($250) {
+ $$2331$i = 0;$$3$i198 = 0;$$3326$i = $222;
+ label = 61;
+ } else {
+ $251 = ($$0335$i|0)==(31);
+ $252 = $$0335$i >>> 1;
+ $253 = (25 - ($252))|0;
+ $254 = $251 ? 0 : $253;
+ $255 = $219 << $254;
+ $$0318$i = 0;$$0323$i = $222;$$0329$i = $249;$$0336$i = $255;$$0339$i = 0;
+ while(1) {
+ $256 = ((($$0329$i)) + 4|0);
+ $257 = HEAP32[$256>>2]|0;
+ $258 = $257 & -8;
+ $259 = (($258) - ($219))|0;
+ $260 = ($259>>>0)<($$0323$i>>>0);
+ if ($260) {
+ $261 = ($259|0)==(0);
+ if ($261) {
+ $$415$i$ph = $$0329$i;$$432714$i$ph = 0;$$533413$i$ph = $$0329$i;
+ label = 65;
+ break L79;
+ } else {
+ $$1319$i = $$0329$i;$$1324$i = $259;
+ }
+ } else {
+ $$1319$i = $$0318$i;$$1324$i = $$0323$i;
+ }
+ $262 = ((($$0329$i)) + 20|0);
+ $263 = HEAP32[$262>>2]|0;
+ $264 = $$0336$i >>> 31;
+ $265 = (((($$0329$i)) + 16|0) + ($264<<2)|0);
+ $266 = HEAP32[$265>>2]|0;
+ $267 = ($263|0)==(0|0);
+ $268 = ($263|0)==($266|0);
+ $or$cond1$i197 = $267 | $268;
+ $$1340$i = $or$cond1$i197 ? $$0339$i : $263;
+ $269 = ($266|0)==(0|0);
+ $spec$select4$i = $$0336$i << 1;
+ if ($269) {
+ $$2331$i = $$1340$i;$$3$i198 = $$1319$i;$$3326$i = $$1324$i;
+ label = 61;
+ break;
+ } else {
+ $$0318$i = $$1319$i;$$0323$i = $$1324$i;$$0329$i = $266;$$0336$i = $spec$select4$i;$$0339$i = $$1340$i;
+ }
+ }
+ }
+ } while(0);
+ if ((label|0) == 61) {
+ $270 = ($$2331$i|0)==(0|0);
+ $271 = ($$3$i198|0)==(0|0);
+ $or$cond$i199 = $270 & $271;
+ if ($or$cond$i199) {
+ $272 = 2 << $$0335$i;
+ $273 = (0 - ($272))|0;
+ $274 = $272 | $273;
+ $275 = $274 & $220;
+ $276 = ($275|0)==(0);
+ if ($276) {
+ $$0192 = $219;
+ break;
+ }
+ $277 = (0 - ($275))|0;
+ $278 = $275 & $277;
+ $279 = (($278) + -1)|0;
+ $280 = $279 >>> 12;
+ $281 = $280 & 16;
+ $282 = $279 >>> $281;
+ $283 = $282 >>> 5;
+ $284 = $283 & 8;
+ $285 = $284 | $281;
+ $286 = $282 >>> $284;
+ $287 = $286 >>> 2;
+ $288 = $287 & 4;
+ $289 = $285 | $288;
+ $290 = $286 >>> $288;
+ $291 = $290 >>> 1;
+ $292 = $291 & 2;
+ $293 = $289 | $292;
+ $294 = $290 >>> $292;
+ $295 = $294 >>> 1;
+ $296 = $295 & 1;
+ $297 = $293 | $296;
+ $298 = $294 >>> $296;
+ $299 = (($297) + ($298))|0;
+ $300 = (73016 + ($299<<2)|0);
+ $301 = HEAP32[$300>>2]|0;
+ $$3$i198211 = 0;$$4333$i = $301;
+ } else {
+ $$3$i198211 = $$3$i198;$$4333$i = $$2331$i;
+ }
+ $302 = ($$4333$i|0)==(0|0);
+ if ($302) {
+ $$4$lcssa$i = $$3$i198211;$$4327$lcssa$i = $$3326$i;
+ } else {
+ $$415$i$ph = $$3$i198211;$$432714$i$ph = $$3326$i;$$533413$i$ph = $$4333$i;
+ label = 65;
+ }
+ }
+ if ((label|0) == 65) {
+ $$415$i = $$415$i$ph;$$432714$i = $$432714$i$ph;$$533413$i = $$533413$i$ph;
+ while(1) {
+ $303 = ((($$533413$i)) + 4|0);
+ $304 = HEAP32[$303>>2]|0;
+ $305 = $304 & -8;
+ $306 = (($305) - ($219))|0;
+ $307 = ($306>>>0)<($$432714$i>>>0);
+ $spec$select$i201 = $307 ? $306 : $$432714$i;
+ $spec$select2$i = $307 ? $$533413$i : $$415$i;
+ $308 = ((($$533413$i)) + 16|0);
+ $309 = HEAP32[$308>>2]|0;
+ $310 = ($309|0)==(0|0);
+ if ($310) {
+ $311 = ((($$533413$i)) + 20|0);
+ $312 = HEAP32[$311>>2]|0;
+ $314 = $312;
+ } else {
+ $314 = $309;
+ }
+ $313 = ($314|0)==(0|0);
+ if ($313) {
+ $$4$lcssa$i = $spec$select2$i;$$4327$lcssa$i = $spec$select$i201;
+ break;
+ } else {
+ $$415$i = $spec$select2$i;$$432714$i = $spec$select$i201;$$533413$i = $314;
+ }
+ }
+ }
+ $315 = ($$4$lcssa$i|0)==(0|0);
+ if ($315) {
+ $$0192 = $219;
+ } else {
+ $316 = HEAP32[(72720)>>2]|0;
+ $317 = (($316) - ($219))|0;
+ $318 = ($$4327$lcssa$i>>>0)<($317>>>0);
+ if ($318) {
+ $319 = (($$4$lcssa$i) + ($219)|0);
+ $320 = ($319>>>0)>($$4$lcssa$i>>>0);
+ if ($320) {
+ $321 = ((($$4$lcssa$i)) + 24|0);
+ $322 = HEAP32[$321>>2]|0;
+ $323 = ((($$4$lcssa$i)) + 12|0);
+ $324 = HEAP32[$323>>2]|0;
+ $325 = ($324|0)==($$4$lcssa$i|0);
+ do {
+ if ($325) {
+ $330 = ((($$4$lcssa$i)) + 20|0);
+ $331 = HEAP32[$330>>2]|0;
+ $332 = ($331|0)==(0|0);
+ if ($332) {
+ $333 = ((($$4$lcssa$i)) + 16|0);
+ $334 = HEAP32[$333>>2]|0;
+ $335 = ($334|0)==(0|0);
+ if ($335) {
+ $$3348$i = 0;
+ break;
+ } else {
+ $$1346$i$ph = $334;$$1350$i$ph = $333;
+ }
+ } else {
+ $$1346$i$ph = $331;$$1350$i$ph = $330;
+ }
+ $$1346$i = $$1346$i$ph;$$1350$i = $$1350$i$ph;
+ while(1) {
+ $336 = ((($$1346$i)) + 20|0);
+ $337 = HEAP32[$336>>2]|0;
+ $338 = ($337|0)==(0|0);
+ if ($338) {
+ $339 = ((($$1346$i)) + 16|0);
+ $340 = HEAP32[$339>>2]|0;
+ $341 = ($340|0)==(0|0);
+ if ($341) {
+ break;
+ } else {
+ $$1346$i$be = $340;$$1350$i$be = $339;
+ }
+ } else {
+ $$1346$i$be = $337;$$1350$i$be = $336;
+ }
+ $$1346$i = $$1346$i$be;$$1350$i = $$1350$i$be;
+ }
+ HEAP32[$$1350$i>>2] = 0;
+ $$3348$i = $$1346$i;
+ } else {
+ $326 = ((($$4$lcssa$i)) + 8|0);
+ $327 = HEAP32[$326>>2]|0;
+ $328 = ((($327)) + 12|0);
+ HEAP32[$328>>2] = $324;
+ $329 = ((($324)) + 8|0);
+ HEAP32[$329>>2] = $327;
+ $$3348$i = $324;
+ }
+ } while(0);
+ $342 = ($322|0)==(0|0);
+ do {
+ if ($342) {
+ $425 = $220;
+ } else {
+ $343 = ((($$4$lcssa$i)) + 28|0);
+ $344 = HEAP32[$343>>2]|0;
+ $345 = (73016 + ($344<<2)|0);
+ $346 = HEAP32[$345>>2]|0;
+ $347 = ($$4$lcssa$i|0)==($346|0);
+ if ($347) {
+ HEAP32[$345>>2] = $$3348$i;
+ $cond$i203 = ($$3348$i|0)==(0|0);
+ if ($cond$i203) {
+ $348 = 1 << $344;
+ $349 = $348 ^ -1;
+ $350 = $220 & $349;
+ HEAP32[(72716)>>2] = $350;
+ $425 = $350;
+ break;
+ }
+ } else {
+ $351 = ((($322)) + 16|0);
+ $352 = HEAP32[$351>>2]|0;
+ $353 = ($352|0)==($$4$lcssa$i|0);
+ $354 = ((($322)) + 20|0);
+ $$sink320 = $353 ? $351 : $354;
+ HEAP32[$$sink320>>2] = $$3348$i;
+ $355 = ($$3348$i|0)==(0|0);
+ if ($355) {
+ $425 = $220;
+ break;
+ }
+ }
+ $356 = ((($$3348$i)) + 24|0);
+ HEAP32[$356>>2] = $322;
+ $357 = ((($$4$lcssa$i)) + 16|0);
+ $358 = HEAP32[$357>>2]|0;
+ $359 = ($358|0)==(0|0);
+ if (!($359)) {
+ $360 = ((($$3348$i)) + 16|0);
+ HEAP32[$360>>2] = $358;
+ $361 = ((($358)) + 24|0);
+ HEAP32[$361>>2] = $$3348$i;
+ }
+ $362 = ((($$4$lcssa$i)) + 20|0);
+ $363 = HEAP32[$362>>2]|0;
+ $364 = ($363|0)==(0|0);
+ if ($364) {
+ $425 = $220;
+ } else {
+ $365 = ((($$3348$i)) + 20|0);
+ HEAP32[$365>>2] = $363;
+ $366 = ((($363)) + 24|0);
+ HEAP32[$366>>2] = $$3348$i;
+ $425 = $220;
+ }
+ }
+ } while(0);
+ $367 = ($$4327$lcssa$i>>>0)<(16);
+ L128: do {
+ if ($367) {
+ $368 = (($$4327$lcssa$i) + ($219))|0;
+ $369 = $368 | 3;
+ $370 = ((($$4$lcssa$i)) + 4|0);
+ HEAP32[$370>>2] = $369;
+ $371 = (($$4$lcssa$i) + ($368)|0);
+ $372 = ((($371)) + 4|0);
+ $373 = HEAP32[$372>>2]|0;
+ $374 = $373 | 1;
+ HEAP32[$372>>2] = $374;
+ } else {
+ $375 = $219 | 3;
+ $376 = ((($$4$lcssa$i)) + 4|0);
+ HEAP32[$376>>2] = $375;
+ $377 = $$4327$lcssa$i | 1;
+ $378 = ((($319)) + 4|0);
+ HEAP32[$378>>2] = $377;
+ $379 = (($319) + ($$4327$lcssa$i)|0);
+ HEAP32[$379>>2] = $$4327$lcssa$i;
+ $380 = $$4327$lcssa$i >>> 3;
+ $381 = ($$4327$lcssa$i>>>0)<(256);
+ if ($381) {
+ $382 = $380 << 1;
+ $383 = (72752 + ($382<<2)|0);
+ $384 = HEAP32[18178]|0;
+ $385 = 1 << $380;
+ $386 = $384 & $385;
+ $387 = ($386|0)==(0);
+ if ($387) {
+ $388 = $384 | $385;
+ HEAP32[18178] = $388;
+ $$pre$i204 = ((($383)) + 8|0);
+ $$0344$i = $383;$$pre$phi$i205Z2D = $$pre$i204;
+ } else {
+ $389 = ((($383)) + 8|0);
+ $390 = HEAP32[$389>>2]|0;
+ $$0344$i = $390;$$pre$phi$i205Z2D = $389;
+ }
+ HEAP32[$$pre$phi$i205Z2D>>2] = $319;
+ $391 = ((($$0344$i)) + 12|0);
+ HEAP32[$391>>2] = $319;
+ $392 = ((($319)) + 8|0);
+ HEAP32[$392>>2] = $$0344$i;
+ $393 = ((($319)) + 12|0);
+ HEAP32[$393>>2] = $383;
+ break;
+ }
+ $394 = $$4327$lcssa$i >>> 8;
+ $395 = ($394|0)==(0);
+ if ($395) {
+ $$0338$i = 0;
+ } else {
+ $396 = ($$4327$lcssa$i>>>0)>(16777215);
+ if ($396) {
+ $$0338$i = 31;
+ } else {
+ $397 = (($394) + 1048320)|0;
+ $398 = $397 >>> 16;
+ $399 = $398 & 8;
+ $400 = $394 << $399;
+ $401 = (($400) + 520192)|0;
+ $402 = $401 >>> 16;
+ $403 = $402 & 4;
+ $404 = $403 | $399;
+ $405 = $400 << $403;
+ $406 = (($405) + 245760)|0;
+ $407 = $406 >>> 16;
+ $408 = $407 & 2;
+ $409 = $404 | $408;
+ $410 = (14 - ($409))|0;
+ $411 = $405 << $408;
+ $412 = $411 >>> 15;
+ $413 = (($410) + ($412))|0;
+ $414 = $413 << 1;
+ $415 = (($413) + 7)|0;
+ $416 = $$4327$lcssa$i >>> $415;
+ $417 = $416 & 1;
+ $418 = $417 | $414;
+ $$0338$i = $418;
+ }
+ }
+ $419 = (73016 + ($$0338$i<<2)|0);
+ $420 = ((($319)) + 28|0);
+ HEAP32[$420>>2] = $$0338$i;
+ $421 = ((($319)) + 16|0);
+ $422 = ((($421)) + 4|0);
+ HEAP32[$422>>2] = 0;
+ HEAP32[$421>>2] = 0;
+ $423 = 1 << $$0338$i;
+ $424 = $425 & $423;
+ $426 = ($424|0)==(0);
+ if ($426) {
+ $427 = $425 | $423;
+ HEAP32[(72716)>>2] = $427;
+ HEAP32[$419>>2] = $319;
+ $428 = ((($319)) + 24|0);
+ HEAP32[$428>>2] = $419;
+ $429 = ((($319)) + 12|0);
+ HEAP32[$429>>2] = $319;
+ $430 = ((($319)) + 8|0);
+ HEAP32[$430>>2] = $319;
+ break;
+ }
+ $431 = HEAP32[$419>>2]|0;
+ $432 = ((($431)) + 4|0);
+ $433 = HEAP32[$432>>2]|0;
+ $434 = $433 & -8;
+ $435 = ($434|0)==($$4327$lcssa$i|0);
+ L145: do {
+ if ($435) {
+ $$0321$lcssa$i = $431;
+ } else {
+ $436 = ($$0338$i|0)==(31);
+ $437 = $$0338$i >>> 1;
+ $438 = (25 - ($437))|0;
+ $439 = $436 ? 0 : $438;
+ $440 = $$4327$lcssa$i << $439;
+ $$032012$i = $440;$$032111$i = $431;
+ while(1) {
+ $447 = $$032012$i >>> 31;
+ $448 = (((($$032111$i)) + 16|0) + ($447<<2)|0);
+ $443 = HEAP32[$448>>2]|0;
+ $449 = ($443|0)==(0|0);
+ if ($449) {
+ break;
+ }
+ $441 = $$032012$i << 1;
+ $442 = ((($443)) + 4|0);
+ $444 = HEAP32[$442>>2]|0;
+ $445 = $444 & -8;
+ $446 = ($445|0)==($$4327$lcssa$i|0);
+ if ($446) {
+ $$0321$lcssa$i = $443;
+ break L145;
+ } else {
+ $$032012$i = $441;$$032111$i = $443;
+ }
+ }
+ HEAP32[$448>>2] = $319;
+ $450 = ((($319)) + 24|0);
+ HEAP32[$450>>2] = $$032111$i;
+ $451 = ((($319)) + 12|0);
+ HEAP32[$451>>2] = $319;
+ $452 = ((($319)) + 8|0);
+ HEAP32[$452>>2] = $319;
+ break L128;
+ }
+ } while(0);
+ $453 = ((($$0321$lcssa$i)) + 8|0);
+ $454 = HEAP32[$453>>2]|0;
+ $455 = ((($454)) + 12|0);
+ HEAP32[$455>>2] = $319;
+ HEAP32[$453>>2] = $319;
+ $456 = ((($319)) + 8|0);
+ HEAP32[$456>>2] = $454;
+ $457 = ((($319)) + 12|0);
+ HEAP32[$457>>2] = $$0321$lcssa$i;
+ $458 = ((($319)) + 24|0);
+ HEAP32[$458>>2] = 0;
+ }
+ } while(0);
+ $459 = ((($$4$lcssa$i)) + 8|0);
+ $$0 = $459;
+ STACKTOP = sp;return ($$0|0);
+ } else {
+ $$0192 = $219;
+ }
+ } else {
+ $$0192 = $219;
+ }
+ }
+ }
+ }
+ }
+ } while(0);
+ $460 = HEAP32[(72720)>>2]|0;
+ $461 = ($460>>>0)<($$0192>>>0);
+ if (!($461)) {
+ $462 = (($460) - ($$0192))|0;
+ $463 = HEAP32[(72732)>>2]|0;
+ $464 = ($462>>>0)>(15);
+ if ($464) {
+ $465 = (($463) + ($$0192)|0);
+ HEAP32[(72732)>>2] = $465;
+ HEAP32[(72720)>>2] = $462;
+ $466 = $462 | 1;
+ $467 = ((($465)) + 4|0);
+ HEAP32[$467>>2] = $466;
+ $468 = (($463) + ($460)|0);
+ HEAP32[$468>>2] = $462;
+ $469 = $$0192 | 3;
+ $470 = ((($463)) + 4|0);
+ HEAP32[$470>>2] = $469;
+ } else {
+ HEAP32[(72720)>>2] = 0;
+ HEAP32[(72732)>>2] = 0;
+ $471 = $460 | 3;
+ $472 = ((($463)) + 4|0);
+ HEAP32[$472>>2] = $471;
+ $473 = (($463) + ($460)|0);
+ $474 = ((($473)) + 4|0);
+ $475 = HEAP32[$474>>2]|0;
+ $476 = $475 | 1;
+ HEAP32[$474>>2] = $476;
+ }
+ $477 = ((($463)) + 8|0);
+ $$0 = $477;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $478 = HEAP32[(72724)>>2]|0;
+ $479 = ($478>>>0)>($$0192>>>0);
+ if ($479) {
+ $480 = (($478) - ($$0192))|0;
+ HEAP32[(72724)>>2] = $480;
+ $481 = HEAP32[(72736)>>2]|0;
+ $482 = (($481) + ($$0192)|0);
+ HEAP32[(72736)>>2] = $482;
+ $483 = $480 | 1;
+ $484 = ((($482)) + 4|0);
+ HEAP32[$484>>2] = $483;
+ $485 = $$0192 | 3;
+ $486 = ((($481)) + 4|0);
+ HEAP32[$486>>2] = $485;
+ $487 = ((($481)) + 8|0);
+ $$0 = $487;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $488 = HEAP32[18296]|0;
+ $489 = ($488|0)==(0);
+ if ($489) {
+ HEAP32[(73192)>>2] = 4096;
+ HEAP32[(73188)>>2] = 4096;
+ HEAP32[(73196)>>2] = -1;
+ HEAP32[(73200)>>2] = -1;
+ HEAP32[(73204)>>2] = 0;
+ HEAP32[(73156)>>2] = 0;
+ $490 = $1;
+ $491 = $490 & -16;
+ $492 = $491 ^ 1431655768;
+ HEAP32[18296] = $492;
+ $496 = 4096;
+ } else {
+ $$pre$i195 = HEAP32[(73192)>>2]|0;
+ $496 = $$pre$i195;
+ }
+ $493 = (($$0192) + 48)|0;
+ $494 = (($$0192) + 47)|0;
+ $495 = (($496) + ($494))|0;
+ $497 = (0 - ($496))|0;
+ $498 = $495 & $497;
+ $499 = ($498>>>0)>($$0192>>>0);
+ if (!($499)) {
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+ }
+ $500 = HEAP32[(73152)>>2]|0;
+ $501 = ($500|0)==(0);
+ if (!($501)) {
+ $502 = HEAP32[(73144)>>2]|0;
+ $503 = (($502) + ($498))|0;
+ $504 = ($503>>>0)<=($502>>>0);
+ $505 = ($503>>>0)>($500>>>0);
+ $or$cond1$i = $504 | $505;
+ if ($or$cond1$i) {
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+ }
+ }
+ $506 = HEAP32[(73156)>>2]|0;
+ $507 = $506 & 4;
+ $508 = ($507|0)==(0);
+ L178: do {
+ if ($508) {
+ $509 = HEAP32[(72736)>>2]|0;
+ $510 = ($509|0)==(0|0);
+ L180: do {
+ if ($510) {
+ label = 128;
+ } else {
+ $$0$i20$i = (73160);
+ while(1) {
+ $511 = HEAP32[$$0$i20$i>>2]|0;
+ $512 = ($511>>>0)>($509>>>0);
+ if (!($512)) {
+ $513 = ((($$0$i20$i)) + 4|0);
+ $514 = HEAP32[$513>>2]|0;
+ $515 = (($511) + ($514)|0);
+ $516 = ($515>>>0)>($509>>>0);
+ if ($516) {
+ break;
+ }
+ }
+ $517 = ((($$0$i20$i)) + 8|0);
+ $518 = HEAP32[$517>>2]|0;
+ $519 = ($518|0)==(0|0);
+ if ($519) {
+ label = 128;
+ break L180;
+ } else {
+ $$0$i20$i = $518;
+ }
+ }
+ $542 = (($495) - ($478))|0;
+ $543 = $542 & $497;
+ $544 = ($543>>>0)<(2147483647);
+ if ($544) {
+ $545 = ((($$0$i20$i)) + 4|0);
+ $546 = (_sbrk(($543|0))|0);
+ $547 = HEAP32[$$0$i20$i>>2]|0;
+ $548 = HEAP32[$545>>2]|0;
+ $549 = (($547) + ($548)|0);
+ $550 = ($546|0)==($549|0);
+ if ($550) {
+ $551 = ($546|0)==((-1)|0);
+ if ($551) {
+ $$2234243136$i = $543;
+ } else {
+ $$723947$i = $543;$$748$i = $546;
+ label = 145;
+ break L178;
+ }
+ } else {
+ $$2247$ph$i = $546;$$2253$ph$i = $543;
+ label = 136;
+ }
+ } else {
+ $$2234243136$i = 0;
+ }
+ }
+ } while(0);
+ do {
+ if ((label|0) == 128) {
+ $520 = (_sbrk(0)|0);
+ $521 = ($520|0)==((-1)|0);
+ if ($521) {
+ $$2234243136$i = 0;
+ } else {
+ $522 = $520;
+ $523 = HEAP32[(73188)>>2]|0;
+ $524 = (($523) + -1)|0;
+ $525 = $524 & $522;
+ $526 = ($525|0)==(0);
+ $527 = (($524) + ($522))|0;
+ $528 = (0 - ($523))|0;
+ $529 = $527 & $528;
+ $530 = (($529) - ($522))|0;
+ $531 = $526 ? 0 : $530;
+ $spec$select49$i = (($531) + ($498))|0;
+ $532 = HEAP32[(73144)>>2]|0;
+ $533 = (($spec$select49$i) + ($532))|0;
+ $534 = ($spec$select49$i>>>0)>($$0192>>>0);
+ $535 = ($spec$select49$i>>>0)<(2147483647);
+ $or$cond$i = $534 & $535;
+ if ($or$cond$i) {
+ $536 = HEAP32[(73152)>>2]|0;
+ $537 = ($536|0)==(0);
+ if (!($537)) {
+ $538 = ($533>>>0)<=($532>>>0);
+ $539 = ($533>>>0)>($536>>>0);
+ $or$cond2$i = $538 | $539;
+ if ($or$cond2$i) {
+ $$2234243136$i = 0;
+ break;
+ }
+ }
+ $540 = (_sbrk(($spec$select49$i|0))|0);
+ $541 = ($540|0)==($520|0);
+ if ($541) {
+ $$723947$i = $spec$select49$i;$$748$i = $520;
+ label = 145;
+ break L178;
+ } else {
+ $$2247$ph$i = $540;$$2253$ph$i = $spec$select49$i;
+ label = 136;
+ }
+ } else {
+ $$2234243136$i = 0;
+ }
+ }
+ }
+ } while(0);
+ do {
+ if ((label|0) == 136) {
+ $552 = (0 - ($$2253$ph$i))|0;
+ $553 = ($$2247$ph$i|0)!=((-1)|0);
+ $554 = ($$2253$ph$i>>>0)<(2147483647);
+ $or$cond7$i = $554 & $553;
+ $555 = ($493>>>0)>($$2253$ph$i>>>0);
+ $or$cond6$i = $555 & $or$cond7$i;
+ if (!($or$cond6$i)) {
+ $565 = ($$2247$ph$i|0)==((-1)|0);
+ if ($565) {
+ $$2234243136$i = 0;
+ break;
+ } else {
+ $$723947$i = $$2253$ph$i;$$748$i = $$2247$ph$i;
+ label = 145;
+ break L178;
+ }
+ }
+ $556 = HEAP32[(73192)>>2]|0;
+ $557 = (($494) - ($$2253$ph$i))|0;
+ $558 = (($557) + ($556))|0;
+ $559 = (0 - ($556))|0;
+ $560 = $558 & $559;
+ $561 = ($560>>>0)<(2147483647);
+ if (!($561)) {
+ $$723947$i = $$2253$ph$i;$$748$i = $$2247$ph$i;
+ label = 145;
+ break L178;
+ }
+ $562 = (_sbrk(($560|0))|0);
+ $563 = ($562|0)==((-1)|0);
+ if ($563) {
+ (_sbrk(($552|0))|0);
+ $$2234243136$i = 0;
+ break;
+ } else {
+ $564 = (($560) + ($$2253$ph$i))|0;
+ $$723947$i = $564;$$748$i = $$2247$ph$i;
+ label = 145;
+ break L178;
+ }
+ }
+ } while(0);
+ $566 = HEAP32[(73156)>>2]|0;
+ $567 = $566 | 4;
+ HEAP32[(73156)>>2] = $567;
+ $$4236$i = $$2234243136$i;
+ label = 143;
+ } else {
+ $$4236$i = 0;
+ label = 143;
+ }
+ } while(0);
+ if ((label|0) == 143) {
+ $568 = ($498>>>0)<(2147483647);
+ if ($568) {
+ $569 = (_sbrk(($498|0))|0);
+ $570 = (_sbrk(0)|0);
+ $571 = ($569|0)!=((-1)|0);
+ $572 = ($570|0)!=((-1)|0);
+ $or$cond5$i = $571 & $572;
+ $573 = ($569>>>0)<($570>>>0);
+ $or$cond8$i = $573 & $or$cond5$i;
+ $574 = $570;
+ $575 = $569;
+ $576 = (($574) - ($575))|0;
+ $577 = (($$0192) + 40)|0;
+ $578 = ($576>>>0)>($577>>>0);
+ $spec$select9$i = $578 ? $576 : $$4236$i;
+ $or$cond8$not$i = $or$cond8$i ^ 1;
+ $579 = ($569|0)==((-1)|0);
+ $not$$i = $578 ^ 1;
+ $580 = $579 | $not$$i;
+ $or$cond50$i = $580 | $or$cond8$not$i;
+ if (!($or$cond50$i)) {
+ $$723947$i = $spec$select9$i;$$748$i = $569;
+ label = 145;
+ }
+ }
+ }
+ if ((label|0) == 145) {
+ $581 = HEAP32[(73144)>>2]|0;
+ $582 = (($581) + ($$723947$i))|0;
+ HEAP32[(73144)>>2] = $582;
+ $583 = HEAP32[(73148)>>2]|0;
+ $584 = ($582>>>0)>($583>>>0);
+ if ($584) {
+ HEAP32[(73148)>>2] = $582;
+ }
+ $585 = HEAP32[(72736)>>2]|0;
+ $586 = ($585|0)==(0|0);
+ L215: do {
+ if ($586) {
+ $587 = HEAP32[(72728)>>2]|0;
+ $588 = ($587|0)==(0|0);
+ $589 = ($$748$i>>>0)<($587>>>0);
+ $or$cond11$i = $588 | $589;
+ if ($or$cond11$i) {
+ HEAP32[(72728)>>2] = $$748$i;
+ }
+ HEAP32[(73160)>>2] = $$748$i;
+ HEAP32[(73164)>>2] = $$723947$i;
+ HEAP32[(73172)>>2] = 0;
+ $590 = HEAP32[18296]|0;
+ HEAP32[(72748)>>2] = $590;
+ HEAP32[(72744)>>2] = -1;
+ HEAP32[(72764)>>2] = (72752);
+ HEAP32[(72760)>>2] = (72752);
+ HEAP32[(72772)>>2] = (72760);
+ HEAP32[(72768)>>2] = (72760);
+ HEAP32[(72780)>>2] = (72768);
+ HEAP32[(72776)>>2] = (72768);
+ HEAP32[(72788)>>2] = (72776);
+ HEAP32[(72784)>>2] = (72776);
+ HEAP32[(72796)>>2] = (72784);
+ HEAP32[(72792)>>2] = (72784);
+ HEAP32[(72804)>>2] = (72792);
+ HEAP32[(72800)>>2] = (72792);
+ HEAP32[(72812)>>2] = (72800);
+ HEAP32[(72808)>>2] = (72800);
+ HEAP32[(72820)>>2] = (72808);
+ HEAP32[(72816)>>2] = (72808);
+ HEAP32[(72828)>>2] = (72816);
+ HEAP32[(72824)>>2] = (72816);
+ HEAP32[(72836)>>2] = (72824);
+ HEAP32[(72832)>>2] = (72824);
+ HEAP32[(72844)>>2] = (72832);
+ HEAP32[(72840)>>2] = (72832);
+ HEAP32[(72852)>>2] = (72840);
+ HEAP32[(72848)>>2] = (72840);
+ HEAP32[(72860)>>2] = (72848);
+ HEAP32[(72856)>>2] = (72848);
+ HEAP32[(72868)>>2] = (72856);
+ HEAP32[(72864)>>2] = (72856);
+ HEAP32[(72876)>>2] = (72864);
+ HEAP32[(72872)>>2] = (72864);
+ HEAP32[(72884)>>2] = (72872);
+ HEAP32[(72880)>>2] = (72872);
+ HEAP32[(72892)>>2] = (72880);
+ HEAP32[(72888)>>2] = (72880);
+ HEAP32[(72900)>>2] = (72888);
+ HEAP32[(72896)>>2] = (72888);
+ HEAP32[(72908)>>2] = (72896);
+ HEAP32[(72904)>>2] = (72896);
+ HEAP32[(72916)>>2] = (72904);
+ HEAP32[(72912)>>2] = (72904);
+ HEAP32[(72924)>>2] = (72912);
+ HEAP32[(72920)>>2] = (72912);
+ HEAP32[(72932)>>2] = (72920);
+ HEAP32[(72928)>>2] = (72920);
+ HEAP32[(72940)>>2] = (72928);
+ HEAP32[(72936)>>2] = (72928);
+ HEAP32[(72948)>>2] = (72936);
+ HEAP32[(72944)>>2] = (72936);
+ HEAP32[(72956)>>2] = (72944);
+ HEAP32[(72952)>>2] = (72944);
+ HEAP32[(72964)>>2] = (72952);
+ HEAP32[(72960)>>2] = (72952);
+ HEAP32[(72972)>>2] = (72960);
+ HEAP32[(72968)>>2] = (72960);
+ HEAP32[(72980)>>2] = (72968);
+ HEAP32[(72976)>>2] = (72968);
+ HEAP32[(72988)>>2] = (72976);
+ HEAP32[(72984)>>2] = (72976);
+ HEAP32[(72996)>>2] = (72984);
+ HEAP32[(72992)>>2] = (72984);
+ HEAP32[(73004)>>2] = (72992);
+ HEAP32[(73000)>>2] = (72992);
+ HEAP32[(73012)>>2] = (73000);
+ HEAP32[(73008)>>2] = (73000);
+ $591 = (($$723947$i) + -40)|0;
+ $592 = ((($$748$i)) + 8|0);
+ $593 = $592;
+ $594 = $593 & 7;
+ $595 = ($594|0)==(0);
+ $596 = (0 - ($593))|0;
+ $597 = $596 & 7;
+ $598 = $595 ? 0 : $597;
+ $599 = (($$748$i) + ($598)|0);
+ $600 = (($591) - ($598))|0;
+ HEAP32[(72736)>>2] = $599;
+ HEAP32[(72724)>>2] = $600;
+ $601 = $600 | 1;
+ $602 = ((($599)) + 4|0);
+ HEAP32[$602>>2] = $601;
+ $603 = (($$748$i) + ($591)|0);
+ $604 = ((($603)) + 4|0);
+ HEAP32[$604>>2] = 40;
+ $605 = HEAP32[(73200)>>2]|0;
+ HEAP32[(72740)>>2] = $605;
+ } else {
+ $$024372$i = (73160);
+ while(1) {
+ $606 = HEAP32[$$024372$i>>2]|0;
+ $607 = ((($$024372$i)) + 4|0);
+ $608 = HEAP32[$607>>2]|0;
+ $609 = (($606) + ($608)|0);
+ $610 = ($$748$i|0)==($609|0);
+ if ($610) {
+ label = 154;
+ break;
+ }
+ $611 = ((($$024372$i)) + 8|0);
+ $612 = HEAP32[$611>>2]|0;
+ $613 = ($612|0)==(0|0);
+ if ($613) {
+ break;
+ } else {
+ $$024372$i = $612;
+ }
+ }
+ if ((label|0) == 154) {
+ $614 = ((($$024372$i)) + 4|0);
+ $615 = ((($$024372$i)) + 12|0);
+ $616 = HEAP32[$615>>2]|0;
+ $617 = $616 & 8;
+ $618 = ($617|0)==(0);
+ if ($618) {
+ $619 = ($606>>>0)<=($585>>>0);
+ $620 = ($$748$i>>>0)>($585>>>0);
+ $or$cond51$i = $620 & $619;
+ if ($or$cond51$i) {
+ $621 = (($608) + ($$723947$i))|0;
+ HEAP32[$614>>2] = $621;
+ $622 = HEAP32[(72724)>>2]|0;
+ $623 = (($622) + ($$723947$i))|0;
+ $624 = ((($585)) + 8|0);
+ $625 = $624;
+ $626 = $625 & 7;
+ $627 = ($626|0)==(0);
+ $628 = (0 - ($625))|0;
+ $629 = $628 & 7;
+ $630 = $627 ? 0 : $629;
+ $631 = (($585) + ($630)|0);
+ $632 = (($623) - ($630))|0;
+ HEAP32[(72736)>>2] = $631;
+ HEAP32[(72724)>>2] = $632;
+ $633 = $632 | 1;
+ $634 = ((($631)) + 4|0);
+ HEAP32[$634>>2] = $633;
+ $635 = (($585) + ($623)|0);
+ $636 = ((($635)) + 4|0);
+ HEAP32[$636>>2] = 40;
+ $637 = HEAP32[(73200)>>2]|0;
+ HEAP32[(72740)>>2] = $637;
+ break;
+ }
+ }
+ }
+ $638 = HEAP32[(72728)>>2]|0;
+ $639 = ($$748$i>>>0)<($638>>>0);
+ if ($639) {
+ HEAP32[(72728)>>2] = $$748$i;
+ }
+ $640 = (($$748$i) + ($$723947$i)|0);
+ $$124471$i = (73160);
+ while(1) {
+ $641 = HEAP32[$$124471$i>>2]|0;
+ $642 = ($641|0)==($640|0);
+ if ($642) {
+ label = 162;
+ break;
+ }
+ $643 = ((($$124471$i)) + 8|0);
+ $644 = HEAP32[$643>>2]|0;
+ $645 = ($644|0)==(0|0);
+ if ($645) {
+ break;
+ } else {
+ $$124471$i = $644;
+ }
+ }
+ if ((label|0) == 162) {
+ $646 = ((($$124471$i)) + 12|0);
+ $647 = HEAP32[$646>>2]|0;
+ $648 = $647 & 8;
+ $649 = ($648|0)==(0);
+ if ($649) {
+ HEAP32[$$124471$i>>2] = $$748$i;
+ $650 = ((($$124471$i)) + 4|0);
+ $651 = HEAP32[$650>>2]|0;
+ $652 = (($651) + ($$723947$i))|0;
+ HEAP32[$650>>2] = $652;
+ $653 = ((($$748$i)) + 8|0);
+ $654 = $653;
+ $655 = $654 & 7;
+ $656 = ($655|0)==(0);
+ $657 = (0 - ($654))|0;
+ $658 = $657 & 7;
+ $659 = $656 ? 0 : $658;
+ $660 = (($$748$i) + ($659)|0);
+ $661 = ((($640)) + 8|0);
+ $662 = $661;
+ $663 = $662 & 7;
+ $664 = ($663|0)==(0);
+ $665 = (0 - ($662))|0;
+ $666 = $665 & 7;
+ $667 = $664 ? 0 : $666;
+ $668 = (($640) + ($667)|0);
+ $669 = $668;
+ $670 = $660;
+ $671 = (($669) - ($670))|0;
+ $672 = (($660) + ($$0192)|0);
+ $673 = (($671) - ($$0192))|0;
+ $674 = $$0192 | 3;
+ $675 = ((($660)) + 4|0);
+ HEAP32[$675>>2] = $674;
+ $676 = ($585|0)==($668|0);
+ L238: do {
+ if ($676) {
+ $677 = HEAP32[(72724)>>2]|0;
+ $678 = (($677) + ($673))|0;
+ HEAP32[(72724)>>2] = $678;
+ HEAP32[(72736)>>2] = $672;
+ $679 = $678 | 1;
+ $680 = ((($672)) + 4|0);
+ HEAP32[$680>>2] = $679;
+ } else {
+ $681 = HEAP32[(72732)>>2]|0;
+ $682 = ($681|0)==($668|0);
+ if ($682) {
+ $683 = HEAP32[(72720)>>2]|0;
+ $684 = (($683) + ($673))|0;
+ HEAP32[(72720)>>2] = $684;
+ HEAP32[(72732)>>2] = $672;
+ $685 = $684 | 1;
+ $686 = ((($672)) + 4|0);
+ HEAP32[$686>>2] = $685;
+ $687 = (($672) + ($684)|0);
+ HEAP32[$687>>2] = $684;
+ break;
+ }
+ $688 = ((($668)) + 4|0);
+ $689 = HEAP32[$688>>2]|0;
+ $690 = $689 & 3;
+ $691 = ($690|0)==(1);
+ if ($691) {
+ $692 = $689 & -8;
+ $693 = $689 >>> 3;
+ $694 = ($689>>>0)<(256);
+ L246: do {
+ if ($694) {
+ $695 = ((($668)) + 8|0);
+ $696 = HEAP32[$695>>2]|0;
+ $697 = ((($668)) + 12|0);
+ $698 = HEAP32[$697>>2]|0;
+ $699 = ($698|0)==($696|0);
+ if ($699) {
+ $700 = 1 << $693;
+ $701 = $700 ^ -1;
+ $702 = HEAP32[18178]|0;
+ $703 = $702 & $701;
+ HEAP32[18178] = $703;
+ break;
+ } else {
+ $704 = ((($696)) + 12|0);
+ HEAP32[$704>>2] = $698;
+ $705 = ((($698)) + 8|0);
+ HEAP32[$705>>2] = $696;
+ break;
+ }
+ } else {
+ $706 = ((($668)) + 24|0);
+ $707 = HEAP32[$706>>2]|0;
+ $708 = ((($668)) + 12|0);
+ $709 = HEAP32[$708>>2]|0;
+ $710 = ($709|0)==($668|0);
+ do {
+ if ($710) {
+ $715 = ((($668)) + 16|0);
+ $716 = ((($715)) + 4|0);
+ $717 = HEAP32[$716>>2]|0;
+ $718 = ($717|0)==(0|0);
+ if ($718) {
+ $719 = HEAP32[$715>>2]|0;
+ $720 = ($719|0)==(0|0);
+ if ($720) {
+ $$3$i$i = 0;
+ break;
+ } else {
+ $$1263$i$i$ph = $719;$$1265$i$i$ph = $715;
+ }
+ } else {
+ $$1263$i$i$ph = $717;$$1265$i$i$ph = $716;
+ }
+ $$1263$i$i = $$1263$i$i$ph;$$1265$i$i = $$1265$i$i$ph;
+ while(1) {
+ $721 = ((($$1263$i$i)) + 20|0);
+ $722 = HEAP32[$721>>2]|0;
+ $723 = ($722|0)==(0|0);
+ if ($723) {
+ $724 = ((($$1263$i$i)) + 16|0);
+ $725 = HEAP32[$724>>2]|0;
+ $726 = ($725|0)==(0|0);
+ if ($726) {
+ break;
+ } else {
+ $$1263$i$i$be = $725;$$1265$i$i$be = $724;
+ }
+ } else {
+ $$1263$i$i$be = $722;$$1265$i$i$be = $721;
+ }
+ $$1263$i$i = $$1263$i$i$be;$$1265$i$i = $$1265$i$i$be;
+ }
+ HEAP32[$$1265$i$i>>2] = 0;
+ $$3$i$i = $$1263$i$i;
+ } else {
+ $711 = ((($668)) + 8|0);
+ $712 = HEAP32[$711>>2]|0;
+ $713 = ((($712)) + 12|0);
+ HEAP32[$713>>2] = $709;
+ $714 = ((($709)) + 8|0);
+ HEAP32[$714>>2] = $712;
+ $$3$i$i = $709;
+ }
+ } while(0);
+ $727 = ($707|0)==(0|0);
+ if ($727) {
+ break;
+ }
+ $728 = ((($668)) + 28|0);
+ $729 = HEAP32[$728>>2]|0;
+ $730 = (73016 + ($729<<2)|0);
+ $731 = HEAP32[$730>>2]|0;
+ $732 = ($731|0)==($668|0);
+ do {
+ if ($732) {
+ HEAP32[$730>>2] = $$3$i$i;
+ $cond$i$i = ($$3$i$i|0)==(0|0);
+ if (!($cond$i$i)) {
+ break;
+ }
+ $733 = 1 << $729;
+ $734 = $733 ^ -1;
+ $735 = HEAP32[(72716)>>2]|0;
+ $736 = $735 & $734;
+ HEAP32[(72716)>>2] = $736;
+ break L246;
+ } else {
+ $737 = ((($707)) + 16|0);
+ $738 = HEAP32[$737>>2]|0;
+ $739 = ($738|0)==($668|0);
+ $740 = ((($707)) + 20|0);
+ $$sink321 = $739 ? $737 : $740;
+ HEAP32[$$sink321>>2] = $$3$i$i;
+ $741 = ($$3$i$i|0)==(0|0);
+ if ($741) {
+ break L246;
+ }
+ }
+ } while(0);
+ $742 = ((($$3$i$i)) + 24|0);
+ HEAP32[$742>>2] = $707;
+ $743 = ((($668)) + 16|0);
+ $744 = HEAP32[$743>>2]|0;
+ $745 = ($744|0)==(0|0);
+ if (!($745)) {
+ $746 = ((($$3$i$i)) + 16|0);
+ HEAP32[$746>>2] = $744;
+ $747 = ((($744)) + 24|0);
+ HEAP32[$747>>2] = $$3$i$i;
+ }
+ $748 = ((($743)) + 4|0);
+ $749 = HEAP32[$748>>2]|0;
+ $750 = ($749|0)==(0|0);
+ if ($750) {
+ break;
+ }
+ $751 = ((($$3$i$i)) + 20|0);
+ HEAP32[$751>>2] = $749;
+ $752 = ((($749)) + 24|0);
+ HEAP32[$752>>2] = $$3$i$i;
+ }
+ } while(0);
+ $753 = (($668) + ($692)|0);
+ $754 = (($692) + ($673))|0;
+ $$0$i$i = $753;$$0259$i$i = $754;
+ } else {
+ $$0$i$i = $668;$$0259$i$i = $673;
+ }
+ $755 = ((($$0$i$i)) + 4|0);
+ $756 = HEAP32[$755>>2]|0;
+ $757 = $756 & -2;
+ HEAP32[$755>>2] = $757;
+ $758 = $$0259$i$i | 1;
+ $759 = ((($672)) + 4|0);
+ HEAP32[$759>>2] = $758;
+ $760 = (($672) + ($$0259$i$i)|0);
+ HEAP32[$760>>2] = $$0259$i$i;
+ $761 = $$0259$i$i >>> 3;
+ $762 = ($$0259$i$i>>>0)<(256);
+ if ($762) {
+ $763 = $761 << 1;
+ $764 = (72752 + ($763<<2)|0);
+ $765 = HEAP32[18178]|0;
+ $766 = 1 << $761;
+ $767 = $765 & $766;
+ $768 = ($767|0)==(0);
+ if ($768) {
+ $769 = $765 | $766;
+ HEAP32[18178] = $769;
+ $$pre$i16$i = ((($764)) + 8|0);
+ $$0267$i$i = $764;$$pre$phi$i17$iZ2D = $$pre$i16$i;
+ } else {
+ $770 = ((($764)) + 8|0);
+ $771 = HEAP32[$770>>2]|0;
+ $$0267$i$i = $771;$$pre$phi$i17$iZ2D = $770;
+ }
+ HEAP32[$$pre$phi$i17$iZ2D>>2] = $672;
+ $772 = ((($$0267$i$i)) + 12|0);
+ HEAP32[$772>>2] = $672;
+ $773 = ((($672)) + 8|0);
+ HEAP32[$773>>2] = $$0267$i$i;
+ $774 = ((($672)) + 12|0);
+ HEAP32[$774>>2] = $764;
+ break;
+ }
+ $775 = $$0259$i$i >>> 8;
+ $776 = ($775|0)==(0);
+ do {
+ if ($776) {
+ $$0268$i$i = 0;
+ } else {
+ $777 = ($$0259$i$i>>>0)>(16777215);
+ if ($777) {
+ $$0268$i$i = 31;
+ break;
+ }
+ $778 = (($775) + 1048320)|0;
+ $779 = $778 >>> 16;
+ $780 = $779 & 8;
+ $781 = $775 << $780;
+ $782 = (($781) + 520192)|0;
+ $783 = $782 >>> 16;
+ $784 = $783 & 4;
+ $785 = $784 | $780;
+ $786 = $781 << $784;
+ $787 = (($786) + 245760)|0;
+ $788 = $787 >>> 16;
+ $789 = $788 & 2;
+ $790 = $785 | $789;
+ $791 = (14 - ($790))|0;
+ $792 = $786 << $789;
+ $793 = $792 >>> 15;
+ $794 = (($791) + ($793))|0;
+ $795 = $794 << 1;
+ $796 = (($794) + 7)|0;
+ $797 = $$0259$i$i >>> $796;
+ $798 = $797 & 1;
+ $799 = $798 | $795;
+ $$0268$i$i = $799;
+ }
+ } while(0);
+ $800 = (73016 + ($$0268$i$i<<2)|0);
+ $801 = ((($672)) + 28|0);
+ HEAP32[$801>>2] = $$0268$i$i;
+ $802 = ((($672)) + 16|0);
+ $803 = ((($802)) + 4|0);
+ HEAP32[$803>>2] = 0;
+ HEAP32[$802>>2] = 0;
+ $804 = HEAP32[(72716)>>2]|0;
+ $805 = 1 << $$0268$i$i;
+ $806 = $804 & $805;
+ $807 = ($806|0)==(0);
+ if ($807) {
+ $808 = $804 | $805;
+ HEAP32[(72716)>>2] = $808;
+ HEAP32[$800>>2] = $672;
+ $809 = ((($672)) + 24|0);
+ HEAP32[$809>>2] = $800;
+ $810 = ((($672)) + 12|0);
+ HEAP32[$810>>2] = $672;
+ $811 = ((($672)) + 8|0);
+ HEAP32[$811>>2] = $672;
+ break;
+ }
+ $812 = HEAP32[$800>>2]|0;
+ $813 = ((($812)) + 4|0);
+ $814 = HEAP32[$813>>2]|0;
+ $815 = $814 & -8;
+ $816 = ($815|0)==($$0259$i$i|0);
+ L291: do {
+ if ($816) {
+ $$0261$lcssa$i$i = $812;
+ } else {
+ $817 = ($$0268$i$i|0)==(31);
+ $818 = $$0268$i$i >>> 1;
+ $819 = (25 - ($818))|0;
+ $820 = $817 ? 0 : $819;
+ $821 = $$0259$i$i << $820;
+ $$02604$i$i = $821;$$02613$i$i = $812;
+ while(1) {
+ $828 = $$02604$i$i >>> 31;
+ $829 = (((($$02613$i$i)) + 16|0) + ($828<<2)|0);
+ $824 = HEAP32[$829>>2]|0;
+ $830 = ($824|0)==(0|0);
+ if ($830) {
+ break;
+ }
+ $822 = $$02604$i$i << 1;
+ $823 = ((($824)) + 4|0);
+ $825 = HEAP32[$823>>2]|0;
+ $826 = $825 & -8;
+ $827 = ($826|0)==($$0259$i$i|0);
+ if ($827) {
+ $$0261$lcssa$i$i = $824;
+ break L291;
+ } else {
+ $$02604$i$i = $822;$$02613$i$i = $824;
+ }
+ }
+ HEAP32[$829>>2] = $672;
+ $831 = ((($672)) + 24|0);
+ HEAP32[$831>>2] = $$02613$i$i;
+ $832 = ((($672)) + 12|0);
+ HEAP32[$832>>2] = $672;
+ $833 = ((($672)) + 8|0);
+ HEAP32[$833>>2] = $672;
+ break L238;
+ }
+ } while(0);
+ $834 = ((($$0261$lcssa$i$i)) + 8|0);
+ $835 = HEAP32[$834>>2]|0;
+ $836 = ((($835)) + 12|0);
+ HEAP32[$836>>2] = $672;
+ HEAP32[$834>>2] = $672;
+ $837 = ((($672)) + 8|0);
+ HEAP32[$837>>2] = $835;
+ $838 = ((($672)) + 12|0);
+ HEAP32[$838>>2] = $$0261$lcssa$i$i;
+ $839 = ((($672)) + 24|0);
+ HEAP32[$839>>2] = 0;
+ }
+ } while(0);
+ $968 = ((($660)) + 8|0);
+ $$0 = $968;
+ STACKTOP = sp;return ($$0|0);
+ }
+ }
+ $$0$i$i$i = (73160);
+ while(1) {
+ $840 = HEAP32[$$0$i$i$i>>2]|0;
+ $841 = ($840>>>0)>($585>>>0);
+ if (!($841)) {
+ $842 = ((($$0$i$i$i)) + 4|0);
+ $843 = HEAP32[$842>>2]|0;
+ $844 = (($840) + ($843)|0);
+ $845 = ($844>>>0)>($585>>>0);
+ if ($845) {
+ break;
+ }
+ }
+ $846 = ((($$0$i$i$i)) + 8|0);
+ $847 = HEAP32[$846>>2]|0;
+ $$0$i$i$i = $847;
+ }
+ $848 = ((($844)) + -47|0);
+ $849 = ((($848)) + 8|0);
+ $850 = $849;
+ $851 = $850 & 7;
+ $852 = ($851|0)==(0);
+ $853 = (0 - ($850))|0;
+ $854 = $853 & 7;
+ $855 = $852 ? 0 : $854;
+ $856 = (($848) + ($855)|0);
+ $857 = ((($585)) + 16|0);
+ $858 = ($856>>>0)<($857>>>0);
+ $859 = $858 ? $585 : $856;
+ $860 = ((($859)) + 8|0);
+ $861 = ((($859)) + 24|0);
+ $862 = (($$723947$i) + -40)|0;
+ $863 = ((($$748$i)) + 8|0);
+ $864 = $863;
+ $865 = $864 & 7;
+ $866 = ($865|0)==(0);
+ $867 = (0 - ($864))|0;
+ $868 = $867 & 7;
+ $869 = $866 ? 0 : $868;
+ $870 = (($$748$i) + ($869)|0);
+ $871 = (($862) - ($869))|0;
+ HEAP32[(72736)>>2] = $870;
+ HEAP32[(72724)>>2] = $871;
+ $872 = $871 | 1;
+ $873 = ((($870)) + 4|0);
+ HEAP32[$873>>2] = $872;
+ $874 = (($$748$i) + ($862)|0);
+ $875 = ((($874)) + 4|0);
+ HEAP32[$875>>2] = 40;
+ $876 = HEAP32[(73200)>>2]|0;
+ HEAP32[(72740)>>2] = $876;
+ $877 = ((($859)) + 4|0);
+ HEAP32[$877>>2] = 27;
+ ;HEAP32[$860>>2]=HEAP32[(73160)>>2]|0;HEAP32[$860+4>>2]=HEAP32[(73160)+4>>2]|0;HEAP32[$860+8>>2]=HEAP32[(73160)+8>>2]|0;HEAP32[$860+12>>2]=HEAP32[(73160)+12>>2]|0;
+ HEAP32[(73160)>>2] = $$748$i;
+ HEAP32[(73164)>>2] = $$723947$i;
+ HEAP32[(73172)>>2] = 0;
+ HEAP32[(73168)>>2] = $860;
+ $879 = $861;
+ while(1) {
+ $878 = ((($879)) + 4|0);
+ HEAP32[$878>>2] = 7;
+ $880 = ((($879)) + 8|0);
+ $881 = ($880>>>0)<($844>>>0);
+ if ($881) {
+ $879 = $878;
+ } else {
+ break;
+ }
+ }
+ $882 = ($859|0)==($585|0);
+ if (!($882)) {
+ $883 = $859;
+ $884 = $585;
+ $885 = (($883) - ($884))|0;
+ $886 = HEAP32[$877>>2]|0;
+ $887 = $886 & -2;
+ HEAP32[$877>>2] = $887;
+ $888 = $885 | 1;
+ $889 = ((($585)) + 4|0);
+ HEAP32[$889>>2] = $888;
+ HEAP32[$859>>2] = $885;
+ $890 = $885 >>> 3;
+ $891 = ($885>>>0)<(256);
+ if ($891) {
+ $892 = $890 << 1;
+ $893 = (72752 + ($892<<2)|0);
+ $894 = HEAP32[18178]|0;
+ $895 = 1 << $890;
+ $896 = $894 & $895;
+ $897 = ($896|0)==(0);
+ if ($897) {
+ $898 = $894 | $895;
+ HEAP32[18178] = $898;
+ $$pre$i$i = ((($893)) + 8|0);
+ $$0206$i$i = $893;$$pre$phi$i$iZ2D = $$pre$i$i;
+ } else {
+ $899 = ((($893)) + 8|0);
+ $900 = HEAP32[$899>>2]|0;
+ $$0206$i$i = $900;$$pre$phi$i$iZ2D = $899;
+ }
+ HEAP32[$$pre$phi$i$iZ2D>>2] = $585;
+ $901 = ((($$0206$i$i)) + 12|0);
+ HEAP32[$901>>2] = $585;
+ $902 = ((($585)) + 8|0);
+ HEAP32[$902>>2] = $$0206$i$i;
+ $903 = ((($585)) + 12|0);
+ HEAP32[$903>>2] = $893;
+ break;
+ }
+ $904 = $885 >>> 8;
+ $905 = ($904|0)==(0);
+ if ($905) {
+ $$0207$i$i = 0;
+ } else {
+ $906 = ($885>>>0)>(16777215);
+ if ($906) {
+ $$0207$i$i = 31;
+ } else {
+ $907 = (($904) + 1048320)|0;
+ $908 = $907 >>> 16;
+ $909 = $908 & 8;
+ $910 = $904 << $909;
+ $911 = (($910) + 520192)|0;
+ $912 = $911 >>> 16;
+ $913 = $912 & 4;
+ $914 = $913 | $909;
+ $915 = $910 << $913;
+ $916 = (($915) + 245760)|0;
+ $917 = $916 >>> 16;
+ $918 = $917 & 2;
+ $919 = $914 | $918;
+ $920 = (14 - ($919))|0;
+ $921 = $915 << $918;
+ $922 = $921 >>> 15;
+ $923 = (($920) + ($922))|0;
+ $924 = $923 << 1;
+ $925 = (($923) + 7)|0;
+ $926 = $885 >>> $925;
+ $927 = $926 & 1;
+ $928 = $927 | $924;
+ $$0207$i$i = $928;
+ }
+ }
+ $929 = (73016 + ($$0207$i$i<<2)|0);
+ $930 = ((($585)) + 28|0);
+ HEAP32[$930>>2] = $$0207$i$i;
+ $931 = ((($585)) + 20|0);
+ HEAP32[$931>>2] = 0;
+ HEAP32[$857>>2] = 0;
+ $932 = HEAP32[(72716)>>2]|0;
+ $933 = 1 << $$0207$i$i;
+ $934 = $932 & $933;
+ $935 = ($934|0)==(0);
+ if ($935) {
+ $936 = $932 | $933;
+ HEAP32[(72716)>>2] = $936;
+ HEAP32[$929>>2] = $585;
+ $937 = ((($585)) + 24|0);
+ HEAP32[$937>>2] = $929;
+ $938 = ((($585)) + 12|0);
+ HEAP32[$938>>2] = $585;
+ $939 = ((($585)) + 8|0);
+ HEAP32[$939>>2] = $585;
+ break;
+ }
+ $940 = HEAP32[$929>>2]|0;
+ $941 = ((($940)) + 4|0);
+ $942 = HEAP32[$941>>2]|0;
+ $943 = $942 & -8;
+ $944 = ($943|0)==($885|0);
+ L325: do {
+ if ($944) {
+ $$0202$lcssa$i$i = $940;
+ } else {
+ $945 = ($$0207$i$i|0)==(31);
+ $946 = $$0207$i$i >>> 1;
+ $947 = (25 - ($946))|0;
+ $948 = $945 ? 0 : $947;
+ $949 = $885 << $948;
+ $$02014$i$i = $949;$$02023$i$i = $940;
+ while(1) {
+ $956 = $$02014$i$i >>> 31;
+ $957 = (((($$02023$i$i)) + 16|0) + ($956<<2)|0);
+ $952 = HEAP32[$957>>2]|0;
+ $958 = ($952|0)==(0|0);
+ if ($958) {
+ break;
+ }
+ $950 = $$02014$i$i << 1;
+ $951 = ((($952)) + 4|0);
+ $953 = HEAP32[$951>>2]|0;
+ $954 = $953 & -8;
+ $955 = ($954|0)==($885|0);
+ if ($955) {
+ $$0202$lcssa$i$i = $952;
+ break L325;
+ } else {
+ $$02014$i$i = $950;$$02023$i$i = $952;
+ }
+ }
+ HEAP32[$957>>2] = $585;
+ $959 = ((($585)) + 24|0);
+ HEAP32[$959>>2] = $$02023$i$i;
+ $960 = ((($585)) + 12|0);
+ HEAP32[$960>>2] = $585;
+ $961 = ((($585)) + 8|0);
+ HEAP32[$961>>2] = $585;
+ break L215;
+ }
+ } while(0);
+ $962 = ((($$0202$lcssa$i$i)) + 8|0);
+ $963 = HEAP32[$962>>2]|0;
+ $964 = ((($963)) + 12|0);
+ HEAP32[$964>>2] = $585;
+ HEAP32[$962>>2] = $585;
+ $965 = ((($585)) + 8|0);
+ HEAP32[$965>>2] = $963;
+ $966 = ((($585)) + 12|0);
+ HEAP32[$966>>2] = $$0202$lcssa$i$i;
+ $967 = ((($585)) + 24|0);
+ HEAP32[$967>>2] = 0;
+ }
+ }
+ } while(0);
+ $969 = HEAP32[(72724)>>2]|0;
+ $970 = ($969>>>0)>($$0192>>>0);
+ if ($970) {
+ $971 = (($969) - ($$0192))|0;
+ HEAP32[(72724)>>2] = $971;
+ $972 = HEAP32[(72736)>>2]|0;
+ $973 = (($972) + ($$0192)|0);
+ HEAP32[(72736)>>2] = $973;
+ $974 = $971 | 1;
+ $975 = ((($973)) + 4|0);
+ HEAP32[$975>>2] = $974;
+ $976 = $$0192 | 3;
+ $977 = ((($972)) + 4|0);
+ HEAP32[$977>>2] = $976;
+ $978 = ((($972)) + 8|0);
+ $$0 = $978;
+ STACKTOP = sp;return ($$0|0);
+ }
+ }
+ $979 = (___errno_location()|0);
+ HEAP32[$979>>2] = 12;
+ $$0 = 0;
+ STACKTOP = sp;return ($$0|0);
+}
+function _free($0) {
+ $0 = $0|0;
+ var $$0194$i = 0, $$0194$in$i = 0, $$0346381 = 0, $$0347$lcssa = 0, $$0347380 = 0, $$0359 = 0, $$0366 = 0, $$1 = 0, $$1345 = 0, $$1350 = 0, $$1350$be = 0, $$1350$ph = 0, $$1353 = 0, $$1353$be = 0, $$1353$ph = 0, $$1361 = 0, $$1361$be = 0, $$1361$ph = 0, $$1365 = 0, $$1365$be = 0;
+ var $$1365$ph = 0, $$2 = 0, $$3 = 0, $$3363 = 0, $$pre = 0, $$pre$phiZ2D = 0, $$sink = 0, $$sink395 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0;
+ var $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0;
+ var $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0;
+ var $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0;
+ var $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0;
+ var $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0;
+ var $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0;
+ var $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0;
+ var $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0;
+ var $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0;
+ var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0;
+ var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0;
+ var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0;
+ var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $cond371 = 0, $cond372 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = ($0|0)==(0|0);
+ if ($1) {
+ return;
+ }
+ $2 = ((($0)) + -8|0);
+ $3 = HEAP32[(72728)>>2]|0;
+ $4 = ((($0)) + -4|0);
+ $5 = HEAP32[$4>>2]|0;
+ $6 = $5 & -8;
+ $7 = (($2) + ($6)|0);
+ $8 = $5 & 1;
+ $9 = ($8|0)==(0);
+ do {
+ if ($9) {
+ $10 = HEAP32[$2>>2]|0;
+ $11 = $5 & 3;
+ $12 = ($11|0)==(0);
+ if ($12) {
+ return;
+ }
+ $13 = (0 - ($10))|0;
+ $14 = (($2) + ($13)|0);
+ $15 = (($10) + ($6))|0;
+ $16 = ($14>>>0)<($3>>>0);
+ if ($16) {
+ return;
+ }
+ $17 = HEAP32[(72732)>>2]|0;
+ $18 = ($17|0)==($14|0);
+ if ($18) {
+ $79 = ((($7)) + 4|0);
+ $80 = HEAP32[$79>>2]|0;
+ $81 = $80 & 3;
+ $82 = ($81|0)==(3);
+ if (!($82)) {
+ $$1 = $14;$$1345 = $15;$88 = $14;
+ break;
+ }
+ $83 = (($14) + ($15)|0);
+ $84 = ((($14)) + 4|0);
+ $85 = $15 | 1;
+ $86 = $80 & -2;
+ HEAP32[(72720)>>2] = $15;
+ HEAP32[$79>>2] = $86;
+ HEAP32[$84>>2] = $85;
+ HEAP32[$83>>2] = $15;
+ return;
+ }
+ $19 = $10 >>> 3;
+ $20 = ($10>>>0)<(256);
+ if ($20) {
+ $21 = ((($14)) + 8|0);
+ $22 = HEAP32[$21>>2]|0;
+ $23 = ((($14)) + 12|0);
+ $24 = HEAP32[$23>>2]|0;
+ $25 = ($24|0)==($22|0);
+ if ($25) {
+ $26 = 1 << $19;
+ $27 = $26 ^ -1;
+ $28 = HEAP32[18178]|0;
+ $29 = $28 & $27;
+ HEAP32[18178] = $29;
+ $$1 = $14;$$1345 = $15;$88 = $14;
+ break;
+ } else {
+ $30 = ((($22)) + 12|0);
+ HEAP32[$30>>2] = $24;
+ $31 = ((($24)) + 8|0);
+ HEAP32[$31>>2] = $22;
+ $$1 = $14;$$1345 = $15;$88 = $14;
+ break;
+ }
+ }
+ $32 = ((($14)) + 24|0);
+ $33 = HEAP32[$32>>2]|0;
+ $34 = ((($14)) + 12|0);
+ $35 = HEAP32[$34>>2]|0;
+ $36 = ($35|0)==($14|0);
+ do {
+ if ($36) {
+ $41 = ((($14)) + 16|0);
+ $42 = ((($41)) + 4|0);
+ $43 = HEAP32[$42>>2]|0;
+ $44 = ($43|0)==(0|0);
+ if ($44) {
+ $45 = HEAP32[$41>>2]|0;
+ $46 = ($45|0)==(0|0);
+ if ($46) {
+ $$3 = 0;
+ break;
+ } else {
+ $$1350$ph = $45;$$1353$ph = $41;
+ }
+ } else {
+ $$1350$ph = $43;$$1353$ph = $42;
+ }
+ $$1350 = $$1350$ph;$$1353 = $$1353$ph;
+ while(1) {
+ $47 = ((($$1350)) + 20|0);
+ $48 = HEAP32[$47>>2]|0;
+ $49 = ($48|0)==(0|0);
+ if ($49) {
+ $50 = ((($$1350)) + 16|0);
+ $51 = HEAP32[$50>>2]|0;
+ $52 = ($51|0)==(0|0);
+ if ($52) {
+ break;
+ } else {
+ $$1350$be = $51;$$1353$be = $50;
+ }
+ } else {
+ $$1350$be = $48;$$1353$be = $47;
+ }
+ $$1350 = $$1350$be;$$1353 = $$1353$be;
+ }
+ HEAP32[$$1353>>2] = 0;
+ $$3 = $$1350;
+ } else {
+ $37 = ((($14)) + 8|0);
+ $38 = HEAP32[$37>>2]|0;
+ $39 = ((($38)) + 12|0);
+ HEAP32[$39>>2] = $35;
+ $40 = ((($35)) + 8|0);
+ HEAP32[$40>>2] = $38;
+ $$3 = $35;
+ }
+ } while(0);
+ $53 = ($33|0)==(0|0);
+ if ($53) {
+ $$1 = $14;$$1345 = $15;$88 = $14;
+ } else {
+ $54 = ((($14)) + 28|0);
+ $55 = HEAP32[$54>>2]|0;
+ $56 = (73016 + ($55<<2)|0);
+ $57 = HEAP32[$56>>2]|0;
+ $58 = ($57|0)==($14|0);
+ if ($58) {
+ HEAP32[$56>>2] = $$3;
+ $cond371 = ($$3|0)==(0|0);
+ if ($cond371) {
+ $59 = 1 << $55;
+ $60 = $59 ^ -1;
+ $61 = HEAP32[(72716)>>2]|0;
+ $62 = $61 & $60;
+ HEAP32[(72716)>>2] = $62;
+ $$1 = $14;$$1345 = $15;$88 = $14;
+ break;
+ }
+ } else {
+ $63 = ((($33)) + 16|0);
+ $64 = HEAP32[$63>>2]|0;
+ $65 = ($64|0)==($14|0);
+ $66 = ((($33)) + 20|0);
+ $$sink = $65 ? $63 : $66;
+ HEAP32[$$sink>>2] = $$3;
+ $67 = ($$3|0)==(0|0);
+ if ($67) {
+ $$1 = $14;$$1345 = $15;$88 = $14;
+ break;
+ }
+ }
+ $68 = ((($$3)) + 24|0);
+ HEAP32[$68>>2] = $33;
+ $69 = ((($14)) + 16|0);
+ $70 = HEAP32[$69>>2]|0;
+ $71 = ($70|0)==(0|0);
+ if (!($71)) {
+ $72 = ((($$3)) + 16|0);
+ HEAP32[$72>>2] = $70;
+ $73 = ((($70)) + 24|0);
+ HEAP32[$73>>2] = $$3;
+ }
+ $74 = ((($69)) + 4|0);
+ $75 = HEAP32[$74>>2]|0;
+ $76 = ($75|0)==(0|0);
+ if ($76) {
+ $$1 = $14;$$1345 = $15;$88 = $14;
+ } else {
+ $77 = ((($$3)) + 20|0);
+ HEAP32[$77>>2] = $75;
+ $78 = ((($75)) + 24|0);
+ HEAP32[$78>>2] = $$3;
+ $$1 = $14;$$1345 = $15;$88 = $14;
+ }
+ }
+ } else {
+ $$1 = $2;$$1345 = $6;$88 = $2;
+ }
+ } while(0);
+ $87 = ($88>>>0)<($7>>>0);
+ if (!($87)) {
+ return;
+ }
+ $89 = ((($7)) + 4|0);
+ $90 = HEAP32[$89>>2]|0;
+ $91 = $90 & 1;
+ $92 = ($91|0)==(0);
+ if ($92) {
+ return;
+ }
+ $93 = $90 & 2;
+ $94 = ($93|0)==(0);
+ if ($94) {
+ $95 = HEAP32[(72736)>>2]|0;
+ $96 = ($95|0)==($7|0);
+ if ($96) {
+ $97 = HEAP32[(72724)>>2]|0;
+ $98 = (($97) + ($$1345))|0;
+ HEAP32[(72724)>>2] = $98;
+ HEAP32[(72736)>>2] = $$1;
+ $99 = $98 | 1;
+ $100 = ((($$1)) + 4|0);
+ HEAP32[$100>>2] = $99;
+ $101 = HEAP32[(72732)>>2]|0;
+ $102 = ($$1|0)==($101|0);
+ if (!($102)) {
+ return;
+ }
+ HEAP32[(72732)>>2] = 0;
+ HEAP32[(72720)>>2] = 0;
+ return;
+ }
+ $103 = HEAP32[(72732)>>2]|0;
+ $104 = ($103|0)==($7|0);
+ if ($104) {
+ $105 = HEAP32[(72720)>>2]|0;
+ $106 = (($105) + ($$1345))|0;
+ HEAP32[(72720)>>2] = $106;
+ HEAP32[(72732)>>2] = $88;
+ $107 = $106 | 1;
+ $108 = ((($$1)) + 4|0);
+ HEAP32[$108>>2] = $107;
+ $109 = (($88) + ($106)|0);
+ HEAP32[$109>>2] = $106;
+ return;
+ }
+ $110 = $90 & -8;
+ $111 = (($110) + ($$1345))|0;
+ $112 = $90 >>> 3;
+ $113 = ($90>>>0)<(256);
+ do {
+ if ($113) {
+ $114 = ((($7)) + 8|0);
+ $115 = HEAP32[$114>>2]|0;
+ $116 = ((($7)) + 12|0);
+ $117 = HEAP32[$116>>2]|0;
+ $118 = ($117|0)==($115|0);
+ if ($118) {
+ $119 = 1 << $112;
+ $120 = $119 ^ -1;
+ $121 = HEAP32[18178]|0;
+ $122 = $121 & $120;
+ HEAP32[18178] = $122;
+ break;
+ } else {
+ $123 = ((($115)) + 12|0);
+ HEAP32[$123>>2] = $117;
+ $124 = ((($117)) + 8|0);
+ HEAP32[$124>>2] = $115;
+ break;
+ }
+ } else {
+ $125 = ((($7)) + 24|0);
+ $126 = HEAP32[$125>>2]|0;
+ $127 = ((($7)) + 12|0);
+ $128 = HEAP32[$127>>2]|0;
+ $129 = ($128|0)==($7|0);
+ do {
+ if ($129) {
+ $134 = ((($7)) + 16|0);
+ $135 = ((($134)) + 4|0);
+ $136 = HEAP32[$135>>2]|0;
+ $137 = ($136|0)==(0|0);
+ if ($137) {
+ $138 = HEAP32[$134>>2]|0;
+ $139 = ($138|0)==(0|0);
+ if ($139) {
+ $$3363 = 0;
+ break;
+ } else {
+ $$1361$ph = $138;$$1365$ph = $134;
+ }
+ } else {
+ $$1361$ph = $136;$$1365$ph = $135;
+ }
+ $$1361 = $$1361$ph;$$1365 = $$1365$ph;
+ while(1) {
+ $140 = ((($$1361)) + 20|0);
+ $141 = HEAP32[$140>>2]|0;
+ $142 = ($141|0)==(0|0);
+ if ($142) {
+ $143 = ((($$1361)) + 16|0);
+ $144 = HEAP32[$143>>2]|0;
+ $145 = ($144|0)==(0|0);
+ if ($145) {
+ break;
+ } else {
+ $$1361$be = $144;$$1365$be = $143;
+ }
+ } else {
+ $$1361$be = $141;$$1365$be = $140;
+ }
+ $$1361 = $$1361$be;$$1365 = $$1365$be;
+ }
+ HEAP32[$$1365>>2] = 0;
+ $$3363 = $$1361;
+ } else {
+ $130 = ((($7)) + 8|0);
+ $131 = HEAP32[$130>>2]|0;
+ $132 = ((($131)) + 12|0);
+ HEAP32[$132>>2] = $128;
+ $133 = ((($128)) + 8|0);
+ HEAP32[$133>>2] = $131;
+ $$3363 = $128;
+ }
+ } while(0);
+ $146 = ($126|0)==(0|0);
+ if (!($146)) {
+ $147 = ((($7)) + 28|0);
+ $148 = HEAP32[$147>>2]|0;
+ $149 = (73016 + ($148<<2)|0);
+ $150 = HEAP32[$149>>2]|0;
+ $151 = ($150|0)==($7|0);
+ if ($151) {
+ HEAP32[$149>>2] = $$3363;
+ $cond372 = ($$3363|0)==(0|0);
+ if ($cond372) {
+ $152 = 1 << $148;
+ $153 = $152 ^ -1;
+ $154 = HEAP32[(72716)>>2]|0;
+ $155 = $154 & $153;
+ HEAP32[(72716)>>2] = $155;
+ break;
+ }
+ } else {
+ $156 = ((($126)) + 16|0);
+ $157 = HEAP32[$156>>2]|0;
+ $158 = ($157|0)==($7|0);
+ $159 = ((($126)) + 20|0);
+ $$sink395 = $158 ? $156 : $159;
+ HEAP32[$$sink395>>2] = $$3363;
+ $160 = ($$3363|0)==(0|0);
+ if ($160) {
+ break;
+ }
+ }
+ $161 = ((($$3363)) + 24|0);
+ HEAP32[$161>>2] = $126;
+ $162 = ((($7)) + 16|0);
+ $163 = HEAP32[$162>>2]|0;
+ $164 = ($163|0)==(0|0);
+ if (!($164)) {
+ $165 = ((($$3363)) + 16|0);
+ HEAP32[$165>>2] = $163;
+ $166 = ((($163)) + 24|0);
+ HEAP32[$166>>2] = $$3363;
+ }
+ $167 = ((($162)) + 4|0);
+ $168 = HEAP32[$167>>2]|0;
+ $169 = ($168|0)==(0|0);
+ if (!($169)) {
+ $170 = ((($$3363)) + 20|0);
+ HEAP32[$170>>2] = $168;
+ $171 = ((($168)) + 24|0);
+ HEAP32[$171>>2] = $$3363;
+ }
+ }
+ }
+ } while(0);
+ $172 = $111 | 1;
+ $173 = ((($$1)) + 4|0);
+ HEAP32[$173>>2] = $172;
+ $174 = (($88) + ($111)|0);
+ HEAP32[$174>>2] = $111;
+ $175 = HEAP32[(72732)>>2]|0;
+ $176 = ($$1|0)==($175|0);
+ if ($176) {
+ HEAP32[(72720)>>2] = $111;
+ return;
+ } else {
+ $$2 = $111;
+ }
+ } else {
+ $177 = $90 & -2;
+ HEAP32[$89>>2] = $177;
+ $178 = $$1345 | 1;
+ $179 = ((($$1)) + 4|0);
+ HEAP32[$179>>2] = $178;
+ $180 = (($88) + ($$1345)|0);
+ HEAP32[$180>>2] = $$1345;
+ $$2 = $$1345;
+ }
+ $181 = $$2 >>> 3;
+ $182 = ($$2>>>0)<(256);
+ if ($182) {
+ $183 = $181 << 1;
+ $184 = (72752 + ($183<<2)|0);
+ $185 = HEAP32[18178]|0;
+ $186 = 1 << $181;
+ $187 = $185 & $186;
+ $188 = ($187|0)==(0);
+ if ($188) {
+ $189 = $185 | $186;
+ HEAP32[18178] = $189;
+ $$pre = ((($184)) + 8|0);
+ $$0366 = $184;$$pre$phiZ2D = $$pre;
+ } else {
+ $190 = ((($184)) + 8|0);
+ $191 = HEAP32[$190>>2]|0;
+ $$0366 = $191;$$pre$phiZ2D = $190;
+ }
+ HEAP32[$$pre$phiZ2D>>2] = $$1;
+ $192 = ((($$0366)) + 12|0);
+ HEAP32[$192>>2] = $$1;
+ $193 = ((($$1)) + 8|0);
+ HEAP32[$193>>2] = $$0366;
+ $194 = ((($$1)) + 12|0);
+ HEAP32[$194>>2] = $184;
+ return;
+ }
+ $195 = $$2 >>> 8;
+ $196 = ($195|0)==(0);
+ if ($196) {
+ $$0359 = 0;
+ } else {
+ $197 = ($$2>>>0)>(16777215);
+ if ($197) {
+ $$0359 = 31;
+ } else {
+ $198 = (($195) + 1048320)|0;
+ $199 = $198 >>> 16;
+ $200 = $199 & 8;
+ $201 = $195 << $200;
+ $202 = (($201) + 520192)|0;
+ $203 = $202 >>> 16;
+ $204 = $203 & 4;
+ $205 = $204 | $200;
+ $206 = $201 << $204;
+ $207 = (($206) + 245760)|0;
+ $208 = $207 >>> 16;
+ $209 = $208 & 2;
+ $210 = $205 | $209;
+ $211 = (14 - ($210))|0;
+ $212 = $206 << $209;
+ $213 = $212 >>> 15;
+ $214 = (($211) + ($213))|0;
+ $215 = $214 << 1;
+ $216 = (($214) + 7)|0;
+ $217 = $$2 >>> $216;
+ $218 = $217 & 1;
+ $219 = $218 | $215;
+ $$0359 = $219;
+ }
+ }
+ $220 = (73016 + ($$0359<<2)|0);
+ $221 = ((($$1)) + 28|0);
+ HEAP32[$221>>2] = $$0359;
+ $222 = ((($$1)) + 16|0);
+ $223 = ((($$1)) + 20|0);
+ HEAP32[$223>>2] = 0;
+ HEAP32[$222>>2] = 0;
+ $224 = HEAP32[(72716)>>2]|0;
+ $225 = 1 << $$0359;
+ $226 = $224 & $225;
+ $227 = ($226|0)==(0);
+ L112: do {
+ if ($227) {
+ $228 = $224 | $225;
+ HEAP32[(72716)>>2] = $228;
+ HEAP32[$220>>2] = $$1;
+ $229 = ((($$1)) + 24|0);
+ HEAP32[$229>>2] = $220;
+ $230 = ((($$1)) + 12|0);
+ HEAP32[$230>>2] = $$1;
+ $231 = ((($$1)) + 8|0);
+ HEAP32[$231>>2] = $$1;
+ } else {
+ $232 = HEAP32[$220>>2]|0;
+ $233 = ((($232)) + 4|0);
+ $234 = HEAP32[$233>>2]|0;
+ $235 = $234 & -8;
+ $236 = ($235|0)==($$2|0);
+ L115: do {
+ if ($236) {
+ $$0347$lcssa = $232;
+ } else {
+ $237 = ($$0359|0)==(31);
+ $238 = $$0359 >>> 1;
+ $239 = (25 - ($238))|0;
+ $240 = $237 ? 0 : $239;
+ $241 = $$2 << $240;
+ $$0346381 = $241;$$0347380 = $232;
+ while(1) {
+ $248 = $$0346381 >>> 31;
+ $249 = (((($$0347380)) + 16|0) + ($248<<2)|0);
+ $244 = HEAP32[$249>>2]|0;
+ $250 = ($244|0)==(0|0);
+ if ($250) {
+ break;
+ }
+ $242 = $$0346381 << 1;
+ $243 = ((($244)) + 4|0);
+ $245 = HEAP32[$243>>2]|0;
+ $246 = $245 & -8;
+ $247 = ($246|0)==($$2|0);
+ if ($247) {
+ $$0347$lcssa = $244;
+ break L115;
+ } else {
+ $$0346381 = $242;$$0347380 = $244;
+ }
+ }
+ HEAP32[$249>>2] = $$1;
+ $251 = ((($$1)) + 24|0);
+ HEAP32[$251>>2] = $$0347380;
+ $252 = ((($$1)) + 12|0);
+ HEAP32[$252>>2] = $$1;
+ $253 = ((($$1)) + 8|0);
+ HEAP32[$253>>2] = $$1;
+ break L112;
+ }
+ } while(0);
+ $254 = ((($$0347$lcssa)) + 8|0);
+ $255 = HEAP32[$254>>2]|0;
+ $256 = ((($255)) + 12|0);
+ HEAP32[$256>>2] = $$1;
+ HEAP32[$254>>2] = $$1;
+ $257 = ((($$1)) + 8|0);
+ HEAP32[$257>>2] = $255;
+ $258 = ((($$1)) + 12|0);
+ HEAP32[$258>>2] = $$0347$lcssa;
+ $259 = ((($$1)) + 24|0);
+ HEAP32[$259>>2] = 0;
+ }
+ } while(0);
+ $260 = HEAP32[(72744)>>2]|0;
+ $261 = (($260) + -1)|0;
+ HEAP32[(72744)>>2] = $261;
+ $262 = ($261|0)==(0);
+ if (!($262)) {
+ return;
+ }
+ $$0194$in$i = (73168);
+ while(1) {
+ $$0194$i = HEAP32[$$0194$in$i>>2]|0;
+ $263 = ($$0194$i|0)==(0|0);
+ $264 = ((($$0194$i)) + 8|0);
+ if ($263) {
+ break;
+ } else {
+ $$0194$in$i = $264;
+ }
+ }
+ HEAP32[(72744)>>2] = -1;
+ return;
+}
+function _calloc($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $$0 = 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, $spec$select = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $2 = ($0|0)==(0);
+ if ($2) {
+ $$0 = 0;
+ } else {
+ $3 = Math_imul($1, $0)|0;
+ $4 = $1 | $0;
+ $5 = ($4>>>0)>(65535);
+ if ($5) {
+ $6 = (($3>>>0) / ($0>>>0))&-1;
+ $7 = ($6|0)==($1|0);
+ $spec$select = $7 ? $3 : -1;
+ $$0 = $spec$select;
+ } else {
+ $$0 = $3;
+ }
+ }
+ $8 = (_malloc($$0)|0);
+ $9 = ($8|0)==(0|0);
+ if ($9) {
+ return ($8|0);
+ }
+ $10 = ((($8)) + -4|0);
+ $11 = HEAP32[$10>>2]|0;
+ $12 = $11 & 3;
+ $13 = ($12|0)==(0);
+ if ($13) {
+ return ($8|0);
+ }
+ (_memset(($8|0),0,($$0|0))|0);
+ return ($8|0);
+}
+function _realloc($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0;
+ var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $2 = ($0|0)==(0|0);
+ if ($2) {
+ $3 = (_malloc($1)|0);
+ $$1 = $3;
+ return ($$1|0);
+ }
+ $4 = ($1>>>0)>(4294967231);
+ if ($4) {
+ $5 = (___errno_location()|0);
+ HEAP32[$5>>2] = 12;
+ $$1 = 0;
+ return ($$1|0);
+ }
+ $6 = ($1>>>0)<(11);
+ $7 = (($1) + 11)|0;
+ $8 = $7 & -8;
+ $9 = $6 ? 16 : $8;
+ $10 = ((($0)) + -8|0);
+ $11 = (_try_realloc_chunk($10,$9)|0);
+ $12 = ($11|0)==(0|0);
+ if (!($12)) {
+ $13 = ((($11)) + 8|0);
+ $$1 = $13;
+ return ($$1|0);
+ }
+ $14 = (_malloc($1)|0);
+ $15 = ($14|0)==(0|0);
+ if ($15) {
+ $$1 = 0;
+ return ($$1|0);
+ }
+ $16 = ((($0)) + -4|0);
+ $17 = HEAP32[$16>>2]|0;
+ $18 = $17 & -8;
+ $19 = $17 & 3;
+ $20 = ($19|0)==(0);
+ $21 = $20 ? 8 : 4;
+ $22 = (($18) - ($21))|0;
+ $23 = ($22>>>0)<($1>>>0);
+ $24 = $23 ? $22 : $1;
+ (_memcpy(($14|0),($0|0),($24|0))|0);
+ _free($0);
+ $$1 = $14;
+ return ($$1|0);
+}
+function _try_realloc_chunk($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $$1245 = 0, $$1245$be = 0, $$1245$ph = 0, $$1248 = 0, $$1248$be = 0, $$1248$ph = 0, $$2 = 0, $$3 = 0, $$sink = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0;
+ var $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0;
+ var $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0;
+ var $146 = 0, $147 = 0, $148 = 0, $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;
+ var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $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, $cond = 0, $storemerge = 0, $storemerge1 = 0, label = 0;
+ var sp = 0;
+ sp = STACKTOP;
+ $2 = ((($0)) + 4|0);
+ $3 = HEAP32[$2>>2]|0;
+ $4 = $3 & -8;
+ $5 = (($0) + ($4)|0);
+ $6 = $3 & 3;
+ $7 = ($6|0)==(0);
+ if ($7) {
+ $8 = ($1>>>0)<(256);
+ if ($8) {
+ $$2 = 0;
+ return ($$2|0);
+ }
+ $9 = (($1) + 4)|0;
+ $10 = ($4>>>0)<($9>>>0);
+ if (!($10)) {
+ $11 = (($4) - ($1))|0;
+ $12 = HEAP32[(73192)>>2]|0;
+ $13 = $12 << 1;
+ $14 = ($11>>>0)>($13>>>0);
+ if (!($14)) {
+ $$2 = $0;
+ return ($$2|0);
+ }
+ }
+ $$2 = 0;
+ return ($$2|0);
+ }
+ $15 = ($4>>>0)<($1>>>0);
+ if (!($15)) {
+ $16 = (($4) - ($1))|0;
+ $17 = ($16>>>0)>(15);
+ if (!($17)) {
+ $$2 = $0;
+ return ($$2|0);
+ }
+ $18 = (($0) + ($1)|0);
+ $19 = $3 & 1;
+ $20 = $19 | $1;
+ $21 = $20 | 2;
+ HEAP32[$2>>2] = $21;
+ $22 = ((($18)) + 4|0);
+ $23 = $16 | 3;
+ HEAP32[$22>>2] = $23;
+ $24 = ((($5)) + 4|0);
+ $25 = HEAP32[$24>>2]|0;
+ $26 = $25 | 1;
+ HEAP32[$24>>2] = $26;
+ _dispose_chunk($18,$16);
+ $$2 = $0;
+ return ($$2|0);
+ }
+ $27 = HEAP32[(72736)>>2]|0;
+ $28 = ($27|0)==($5|0);
+ if ($28) {
+ $29 = HEAP32[(72724)>>2]|0;
+ $30 = (($29) + ($4))|0;
+ $31 = ($30>>>0)>($1>>>0);
+ $32 = (($30) - ($1))|0;
+ $33 = (($0) + ($1)|0);
+ if (!($31)) {
+ $$2 = 0;
+ return ($$2|0);
+ }
+ $34 = $32 | 1;
+ $35 = ((($33)) + 4|0);
+ $36 = $3 & 1;
+ $37 = $36 | $1;
+ $38 = $37 | 2;
+ HEAP32[$2>>2] = $38;
+ HEAP32[$35>>2] = $34;
+ HEAP32[(72736)>>2] = $33;
+ HEAP32[(72724)>>2] = $32;
+ $$2 = $0;
+ return ($$2|0);
+ }
+ $39 = HEAP32[(72732)>>2]|0;
+ $40 = ($39|0)==($5|0);
+ if ($40) {
+ $41 = HEAP32[(72720)>>2]|0;
+ $42 = (($41) + ($4))|0;
+ $43 = ($42>>>0)<($1>>>0);
+ if ($43) {
+ $$2 = 0;
+ return ($$2|0);
+ }
+ $44 = (($42) - ($1))|0;
+ $45 = ($44>>>0)>(15);
+ if ($45) {
+ $46 = (($0) + ($1)|0);
+ $47 = (($0) + ($42)|0);
+ $48 = $3 & 1;
+ $49 = $48 | $1;
+ $50 = $49 | 2;
+ HEAP32[$2>>2] = $50;
+ $51 = ((($46)) + 4|0);
+ $52 = $44 | 1;
+ HEAP32[$51>>2] = $52;
+ HEAP32[$47>>2] = $44;
+ $53 = ((($47)) + 4|0);
+ $54 = HEAP32[$53>>2]|0;
+ $55 = $54 & -2;
+ HEAP32[$53>>2] = $55;
+ $storemerge = $46;$storemerge1 = $44;
+ } else {
+ $56 = $3 & 1;
+ $57 = $56 | $42;
+ $58 = $57 | 2;
+ HEAP32[$2>>2] = $58;
+ $59 = (($0) + ($42)|0);
+ $60 = ((($59)) + 4|0);
+ $61 = HEAP32[$60>>2]|0;
+ $62 = $61 | 1;
+ HEAP32[$60>>2] = $62;
+ $storemerge = 0;$storemerge1 = 0;
+ }
+ HEAP32[(72720)>>2] = $storemerge1;
+ HEAP32[(72732)>>2] = $storemerge;
+ $$2 = $0;
+ return ($$2|0);
+ }
+ $63 = ((($5)) + 4|0);
+ $64 = HEAP32[$63>>2]|0;
+ $65 = $64 & 2;
+ $66 = ($65|0)==(0);
+ if (!($66)) {
+ $$2 = 0;
+ return ($$2|0);
+ }
+ $67 = $64 & -8;
+ $68 = (($67) + ($4))|0;
+ $69 = ($68>>>0)<($1>>>0);
+ if ($69) {
+ $$2 = 0;
+ return ($$2|0);
+ }
+ $70 = (($68) - ($1))|0;
+ $71 = $64 >>> 3;
+ $72 = ($64>>>0)<(256);
+ do {
+ if ($72) {
+ $73 = ((($5)) + 8|0);
+ $74 = HEAP32[$73>>2]|0;
+ $75 = ((($5)) + 12|0);
+ $76 = HEAP32[$75>>2]|0;
+ $77 = ($76|0)==($74|0);
+ if ($77) {
+ $78 = 1 << $71;
+ $79 = $78 ^ -1;
+ $80 = HEAP32[18178]|0;
+ $81 = $80 & $79;
+ HEAP32[18178] = $81;
+ break;
+ } else {
+ $82 = ((($74)) + 12|0);
+ HEAP32[$82>>2] = $76;
+ $83 = ((($76)) + 8|0);
+ HEAP32[$83>>2] = $74;
+ break;
+ }
+ } else {
+ $84 = ((($5)) + 24|0);
+ $85 = HEAP32[$84>>2]|0;
+ $86 = ((($5)) + 12|0);
+ $87 = HEAP32[$86>>2]|0;
+ $88 = ($87|0)==($5|0);
+ do {
+ if ($88) {
+ $93 = ((($5)) + 16|0);
+ $94 = ((($93)) + 4|0);
+ $95 = HEAP32[$94>>2]|0;
+ $96 = ($95|0)==(0|0);
+ if ($96) {
+ $97 = HEAP32[$93>>2]|0;
+ $98 = ($97|0)==(0|0);
+ if ($98) {
+ $$3 = 0;
+ break;
+ } else {
+ $$1245$ph = $97;$$1248$ph = $93;
+ }
+ } else {
+ $$1245$ph = $95;$$1248$ph = $94;
+ }
+ $$1245 = $$1245$ph;$$1248 = $$1248$ph;
+ while(1) {
+ $99 = ((($$1245)) + 20|0);
+ $100 = HEAP32[$99>>2]|0;
+ $101 = ($100|0)==(0|0);
+ if ($101) {
+ $102 = ((($$1245)) + 16|0);
+ $103 = HEAP32[$102>>2]|0;
+ $104 = ($103|0)==(0|0);
+ if ($104) {
+ break;
+ } else {
+ $$1245$be = $103;$$1248$be = $102;
+ }
+ } else {
+ $$1245$be = $100;$$1248$be = $99;
+ }
+ $$1245 = $$1245$be;$$1248 = $$1248$be;
+ }
+ HEAP32[$$1248>>2] = 0;
+ $$3 = $$1245;
+ } else {
+ $89 = ((($5)) + 8|0);
+ $90 = HEAP32[$89>>2]|0;
+ $91 = ((($90)) + 12|0);
+ HEAP32[$91>>2] = $87;
+ $92 = ((($87)) + 8|0);
+ HEAP32[$92>>2] = $90;
+ $$3 = $87;
+ }
+ } while(0);
+ $105 = ($85|0)==(0|0);
+ if (!($105)) {
+ $106 = ((($5)) + 28|0);
+ $107 = HEAP32[$106>>2]|0;
+ $108 = (73016 + ($107<<2)|0);
+ $109 = HEAP32[$108>>2]|0;
+ $110 = ($109|0)==($5|0);
+ if ($110) {
+ HEAP32[$108>>2] = $$3;
+ $cond = ($$3|0)==(0|0);
+ if ($cond) {
+ $111 = 1 << $107;
+ $112 = $111 ^ -1;
+ $113 = HEAP32[(72716)>>2]|0;
+ $114 = $113 & $112;
+ HEAP32[(72716)>>2] = $114;
+ break;
+ }
+ } else {
+ $115 = ((($85)) + 16|0);
+ $116 = HEAP32[$115>>2]|0;
+ $117 = ($116|0)==($5|0);
+ $118 = ((($85)) + 20|0);
+ $$sink = $117 ? $115 : $118;
+ HEAP32[$$sink>>2] = $$3;
+ $119 = ($$3|0)==(0|0);
+ if ($119) {
+ break;
+ }
+ }
+ $120 = ((($$3)) + 24|0);
+ HEAP32[$120>>2] = $85;
+ $121 = ((($5)) + 16|0);
+ $122 = HEAP32[$121>>2]|0;
+ $123 = ($122|0)==(0|0);
+ if (!($123)) {
+ $124 = ((($$3)) + 16|0);
+ HEAP32[$124>>2] = $122;
+ $125 = ((($122)) + 24|0);
+ HEAP32[$125>>2] = $$3;
+ }
+ $126 = ((($121)) + 4|0);
+ $127 = HEAP32[$126>>2]|0;
+ $128 = ($127|0)==(0|0);
+ if (!($128)) {
+ $129 = ((($$3)) + 20|0);
+ HEAP32[$129>>2] = $127;
+ $130 = ((($127)) + 24|0);
+ HEAP32[$130>>2] = $$3;
+ }
+ }
+ }
+ } while(0);
+ $131 = ($70>>>0)<(16);
+ if ($131) {
+ $132 = $3 & 1;
+ $133 = $132 | $68;
+ $134 = $133 | 2;
+ HEAP32[$2>>2] = $134;
+ $135 = (($0) + ($68)|0);
+ $136 = ((($135)) + 4|0);
+ $137 = HEAP32[$136>>2]|0;
+ $138 = $137 | 1;
+ HEAP32[$136>>2] = $138;
+ $$2 = $0;
+ return ($$2|0);
+ } else {
+ $139 = (($0) + ($1)|0);
+ $140 = $3 & 1;
+ $141 = $140 | $1;
+ $142 = $141 | 2;
+ HEAP32[$2>>2] = $142;
+ $143 = ((($139)) + 4|0);
+ $144 = $70 | 3;
+ HEAP32[$143>>2] = $144;
+ $145 = (($0) + ($68)|0);
+ $146 = ((($145)) + 4|0);
+ $147 = HEAP32[$146>>2]|0;
+ $148 = $147 | 1;
+ HEAP32[$146>>2] = $148;
+ _dispose_chunk($139,$70);
+ $$2 = $0;
+ return ($$2|0);
+ }
+ return (0)|0;
+}
+function _dispose_chunk($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $$03649 = 0, $$0365$lcssa = 0, $$03658 = 0, $$0376 = 0, $$0383 = 0, $$1 = 0, $$1363 = 0, $$1371 = 0, $$1371$be = 0, $$1371$ph = 0, $$1374 = 0, $$1374$be = 0, $$1374$ph = 0, $$1378 = 0, $$1378$be = 0, $$1378$ph = 0, $$1382 = 0, $$1382$be = 0, $$1382$ph = 0, $$2 = 0;
+ var $$3 = 0, $$3380 = 0, $$pre = 0, $$pre$phiZ2D = 0, $$sink = 0, $$sink24 = 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;
+ var $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0;
+ var $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0;
+ var $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0;
+ var $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0;
+ var $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0;
+ var $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0;
+ var $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0;
+ var $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $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, $cond = 0, $cond4 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $2 = (($0) + ($1)|0);
+ $3 = ((($0)) + 4|0);
+ $4 = HEAP32[$3>>2]|0;
+ $5 = $4 & 1;
+ $6 = ($5|0)==(0);
+ do {
+ if ($6) {
+ $7 = HEAP32[$0>>2]|0;
+ $8 = $4 & 3;
+ $9 = ($8|0)==(0);
+ if ($9) {
+ return;
+ }
+ $10 = (0 - ($7))|0;
+ $11 = (($0) + ($10)|0);
+ $12 = (($7) + ($1))|0;
+ $13 = HEAP32[(72732)>>2]|0;
+ $14 = ($13|0)==($11|0);
+ if ($14) {
+ $75 = ((($2)) + 4|0);
+ $76 = HEAP32[$75>>2]|0;
+ $77 = $76 & 3;
+ $78 = ($77|0)==(3);
+ if (!($78)) {
+ $$1 = $11;$$1363 = $12;
+ break;
+ }
+ $79 = ((($11)) + 4|0);
+ $80 = $12 | 1;
+ $81 = $76 & -2;
+ HEAP32[(72720)>>2] = $12;
+ HEAP32[$75>>2] = $81;
+ HEAP32[$79>>2] = $80;
+ HEAP32[$2>>2] = $12;
+ return;
+ }
+ $15 = $7 >>> 3;
+ $16 = ($7>>>0)<(256);
+ if ($16) {
+ $17 = ((($11)) + 8|0);
+ $18 = HEAP32[$17>>2]|0;
+ $19 = ((($11)) + 12|0);
+ $20 = HEAP32[$19>>2]|0;
+ $21 = ($20|0)==($18|0);
+ if ($21) {
+ $22 = 1 << $15;
+ $23 = $22 ^ -1;
+ $24 = HEAP32[18178]|0;
+ $25 = $24 & $23;
+ HEAP32[18178] = $25;
+ $$1 = $11;$$1363 = $12;
+ break;
+ } else {
+ $26 = ((($18)) + 12|0);
+ HEAP32[$26>>2] = $20;
+ $27 = ((($20)) + 8|0);
+ HEAP32[$27>>2] = $18;
+ $$1 = $11;$$1363 = $12;
+ break;
+ }
+ }
+ $28 = ((($11)) + 24|0);
+ $29 = HEAP32[$28>>2]|0;
+ $30 = ((($11)) + 12|0);
+ $31 = HEAP32[$30>>2]|0;
+ $32 = ($31|0)==($11|0);
+ do {
+ if ($32) {
+ $37 = ((($11)) + 16|0);
+ $38 = ((($37)) + 4|0);
+ $39 = HEAP32[$38>>2]|0;
+ $40 = ($39|0)==(0|0);
+ if ($40) {
+ $41 = HEAP32[$37>>2]|0;
+ $42 = ($41|0)==(0|0);
+ if ($42) {
+ $$3 = 0;
+ break;
+ } else {
+ $$1371$ph = $41;$$1374$ph = $37;
+ }
+ } else {
+ $$1371$ph = $39;$$1374$ph = $38;
+ }
+ $$1371 = $$1371$ph;$$1374 = $$1374$ph;
+ while(1) {
+ $43 = ((($$1371)) + 20|0);
+ $44 = HEAP32[$43>>2]|0;
+ $45 = ($44|0)==(0|0);
+ if ($45) {
+ $46 = ((($$1371)) + 16|0);
+ $47 = HEAP32[$46>>2]|0;
+ $48 = ($47|0)==(0|0);
+ if ($48) {
+ break;
+ } else {
+ $$1371$be = $47;$$1374$be = $46;
+ }
+ } else {
+ $$1371$be = $44;$$1374$be = $43;
+ }
+ $$1371 = $$1371$be;$$1374 = $$1374$be;
+ }
+ HEAP32[$$1374>>2] = 0;
+ $$3 = $$1371;
+ } else {
+ $33 = ((($11)) + 8|0);
+ $34 = HEAP32[$33>>2]|0;
+ $35 = ((($34)) + 12|0);
+ HEAP32[$35>>2] = $31;
+ $36 = ((($31)) + 8|0);
+ HEAP32[$36>>2] = $34;
+ $$3 = $31;
+ }
+ } while(0);
+ $49 = ($29|0)==(0|0);
+ if ($49) {
+ $$1 = $11;$$1363 = $12;
+ } else {
+ $50 = ((($11)) + 28|0);
+ $51 = HEAP32[$50>>2]|0;
+ $52 = (73016 + ($51<<2)|0);
+ $53 = HEAP32[$52>>2]|0;
+ $54 = ($53|0)==($11|0);
+ if ($54) {
+ HEAP32[$52>>2] = $$3;
+ $cond = ($$3|0)==(0|0);
+ if ($cond) {
+ $55 = 1 << $51;
+ $56 = $55 ^ -1;
+ $57 = HEAP32[(72716)>>2]|0;
+ $58 = $57 & $56;
+ HEAP32[(72716)>>2] = $58;
+ $$1 = $11;$$1363 = $12;
+ break;
+ }
+ } else {
+ $59 = ((($29)) + 16|0);
+ $60 = HEAP32[$59>>2]|0;
+ $61 = ($60|0)==($11|0);
+ $62 = ((($29)) + 20|0);
+ $$sink = $61 ? $59 : $62;
+ HEAP32[$$sink>>2] = $$3;
+ $63 = ($$3|0)==(0|0);
+ if ($63) {
+ $$1 = $11;$$1363 = $12;
+ break;
+ }
+ }
+ $64 = ((($$3)) + 24|0);
+ HEAP32[$64>>2] = $29;
+ $65 = ((($11)) + 16|0);
+ $66 = HEAP32[$65>>2]|0;
+ $67 = ($66|0)==(0|0);
+ if (!($67)) {
+ $68 = ((($$3)) + 16|0);
+ HEAP32[$68>>2] = $66;
+ $69 = ((($66)) + 24|0);
+ HEAP32[$69>>2] = $$3;
+ }
+ $70 = ((($65)) + 4|0);
+ $71 = HEAP32[$70>>2]|0;
+ $72 = ($71|0)==(0|0);
+ if ($72) {
+ $$1 = $11;$$1363 = $12;
+ } else {
+ $73 = ((($$3)) + 20|0);
+ HEAP32[$73>>2] = $71;
+ $74 = ((($71)) + 24|0);
+ HEAP32[$74>>2] = $$3;
+ $$1 = $11;$$1363 = $12;
+ }
+ }
+ } else {
+ $$1 = $0;$$1363 = $1;
+ }
+ } while(0);
+ $82 = ((($2)) + 4|0);
+ $83 = HEAP32[$82>>2]|0;
+ $84 = $83 & 2;
+ $85 = ($84|0)==(0);
+ if ($85) {
+ $86 = HEAP32[(72736)>>2]|0;
+ $87 = ($86|0)==($2|0);
+ if ($87) {
+ $88 = HEAP32[(72724)>>2]|0;
+ $89 = (($88) + ($$1363))|0;
+ HEAP32[(72724)>>2] = $89;
+ HEAP32[(72736)>>2] = $$1;
+ $90 = $89 | 1;
+ $91 = ((($$1)) + 4|0);
+ HEAP32[$91>>2] = $90;
+ $92 = HEAP32[(72732)>>2]|0;
+ $93 = ($$1|0)==($92|0);
+ if (!($93)) {
+ return;
+ }
+ HEAP32[(72732)>>2] = 0;
+ HEAP32[(72720)>>2] = 0;
+ return;
+ }
+ $94 = HEAP32[(72732)>>2]|0;
+ $95 = ($94|0)==($2|0);
+ if ($95) {
+ $96 = HEAP32[(72720)>>2]|0;
+ $97 = (($96) + ($$1363))|0;
+ HEAP32[(72720)>>2] = $97;
+ HEAP32[(72732)>>2] = $$1;
+ $98 = $97 | 1;
+ $99 = ((($$1)) + 4|0);
+ HEAP32[$99>>2] = $98;
+ $100 = (($$1) + ($97)|0);
+ HEAP32[$100>>2] = $97;
+ return;
+ }
+ $101 = $83 & -8;
+ $102 = (($101) + ($$1363))|0;
+ $103 = $83 >>> 3;
+ $104 = ($83>>>0)<(256);
+ do {
+ if ($104) {
+ $105 = ((($2)) + 8|0);
+ $106 = HEAP32[$105>>2]|0;
+ $107 = ((($2)) + 12|0);
+ $108 = HEAP32[$107>>2]|0;
+ $109 = ($108|0)==($106|0);
+ if ($109) {
+ $110 = 1 << $103;
+ $111 = $110 ^ -1;
+ $112 = HEAP32[18178]|0;
+ $113 = $112 & $111;
+ HEAP32[18178] = $113;
+ break;
+ } else {
+ $114 = ((($106)) + 12|0);
+ HEAP32[$114>>2] = $108;
+ $115 = ((($108)) + 8|0);
+ HEAP32[$115>>2] = $106;
+ break;
+ }
+ } else {
+ $116 = ((($2)) + 24|0);
+ $117 = HEAP32[$116>>2]|0;
+ $118 = ((($2)) + 12|0);
+ $119 = HEAP32[$118>>2]|0;
+ $120 = ($119|0)==($2|0);
+ do {
+ if ($120) {
+ $125 = ((($2)) + 16|0);
+ $126 = ((($125)) + 4|0);
+ $127 = HEAP32[$126>>2]|0;
+ $128 = ($127|0)==(0|0);
+ if ($128) {
+ $129 = HEAP32[$125>>2]|0;
+ $130 = ($129|0)==(0|0);
+ if ($130) {
+ $$3380 = 0;
+ break;
+ } else {
+ $$1378$ph = $129;$$1382$ph = $125;
+ }
+ } else {
+ $$1378$ph = $127;$$1382$ph = $126;
+ }
+ $$1378 = $$1378$ph;$$1382 = $$1382$ph;
+ while(1) {
+ $131 = ((($$1378)) + 20|0);
+ $132 = HEAP32[$131>>2]|0;
+ $133 = ($132|0)==(0|0);
+ if ($133) {
+ $134 = ((($$1378)) + 16|0);
+ $135 = HEAP32[$134>>2]|0;
+ $136 = ($135|0)==(0|0);
+ if ($136) {
+ break;
+ } else {
+ $$1378$be = $135;$$1382$be = $134;
+ }
+ } else {
+ $$1378$be = $132;$$1382$be = $131;
+ }
+ $$1378 = $$1378$be;$$1382 = $$1382$be;
+ }
+ HEAP32[$$1382>>2] = 0;
+ $$3380 = $$1378;
+ } else {
+ $121 = ((($2)) + 8|0);
+ $122 = HEAP32[$121>>2]|0;
+ $123 = ((($122)) + 12|0);
+ HEAP32[$123>>2] = $119;
+ $124 = ((($119)) + 8|0);
+ HEAP32[$124>>2] = $122;
+ $$3380 = $119;
+ }
+ } while(0);
+ $137 = ($117|0)==(0|0);
+ if (!($137)) {
+ $138 = ((($2)) + 28|0);
+ $139 = HEAP32[$138>>2]|0;
+ $140 = (73016 + ($139<<2)|0);
+ $141 = HEAP32[$140>>2]|0;
+ $142 = ($141|0)==($2|0);
+ if ($142) {
+ HEAP32[$140>>2] = $$3380;
+ $cond4 = ($$3380|0)==(0|0);
+ if ($cond4) {
+ $143 = 1 << $139;
+ $144 = $143 ^ -1;
+ $145 = HEAP32[(72716)>>2]|0;
+ $146 = $145 & $144;
+ HEAP32[(72716)>>2] = $146;
+ break;
+ }
+ } else {
+ $147 = ((($117)) + 16|0);
+ $148 = HEAP32[$147>>2]|0;
+ $149 = ($148|0)==($2|0);
+ $150 = ((($117)) + 20|0);
+ $$sink24 = $149 ? $147 : $150;
+ HEAP32[$$sink24>>2] = $$3380;
+ $151 = ($$3380|0)==(0|0);
+ if ($151) {
+ break;
+ }
+ }
+ $152 = ((($$3380)) + 24|0);
+ HEAP32[$152>>2] = $117;
+ $153 = ((($2)) + 16|0);
+ $154 = HEAP32[$153>>2]|0;
+ $155 = ($154|0)==(0|0);
+ if (!($155)) {
+ $156 = ((($$3380)) + 16|0);
+ HEAP32[$156>>2] = $154;
+ $157 = ((($154)) + 24|0);
+ HEAP32[$157>>2] = $$3380;
+ }
+ $158 = ((($153)) + 4|0);
+ $159 = HEAP32[$158>>2]|0;
+ $160 = ($159|0)==(0|0);
+ if (!($160)) {
+ $161 = ((($$3380)) + 20|0);
+ HEAP32[$161>>2] = $159;
+ $162 = ((($159)) + 24|0);
+ HEAP32[$162>>2] = $$3380;
+ }
+ }
+ }
+ } while(0);
+ $163 = $102 | 1;
+ $164 = ((($$1)) + 4|0);
+ HEAP32[$164>>2] = $163;
+ $165 = (($$1) + ($102)|0);
+ HEAP32[$165>>2] = $102;
+ $166 = HEAP32[(72732)>>2]|0;
+ $167 = ($$1|0)==($166|0);
+ if ($167) {
+ HEAP32[(72720)>>2] = $102;
+ return;
+ } else {
+ $$2 = $102;
+ }
+ } else {
+ $168 = $83 & -2;
+ HEAP32[$82>>2] = $168;
+ $169 = $$1363 | 1;
+ $170 = ((($$1)) + 4|0);
+ HEAP32[$170>>2] = $169;
+ $171 = (($$1) + ($$1363)|0);
+ HEAP32[$171>>2] = $$1363;
+ $$2 = $$1363;
+ }
+ $172 = $$2 >>> 3;
+ $173 = ($$2>>>0)<(256);
+ if ($173) {
+ $174 = $172 << 1;
+ $175 = (72752 + ($174<<2)|0);
+ $176 = HEAP32[18178]|0;
+ $177 = 1 << $172;
+ $178 = $176 & $177;
+ $179 = ($178|0)==(0);
+ if ($179) {
+ $180 = $176 | $177;
+ HEAP32[18178] = $180;
+ $$pre = ((($175)) + 8|0);
+ $$0383 = $175;$$pre$phiZ2D = $$pre;
+ } else {
+ $181 = ((($175)) + 8|0);
+ $182 = HEAP32[$181>>2]|0;
+ $$0383 = $182;$$pre$phiZ2D = $181;
+ }
+ HEAP32[$$pre$phiZ2D>>2] = $$1;
+ $183 = ((($$0383)) + 12|0);
+ HEAP32[$183>>2] = $$1;
+ $184 = ((($$1)) + 8|0);
+ HEAP32[$184>>2] = $$0383;
+ $185 = ((($$1)) + 12|0);
+ HEAP32[$185>>2] = $175;
+ return;
+ }
+ $186 = $$2 >>> 8;
+ $187 = ($186|0)==(0);
+ if ($187) {
+ $$0376 = 0;
+ } else {
+ $188 = ($$2>>>0)>(16777215);
+ if ($188) {
+ $$0376 = 31;
+ } else {
+ $189 = (($186) + 1048320)|0;
+ $190 = $189 >>> 16;
+ $191 = $190 & 8;
+ $192 = $186 << $191;
+ $193 = (($192) + 520192)|0;
+ $194 = $193 >>> 16;
+ $195 = $194 & 4;
+ $196 = $195 | $191;
+ $197 = $192 << $195;
+ $198 = (($197) + 245760)|0;
+ $199 = $198 >>> 16;
+ $200 = $199 & 2;
+ $201 = $196 | $200;
+ $202 = (14 - ($201))|0;
+ $203 = $197 << $200;
+ $204 = $203 >>> 15;
+ $205 = (($202) + ($204))|0;
+ $206 = $205 << 1;
+ $207 = (($205) + 7)|0;
+ $208 = $$2 >>> $207;
+ $209 = $208 & 1;
+ $210 = $209 | $206;
+ $$0376 = $210;
+ }
+ }
+ $211 = (73016 + ($$0376<<2)|0);
+ $212 = ((($$1)) + 28|0);
+ HEAP32[$212>>2] = $$0376;
+ $213 = ((($$1)) + 16|0);
+ $214 = ((($$1)) + 20|0);
+ HEAP32[$214>>2] = 0;
+ HEAP32[$213>>2] = 0;
+ $215 = HEAP32[(72716)>>2]|0;
+ $216 = 1 << $$0376;
+ $217 = $215 & $216;
+ $218 = ($217|0)==(0);
+ if ($218) {
+ $219 = $215 | $216;
+ HEAP32[(72716)>>2] = $219;
+ HEAP32[$211>>2] = $$1;
+ $220 = ((($$1)) + 24|0);
+ HEAP32[$220>>2] = $211;
+ $221 = ((($$1)) + 12|0);
+ HEAP32[$221>>2] = $$1;
+ $222 = ((($$1)) + 8|0);
+ HEAP32[$222>>2] = $$1;
+ return;
+ }
+ $223 = HEAP32[$211>>2]|0;
+ $224 = ((($223)) + 4|0);
+ $225 = HEAP32[$224>>2]|0;
+ $226 = $225 & -8;
+ $227 = ($226|0)==($$2|0);
+ L104: do {
+ if ($227) {
+ $$0365$lcssa = $223;
+ } else {
+ $228 = ($$0376|0)==(31);
+ $229 = $$0376 >>> 1;
+ $230 = (25 - ($229))|0;
+ $231 = $228 ? 0 : $230;
+ $232 = $$2 << $231;
+ $$03649 = $232;$$03658 = $223;
+ while(1) {
+ $239 = $$03649 >>> 31;
+ $240 = (((($$03658)) + 16|0) + ($239<<2)|0);
+ $235 = HEAP32[$240>>2]|0;
+ $241 = ($235|0)==(0|0);
+ if ($241) {
+ break;
+ }
+ $233 = $$03649 << 1;
+ $234 = ((($235)) + 4|0);
+ $236 = HEAP32[$234>>2]|0;
+ $237 = $236 & -8;
+ $238 = ($237|0)==($$2|0);
+ if ($238) {
+ $$0365$lcssa = $235;
+ break L104;
+ } else {
+ $$03649 = $233;$$03658 = $235;
+ }
+ }
+ HEAP32[$240>>2] = $$1;
+ $242 = ((($$1)) + 24|0);
+ HEAP32[$242>>2] = $$03658;
+ $243 = ((($$1)) + 12|0);
+ HEAP32[$243>>2] = $$1;
+ $244 = ((($$1)) + 8|0);
+ HEAP32[$244>>2] = $$1;
+ return;
+ }
+ } while(0);
+ $245 = ((($$0365$lcssa)) + 8|0);
+ $246 = HEAP32[$245>>2]|0;
+ $247 = ((($246)) + 12|0);
+ HEAP32[$247>>2] = $$1;
+ HEAP32[$245>>2] = $$1;
+ $248 = ((($$1)) + 8|0);
+ HEAP32[$248>>2] = $246;
+ $249 = ((($$1)) + 12|0);
+ HEAP32[$249>>2] = $$0365$lcssa;
+ $250 = ((($$1)) + 24|0);
+ HEAP32[$250>>2] = 0;
+ return;
+}
+function _memalign($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $2 = ($0>>>0)<(9);
+ if ($2) {
+ $3 = (_malloc($1)|0);
+ $$0 = $3;
+ return ($$0|0);
+ } else {
+ $4 = (_internal_memalign($0,$1)|0);
+ $$0 = $4;
+ return ($$0|0);
+ }
+ return (0)|0;
+}
+function _internal_memalign($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $$0100 = 0, $$099 = 0, $$1 = 0, $$198 = 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;
+ var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0;
+ var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0;
+ var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0;
+ var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $9 = 0, $spec$select = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $2 = ($0>>>0)>(16);
+ $spec$select = $2 ? $0 : 16;
+ $3 = (($spec$select) + -1)|0;
+ $4 = $3 & $spec$select;
+ $5 = ($4|0)==(0);
+ if ($5) {
+ $$1 = $spec$select;
+ } else {
+ $$099 = 16;
+ while(1) {
+ $6 = ($$099>>>0)<($spec$select>>>0);
+ $7 = $$099 << 1;
+ if ($6) {
+ $$099 = $7;
+ } else {
+ $$1 = $$099;
+ break;
+ }
+ }
+ }
+ $8 = (-64 - ($$1))|0;
+ $9 = ($8>>>0)>($1>>>0);
+ if (!($9)) {
+ $10 = (___errno_location()|0);
+ HEAP32[$10>>2] = 12;
+ $$198 = 0;
+ return ($$198|0);
+ }
+ $11 = ($1>>>0)<(11);
+ $12 = (($1) + 11)|0;
+ $13 = $12 & -8;
+ $14 = $11 ? 16 : $13;
+ $15 = (($14) + 12)|0;
+ $16 = (($15) + ($$1))|0;
+ $17 = (_malloc($16)|0);
+ $18 = ($17|0)==(0|0);
+ if ($18) {
+ $$198 = 0;
+ return ($$198|0);
+ }
+ $19 = ((($17)) + -8|0);
+ $20 = $17;
+ $21 = (($$1) + -1)|0;
+ $22 = $21 & $20;
+ $23 = ($22|0)==(0);
+ do {
+ if ($23) {
+ $$0100 = $19;$72 = $19;
+ } else {
+ $24 = (($17) + ($$1)|0);
+ $25 = ((($24)) + -1|0);
+ $26 = $25;
+ $27 = (0 - ($$1))|0;
+ $28 = $26 & $27;
+ $29 = $28;
+ $30 = ((($29)) + -8|0);
+ $31 = $30;
+ $32 = $19;
+ $33 = (($31) - ($32))|0;
+ $34 = ($33>>>0)>(15);
+ $35 = (($30) + ($$1)|0);
+ $36 = $34 ? $30 : $35;
+ $37 = $36;
+ $38 = (($37) - ($32))|0;
+ $39 = ((($17)) + -4|0);
+ $40 = HEAP32[$39>>2]|0;
+ $41 = $40 & -8;
+ $42 = (($41) - ($38))|0;
+ $43 = $40 & 3;
+ $44 = ($43|0)==(0);
+ if ($44) {
+ $45 = HEAP32[$19>>2]|0;
+ $46 = (($45) + ($38))|0;
+ HEAP32[$36>>2] = $46;
+ $47 = ((($36)) + 4|0);
+ HEAP32[$47>>2] = $42;
+ $$0100 = $36;$72 = $36;
+ break;
+ } else {
+ $48 = ((($36)) + 4|0);
+ $49 = HEAP32[$48>>2]|0;
+ $50 = $49 & 1;
+ $51 = $42 | $50;
+ $52 = $51 | 2;
+ HEAP32[$48>>2] = $52;
+ $53 = (($36) + ($42)|0);
+ $54 = ((($53)) + 4|0);
+ $55 = HEAP32[$54>>2]|0;
+ $56 = $55 | 1;
+ HEAP32[$54>>2] = $56;
+ $57 = HEAP32[$39>>2]|0;
+ $58 = $57 & 1;
+ $59 = $38 | $58;
+ $60 = $59 | 2;
+ HEAP32[$39>>2] = $60;
+ $61 = HEAP32[$48>>2]|0;
+ $62 = $61 | 1;
+ HEAP32[$48>>2] = $62;
+ _dispose_chunk($19,$38);
+ $$0100 = $36;$72 = $36;
+ break;
+ }
+ }
+ } while(0);
+ $63 = ((($$0100)) + 4|0);
+ $64 = HEAP32[$63>>2]|0;
+ $65 = $64 & 3;
+ $66 = ($65|0)==(0);
+ if (!($66)) {
+ $67 = $64 & -8;
+ $68 = (($14) + 16)|0;
+ $69 = ($67>>>0)>($68>>>0);
+ if ($69) {
+ $70 = (($67) - ($14))|0;
+ $71 = (($72) + ($14)|0);
+ $73 = $64 & 1;
+ $74 = $14 | $73;
+ $75 = $74 | 2;
+ HEAP32[$63>>2] = $75;
+ $76 = ((($71)) + 4|0);
+ $77 = $70 | 3;
+ HEAP32[$76>>2] = $77;
+ $78 = (($72) + ($67)|0);
+ $79 = ((($78)) + 4|0);
+ $80 = HEAP32[$79>>2]|0;
+ $81 = $80 | 1;
+ HEAP32[$79>>2] = $81;
+ _dispose_chunk($71,$70);
+ }
+ }
+ $82 = ((($72)) + 8|0);
+ $$198 = $82;
+ return ($$198|0);
+}
+function ___stdio_close($0) {
+ $0 = $0|0;
+ var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $vararg_buffer = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $vararg_buffer = sp;
+ $1 = ((($0)) + 60|0);
+ $2 = HEAP32[$1>>2]|0;
+ $3 = (_dummy_33($2)|0);
+ HEAP32[$vararg_buffer>>2] = $3;
+ $4 = (___syscall6(6,($vararg_buffer|0))|0);
+ $5 = (___syscall_ret($4)|0);
+ STACKTOP = sp;return ($5|0);
+}
+function ___stdio_read($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$0 = 0, $$cast = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
+ var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0;
+ var sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
+ $vararg_buffer = sp + 16|0;
+ $3 = sp;
+ HEAP32[$3>>2] = $1;
+ $4 = ((($3)) + 4|0);
+ $5 = ((($0)) + 48|0);
+ $6 = HEAP32[$5>>2]|0;
+ $7 = ($6|0)!=(0);
+ $8 = $7&1;
+ $9 = (($2) - ($8))|0;
+ HEAP32[$4>>2] = $9;
+ $10 = ((($3)) + 8|0);
+ $11 = ((($0)) + 44|0);
+ $12 = HEAP32[$11>>2]|0;
+ HEAP32[$10>>2] = $12;
+ $13 = ((($3)) + 12|0);
+ HEAP32[$13>>2] = $6;
+ $14 = ((($0)) + 60|0);
+ $15 = HEAP32[$14>>2]|0;
+ $16 = $3;
+ HEAP32[$vararg_buffer>>2] = $15;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = $16;
+ $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
+ HEAP32[$vararg_ptr2>>2] = 2;
+ $17 = (___syscall145(145,($vararg_buffer|0))|0);
+ $18 = (___syscall_ret($17)|0);
+ $19 = ($18|0)<(1);
+ if ($19) {
+ $20 = $18 & 48;
+ $21 = $20 ^ 16;
+ $22 = HEAP32[$0>>2]|0;
+ $23 = $22 | $21;
+ HEAP32[$0>>2] = $23;
+ $$0 = $18;
+ } else {
+ $24 = HEAP32[$4>>2]|0;
+ $25 = ($18>>>0)>($24>>>0);
+ if ($25) {
+ $26 = (($18) - ($24))|0;
+ $27 = HEAP32[$11>>2]|0;
+ $28 = ((($0)) + 4|0);
+ HEAP32[$28>>2] = $27;
+ $$cast = $27;
+ $29 = (($$cast) + ($26)|0);
+ $30 = ((($0)) + 8|0);
+ HEAP32[$30>>2] = $29;
+ $31 = HEAP32[$5>>2]|0;
+ $32 = ($31|0)==(0);
+ if ($32) {
+ $$0 = $2;
+ } else {
+ $33 = ((($$cast)) + 1|0);
+ HEAP32[$28>>2] = $33;
+ $34 = HEAP8[$$cast>>0]|0;
+ $35 = (($2) + -1)|0;
+ $36 = (($1) + ($35)|0);
+ HEAP8[$36>>0] = $34;
+ $$0 = $2;
+ }
+ } else {
+ $$0 = $18;
+ }
+ }
+ STACKTOP = sp;return ($$0|0);
+}
+function ___stdio_seek($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$pre = 0, $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
+ $vararg_buffer = sp;
+ $3 = sp + 20|0;
+ $4 = ((($0)) + 60|0);
+ $5 = HEAP32[$4>>2]|0;
+ $6 = $3;
+ HEAP32[$vararg_buffer>>2] = $5;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 0;
+ $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
+ HEAP32[$vararg_ptr2>>2] = $1;
+ $vararg_ptr3 = ((($vararg_buffer)) + 12|0);
+ HEAP32[$vararg_ptr3>>2] = $6;
+ $vararg_ptr4 = ((($vararg_buffer)) + 16|0);
+ HEAP32[$vararg_ptr4>>2] = $2;
+ $7 = (___syscall140(140,($vararg_buffer|0))|0);
+ $8 = (___syscall_ret($7)|0);
+ $9 = ($8|0)<(0);
+ if ($9) {
+ HEAP32[$3>>2] = -1;
+ $10 = -1;
+ } else {
+ $$pre = HEAP32[$3>>2]|0;
+ $10 = $$pre;
+ }
+ STACKTOP = sp;return ($10|0);
+}
+function ___syscall_ret($0) {
+ $0 = $0|0;
+ var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = ($0>>>0)>(4294963200);
+ if ($1) {
+ $2 = (0 - ($0))|0;
+ $3 = (___errno_location()|0);
+ HEAP32[$3>>2] = $2;
+ $$0 = -1;
+ } else {
+ $$0 = $0;
+ }
+ return ($$0|0);
+}
+function ___errno_location() {
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ return (73208|0);
+}
+function _dummy_33($0) {
+ $0 = $0|0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ return ($0|0);
+}
+function ___stdout_write($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
+ $vararg_buffer = sp;
+ $3 = sp + 16|0;
+ $4 = ((($0)) + 36|0);
+ HEAP32[$4>>2] = 52;
+ $5 = HEAP32[$0>>2]|0;
+ $6 = $5 & 64;
+ $7 = ($6|0)==(0);
+ if ($7) {
+ $8 = ((($0)) + 60|0);
+ $9 = HEAP32[$8>>2]|0;
+ $10 = $3;
+ HEAP32[$vararg_buffer>>2] = $9;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 21523;
+ $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
+ HEAP32[$vararg_ptr2>>2] = $10;
+ $11 = (___syscall54(54,($vararg_buffer|0))|0);
+ $12 = ($11|0)==(0);
+ if (!($12)) {
+ $13 = ((($0)) + 75|0);
+ HEAP8[$13>>0] = -1;
+ }
+ }
+ $14 = (___stdio_write($0,$1,$2)|0);
+ STACKTOP = sp;return ($14|0);
+}
+function ___stdio_write($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$0 = 0, $$04756 = 0, $$04855 = 0, $$04954 = 0, $$051 = 0, $$1 = 0, $$150 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0;
+ var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0;
+ var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0;
+ var $vararg_ptr6 = 0, $vararg_ptr7 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
+ $vararg_buffer3 = sp + 32|0;
+ $vararg_buffer = sp + 16|0;
+ $3 = sp;
+ $4 = ((($0)) + 28|0);
+ $5 = HEAP32[$4>>2]|0;
+ HEAP32[$3>>2] = $5;
+ $6 = ((($3)) + 4|0);
+ $7 = ((($0)) + 20|0);
+ $8 = HEAP32[$7>>2]|0;
+ $9 = (($8) - ($5))|0;
+ HEAP32[$6>>2] = $9;
+ $10 = ((($3)) + 8|0);
+ HEAP32[$10>>2] = $1;
+ $11 = ((($3)) + 12|0);
+ HEAP32[$11>>2] = $2;
+ $12 = (($9) + ($2))|0;
+ $13 = ((($0)) + 60|0);
+ $14 = HEAP32[$13>>2]|0;
+ $15 = $3;
+ HEAP32[$vararg_buffer>>2] = $14;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = $15;
+ $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
+ HEAP32[$vararg_ptr2>>2] = 2;
+ $16 = (___syscall146(146,($vararg_buffer|0))|0);
+ $17 = (___syscall_ret($16)|0);
+ $18 = ($12|0)==($17|0);
+ L1: do {
+ if ($18) {
+ label = 3;
+ } else {
+ $$04756 = 2;$$04855 = $12;$$04954 = $3;$27 = $17;
+ while(1) {
+ $26 = ($27|0)<(0);
+ if ($26) {
+ break;
+ }
+ $35 = (($$04855) - ($27))|0;
+ $36 = ((($$04954)) + 4|0);
+ $37 = HEAP32[$36>>2]|0;
+ $38 = ($27>>>0)>($37>>>0);
+ $39 = ((($$04954)) + 8|0);
+ $$150 = $38 ? $39 : $$04954;
+ $40 = $38 << 31 >> 31;
+ $$1 = (($$04756) + ($40))|0;
+ $41 = $38 ? $37 : 0;
+ $$0 = (($27) - ($41))|0;
+ $42 = HEAP32[$$150>>2]|0;
+ $43 = (($42) + ($$0)|0);
+ HEAP32[$$150>>2] = $43;
+ $44 = ((($$150)) + 4|0);
+ $45 = HEAP32[$44>>2]|0;
+ $46 = (($45) - ($$0))|0;
+ HEAP32[$44>>2] = $46;
+ $47 = HEAP32[$13>>2]|0;
+ $48 = $$150;
+ HEAP32[$vararg_buffer3>>2] = $47;
+ $vararg_ptr6 = ((($vararg_buffer3)) + 4|0);
+ HEAP32[$vararg_ptr6>>2] = $48;
+ $vararg_ptr7 = ((($vararg_buffer3)) + 8|0);
+ HEAP32[$vararg_ptr7>>2] = $$1;
+ $49 = (___syscall146(146,($vararg_buffer3|0))|0);
+ $50 = (___syscall_ret($49)|0);
+ $51 = ($35|0)==($50|0);
+ if ($51) {
+ label = 3;
+ break L1;
+ } else {
+ $$04756 = $$1;$$04855 = $35;$$04954 = $$150;$27 = $50;
+ }
+ }
+ $28 = ((($0)) + 16|0);
+ HEAP32[$28>>2] = 0;
+ HEAP32[$4>>2] = 0;
+ HEAP32[$7>>2] = 0;
+ $29 = HEAP32[$0>>2]|0;
+ $30 = $29 | 32;
+ HEAP32[$0>>2] = $30;
+ $31 = ($$04756|0)==(2);
+ if ($31) {
+ $$051 = 0;
+ } else {
+ $32 = ((($$04954)) + 4|0);
+ $33 = HEAP32[$32>>2]|0;
+ $34 = (($2) - ($33))|0;
+ $$051 = $34;
+ }
+ }
+ } while(0);
+ if ((label|0) == 3) {
+ $19 = ((($0)) + 44|0);
+ $20 = HEAP32[$19>>2]|0;
+ $21 = ((($0)) + 48|0);
+ $22 = HEAP32[$21>>2]|0;
+ $23 = (($20) + ($22)|0);
+ $24 = ((($0)) + 16|0);
+ HEAP32[$24>>2] = $23;
+ $25 = $20;
+ HEAP32[$4>>2] = $25;
+ HEAP32[$7>>2] = $25;
+ $$051 = $2;
+ }
+ STACKTOP = sp;return ($$051|0);
+}
+function _select($0,$1,$2,$3,$4) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ var $10 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
+ $vararg_buffer = sp;
+ $5 = $1;
+ $6 = $2;
+ $7 = $3;
+ $8 = $4;
+ HEAP32[$vararg_buffer>>2] = $0;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = $5;
+ $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
+ HEAP32[$vararg_ptr2>>2] = $6;
+ $vararg_ptr3 = ((($vararg_buffer)) + 12|0);
+ HEAP32[$vararg_ptr3>>2] = $7;
+ $vararg_ptr4 = ((($vararg_buffer)) + 16|0);
+ HEAP32[$vararg_ptr4>>2] = $8;
+ $9 = (___syscall142(142,($vararg_buffer|0))|0);
+ $10 = (___syscall_ret($9)|0);
+ STACKTOP = sp;return ($10|0);
+}
+function ___fwritex($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$03846 = 0, $$042 = 0, $$1 = 0, $$139 = 0, $$141 = 0, $$143 = 0, $$pre = 0, $$pre48 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0;
+ var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
+ var $9 = 0, $or$cond = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $3 = ((($2)) + 16|0);
+ $4 = HEAP32[$3>>2]|0;
+ $5 = ($4|0)==(0|0);
+ if ($5) {
+ $7 = (___towrite($2)|0);
+ $8 = ($7|0)==(0);
+ if ($8) {
+ $$pre = HEAP32[$3>>2]|0;
+ $12 = $$pre;
+ label = 5;
+ } else {
+ $$1 = 0;
+ }
+ } else {
+ $6 = $4;
+ $12 = $6;
+ label = 5;
+ }
+ L5: do {
+ if ((label|0) == 5) {
+ $9 = ((($2)) + 20|0);
+ $10 = HEAP32[$9>>2]|0;
+ $11 = (($12) - ($10))|0;
+ $13 = ($11>>>0)<($1>>>0);
+ $14 = $10;
+ if ($13) {
+ $15 = ((($2)) + 36|0);
+ $16 = HEAP32[$15>>2]|0;
+ $17 = (FUNCTION_TABLE_iiii[$16 & 127]($2,$0,$1)|0);
+ $$1 = $17;
+ break;
+ }
+ $18 = ((($2)) + 75|0);
+ $19 = HEAP8[$18>>0]|0;
+ $20 = ($19<<24>>24)<(0);
+ $21 = ($1|0)==(0);
+ $or$cond = $20 | $21;
+ L10: do {
+ if ($or$cond) {
+ $$139 = 0;$$141 = $0;$$143 = $1;$32 = $14;
+ } else {
+ $$03846 = $1;
+ while(1) {
+ $23 = (($$03846) + -1)|0;
+ $24 = (($0) + ($23)|0);
+ $25 = HEAP8[$24>>0]|0;
+ $26 = ($25<<24>>24)==(10);
+ if ($26) {
+ break;
+ }
+ $22 = ($23|0)==(0);
+ if ($22) {
+ $$139 = 0;$$141 = $0;$$143 = $1;$32 = $14;
+ break L10;
+ } else {
+ $$03846 = $23;
+ }
+ }
+ $27 = ((($2)) + 36|0);
+ $28 = HEAP32[$27>>2]|0;
+ $29 = (FUNCTION_TABLE_iiii[$28 & 127]($2,$0,$$03846)|0);
+ $30 = ($29>>>0)<($$03846>>>0);
+ if ($30) {
+ $$1 = $29;
+ break L5;
+ }
+ $31 = (($0) + ($$03846)|0);
+ $$042 = (($1) - ($$03846))|0;
+ $$pre48 = HEAP32[$9>>2]|0;
+ $$139 = $$03846;$$141 = $31;$$143 = $$042;$32 = $$pre48;
+ }
+ } while(0);
+ (_memcpy(($32|0),($$141|0),($$143|0))|0);
+ $33 = HEAP32[$9>>2]|0;
+ $34 = (($33) + ($$143)|0);
+ HEAP32[$9>>2] = $34;
+ $35 = (($$139) + ($$143))|0;
+ $$1 = $35;
+ }
+ } while(0);
+ return ($$1|0);
+}
+function ___towrite($0) {
+ $0 = $0|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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0;
+ var $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = ((($0)) + 74|0);
+ $2 = HEAP8[$1>>0]|0;
+ $3 = $2 << 24 >> 24;
+ $4 = (($3) + 255)|0;
+ $5 = $4 | $3;
+ $6 = $5&255;
+ HEAP8[$1>>0] = $6;
+ $7 = HEAP32[$0>>2]|0;
+ $8 = $7 & 8;
+ $9 = ($8|0)==(0);
+ if ($9) {
+ $11 = ((($0)) + 8|0);
+ HEAP32[$11>>2] = 0;
+ $12 = ((($0)) + 4|0);
+ HEAP32[$12>>2] = 0;
+ $13 = ((($0)) + 44|0);
+ $14 = HEAP32[$13>>2]|0;
+ $15 = ((($0)) + 28|0);
+ HEAP32[$15>>2] = $14;
+ $16 = ((($0)) + 20|0);
+ HEAP32[$16>>2] = $14;
+ $17 = $14;
+ $18 = ((($0)) + 48|0);
+ $19 = HEAP32[$18>>2]|0;
+ $20 = (($17) + ($19)|0);
+ $21 = ((($0)) + 16|0);
+ HEAP32[$21>>2] = $20;
+ $$0 = 0;
+ } else {
+ $10 = $7 | 32;
+ HEAP32[$0>>2] = $10;
+ $$0 = -1;
+ }
+ return ($$0|0);
+}
+function _fwrite($0,$1,$2,$3) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, $spec$select = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $4 = Math_imul($2, $1)|0;
+ $5 = ($1|0)==(0);
+ $spec$select = $5 ? 0 : $2;
+ $6 = ((($3)) + 76|0);
+ $7 = HEAP32[$6>>2]|0;
+ $8 = ($7|0)>(-1);
+ if ($8) {
+ $10 = (___lockfile($3)|0);
+ $phitmp = ($10|0)==(0);
+ $11 = (___fwritex($0,$4,$3)|0);
+ if ($phitmp) {
+ $13 = $11;
+ } else {
+ ___unlockfile($3);
+ $13 = $11;
+ }
+ } else {
+ $9 = (___fwritex($0,$4,$3)|0);
+ $13 = $9;
+ }
+ $12 = ($13|0)==($4|0);
+ if ($12) {
+ $15 = $spec$select;
+ } else {
+ $14 = (($13>>>0) / ($1>>>0))&-1;
+ $15 = $14;
+ }
+ return ($15|0);
+}
+function ___lockfile($0) {
+ $0 = $0|0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ return 0;
+}
+function ___unlockfile($0) {
+ $0 = $0|0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ return;
+}
+function ___toread($0) {
+ $0 = $0|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 $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $sext = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = ((($0)) + 74|0);
+ $2 = HEAP8[$1>>0]|0;
+ $3 = $2 << 24 >> 24;
+ $4 = (($3) + 255)|0;
+ $5 = $4 | $3;
+ $6 = $5&255;
+ HEAP8[$1>>0] = $6;
+ $7 = ((($0)) + 20|0);
+ $8 = HEAP32[$7>>2]|0;
+ $9 = ((($0)) + 28|0);
+ $10 = HEAP32[$9>>2]|0;
+ $11 = ($8>>>0)>($10>>>0);
+ if ($11) {
+ $12 = ((($0)) + 36|0);
+ $13 = HEAP32[$12>>2]|0;
+ (FUNCTION_TABLE_iiii[$13 & 127]($0,0,0)|0);
+ }
+ $14 = ((($0)) + 16|0);
+ HEAP32[$14>>2] = 0;
+ HEAP32[$9>>2] = 0;
+ HEAP32[$7>>2] = 0;
+ $15 = HEAP32[$0>>2]|0;
+ $16 = $15 & 4;
+ $17 = ($16|0)==(0);
+ if ($17) {
+ $19 = ((($0)) + 44|0);
+ $20 = HEAP32[$19>>2]|0;
+ $21 = ((($0)) + 48|0);
+ $22 = HEAP32[$21>>2]|0;
+ $23 = (($20) + ($22)|0);
+ $24 = ((($0)) + 8|0);
+ HEAP32[$24>>2] = $23;
+ $25 = ((($0)) + 4|0);
+ HEAP32[$25>>2] = $23;
+ $26 = $15 << 27;
+ $sext = $26 >> 31;
+ $$0 = $sext;
+ } else {
+ $18 = $15 | 32;
+ HEAP32[$0>>2] = $18;
+ $$0 = -1;
+ }
+ return ($$0|0);
+}
+function _isspace($0) {
+ $0 = $0|0;
+ var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $narrow = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = ($0|0)==(32);
+ $2 = (($0) + -9)|0;
+ $3 = ($2>>>0)<(5);
+ $narrow = $1 | $3;
+ $4 = $narrow&1;
+ return ($4|0);
+}
+function ___shlim($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $2 = ((($0)) + 104|0);
+ HEAP32[$2>>2] = $1;
+ $3 = ((($0)) + 8|0);
+ $4 = HEAP32[$3>>2]|0;
+ $5 = ((($0)) + 4|0);
+ $6 = HEAP32[$5>>2]|0;
+ $7 = (($4) - ($6))|0;
+ $8 = ((($0)) + 108|0);
+ HEAP32[$8>>2] = $7;
+ $9 = ($1|0)!=(0);
+ $10 = ($7|0)>($1|0);
+ $or$cond = $9 & $10;
+ if ($or$cond) {
+ $11 = $6;
+ $12 = (($11) + ($1)|0);
+ $13 = ((($0)) + 100|0);
+ HEAP32[$13>>2] = $12;
+ } else {
+ $14 = ((($0)) + 100|0);
+ HEAP32[$14>>2] = $4;
+ }
+ return;
+}
+function ___shgetc($0) {
+ $0 = $0|0;
+ var $$0 = 0, $$phi$trans$insert = 0, $$phi$trans$insert28 = 0, $$pre = 0, $$pre29 = 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 $41 = 0, $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = ((($0)) + 104|0);
+ $2 = HEAP32[$1>>2]|0;
+ $3 = ($2|0)==(0);
+ if ($3) {
+ label = 3;
+ } else {
+ $4 = ((($0)) + 108|0);
+ $5 = HEAP32[$4>>2]|0;
+ $6 = ($5|0)<($2|0);
+ if ($6) {
+ label = 3;
+ } else {
+ label = 4;
+ }
+ }
+ if ((label|0) == 3) {
+ $7 = (___uflow($0)|0);
+ $8 = ($7|0)<(0);
+ if ($8) {
+ label = 4;
+ } else {
+ $10 = HEAP32[$1>>2]|0;
+ $11 = ($10|0)==(0);
+ $$phi$trans$insert = ((($0)) + 8|0);
+ $$pre = HEAP32[$$phi$trans$insert>>2]|0;
+ if ($11) {
+ $12 = $$pre;
+ $42 = $12;
+ label = 9;
+ } else {
+ $13 = ((($0)) + 4|0);
+ $14 = HEAP32[$13>>2]|0;
+ $15 = $14;
+ $16 = (($$pre) - ($15))|0;
+ $17 = ((($0)) + 108|0);
+ $18 = HEAP32[$17>>2]|0;
+ $19 = (($10) - ($18))|0;
+ $20 = ($16|0)<($19|0);
+ $21 = $$pre;
+ if ($20) {
+ $42 = $21;
+ label = 9;
+ } else {
+ $22 = (($19) + -1)|0;
+ $23 = (($14) + ($22)|0);
+ $24 = ((($0)) + 100|0);
+ HEAP32[$24>>2] = $23;
+ $27 = $21;
+ }
+ }
+ if ((label|0) == 9) {
+ $25 = ((($0)) + 100|0);
+ HEAP32[$25>>2] = $$pre;
+ $27 = $42;
+ }
+ $26 = ($27|0)==(0|0);
+ $$phi$trans$insert28 = ((($0)) + 4|0);
+ if ($26) {
+ $$pre29 = HEAP32[$$phi$trans$insert28>>2]|0;
+ $37 = $$pre29;
+ } else {
+ $28 = HEAP32[$$phi$trans$insert28>>2]|0;
+ $29 = $27;
+ $30 = ((($0)) + 108|0);
+ $31 = HEAP32[$30>>2]|0;
+ $32 = (($29) + 1)|0;
+ $33 = (($32) - ($28))|0;
+ $34 = (($33) + ($31))|0;
+ HEAP32[$30>>2] = $34;
+ $35 = $28;
+ $37 = $35;
+ }
+ $36 = ((($37)) + -1|0);
+ $38 = HEAP8[$36>>0]|0;
+ $39 = $38&255;
+ $40 = ($7|0)==($39|0);
+ if ($40) {
+ $$0 = $7;
+ } else {
+ $41 = $7&255;
+ HEAP8[$36>>0] = $41;
+ $$0 = $7;
+ }
+ }
+ }
+ if ((label|0) == 4) {
+ $9 = ((($0)) + 100|0);
+ HEAP32[$9>>2] = 0;
+ $$0 = -1;
+ }
+ return ($$0|0);
+}
+function _isdigit($0) {
+ $0 = $0|0;
+ var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = (($0) + -48)|0;
+ $2 = ($1>>>0)<(10);
+ $3 = $2&1;
+ return ($3|0);
+}
+function ___intscan($0,$1,$2,$3,$4) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ var $$0154215 = 0, $$0157 = 0, $$0159 = 0, $$1155184 = 0, $$1158 = 0, $$1160 = 0, $$1160170 = 0, $$1165 = 0, $$1165168 = 0, $$1165169 = 0, $$2156202 = 0, $$3162208 = 0, $$4163$lcssa = 0, $$6$lcssa = 0, $$7190 = 0, $$8 = 0, $$pre$phi237Z2D = 0, $$pre$phi239Z2D = 0, $10 = 0, $100 = 0;
+ var $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0;
+ var $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0;
+ var $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0;
+ var $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0;
+ var $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0;
+ var $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0;
+ var $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0;
+ var $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0;
+ var $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0;
+ var $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0;
+ var $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $30 = 0, $31 = 0, $32 = 0;
+ var $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0;
+ var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0;
+ var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0;
+ var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond12 = 0, $or$cond179 = 0, $or$cond5 = 0, $or$cond7 = 0, $spec$select166 = 0, $spec$select167 = 0, label = 0;
+ var sp = 0;
+ sp = STACKTOP;
+ $5 = ($1>>>0)>(36);
+ L1: do {
+ if ($5) {
+ $6 = (___errno_location()|0);
+ HEAP32[$6>>2] = 22;
+ $291 = 0;$292 = 0;
+ } else {
+ $7 = ((($0)) + 4|0);
+ $8 = ((($0)) + 100|0);
+ while(1) {
+ $9 = HEAP32[$7>>2]|0;
+ $10 = HEAP32[$8>>2]|0;
+ $11 = ($9>>>0)<($10>>>0);
+ if ($11) {
+ $12 = ((($9)) + 1|0);
+ HEAP32[$7>>2] = $12;
+ $13 = HEAP8[$9>>0]|0;
+ $14 = $13&255;
+ $16 = $14;
+ } else {
+ $15 = (___shgetc($0)|0);
+ $16 = $15;
+ }
+ $17 = (_isspace($16)|0);
+ $18 = ($17|0)==(0);
+ if ($18) {
+ break;
+ }
+ }
+ L11: do {
+ switch ($16|0) {
+ case 43: case 45: {
+ $19 = ($16|0)==(45);
+ $20 = $19 << 31 >> 31;
+ $21 = HEAP32[$7>>2]|0;
+ $22 = HEAP32[$8>>2]|0;
+ $23 = ($21>>>0)<($22>>>0);
+ if ($23) {
+ $24 = ((($21)) + 1|0);
+ HEAP32[$7>>2] = $24;
+ $25 = HEAP8[$21>>0]|0;
+ $26 = $25&255;
+ $$0157 = $20;$$0159 = $26;
+ break L11;
+ } else {
+ $27 = (___shgetc($0)|0);
+ $$0157 = $20;$$0159 = $27;
+ break L11;
+ }
+ break;
+ }
+ default: {
+ $$0157 = 0;$$0159 = $16;
+ }
+ }
+ } while(0);
+ $28 = ($1|0)==(0);
+ $29 = $1 | 16;
+ $30 = ($29|0)==(16);
+ $31 = ($$0159|0)==(48);
+ $or$cond5 = $30 & $31;
+ do {
+ if ($or$cond5) {
+ $32 = HEAP32[$7>>2]|0;
+ $33 = HEAP32[$8>>2]|0;
+ $34 = ($32>>>0)<($33>>>0);
+ if ($34) {
+ $35 = ((($32)) + 1|0);
+ HEAP32[$7>>2] = $35;
+ $36 = HEAP8[$32>>0]|0;
+ $37 = $36&255;
+ $40 = $37;
+ } else {
+ $38 = (___shgetc($0)|0);
+ $40 = $38;
+ }
+ $39 = $40 | 32;
+ $41 = ($39|0)==(120);
+ if (!($41)) {
+ if ($28) {
+ $$1160170 = $40;$$1165168 = 8;
+ label = 47;
+ break;
+ } else {
+ $$1160 = $40;$$1165 = $1;
+ label = 32;
+ break;
+ }
+ }
+ $42 = HEAP32[$7>>2]|0;
+ $43 = HEAP32[$8>>2]|0;
+ $44 = ($42>>>0)<($43>>>0);
+ if ($44) {
+ $45 = ((($42)) + 1|0);
+ HEAP32[$7>>2] = $45;
+ $46 = HEAP8[$42>>0]|0;
+ $47 = $46&255;
+ $50 = $47;
+ } else {
+ $48 = (___shgetc($0)|0);
+ $50 = $48;
+ }
+ $49 = ((27681) + ($50)|0);
+ $51 = HEAP8[$49>>0]|0;
+ $52 = ($51&255)>(15);
+ if ($52) {
+ $53 = HEAP32[$8>>2]|0;
+ $54 = ($53|0)==(0|0);
+ if (!($54)) {
+ $55 = HEAP32[$7>>2]|0;
+ $56 = ((($55)) + -1|0);
+ HEAP32[$7>>2] = $56;
+ }
+ $57 = ($2|0)==(0);
+ if ($57) {
+ ___shlim($0,0);
+ $291 = 0;$292 = 0;
+ break L1;
+ }
+ if ($54) {
+ $291 = 0;$292 = 0;
+ break L1;
+ }
+ $58 = HEAP32[$7>>2]|0;
+ $59 = ((($58)) + -1|0);
+ HEAP32[$7>>2] = $59;
+ $291 = 0;$292 = 0;
+ break L1;
+ } else {
+ $$1160170 = $50;$$1165168 = 16;
+ label = 47;
+ }
+ } else {
+ $spec$select166 = $28 ? 10 : $1;
+ $60 = ((27681) + ($$0159)|0);
+ $61 = HEAP8[$60>>0]|0;
+ $62 = $61&255;
+ $63 = ($spec$select166>>>0)>($62>>>0);
+ if ($63) {
+ $$1160 = $$0159;$$1165 = $spec$select166;
+ label = 32;
+ } else {
+ $64 = HEAP32[$8>>2]|0;
+ $65 = ($64|0)==(0|0);
+ if (!($65)) {
+ $66 = HEAP32[$7>>2]|0;
+ $67 = ((($66)) + -1|0);
+ HEAP32[$7>>2] = $67;
+ }
+ ___shlim($0,0);
+ $68 = (___errno_location()|0);
+ HEAP32[$68>>2] = 22;
+ $291 = 0;$292 = 0;
+ break L1;
+ }
+ }
+ } while(0);
+ L43: do {
+ if ((label|0) == 32) {
+ $69 = ($$1165|0)==(10);
+ if ($69) {
+ $70 = (($$1160) + -48)|0;
+ $71 = ($70>>>0)<(10);
+ if ($71) {
+ $$0154215 = 0;$74 = $70;
+ while(1) {
+ $72 = ($$0154215*10)|0;
+ $73 = (($72) + ($74))|0;
+ $75 = HEAP32[$7>>2]|0;
+ $76 = HEAP32[$8>>2]|0;
+ $77 = ($75>>>0)<($76>>>0);
+ if ($77) {
+ $78 = ((($75)) + 1|0);
+ HEAP32[$7>>2] = $78;
+ $79 = HEAP8[$75>>0]|0;
+ $80 = $79&255;
+ $83 = $80;
+ } else {
+ $81 = (___shgetc($0)|0);
+ $83 = $81;
+ }
+ $82 = (($83) + -48)|0;
+ $84 = ($82>>>0)<(10);
+ $85 = ($73>>>0)<(429496729);
+ $86 = $84 & $85;
+ if ($86) {
+ $$0154215 = $73;$74 = $82;
+ } else {
+ break;
+ }
+ }
+ $87 = ($82>>>0)<(10);
+ if ($87) {
+ $$3162208 = $83;$88 = $73;$89 = 0;$93 = $82;
+ while(1) {
+ $90 = (___muldi3(($88|0),($89|0),10,0)|0);
+ $91 = tempRet0;
+ $92 = ($93|0)<(0);
+ $94 = $92 << 31 >> 31;
+ $95 = $93 ^ -1;
+ $96 = $94 ^ -1;
+ $97 = ($91>>>0)>($96>>>0);
+ $98 = ($90>>>0)>($95>>>0);
+ $99 = ($91|0)==($96|0);
+ $100 = $99 & $98;
+ $101 = $97 | $100;
+ if ($101) {
+ $$1165169 = 10;$$8 = $$3162208;$293 = $88;$294 = $89;
+ label = 76;
+ break L43;
+ }
+ $102 = (_i64Add(($90|0),($91|0),($93|0),($94|0))|0);
+ $103 = tempRet0;
+ $104 = HEAP32[$7>>2]|0;
+ $105 = HEAP32[$8>>2]|0;
+ $106 = ($104>>>0)<($105>>>0);
+ if ($106) {
+ $107 = ((($104)) + 1|0);
+ HEAP32[$7>>2] = $107;
+ $108 = HEAP8[$104>>0]|0;
+ $109 = $108&255;
+ $112 = $109;
+ } else {
+ $110 = (___shgetc($0)|0);
+ $112 = $110;
+ }
+ $111 = (($112) + -48)|0;
+ $113 = ($111>>>0)<(10);
+ $114 = ($103>>>0)<(429496729);
+ $115 = ($102>>>0)<(2576980378);
+ $116 = ($103|0)==(429496729);
+ $117 = $116 & $115;
+ $118 = $114 | $117;
+ $or$cond7 = $113 & $118;
+ if ($or$cond7) {
+ $$3162208 = $112;$88 = $102;$89 = $103;$93 = $111;
+ } else {
+ break;
+ }
+ }
+ $119 = ($111>>>0)>(9);
+ if ($119) {
+ $$1158 = $$0157;$265 = $103;$267 = $102;
+ } else {
+ $$1165169 = 10;$$8 = $112;$293 = $102;$294 = $103;
+ label = 76;
+ }
+ } else {
+ $$1158 = $$0157;$265 = 0;$267 = $73;
+ }
+ } else {
+ $$1158 = $$0157;$265 = 0;$267 = 0;
+ }
+ } else {
+ $$1160170 = $$1160;$$1165168 = $$1165;
+ label = 47;
+ }
+ }
+ } while(0);
+ L63: do {
+ if ((label|0) == 47) {
+ $120 = (($$1165168) + -1)|0;
+ $121 = $120 & $$1165168;
+ $122 = ($121|0)==(0);
+ if ($122) {
+ $123 = ($$1165168*23)|0;
+ $124 = $123 >>> 5;
+ $125 = $124 & 7;
+ $126 = (70604 + ($125)|0);
+ $127 = HEAP8[$126>>0]|0;
+ $128 = $127 << 24 >> 24;
+ $129 = ((27681) + ($$1160170)|0);
+ $130 = HEAP8[$129>>0]|0;
+ $131 = $130&255;
+ $132 = ($$1165168>>>0)>($131>>>0);
+ if ($132) {
+ $$1155184 = 0;$135 = $131;
+ while(1) {
+ $133 = $$1155184 << $128;
+ $134 = $135 | $133;
+ $136 = HEAP32[$7>>2]|0;
+ $137 = HEAP32[$8>>2]|0;
+ $138 = ($136>>>0)<($137>>>0);
+ if ($138) {
+ $139 = ((($136)) + 1|0);
+ HEAP32[$7>>2] = $139;
+ $140 = HEAP8[$136>>0]|0;
+ $141 = $140&255;
+ $144 = $141;
+ } else {
+ $142 = (___shgetc($0)|0);
+ $144 = $142;
+ }
+ $143 = ((27681) + ($144)|0);
+ $145 = HEAP8[$143>>0]|0;
+ $146 = $145&255;
+ $147 = ($$1165168>>>0)>($146>>>0);
+ $148 = ($134>>>0)<(134217728);
+ $149 = $148 & $147;
+ if ($149) {
+ $$1155184 = $134;$135 = $146;
+ } else {
+ break;
+ }
+ }
+ $$4163$lcssa = $144;$$pre$phi237Z2D = $146;$154 = 0;$156 = $134;$295 = $145;
+ } else {
+ $$4163$lcssa = $$1160170;$$pre$phi237Z2D = $131;$154 = 0;$156 = 0;$295 = $130;
+ }
+ $150 = (_bitshift64Lshr(-1,-1,($128|0))|0);
+ $151 = tempRet0;
+ $152 = ($$1165168>>>0)<=($$pre$phi237Z2D>>>0);
+ $153 = ($151>>>0)<($154>>>0);
+ $155 = ($150>>>0)<($156>>>0);
+ $157 = ($151|0)==($154|0);
+ $158 = $157 & $155;
+ $159 = $153 | $158;
+ $or$cond179 = $152 | $159;
+ if ($or$cond179) {
+ $$1165169 = $$1165168;$$8 = $$4163$lcssa;$293 = $156;$294 = $154;
+ label = 76;
+ break;
+ }
+ $160 = $156;$161 = $154;$165 = $295;
+ while(1) {
+ $162 = (_bitshift64Shl(($160|0),($161|0),($128|0))|0);
+ $163 = tempRet0;
+ $164 = $165&255;
+ $166 = $162 | $164;
+ $167 = HEAP32[$7>>2]|0;
+ $168 = HEAP32[$8>>2]|0;
+ $169 = ($167>>>0)<($168>>>0);
+ if ($169) {
+ $170 = ((($167)) + 1|0);
+ HEAP32[$7>>2] = $170;
+ $171 = HEAP8[$167>>0]|0;
+ $172 = $171&255;
+ $175 = $172;
+ } else {
+ $173 = (___shgetc($0)|0);
+ $175 = $173;
+ }
+ $174 = ((27681) + ($175)|0);
+ $176 = HEAP8[$174>>0]|0;
+ $177 = $176&255;
+ $178 = ($$1165168>>>0)<=($177>>>0);
+ $179 = ($163>>>0)>($151>>>0);
+ $180 = ($166>>>0)>($150>>>0);
+ $181 = ($163|0)==($151|0);
+ $182 = $181 & $180;
+ $183 = $179 | $182;
+ $or$cond = $178 | $183;
+ if ($or$cond) {
+ $$1165169 = $$1165168;$$8 = $175;$293 = $166;$294 = $163;
+ label = 76;
+ break L63;
+ } else {
+ $160 = $166;$161 = $163;$165 = $176;
+ }
+ }
+ }
+ $184 = ((27681) + ($$1160170)|0);
+ $185 = HEAP8[$184>>0]|0;
+ $186 = $185&255;
+ $187 = ($$1165168>>>0)>($186>>>0);
+ if ($187) {
+ $$2156202 = 0;$190 = $186;
+ while(1) {
+ $188 = Math_imul($$2156202, $$1165168)|0;
+ $189 = (($190) + ($188))|0;
+ $191 = HEAP32[$7>>2]|0;
+ $192 = HEAP32[$8>>2]|0;
+ $193 = ($191>>>0)<($192>>>0);
+ if ($193) {
+ $194 = ((($191)) + 1|0);
+ HEAP32[$7>>2] = $194;
+ $195 = HEAP8[$191>>0]|0;
+ $196 = $195&255;
+ $199 = $196;
+ } else {
+ $197 = (___shgetc($0)|0);
+ $199 = $197;
+ }
+ $198 = ((27681) + ($199)|0);
+ $200 = HEAP8[$198>>0]|0;
+ $201 = $200&255;
+ $202 = ($$1165168>>>0)>($201>>>0);
+ $203 = ($189>>>0)<(119304647);
+ $204 = $203 & $202;
+ if ($204) {
+ $$2156202 = $189;$190 = $201;
+ } else {
+ break;
+ }
+ }
+ $$6$lcssa = $199;$$pre$phi239Z2D = $201;$296 = $200;$297 = $189;$298 = 0;
+ } else {
+ $$6$lcssa = $$1160170;$$pre$phi239Z2D = $186;$296 = $185;$297 = 0;$298 = 0;
+ }
+ $205 = ($$1165168>>>0)>($$pre$phi239Z2D>>>0);
+ if ($205) {
+ $206 = (___udivdi3(-1,-1,($$1165168|0),0)|0);
+ $207 = tempRet0;
+ $$7190 = $$6$lcssa;$209 = $298;$211 = $297;$218 = $296;
+ while(1) {
+ $208 = ($209>>>0)>($207>>>0);
+ $210 = ($211>>>0)>($206>>>0);
+ $212 = ($209|0)==($207|0);
+ $213 = $212 & $210;
+ $214 = $208 | $213;
+ if ($214) {
+ $$1165169 = $$1165168;$$8 = $$7190;$293 = $211;$294 = $209;
+ label = 76;
+ break L63;
+ }
+ $215 = (___muldi3(($211|0),($209|0),($$1165168|0),0)|0);
+ $216 = tempRet0;
+ $217 = $218&255;
+ $219 = $217 ^ -1;
+ $220 = ($216>>>0)>(4294967295);
+ $221 = ($215>>>0)>($219>>>0);
+ $222 = ($216|0)==(-1);
+ $223 = $222 & $221;
+ $224 = $220 | $223;
+ if ($224) {
+ $$1165169 = $$1165168;$$8 = $$7190;$293 = $211;$294 = $209;
+ label = 76;
+ break L63;
+ }
+ $225 = (_i64Add(($215|0),($216|0),($217|0),0)|0);
+ $226 = tempRet0;
+ $227 = HEAP32[$7>>2]|0;
+ $228 = HEAP32[$8>>2]|0;
+ $229 = ($227>>>0)<($228>>>0);
+ if ($229) {
+ $230 = ((($227)) + 1|0);
+ HEAP32[$7>>2] = $230;
+ $231 = HEAP8[$227>>0]|0;
+ $232 = $231&255;
+ $235 = $232;
+ } else {
+ $233 = (___shgetc($0)|0);
+ $235 = $233;
+ }
+ $234 = ((27681) + ($235)|0);
+ $236 = HEAP8[$234>>0]|0;
+ $237 = $236&255;
+ $238 = ($$1165168>>>0)>($237>>>0);
+ if ($238) {
+ $$7190 = $235;$209 = $226;$211 = $225;$218 = $236;
+ } else {
+ $$1165169 = $$1165168;$$8 = $235;$293 = $225;$294 = $226;
+ label = 76;
+ break;
+ }
+ }
+ } else {
+ $$1165169 = $$1165168;$$8 = $$6$lcssa;$293 = $297;$294 = $298;
+ label = 76;
+ }
+ }
+ } while(0);
+ if ((label|0) == 76) {
+ $239 = ((27681) + ($$8)|0);
+ $240 = HEAP8[$239>>0]|0;
+ $241 = $240&255;
+ $242 = ($$1165169>>>0)>($241>>>0);
+ if ($242) {
+ while(1) {
+ $243 = HEAP32[$7>>2]|0;
+ $244 = HEAP32[$8>>2]|0;
+ $245 = ($243>>>0)<($244>>>0);
+ if ($245) {
+ $246 = ((($243)) + 1|0);
+ HEAP32[$7>>2] = $246;
+ $247 = HEAP8[$243>>0]|0;
+ $248 = $247&255;
+ $251 = $248;
+ } else {
+ $249 = (___shgetc($0)|0);
+ $251 = $249;
+ }
+ $250 = ((27681) + ($251)|0);
+ $252 = HEAP8[$250>>0]|0;
+ $253 = $252&255;
+ $254 = ($$1165169>>>0)>($253>>>0);
+ if (!($254)) {
+ break;
+ }
+ }
+ $255 = (___errno_location()|0);
+ HEAP32[$255>>2] = 34;
+ $256 = $3 & 1;
+ $257 = ($256|0)==(0);
+ $258 = (0)==(0);
+ $259 = $257 & $258;
+ $spec$select167 = $259 ? $$0157 : 0;
+ $$1158 = $spec$select167;$265 = $4;$267 = $3;
+ } else {
+ $$1158 = $$0157;$265 = $294;$267 = $293;
+ }
+ }
+ $260 = HEAP32[$8>>2]|0;
+ $261 = ($260|0)==(0|0);
+ if (!($261)) {
+ $262 = HEAP32[$7>>2]|0;
+ $263 = ((($262)) + -1|0);
+ HEAP32[$7>>2] = $263;
+ }
+ $264 = ($265>>>0)<($4>>>0);
+ $266 = ($267>>>0)<($3>>>0);
+ $268 = ($265|0)==($4|0);
+ $269 = $268 & $266;
+ $270 = $264 | $269;
+ if (!($270)) {
+ $271 = $3 & 1;
+ $272 = ($271|0)!=(0);
+ $273 = (0)!=(0);
+ $274 = $272 | $273;
+ $275 = ($$1158|0)!=(0);
+ $or$cond12 = $274 | $275;
+ if (!($or$cond12)) {
+ $276 = (___errno_location()|0);
+ HEAP32[$276>>2] = 34;
+ $277 = (_i64Add(($3|0),($4|0),-1,-1)|0);
+ $278 = tempRet0;
+ $291 = $278;$292 = $277;
+ break;
+ }
+ $279 = ($265>>>0)>($4>>>0);
+ $280 = ($267>>>0)>($3>>>0);
+ $281 = ($265|0)==($4|0);
+ $282 = $281 & $280;
+ $283 = $279 | $282;
+ if ($283) {
+ $284 = (___errno_location()|0);
+ HEAP32[$284>>2] = 34;
+ $291 = $4;$292 = $3;
+ break;
+ }
+ }
+ $285 = ($$1158|0)<(0);
+ $286 = $285 << 31 >> 31;
+ $287 = $267 ^ $$1158;
+ $288 = $265 ^ $286;
+ $289 = (_i64Subtract(($287|0),($288|0),($$1158|0),($286|0))|0);
+ $290 = tempRet0;
+ $291 = $290;$292 = $289;
+ }
+ } while(0);
+ tempRet0 = ($291);
+ return ($292|0);
+}
+function _pthread_self() {
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ return (40680|0);
+}
+function ___uflow($0) {
+ $0 = $0|0;
+ var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $1 = sp;
+ $2 = (___toread($0)|0);
+ $3 = ($2|0)==(0);
+ if ($3) {
+ $4 = ((($0)) + 32|0);
+ $5 = HEAP32[$4>>2]|0;
+ $6 = (FUNCTION_TABLE_iiii[$5 & 127]($0,$1,1)|0);
+ $7 = ($6|0)==(1);
+ if ($7) {
+ $8 = HEAP8[$1>>0]|0;
+ $9 = $8&255;
+ $$0 = $9;
+ } else {
+ $$0 = -1;
+ }
+ } else {
+ $$0 = -1;
+ }
+ STACKTOP = sp;return ($$0|0);
+}
+function _fclose($0) {
+ $0 = $0|0;
+ var $$pre = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = ((($0)) + 76|0);
+ $2 = HEAP32[$1>>2]|0;
+ $3 = ($2|0)>(-1);
+ if ($3) {
+ $4 = (___lockfile($0)|0);
+ $30 = $4;
+ } else {
+ $30 = 0;
+ }
+ ___unlist_locked_file($0);
+ $5 = HEAP32[$0>>2]|0;
+ $6 = $5 & 1;
+ $7 = ($6|0)!=(0);
+ if (!($7)) {
+ $8 = (___ofl_lock()|0);
+ $9 = ((($0)) + 52|0);
+ $10 = HEAP32[$9>>2]|0;
+ $11 = ($10|0)==(0|0);
+ $12 = $10;
+ $$pre = ((($0)) + 56|0);
+ if (!($11)) {
+ $13 = HEAP32[$$pre>>2]|0;
+ $14 = ((($10)) + 56|0);
+ HEAP32[$14>>2] = $13;
+ }
+ $15 = HEAP32[$$pre>>2]|0;
+ $16 = ($15|0)==(0|0);
+ $17 = $15;
+ if (!($16)) {
+ $18 = ((($15)) + 52|0);
+ HEAP32[$18>>2] = $12;
+ }
+ $19 = HEAP32[$8>>2]|0;
+ $20 = ($19|0)==($0|0);
+ if ($20) {
+ HEAP32[$8>>2] = $17;
+ }
+ ___ofl_unlock();
+ }
+ $21 = (_fflush($0)|0);
+ $22 = ((($0)) + 12|0);
+ $23 = HEAP32[$22>>2]|0;
+ $24 = (FUNCTION_TABLE_ii[$23 & 63]($0)|0);
+ $25 = $24 | $21;
+ $26 = ((($0)) + 92|0);
+ $27 = HEAP32[$26>>2]|0;
+ $28 = ($27|0)==(0|0);
+ if (!($28)) {
+ _free($27);
+ }
+ if ($7) {
+ $29 = ($30|0)==(0);
+ if (!($29)) {
+ ___unlockfile($0);
+ }
+ } else {
+ _free($0);
+ }
+ return ($25|0);
+}
+function ___unlist_locked_file($0) {
+ $0 = $0|0;
+ var $$pre = 0, $$sink = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = ((($0)) + 68|0);
+ $2 = HEAP32[$1>>2]|0;
+ $3 = ($2|0)==(0);
+ if (!($3)) {
+ $4 = ((($0)) + 116|0);
+ $5 = HEAP32[$4>>2]|0;
+ $6 = ($5|0)==(0|0);
+ $7 = $5;
+ $$pre = ((($0)) + 112|0);
+ if (!($6)) {
+ $8 = HEAP32[$$pre>>2]|0;
+ $9 = ((($5)) + 112|0);
+ HEAP32[$9>>2] = $8;
+ }
+ $10 = HEAP32[$$pre>>2]|0;
+ $11 = ($10|0)==(0|0);
+ if ($11) {
+ $13 = (___pthread_self_41()|0);
+ $14 = ((($13)) + 232|0);
+ $$sink = $14;
+ } else {
+ $12 = ((($10)) + 116|0);
+ $$sink = $12;
+ }
+ HEAP32[$$sink>>2] = $7;
+ }
+ return;
+}
+function ___ofl_lock() {
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ ___lock((73276|0));
+ return (73284|0);
+}
+function ___ofl_unlock() {
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ ___unlock((73276|0));
+ return;
+}
+function _fflush($0) {
+ $0 = $0|0;
+ var $$0 = 0, $$023 = 0, $$02325 = 0, $$02327 = 0, $$024$lcssa = 0, $$02426 = 0, $$1 = 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;
+ var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = ($0|0)==(0|0);
+ do {
+ if ($1) {
+ $8 = HEAP32[10137]|0;
+ $9 = ($8|0)==(0|0);
+ if ($9) {
+ $29 = 0;
+ } else {
+ $10 = HEAP32[10137]|0;
+ $11 = (_fflush($10)|0);
+ $29 = $11;
+ }
+ $12 = (___ofl_lock()|0);
+ $$02325 = HEAP32[$12>>2]|0;
+ $13 = ($$02325|0)==(0|0);
+ if ($13) {
+ $$024$lcssa = $29;
+ } else {
+ $$02327 = $$02325;$$02426 = $29;
+ while(1) {
+ $14 = ((($$02327)) + 76|0);
+ $15 = HEAP32[$14>>2]|0;
+ $16 = ($15|0)>(-1);
+ if ($16) {
+ $17 = (___lockfile($$02327)|0);
+ $26 = $17;
+ } else {
+ $26 = 0;
+ }
+ $18 = ((($$02327)) + 20|0);
+ $19 = HEAP32[$18>>2]|0;
+ $20 = ((($$02327)) + 28|0);
+ $21 = HEAP32[$20>>2]|0;
+ $22 = ($19>>>0)>($21>>>0);
+ if ($22) {
+ $23 = (___fflush_unlocked($$02327)|0);
+ $24 = $23 | $$02426;
+ $$1 = $24;
+ } else {
+ $$1 = $$02426;
+ }
+ $25 = ($26|0)==(0);
+ if (!($25)) {
+ ___unlockfile($$02327);
+ }
+ $27 = ((($$02327)) + 56|0);
+ $$023 = HEAP32[$27>>2]|0;
+ $28 = ($$023|0)==(0|0);
+ if ($28) {
+ $$024$lcssa = $$1;
+ break;
+ } else {
+ $$02327 = $$023;$$02426 = $$1;
+ }
+ }
+ }
+ ___ofl_unlock();
+ $$0 = $$024$lcssa;
+ } else {
+ $2 = ((($0)) + 76|0);
+ $3 = HEAP32[$2>>2]|0;
+ $4 = ($3|0)>(-1);
+ if (!($4)) {
+ $5 = (___fflush_unlocked($0)|0);
+ $$0 = $5;
+ break;
+ }
+ $6 = (___lockfile($0)|0);
+ $phitmp = ($6|0)==(0);
+ $7 = (___fflush_unlocked($0)|0);
+ if ($phitmp) {
+ $$0 = $7;
+ } else {
+ ___unlockfile($0);
+ $$0 = $7;
+ }
+ }
+ } while(0);
+ return ($$0|0);
+}
+function ___fflush_unlocked($0) {
+ $0 = $0|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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
+ var $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = ((($0)) + 20|0);
+ $2 = HEAP32[$1>>2]|0;
+ $3 = ((($0)) + 28|0);
+ $4 = HEAP32[$3>>2]|0;
+ $5 = ($2>>>0)>($4>>>0);
+ if ($5) {
+ $6 = ((($0)) + 36|0);
+ $7 = HEAP32[$6>>2]|0;
+ (FUNCTION_TABLE_iiii[$7 & 127]($0,0,0)|0);
+ $8 = HEAP32[$1>>2]|0;
+ $9 = ($8|0)==(0|0);
+ if ($9) {
+ $$0 = -1;
+ } else {
+ label = 3;
+ }
+ } else {
+ label = 3;
+ }
+ if ((label|0) == 3) {
+ $10 = ((($0)) + 4|0);
+ $11 = HEAP32[$10>>2]|0;
+ $12 = ((($0)) + 8|0);
+ $13 = HEAP32[$12>>2]|0;
+ $14 = ($11>>>0)<($13>>>0);
+ if ($14) {
+ $15 = $11;
+ $16 = $13;
+ $17 = (($15) - ($16))|0;
+ $18 = ((($0)) + 40|0);
+ $19 = HEAP32[$18>>2]|0;
+ (FUNCTION_TABLE_iiii[$19 & 127]($0,$17,1)|0);
+ }
+ $20 = ((($0)) + 16|0);
+ HEAP32[$20>>2] = 0;
+ HEAP32[$3>>2] = 0;
+ HEAP32[$1>>2] = 0;
+ HEAP32[$12>>2] = 0;
+ HEAP32[$10>>2] = 0;
+ $$0 = 0;
+ }
+ return ($$0|0);
+}
+function ___pthread_self_41() {
+ var $0 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = (_pthread_self()|0);
+ return ($0|0);
+}
+function _wctomb($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $$0 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $2 = ($0|0)==(0|0);
+ if ($2) {
+ $$0 = 0;
+ } else {
+ $3 = (_wcrtomb($0,$1,0)|0);
+ $$0 = $3;
+ }
+ return ($$0|0);
+}
+function _wcrtomb($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
+ var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
+ var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $3 = ($0|0)==(0|0);
+ do {
+ if ($3) {
+ $$0 = 1;
+ } else {
+ $4 = ($1>>>0)<(128);
+ if ($4) {
+ $5 = $1&255;
+ HEAP8[$0>>0] = $5;
+ $$0 = 1;
+ break;
+ }
+ $6 = (___pthread_self_436()|0);
+ $7 = ((($6)) + 188|0);
+ $8 = HEAP32[$7>>2]|0;
+ $9 = HEAP32[$8>>2]|0;
+ $10 = ($9|0)==(0|0);
+ if ($10) {
+ $11 = $1 & -128;
+ $12 = ($11|0)==(57216);
+ if ($12) {
+ $14 = $1&255;
+ HEAP8[$0>>0] = $14;
+ $$0 = 1;
+ break;
+ } else {
+ $13 = (___errno_location()|0);
+ HEAP32[$13>>2] = 84;
+ $$0 = -1;
+ break;
+ }
+ }
+ $15 = ($1>>>0)<(2048);
+ if ($15) {
+ $16 = $1 >>> 6;
+ $17 = $16 | 192;
+ $18 = $17&255;
+ $19 = ((($0)) + 1|0);
+ HEAP8[$0>>0] = $18;
+ $20 = $1 & 63;
+ $21 = $20 | 128;
+ $22 = $21&255;
+ HEAP8[$19>>0] = $22;
+ $$0 = 2;
+ break;
+ }
+ $23 = ($1>>>0)<(55296);
+ $24 = $1 & -8192;
+ $25 = ($24|0)==(57344);
+ $or$cond = $23 | $25;
+ if ($or$cond) {
+ $26 = $1 >>> 12;
+ $27 = $26 | 224;
+ $28 = $27&255;
+ $29 = ((($0)) + 1|0);
+ HEAP8[$0>>0] = $28;
+ $30 = $1 >>> 6;
+ $31 = $30 & 63;
+ $32 = $31 | 128;
+ $33 = $32&255;
+ $34 = ((($0)) + 2|0);
+ HEAP8[$29>>0] = $33;
+ $35 = $1 & 63;
+ $36 = $35 | 128;
+ $37 = $36&255;
+ HEAP8[$34>>0] = $37;
+ $$0 = 3;
+ break;
+ }
+ $38 = (($1) + -65536)|0;
+ $39 = ($38>>>0)<(1048576);
+ if ($39) {
+ $40 = $1 >>> 18;
+ $41 = $40 | 240;
+ $42 = $41&255;
+ $43 = ((($0)) + 1|0);
+ HEAP8[$0>>0] = $42;
+ $44 = $1 >>> 12;
+ $45 = $44 & 63;
+ $46 = $45 | 128;
+ $47 = $46&255;
+ $48 = ((($0)) + 2|0);
+ HEAP8[$43>>0] = $47;
+ $49 = $1 >>> 6;
+ $50 = $49 & 63;
+ $51 = $50 | 128;
+ $52 = $51&255;
+ $53 = ((($0)) + 3|0);
+ HEAP8[$48>>0] = $52;
+ $54 = $1 & 63;
+ $55 = $54 | 128;
+ $56 = $55&255;
+ HEAP8[$53>>0] = $56;
+ $$0 = 4;
+ break;
+ } else {
+ $57 = (___errno_location()|0);
+ HEAP32[$57>>2] = 84;
+ $$0 = -1;
+ break;
+ }
+ }
+ } while(0);
+ return ($$0|0);
+}
+function ___pthread_self_436() {
+ var $0 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = (_pthread_self()|0);
+ return ($0|0);
+}
+function _memchr($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$0$lcssa = 0, $$035$lcssa = 0, $$035$lcssa65 = 0, $$03555 = 0, $$036$lcssa = 0, $$036$lcssa64 = 0, $$03654 = 0, $$046 = 0, $$137$lcssa = 0, $$137$lcssa66 = 0, $$13745 = 0, $$140 = 0, $$23839 = 0, $$in = 0, $$lcssa = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0;
+ var $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0;
+ var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond53 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $3 = $1 & 255;
+ $4 = $0;
+ $5 = $4 & 3;
+ $6 = ($5|0)!=(0);
+ $7 = ($2|0)!=(0);
+ $or$cond53 = $7 & $6;
+ L1: do {
+ if ($or$cond53) {
+ $8 = $1&255;
+ $$03555 = $0;$$03654 = $2;
+ while(1) {
+ $9 = HEAP8[$$03555>>0]|0;
+ $10 = ($9<<24>>24)==($8<<24>>24);
+ if ($10) {
+ $$035$lcssa65 = $$03555;$$036$lcssa64 = $$03654;
+ label = 6;
+ break L1;
+ }
+ $11 = ((($$03555)) + 1|0);
+ $12 = (($$03654) + -1)|0;
+ $13 = $11;
+ $14 = $13 & 3;
+ $15 = ($14|0)!=(0);
+ $16 = ($12|0)!=(0);
+ $or$cond = $16 & $15;
+ if ($or$cond) {
+ $$03555 = $11;$$03654 = $12;
+ } else {
+ $$035$lcssa = $11;$$036$lcssa = $12;$$lcssa = $16;
+ label = 5;
+ break;
+ }
+ }
+ } else {
+ $$035$lcssa = $0;$$036$lcssa = $2;$$lcssa = $7;
+ label = 5;
+ }
+ } while(0);
+ if ((label|0) == 5) {
+ if ($$lcssa) {
+ $$035$lcssa65 = $$035$lcssa;$$036$lcssa64 = $$036$lcssa;
+ label = 6;
+ } else {
+ label = 16;
+ }
+ }
+ L8: do {
+ if ((label|0) == 6) {
+ $17 = HEAP8[$$035$lcssa65>>0]|0;
+ $18 = $1&255;
+ $19 = ($17<<24>>24)==($18<<24>>24);
+ if ($19) {
+ $38 = ($$036$lcssa64|0)==(0);
+ if ($38) {
+ label = 16;
+ break;
+ } else {
+ $39 = $$035$lcssa65;
+ break;
+ }
+ }
+ $20 = Math_imul($3, 16843009)|0;
+ $21 = ($$036$lcssa64>>>0)>(3);
+ L13: do {
+ if ($21) {
+ $$046 = $$035$lcssa65;$$13745 = $$036$lcssa64;
+ while(1) {
+ $22 = HEAP32[$$046>>2]|0;
+ $23 = $22 ^ $20;
+ $24 = (($23) + -16843009)|0;
+ $25 = $23 & -2139062144;
+ $26 = $25 ^ -2139062144;
+ $27 = $26 & $24;
+ $28 = ($27|0)==(0);
+ if (!($28)) {
+ $$137$lcssa66 = $$13745;$$in = $$046;
+ break L13;
+ }
+ $29 = ((($$046)) + 4|0);
+ $30 = (($$13745) + -4)|0;
+ $31 = ($30>>>0)>(3);
+ if ($31) {
+ $$046 = $29;$$13745 = $30;
+ } else {
+ $$0$lcssa = $29;$$137$lcssa = $30;
+ label = 11;
+ break;
+ }
+ }
+ } else {
+ $$0$lcssa = $$035$lcssa65;$$137$lcssa = $$036$lcssa64;
+ label = 11;
+ }
+ } while(0);
+ if ((label|0) == 11) {
+ $32 = ($$137$lcssa|0)==(0);
+ if ($32) {
+ label = 16;
+ break;
+ } else {
+ $$137$lcssa66 = $$137$lcssa;$$in = $$0$lcssa;
+ }
+ }
+ $$140 = $$in;$$23839 = $$137$lcssa66;
+ while(1) {
+ $33 = HEAP8[$$140>>0]|0;
+ $34 = ($33<<24>>24)==($18<<24>>24);
+ if ($34) {
+ $39 = $$140;
+ break L8;
+ }
+ $35 = ((($$140)) + 1|0);
+ $36 = (($$23839) + -1)|0;
+ $37 = ($36|0)==(0);
+ if ($37) {
+ label = 16;
+ break;
+ } else {
+ $$140 = $35;$$23839 = $36;
+ }
+ }
+ }
+ } while(0);
+ if ((label|0) == 16) {
+ $39 = 0;
+ }
+ return ($39|0);
+}
+function _iswspace($0) {
+ $0 = $0|0;
+ var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $phitmp = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = ($0|0)==(0);
+ if ($1) {
+ $4 = 0;
+ } else {
+ $2 = (_wcschr(30336,$0)|0);
+ $3 = ($2|0)!=(0|0);
+ $phitmp = $3&1;
+ $4 = $phitmp;
+ }
+ return ($4|0);
+}
+function _iswdigit($0) {
+ $0 = $0|0;
+ var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = (($0) + -48)|0;
+ $2 = ($1>>>0)<(10);
+ $3 = $2&1;
+ return ($3|0);
+}
+function _snprintf($0,$1,$2,$varargs) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $varargs = $varargs|0;
+ var $3 = 0, $4 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $3 = sp;
+ HEAP32[$3>>2] = $varargs;
+ $4 = (_vsnprintf($0,$1,$2,$3)|0);
+ STACKTOP = sp;return ($4|0);
+}
+function _vsnprintf($0,$1,$2,$3) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ var $$0 = 0, $$014 = 0, $$015 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $4 = 0;
+ var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $spec$select = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0);
+ $4 = sp + 124|0;
+ $5 = sp;
+ dest=$5; src=40924; stop=dest+124|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0));
+ $6 = (($1) + -1)|0;
+ $7 = ($6>>>0)>(2147483646);
+ if ($7) {
+ $8 = ($1|0)==(0);
+ if ($8) {
+ $$014 = $4;$$015 = 1;
+ label = 4;
+ } else {
+ $9 = (___errno_location()|0);
+ HEAP32[$9>>2] = 75;
+ $$0 = -1;
+ }
+ } else {
+ $$014 = $0;$$015 = $1;
+ label = 4;
+ }
+ if ((label|0) == 4) {
+ $10 = $$014;
+ $11 = (-2 - ($10))|0;
+ $12 = ($$015>>>0)>($11>>>0);
+ $spec$select = $12 ? $11 : $$015;
+ $13 = ((($5)) + 48|0);
+ HEAP32[$13>>2] = $spec$select;
+ $14 = ((($5)) + 20|0);
+ HEAP32[$14>>2] = $$014;
+ $15 = ((($5)) + 44|0);
+ HEAP32[$15>>2] = $$014;
+ $16 = (($$014) + ($spec$select)|0);
+ $17 = ((($5)) + 16|0);
+ HEAP32[$17>>2] = $16;
+ $18 = ((($5)) + 28|0);
+ HEAP32[$18>>2] = $16;
+ $19 = (_vfprintf($5,$2,$3)|0);
+ $20 = ($spec$select|0)==(0);
+ if ($20) {
+ $$0 = $19;
+ } else {
+ $21 = HEAP32[$14>>2]|0;
+ $22 = HEAP32[$17>>2]|0;
+ $23 = ($21|0)==($22|0);
+ $24 = $23 << 31 >> 31;
+ $25 = (($21) + ($24)|0);
+ HEAP8[$25>>0] = 0;
+ $$0 = $19;
+ }
+ }
+ STACKTOP = sp;return ($$0|0);
+}
+function _vfprintf($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|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, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
+ var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
+ var $spec$select = 0, $spec$select41 = 0, $vacopy_currentptr = 0, dest = 0, label = 0, sp = 0, stop = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 224|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(224|0);
+ $3 = sp + 208|0;
+ $4 = sp + 160|0;
+ $5 = sp + 80|0;
+ $6 = sp;
+ dest=$4; stop=dest+40|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
+ $vacopy_currentptr = HEAP32[$2>>2]|0;
+ HEAP32[$3>>2] = $vacopy_currentptr;
+ $7 = (_printf_core(0,$1,$3,$5,$4)|0);
+ $8 = ($7|0)<(0);
+ if ($8) {
+ $$0 = -1;
+ } else {
+ $9 = ((($0)) + 76|0);
+ $10 = HEAP32[$9>>2]|0;
+ $11 = ($10|0)>(-1);
+ if ($11) {
+ $12 = (___lockfile($0)|0);
+ $40 = $12;
+ } else {
+ $40 = 0;
+ }
+ $13 = HEAP32[$0>>2]|0;
+ $14 = $13 & 32;
+ $15 = ((($0)) + 74|0);
+ $16 = HEAP8[$15>>0]|0;
+ $17 = ($16<<24>>24)<(1);
+ if ($17) {
+ $18 = $13 & -33;
+ HEAP32[$0>>2] = $18;
+ }
+ $19 = ((($0)) + 48|0);
+ $20 = HEAP32[$19>>2]|0;
+ $21 = ($20|0)==(0);
+ if ($21) {
+ $23 = ((($0)) + 44|0);
+ $24 = HEAP32[$23>>2]|0;
+ HEAP32[$23>>2] = $6;
+ $25 = ((($0)) + 28|0);
+ HEAP32[$25>>2] = $6;
+ $26 = ((($0)) + 20|0);
+ HEAP32[$26>>2] = $6;
+ HEAP32[$19>>2] = 80;
+ $27 = ((($6)) + 80|0);
+ $28 = ((($0)) + 16|0);
+ HEAP32[$28>>2] = $27;
+ $29 = (_printf_core($0,$1,$3,$5,$4)|0);
+ $30 = ($24|0)==(0|0);
+ if ($30) {
+ $$1 = $29;
+ } else {
+ $31 = ((($0)) + 36|0);
+ $32 = HEAP32[$31>>2]|0;
+ (FUNCTION_TABLE_iiii[$32 & 127]($0,0,0)|0);
+ $33 = HEAP32[$26>>2]|0;
+ $34 = ($33|0)==(0|0);
+ $spec$select = $34 ? -1 : $29;
+ HEAP32[$23>>2] = $24;
+ HEAP32[$19>>2] = 0;
+ HEAP32[$28>>2] = 0;
+ HEAP32[$25>>2] = 0;
+ HEAP32[$26>>2] = 0;
+ $$1 = $spec$select;
+ }
+ } else {
+ $22 = (_printf_core($0,$1,$3,$5,$4)|0);
+ $$1 = $22;
+ }
+ $35 = HEAP32[$0>>2]|0;
+ $36 = $35 & 32;
+ $37 = ($36|0)==(0);
+ $spec$select41 = $37 ? $$1 : -1;
+ $38 = $35 | $14;
+ HEAP32[$0>>2] = $38;
+ $39 = ($40|0)==(0);
+ if (!($39)) {
+ ___unlockfile($0);
+ }
+ $$0 = $spec$select41;
+ }
+ STACKTOP = sp;return ($$0|0);
+}
+function _printf_core($0,$1,$2,$3,$4) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ var $$ = 0, $$0 = 0, $$0228 = 0, $$0229334 = 0, $$0232 = 0, $$0235 = 0, $$0237 = 0, $$0240313 = 0, $$0240313371 = 0, $$0240333 = 0, $$0243 = 0, $$0243$ph = 0, $$0243$ph$be = 0, $$0247 = 0, $$0247$ph = 0, $$0249$lcssa = 0, $$0249321 = 0, $$0252 = 0, $$0253 = 0, $$0254 = 0;
+ var $$0259 = 0, $$0262$lcssa = 0, $$0262328 = 0, $$0269$ph = 0, $$1 = 0, $$1230340 = 0, $$1233 = 0, $$1236 = 0, $$1238 = 0, $$1241339 = 0, $$1248 = 0, $$1250 = 0, $$1255 = 0, $$1260 = 0, $$1263 = 0, $$1270 = 0, $$2 = 0, $$2234 = 0, $$2239 = 0, $$2242320 = 0;
+ var $$2256 = 0, $$2256$ = 0, $$2261 = 0, $$2271 = 0, $$3257 = 0, $$3265 = 0, $$3272 = 0, $$3317 = 0, $$4258370 = 0, $$4266 = 0, $$5 = 0, $$6268 = 0, $$lcssa308 = 0, $$pre = 0, $$pre$phiZ2D = 0, $$pre360 = 0, $$pre362 = 0, $$pre363 = 0, $$pre363$pre = 0, $$pre364 = 0;
+ var $$pre368 = 0, $$sink = 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, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0;
+ var $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, $224 = 0;
+ var $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, $242 = 0;
+ var $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, $260 = 0;
+ var $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, $279 = 0;
+ var $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, $297 = 0;
+ var $298 = 0, $299 = 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, $314 = 0, $315 = 0;
+ var $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, $332 = 0, $333 = 0;
+ var $334 = 0, $335 = 0, $336 = 0.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, $350 = 0, $351 = 0;
+ var $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
+ var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0;
+ var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0;
+ var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $arglist_current = 0, $arglist_current2 = 0, $arglist_next = 0;
+ var $arglist_next3 = 0, $brmerge = 0, $brmerge326 = 0, $expanded = 0, $expanded10 = 0, $expanded11 = 0, $expanded13 = 0, $expanded14 = 0, $expanded15 = 0, $expanded4 = 0, $expanded6 = 0, $expanded7 = 0, $expanded8 = 0, $or$cond = 0, $or$cond276 = 0, $or$cond278 = 0, $or$cond283 = 0, $spec$select = 0, $spec$select281 = 0, $spec$select284 = 0;
+ var $spec$select291 = 0, $spec$select292 = 0, $spec$select293 = 0, $spec$select294 = 0, $spec$select295 = 0, $spec$select296 = 0, $spec$select297 = 0, $spec$select298 = 0, $spec$select299 = 0, $storemerge273$lcssa = 0, $storemerge273327 = 0, $storemerge274 = 0, $trunc = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
+ $5 = sp + 56|0;
+ $6 = sp + 40|0;
+ $7 = sp;
+ $8 = sp + 48|0;
+ $9 = sp + 60|0;
+ HEAP32[$5>>2] = $1;
+ $10 = ($0|0)!=(0|0);
+ $11 = ((($7)) + 40|0);
+ $12 = $11;
+ $13 = ((($7)) + 39|0);
+ $14 = ((($8)) + 4|0);
+ $$0243$ph = 0;$$0247$ph = 0;$$0269$ph = 0;
+ L1: while(1) {
+ $$0243 = $$0243$ph;$$0247 = $$0247$ph;
+ while(1) {
+ $15 = ($$0247|0)>(-1);
+ do {
+ if ($15) {
+ $16 = (2147483647 - ($$0247))|0;
+ $17 = ($$0243|0)>($16|0);
+ if ($17) {
+ $18 = (___errno_location()|0);
+ HEAP32[$18>>2] = 75;
+ $$1248 = -1;
+ break;
+ } else {
+ $19 = (($$0243) + ($$0247))|0;
+ $$1248 = $19;
+ break;
+ }
+ } else {
+ $$1248 = $$0247;
+ }
+ } while(0);
+ $20 = HEAP32[$5>>2]|0;
+ $21 = HEAP8[$20>>0]|0;
+ $22 = ($21<<24>>24)==(0);
+ if ($22) {
+ label = 94;
+ break L1;
+ }
+ $23 = $21;$25 = $20;
+ L12: while(1) {
+ switch ($23<<24>>24) {
+ case 37: {
+ label = 10;
+ break L12;
+ break;
+ }
+ case 0: {
+ $$0249$lcssa = $25;
+ break L12;
+ break;
+ }
+ default: {
+ }
+ }
+ $24 = ((($25)) + 1|0);
+ HEAP32[$5>>2] = $24;
+ $$pre = HEAP8[$24>>0]|0;
+ $23 = $$pre;$25 = $24;
+ }
+ L15: do {
+ if ((label|0) == 10) {
+ label = 0;
+ $$0249321 = $25;$27 = $25;
+ while(1) {
+ $26 = ((($27)) + 1|0);
+ $28 = HEAP8[$26>>0]|0;
+ $29 = ($28<<24>>24)==(37);
+ if (!($29)) {
+ $$0249$lcssa = $$0249321;
+ break L15;
+ }
+ $30 = ((($$0249321)) + 1|0);
+ $31 = ((($27)) + 2|0);
+ HEAP32[$5>>2] = $31;
+ $32 = HEAP8[$31>>0]|0;
+ $33 = ($32<<24>>24)==(37);
+ if ($33) {
+ $$0249321 = $30;$27 = $31;
+ } else {
+ $$0249$lcssa = $30;
+ break;
+ }
+ }
+ }
+ } while(0);
+ $34 = $$0249$lcssa;
+ $35 = $20;
+ $36 = (($34) - ($35))|0;
+ if ($10) {
+ _out($0,$20,$36);
+ }
+ $37 = ($36|0)==(0);
+ if ($37) {
+ break;
+ } else {
+ $$0243 = $36;$$0247 = $$1248;
+ }
+ }
+ $38 = HEAP32[$5>>2]|0;
+ $39 = ((($38)) + 1|0);
+ $40 = HEAP8[$39>>0]|0;
+ $41 = $40 << 24 >> 24;
+ $42 = (_isdigit($41)|0);
+ $43 = ($42|0)==(0);
+ $$pre360 = HEAP32[$5>>2]|0;
+ if ($43) {
+ $$0253 = -1;$$1270 = $$0269$ph;$$sink = 1;
+ } else {
+ $44 = ((($$pre360)) + 2|0);
+ $45 = HEAP8[$44>>0]|0;
+ $46 = ($45<<24>>24)==(36);
+ if ($46) {
+ $47 = ((($$pre360)) + 1|0);
+ $48 = HEAP8[$47>>0]|0;
+ $49 = $48 << 24 >> 24;
+ $50 = (($49) + -48)|0;
+ $$0253 = $50;$$1270 = 1;$$sink = 3;
+ } else {
+ $$0253 = -1;$$1270 = $$0269$ph;$$sink = 1;
+ }
+ }
+ $51 = (($$pre360) + ($$sink)|0);
+ HEAP32[$5>>2] = $51;
+ $52 = HEAP8[$51>>0]|0;
+ $53 = $52 << 24 >> 24;
+ $54 = (($53) + -32)|0;
+ $55 = ($54>>>0)>(31);
+ $56 = 1 << $54;
+ $57 = $56 & 75913;
+ $58 = ($57|0)==(0);
+ $brmerge326 = $55 | $58;
+ if ($brmerge326) {
+ $$0262$lcssa = 0;$$lcssa308 = $52;$storemerge273$lcssa = $51;
+ } else {
+ $$0262328 = 0;$60 = $54;$storemerge273327 = $51;
+ while(1) {
+ $59 = 1 << $60;
+ $61 = $59 | $$0262328;
+ $62 = ((($storemerge273327)) + 1|0);
+ HEAP32[$5>>2] = $62;
+ $63 = HEAP8[$62>>0]|0;
+ $64 = $63 << 24 >> 24;
+ $65 = (($64) + -32)|0;
+ $66 = ($65>>>0)>(31);
+ $67 = 1 << $65;
+ $68 = $67 & 75913;
+ $69 = ($68|0)==(0);
+ $brmerge = $66 | $69;
+ if ($brmerge) {
+ $$0262$lcssa = $61;$$lcssa308 = $63;$storemerge273$lcssa = $62;
+ break;
+ } else {
+ $$0262328 = $61;$60 = $65;$storemerge273327 = $62;
+ }
+ }
+ }
+ $70 = ($$lcssa308<<24>>24)==(42);
+ if ($70) {
+ $71 = ((($storemerge273$lcssa)) + 1|0);
+ $72 = HEAP8[$71>>0]|0;
+ $73 = $72 << 24 >> 24;
+ $74 = (_isdigit($73)|0);
+ $75 = ($74|0)==(0);
+ if ($75) {
+ label = 27;
+ } else {
+ $76 = HEAP32[$5>>2]|0;
+ $77 = ((($76)) + 2|0);
+ $78 = HEAP8[$77>>0]|0;
+ $79 = ($78<<24>>24)==(36);
+ if ($79) {
+ $80 = ((($76)) + 1|0);
+ $81 = HEAP8[$80>>0]|0;
+ $82 = $81 << 24 >> 24;
+ $83 = (($82) + -48)|0;
+ $84 = (($4) + ($83<<2)|0);
+ HEAP32[$84>>2] = 10;
+ $85 = HEAP8[$80>>0]|0;
+ $86 = $85 << 24 >> 24;
+ $87 = (($86) + -48)|0;
+ $88 = (($3) + ($87<<3)|0);
+ $89 = $88;
+ $90 = $89;
+ $91 = HEAP32[$90>>2]|0;
+ $92 = (($89) + 4)|0;
+ $93 = $92;
+ $94 = HEAP32[$93>>2]|0;
+ $95 = ((($76)) + 3|0);
+ $$0259 = $91;$$2271 = 1;$storemerge274 = $95;
+ } else {
+ label = 27;
+ }
+ }
+ if ((label|0) == 27) {
+ label = 0;
+ $96 = ($$1270|0)==(0);
+ if (!($96)) {
+ $$0 = -1;
+ break;
+ }
+ if ($10) {
+ $arglist_current = HEAP32[$2>>2]|0;
+ $97 = $arglist_current;
+ $98 = ((0) + 4|0);
+ $expanded4 = $98;
+ $expanded = (($expanded4) - 1)|0;
+ $99 = (($97) + ($expanded))|0;
+ $100 = ((0) + 4|0);
+ $expanded8 = $100;
+ $expanded7 = (($expanded8) - 1)|0;
+ $expanded6 = $expanded7 ^ -1;
+ $101 = $99 & $expanded6;
+ $102 = $101;
+ $103 = HEAP32[$102>>2]|0;
+ $arglist_next = ((($102)) + 4|0);
+ HEAP32[$2>>2] = $arglist_next;
+ $358 = $103;
+ } else {
+ $358 = 0;
+ }
+ $104 = HEAP32[$5>>2]|0;
+ $105 = ((($104)) + 1|0);
+ $$0259 = $358;$$2271 = 0;$storemerge274 = $105;
+ }
+ HEAP32[$5>>2] = $storemerge274;
+ $106 = ($$0259|0)<(0);
+ $107 = $$0262$lcssa | 8192;
+ $108 = (0 - ($$0259))|0;
+ $spec$select291 = $106 ? $107 : $$0262$lcssa;
+ $spec$select292 = $106 ? $108 : $$0259;
+ $$1260 = $spec$select292;$$1263 = $spec$select291;$$3272 = $$2271;$112 = $storemerge274;
+ } else {
+ $109 = (_getint($5)|0);
+ $110 = ($109|0)<(0);
+ if ($110) {
+ $$0 = -1;
+ break;
+ }
+ $$pre362 = HEAP32[$5>>2]|0;
+ $$1260 = $109;$$1263 = $$0262$lcssa;$$3272 = $$1270;$112 = $$pre362;
+ }
+ $111 = HEAP8[$112>>0]|0;
+ $113 = ($111<<24>>24)==(46);
+ do {
+ if ($113) {
+ $114 = ((($112)) + 1|0);
+ $115 = HEAP8[$114>>0]|0;
+ $116 = ($115<<24>>24)==(42);
+ if (!($116)) {
+ HEAP32[$5>>2] = $114;
+ $152 = (_getint($5)|0);
+ $$pre363$pre = HEAP32[$5>>2]|0;
+ $$0254 = $152;$$pre363 = $$pre363$pre;
+ break;
+ }
+ $117 = ((($112)) + 2|0);
+ $118 = HEAP8[$117>>0]|0;
+ $119 = $118 << 24 >> 24;
+ $120 = (_isdigit($119)|0);
+ $121 = ($120|0)==(0);
+ if (!($121)) {
+ $122 = HEAP32[$5>>2]|0;
+ $123 = ((($122)) + 3|0);
+ $124 = HEAP8[$123>>0]|0;
+ $125 = ($124<<24>>24)==(36);
+ if ($125) {
+ $126 = ((($122)) + 2|0);
+ $127 = HEAP8[$126>>0]|0;
+ $128 = $127 << 24 >> 24;
+ $129 = (($128) + -48)|0;
+ $130 = (($4) + ($129<<2)|0);
+ HEAP32[$130>>2] = 10;
+ $131 = HEAP8[$126>>0]|0;
+ $132 = $131 << 24 >> 24;
+ $133 = (($132) + -48)|0;
+ $134 = (($3) + ($133<<3)|0);
+ $135 = $134;
+ $136 = $135;
+ $137 = HEAP32[$136>>2]|0;
+ $138 = (($135) + 4)|0;
+ $139 = $138;
+ $140 = HEAP32[$139>>2]|0;
+ $141 = ((($122)) + 4|0);
+ HEAP32[$5>>2] = $141;
+ $$0254 = $137;$$pre363 = $141;
+ break;
+ }
+ }
+ $142 = ($$3272|0)==(0);
+ if (!($142)) {
+ $$0 = -1;
+ break L1;
+ }
+ if ($10) {
+ $arglist_current2 = HEAP32[$2>>2]|0;
+ $143 = $arglist_current2;
+ $144 = ((0) + 4|0);
+ $expanded11 = $144;
+ $expanded10 = (($expanded11) - 1)|0;
+ $145 = (($143) + ($expanded10))|0;
+ $146 = ((0) + 4|0);
+ $expanded15 = $146;
+ $expanded14 = (($expanded15) - 1)|0;
+ $expanded13 = $expanded14 ^ -1;
+ $147 = $145 & $expanded13;
+ $148 = $147;
+ $149 = HEAP32[$148>>2]|0;
+ $arglist_next3 = ((($148)) + 4|0);
+ HEAP32[$2>>2] = $arglist_next3;
+ $359 = $149;
+ } else {
+ $359 = 0;
+ }
+ $150 = HEAP32[$5>>2]|0;
+ $151 = ((($150)) + 2|0);
+ HEAP32[$5>>2] = $151;
+ $$0254 = $359;$$pre363 = $151;
+ } else {
+ $$0254 = -1;$$pre363 = $112;
+ }
+ } while(0);
+ $$0252 = 0;$154 = $$pre363;
+ while(1) {
+ $153 = HEAP8[$154>>0]|0;
+ $155 = $153 << 24 >> 24;
+ $156 = (($155) + -65)|0;
+ $157 = ($156>>>0)>(57);
+ if ($157) {
+ $$0 = -1;
+ break L1;
+ }
+ $158 = ((($154)) + 1|0);
+ HEAP32[$5>>2] = $158;
+ $159 = HEAP8[$154>>0]|0;
+ $160 = $159 << 24 >> 24;
+ $161 = (($160) + -65)|0;
+ $162 = ((27952 + (($$0252*58)|0)|0) + ($161)|0);
+ $163 = HEAP8[$162>>0]|0;
+ $164 = $163&255;
+ $165 = (($164) + -1)|0;
+ $166 = ($165>>>0)<(8);
+ if ($166) {
+ $$0252 = $164;$154 = $158;
+ } else {
+ break;
+ }
+ }
+ $167 = ($163<<24>>24)==(0);
+ if ($167) {
+ $$0 = -1;
+ break;
+ }
+ $168 = ($163<<24>>24)==(19);
+ $169 = ($$0253|0)>(-1);
+ do {
+ if ($168) {
+ if ($169) {
+ $$0 = -1;
+ break L1;
+ } else {
+ label = 54;
+ }
+ } else {
+ if ($169) {
+ $170 = (($4) + ($$0253<<2)|0);
+ HEAP32[$170>>2] = $164;
+ $171 = (($3) + ($$0253<<3)|0);
+ $172 = $171;
+ $173 = $172;
+ $174 = HEAP32[$173>>2]|0;
+ $175 = (($172) + 4)|0;
+ $176 = $175;
+ $177 = HEAP32[$176>>2]|0;
+ $178 = $6;
+ $179 = $178;
+ HEAP32[$179>>2] = $174;
+ $180 = (($178) + 4)|0;
+ $181 = $180;
+ HEAP32[$181>>2] = $177;
+ label = 54;
+ break;
+ }
+ if (!($10)) {
+ $$0 = 0;
+ break L1;
+ }
+ _pop_arg($6,$164,$2);
+ $$pre364 = HEAP32[$5>>2]|0;
+ $183 = $$pre364;
+ label = 55;
+ }
+ } while(0);
+ if ((label|0) == 54) {
+ label = 0;
+ if ($10) {
+ $183 = $158;
+ label = 55;
+ } else {
+ $$0243$ph$be = 0;
+ }
+ }
+ L77: do {
+ if ((label|0) == 55) {
+ label = 0;
+ $182 = ((($183)) + -1|0);
+ $184 = HEAP8[$182>>0]|0;
+ $185 = $184 << 24 >> 24;
+ $186 = ($$0252|0)!=(0);
+ $187 = $185 & 15;
+ $188 = ($187|0)==(3);
+ $or$cond276 = $186 & $188;
+ $189 = $185 & -33;
+ $$0235 = $or$cond276 ? $189 : $185;
+ $190 = $$1263 & 8192;
+ $191 = ($190|0)==(0);
+ $192 = $$1263 & -65537;
+ $spec$select = $191 ? $$1263 : $192;
+ L79: do {
+ switch ($$0235|0) {
+ case 110: {
+ $trunc = $$0252&255;
+ switch ($trunc<<24>>24) {
+ case 0: {
+ $199 = HEAP32[$6>>2]|0;
+ HEAP32[$199>>2] = $$1248;
+ $$0243$ph$be = 0;
+ break L77;
+ break;
+ }
+ case 1: {
+ $200 = HEAP32[$6>>2]|0;
+ HEAP32[$200>>2] = $$1248;
+ $$0243$ph$be = 0;
+ break L77;
+ break;
+ }
+ case 2: {
+ $201 = ($$1248|0)<(0);
+ $202 = $201 << 31 >> 31;
+ $203 = HEAP32[$6>>2]|0;
+ $204 = $203;
+ $205 = $204;
+ HEAP32[$205>>2] = $$1248;
+ $206 = (($204) + 4)|0;
+ $207 = $206;
+ HEAP32[$207>>2] = $202;
+ $$0243$ph$be = 0;
+ break L77;
+ break;
+ }
+ case 3: {
+ $208 = $$1248&65535;
+ $209 = HEAP32[$6>>2]|0;
+ HEAP16[$209>>1] = $208;
+ $$0243$ph$be = 0;
+ break L77;
+ break;
+ }
+ case 4: {
+ $210 = $$1248&255;
+ $211 = HEAP32[$6>>2]|0;
+ HEAP8[$211>>0] = $210;
+ $$0243$ph$be = 0;
+ break L77;
+ break;
+ }
+ case 6: {
+ $212 = HEAP32[$6>>2]|0;
+ HEAP32[$212>>2] = $$1248;
+ $$0243$ph$be = 0;
+ break L77;
+ break;
+ }
+ case 7: {
+ $213 = ($$1248|0)<(0);
+ $214 = $213 << 31 >> 31;
+ $215 = HEAP32[$6>>2]|0;
+ $216 = $215;
+ $217 = $216;
+ HEAP32[$217>>2] = $$1248;
+ $218 = (($216) + 4)|0;
+ $219 = $218;
+ HEAP32[$219>>2] = $214;
+ $$0243$ph$be = 0;
+ break L77;
+ break;
+ }
+ default: {
+ $$0243$ph$be = 0;
+ break L77;
+ }
+ }
+ break;
+ }
+ case 112: {
+ $220 = ($$0254>>>0)>(8);
+ $221 = $220 ? $$0254 : 8;
+ $222 = $spec$select | 8;
+ $$1236 = 120;$$1255 = $221;$$3265 = $222;
+ label = 67;
+ break;
+ }
+ case 88: case 120: {
+ $$1236 = $$0235;$$1255 = $$0254;$$3265 = $spec$select;
+ label = 67;
+ break;
+ }
+ case 111: {
+ $238 = $6;
+ $239 = $238;
+ $240 = HEAP32[$239>>2]|0;
+ $241 = (($238) + 4)|0;
+ $242 = $241;
+ $243 = HEAP32[$242>>2]|0;
+ $244 = (_fmt_o($240,$243,$11)|0);
+ $245 = $spec$select & 8;
+ $246 = ($245|0)==(0);
+ $247 = $244;
+ $248 = (($12) - ($247))|0;
+ $249 = ($$0254|0)>($248|0);
+ $250 = (($248) + 1)|0;
+ $251 = $246 | $249;
+ $spec$select295 = $251 ? $$0254 : $250;
+ $$0228 = $244;$$1233 = 0;$$1238 = 70613;$$2256 = $spec$select295;$$4266 = $spec$select;$277 = $240;$279 = $243;
+ label = 73;
+ break;
+ }
+ case 105: case 100: {
+ $252 = $6;
+ $253 = $252;
+ $254 = HEAP32[$253>>2]|0;
+ $255 = (($252) + 4)|0;
+ $256 = $255;
+ $257 = HEAP32[$256>>2]|0;
+ $258 = ($257|0)<(0);
+ if ($258) {
+ $259 = (_i64Subtract(0,0,($254|0),($257|0))|0);
+ $260 = tempRet0;
+ $261 = $6;
+ $262 = $261;
+ HEAP32[$262>>2] = $259;
+ $263 = (($261) + 4)|0;
+ $264 = $263;
+ HEAP32[$264>>2] = $260;
+ $$0232 = 1;$$0237 = 70613;$271 = $259;$272 = $260;
+ label = 72;
+ break L79;
+ } else {
+ $265 = $spec$select & 2048;
+ $266 = ($265|0)==(0);
+ $267 = $spec$select & 1;
+ $268 = ($267|0)==(0);
+ $$ = $268 ? 70613 : (70615);
+ $spec$select296 = $266 ? $$ : (70614);
+ $269 = $spec$select & 2049;
+ $270 = ($269|0)!=(0);
+ $spec$select297 = $270&1;
+ $$0232 = $spec$select297;$$0237 = $spec$select296;$271 = $254;$272 = $257;
+ label = 72;
+ break L79;
+ }
+ break;
+ }
+ case 117: {
+ $193 = $6;
+ $194 = $193;
+ $195 = HEAP32[$194>>2]|0;
+ $196 = (($193) + 4)|0;
+ $197 = $196;
+ $198 = HEAP32[$197>>2]|0;
+ $$0232 = 0;$$0237 = 70613;$271 = $195;$272 = $198;
+ label = 72;
+ break;
+ }
+ case 99: {
+ $288 = $6;
+ $289 = $288;
+ $290 = HEAP32[$289>>2]|0;
+ $291 = (($288) + 4)|0;
+ $292 = $291;
+ $293 = HEAP32[$292>>2]|0;
+ $294 = $290&255;
+ HEAP8[$13>>0] = $294;
+ $$2 = $13;$$2234 = 0;$$2239 = 70613;$$5 = 1;$$6268 = $192;$$pre$phiZ2D = $12;
+ break;
+ }
+ case 109: {
+ $295 = (___errno_location()|0);
+ $296 = HEAP32[$295>>2]|0;
+ $297 = (_strerror($296)|0);
+ $$1 = $297;
+ label = 77;
+ break;
+ }
+ case 115: {
+ $298 = HEAP32[$6>>2]|0;
+ $299 = ($298|0)==(0|0);
+ $300 = $299 ? 70623 : $298;
+ $$1 = $300;
+ label = 77;
+ break;
+ }
+ case 67: {
+ $307 = $6;
+ $308 = $307;
+ $309 = HEAP32[$308>>2]|0;
+ $310 = (($307) + 4)|0;
+ $311 = $310;
+ $312 = HEAP32[$311>>2]|0;
+ HEAP32[$8>>2] = $309;
+ HEAP32[$14>>2] = 0;
+ HEAP32[$6>>2] = $8;
+ $$4258370 = -1;
+ label = 81;
+ break;
+ }
+ case 83: {
+ $313 = ($$0254|0)==(0);
+ if ($313) {
+ _pad($0,32,$$1260,0,$spec$select);
+ $$0240313371 = 0;
+ label = 91;
+ } else {
+ $$4258370 = $$0254;
+ label = 81;
+ }
+ break;
+ }
+ case 65: case 71: case 70: case 69: case 97: case 103: case 102: case 101: {
+ $336 = +HEAPF64[$6>>3];
+ $337 = (_fmt_fp($0,$336,$$1260,$$0254,$spec$select,$$0235)|0);
+ $$0243$ph$be = $337;
+ break L77;
+ break;
+ }
+ default: {
+ $$2 = $20;$$2234 = 0;$$2239 = 70613;$$5 = $$0254;$$6268 = $spec$select;$$pre$phiZ2D = $12;
+ }
+ }
+ } while(0);
+ L103: do {
+ if ((label|0) == 67) {
+ label = 0;
+ $223 = $6;
+ $224 = $223;
+ $225 = HEAP32[$224>>2]|0;
+ $226 = (($223) + 4)|0;
+ $227 = $226;
+ $228 = HEAP32[$227>>2]|0;
+ $229 = $$1236 & 32;
+ $230 = (_fmt_x($225,$228,$11,$229)|0);
+ $231 = ($225|0)==(0);
+ $232 = ($228|0)==(0);
+ $233 = $231 & $232;
+ $234 = $$3265 & 8;
+ $235 = ($234|0)==(0);
+ $or$cond278 = $235 | $233;
+ $236 = $$1236 >>> 4;
+ $237 = (70613 + ($236)|0);
+ $spec$select293 = $or$cond278 ? 70613 : $237;
+ $spec$select294 = $or$cond278 ? 0 : 2;
+ $$0228 = $230;$$1233 = $spec$select294;$$1238 = $spec$select293;$$2256 = $$1255;$$4266 = $$3265;$277 = $225;$279 = $228;
+ label = 73;
+ }
+ else if ((label|0) == 72) {
+ label = 0;
+ $273 = (_fmt_u($271,$272,$11)|0);
+ $$0228 = $273;$$1233 = $$0232;$$1238 = $$0237;$$2256 = $$0254;$$4266 = $spec$select;$277 = $271;$279 = $272;
+ label = 73;
+ }
+ else if ((label|0) == 77) {
+ label = 0;
+ $301 = (_memchr($$1,0,$$0254)|0);
+ $302 = ($301|0)==(0|0);
+ $303 = $301;
+ $304 = $$1;
+ $305 = (($303) - ($304))|0;
+ $306 = (($$1) + ($$0254)|0);
+ $$3257 = $302 ? $$0254 : $305;
+ $$1250 = $302 ? $306 : $301;
+ $$pre368 = $$1250;
+ $$2 = $$1;$$2234 = 0;$$2239 = 70613;$$5 = $$3257;$$6268 = $192;$$pre$phiZ2D = $$pre368;
+ }
+ else if ((label|0) == 81) {
+ label = 0;
+ $314 = HEAP32[$6>>2]|0;
+ $$0229334 = $314;$$0240333 = 0;
+ while(1) {
+ $315 = HEAP32[$$0229334>>2]|0;
+ $316 = ($315|0)==(0);
+ if ($316) {
+ $$0240313 = $$0240333;
+ break;
+ }
+ $317 = (_wctomb($9,$315)|0);
+ $318 = ($317|0)<(0);
+ $319 = (($$4258370) - ($$0240333))|0;
+ $320 = ($317>>>0)>($319>>>0);
+ $or$cond283 = $318 | $320;
+ if ($or$cond283) {
+ label = 85;
+ break;
+ }
+ $321 = ((($$0229334)) + 4|0);
+ $322 = (($317) + ($$0240333))|0;
+ $323 = ($$4258370>>>0)>($322>>>0);
+ if ($323) {
+ $$0229334 = $321;$$0240333 = $322;
+ } else {
+ $$0240313 = $322;
+ break;
+ }
+ }
+ if ((label|0) == 85) {
+ label = 0;
+ if ($318) {
+ $$0 = -1;
+ break L1;
+ } else {
+ $$0240313 = $$0240333;
+ }
+ }
+ _pad($0,32,$$1260,$$0240313,$spec$select);
+ $324 = ($$0240313|0)==(0);
+ if ($324) {
+ $$0240313371 = 0;
+ label = 91;
+ } else {
+ $325 = HEAP32[$6>>2]|0;
+ $$1230340 = $325;$$1241339 = 0;
+ while(1) {
+ $326 = HEAP32[$$1230340>>2]|0;
+ $327 = ($326|0)==(0);
+ if ($327) {
+ $$0240313371 = $$0240313;
+ label = 91;
+ break L103;
+ }
+ $328 = (_wctomb($9,$326)|0);
+ $329 = (($328) + ($$1241339))|0;
+ $330 = ($329|0)>($$0240313|0);
+ if ($330) {
+ $$0240313371 = $$0240313;
+ label = 91;
+ break L103;
+ }
+ $331 = ((($$1230340)) + 4|0);
+ _out($0,$9,$328);
+ $332 = ($329>>>0)<($$0240313>>>0);
+ if ($332) {
+ $$1230340 = $331;$$1241339 = $329;
+ } else {
+ $$0240313371 = $$0240313;
+ label = 91;
+ break;
+ }
+ }
+ }
+ }
+ } while(0);
+ if ((label|0) == 73) {
+ label = 0;
+ $274 = ($$2256|0)>(-1);
+ $275 = $$4266 & -65537;
+ $spec$select281 = $274 ? $275 : $$4266;
+ $276 = ($277|0)!=(0);
+ $278 = ($279|0)!=(0);
+ $280 = $276 | $278;
+ $281 = ($$2256|0)!=(0);
+ $or$cond = $281 | $280;
+ $282 = $$0228;
+ $283 = (($12) - ($282))|0;
+ $284 = $280 ^ 1;
+ $285 = $284&1;
+ $286 = (($283) + ($285))|0;
+ $287 = ($$2256|0)>($286|0);
+ $$2256$ = $287 ? $$2256 : $286;
+ $spec$select298 = $or$cond ? $$2256$ : 0;
+ $spec$select299 = $or$cond ? $$0228 : $11;
+ $$2 = $spec$select299;$$2234 = $$1233;$$2239 = $$1238;$$5 = $spec$select298;$$6268 = $spec$select281;$$pre$phiZ2D = $12;
+ }
+ else if ((label|0) == 91) {
+ label = 0;
+ $333 = $spec$select ^ 8192;
+ _pad($0,32,$$1260,$$0240313371,$333);
+ $334 = ($$1260|0)>($$0240313371|0);
+ $335 = $334 ? $$1260 : $$0240313371;
+ $$0243$ph$be = $335;
+ break;
+ }
+ $338 = $$2;
+ $339 = (($$pre$phiZ2D) - ($338))|0;
+ $340 = ($$5|0)<($339|0);
+ $spec$select284 = $340 ? $339 : $$5;
+ $341 = (($spec$select284) + ($$2234))|0;
+ $342 = ($$1260|0)<($341|0);
+ $$2261 = $342 ? $341 : $$1260;
+ _pad($0,32,$$2261,$341,$$6268);
+ _out($0,$$2239,$$2234);
+ $343 = $$6268 ^ 65536;
+ _pad($0,48,$$2261,$341,$343);
+ _pad($0,48,$spec$select284,$339,0);
+ _out($0,$$2,$339);
+ $344 = $$6268 ^ 8192;
+ _pad($0,32,$$2261,$341,$344);
+ $$0243$ph$be = $$2261;
+ }
+ } while(0);
+ $$0243$ph = $$0243$ph$be;$$0247$ph = $$1248;$$0269$ph = $$3272;
+ }
+ L125: do {
+ if ((label|0) == 94) {
+ $345 = ($0|0)==(0|0);
+ if ($345) {
+ $346 = ($$0269$ph|0)==(0);
+ if ($346) {
+ $$0 = 0;
+ } else {
+ $$2242320 = 1;
+ while(1) {
+ $347 = (($4) + ($$2242320<<2)|0);
+ $348 = HEAP32[$347>>2]|0;
+ $349 = ($348|0)==(0);
+ if ($349) {
+ break;
+ }
+ $350 = (($3) + ($$2242320<<3)|0);
+ _pop_arg($350,$348,$2);
+ $351 = (($$2242320) + 1)|0;
+ $352 = ($351>>>0)<(10);
+ if ($352) {
+ $$2242320 = $351;
+ } else {
+ $$0 = 1;
+ break L125;
+ }
+ }
+ $$3317 = $$2242320;
+ while(1) {
+ $355 = (($4) + ($$3317<<2)|0);
+ $356 = HEAP32[$355>>2]|0;
+ $357 = ($356|0)==(0);
+ $354 = (($$3317) + 1)|0;
+ if (!($357)) {
+ $$0 = -1;
+ break L125;
+ }
+ $353 = ($354>>>0)<(10);
+ if ($353) {
+ $$3317 = $354;
+ } else {
+ $$0 = 1;
+ break;
+ }
+ }
+ }
+ } else {
+ $$0 = $$1248;
+ }
+ }
+ } while(0);
+ STACKTOP = sp;return ($$0|0);
+}
+function _out($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $3 = HEAP32[$0>>2]|0;
+ $4 = $3 & 32;
+ $5 = ($4|0)==(0);
+ if ($5) {
+ (___fwritex($1,$2,$0)|0);
+ }
+ return;
+}
+function _getint($0) {
+ $0 = $0|0;
+ var $$0$lcssa = 0, $$04 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = HEAP32[$0>>2]|0;
+ $2 = HEAP8[$1>>0]|0;
+ $3 = $2 << 24 >> 24;
+ $4 = (_isdigit($3)|0);
+ $5 = ($4|0)==(0);
+ if ($5) {
+ $$0$lcssa = 0;
+ } else {
+ $$04 = 0;
+ while(1) {
+ $6 = ($$04*10)|0;
+ $7 = HEAP32[$0>>2]|0;
+ $8 = HEAP8[$7>>0]|0;
+ $9 = $8 << 24 >> 24;
+ $10 = (($6) + -48)|0;
+ $11 = (($10) + ($9))|0;
+ $12 = ((($7)) + 1|0);
+ HEAP32[$0>>2] = $12;
+ $13 = HEAP8[$12>>0]|0;
+ $14 = $13 << 24 >> 24;
+ $15 = (_isdigit($14)|0);
+ $16 = ($15|0)==(0);
+ if ($16) {
+ $$0$lcssa = $11;
+ break;
+ } else {
+ $$04 = $11;
+ }
+ }
+ }
+ return ($$0$lcssa|0);
+}
+function _pop_arg($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$mask = 0, $$mask31 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0.0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0.0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0;
+ var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $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, $arglist_current = 0, $arglist_current11 = 0, $arglist_current14 = 0, $arglist_current17 = 0;
+ var $arglist_current2 = 0, $arglist_current20 = 0, $arglist_current23 = 0, $arglist_current26 = 0, $arglist_current5 = 0, $arglist_current8 = 0, $arglist_next = 0, $arglist_next12 = 0, $arglist_next15 = 0, $arglist_next18 = 0, $arglist_next21 = 0, $arglist_next24 = 0, $arglist_next27 = 0, $arglist_next3 = 0, $arglist_next6 = 0, $arglist_next9 = 0, $expanded = 0, $expanded28 = 0, $expanded30 = 0, $expanded31 = 0;
+ var $expanded32 = 0, $expanded34 = 0, $expanded35 = 0, $expanded37 = 0, $expanded38 = 0, $expanded39 = 0, $expanded41 = 0, $expanded42 = 0, $expanded44 = 0, $expanded45 = 0, $expanded46 = 0, $expanded48 = 0, $expanded49 = 0, $expanded51 = 0, $expanded52 = 0, $expanded53 = 0, $expanded55 = 0, $expanded56 = 0, $expanded58 = 0, $expanded59 = 0;
+ var $expanded60 = 0, $expanded62 = 0, $expanded63 = 0, $expanded65 = 0, $expanded66 = 0, $expanded67 = 0, $expanded69 = 0, $expanded70 = 0, $expanded72 = 0, $expanded73 = 0, $expanded74 = 0, $expanded76 = 0, $expanded77 = 0, $expanded79 = 0, $expanded80 = 0, $expanded81 = 0, $expanded83 = 0, $expanded84 = 0, $expanded86 = 0, $expanded87 = 0;
+ var $expanded88 = 0, $expanded90 = 0, $expanded91 = 0, $expanded93 = 0, $expanded94 = 0, $expanded95 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $3 = ($1>>>0)>(20);
+ L1: do {
+ if (!($3)) {
+ do {
+ switch ($1|0) {
+ case 9: {
+ $arglist_current = HEAP32[$2>>2]|0;
+ $4 = $arglist_current;
+ $5 = ((0) + 4|0);
+ $expanded28 = $5;
+ $expanded = (($expanded28) - 1)|0;
+ $6 = (($4) + ($expanded))|0;
+ $7 = ((0) + 4|0);
+ $expanded32 = $7;
+ $expanded31 = (($expanded32) - 1)|0;
+ $expanded30 = $expanded31 ^ -1;
+ $8 = $6 & $expanded30;
+ $9 = $8;
+ $10 = HEAP32[$9>>2]|0;
+ $arglist_next = ((($9)) + 4|0);
+ HEAP32[$2>>2] = $arglist_next;
+ HEAP32[$0>>2] = $10;
+ break L1;
+ break;
+ }
+ case 10: {
+ $arglist_current2 = HEAP32[$2>>2]|0;
+ $11 = $arglist_current2;
+ $12 = ((0) + 4|0);
+ $expanded35 = $12;
+ $expanded34 = (($expanded35) - 1)|0;
+ $13 = (($11) + ($expanded34))|0;
+ $14 = ((0) + 4|0);
+ $expanded39 = $14;
+ $expanded38 = (($expanded39) - 1)|0;
+ $expanded37 = $expanded38 ^ -1;
+ $15 = $13 & $expanded37;
+ $16 = $15;
+ $17 = HEAP32[$16>>2]|0;
+ $arglist_next3 = ((($16)) + 4|0);
+ HEAP32[$2>>2] = $arglist_next3;
+ $18 = ($17|0)<(0);
+ $19 = $18 << 31 >> 31;
+ $20 = $0;
+ $21 = $20;
+ HEAP32[$21>>2] = $17;
+ $22 = (($20) + 4)|0;
+ $23 = $22;
+ HEAP32[$23>>2] = $19;
+ break L1;
+ break;
+ }
+ case 11: {
+ $arglist_current5 = HEAP32[$2>>2]|0;
+ $24 = $arglist_current5;
+ $25 = ((0) + 4|0);
+ $expanded42 = $25;
+ $expanded41 = (($expanded42) - 1)|0;
+ $26 = (($24) + ($expanded41))|0;
+ $27 = ((0) + 4|0);
+ $expanded46 = $27;
+ $expanded45 = (($expanded46) - 1)|0;
+ $expanded44 = $expanded45 ^ -1;
+ $28 = $26 & $expanded44;
+ $29 = $28;
+ $30 = HEAP32[$29>>2]|0;
+ $arglist_next6 = ((($29)) + 4|0);
+ HEAP32[$2>>2] = $arglist_next6;
+ $31 = $0;
+ $32 = $31;
+ HEAP32[$32>>2] = $30;
+ $33 = (($31) + 4)|0;
+ $34 = $33;
+ HEAP32[$34>>2] = 0;
+ break L1;
+ break;
+ }
+ case 12: {
+ $arglist_current8 = HEAP32[$2>>2]|0;
+ $35 = $arglist_current8;
+ $36 = ((0) + 8|0);
+ $expanded49 = $36;
+ $expanded48 = (($expanded49) - 1)|0;
+ $37 = (($35) + ($expanded48))|0;
+ $38 = ((0) + 8|0);
+ $expanded53 = $38;
+ $expanded52 = (($expanded53) - 1)|0;
+ $expanded51 = $expanded52 ^ -1;
+ $39 = $37 & $expanded51;
+ $40 = $39;
+ $41 = $40;
+ $42 = $41;
+ $43 = HEAP32[$42>>2]|0;
+ $44 = (($41) + 4)|0;
+ $45 = $44;
+ $46 = HEAP32[$45>>2]|0;
+ $arglist_next9 = ((($40)) + 8|0);
+ HEAP32[$2>>2] = $arglist_next9;
+ $47 = $0;
+ $48 = $47;
+ HEAP32[$48>>2] = $43;
+ $49 = (($47) + 4)|0;
+ $50 = $49;
+ HEAP32[$50>>2] = $46;
+ break L1;
+ break;
+ }
+ case 13: {
+ $arglist_current11 = HEAP32[$2>>2]|0;
+ $51 = $arglist_current11;
+ $52 = ((0) + 4|0);
+ $expanded56 = $52;
+ $expanded55 = (($expanded56) - 1)|0;
+ $53 = (($51) + ($expanded55))|0;
+ $54 = ((0) + 4|0);
+ $expanded60 = $54;
+ $expanded59 = (($expanded60) - 1)|0;
+ $expanded58 = $expanded59 ^ -1;
+ $55 = $53 & $expanded58;
+ $56 = $55;
+ $57 = HEAP32[$56>>2]|0;
+ $arglist_next12 = ((($56)) + 4|0);
+ HEAP32[$2>>2] = $arglist_next12;
+ $58 = $57&65535;
+ $59 = $58 << 16 >> 16;
+ $60 = ($59|0)<(0);
+ $61 = $60 << 31 >> 31;
+ $62 = $0;
+ $63 = $62;
+ HEAP32[$63>>2] = $59;
+ $64 = (($62) + 4)|0;
+ $65 = $64;
+ HEAP32[$65>>2] = $61;
+ break L1;
+ break;
+ }
+ case 14: {
+ $arglist_current14 = HEAP32[$2>>2]|0;
+ $66 = $arglist_current14;
+ $67 = ((0) + 4|0);
+ $expanded63 = $67;
+ $expanded62 = (($expanded63) - 1)|0;
+ $68 = (($66) + ($expanded62))|0;
+ $69 = ((0) + 4|0);
+ $expanded67 = $69;
+ $expanded66 = (($expanded67) - 1)|0;
+ $expanded65 = $expanded66 ^ -1;
+ $70 = $68 & $expanded65;
+ $71 = $70;
+ $72 = HEAP32[$71>>2]|0;
+ $arglist_next15 = ((($71)) + 4|0);
+ HEAP32[$2>>2] = $arglist_next15;
+ $$mask31 = $72 & 65535;
+ $73 = $0;
+ $74 = $73;
+ HEAP32[$74>>2] = $$mask31;
+ $75 = (($73) + 4)|0;
+ $76 = $75;
+ HEAP32[$76>>2] = 0;
+ break L1;
+ break;
+ }
+ case 15: {
+ $arglist_current17 = HEAP32[$2>>2]|0;
+ $77 = $arglist_current17;
+ $78 = ((0) + 4|0);
+ $expanded70 = $78;
+ $expanded69 = (($expanded70) - 1)|0;
+ $79 = (($77) + ($expanded69))|0;
+ $80 = ((0) + 4|0);
+ $expanded74 = $80;
+ $expanded73 = (($expanded74) - 1)|0;
+ $expanded72 = $expanded73 ^ -1;
+ $81 = $79 & $expanded72;
+ $82 = $81;
+ $83 = HEAP32[$82>>2]|0;
+ $arglist_next18 = ((($82)) + 4|0);
+ HEAP32[$2>>2] = $arglist_next18;
+ $84 = $83&255;
+ $85 = $84 << 24 >> 24;
+ $86 = ($85|0)<(0);
+ $87 = $86 << 31 >> 31;
+ $88 = $0;
+ $89 = $88;
+ HEAP32[$89>>2] = $85;
+ $90 = (($88) + 4)|0;
+ $91 = $90;
+ HEAP32[$91>>2] = $87;
+ break L1;
+ break;
+ }
+ case 16: {
+ $arglist_current20 = HEAP32[$2>>2]|0;
+ $92 = $arglist_current20;
+ $93 = ((0) + 4|0);
+ $expanded77 = $93;
+ $expanded76 = (($expanded77) - 1)|0;
+ $94 = (($92) + ($expanded76))|0;
+ $95 = ((0) + 4|0);
+ $expanded81 = $95;
+ $expanded80 = (($expanded81) - 1)|0;
+ $expanded79 = $expanded80 ^ -1;
+ $96 = $94 & $expanded79;
+ $97 = $96;
+ $98 = HEAP32[$97>>2]|0;
+ $arglist_next21 = ((($97)) + 4|0);
+ HEAP32[$2>>2] = $arglist_next21;
+ $$mask = $98 & 255;
+ $99 = $0;
+ $100 = $99;
+ HEAP32[$100>>2] = $$mask;
+ $101 = (($99) + 4)|0;
+ $102 = $101;
+ HEAP32[$102>>2] = 0;
+ break L1;
+ break;
+ }
+ case 17: {
+ $arglist_current23 = HEAP32[$2>>2]|0;
+ $103 = $arglist_current23;
+ $104 = ((0) + 8|0);
+ $expanded84 = $104;
+ $expanded83 = (($expanded84) - 1)|0;
+ $105 = (($103) + ($expanded83))|0;
+ $106 = ((0) + 8|0);
+ $expanded88 = $106;
+ $expanded87 = (($expanded88) - 1)|0;
+ $expanded86 = $expanded87 ^ -1;
+ $107 = $105 & $expanded86;
+ $108 = $107;
+ $109 = +HEAPF64[$108>>3];
+ $arglist_next24 = ((($108)) + 8|0);
+ HEAP32[$2>>2] = $arglist_next24;
+ HEAPF64[$0>>3] = $109;
+ break L1;
+ break;
+ }
+ case 18: {
+ $arglist_current26 = HEAP32[$2>>2]|0;
+ $110 = $arglist_current26;
+ $111 = ((0) + 8|0);
+ $expanded91 = $111;
+ $expanded90 = (($expanded91) - 1)|0;
+ $112 = (($110) + ($expanded90))|0;
+ $113 = ((0) + 8|0);
+ $expanded95 = $113;
+ $expanded94 = (($expanded95) - 1)|0;
+ $expanded93 = $expanded94 ^ -1;
+ $114 = $112 & $expanded93;
+ $115 = $114;
+ $116 = +HEAPF64[$115>>3];
+ $arglist_next27 = ((($115)) + 8|0);
+ HEAP32[$2>>2] = $arglist_next27;
+ HEAPF64[$0>>3] = $116;
+ break L1;
+ break;
+ }
+ default: {
+ break L1;
+ }
+ }
+ } while(0);
+ }
+ } while(0);
+ return;
+}
+function _fmt_x($0,$1,$2,$3) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ var $$05$lcssa = 0, $$056 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0;
+ var sp = 0;
+ sp = STACKTOP;
+ $4 = ($0|0)==(0);
+ $5 = ($1|0)==(0);
+ $6 = $4 & $5;
+ if ($6) {
+ $$05$lcssa = $2;
+ } else {
+ $$056 = $2;$15 = $1;$8 = $0;
+ while(1) {
+ $7 = $8 & 15;
+ $9 = (28416 + ($7)|0);
+ $10 = HEAP8[$9>>0]|0;
+ $11 = $10&255;
+ $12 = $11 | $3;
+ $13 = $12&255;
+ $14 = ((($$056)) + -1|0);
+ HEAP8[$14>>0] = $13;
+ $16 = (_bitshift64Lshr(($8|0),($15|0),4)|0);
+ $17 = tempRet0;
+ $18 = ($16|0)==(0);
+ $19 = ($17|0)==(0);
+ $20 = $18 & $19;
+ if ($20) {
+ $$05$lcssa = $14;
+ break;
+ } else {
+ $$056 = $14;$15 = $17;$8 = $16;
+ }
+ }
+ }
+ return ($$05$lcssa|0);
+}
+function _fmt_o($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$0$lcssa = 0, $$06 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $3 = ($0|0)==(0);
+ $4 = ($1|0)==(0);
+ $5 = $3 & $4;
+ if ($5) {
+ $$0$lcssa = $2;
+ } else {
+ $$06 = $2;$11 = $1;$7 = $0;
+ while(1) {
+ $6 = $7&255;
+ $8 = $6 & 7;
+ $9 = $8 | 48;
+ $10 = ((($$06)) + -1|0);
+ HEAP8[$10>>0] = $9;
+ $12 = (_bitshift64Lshr(($7|0),($11|0),3)|0);
+ $13 = tempRet0;
+ $14 = ($12|0)==(0);
+ $15 = ($13|0)==(0);
+ $16 = $14 & $15;
+ if ($16) {
+ $$0$lcssa = $10;
+ break;
+ } else {
+ $$06 = $10;$11 = $13;$7 = $12;
+ }
+ }
+ }
+ return ($$0$lcssa|0);
+}
+function _fmt_u($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$010$lcssa$off0 = 0, $$012 = 0, $$09$lcssa = 0, $$0914 = 0, $$1$lcssa = 0, $$111 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0;
+ var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $3 = ($1>>>0)>(0);
+ $4 = ($0>>>0)>(4294967295);
+ $5 = ($1|0)==(0);
+ $6 = $5 & $4;
+ $7 = $3 | $6;
+ if ($7) {
+ $$0914 = $2;$8 = $0;$9 = $1;
+ while(1) {
+ $10 = (___udivdi3(($8|0),($9|0),10,0)|0);
+ $11 = tempRet0;
+ $12 = (___muldi3(($10|0),($11|0),10,0)|0);
+ $13 = tempRet0;
+ $14 = (_i64Subtract(($8|0),($9|0),($12|0),($13|0))|0);
+ $15 = tempRet0;
+ $16 = $14&255;
+ $17 = $16 | 48;
+ $18 = ((($$0914)) + -1|0);
+ HEAP8[$18>>0] = $17;
+ $19 = ($9>>>0)>(9);
+ $20 = ($8>>>0)>(4294967295);
+ $21 = ($9|0)==(9);
+ $22 = $21 & $20;
+ $23 = $19 | $22;
+ if ($23) {
+ $$0914 = $18;$8 = $10;$9 = $11;
+ } else {
+ break;
+ }
+ }
+ $$010$lcssa$off0 = $10;$$09$lcssa = $18;
+ } else {
+ $$010$lcssa$off0 = $0;$$09$lcssa = $2;
+ }
+ $24 = ($$010$lcssa$off0|0)==(0);
+ if ($24) {
+ $$1$lcssa = $$09$lcssa;
+ } else {
+ $$012 = $$010$lcssa$off0;$$111 = $$09$lcssa;
+ while(1) {
+ $25 = (($$012>>>0) / 10)&-1;
+ $26 = ($25*10)|0;
+ $27 = (($$012) - ($26))|0;
+ $28 = $27 | 48;
+ $29 = $28&255;
+ $30 = ((($$111)) + -1|0);
+ HEAP8[$30>>0] = $29;
+ $31 = ($$012>>>0)<(10);
+ if ($31) {
+ $$1$lcssa = $30;
+ break;
+ } else {
+ $$012 = $25;$$111 = $30;
+ }
+ }
+ }
+ return ($$1$lcssa|0);
+}
+function _strerror($0) {
+ $0 = $0|0;
+ var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = (___pthread_self_568()|0);
+ $2 = ((($1)) + 188|0);
+ $3 = HEAP32[$2>>2]|0;
+ $4 = (___strerror_l($0,$3)|0);
+ return ($4|0);
+}
+function _pad($0,$1,$2,$3,$4) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ var $$0$lcssa = 0, $$011 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0);
+ $5 = sp;
+ $6 = $4 & 73728;
+ $7 = ($6|0)==(0);
+ $8 = ($2|0)>($3|0);
+ $or$cond = $8 & $7;
+ if ($or$cond) {
+ $9 = (($2) - ($3))|0;
+ $10 = $1 << 24 >> 24;
+ $11 = ($9>>>0)<(256);
+ $12 = $11 ? $9 : 256;
+ (_memset(($5|0),($10|0),($12|0))|0);
+ $13 = ($9>>>0)>(255);
+ if ($13) {
+ $14 = (($2) - ($3))|0;
+ $$011 = $9;
+ while(1) {
+ _out($0,$5,256);
+ $15 = (($$011) + -256)|0;
+ $16 = ($15>>>0)>(255);
+ if ($16) {
+ $$011 = $15;
+ } else {
+ break;
+ }
+ }
+ $17 = $14 & 255;
+ $$0$lcssa = $17;
+ } else {
+ $$0$lcssa = $9;
+ }
+ _out($0,$5,$$0$lcssa);
+ }
+ STACKTOP = sp;return;
+}
+function _fmt_fp($0,$1,$2,$3,$4,$5) {
+ $0 = $0|0;
+ $1 = +$1;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ $5 = $5|0;
+ var $$ = 0, $$0 = 0, $$0463$lcssa = 0, $$0463588 = 0, $$0464599 = 0, $$0471 = 0.0, $$0479 = 0, $$0487657 = 0, $$0488 = 0, $$0488669 = 0, $$0488671 = 0, $$0497670 = 0, $$0498 = 0, $$0511586 = 0.0, $$0512 = 0, $$0513 = 0, $$0516652 = 0, $$0522 = 0, $$0523 = 0, $$0525 = 0;
+ var $$0527 = 0, $$0529 = 0, $$0529$in646 = 0, $$0532651 = 0, $$1465 = 0, $$1467 = 0.0, $$1469 = 0.0, $$1472 = 0.0, $$1480 = 0, $$1482$lcssa = 0, $$1482683 = 0, $$1489656 = 0, $$1499 = 0, $$1510587 = 0, $$1514$lcssa = 0, $$1514614 = 0, $$1517 = 0, $$1526 = 0, $$1528 = 0, $$1530621 = 0;
+ var $$1533$lcssa = 0, $$1533645 = 0, $$1604 = 0, $$2 = 0, $$2473 = 0.0, $$2476 = 0, $$2483 = 0, $$2490$lcssa = 0, $$2490638 = 0, $$2500$lcssa = 0, $$2500682 = 0, $$2515 = 0, $$2518634 = 0, $$2531 = 0, $$2534633 = 0, $$3 = 0.0, $$3477 = 0, $$3484$lcssa = 0, $$3484663 = 0, $$3501$lcssa = 0;
+ var $$3501676 = 0, $$3535620 = 0, $$4 = 0.0, $$4478$lcssa = 0, $$4478594 = 0, $$4492 = 0, $$4502$lcssa = 0, $$4502662 = 0, $$4520 = 0, $$5$lcssa = 0, $$5486$lcssa = 0, $$5486639 = 0, $$5493603 = 0, $$5503 = 0, $$5521 = 0, $$560 = 0, $$5609 = 0, $$6 = 0, $$6494593 = 0, $$7495608 = 0;
+ var $$8 = 0, $$8506 = 0, $$9 = 0, $$9507$lcssa = 0, $$9507625 = 0, $$lcssa583 = 0, $$lobit = 0, $$neg = 0, $$neg571 = 0, $$not = 0, $$pn = 0, $$pr = 0, $$pr564 = 0, $$pre = 0, $$pre$phi717Z2D = 0, $$pre$phi718Z2D = 0, $$pre720 = 0, $$sink757 = 0, $10 = 0, $100 = 0;
+ var $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0;
+ var $12 = 0, $120 = 0, $121 = 0.0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0.0, $129 = 0.0, $13 = 0, $130 = 0.0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0;
+ var $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0.0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0;
+ var $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0;
+ var $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0;
+ var $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0;
+ var $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0;
+ var $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0.0;
+ var $247 = 0.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, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0;
+ var $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0;
+ var $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0;
+ var $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0;
+ var $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0;
+ var $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0;
+ var $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0.0, $370 = 0, $371 = 0, $372 = 0, $373 = 0;
+ var $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0.0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0;
+ var $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0;
+ var $410 = 0, $411 = 0, $412 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0.0, $54 = 0, $55 = 0, $56 = 0, $57 = 0.0, $58 = 0.0;
+ var $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0;
+ var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0;
+ var $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $not$ = 0, $or$cond = 0, $or$cond3$not = 0, $or$cond543 = 0, $or$cond546 = 0, $or$cond556 = 0, $or$cond559 = 0, $or$cond6 = 0, $scevgep711 = 0, $scevgep711712 = 0, $spec$select = 0, $spec$select539 = 0, $spec$select540 = 0, $spec$select540722 = 0, $spec$select540723 = 0;
+ var $spec$select541 = 0, $spec$select544 = 0.0, $spec$select547 = 0, $spec$select548 = 0, $spec$select549 = 0, $spec$select551 = 0, $spec$select554 = 0, $spec$select557 = 0, $spec$select561 = 0.0, $spec$select562 = 0, $spec$select563 = 0, $spec$select565 = 0, $spec$select566 = 0, $spec$select567 = 0.0, $spec$select568 = 0.0, $spec$select569 = 0.0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 560|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(560|0);
+ $6 = sp + 32|0;
+ $7 = sp + 536|0;
+ $8 = sp;
+ $9 = $8;
+ $10 = sp + 540|0;
+ HEAP32[$7>>2] = 0;
+ $11 = ((($10)) + 12|0);
+ $12 = (___DOUBLE_BITS($1)|0);
+ $13 = tempRet0;
+ $14 = ($13|0)<(0);
+ if ($14) {
+ $15 = - $1;
+ $16 = (___DOUBLE_BITS($15)|0);
+ $17 = tempRet0;
+ $$0471 = $15;$$0522 = 1;$$0523 = 70630;$25 = $17;$412 = $16;
+ } else {
+ $18 = $4 & 2048;
+ $19 = ($18|0)==(0);
+ $20 = $4 & 1;
+ $21 = ($20|0)==(0);
+ $$ = $21 ? (70631) : (70636);
+ $spec$select565 = $19 ? $$ : (70633);
+ $22 = $4 & 2049;
+ $23 = ($22|0)!=(0);
+ $spec$select566 = $23&1;
+ $$0471 = $1;$$0522 = $spec$select566;$$0523 = $spec$select565;$25 = $13;$412 = $12;
+ }
+ $24 = $25 & 2146435072;
+ $26 = (0)==(0);
+ $27 = ($24|0)==(2146435072);
+ $28 = $26 & $27;
+ do {
+ if ($28) {
+ $29 = $5 & 32;
+ $30 = ($29|0)!=(0);
+ $31 = $30 ? 70649 : 70653;
+ $32 = ($$0471 != $$0471) | (0.0 != 0.0);
+ $33 = $30 ? 70657 : 70661;
+ $$0512 = $32 ? $33 : $31;
+ $34 = (($$0522) + 3)|0;
+ $35 = $4 & -65537;
+ _pad($0,32,$2,$34,$35);
+ _out($0,$$0523,$$0522);
+ _out($0,$$0512,3);
+ $36 = $4 ^ 8192;
+ _pad($0,32,$2,$34,$36);
+ $$sink757 = $34;
+ } else {
+ $37 = (+_frexpl($$0471,$7));
+ $38 = $37 * 2.0;
+ $39 = $38 != 0.0;
+ if ($39) {
+ $40 = HEAP32[$7>>2]|0;
+ $41 = (($40) + -1)|0;
+ HEAP32[$7>>2] = $41;
+ }
+ $42 = $5 | 32;
+ $43 = ($42|0)==(97);
+ if ($43) {
+ $44 = $5 & 32;
+ $45 = ($44|0)==(0);
+ $46 = ((($$0523)) + 9|0);
+ $spec$select = $45 ? $$0523 : $46;
+ $47 = $$0522 | 2;
+ $48 = ($3>>>0)>(11);
+ $49 = (12 - ($3))|0;
+ $50 = ($49|0)==(0);
+ $51 = $48 | $50;
+ do {
+ if ($51) {
+ $$1472 = $38;
+ } else {
+ $$0511586 = 8.0;$$1510587 = $49;
+ while(1) {
+ $52 = (($$1510587) + -1)|0;
+ $53 = $$0511586 * 16.0;
+ $54 = ($52|0)==(0);
+ if ($54) {
+ break;
+ } else {
+ $$0511586 = $53;$$1510587 = $52;
+ }
+ }
+ $55 = HEAP8[$spec$select>>0]|0;
+ $56 = ($55<<24>>24)==(45);
+ if ($56) {
+ $57 = - $38;
+ $58 = $57 - $53;
+ $59 = $53 + $58;
+ $60 = - $59;
+ $$1472 = $60;
+ break;
+ } else {
+ $61 = $38 + $53;
+ $62 = $61 - $53;
+ $$1472 = $62;
+ break;
+ }
+ }
+ } while(0);
+ $63 = HEAP32[$7>>2]|0;
+ $64 = ($63|0)<(0);
+ $65 = (0 - ($63))|0;
+ $66 = $64 ? $65 : $63;
+ $67 = ($66|0)<(0);
+ $68 = $67 << 31 >> 31;
+ $69 = (_fmt_u($66,$68,$11)|0);
+ $70 = ($69|0)==($11|0);
+ if ($70) {
+ $71 = ((($10)) + 11|0);
+ HEAP8[$71>>0] = 48;
+ $$0513 = $71;
+ } else {
+ $$0513 = $69;
+ }
+ $72 = $63 >> 31;
+ $73 = $72 & 2;
+ $74 = (($73) + 43)|0;
+ $75 = $74&255;
+ $76 = ((($$0513)) + -1|0);
+ HEAP8[$76>>0] = $75;
+ $77 = (($5) + 15)|0;
+ $78 = $77&255;
+ $79 = ((($$0513)) + -2|0);
+ HEAP8[$79>>0] = $78;
+ $80 = ($3|0)<(1);
+ $81 = $4 & 8;
+ $82 = ($81|0)==(0);
+ $$0525 = $8;$$2473 = $$1472;
+ while(1) {
+ $83 = (~~(($$2473)));
+ $84 = (28416 + ($83)|0);
+ $85 = HEAP8[$84>>0]|0;
+ $86 = $85&255;
+ $87 = $44 | $86;
+ $88 = $87&255;
+ $89 = ((($$0525)) + 1|0);
+ HEAP8[$$0525>>0] = $88;
+ $90 = (+($83|0));
+ $91 = $$2473 - $90;
+ $92 = $91 * 16.0;
+ $93 = $89;
+ $94 = (($93) - ($9))|0;
+ $95 = ($94|0)==(1);
+ if ($95) {
+ $96 = $92 == 0.0;
+ $or$cond3$not = $80 & $96;
+ $or$cond = $82 & $or$cond3$not;
+ if ($or$cond) {
+ $$1526 = $89;
+ } else {
+ $97 = ((($$0525)) + 2|0);
+ HEAP8[$89>>0] = 46;
+ $$1526 = $97;
+ }
+ } else {
+ $$1526 = $89;
+ }
+ $98 = $92 != 0.0;
+ if ($98) {
+ $$0525 = $$1526;$$2473 = $92;
+ } else {
+ break;
+ }
+ }
+ $99 = ($3|0)==(0);
+ $$pre720 = $$1526;
+ if ($99) {
+ label = 25;
+ } else {
+ $100 = (-2 - ($9))|0;
+ $101 = (($100) + ($$pre720))|0;
+ $102 = ($101|0)<($3|0);
+ if ($102) {
+ $103 = $11;
+ $104 = $79;
+ $105 = (($3) + 2)|0;
+ $106 = (($105) + ($103))|0;
+ $107 = (($106) - ($104))|0;
+ $$0527 = $107;$$pre$phi717Z2D = $103;$$pre$phi718Z2D = $104;
+ } else {
+ label = 25;
+ }
+ }
+ if ((label|0) == 25) {
+ $108 = $11;
+ $109 = $79;
+ $110 = (($108) - ($9))|0;
+ $111 = (($110) - ($109))|0;
+ $112 = (($111) + ($$pre720))|0;
+ $$0527 = $112;$$pre$phi717Z2D = $108;$$pre$phi718Z2D = $109;
+ }
+ $113 = (($$0527) + ($47))|0;
+ _pad($0,32,$2,$113,$4);
+ _out($0,$spec$select,$47);
+ $114 = $4 ^ 65536;
+ _pad($0,48,$2,$113,$114);
+ $115 = (($$pre720) - ($9))|0;
+ _out($0,$8,$115);
+ $116 = (($$pre$phi717Z2D) - ($$pre$phi718Z2D))|0;
+ $117 = (($115) + ($116))|0;
+ $118 = (($$0527) - ($117))|0;
+ _pad($0,48,$118,0,0);
+ _out($0,$79,$116);
+ $119 = $4 ^ 8192;
+ _pad($0,32,$2,$113,$119);
+ $$sink757 = $113;
+ break;
+ }
+ $120 = ($3|0)<(0);
+ $spec$select539 = $120 ? 6 : $3;
+ if ($39) {
+ $121 = $38 * 268435456.0;
+ $122 = HEAP32[$7>>2]|0;
+ $123 = (($122) + -28)|0;
+ HEAP32[$7>>2] = $123;
+ $$3 = $121;$$pr = $123;
+ } else {
+ $$pre = HEAP32[$7>>2]|0;
+ $$3 = $38;$$pr = $$pre;
+ }
+ $124 = ($$pr|0)<(0);
+ $125 = ((($6)) + 288|0);
+ $$0498 = $124 ? $6 : $125;
+ $$1499 = $$0498;$$4 = $$3;
+ while(1) {
+ $126 = (~~(($$4))>>>0);
+ HEAP32[$$1499>>2] = $126;
+ $127 = ((($$1499)) + 4|0);
+ $128 = (+($126>>>0));
+ $129 = $$4 - $128;
+ $130 = $129 * 1.0E+9;
+ $131 = $130 != 0.0;
+ if ($131) {
+ $$1499 = $127;$$4 = $130;
+ } else {
+ break;
+ }
+ }
+ $132 = $$0498;
+ $133 = ($$pr|0)>(0);
+ if ($133) {
+ $$1482683 = $$0498;$$2500682 = $127;$135 = $$pr;
+ while(1) {
+ $134 = ($135|0)<(29);
+ $136 = $134 ? $135 : 29;
+ $$0488669 = ((($$2500682)) + -4|0);
+ $137 = ($$0488669>>>0)<($$1482683>>>0);
+ if ($137) {
+ $$2483 = $$1482683;
+ } else {
+ $$0488671 = $$0488669;$$0497670 = 0;
+ while(1) {
+ $138 = HEAP32[$$0488671>>2]|0;
+ $139 = (_bitshift64Shl(($138|0),0,($136|0))|0);
+ $140 = tempRet0;
+ $141 = (_i64Add(($139|0),($140|0),($$0497670|0),0)|0);
+ $142 = tempRet0;
+ $143 = (___udivdi3(($141|0),($142|0),1000000000,0)|0);
+ $144 = tempRet0;
+ $145 = (___muldi3(($143|0),($144|0),1000000000,0)|0);
+ $146 = tempRet0;
+ $147 = (_i64Subtract(($141|0),($142|0),($145|0),($146|0))|0);
+ $148 = tempRet0;
+ HEAP32[$$0488671>>2] = $147;
+ $$0488 = ((($$0488671)) + -4|0);
+ $149 = ($$0488>>>0)<($$1482683>>>0);
+ if ($149) {
+ break;
+ } else {
+ $$0488671 = $$0488;$$0497670 = $143;
+ }
+ }
+ $150 = ($143|0)==(0);
+ if ($150) {
+ $$2483 = $$1482683;
+ } else {
+ $151 = ((($$1482683)) + -4|0);
+ HEAP32[$151>>2] = $143;
+ $$2483 = $151;
+ }
+ }
+ $152 = ($$2500682>>>0)>($$2483>>>0);
+ L57: do {
+ if ($152) {
+ $$3501676 = $$2500682;
+ while(1) {
+ $154 = ((($$3501676)) + -4|0);
+ $155 = HEAP32[$154>>2]|0;
+ $156 = ($155|0)==(0);
+ if (!($156)) {
+ $$3501$lcssa = $$3501676;
+ break L57;
+ }
+ $153 = ($154>>>0)>($$2483>>>0);
+ if ($153) {
+ $$3501676 = $154;
+ } else {
+ $$3501$lcssa = $154;
+ break;
+ }
+ }
+ } else {
+ $$3501$lcssa = $$2500682;
+ }
+ } while(0);
+ $157 = HEAP32[$7>>2]|0;
+ $158 = (($157) - ($136))|0;
+ HEAP32[$7>>2] = $158;
+ $159 = ($158|0)>(0);
+ if ($159) {
+ $$1482683 = $$2483;$$2500682 = $$3501$lcssa;$135 = $158;
+ } else {
+ $$1482$lcssa = $$2483;$$2500$lcssa = $$3501$lcssa;$$pr564 = $158;
+ break;
+ }
+ }
+ } else {
+ $$1482$lcssa = $$0498;$$2500$lcssa = $127;$$pr564 = $$pr;
+ }
+ $160 = ($$pr564|0)<(0);
+ if ($160) {
+ $161 = (($spec$select539) + 25)|0;
+ $162 = (($161|0) / 9)&-1;
+ $163 = (($162) + 1)|0;
+ $164 = ($42|0)==(102);
+ $$3484663 = $$1482$lcssa;$$4502662 = $$2500$lcssa;$166 = $$pr564;
+ while(1) {
+ $165 = (0 - ($166))|0;
+ $167 = ($165|0)<(9);
+ $168 = $167 ? $165 : 9;
+ $169 = ($$3484663>>>0)<($$4502662>>>0);
+ if ($169) {
+ $173 = 1 << $168;
+ $174 = (($173) + -1)|0;
+ $175 = 1000000000 >>> $168;
+ $$0487657 = 0;$$1489656 = $$3484663;
+ while(1) {
+ $176 = HEAP32[$$1489656>>2]|0;
+ $177 = $176 & $174;
+ $178 = $176 >>> $168;
+ $179 = (($178) + ($$0487657))|0;
+ HEAP32[$$1489656>>2] = $179;
+ $180 = Math_imul($177, $175)|0;
+ $181 = ((($$1489656)) + 4|0);
+ $182 = ($181>>>0)<($$4502662>>>0);
+ if ($182) {
+ $$0487657 = $180;$$1489656 = $181;
+ } else {
+ break;
+ }
+ }
+ $183 = HEAP32[$$3484663>>2]|0;
+ $184 = ($183|0)==(0);
+ $185 = ((($$3484663)) + 4|0);
+ $spec$select540 = $184 ? $185 : $$3484663;
+ $186 = ($180|0)==(0);
+ if ($186) {
+ $$5503 = $$4502662;$spec$select540723 = $spec$select540;
+ } else {
+ $187 = ((($$4502662)) + 4|0);
+ HEAP32[$$4502662>>2] = $180;
+ $$5503 = $187;$spec$select540723 = $spec$select540;
+ }
+ } else {
+ $170 = HEAP32[$$3484663>>2]|0;
+ $171 = ($170|0)==(0);
+ $172 = ((($$3484663)) + 4|0);
+ $spec$select540722 = $171 ? $172 : $$3484663;
+ $$5503 = $$4502662;$spec$select540723 = $spec$select540722;
+ }
+ $188 = $164 ? $$0498 : $spec$select540723;
+ $189 = $$5503;
+ $190 = $188;
+ $191 = (($189) - ($190))|0;
+ $192 = $191 >> 2;
+ $193 = ($192|0)>($163|0);
+ $194 = (($188) + ($163<<2)|0);
+ $spec$select541 = $193 ? $194 : $$5503;
+ $195 = HEAP32[$7>>2]|0;
+ $196 = (($195) + ($168))|0;
+ HEAP32[$7>>2] = $196;
+ $197 = ($196|0)<(0);
+ if ($197) {
+ $$3484663 = $spec$select540723;$$4502662 = $spec$select541;$166 = $196;
+ } else {
+ $$3484$lcssa = $spec$select540723;$$4502$lcssa = $spec$select541;
+ break;
+ }
+ }
+ } else {
+ $$3484$lcssa = $$1482$lcssa;$$4502$lcssa = $$2500$lcssa;
+ }
+ $198 = ($$3484$lcssa>>>0)<($$4502$lcssa>>>0);
+ if ($198) {
+ $199 = $$3484$lcssa;
+ $200 = (($132) - ($199))|0;
+ $201 = $200 >> 2;
+ $202 = ($201*9)|0;
+ $203 = HEAP32[$$3484$lcssa>>2]|0;
+ $204 = ($203>>>0)<(10);
+ if ($204) {
+ $$1517 = $202;
+ } else {
+ $$0516652 = $202;$$0532651 = 10;
+ while(1) {
+ $205 = ($$0532651*10)|0;
+ $206 = (($$0516652) + 1)|0;
+ $207 = ($203>>>0)<($205>>>0);
+ if ($207) {
+ $$1517 = $206;
+ break;
+ } else {
+ $$0516652 = $206;$$0532651 = $205;
+ }
+ }
+ }
+ } else {
+ $$1517 = 0;
+ }
+ $208 = ($42|0)==(102);
+ $209 = $208 ? 0 : $$1517;
+ $210 = (($spec$select539) - ($209))|0;
+ $211 = ($42|0)==(103);
+ $212 = ($spec$select539|0)!=(0);
+ $213 = $212 & $211;
+ $$neg = $213 << 31 >> 31;
+ $214 = (($210) + ($$neg))|0;
+ $215 = $$4502$lcssa;
+ $216 = (($215) - ($132))|0;
+ $217 = $216 >> 2;
+ $218 = ($217*9)|0;
+ $219 = (($218) + -9)|0;
+ $220 = ($214|0)<($219|0);
+ if ($220) {
+ $221 = ((($$0498)) + 4|0);
+ $222 = (($214) + 9216)|0;
+ $223 = (($222|0) / 9)&-1;
+ $224 = (($223) + -1024)|0;
+ $225 = (($221) + ($224<<2)|0);
+ $226 = ($223*9)|0;
+ $227 = (($222) - ($226))|0;
+ $228 = ($227|0)<(8);
+ if ($228) {
+ $$0529$in646 = $227;$$1533645 = 10;
+ while(1) {
+ $$0529 = (($$0529$in646) + 1)|0;
+ $229 = ($$1533645*10)|0;
+ $230 = ($$0529$in646|0)<(7);
+ if ($230) {
+ $$0529$in646 = $$0529;$$1533645 = $229;
+ } else {
+ $$1533$lcssa = $229;
+ break;
+ }
+ }
+ } else {
+ $$1533$lcssa = 10;
+ }
+ $231 = HEAP32[$225>>2]|0;
+ $232 = (($231>>>0) / ($$1533$lcssa>>>0))&-1;
+ $233 = Math_imul($232, $$1533$lcssa)|0;
+ $234 = (($231) - ($233))|0;
+ $235 = ($234|0)==(0);
+ $236 = ((($225)) + 4|0);
+ $237 = ($236|0)==($$4502$lcssa|0);
+ $or$cond543 = $237 & $235;
+ if ($or$cond543) {
+ $$4492 = $225;$$4520 = $$1517;$$8 = $$3484$lcssa;
+ } else {
+ $238 = $232 & 1;
+ $239 = ($238|0)==(0);
+ $spec$select544 = $239 ? 9007199254740992.0 : 9007199254740994.0;
+ $240 = $$1533$lcssa >>> 1;
+ $241 = ($234>>>0)<($240>>>0);
+ $242 = ($234|0)==($240|0);
+ $or$cond546 = $237 & $242;
+ $spec$select561 = $or$cond546 ? 1.0 : 1.5;
+ $spec$select567 = $241 ? 0.5 : $spec$select561;
+ $243 = ($$0522|0)==(0);
+ if ($243) {
+ $$1467 = $spec$select567;$$1469 = $spec$select544;
+ } else {
+ $244 = HEAP8[$$0523>>0]|0;
+ $245 = ($244<<24>>24)==(45);
+ $246 = - $spec$select544;
+ $247 = - $spec$select567;
+ $spec$select568 = $245 ? $246 : $spec$select544;
+ $spec$select569 = $245 ? $247 : $spec$select567;
+ $$1467 = $spec$select569;$$1469 = $spec$select568;
+ }
+ $248 = (($231) - ($234))|0;
+ HEAP32[$225>>2] = $248;
+ $249 = $$1469 + $$1467;
+ $250 = $249 != $$1469;
+ if ($250) {
+ $251 = (($248) + ($$1533$lcssa))|0;
+ HEAP32[$225>>2] = $251;
+ $252 = ($251>>>0)>(999999999);
+ if ($252) {
+ $$2490638 = $225;$$5486639 = $$3484$lcssa;
+ while(1) {
+ $253 = ((($$2490638)) + -4|0);
+ HEAP32[$$2490638>>2] = 0;
+ $254 = ($253>>>0)<($$5486639>>>0);
+ if ($254) {
+ $255 = ((($$5486639)) + -4|0);
+ HEAP32[$255>>2] = 0;
+ $$6 = $255;
+ } else {
+ $$6 = $$5486639;
+ }
+ $256 = HEAP32[$253>>2]|0;
+ $257 = (($256) + 1)|0;
+ HEAP32[$253>>2] = $257;
+ $258 = ($257>>>0)>(999999999);
+ if ($258) {
+ $$2490638 = $253;$$5486639 = $$6;
+ } else {
+ $$2490$lcssa = $253;$$5486$lcssa = $$6;
+ break;
+ }
+ }
+ } else {
+ $$2490$lcssa = $225;$$5486$lcssa = $$3484$lcssa;
+ }
+ $259 = $$5486$lcssa;
+ $260 = (($132) - ($259))|0;
+ $261 = $260 >> 2;
+ $262 = ($261*9)|0;
+ $263 = HEAP32[$$5486$lcssa>>2]|0;
+ $264 = ($263>>>0)<(10);
+ if ($264) {
+ $$4492 = $$2490$lcssa;$$4520 = $262;$$8 = $$5486$lcssa;
+ } else {
+ $$2518634 = $262;$$2534633 = 10;
+ while(1) {
+ $265 = ($$2534633*10)|0;
+ $266 = (($$2518634) + 1)|0;
+ $267 = ($263>>>0)<($265>>>0);
+ if ($267) {
+ $$4492 = $$2490$lcssa;$$4520 = $266;$$8 = $$5486$lcssa;
+ break;
+ } else {
+ $$2518634 = $266;$$2534633 = $265;
+ }
+ }
+ }
+ } else {
+ $$4492 = $225;$$4520 = $$1517;$$8 = $$3484$lcssa;
+ }
+ }
+ $268 = ((($$4492)) + 4|0);
+ $269 = ($$4502$lcssa>>>0)>($268>>>0);
+ $spec$select547 = $269 ? $268 : $$4502$lcssa;
+ $$5521 = $$4520;$$8506 = $spec$select547;$$9 = $$8;
+ } else {
+ $$5521 = $$1517;$$8506 = $$4502$lcssa;$$9 = $$3484$lcssa;
+ }
+ $270 = (0 - ($$5521))|0;
+ $271 = ($$8506>>>0)>($$9>>>0);
+ L109: do {
+ if ($271) {
+ $$9507625 = $$8506;
+ while(1) {
+ $273 = ((($$9507625)) + -4|0);
+ $274 = HEAP32[$273>>2]|0;
+ $275 = ($274|0)==(0);
+ if (!($275)) {
+ $$9507$lcssa = $$9507625;$$lcssa583 = 1;
+ break L109;
+ }
+ $272 = ($273>>>0)>($$9>>>0);
+ if ($272) {
+ $$9507625 = $273;
+ } else {
+ $$9507$lcssa = $273;$$lcssa583 = 0;
+ break;
+ }
+ }
+ } else {
+ $$9507$lcssa = $$8506;$$lcssa583 = 0;
+ }
+ } while(0);
+ do {
+ if ($211) {
+ $not$ = $212 ^ 1;
+ $276 = $not$&1;
+ $spec$select548 = (($spec$select539) + ($276))|0;
+ $277 = ($spec$select548|0)>($$5521|0);
+ $278 = ($$5521|0)>(-5);
+ $or$cond6 = $277 & $278;
+ if ($or$cond6) {
+ $279 = (($5) + -1)|0;
+ $$neg571 = (($spec$select548) + -1)|0;
+ $280 = (($$neg571) - ($$5521))|0;
+ $$0479 = $279;$$2476 = $280;
+ } else {
+ $281 = (($5) + -2)|0;
+ $282 = (($spec$select548) + -1)|0;
+ $$0479 = $281;$$2476 = $282;
+ }
+ $283 = $4 & 8;
+ $284 = ($283|0)==(0);
+ if ($284) {
+ if ($$lcssa583) {
+ $285 = ((($$9507$lcssa)) + -4|0);
+ $286 = HEAP32[$285>>2]|0;
+ $287 = ($286|0)==(0);
+ if ($287) {
+ $$2531 = 9;
+ } else {
+ $288 = (($286>>>0) % 10)&-1;
+ $289 = ($288|0)==(0);
+ if ($289) {
+ $$1530621 = 0;$$3535620 = 10;
+ while(1) {
+ $290 = ($$3535620*10)|0;
+ $291 = (($$1530621) + 1)|0;
+ $292 = (($286>>>0) % ($290>>>0))&-1;
+ $293 = ($292|0)==(0);
+ if ($293) {
+ $$1530621 = $291;$$3535620 = $290;
+ } else {
+ $$2531 = $291;
+ break;
+ }
+ }
+ } else {
+ $$2531 = 0;
+ }
+ }
+ } else {
+ $$2531 = 9;
+ }
+ $294 = $$0479 | 32;
+ $295 = ($294|0)==(102);
+ $296 = $$9507$lcssa;
+ $297 = (($296) - ($132))|0;
+ $298 = $297 >> 2;
+ $299 = ($298*9)|0;
+ $300 = (($299) + -9)|0;
+ if ($295) {
+ $301 = (($300) - ($$2531))|0;
+ $302 = ($301|0)>(0);
+ $spec$select549 = $302 ? $301 : 0;
+ $303 = ($$2476|0)<($spec$select549|0);
+ $spec$select562 = $303 ? $$2476 : $spec$select549;
+ $$1480 = $$0479;$$3477 = $spec$select562;
+ break;
+ } else {
+ $304 = (($300) + ($$5521))|0;
+ $305 = (($304) - ($$2531))|0;
+ $306 = ($305|0)>(0);
+ $spec$select551 = $306 ? $305 : 0;
+ $307 = ($$2476|0)<($spec$select551|0);
+ $spec$select563 = $307 ? $$2476 : $spec$select551;
+ $$1480 = $$0479;$$3477 = $spec$select563;
+ break;
+ }
+ } else {
+ $$1480 = $$0479;$$3477 = $$2476;
+ }
+ } else {
+ $$1480 = $5;$$3477 = $spec$select539;
+ }
+ } while(0);
+ $308 = ($$3477|0)!=(0);
+ $309 = $4 >>> 3;
+ $$lobit = $309 & 1;
+ $310 = $308 ? 1 : $$lobit;
+ $311 = $$1480 | 32;
+ $312 = ($311|0)==(102);
+ if ($312) {
+ $313 = ($$5521|0)>(0);
+ $314 = $313 ? $$5521 : 0;
+ $$2515 = 0;$$pn = $314;
+ } else {
+ $315 = ($$5521|0)<(0);
+ $316 = $315 ? $270 : $$5521;
+ $317 = ($316|0)<(0);
+ $318 = $317 << 31 >> 31;
+ $319 = (_fmt_u($316,$318,$11)|0);
+ $320 = $11;
+ $321 = $319;
+ $322 = (($320) - ($321))|0;
+ $323 = ($322|0)<(2);
+ if ($323) {
+ $$1514614 = $319;
+ while(1) {
+ $324 = ((($$1514614)) + -1|0);
+ HEAP8[$324>>0] = 48;
+ $325 = $324;
+ $326 = (($320) - ($325))|0;
+ $327 = ($326|0)<(2);
+ if ($327) {
+ $$1514614 = $324;
+ } else {
+ $$1514$lcssa = $324;
+ break;
+ }
+ }
+ } else {
+ $$1514$lcssa = $319;
+ }
+ $328 = $$5521 >> 31;
+ $329 = $328 & 2;
+ $330 = (($329) + 43)|0;
+ $331 = $330&255;
+ $332 = ((($$1514$lcssa)) + -1|0);
+ HEAP8[$332>>0] = $331;
+ $333 = $$1480&255;
+ $334 = ((($$1514$lcssa)) + -2|0);
+ HEAP8[$334>>0] = $333;
+ $335 = $334;
+ $336 = (($320) - ($335))|0;
+ $$2515 = $334;$$pn = $336;
+ }
+ $337 = (($$0522) + 1)|0;
+ $338 = (($337) + ($$3477))|0;
+ $$1528 = (($338) + ($310))|0;
+ $339 = (($$1528) + ($$pn))|0;
+ _pad($0,32,$2,$339,$4);
+ _out($0,$$0523,$$0522);
+ $340 = $4 ^ 65536;
+ _pad($0,48,$2,$339,$340);
+ if ($312) {
+ $341 = ($$9>>>0)>($$0498>>>0);
+ $spec$select554 = $341 ? $$0498 : $$9;
+ $342 = ((($8)) + 9|0);
+ $343 = $342;
+ $344 = ((($8)) + 8|0);
+ $$5493603 = $spec$select554;
+ while(1) {
+ $345 = HEAP32[$$5493603>>2]|0;
+ $346 = (_fmt_u($345,0,$342)|0);
+ $347 = ($$5493603|0)==($spec$select554|0);
+ if ($347) {
+ $353 = ($346|0)==($342|0);
+ if ($353) {
+ HEAP8[$344>>0] = 48;
+ $$1465 = $344;
+ } else {
+ $$1465 = $346;
+ }
+ } else {
+ $348 = ($346>>>0)>($8>>>0);
+ if ($348) {
+ $349 = $346;
+ $350 = (($349) - ($9))|0;
+ _memset(($8|0),48,($350|0))|0;
+ $$0464599 = $346;
+ while(1) {
+ $351 = ((($$0464599)) + -1|0);
+ $352 = ($351>>>0)>($8>>>0);
+ if ($352) {
+ $$0464599 = $351;
+ } else {
+ $$1465 = $351;
+ break;
+ }
+ }
+ } else {
+ $$1465 = $346;
+ }
+ }
+ $354 = $$1465;
+ $355 = (($343) - ($354))|0;
+ _out($0,$$1465,$355);
+ $356 = ((($$5493603)) + 4|0);
+ $357 = ($356>>>0)>($$0498>>>0);
+ if ($357) {
+ break;
+ } else {
+ $$5493603 = $356;
+ }
+ }
+ $$not = $308 ^ 1;
+ $358 = $4 & 8;
+ $359 = ($358|0)==(0);
+ $or$cond556 = $359 & $$not;
+ if (!($or$cond556)) {
+ _out($0,70665,1);
+ }
+ $360 = ($356>>>0)<($$9507$lcssa>>>0);
+ $361 = ($$3477|0)>(0);
+ $362 = $360 & $361;
+ if ($362) {
+ $$4478594 = $$3477;$$6494593 = $356;
+ while(1) {
+ $363 = HEAP32[$$6494593>>2]|0;
+ $364 = (_fmt_u($363,0,$342)|0);
+ $365 = ($364>>>0)>($8>>>0);
+ if ($365) {
+ $366 = $364;
+ $367 = (($366) - ($9))|0;
+ _memset(($8|0),48,($367|0))|0;
+ $$0463588 = $364;
+ while(1) {
+ $368 = ((($$0463588)) + -1|0);
+ $369 = ($368>>>0)>($8>>>0);
+ if ($369) {
+ $$0463588 = $368;
+ } else {
+ $$0463$lcssa = $368;
+ break;
+ }
+ }
+ } else {
+ $$0463$lcssa = $364;
+ }
+ $370 = ($$4478594|0)<(9);
+ $371 = $370 ? $$4478594 : 9;
+ _out($0,$$0463$lcssa,$371);
+ $372 = ((($$6494593)) + 4|0);
+ $373 = (($$4478594) + -9)|0;
+ $374 = ($372>>>0)<($$9507$lcssa>>>0);
+ $375 = ($$4478594|0)>(9);
+ $376 = $374 & $375;
+ if ($376) {
+ $$4478594 = $373;$$6494593 = $372;
+ } else {
+ $$4478$lcssa = $373;
+ break;
+ }
+ }
+ } else {
+ $$4478$lcssa = $$3477;
+ }
+ $377 = (($$4478$lcssa) + 9)|0;
+ _pad($0,48,$377,9,0);
+ } else {
+ $378 = ((($$9)) + 4|0);
+ $spec$select557 = $$lcssa583 ? $$9507$lcssa : $378;
+ $379 = ($$9>>>0)<($spec$select557>>>0);
+ $380 = ($$3477|0)>(-1);
+ $381 = $379 & $380;
+ if ($381) {
+ $382 = ((($8)) + 9|0);
+ $383 = $4 & 8;
+ $384 = ($383|0)==(0);
+ $385 = $382;
+ $386 = (0 - ($9))|0;
+ $387 = ((($8)) + 8|0);
+ $$5609 = $$3477;$$7495608 = $$9;
+ while(1) {
+ $388 = HEAP32[$$7495608>>2]|0;
+ $389 = (_fmt_u($388,0,$382)|0);
+ $390 = ($389|0)==($382|0);
+ if ($390) {
+ HEAP8[$387>>0] = 48;
+ $$0 = $387;
+ } else {
+ $$0 = $389;
+ }
+ $391 = ($$7495608|0)==($$9|0);
+ do {
+ if ($391) {
+ $395 = ((($$0)) + 1|0);
+ _out($0,$$0,1);
+ $396 = ($$5609|0)<(1);
+ $or$cond559 = $384 & $396;
+ if ($or$cond559) {
+ $$2 = $395;
+ break;
+ }
+ _out($0,70665,1);
+ $$2 = $395;
+ } else {
+ $392 = ($$0>>>0)>($8>>>0);
+ if (!($392)) {
+ $$2 = $$0;
+ break;
+ }
+ $scevgep711 = (($$0) + ($386)|0);
+ $scevgep711712 = $scevgep711;
+ _memset(($8|0),48,($scevgep711712|0))|0;
+ $$1604 = $$0;
+ while(1) {
+ $393 = ((($$1604)) + -1|0);
+ $394 = ($393>>>0)>($8>>>0);
+ if ($394) {
+ $$1604 = $393;
+ } else {
+ $$2 = $393;
+ break;
+ }
+ }
+ }
+ } while(0);
+ $397 = $$2;
+ $398 = (($385) - ($397))|0;
+ $399 = ($$5609|0)>($398|0);
+ $400 = $399 ? $398 : $$5609;
+ _out($0,$$2,$400);
+ $401 = (($$5609) - ($398))|0;
+ $402 = ((($$7495608)) + 4|0);
+ $403 = ($402>>>0)<($spec$select557>>>0);
+ $404 = ($401|0)>(-1);
+ $405 = $403 & $404;
+ if ($405) {
+ $$5609 = $401;$$7495608 = $402;
+ } else {
+ $$5$lcssa = $401;
+ break;
+ }
+ }
+ } else {
+ $$5$lcssa = $$3477;
+ }
+ $406 = (($$5$lcssa) + 18)|0;
+ _pad($0,48,$406,18,0);
+ $407 = $11;
+ $408 = $$2515;
+ $409 = (($407) - ($408))|0;
+ _out($0,$$2515,$409);
+ }
+ $410 = $4 ^ 8192;
+ _pad($0,32,$2,$339,$410);
+ $$sink757 = $339;
+ }
+ } while(0);
+ $411 = ($$sink757|0)<($2|0);
+ $$560 = $411 ? $2 : $$sink757;
+ STACKTOP = sp;return ($$560|0);
+}
+function ___DOUBLE_BITS($0) {
+ $0 = +$0;
+ var $1 = 0, $2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ HEAPF64[tempDoublePtr>>3] = $0;$1 = HEAP32[tempDoublePtr>>2]|0;
+ $2 = HEAP32[tempDoublePtr+4>>2]|0;
+ tempRet0 = ($2);
+ return ($1|0);
+}
+function _frexpl($0,$1) {
+ $0 = +$0;
+ $1 = $1|0;
+ var $2 = 0.0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $2 = (+_frexp($0,$1));
+ return (+$2);
+}
+function _frexp($0,$1) {
+ $0 = +$0;
+ $1 = $1|0;
+ var $$0 = 0.0, $$016 = 0.0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, $storemerge = 0, $trunc$clear = 0, label = 0;
+ var sp = 0;
+ sp = STACKTOP;
+ HEAPF64[tempDoublePtr>>3] = $0;$2 = HEAP32[tempDoublePtr>>2]|0;
+ $3 = HEAP32[tempDoublePtr+4>>2]|0;
+ $4 = (_bitshift64Lshr(($2|0),($3|0),52)|0);
+ $5 = tempRet0;
+ $6 = $4&65535;
+ $trunc$clear = $6 & 2047;
+ switch ($trunc$clear<<16>>16) {
+ case 0: {
+ $7 = $0 != 0.0;
+ if ($7) {
+ $8 = $0 * 1.8446744073709552E+19;
+ $9 = (+_frexp($8,$1));
+ $10 = HEAP32[$1>>2]|0;
+ $11 = (($10) + -64)|0;
+ $$016 = $9;$storemerge = $11;
+ } else {
+ $$016 = $0;$storemerge = 0;
+ }
+ HEAP32[$1>>2] = $storemerge;
+ $$0 = $$016;
+ break;
+ }
+ case 2047: {
+ $$0 = $0;
+ break;
+ }
+ default: {
+ $12 = $4 & 2047;
+ $13 = (($12) + -1022)|0;
+ HEAP32[$1>>2] = $13;
+ $14 = $3 & -2146435073;
+ $15 = $14 | 1071644672;
+ HEAP32[tempDoublePtr>>2] = $2;HEAP32[tempDoublePtr+4>>2] = $15;$16 = +HEAPF64[tempDoublePtr>>3];
+ $$0 = $16;
+ }
+ }
+ return (+$$0);
+}
+function ___pthread_self_568() {
+ var $0 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = (_pthread_self()|0);
+ return ($0|0);
+}
+function ___strerror_l($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $$012$lcssa = 0, $$01214 = 0, $$016 = 0, $$113 = 0, $$115 = 0, $$115$ph = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
+ var $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $$016 = 0;
+ while(1) {
+ $2 = (28432 + ($$016)|0);
+ $3 = HEAP8[$2>>0]|0;
+ $4 = $3&255;
+ $5 = ($4|0)==($0|0);
+ if ($5) {
+ label = 4;
+ break;
+ }
+ $6 = (($$016) + 1)|0;
+ $7 = ($6|0)==(87);
+ if ($7) {
+ $$115$ph = 87;
+ label = 5;
+ break;
+ } else {
+ $$016 = $6;
+ }
+ }
+ if ((label|0) == 4) {
+ $8 = ($$016|0)==(0);
+ if ($8) {
+ $$012$lcssa = 28528;
+ } else {
+ $$115$ph = $$016;
+ label = 5;
+ }
+ }
+ if ((label|0) == 5) {
+ $$01214 = 28528;$$115 = $$115$ph;
+ while(1) {
+ $$113 = $$01214;
+ while(1) {
+ $9 = HEAP8[$$113>>0]|0;
+ $10 = ($9<<24>>24)==(0);
+ $11 = ((($$113)) + 1|0);
+ if ($10) {
+ break;
+ } else {
+ $$113 = $11;
+ }
+ }
+ $12 = (($$115) + -1)|0;
+ $13 = ($12|0)==(0);
+ if ($13) {
+ $$012$lcssa = $11;
+ break;
+ } else {
+ $$01214 = $11;$$115 = $12;
+ }
+ }
+ }
+ $14 = ((($1)) + 20|0);
+ $15 = HEAP32[$14>>2]|0;
+ $16 = (___lctrans($$012$lcssa,$15)|0);
+ return ($16|0);
+}
+function ___lctrans($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $2 = (___lctrans_impl($0,$1)|0);
+ return ($2|0);
+}
+function ___lctrans_impl($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $2 = ($1|0)==(0|0);
+ if ($2) {
+ $$0 = 0;
+ } else {
+ $3 = HEAP32[$1>>2]|0;
+ $4 = ((($1)) + 4|0);
+ $5 = HEAP32[$4>>2]|0;
+ $6 = (___mo_lookup($3,$5,$0)|0);
+ $$0 = $6;
+ }
+ $7 = ($$0|0)==(0|0);
+ $8 = $7 ? $0 : $$0;
+ return ($8|0);
+}
+function ___mo_lookup($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$090 = 0, $$094 = 0, $$191 = 0, $$195 = 0, $$4 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0;
+ var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0;
+ var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0;
+ var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond102 = 0, $or$cond104 = 0, $spec$select = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $3 = HEAP32[$0>>2]|0;
+ $4 = (($3) + 1794895138)|0;
+ $5 = ((($0)) + 8|0);
+ $6 = HEAP32[$5>>2]|0;
+ $7 = (_swapc($6,$4)|0);
+ $8 = ((($0)) + 12|0);
+ $9 = HEAP32[$8>>2]|0;
+ $10 = (_swapc($9,$4)|0);
+ $11 = ((($0)) + 16|0);
+ $12 = HEAP32[$11>>2]|0;
+ $13 = (_swapc($12,$4)|0);
+ $14 = $1 >>> 2;
+ $15 = ($7>>>0)<($14>>>0);
+ L1: do {
+ if ($15) {
+ $16 = $7 << 2;
+ $17 = (($1) - ($16))|0;
+ $18 = ($10>>>0)<($17>>>0);
+ $19 = ($13>>>0)<($17>>>0);
+ $or$cond = $18 & $19;
+ if ($or$cond) {
+ $20 = $13 | $10;
+ $21 = $20 & 3;
+ $22 = ($21|0)==(0);
+ if ($22) {
+ $23 = $10 >>> 2;
+ $24 = $13 >>> 2;
+ $$090 = 0;$$094 = $7;
+ while(1) {
+ $25 = $$094 >>> 1;
+ $26 = (($$090) + ($25))|0;
+ $27 = $26 << 1;
+ $28 = (($27) + ($23))|0;
+ $29 = (($0) + ($28<<2)|0);
+ $30 = HEAP32[$29>>2]|0;
+ $31 = (_swapc($30,$4)|0);
+ $32 = (($28) + 1)|0;
+ $33 = (($0) + ($32<<2)|0);
+ $34 = HEAP32[$33>>2]|0;
+ $35 = (_swapc($34,$4)|0);
+ $36 = ($35>>>0)<($1>>>0);
+ $37 = (($1) - ($35))|0;
+ $38 = ($31>>>0)<($37>>>0);
+ $or$cond102 = $36 & $38;
+ if (!($or$cond102)) {
+ $$4 = 0;
+ break L1;
+ }
+ $39 = (($35) + ($31))|0;
+ $40 = (($0) + ($39)|0);
+ $41 = HEAP8[$40>>0]|0;
+ $42 = ($41<<24>>24)==(0);
+ if (!($42)) {
+ $$4 = 0;
+ break L1;
+ }
+ $43 = (($0) + ($35)|0);
+ $44 = (_strcmp($2,$43)|0);
+ $45 = ($44|0)==(0);
+ if ($45) {
+ break;
+ }
+ $62 = ($$094|0)==(1);
+ $63 = ($44|0)<(0);
+ if ($62) {
+ $$4 = 0;
+ break L1;
+ }
+ $$191 = $63 ? $$090 : $26;
+ $64 = (($$094) - ($25))|0;
+ $$195 = $63 ? $25 : $64;
+ $$090 = $$191;$$094 = $$195;
+ }
+ $46 = (($27) + ($24))|0;
+ $47 = (($0) + ($46<<2)|0);
+ $48 = HEAP32[$47>>2]|0;
+ $49 = (_swapc($48,$4)|0);
+ $50 = (($46) + 1)|0;
+ $51 = (($0) + ($50<<2)|0);
+ $52 = HEAP32[$51>>2]|0;
+ $53 = (_swapc($52,$4)|0);
+ $54 = ($53>>>0)<($1>>>0);
+ $55 = (($1) - ($53))|0;
+ $56 = ($49>>>0)<($55>>>0);
+ $or$cond104 = $54 & $56;
+ if ($or$cond104) {
+ $57 = (($0) + ($53)|0);
+ $58 = (($53) + ($49))|0;
+ $59 = (($0) + ($58)|0);
+ $60 = HEAP8[$59>>0]|0;
+ $61 = ($60<<24>>24)==(0);
+ $spec$select = $61 ? $57 : 0;
+ $$4 = $spec$select;
+ } else {
+ $$4 = 0;
+ }
+ } else {
+ $$4 = 0;
+ }
+ } else {
+ $$4 = 0;
+ }
+ } else {
+ $$4 = 0;
+ }
+ } while(0);
+ return ($$4|0);
+}
+function _swapc($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $2 = 0, $3 = 0, $spec$select = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $2 = ($1|0)==(0);
+ $3 = (_llvm_bswap_i32(($0|0))|0);
+ $spec$select = $2 ? $0 : $3;
+ return ($spec$select|0);
+}
+function _strcmp($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $$011 = 0, $$0710 = 0, $$lcssa = 0, $$lcssa8 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond9 = 0, label = 0;
+ var sp = 0;
+ sp = STACKTOP;
+ $2 = HEAP8[$0>>0]|0;
+ $3 = HEAP8[$1>>0]|0;
+ $4 = ($2<<24>>24)!=($3<<24>>24);
+ $5 = ($2<<24>>24)==(0);
+ $or$cond9 = $5 | $4;
+ if ($or$cond9) {
+ $$lcssa = $3;$$lcssa8 = $2;
+ } else {
+ $$011 = $1;$$0710 = $0;
+ while(1) {
+ $6 = ((($$0710)) + 1|0);
+ $7 = ((($$011)) + 1|0);
+ $8 = HEAP8[$6>>0]|0;
+ $9 = HEAP8[$7>>0]|0;
+ $10 = ($8<<24>>24)!=($9<<24>>24);
+ $11 = ($8<<24>>24)==(0);
+ $or$cond = $11 | $10;
+ if ($or$cond) {
+ $$lcssa = $9;$$lcssa8 = $8;
+ break;
+ } else {
+ $$011 = $7;$$0710 = $6;
+ }
+ }
+ }
+ $12 = $$lcssa8&255;
+ $13 = $$lcssa&255;
+ $14 = (($12) - ($13))|0;
+ return ($14|0);
+}
+function _sn_write($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$cast = 0, $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $spec$select = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $3 = ((($0)) + 16|0);
+ $4 = HEAP32[$3>>2]|0;
+ $5 = ((($0)) + 20|0);
+ $6 = HEAP32[$5>>2]|0;
+ $7 = (($4) - ($6))|0;
+ $8 = ($7>>>0)>($2>>>0);
+ $spec$select = $8 ? $2 : $7;
+ $$cast = $6;
+ (_memcpy(($$cast|0),($1|0),($spec$select|0))|0);
+ $9 = HEAP32[$5>>2]|0;
+ $10 = (($9) + ($spec$select)|0);
+ HEAP32[$5>>2] = $10;
+ return ($2|0);
+}
+function _wcschr($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $$0 = 0, $$09 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $2 = ($1|0)==(0);
+ if ($2) {
+ $3 = (_wcslen($0)|0);
+ $4 = (($0) + ($3<<2)|0);
+ $$0 = $4;
+ } else {
+ $$09 = $0;
+ while(1) {
+ $5 = HEAP32[$$09>>2]|0;
+ $6 = ($5|0)==(0);
+ $7 = ($5|0)==($1|0);
+ $or$cond = $6 | $7;
+ $8 = ((($$09)) + 4|0);
+ if ($or$cond) {
+ break;
+ } else {
+ $$09 = $8;
+ }
+ }
+ $9 = $6 ? 0 : $$09;
+ $$0 = $9;
+ }
+ return ($$0|0);
+}
+function _wcslen($0) {
+ $0 = $0|0;
+ var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $$0 = $0;
+ while(1) {
+ $1 = HEAP32[$$0>>2]|0;
+ $2 = ($1|0)==(0);
+ $3 = ((($$0)) + 4|0);
+ if ($2) {
+ break;
+ } else {
+ $$0 = $3;
+ }
+ }
+ $4 = $$0;
+ $5 = $0;
+ $6 = (($4) - ($5))|0;
+ $7 = $6 >> 2;
+ return ($7|0);
+}
+function ___fdopen($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $$0 = 0, $$pre = 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, $5 = 0;
+ var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer12 = 0, $vararg_buffer3 = 0, $vararg_buffer7 = 0, $vararg_ptr1 = 0, $vararg_ptr10 = 0, $vararg_ptr11 = 0, $vararg_ptr15 = 0, $vararg_ptr16 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
+ $vararg_buffer12 = sp + 40|0;
+ $vararg_buffer7 = sp + 24|0;
+ $vararg_buffer3 = sp + 16|0;
+ $vararg_buffer = sp;
+ $2 = sp + 56|0;
+ $3 = HEAP8[$1>>0]|0;
+ $4 = $3 << 24 >> 24;
+ $5 = (_strchr(70667,$4)|0);
+ $6 = ($5|0)==(0|0);
+ if ($6) {
+ $7 = (___errno_location()|0);
+ HEAP32[$7>>2] = 22;
+ $$0 = 0;
+ } else {
+ $8 = (_malloc(1156)|0);
+ $9 = ($8|0)==(0|0);
+ if ($9) {
+ $$0 = 0;
+ } else {
+ (_memset(($8|0),0,124)|0);
+ $10 = (_strchr($1,43)|0);
+ $11 = ($10|0)==(0|0);
+ if ($11) {
+ $12 = HEAP8[$1>>0]|0;
+ $13 = ($12<<24>>24)==(114);
+ $14 = $13 ? 8 : 4;
+ HEAP32[$8>>2] = $14;
+ }
+ $15 = (_strchr($1,101)|0);
+ $16 = ($15|0)==(0|0);
+ if (!($16)) {
+ HEAP32[$vararg_buffer>>2] = $0;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 2;
+ $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
+ HEAP32[$vararg_ptr2>>2] = 1;
+ (___syscall221(221,($vararg_buffer|0))|0);
+ }
+ $17 = HEAP8[$1>>0]|0;
+ $18 = ($17<<24>>24)==(97);
+ if ($18) {
+ HEAP32[$vararg_buffer3>>2] = $0;
+ $vararg_ptr6 = ((($vararg_buffer3)) + 4|0);
+ HEAP32[$vararg_ptr6>>2] = 3;
+ $19 = (___syscall221(221,($vararg_buffer3|0))|0);
+ $20 = $19 & 1024;
+ $21 = ($20|0)==(0);
+ if ($21) {
+ $22 = $19 | 1024;
+ HEAP32[$vararg_buffer7>>2] = $0;
+ $vararg_ptr10 = ((($vararg_buffer7)) + 4|0);
+ HEAP32[$vararg_ptr10>>2] = 4;
+ $vararg_ptr11 = ((($vararg_buffer7)) + 8|0);
+ HEAP32[$vararg_ptr11>>2] = $22;
+ (___syscall221(221,($vararg_buffer7|0))|0);
+ }
+ $23 = HEAP32[$8>>2]|0;
+ $24 = $23 | 128;
+ HEAP32[$8>>2] = $24;
+ $31 = $24;
+ } else {
+ $$pre = HEAP32[$8>>2]|0;
+ $31 = $$pre;
+ }
+ $25 = ((($8)) + 60|0);
+ HEAP32[$25>>2] = $0;
+ $26 = ((($8)) + 132|0);
+ $27 = ((($8)) + 44|0);
+ HEAP32[$27>>2] = $26;
+ $28 = ((($8)) + 48|0);
+ HEAP32[$28>>2] = 1024;
+ $29 = ((($8)) + 75|0);
+ HEAP8[$29>>0] = -1;
+ $30 = $31 & 8;
+ $32 = ($30|0)==(0);
+ if ($32) {
+ $33 = $2;
+ HEAP32[$vararg_buffer12>>2] = $0;
+ $vararg_ptr15 = ((($vararg_buffer12)) + 4|0);
+ HEAP32[$vararg_ptr15>>2] = 21523;
+ $vararg_ptr16 = ((($vararg_buffer12)) + 8|0);
+ HEAP32[$vararg_ptr16>>2] = $33;
+ $34 = (___syscall54(54,($vararg_buffer12|0))|0);
+ $35 = ($34|0)==(0);
+ if ($35) {
+ HEAP8[$29>>0] = 10;
+ }
+ }
+ $36 = ((($8)) + 32|0);
+ HEAP32[$36>>2] = 89;
+ $37 = ((($8)) + 36|0);
+ HEAP32[$37>>2] = 52;
+ $38 = ((($8)) + 40|0);
+ HEAP32[$38>>2] = 51;
+ $39 = ((($8)) + 12|0);
+ HEAP32[$39>>2] = 49;
+ $40 = HEAP32[(73216)>>2]|0;
+ $41 = ($40|0)==(0);
+ if ($41) {
+ $42 = ((($8)) + 76|0);
+ HEAP32[$42>>2] = -1;
+ }
+ $43 = (___ofl_add($8)|0);
+ $$0 = $8;
+ }
+ }
+ STACKTOP = sp;return ($$0|0);
+}
+function _strchr($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $2 = (___strchrnul($0,$1)|0);
+ $3 = HEAP8[$2>>0]|0;
+ $4 = $1&255;
+ $5 = ($3<<24>>24)==($4<<24>>24);
+ $6 = $5 ? $2 : 0;
+ return ($6|0);
+}
+function ___ofl_add($0) {
+ $0 = $0|0;
+ var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = (___ofl_lock()|0);
+ $2 = HEAP32[$1>>2]|0;
+ $3 = ((($0)) + 56|0);
+ HEAP32[$3>>2] = $2;
+ $4 = HEAP32[$1>>2]|0;
+ $5 = ($4|0)==(0|0);
+ if (!($5)) {
+ $6 = ((($4)) + 52|0);
+ HEAP32[$6>>2] = $0;
+ }
+ HEAP32[$1>>2] = $0;
+ ___ofl_unlock();
+ return ($0|0);
+}
+function ___strchrnul($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $$0 = 0, $$029$lcssa = 0, $$02936 = 0, $$030$lcssa = 0, $$03039 = 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 $41 = 0, $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond33 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $2 = $1 & 255;
+ $3 = ($2|0)==(0);
+ L1: do {
+ if ($3) {
+ $4 = (_strlen($0)|0);
+ $5 = (($0) + ($4)|0);
+ $$0 = $5;
+ } else {
+ $6 = $0;
+ $7 = $6 & 3;
+ $8 = ($7|0)==(0);
+ if ($8) {
+ $$030$lcssa = $0;
+ } else {
+ $9 = $1&255;
+ $$03039 = $0;
+ while(1) {
+ $10 = HEAP8[$$03039>>0]|0;
+ $11 = ($10<<24>>24)==(0);
+ $12 = ($10<<24>>24)==($9<<24>>24);
+ $or$cond = $11 | $12;
+ if ($or$cond) {
+ $$0 = $$03039;
+ break L1;
+ }
+ $13 = ((($$03039)) + 1|0);
+ $14 = $13;
+ $15 = $14 & 3;
+ $16 = ($15|0)==(0);
+ if ($16) {
+ $$030$lcssa = $13;
+ break;
+ } else {
+ $$03039 = $13;
+ }
+ }
+ }
+ $17 = Math_imul($2, 16843009)|0;
+ $18 = HEAP32[$$030$lcssa>>2]|0;
+ $19 = (($18) + -16843009)|0;
+ $20 = $18 & -2139062144;
+ $21 = $20 ^ -2139062144;
+ $22 = $21 & $19;
+ $23 = ($22|0)==(0);
+ L10: do {
+ if ($23) {
+ $$02936 = $$030$lcssa;$25 = $18;
+ while(1) {
+ $24 = $25 ^ $17;
+ $26 = (($24) + -16843009)|0;
+ $27 = $24 & -2139062144;
+ $28 = $27 ^ -2139062144;
+ $29 = $28 & $26;
+ $30 = ($29|0)==(0);
+ if (!($30)) {
+ $$029$lcssa = $$02936;
+ break L10;
+ }
+ $31 = ((($$02936)) + 4|0);
+ $32 = HEAP32[$31>>2]|0;
+ $33 = (($32) + -16843009)|0;
+ $34 = $32 & -2139062144;
+ $35 = $34 ^ -2139062144;
+ $36 = $35 & $33;
+ $37 = ($36|0)==(0);
+ if ($37) {
+ $$02936 = $31;$25 = $32;
+ } else {
+ $$029$lcssa = $31;
+ break;
+ }
+ }
+ } else {
+ $$029$lcssa = $$030$lcssa;
+ }
+ } while(0);
+ $38 = $1&255;
+ $$1 = $$029$lcssa;
+ while(1) {
+ $39 = HEAP8[$$1>>0]|0;
+ $40 = ($39<<24>>24)==(0);
+ $41 = ($39<<24>>24)==($38<<24>>24);
+ $or$cond33 = $40 | $41;
+ $42 = ((($$1)) + 1|0);
+ if ($or$cond33) {
+ $$0 = $$1;
+ break;
+ } else {
+ $$1 = $42;
+ }
+ }
+ }
+ } while(0);
+ return ($$0|0);
+}
+function _strlen($0) {
+ $0 = $0|0;
+ var $$0 = 0, $$014 = 0, $$015$lcssa = 0, $$01518 = 0, $$1$lcssa = 0, $$pn = 0, $$pn29 = 0, $$pre = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0;
+ var $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = $0;
+ $2 = $1 & 3;
+ $3 = ($2|0)==(0);
+ L1: do {
+ if ($3) {
+ $$015$lcssa = $0;
+ label = 5;
+ } else {
+ $$01518 = $0;$22 = $1;
+ while(1) {
+ $4 = HEAP8[$$01518>>0]|0;
+ $5 = ($4<<24>>24)==(0);
+ if ($5) {
+ $$pn = $22;
+ break L1;
+ }
+ $6 = ((($$01518)) + 1|0);
+ $7 = $6;
+ $8 = $7 & 3;
+ $9 = ($8|0)==(0);
+ if ($9) {
+ $$015$lcssa = $6;
+ label = 5;
+ break;
+ } else {
+ $$01518 = $6;$22 = $7;
+ }
+ }
+ }
+ } while(0);
+ if ((label|0) == 5) {
+ $$0 = $$015$lcssa;
+ while(1) {
+ $10 = HEAP32[$$0>>2]|0;
+ $11 = (($10) + -16843009)|0;
+ $12 = $10 & -2139062144;
+ $13 = $12 ^ -2139062144;
+ $14 = $13 & $11;
+ $15 = ($14|0)==(0);
+ $16 = ((($$0)) + 4|0);
+ if ($15) {
+ $$0 = $16;
+ } else {
+ break;
+ }
+ }
+ $17 = $10&255;
+ $18 = ($17<<24>>24)==(0);
+ if ($18) {
+ $$1$lcssa = $$0;
+ } else {
+ $$pn29 = $$0;
+ while(1) {
+ $19 = ((($$pn29)) + 1|0);
+ $$pre = HEAP8[$19>>0]|0;
+ $20 = ($$pre<<24>>24)==(0);
+ if ($20) {
+ $$1$lcssa = $19;
+ break;
+ } else {
+ $$pn29 = $19;
+ }
+ }
+ }
+ $21 = $$1$lcssa;
+ $$pn = $21;
+ }
+ $$014 = (($$pn) - ($1))|0;
+ return ($$014|0);
+}
+function _fprintf($0,$1,$varargs) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $varargs = $varargs|0;
+ var $2 = 0, $3 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $2 = sp;
+ HEAP32[$2>>2] = $varargs;
+ $3 = (_vfprintf($0,$1,$2)|0);
+ STACKTOP = sp;return ($3|0);
+}
+function _vsprintf($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $3 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $3 = (_vsnprintf($0,2147483647,$1,$2)|0);
+ return ($3|0);
+}
+function _mbtowc($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
+ var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
+ var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $spec$select = 0, label = 0;
+ var sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $3 = sp;
+ $4 = ($1|0)==(0|0);
+ L1: do {
+ if ($4) {
+ $$0 = 0;
+ } else {
+ $5 = ($2|0)==(0);
+ do {
+ if (!($5)) {
+ $6 = ($0|0)==(0|0);
+ $spec$select = $6 ? $3 : $0;
+ $7 = HEAP8[$1>>0]|0;
+ $8 = ($7<<24>>24)>(-1);
+ if ($8) {
+ $9 = $7&255;
+ HEAP32[$spec$select>>2] = $9;
+ $10 = ($7<<24>>24)!=(0);
+ $11 = $10&1;
+ $$0 = $11;
+ break L1;
+ }
+ $12 = (___pthread_self_423()|0);
+ $13 = ((($12)) + 188|0);
+ $14 = HEAP32[$13>>2]|0;
+ $15 = HEAP32[$14>>2]|0;
+ $16 = ($15|0)==(0|0);
+ $17 = HEAP8[$1>>0]|0;
+ if ($16) {
+ $18 = $17 << 24 >> 24;
+ $19 = $18 & 57343;
+ HEAP32[$spec$select>>2] = $19;
+ $$0 = 1;
+ break L1;
+ }
+ $20 = $17&255;
+ $21 = (($20) + -194)|0;
+ $22 = ($21>>>0)>(50);
+ if (!($22)) {
+ $23 = ((($1)) + 1|0);
+ $24 = (27472 + ($21<<2)|0);
+ $25 = HEAP32[$24>>2]|0;
+ $26 = ($2>>>0)<(4);
+ if ($26) {
+ $27 = ($2*6)|0;
+ $28 = (($27) + -6)|0;
+ $29 = -2147483648 >>> $28;
+ $30 = $25 & $29;
+ $31 = ($30|0)==(0);
+ if (!($31)) {
+ break;
+ }
+ }
+ $32 = HEAP8[$23>>0]|0;
+ $33 = $32&255;
+ $34 = $33 >>> 3;
+ $35 = (($34) + -16)|0;
+ $36 = $25 >> 26;
+ $37 = (($34) + ($36))|0;
+ $38 = $35 | $37;
+ $39 = ($38>>>0)>(7);
+ if (!($39)) {
+ $40 = $25 << 6;
+ $41 = (($33) + -128)|0;
+ $42 = $41 | $40;
+ $43 = ($42|0)<(0);
+ if (!($43)) {
+ HEAP32[$spec$select>>2] = $42;
+ $$0 = 2;
+ break L1;
+ }
+ $44 = ((($1)) + 2|0);
+ $45 = HEAP8[$44>>0]|0;
+ $46 = $45&255;
+ $47 = (($46) + -128)|0;
+ $48 = ($47>>>0)>(63);
+ if (!($48)) {
+ $49 = $42 << 6;
+ $50 = $47 | $49;
+ $51 = ($50|0)<(0);
+ if (!($51)) {
+ HEAP32[$spec$select>>2] = $50;
+ $$0 = 3;
+ break L1;
+ }
+ $52 = ((($1)) + 3|0);
+ $53 = HEAP8[$52>>0]|0;
+ $54 = $53&255;
+ $55 = (($54) + -128)|0;
+ $56 = ($55>>>0)>(63);
+ if (!($56)) {
+ $57 = $50 << 6;
+ $58 = $55 | $57;
+ HEAP32[$spec$select>>2] = $58;
+ $$0 = 4;
+ break L1;
+ }
+ }
+ }
+ }
+ }
+ } while(0);
+ $59 = (___errno_location()|0);
+ HEAP32[$59>>2] = 84;
+ $$0 = -1;
+ }
+ } while(0);
+ STACKTOP = sp;return ($$0|0);
+}
+function ___pthread_self_423() {
+ var $0 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = (_pthread_self()|0);
+ return ($0|0);
+}
+function _fopen($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0;
+ var $vararg_ptr2 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
+ $vararg_buffer8 = sp + 32|0;
+ $vararg_buffer3 = sp + 16|0;
+ $vararg_buffer = sp;
+ $2 = HEAP8[$1>>0]|0;
+ $3 = $2 << 24 >> 24;
+ $4 = (_strchr(70667,$3)|0);
+ $5 = ($4|0)==(0|0);
+ if ($5) {
+ $6 = (___errno_location()|0);
+ HEAP32[$6>>2] = 22;
+ $$0 = 0;
+ } else {
+ $7 = (___fmodeflags($1)|0);
+ $8 = $0;
+ $9 = $7 | 32768;
+ HEAP32[$vararg_buffer>>2] = $8;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = $9;
+ $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
+ HEAP32[$vararg_ptr2>>2] = 438;
+ $10 = (___syscall5(5,($vararg_buffer|0))|0);
+ $11 = (___syscall_ret($10)|0);
+ $12 = ($11|0)<(0);
+ if ($12) {
+ $$0 = 0;
+ } else {
+ $13 = $7 & 524288;
+ $14 = ($13|0)==(0);
+ if (!($14)) {
+ HEAP32[$vararg_buffer3>>2] = $11;
+ $vararg_ptr6 = ((($vararg_buffer3)) + 4|0);
+ HEAP32[$vararg_ptr6>>2] = 2;
+ $vararg_ptr7 = ((($vararg_buffer3)) + 8|0);
+ HEAP32[$vararg_ptr7>>2] = 1;
+ (___syscall221(221,($vararg_buffer3|0))|0);
+ }
+ $15 = (___fdopen($11,$1)|0);
+ $16 = ($15|0)==(0|0);
+ if ($16) {
+ HEAP32[$vararg_buffer8>>2] = $11;
+ (___syscall6(6,($vararg_buffer8|0))|0);
+ $$0 = 0;
+ } else {
+ $$0 = $15;
+ }
+ }
+ }
+ STACKTOP = sp;return ($$0|0);
+}
+function ___fmodeflags($0) {
+ $0 = $0|0;
+ var $$ = 0, $$0 = 0, $$2 = 0, $$4 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
+ var $spec$select = 0, $spec$select13 = 0, $spec$select14 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = (_strchr($0,43)|0);
+ $2 = ($1|0)==(0|0);
+ $3 = HEAP8[$0>>0]|0;
+ $4 = ($3<<24>>24)!=(114);
+ $$ = $4&1;
+ $$0 = $2 ? $$ : 2;
+ $5 = (_strchr($0,120)|0);
+ $6 = ($5|0)==(0|0);
+ $7 = $$0 | 128;
+ $spec$select = $6 ? $$0 : $7;
+ $8 = (_strchr($0,101)|0);
+ $9 = ($8|0)==(0|0);
+ $10 = $spec$select | 524288;
+ $$2 = $9 ? $spec$select : $10;
+ $11 = ($3<<24>>24)==(114);
+ $12 = $$2 | 64;
+ $spec$select13 = $11 ? $$2 : $12;
+ $13 = ($3<<24>>24)==(119);
+ $14 = $spec$select13 | 512;
+ $$4 = $13 ? $14 : $spec$select13;
+ $15 = ($3<<24>>24)==(97);
+ $16 = $$4 | 1024;
+ $spec$select14 = $15 ? $16 : $$4;
+ return ($spec$select14|0);
+}
+function _fgets($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$0 = 0, $$05963 = 0, $$06065 = 0, $$06164 = 0, $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0;
+ var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0;
+ var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0;
+ var $or$cond72 = 0, $sext$mask = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $3 = ((($2)) + 76|0);
+ $4 = HEAP32[$3>>2]|0;
+ $5 = ($4|0)>(-1);
+ if ($5) {
+ $6 = (___lockfile($2)|0);
+ $16 = $6;
+ } else {
+ $16 = 0;
+ }
+ $7 = (($1) + -1)|0;
+ $8 = ($1|0)<(2);
+ if ($8) {
+ $9 = ((($2)) + 74|0);
+ $10 = HEAP8[$9>>0]|0;
+ $11 = $10 << 24 >> 24;
+ $12 = (($11) + 255)|0;
+ $13 = $12 | $11;
+ $14 = $13&255;
+ HEAP8[$9>>0] = $14;
+ $15 = ($16|0)==(0);
+ if (!($15)) {
+ ___unlockfile($2);
+ }
+ $17 = ($7|0)==(0);
+ if ($17) {
+ HEAP8[$0>>0] = 0;
+ $$0 = $0;
+ } else {
+ $$0 = 0;
+ }
+ } else {
+ $18 = ($7|0)==(0);
+ L11: do {
+ if ($18) {
+ $$1 = $0;
+ label = 17;
+ } else {
+ $19 = ((($2)) + 4|0);
+ $20 = ((($2)) + 8|0);
+ $$06065 = $7;$$06164 = $0;
+ while(1) {
+ $21 = HEAP32[$19>>2]|0;
+ $22 = HEAP32[$20>>2]|0;
+ $23 = $21;
+ $24 = (($22) - ($23))|0;
+ $25 = (_memchr($21,10,$24)|0);
+ $26 = ($25|0)==(0|0);
+ $27 = $25;
+ $28 = (1 - ($23))|0;
+ $29 = (($28) + ($27))|0;
+ $30 = $26 ? $24 : $29;
+ $31 = ($30>>>0)<($$06065>>>0);
+ $32 = $31 ? $30 : $$06065;
+ (_memcpy(($$06164|0),($21|0),($32|0))|0);
+ $33 = HEAP32[$19>>2]|0;
+ $34 = (($33) + ($32)|0);
+ HEAP32[$19>>2] = $34;
+ $35 = (($$06164) + ($32)|0);
+ $36 = (($$06065) - ($32))|0;
+ $37 = ($36|0)!=(0);
+ $or$cond = $26 & $37;
+ if (!($or$cond)) {
+ $$1 = $35;
+ label = 17;
+ break L11;
+ }
+ $38 = HEAP32[$20>>2]|0;
+ $39 = ($34>>>0)<($38>>>0);
+ if ($39) {
+ $40 = ((($34)) + 1|0);
+ HEAP32[$19>>2] = $40;
+ $41 = HEAP8[$34>>0]|0;
+ $42 = $41&255;
+ $50 = $42;
+ } else {
+ $43 = (___uflow($2)|0);
+ $44 = ($43|0)<(0);
+ if ($44) {
+ break;
+ } else {
+ $50 = $43;
+ }
+ }
+ $49 = $50&255;
+ $51 = ((($35)) + 1|0);
+ HEAP8[$35>>0] = $49;
+ $sext$mask = $50 & 255;
+ $52 = ($sext$mask|0)==(10);
+ $53 = (($36) + -1)|0;
+ $54 = ($53|0)==(0);
+ $or$cond72 = $52 | $54;
+ if ($or$cond72) {
+ $$1 = $51;
+ label = 17;
+ break L11;
+ } else {
+ $$06065 = $53;$$06164 = $51;
+ }
+ }
+ $45 = ($35|0)==($0|0);
+ if ($45) {
+ $$05963 = 0;
+ } else {
+ $46 = HEAP32[$2>>2]|0;
+ $47 = $46 & 16;
+ $48 = ($47|0)==(0);
+ if ($48) {
+ $$05963 = 0;
+ } else {
+ $$1 = $35;
+ label = 17;
+ }
+ }
+ }
+ } while(0);
+ if ((label|0) == 17) {
+ $55 = ($0|0)==(0|0);
+ if ($55) {
+ $$05963 = 0;
+ } else {
+ HEAP8[$$1>>0] = 0;
+ $$05963 = $0;
+ }
+ }
+ $56 = ($16|0)==(0);
+ if ($56) {
+ $$0 = $$05963;
+ } else {
+ ___unlockfile($2);
+ $$0 = $$05963;
+ }
+ }
+ return ($$0|0);
+}
+function _strcpy($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ (___stpcpy($0,$1)|0);
+ return ($0|0);
+}
+function ___stpcpy($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $$0$lcssa = 0, $$025$lcssa = 0, $$02536 = 0, $$026$lcssa = 0, $$02642 = 0, $$027$lcssa = 0, $$02741 = 0, $$030 = 0, $$037 = 0, $$1 = 0, $$128 = 0, $$22934 = 0, $$235 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0;
+ var $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0;
+ var $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $2 = $1;
+ $3 = $0;
+ $4 = $2 ^ $3;
+ $5 = $4 & 3;
+ $6 = ($5|0)==(0);
+ L1: do {
+ if ($6) {
+ $7 = $2 & 3;
+ $8 = ($7|0)==(0);
+ if ($8) {
+ $$026$lcssa = $1;$$027$lcssa = $0;
+ } else {
+ $$02642 = $1;$$02741 = $0;
+ while(1) {
+ $9 = HEAP8[$$02642>>0]|0;
+ HEAP8[$$02741>>0] = $9;
+ $10 = ($9<<24>>24)==(0);
+ if ($10) {
+ $$030 = $$02741;
+ break L1;
+ }
+ $11 = ((($$02642)) + 1|0);
+ $12 = ((($$02741)) + 1|0);
+ $13 = $11;
+ $14 = $13 & 3;
+ $15 = ($14|0)==(0);
+ if ($15) {
+ $$026$lcssa = $11;$$027$lcssa = $12;
+ break;
+ } else {
+ $$02642 = $11;$$02741 = $12;
+ }
+ }
+ }
+ $16 = HEAP32[$$026$lcssa>>2]|0;
+ $17 = (($16) + -16843009)|0;
+ $18 = $16 & -2139062144;
+ $19 = $18 ^ -2139062144;
+ $20 = $19 & $17;
+ $21 = ($20|0)==(0);
+ if ($21) {
+ $$02536 = $$027$lcssa;$$037 = $$026$lcssa;$24 = $16;
+ while(1) {
+ $22 = ((($$037)) + 4|0);
+ $23 = ((($$02536)) + 4|0);
+ HEAP32[$$02536>>2] = $24;
+ $25 = HEAP32[$22>>2]|0;
+ $26 = (($25) + -16843009)|0;
+ $27 = $25 & -2139062144;
+ $28 = $27 ^ -2139062144;
+ $29 = $28 & $26;
+ $30 = ($29|0)==(0);
+ if ($30) {
+ $$02536 = $23;$$037 = $22;$24 = $25;
+ } else {
+ $$0$lcssa = $22;$$025$lcssa = $23;
+ break;
+ }
+ }
+ } else {
+ $$0$lcssa = $$026$lcssa;$$025$lcssa = $$027$lcssa;
+ }
+ $$1 = $$0$lcssa;$$128 = $$025$lcssa;
+ label = 10;
+ } else {
+ $$1 = $1;$$128 = $0;
+ label = 10;
+ }
+ } while(0);
+ if ((label|0) == 10) {
+ $31 = HEAP8[$$1>>0]|0;
+ HEAP8[$$128>>0] = $31;
+ $32 = ($31<<24>>24)==(0);
+ if ($32) {
+ $$030 = $$128;
+ } else {
+ $$22934 = $$128;$$235 = $$1;
+ while(1) {
+ $33 = ((($$235)) + 1|0);
+ $34 = ((($$22934)) + 1|0);
+ $35 = HEAP8[$33>>0]|0;
+ HEAP8[$34>>0] = $35;
+ $36 = ($35<<24>>24)==(0);
+ if ($36) {
+ $$030 = $34;
+ break;
+ } else {
+ $$22934 = $34;$$235 = $33;
+ }
+ }
+ }
+ }
+ return ($$030|0);
+}
+function _feof($0) {
+ $0 = $0|0;
+ var $$lobit = 0, $$lobit8 = 0, $$lobit9 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $phitmp = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = ((($0)) + 76|0);
+ $2 = HEAP32[$1>>2]|0;
+ $3 = ($2|0)>(-1);
+ if ($3) {
+ $6 = (___lockfile($0)|0);
+ $phitmp = ($6|0)==(0);
+ $7 = HEAP32[$0>>2]|0;
+ $8 = $7 >>> 4;
+ $$lobit = $8 & 1;
+ if ($phitmp) {
+ $$lobit9 = $$lobit;
+ } else {
+ ___unlockfile($0);
+ $$lobit9 = $$lobit;
+ }
+ } else {
+ $4 = HEAP32[$0>>2]|0;
+ $5 = $4 >>> 4;
+ $$lobit8 = $5 & 1;
+ $$lobit9 = $$lobit8;
+ }
+ return ($$lobit9|0);
+}
+function _sprintf($0,$1,$varargs) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $varargs = $varargs|0;
+ var $2 = 0, $3 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $2 = sp;
+ HEAP32[$2>>2] = $varargs;
+ $3 = (_vsprintf($0,$1,$2)|0);
+ STACKTOP = sp;return ($3|0);
+}
+function _strncmp($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$0$lcssa = 0, $$01823 = 0, $$01925 = 0, $$01925$in = 0, $$020 = 0, $$024 = 0, $$lcssa = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0;
+ var $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond21 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $3 = ($2|0)==(0);
+ if ($3) {
+ $$020 = 0;
+ } else {
+ $4 = HEAP8[$0>>0]|0;
+ $5 = ($4<<24>>24)==(0);
+ L3: do {
+ if ($5) {
+ $$0$lcssa = $1;$$lcssa = 0;
+ } else {
+ $$01823 = $0;$$01925$in = $2;$$024 = $1;$10 = $4;
+ while(1) {
+ $$01925 = (($$01925$in) + -1)|0;
+ $6 = HEAP8[$$024>>0]|0;
+ $7 = ($6<<24>>24)!=(0);
+ $8 = ($$01925|0)!=(0);
+ $or$cond = $8 & $7;
+ $9 = ($10<<24>>24)==($6<<24>>24);
+ $or$cond21 = $9 & $or$cond;
+ if (!($or$cond21)) {
+ $$0$lcssa = $$024;$$lcssa = $10;
+ break L3;
+ }
+ $11 = ((($$01823)) + 1|0);
+ $12 = ((($$024)) + 1|0);
+ $13 = HEAP8[$11>>0]|0;
+ $14 = ($13<<24>>24)==(0);
+ if ($14) {
+ $$0$lcssa = $12;$$lcssa = 0;
+ break;
+ } else {
+ $$01823 = $11;$$01925$in = $$01925;$$024 = $12;$10 = $13;
+ }
+ }
+ }
+ } while(0);
+ $15 = $$lcssa&255;
+ $16 = HEAP8[$$0$lcssa>>0]|0;
+ $17 = $16&255;
+ $18 = (($15) - ($17))|0;
+ $$020 = $18;
+ }
+ return ($$020|0);
+}
+function _close($0) {
+ $0 = $0|0;
+ var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $spec$store$select = 0, $vararg_buffer = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $vararg_buffer = sp;
+ $1 = (_dummy_33($0)|0);
+ HEAP32[$vararg_buffer>>2] = $1;
+ $2 = (___syscall6(6,($vararg_buffer|0))|0);
+ $3 = ($2|0)==(-4);
+ $spec$store$select = $3 ? 0 : $2;
+ $4 = (___syscall_ret($spec$store$select)|0);
+ STACKTOP = sp;return ($4|0);
+}
+function _fcntl($0,$1,$varargs) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $varargs = $varargs|0;
+ var $$0 = 0, $$2 = 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
+ var $arglist_current = 0, $arglist_next = 0, $expanded = 0, $expanded2 = 0, $expanded4 = 0, $expanded5 = 0, $expanded6 = 0, $spec$select = 0, $vararg_buffer = 0, $vararg_buffer13 = 0, $vararg_buffer18 = 0, $vararg_buffer23 = 0, $vararg_buffer28 = 0, $vararg_buffer3 = 0, $vararg_buffer31 = 0, $vararg_buffer36 = 0, $vararg_buffer41 = 0, $vararg_buffer46 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0;
+ var $vararg_ptr11 = 0, $vararg_ptr12 = 0, $vararg_ptr16 = 0, $vararg_ptr17 = 0, $vararg_ptr2 = 0, $vararg_ptr21 = 0, $vararg_ptr22 = 0, $vararg_ptr26 = 0, $vararg_ptr27 = 0, $vararg_ptr34 = 0, $vararg_ptr35 = 0, $vararg_ptr39 = 0, $vararg_ptr40 = 0, $vararg_ptr44 = 0, $vararg_ptr45 = 0, $vararg_ptr49 = 0, $vararg_ptr50 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, label = 0;
+ var sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 192|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(192|0);
+ $vararg_buffer46 = sp + 168|0;
+ $vararg_buffer41 = sp + 152|0;
+ $vararg_buffer36 = sp + 136|0;
+ $vararg_buffer31 = sp + 120|0;
+ $vararg_buffer28 = sp + 112|0;
+ $vararg_buffer23 = sp + 96|0;
+ $vararg_buffer18 = sp + 80|0;
+ $vararg_buffer13 = sp + 64|0;
+ $vararg_buffer8 = sp + 48|0;
+ $vararg_buffer3 = sp + 32|0;
+ $vararg_buffer = sp + 16|0;
+ $2 = sp;
+ $3 = sp + 184|0;
+ HEAP32[$2>>2] = $varargs;
+ $arglist_current = HEAP32[$2>>2]|0;
+ $4 = $arglist_current;
+ $5 = ((0) + 4|0);
+ $expanded2 = $5;
+ $expanded = (($expanded2) - 1)|0;
+ $6 = (($4) + ($expanded))|0;
+ $7 = ((0) + 4|0);
+ $expanded6 = $7;
+ $expanded5 = (($expanded6) - 1)|0;
+ $expanded4 = $expanded5 ^ -1;
+ $8 = $6 & $expanded4;
+ $9 = $8;
+ $10 = HEAP32[$9>>2]|0;
+ $arglist_next = ((($9)) + 4|0);
+ HEAP32[$2>>2] = $arglist_next;
+ $11 = ($1|0)==(4);
+ $12 = $10 | 32768;
+ $spec$select = $11 ? $12 : $10;
+ L1: do {
+ switch ($1|0) {
+ case 14: {
+ HEAP32[$vararg_buffer>>2] = $0;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 14;
+ $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
+ HEAP32[$vararg_ptr2>>2] = $spec$select;
+ $13 = (___syscall221(221,($vararg_buffer|0))|0);
+ $14 = (___syscall_ret($13)|0);
+ $$2 = $14;
+ break;
+ }
+ case 9: {
+ $15 = $3;
+ HEAP32[$vararg_buffer3>>2] = $0;
+ $vararg_ptr6 = ((($vararg_buffer3)) + 4|0);
+ HEAP32[$vararg_ptr6>>2] = 16;
+ $vararg_ptr7 = ((($vararg_buffer3)) + 8|0);
+ HEAP32[$vararg_ptr7>>2] = $15;
+ $16 = (___syscall221(221,($vararg_buffer3|0))|0);
+ switch ($16|0) {
+ case -22: {
+ HEAP32[$vararg_buffer8>>2] = $0;
+ $vararg_ptr11 = ((($vararg_buffer8)) + 4|0);
+ HEAP32[$vararg_ptr11>>2] = 9;
+ $vararg_ptr12 = ((($vararg_buffer8)) + 8|0);
+ HEAP32[$vararg_ptr12>>2] = $spec$select;
+ $17 = (___syscall221(221,($vararg_buffer8|0))|0);
+ $$0 = $17;
+ break;
+ }
+ case 0: {
+ $19 = HEAP32[$3>>2]|0;
+ $20 = ($19|0)==(2);
+ $21 = ((($3)) + 4|0);
+ $22 = HEAP32[$21>>2]|0;
+ $23 = (0 - ($22))|0;
+ $24 = $20 ? $23 : $22;
+ $$0 = $24;
+ break;
+ }
+ default: {
+ $18 = (___syscall_ret($16)|0);
+ $$0 = $18;
+ }
+ }
+ $$2 = $$0;
+ break;
+ }
+ case 1030: {
+ HEAP32[$vararg_buffer13>>2] = $0;
+ $vararg_ptr16 = ((($vararg_buffer13)) + 4|0);
+ HEAP32[$vararg_ptr16>>2] = 1030;
+ $vararg_ptr17 = ((($vararg_buffer13)) + 8|0);
+ HEAP32[$vararg_ptr17>>2] = $spec$select;
+ $25 = (___syscall221(221,($vararg_buffer13|0))|0);
+ $26 = ($25|0)==(-22);
+ if (!($26)) {
+ $27 = ($25|0)>(-1);
+ if ($27) {
+ HEAP32[$vararg_buffer18>>2] = $25;
+ $vararg_ptr21 = ((($vararg_buffer18)) + 4|0);
+ HEAP32[$vararg_ptr21>>2] = 2;
+ $vararg_ptr22 = ((($vararg_buffer18)) + 8|0);
+ HEAP32[$vararg_ptr22>>2] = 1;
+ (___syscall221(221,($vararg_buffer18|0))|0);
+ }
+ $28 = (___syscall_ret($25)|0);
+ $$2 = $28;
+ break L1;
+ }
+ HEAP32[$vararg_buffer23>>2] = $0;
+ $vararg_ptr26 = ((($vararg_buffer23)) + 4|0);
+ HEAP32[$vararg_ptr26>>2] = 1030;
+ $vararg_ptr27 = ((($vararg_buffer23)) + 8|0);
+ HEAP32[$vararg_ptr27>>2] = 0;
+ $29 = (___syscall221(221,($vararg_buffer23|0))|0);
+ $30 = ($29|0)==(-22);
+ if ($30) {
+ HEAP32[$vararg_buffer31>>2] = $0;
+ $vararg_ptr34 = ((($vararg_buffer31)) + 4|0);
+ HEAP32[$vararg_ptr34>>2] = 0;
+ $vararg_ptr35 = ((($vararg_buffer31)) + 8|0);
+ HEAP32[$vararg_ptr35>>2] = $spec$select;
+ $33 = (___syscall221(221,($vararg_buffer31|0))|0);
+ $34 = ($33|0)>(-1);
+ if ($34) {
+ HEAP32[$vararg_buffer36>>2] = $33;
+ $vararg_ptr39 = ((($vararg_buffer36)) + 4|0);
+ HEAP32[$vararg_ptr39>>2] = 2;
+ $vararg_ptr40 = ((($vararg_buffer36)) + 8|0);
+ HEAP32[$vararg_ptr40>>2] = 1;
+ (___syscall221(221,($vararg_buffer36|0))|0);
+ }
+ $35 = (___syscall_ret($33)|0);
+ $$2 = $35;
+ break L1;
+ } else {
+ $31 = ($29|0)>(-1);
+ if ($31) {
+ HEAP32[$vararg_buffer28>>2] = $29;
+ (___syscall6(6,($vararg_buffer28|0))|0);
+ }
+ $32 = (___syscall_ret(-22)|0);
+ $$2 = $32;
+ break L1;
+ }
+ break;
+ }
+ case 15: case 16: case 12: case 13: {
+ HEAP32[$vararg_buffer41>>2] = $0;
+ $vararg_ptr44 = ((($vararg_buffer41)) + 4|0);
+ HEAP32[$vararg_ptr44>>2] = $1;
+ $vararg_ptr45 = ((($vararg_buffer41)) + 8|0);
+ HEAP32[$vararg_ptr45>>2] = $spec$select;
+ $36 = (___syscall221(221,($vararg_buffer41|0))|0);
+ $37 = (___syscall_ret($36)|0);
+ $$2 = $37;
+ break;
+ }
+ default: {
+ HEAP32[$vararg_buffer46>>2] = $0;
+ $vararg_ptr49 = ((($vararg_buffer46)) + 4|0);
+ HEAP32[$vararg_ptr49>>2] = $1;
+ $vararg_ptr50 = ((($vararg_buffer46)) + 8|0);
+ HEAP32[$vararg_ptr50>>2] = $spec$select;
+ $38 = (___syscall221(221,($vararg_buffer46|0))|0);
+ $39 = (___syscall_ret($38)|0);
+ $$2 = $39;
+ }
+ }
+ } while(0);
+ STACKTOP = sp;return ($$2|0);
+}
+function _open($0,$1,$varargs) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $varargs = $varargs|0;
+ var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $arglist_current = 0, $arglist_next = 0;
+ var $expanded = 0, $expanded2 = 0, $expanded4 = 0, $expanded5 = 0, $expanded6 = 0, $or$cond14 = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
+ $vararg_buffer3 = sp + 32|0;
+ $vararg_buffer = sp + 16|0;
+ $2 = sp;
+ $3 = $1 & 4194368;
+ $4 = ($3|0)==(0);
+ if ($4) {
+ $$0 = 0;
+ } else {
+ HEAP32[$2>>2] = $varargs;
+ $arglist_current = HEAP32[$2>>2]|0;
+ $5 = $arglist_current;
+ $6 = ((0) + 4|0);
+ $expanded2 = $6;
+ $expanded = (($expanded2) - 1)|0;
+ $7 = (($5) + ($expanded))|0;
+ $8 = ((0) + 4|0);
+ $expanded6 = $8;
+ $expanded5 = (($expanded6) - 1)|0;
+ $expanded4 = $expanded5 ^ -1;
+ $9 = $7 & $expanded4;
+ $10 = $9;
+ $11 = HEAP32[$10>>2]|0;
+ $arglist_next = ((($10)) + 4|0);
+ HEAP32[$2>>2] = $arglist_next;
+ $$0 = $11;
+ }
+ $12 = $0;
+ $13 = $1 | 32768;
+ HEAP32[$vararg_buffer>>2] = $12;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = $13;
+ $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
+ HEAP32[$vararg_ptr2>>2] = $$0;
+ $14 = (___syscall5(5,($vararg_buffer|0))|0);
+ $15 = ($14|0)<(0);
+ $16 = $1 & 524288;
+ $17 = ($16|0)==(0);
+ $or$cond14 = $17 | $15;
+ if (!($or$cond14)) {
+ HEAP32[$vararg_buffer3>>2] = $14;
+ $vararg_ptr6 = ((($vararg_buffer3)) + 4|0);
+ HEAP32[$vararg_ptr6>>2] = 2;
+ $vararg_ptr7 = ((($vararg_buffer3)) + 8|0);
+ HEAP32[$vararg_ptr7>>2] = 1;
+ (___syscall221(221,($vararg_buffer3|0))|0);
+ }
+ $18 = (___syscall_ret($14)|0);
+ STACKTOP = sp;return ($18|0);
+}
+function ___synccall($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ FUNCTION_TABLE_vi[$0 & 127]($1);
+ return;
+}
+function _memcmp($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$01318 = 0, $$01417 = 0, $$019 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $3 = ($2|0)==(0);
+ L1: do {
+ if ($3) {
+ $14 = 0;
+ } else {
+ $$01318 = $0;$$01417 = $2;$$019 = $1;
+ while(1) {
+ $4 = HEAP8[$$01318>>0]|0;
+ $5 = HEAP8[$$019>>0]|0;
+ $6 = ($4<<24>>24)==($5<<24>>24);
+ if (!($6)) {
+ break;
+ }
+ $7 = (($$01417) + -1)|0;
+ $8 = ((($$01318)) + 1|0);
+ $9 = ((($$019)) + 1|0);
+ $10 = ($7|0)==(0);
+ if ($10) {
+ $14 = 0;
+ break L1;
+ } else {
+ $$01318 = $8;$$01417 = $7;$$019 = $9;
+ }
+ }
+ $11 = $4&255;
+ $12 = $5&255;
+ $13 = (($11) - ($12))|0;
+ $14 = $13;
+ }
+ } while(0);
+ return ($14|0);
+}
+function ___procfdname($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $$02324 = 0, $$027 = 0, $$126 = 0, $$225 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0;
+ var label = 0, sp = 0, src = 0, stop = 0;
+ sp = STACKTOP;
+ dest=$0; src=70671; stop=dest+15|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
+ $2 = ($1|0)==(0);
+ if ($2) {
+ $3 = ((($0)) + 14|0);
+ HEAP8[$3>>0] = 48;
+ $4 = ((($0)) + 15|0);
+ HEAP8[$4>>0] = 0;
+ } else {
+ $$027 = $1;$$126 = 14;
+ while(1) {
+ $5 = (($$027>>>0) / 10)&-1;
+ $6 = (($$126) + 1)|0;
+ $7 = ($$027>>>0)<(10);
+ if ($7) {
+ break;
+ } else {
+ $$027 = $5;$$126 = $6;
+ }
+ }
+ $8 = (($0) + ($6)|0);
+ HEAP8[$8>>0] = 0;
+ $$02324 = $1;$$225 = $6;
+ while(1) {
+ $9 = (($$02324>>>0) / 10)&-1;
+ $10 = ($9*10)|0;
+ $11 = (($$02324) - ($10))|0;
+ $12 = $11 | 48;
+ $13 = $12&255;
+ $14 = (($$225) + -1)|0;
+ $15 = (($0) + ($14)|0);
+ HEAP8[$15>>0] = $13;
+ $16 = ($$02324>>>0)<(10);
+ if ($16) {
+ break;
+ } else {
+ $$02324 = $9;$$225 = $14;
+ }
+ }
+ }
+ return;
+}
+function _fstat($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $$0 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_buffer6 = 0, $vararg_ptr1 = 0, $vararg_ptr5 = 0, $vararg_ptr9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
+ $vararg_buffer6 = sp + 48|0;
+ $vararg_buffer2 = sp + 40|0;
+ $vararg_buffer = sp + 32|0;
+ $2 = sp;
+ $3 = $1;
+ HEAP32[$vararg_buffer>>2] = $0;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = $3;
+ $4 = (___syscall197(197,($vararg_buffer|0))|0);
+ $5 = ($4|0)==(-9);
+ if ($5) {
+ HEAP32[$vararg_buffer2>>2] = $0;
+ $vararg_ptr5 = ((($vararg_buffer2)) + 4|0);
+ HEAP32[$vararg_ptr5>>2] = 1;
+ $6 = (___syscall221(221,($vararg_buffer2|0))|0);
+ $7 = ($6|0)<(0);
+ if ($7) {
+ label = 3;
+ } else {
+ ___procfdname($2,$0);
+ $9 = $2;
+ HEAP32[$vararg_buffer6>>2] = $9;
+ $vararg_ptr9 = ((($vararg_buffer6)) + 4|0);
+ HEAP32[$vararg_ptr9>>2] = $3;
+ $10 = (___syscall195(195,($vararg_buffer6|0))|0);
+ $11 = (___syscall_ret($10)|0);
+ $$0 = $11;
+ }
+ } else {
+ label = 3;
+ }
+ if ((label|0) == 3) {
+ $8 = (___syscall_ret($4)|0);
+ $$0 = $8;
+ }
+ STACKTOP = sp;return ($$0|0);
+}
+function _getpid() {
+ var $0 = 0, $vararg_buffer = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $vararg_buffer = sp;
+ $0 = (___syscall20(20,($vararg_buffer|0))|0);
+ STACKTOP = sp;return ($0|0);
+}
+function _write($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $3 = 0, $4 = 0, $5 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $vararg_buffer = sp;
+ $3 = $1;
+ HEAP32[$vararg_buffer>>2] = $0;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = $3;
+ $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
+ HEAP32[$vararg_ptr2>>2] = $2;
+ $4 = (___syscall4(4,($vararg_buffer|0))|0);
+ $5 = (___syscall_ret($4)|0);
+ STACKTOP = sp;return ($5|0);
+}
+function _read($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $3 = 0, $4 = 0, $5 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $vararg_buffer = sp;
+ $3 = $1;
+ HEAP32[$vararg_buffer>>2] = $0;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = $3;
+ $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
+ HEAP32[$vararg_ptr2>>2] = $2;
+ $4 = (___syscall3(3,($vararg_buffer|0))|0);
+ $5 = (___syscall_ret($4)|0);
+ STACKTOP = sp;return ($5|0);
+}
+function _access($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $2 = 0, $3 = 0, $4 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $vararg_buffer = sp;
+ $2 = $0;
+ HEAP32[$vararg_buffer>>2] = $2;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = $1;
+ $3 = (___syscall33(33,($vararg_buffer|0))|0);
+ $4 = (___syscall_ret($3)|0);
+ STACKTOP = sp;return ($4|0);
+}
+function _getrusage($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $2 = 0, $3 = 0, $4 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $vararg_buffer = sp;
+ $2 = $1;
+ HEAP32[$vararg_buffer>>2] = $0;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = $2;
+ $3 = (___syscall77(77,($vararg_buffer|0))|0);
+ $4 = (___syscall_ret($3)|0);
+ STACKTOP = sp;return ($4|0);
+}
+function _strtoul($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $3 = 0, $4 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $3 = (_strtox_765($0,$1,$2,-1,0)|0);
+ $4 = tempRet0;
+ return ($3|0);
+}
+function _strncpy($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ (___stpncpy($0,$1,$2)|0);
+ return ($0|0);
+}
+function ___stpncpy($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$0$lcssa = 0, $$037$lcssa = 0, $$03754 = 0, $$038$lcssa = 0, $$03867 = 0, $$039$lcssa = 0, $$03966 = 0, $$042$lcssa = 0, $$04265 = 0, $$055 = 0, $$1$lcssa = 0, $$140 = 0, $$143 = 0, $$153 = 0, $$2 = 0, $$24147 = 0, $$24446 = 0, $$345 = 0, $$348 = 0, $$4 = 0;
+ var $$lcssa = 0, $$pr = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
+ var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond64 = 0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ $3 = $1;
+ $4 = $0;
+ $5 = $3 ^ $4;
+ $6 = $5 & 3;
+ $7 = ($6|0)==(0);
+ L1: do {
+ if ($7) {
+ $8 = $3 & 3;
+ $9 = ($8|0)!=(0);
+ $10 = ($2|0)!=(0);
+ $or$cond64 = $10 & $9;
+ if ($or$cond64) {
+ $$03867 = $2;$$03966 = $1;$$04265 = $0;
+ while(1) {
+ $11 = HEAP8[$$03966>>0]|0;
+ HEAP8[$$04265>>0] = $11;
+ $12 = ($11<<24>>24)==(0);
+ if ($12) {
+ $$345 = $$04265;$$4 = $$03867;
+ break L1;
+ }
+ $13 = (($$03867) + -1)|0;
+ $14 = ((($$03966)) + 1|0);
+ $15 = ((($$04265)) + 1|0);
+ $16 = $14;
+ $17 = $16 & 3;
+ $18 = ($17|0)!=(0);
+ $19 = ($13|0)!=(0);
+ $or$cond = $19 & $18;
+ if ($or$cond) {
+ $$03867 = $13;$$03966 = $14;$$04265 = $15;
+ } else {
+ $$038$lcssa = $13;$$039$lcssa = $14;$$042$lcssa = $15;$$lcssa = $19;
+ break;
+ }
+ }
+ } else {
+ $$038$lcssa = $2;$$039$lcssa = $1;$$042$lcssa = $0;$$lcssa = $10;
+ }
+ if ($$lcssa) {
+ $$pr = HEAP8[$$039$lcssa>>0]|0;
+ $20 = ($$pr<<24>>24)==(0);
+ if ($20) {
+ $$345 = $$042$lcssa;$$4 = $$038$lcssa;
+ } else {
+ $21 = ($$038$lcssa>>>0)>(3);
+ L11: do {
+ if ($21) {
+ $$03754 = $$042$lcssa;$$055 = $$039$lcssa;$$153 = $$038$lcssa;
+ while(1) {
+ $22 = HEAP32[$$055>>2]|0;
+ $23 = (($22) + -16843009)|0;
+ $24 = $22 & -2139062144;
+ $25 = $24 ^ -2139062144;
+ $26 = $25 & $23;
+ $27 = ($26|0)==(0);
+ if (!($27)) {
+ $$0$lcssa = $$055;$$037$lcssa = $$03754;$$1$lcssa = $$153;
+ break L11;
+ }
+ HEAP32[$$03754>>2] = $22;
+ $28 = (($$153) + -4)|0;
+ $29 = ((($$055)) + 4|0);
+ $30 = ((($$03754)) + 4|0);
+ $31 = ($28>>>0)>(3);
+ if ($31) {
+ $$03754 = $30;$$055 = $29;$$153 = $28;
+ } else {
+ $$0$lcssa = $29;$$037$lcssa = $30;$$1$lcssa = $28;
+ break;
+ }
+ }
+ } else {
+ $$0$lcssa = $$039$lcssa;$$037$lcssa = $$042$lcssa;$$1$lcssa = $$038$lcssa;
+ }
+ } while(0);
+ $$140 = $$0$lcssa;$$143 = $$037$lcssa;$$2 = $$1$lcssa;
+ label = 13;
+ }
+ } else {
+ $$345 = $$042$lcssa;$$4 = 0;
+ }
+ } else {
+ $$140 = $1;$$143 = $0;$$2 = $2;
+ label = 13;
+ }
+ } while(0);
+ L17: do {
+ if ((label|0) == 13) {
+ $32 = ($$2|0)==(0);
+ if ($32) {
+ $$345 = $$143;$$4 = 0;
+ } else {
+ $$24147 = $$140;$$24446 = $$143;$$348 = $$2;
+ while(1) {
+ $33 = HEAP8[$$24147>>0]|0;
+ HEAP8[$$24446>>0] = $33;
+ $34 = ($33<<24>>24)==(0);
+ if ($34) {
+ $$345 = $$24446;$$4 = $$348;
+ break L17;
+ }
+ $35 = (($$348) + -1)|0;
+ $36 = ((($$24147)) + 1|0);
+ $37 = ((($$24446)) + 1|0);
+ $38 = ($35|0)==(0);
+ if ($38) {
+ $$345 = $37;$$4 = 0;
+ break;
+ } else {
+ $$24147 = $36;$$24446 = $37;$$348 = $35;
+ }
+ }
+ }
+ }
+ } while(0);
+ (_memset(($$345|0),0,($$4|0))|0);
+ return ($$345|0);
+}
+function _strtox_765($0,$1,$2,$3,$4) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ var $$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0);
+ $5 = sp;
+ HEAP32[$5>>2] = 0;
+ $6 = ((($5)) + 4|0);
+ HEAP32[$6>>2] = $0;
+ $7 = ((($5)) + 44|0);
+ HEAP32[$7>>2] = $0;
+ $8 = ($0|0)<(0|0);
+ $9 = ((($0)) + 2147483647|0);
+ $$sink = $8 ? (-1) : $9;
+ $10 = ((($5)) + 8|0);
+ HEAP32[$10>>2] = $$sink;
+ $11 = ((($5)) + 76|0);
+ HEAP32[$11>>2] = -1;
+ ___shlim($5,0);
+ $12 = (___intscan($5,$2,1,$3,$4)|0);
+ $13 = tempRet0;
+ $14 = ($1|0)==(0|0);
+ if (!($14)) {
+ $15 = ((($5)) + 108|0);
+ $16 = HEAP32[$15>>2]|0;
+ $17 = HEAP32[$6>>2]|0;
+ $18 = HEAP32[$10>>2]|0;
+ $19 = (($17) + ($16))|0;
+ $20 = (($19) - ($18))|0;
+ $21 = (($0) + ($20)|0);
+ HEAP32[$1>>2] = $21;
+ }
+ tempRet0 = ($13);
+ STACKTOP = sp;return ($12|0);
+}
+function _htonl($0) {
+ $0 = $0|0;
+ var $1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = (___bswap_32($0)|0);
+ return ($1|0);
+}
+function ___bswap_32($0) {
+ $0 = $0|0;
+ var $1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = (_llvm_bswap_i32(($0|0))|0);
+ return ($1|0);
+}
+function _ntohl($0) {
+ $0 = $0|0;
+ var $1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = (___bswap_32_187($0)|0);
+ return ($1|0);
+}
+function ___bswap_32_187($0) {
+ $0 = $0|0;
+ var $1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = (_llvm_bswap_i32(($0|0))|0);
+ return ($1|0);
+}
+function ___tre_mem_new_impl($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $$0$in = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $2 = ($0|0)==(0);
+ if ($2) {
+ $3 = (_calloc(1,24)|0);
+ $$0$in = $3;
+ } else {
+ (_memset(($1|0),0,24)|0);
+ $$0$in = $1;
+ }
+ return ($$0$in|0);
+}
+function ___tre_mem_destroy($0) {
+ $0 = $0|0;
+ var $$in1011 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = HEAP32[$0>>2]|0;
+ $2 = ($1|0)==(0|0);
+ if (!($2)) {
+ $$in1011 = $1;
+ while(1) {
+ $3 = HEAP32[$$in1011>>2]|0;
+ _free($3);
+ $4 = ((($$in1011)) + 4|0);
+ $5 = HEAP32[$4>>2]|0;
+ _free($$in1011);
+ $6 = ($5|0)==(0|0);
+ if ($6) {
+ break;
+ } else {
+ $$in1011 = $5;
+ }
+ }
+ }
+ _free($0);
+ return;
+}
+function ___tre_mem_alloc_impl($0,$1,$2,$3,$4) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ var $$ = 0, $$3 = 0, $$phi$trans$insert = 0, $$pre = 0, $$pre$phiZ2D = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0;
+ var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0, $7 = 0;
+ var $8 = 0, $9 = 0, $spec$select = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $5 = ((($0)) + 16|0);
+ $6 = HEAP32[$5>>2]|0;
+ $7 = ($6|0)==(0);
+ L1: do {
+ if ($7) {
+ $8 = ((($0)) + 12|0);
+ $9 = HEAP32[$8>>2]|0;
+ $10 = ($9>>>0)<($4>>>0);
+ do {
+ if ($10) {
+ $12 = ($1|0)==(0);
+ if (!($12)) {
+ $13 = ($2|0)==(0|0);
+ if ($13) {
+ HEAP32[$5>>2] = 1;
+ $$3 = 0;
+ break L1;
+ } else {
+ $14 = ((($0)) + 8|0);
+ HEAP32[$14>>2] = $2;
+ HEAP32[$8>>2] = 1024;
+ $15 = $2;
+ $$pre$phiZ2D = $14;$32 = $15;$38 = $2;$40 = 1024;
+ break;
+ }
+ }
+ $16 = $4 << 3;
+ $17 = ($16>>>0)>(1024);
+ $$ = $17 ? $16 : 1024;
+ $18 = (_malloc(8)|0);
+ $19 = ($18|0)==(0|0);
+ if ($19) {
+ HEAP32[$5>>2] = 1;
+ $$3 = 0;
+ break L1;
+ }
+ $20 = (_malloc($$)|0);
+ HEAP32[$18>>2] = $20;
+ $21 = ($20|0)==(0|0);
+ $22 = $20;
+ if ($21) {
+ _free($18);
+ HEAP32[$5>>2] = 1;
+ $$3 = 0;
+ break L1;
+ }
+ $23 = ((($18)) + 4|0);
+ HEAP32[$23>>2] = 0;
+ $24 = ((($0)) + 4|0);
+ $25 = HEAP32[$24>>2]|0;
+ $26 = ($25|0)==(0|0);
+ if (!($26)) {
+ $27 = ((($25)) + 4|0);
+ HEAP32[$27>>2] = $18;
+ }
+ $28 = HEAP32[$0>>2]|0;
+ $29 = ($28|0)==(0|0);
+ if ($29) {
+ HEAP32[$0>>2] = $18;
+ }
+ HEAP32[$24>>2] = $18;
+ $30 = ((($0)) + 8|0);
+ HEAP32[$30>>2] = $22;
+ HEAP32[$8>>2] = $$;
+ $$pre$phiZ2D = $30;$32 = $22;$38 = $20;$40 = $$;
+ } else {
+ $$phi$trans$insert = ((($0)) + 8|0);
+ $$pre = HEAP32[$$phi$trans$insert>>2]|0;
+ $11 = $$pre;
+ $$pre$phiZ2D = $$phi$trans$insert;$32 = $$pre;$38 = $11;$40 = $9;
+ }
+ } while(0);
+ $31 = (($32) + ($4))|0;
+ $33 = $31 & 3;
+ $34 = ($33|0)==(0);
+ $35 = (4 - ($33))|0;
+ $spec$select = $34 ? 0 : $35;
+ $36 = (($spec$select) + ($4))|0;
+ $37 = (($38) + ($36)|0);
+ HEAP32[$$pre$phiZ2D>>2] = $37;
+ $39 = (($40) - ($36))|0;
+ HEAP32[$8>>2] = $39;
+ $41 = ($3|0)==(0);
+ if ($41) {
+ $$3 = $38;
+ } else {
+ (_memset(($38|0),0,($36|0))|0);
+ $$3 = $38;
+ }
+ } else {
+ $$3 = 0;
+ }
+ } while(0);
+ return ($$3|0);
+}
+function _iswupper($0) {
+ $0 = $0|0;
+ var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = (_towlower($0)|0);
+ $2 = ($1|0)!=($0|0);
+ $3 = $2&1;
+ return ($3|0);
+}
+function _iswlower($0) {
+ $0 = $0|0;
+ var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = (_towupper($0)|0);
+ $2 = ($1|0)!=($0|0);
+ $3 = $2&1;
+ return ($3|0);
+}
+function _towupper($0) {
+ $0 = $0|0;
+ var $1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = (___towcase($0,0)|0);
+ return ($1|0);
+}
+function _towlower($0) {
+ $0 = $0|0;
+ var $1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = (___towcase($0,1)|0);
+ return ($1|0);
+}
+function ___towcase($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $$06283 = 0, $$16382 = 0, $$2 = 0, $$neg75 = 0, $$neg77 = 0, $$neg78 = 0, $$not = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0;
+ var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0;
+ var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0;
+ var $59 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond65 = 0, $or$cond67 = 0, $or$cond69 = 0, $or$cond71 = 0, $spec$select = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $2 = $1 << 1;
+ $3 = (($2) + -1)|0;
+ $4 = (($1) + -1)|0;
+ $5 = (_iswalpha($0)|0);
+ $6 = ($5|0)==(0);
+ $7 = (($0) + -1536)|0;
+ $8 = ($7>>>0)<(2560);
+ $or$cond65 = $8 | $6;
+ $9 = (($0) + -11776)|0;
+ $10 = ($9>>>0)<(30784);
+ $or$cond67 = $10 | $or$cond65;
+ $11 = (($0) + -43008)|0;
+ $12 = ($11>>>0)<(22272);
+ $or$cond69 = $12 | $or$cond67;
+ L1: do {
+ if ($or$cond69) {
+ $$2 = $0;
+ } else {
+ $13 = ($1|0)!=(0);
+ $14 = (($0) + -4256)|0;
+ $15 = ($14>>>0)<(46);
+ $or$cond71 = $13 & $15;
+ if ($or$cond71) {
+ $16 = ($0|0)>(4293);
+ if ($16) {
+ switch ($0|0) {
+ case 4295: case 4301: {
+ break;
+ }
+ default: {
+ $$2 = $0;
+ break L1;
+ }
+ }
+ }
+ $17 = (($0) + 7264)|0;
+ $$2 = $17;
+ break;
+ }
+ $$not = $13 ^ 1;
+ $18 = (($0) + -11520)|0;
+ $19 = ($18>>>0)<(38);
+ $or$cond = $19 & $$not;
+ if ($or$cond) {
+ $20 = (($0) + -7264)|0;
+ $$2 = $20;
+ break;
+ }
+ $$06283 = 0;
+ while(1) {
+ $23 = (((30432 + ($$06283<<2)|0)) + 3|0);
+ $24 = HEAP8[$23>>0]|0;
+ $25 = (30432 + ($$06283<<2)|0);
+ $26 = HEAP16[$25>>1]|0;
+ $27 = $26&65535;
+ $28 = (((30432 + ($$06283<<2)|0)) + 2|0);
+ $29 = HEAP8[$28>>0]|0;
+ $30 = $29 << 24 >> 24;
+ $31 = $4 & $30;
+ $$neg75 = (($0) - ($27))|0;
+ $32 = (($$neg75) - ($31))|0;
+ $33 = $24&255;
+ $34 = ($32>>>0)<($33>>>0);
+ $22 = (($$06283) + 1)|0;
+ if ($34) {
+ label = 11;
+ break;
+ }
+ $21 = ($22|0)==(61);
+ if ($21) {
+ break;
+ } else {
+ $$06283 = $22;
+ }
+ }
+ if ((label|0) == 11) {
+ $35 = ($29<<24>>24)==(1);
+ if ($35) {
+ $36 = (($1) + ($0))|0;
+ $37 = $$neg75 & 1;
+ $38 = (($36) - ($37))|0;
+ $$2 = $38;
+ break;
+ } else {
+ $39 = Math_imul($3, $30)|0;
+ $40 = (($39) + ($0))|0;
+ $$2 = $40;
+ break;
+ }
+ }
+ $41 = (1 - ($1))|0;
+ $42 = (30688 + ($41<<1)|0);
+ $43 = HEAP16[$42>>1]|0;
+ $44 = ($43<<16>>16)==(0);
+ L21: do {
+ if (!($44)) {
+ $$16382 = 0;$46 = $43;
+ while(1) {
+ $45 = $46&65535;
+ $47 = ($45|0)==($0|0);
+ if ($47) {
+ break;
+ }
+ $51 = (($$16382) + 1)|0;
+ $52 = ((30688 + ($51<<2)|0) + ($41<<1)|0);
+ $53 = HEAP16[$52>>1]|0;
+ $54 = ($53<<16>>16)==(0);
+ if ($54) {
+ break L21;
+ } else {
+ $$16382 = $51;$46 = $53;
+ }
+ }
+ $48 = ((30688 + ($$16382<<2)|0) + ($1<<1)|0);
+ $49 = HEAP16[$48>>1]|0;
+ $50 = $49&65535;
+ $$2 = $50;
+ break L1;
+ }
+ } while(0);
+ $$neg77 = ($1*40)|0;
+ $$neg78 = (($0) + -66600)|0;
+ $55 = (($$neg78) + ($$neg77))|0;
+ $56 = ($55>>>0)<(40);
+ $57 = (($0) + -40)|0;
+ $58 = ($1*80)|0;
+ $59 = (($57) + ($58))|0;
+ $spec$select = $56 ? $59 : $0;
+ return ($spec$select|0);
+ }
+ } while(0);
+ return ($$2|0);
+}
+function _iswalpha($0) {
+ $0 = $0|0;
+ var $$ = 0, $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = ($0>>>0)<(131072);
+ if ($1) {
+ $2 = $0 >>> 8;
+ $3 = (31184 + ($2)|0);
+ $4 = HEAP8[$3>>0]|0;
+ $5 = $4&255;
+ $6 = $5 << 5;
+ $7 = $0 >>> 3;
+ $8 = $7 & 31;
+ $9 = $6 | $8;
+ $10 = (31184 + ($9)|0);
+ $11 = HEAP8[$10>>0]|0;
+ $12 = $11&255;
+ $13 = $0 & 7;
+ $14 = $12 >>> $13;
+ $15 = $14 & 1;
+ $$0 = $15;
+ } else {
+ $16 = ($0>>>0)<(196606);
+ $$ = $16&1;
+ $$0 = $$;
+ }
+ return ($$0|0);
+}
+function _iswctype($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ do {
+ switch ($1|0) {
+ case 1: {
+ $2 = (_iswalnum($0)|0);
+ $$0 = $2;
+ break;
+ }
+ case 2: {
+ $3 = (_iswalpha($0)|0);
+ $$0 = $3;
+ break;
+ }
+ case 3: {
+ $4 = (_iswblank($0)|0);
+ $$0 = $4;
+ break;
+ }
+ case 4: {
+ $5 = (_iswcntrl($0)|0);
+ $$0 = $5;
+ break;
+ }
+ case 5: {
+ $6 = (_iswdigit($0)|0);
+ $$0 = $6;
+ break;
+ }
+ case 6: {
+ $7 = (_iswgraph($0)|0);
+ $$0 = $7;
+ break;
+ }
+ case 7: {
+ $8 = (_iswlower($0)|0);
+ $$0 = $8;
+ break;
+ }
+ case 8: {
+ $9 = (_iswprint($0)|0);
+ $$0 = $9;
+ break;
+ }
+ case 9: {
+ $10 = (_iswpunct($0)|0);
+ $$0 = $10;
+ break;
+ }
+ case 10: {
+ $11 = (_iswspace($0)|0);
+ $$0 = $11;
+ break;
+ }
+ case 11: {
+ $12 = (_iswupper($0)|0);
+ $$0 = $12;
+ break;
+ }
+ case 12: {
+ $13 = (_iswxdigit($0)|0);
+ $$0 = $13;
+ break;
+ }
+ default: {
+ $$0 = 0;
+ }
+ }
+ } while(0);
+ return ($$0|0);
+}
+function _iswalnum($0) {
+ $0 = $0|0;
+ var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $phitmp = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = (_iswdigit($0)|0);
+ $2 = ($1|0)==(0);
+ if ($2) {
+ $3 = (_iswalpha($0)|0);
+ $4 = ($3|0)!=(0);
+ $phitmp = $4&1;
+ $5 = $phitmp;
+ } else {
+ $5 = 1;
+ }
+ return ($5|0);
+}
+function _iswblank($0) {
+ $0 = $0|0;
+ var $1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = (_isblank($0)|0);
+ return ($1|0);
+}
+function _iswcntrl($0) {
+ $0 = $0|0;
+ var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $narrow = 0, $or$cond = 0, $or$cond6 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = ($0>>>0)<(32);
+ $2 = (($0) + -127)|0;
+ $3 = ($2>>>0)<(33);
+ $or$cond = $1 | $3;
+ $4 = $0 & -2;
+ $5 = ($4|0)==(8232);
+ $or$cond6 = $5 | $or$cond;
+ $6 = (($0) + -65529)|0;
+ $7 = ($6>>>0)<(3);
+ $narrow = $7 | $or$cond6;
+ $8 = $narrow&1;
+ return ($8|0);
+}
+function _iswgraph($0) {
+ $0 = $0|0;
+ var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $phitmp = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = (_iswspace($0)|0);
+ $2 = ($1|0)==(0);
+ if ($2) {
+ $3 = (_iswprint($0)|0);
+ $4 = ($3|0)!=(0);
+ $phitmp = $4&1;
+ $5 = $phitmp;
+ } else {
+ $5 = 0;
+ }
+ return ($5|0);
+}
+function _iswprint($0) {
+ $0 = $0|0;
+ var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $not$or$cond11 = 0, $or$cond = 0, $or$cond9 = 0, $spec$select = 0, label = 0;
+ var sp = 0;
+ sp = STACKTOP;
+ $1 = ($0>>>0)<(255);
+ if ($1) {
+ $2 = (($0) + 1)|0;
+ $3 = $2 & 127;
+ $4 = ($3>>>0)>(32);
+ $5 = $4&1;
+ $$0 = $5;
+ } else {
+ $6 = ($0>>>0)<(8232);
+ $7 = (($0) + -8234)|0;
+ $8 = ($7>>>0)<(47062);
+ $or$cond = $6 | $8;
+ $9 = (($0) + -57344)|0;
+ $10 = ($9>>>0)<(8185);
+ $or$cond9 = $10 | $or$cond;
+ if ($or$cond9) {
+ $$0 = 1;
+ } else {
+ $11 = (($0) + -65532)|0;
+ $12 = ($11>>>0)<(1048580);
+ $13 = $0 & 65534;
+ $14 = ($13|0)!=(65534);
+ $not$or$cond11 = $14 & $12;
+ $spec$select = $not$or$cond11&1;
+ return ($spec$select|0);
+ }
+ }
+ return ($$0|0);
+}
+function _iswpunct($0) {
+ $0 = $0|0;
+ var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = ($0>>>0)<(131072);
+ if ($1) {
+ $2 = $0 >>> 8;
+ $3 = (34160 + ($2)|0);
+ $4 = HEAP8[$3>>0]|0;
+ $5 = $4&255;
+ $6 = $5 << 5;
+ $7 = $0 >>> 3;
+ $8 = $7 & 31;
+ $9 = $6 | $8;
+ $10 = (34160 + ($9)|0);
+ $11 = HEAP8[$10>>0]|0;
+ $12 = $11&255;
+ $13 = $0 & 7;
+ $14 = $12 >>> $13;
+ $15 = $14 & 1;
+ $$0 = $15;
+ } else {
+ $$0 = 0;
+ }
+ return ($$0|0);
+}
+function _iswxdigit($0) {
+ $0 = $0|0;
+ var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $narrow = 0, $spec$select = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = (($0) + -48)|0;
+ $2 = ($1>>>0)<(10);
+ $3 = $0 | 32;
+ $4 = (($3) + -97)|0;
+ $5 = ($4>>>0)<(6);
+ $narrow = $2 | $5;
+ $spec$select = $narrow&1;
+ return ($spec$select|0);
+}
+function _isblank($0) {
+ $0 = $0|0;
+ var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = ($0|0)==(32);
+ $2 = ($0|0)==(9);
+ $3 = $1 | $2;
+ $4 = $3&1;
+ return ($4|0);
+}
+function _regexec($0,$1,$2,$3,$4) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ var $$0 = 0, $$026 = 0, $$027 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $spec$select = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $5 = sp;
+ $6 = ((($0)) + 4|0);
+ $7 = HEAP32[$6>>2]|0;
+ $8 = ((($7)) + 56|0);
+ $9 = HEAP32[$8>>2]|0;
+ $10 = $9 & 8;
+ $11 = ($10|0)==(0);
+ $spec$select = $11 ? $2 : 0;
+ $12 = ((($7)) + 40|0);
+ $13 = HEAP32[$12>>2]|0;
+ $14 = ($13|0)>(0);
+ $15 = ($spec$select|0)!=(0);
+ $or$cond = $14 & $15;
+ if ($or$cond) {
+ $16 = $13 << 2;
+ $17 = (_malloc($16)|0);
+ $18 = ($17|0)==(0|0);
+ if ($18) {
+ $$027 = 12;
+ } else {
+ $$0 = $17;$28 = $17;
+ label = 3;
+ }
+ } else {
+ $$0 = 0;$28 = 0;
+ label = 3;
+ }
+ if ((label|0) == 3) {
+ $19 = ((($7)) + 60|0);
+ $20 = HEAP32[$19>>2]|0;
+ $21 = ($20|0)==(0);
+ if ($21) {
+ $23 = (_tre_tnfa_run_parallel($7,$1,$$0,$4,$5)|0);
+ $$026 = $23;
+ } else {
+ $22 = (_tre_tnfa_run_backtrack($7,$1,$$0,$4,$5)|0);
+ $$026 = $22;
+ }
+ $24 = ($$026|0)==(0);
+ if ($24) {
+ $25 = HEAP32[$8>>2]|0;
+ $26 = HEAP32[$5>>2]|0;
+ _tre_fill_pmatch($spec$select,$3,$25,$7,$$0,$26);
+ }
+ $27 = ($$0|0)==(0|0);
+ if ($27) {
+ $$027 = $$026;
+ } else {
+ _free($28);
+ $$027 = $$026;
+ }
+ }
+ STACKTOP = sp;return ($$027|0);
+}
+function _tre_tnfa_run_backtrack($0,$1,$2,$3,$4) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ var $$0450616675 = 0, $$0452612 = 0, $$0453 = 0, $$0453$ph = 0, $$0458 = 0, $$0463 = 0, $$0463$ph = 0, $$0467 = 0, $$0476 = 0, $$0477638 = 0, $$0479627 = 0, $$0481590 = 0, $$0482 = 0, $$0487586 = 0, $$0488579 = 0, $$0502 = 0, $$0504597 = 0, $$0506 = 0, $$0520594 = 0, $$0531 = 0;
+ var $$0533593 = 0, $$0537 = 0, $$0608 = 0, $$11517 = 0, $$12518 = 0, $$12518$ph = 0, $$14 = 0, $$1454 = 0, $$1459 = 0, $$1459$ph = 0, $$1464 = 0, $$1468 = 0, $$1480 = 0, $$1483$ph = 0, $$1503 = 0, $$1505624 = 0, $$1507595 = 0, $$1521 = 0, $$1532 = 0, $$1534 = 0;
+ var $$1538 = 0, $$2455 = 0, $$2460 = 0, $$2465 = 0, $$2469 = 0, $$2469$ph = 0, $$2492 = 0, $$2492$clear = 0, $$2522604 = 0, $$2535 = 0, $$2535$ph = 0, $$3456 = 0, $$3456$ph = 0, $$3461 = 0, $$3470 = 0, $$3485 = 0, $$3509 = 0, $$3523 = 0, $$4471 = 0, $$4524 = 0;
+ var $$4524$be = 0, $$4524$ph = 0, $$5472 = 0, $$5511 = 0, $$5525620 = 0, $$6473 = 0, $$6501 = 0, $$6512 = 0, $$6512$ph = 0, $$6526 = 0, $$7474 = 0, $$7474$ph = 0, $$7513621 = 0, $$7527634 = 0, $$9515 = 0, $$9529 = 0, $$9529$ph = 0, $$old = 0, $$old11 = 0, $$old37 = 0;
+ var $$old38 = 0, $$pr = 0, $$pr539 = 0, $$pr545 = 0, $$pr547 = 0, $$pre = 0, $$pre651 = 0, $$pre655 = 0, $$pre657 = 0, $$pre658 = 0, $$pre659 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0;
+ var $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0;
+ var $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0;
+ var $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0;
+ var $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0;
+ var $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0;
+ var $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0;
+ var $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0;
+ var $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0;
+ var $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0;
+ var $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0;
+ var $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0;
+ var $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0;
+ var $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0;
+ var $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0;
+ var $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0;
+ var $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0;
+ var $399 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0;
+ var $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0;
+ var $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0;
+ var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0;
+ var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0;
+ var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $brmerge = 0;
+ var $brmerge640 = 0, $brmerge643 = 0, $brmerge644 = 0, $not$ = 0, $or$cond$not = 0, $or$cond10 = 0, $or$cond12 = 0, $or$cond15 = 0, $or$cond18 = 0, $or$cond21 = 0, $or$cond24 = 0, $or$cond27$not = 0, $or$cond30 = 0, $or$cond36 = 0, $or$cond39 = 0, $or$cond42 = 0, $or$cond45 = 0, $or$cond48 = 0, $or$cond51 = 0, $or$cond6 = 0;
+ var $or$cond642 = 0, $or$cond646 = 0, $spec$select = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $5 = sp;
+ HEAP32[$5>>2] = 0;
+ $6 = $3 & 1;
+ $7 = $3 & 2;
+ $8 = ((($0)) + 56|0);
+ $9 = HEAP32[$8>>2]|0;
+ $10 = $9 & 4;
+ $11 = (___tre_mem_new_impl(0,0)|0);
+ $12 = ($11|0)==(0|0);
+ L1: do {
+ if ($12) {
+ $$14 = 12;
+ } else {
+ $13 = (___tre_mem_alloc_impl($11,0,0,0,32)|0);
+ $14 = ($13|0)==(0|0);
+ if ($14) {
+ ___tre_mem_destroy($11);
+ $$14 = 12;
+ break;
+ }
+ $15 = ((($13)) + 24|0);
+ HEAP32[$15>>2] = 0;
+ $16 = ((($13)) + 28|0);
+ HEAP32[$16>>2] = 0;
+ $17 = ((($0)) + 40|0);
+ $18 = HEAP32[$17>>2]|0;
+ $19 = ($18|0)==(0);
+ if ($19) {
+ $$0537 = 0;$135 = 0;
+ label = 6;
+ } else {
+ $20 = $18 << 2;
+ $21 = (_malloc($20)|0);
+ $22 = ($21|0)==(0|0);
+ if ($22) {
+ $$1503 = 0;$$1532 = 0;$$1538 = $21;$$6501 = 12;$447 = 0;$449 = 0;$451 = 0;
+ } else {
+ $$0537 = $21;$135 = $21;
+ label = 6;
+ }
+ }
+ L8: do {
+ if ((label|0) == 6) {
+ $23 = ((($0)) + 28|0);
+ $24 = HEAP32[$23>>2]|0;
+ $25 = ($24|0)==(0);
+ if ($25) {
+ $$0502 = 0;$137 = 0;
+ } else {
+ $26 = $24 << 3;
+ $27 = (_malloc($26)|0);
+ $28 = ($27|0)==(0|0);
+ if ($28) {
+ $$1503 = $27;$$1532 = 0;$$1538 = $$0537;$$6501 = 12;$447 = $135;$449 = 0;$451 = 0;
+ break;
+ } else {
+ $$0502 = $27;$137 = $27;
+ }
+ }
+ $29 = ((($0)) + 52|0);
+ $30 = HEAP32[$29>>2]|0;
+ $31 = ($30|0)==(0);
+ if ($31) {
+ $$0531 = 0;$52 = 0;
+ } else {
+ $32 = $30 << 2;
+ $33 = (_malloc($32)|0);
+ $34 = ($33|0)==(0|0);
+ if ($34) {
+ $$1503 = $$0502;$$1532 = $33;$$1538 = $$0537;$$6501 = 12;$447 = $135;$449 = $137;$451 = 0;
+ break;
+ } else {
+ $$0531 = $33;$52 = $33;
+ }
+ }
+ $35 = ($2|0)==(0|0);
+ $36 = ((($0)) + 8|0);
+ $37 = ($6|0)==(0);
+ $38 = ($10|0)!=(0);
+ $39 = ((($0)) + 12|0);
+ $40 = ($2|0)!=(0|0);
+ $41 = ((($0)) + 32|0);
+ $$0458 = $1;$$0467 = 1;$$0476 = -1;$$0482 = -1;$$0506 = $13;$65 = 0;
+ L16: while(1) {
+ $42 = HEAP32[$17>>2]|0;
+ $43 = ($42|0)>(0);
+ if ($43) {
+ $$0488579 = 0;$452 = $42;
+ while(1) {
+ $44 = (($$0537) + ($$0488579<<2)|0);
+ HEAP32[$44>>2] = -1;
+ if ($35) {
+ $48 = $452;
+ } else {
+ $45 = (($2) + ($$0488579<<2)|0);
+ HEAP32[$45>>2] = -1;
+ $$pre = HEAP32[$17>>2]|0;
+ $48 = $$pre;
+ }
+ $46 = (($$0488579) + 1)|0;
+ $47 = ($46|0)<($48|0);
+ if ($47) {
+ $$0488579 = $46;$452 = $48;
+ } else {
+ break;
+ }
+ }
+ }
+ $49 = HEAP32[$29>>2]|0;
+ $50 = ($49|0)>(0);
+ if ($50) {
+ $51 = $49 << 2;
+ _memset(($52|0),0,($51|0))|0;
+ }
+ $53 = (($$0467) + ($$0476))|0;
+ $54 = (_mbtowc($5,$$0458,4)|0);
+ $55 = ($54|0)<(1);
+ if ($55) {
+ $56 = ($54|0)<(0);
+ if ($56) {
+ $$1503 = $$0502;$$1532 = $$0531;$$1538 = $$0537;$$6501 = 1;$447 = $135;$449 = $137;$451 = $52;
+ break L8;
+ } else {
+ $$1468 = 1;
+ }
+ } else {
+ $$1468 = $54;
+ }
+ $57 = (($$0458) + ($$1468)|0);
+ $58 = HEAP32[$5>>2]|0;
+ $59 = HEAP32[$36>>2]|0;
+ $60 = ((($59)) + 8|0);
+ $61 = HEAP32[$60>>2]|0;
+ $62 = ($61|0)==(0|0);
+ if ($62) {
+ $$12518 = $$0506;$$3456 = $65;$$3485 = $$0482;$$7474 = $$1468;$$9529 = 0;
+ label = 179;
+ } else {
+ $63 = ($53|0)<(1);
+ $64 = ($65|0)==(10);
+ $or$cond6 = $38 & $64;
+ $66 = ($65|0)==(95);
+ $67 = ($53|0)!=(0);
+ $68 = ($53|0)==(0);
+ $or$cond$not = $63 & $37;
+ $$0504597 = $59;$$0520594 = 0;$$0533593 = 0;$$1507595 = $$0506;$126 = $60;
+ while(1) {
+ $69 = ((($$0504597)) + 20|0);
+ $70 = HEAP32[$69>>2]|0;
+ $71 = ($70|0)==(0);
+ L36: do {
+ if ($71) {
+ label = 50;
+ } else {
+ $72 = $70 & 1;
+ $73 = ($72|0)==(0);
+ $brmerge = $73 | $or$cond$not;
+ $brmerge640 = $brmerge | $or$cond6;
+ if ($brmerge640) {
+ $74 = $70 & 2;
+ $75 = ($74|0)==(0);
+ if (!($75)) {
+ $76 = HEAP32[$5>>2]|0;
+ $77 = $76 | $7;
+ $78 = ($77|0)==(0);
+ $79 = ($76|0)==(10);
+ $or$cond10 = $38 & $79;
+ $or$cond642 = $78 | $or$cond10;
+ if (!($or$cond642)) {
+ $$1521 = $$0520594;$$1534 = $$0533593;$$5511 = $$1507595;
+ break;
+ }
+ }
+ $80 = $70 & 16;
+ $81 = ($80|0)==(0);
+ do {
+ if (!($81)) {
+ if ($66) {
+ $$1521 = $$0520594;$$1534 = $$0533593;$$5511 = $$1507595;
+ break L36;
+ }
+ $82 = (_iswalnum($65)|0);
+ $83 = ($82|0)==(0);
+ if (!($83)) {
+ $$1521 = $$0520594;$$1534 = $$0533593;$$5511 = $$1507595;
+ break L36;
+ }
+ $84 = HEAP32[$5>>2]|0;
+ $85 = ($84|0)==(95);
+ if ($85) {
+ break;
+ }
+ $86 = (_iswalnum($84)|0);
+ $87 = ($86|0)==(0);
+ if ($87) {
+ $$1521 = $$0520594;$$1534 = $$0533593;$$5511 = $$1507595;
+ break L36;
+ }
+ }
+ } while(0);
+ $88 = HEAP32[$69>>2]|0;
+ $89 = $88 & 32;
+ $90 = ($89|0)==(0);
+ if ($90) {
+ $99 = $88;
+ } else {
+ if ($66) {
+ $$old = HEAP32[$5>>2]|0;
+ $$old11 = ($$old|0)==(95);
+ if ($$old11) {
+ $$1521 = $$0520594;$$1534 = $$0533593;$$5511 = $$1507595;
+ break;
+ } else {
+ $95 = $$old;
+ }
+ } else {
+ $91 = (_iswalnum($65)|0);
+ $92 = ($91|0)==(0);
+ $93 = HEAP32[$5>>2]|0;
+ $94 = ($93|0)==(95);
+ $or$cond12 = $92 | $94;
+ if ($or$cond12) {
+ $$1521 = $$0520594;$$1534 = $$0533593;$$5511 = $$1507595;
+ break;
+ } else {
+ $95 = $93;
+ }
+ }
+ $96 = (_iswalnum($95)|0);
+ $97 = ($96|0)==(0);
+ if (!($97)) {
+ $$1521 = $$0520594;$$1534 = $$0533593;$$5511 = $$1507595;
+ break;
+ }
+ $$pre651 = HEAP32[$69>>2]|0;
+ $99 = $$pre651;
+ }
+ $98 = $99 & 64;
+ $100 = ($98|0)!=(0);
+ $or$cond15 = $67 & $100;
+ $101 = HEAP32[$5>>2]|0;
+ $102 = ($101|0)!=(0);
+ $or$cond18 = $102 & $or$cond15;
+ do {
+ if ($or$cond18) {
+ if ($66) {
+ $106 = $101;$110 = 1;
+ } else {
+ $103 = (_iswalnum($65)|0);
+ $104 = ($103|0)!=(0);
+ $$pr = HEAP32[$5>>2]|0;
+ $106 = $$pr;$110 = $104;
+ }
+ $105 = ($106|0)==(95);
+ if ($105) {
+ if ($110) {
+ $$1521 = $$0520594;$$1534 = $$0533593;$$5511 = $$1507595;
+ break L36;
+ } else {
+ break;
+ }
+ } else {
+ $107 = (_iswalnum($106)|0);
+ $108 = ($107|0)!=(0);
+ $109 = $110 ^ $108;
+ if ($109) {
+ break;
+ } else {
+ $$1521 = $$0520594;$$1534 = $$0533593;$$5511 = $$1507595;
+ break L36;
+ }
+ }
+ }
+ } while(0);
+ $111 = HEAP32[$69>>2]|0;
+ $112 = $111 & 128;
+ $113 = ($112|0)==(0);
+ if ($113) {
+ label = 50;
+ break;
+ }
+ $114 = HEAP32[$5>>2]|0;
+ $115 = ($114|0)==(0);
+ $or$cond21 = $68 | $115;
+ if ($or$cond21) {
+ $$1521 = $$0520594;$$1534 = $$0533593;$$5511 = $$1507595;
+ break;
+ }
+ if ($66) {
+ $119 = $114;$123 = 1;
+ } else {
+ $116 = (_iswalnum($65)|0);
+ $117 = ($116|0)!=(0);
+ $$pr539 = HEAP32[$5>>2]|0;
+ $119 = $$pr539;$123 = $117;
+ }
+ $118 = ($119|0)==(95);
+ if ($118) {
+ if ($123) {
+ label = 50;
+ break;
+ } else {
+ $$1521 = $$0520594;$$1534 = $$0533593;$$5511 = $$1507595;
+ break;
+ }
+ } else {
+ $120 = (_iswalnum($119)|0);
+ $121 = ($120|0)!=(0);
+ $122 = $123 ^ $121;
+ if ($122) {
+ $$1521 = $$0520594;$$1534 = $$0533593;$$5511 = $$1507595;
+ break;
+ } else {
+ label = 50;
+ break;
+ }
+ }
+ } else {
+ $$1521 = $$0520594;$$1534 = $$0533593;$$5511 = $$1507595;
+ }
+ }
+ } while(0);
+ do {
+ if ((label|0) == 50) {
+ label = 0;
+ $124 = ($$0533593|0)==(0|0);
+ if ($124) {
+ $125 = HEAP32[$126>>2]|0;
+ $127 = ((($$0504597)) + 16|0);
+ $128 = HEAP32[$127>>2]|0;
+ $$1521 = $128;$$1534 = $125;$$5511 = $$1507595;
+ break;
+ }
+ $129 = ((($$1507595)) + 28|0);
+ $130 = HEAP32[$129>>2]|0;
+ $131 = ($130|0)==(0|0);
+ if ($131) {
+ $132 = (___tre_mem_alloc_impl($11,0,0,0,32)|0);
+ $133 = ($132|0)==(0|0);
+ if ($133) {
+ label = 54;
+ break L16;
+ }
+ $139 = ((($132)) + 24|0);
+ HEAP32[$139>>2] = $$1507595;
+ $140 = ((($132)) + 28|0);
+ HEAP32[$140>>2] = 0;
+ $141 = HEAP32[$17>>2]|0;
+ $142 = $141 << 2;
+ $143 = (___tre_mem_alloc_impl($11,0,0,0,$142)|0);
+ $144 = ((($132)) + 20|0);
+ HEAP32[$144>>2] = $143;
+ $145 = ($143|0)==(0|0);
+ if ($145) {
+ label = 61;
+ break L16;
+ }
+ HEAP32[$129>>2] = $132;
+ $$3509 = $132;
+ } else {
+ $$3509 = $130;
+ }
+ HEAP32[$$3509>>2] = $53;
+ $149 = ((($$3509)) + 4|0);
+ HEAP32[$149>>2] = $57;
+ $150 = HEAP32[$126>>2]|0;
+ $151 = ((($$3509)) + 8|0);
+ HEAP32[$151>>2] = $150;
+ $152 = ((($$0504597)) + 12|0);
+ $153 = HEAP32[$152>>2]|0;
+ $154 = ((($$3509)) + 12|0);
+ HEAP32[$154>>2] = $153;
+ $155 = HEAP32[$5>>2]|0;
+ $156 = ((($$3509)) + 16|0);
+ HEAP32[$156>>2] = $155;
+ $157 = HEAP32[$17>>2]|0;
+ $158 = ($157|0)>(0);
+ if ($158) {
+ $159 = ((($$3509)) + 20|0);
+ $160 = HEAP32[$159>>2]|0;
+ $$0487586 = 0;
+ while(1) {
+ $161 = (($$0537) + ($$0487586<<2)|0);
+ $162 = HEAP32[$161>>2]|0;
+ $163 = (($160) + ($$0487586<<2)|0);
+ HEAP32[$163>>2] = $162;
+ $164 = (($$0487586) + 1)|0;
+ $165 = HEAP32[$17>>2]|0;
+ $166 = ($164|0)<($165|0);
+ if ($166) {
+ $$0487586 = $164;
+ } else {
+ break;
+ }
+ }
+ }
+ $167 = ((($$0504597)) + 16|0);
+ $168 = HEAP32[$167>>2]|0;
+ $169 = ($168|0)==(0|0);
+ if ($169) {
+ $$1521 = $$0520594;$$1534 = $$0533593;$$5511 = $$3509;
+ } else {
+ $170 = HEAP32[$168>>2]|0;
+ $171 = ($170|0)>(-1);
+ if (!($171)) {
+ $$1521 = $$0520594;$$1534 = $$0533593;$$5511 = $$3509;
+ break;
+ }
+ $172 = ((($$3509)) + 20|0);
+ $173 = HEAP32[$172>>2]|0;
+ $$0481590 = $168;$176 = $170;
+ while(1) {
+ $174 = ((($$0481590)) + 4|0);
+ $175 = (($173) + ($176<<2)|0);
+ HEAP32[$175>>2] = $53;
+ $177 = HEAP32[$174>>2]|0;
+ $178 = ($177|0)>(-1);
+ if ($178) {
+ $$0481590 = $174;$176 = $177;
+ } else {
+ $$1521 = $$0520594;$$1534 = $$0533593;$$5511 = $$3509;
+ break;
+ }
+ }
+ }
+ }
+ } while(0);
+ $179 = ((($$0504597)) + 32|0);
+ $180 = ((($$0504597)) + 40|0);
+ $181 = HEAP32[$180>>2]|0;
+ $182 = ($181|0)==(0|0);
+ if ($182) {
+ break;
+ } else {
+ $$0504597 = $179;$$0520594 = $$1521;$$0533593 = $$1534;$$1507595 = $$5511;$126 = $180;
+ }
+ }
+ $183 = ($$1521|0)==(0|0);
+ if ($183) {
+ $$3523 = 0;
+ } else {
+ $184 = HEAP32[$$1521>>2]|0;
+ $185 = ($184|0)>(-1);
+ if ($185) {
+ $$2522604 = $$1521;$187 = $184;
+ while(1) {
+ $186 = (($$0537) + ($187<<2)|0);
+ HEAP32[$186>>2] = $53;
+ $188 = ((($$2522604)) + 4|0);
+ $189 = HEAP32[$188>>2]|0;
+ $190 = ($189|0)>(-1);
+ if ($190) {
+ $$2522604 = $188;$187 = $189;
+ } else {
+ $$3523 = $188;
+ break;
+ }
+ }
+ } else {
+ $$3523 = $$1521;
+ }
+ }
+ $191 = ($$1534|0)==(0|0);
+ if ($191) {
+ $$12518 = $$5511;$$3456 = $65;$$3485 = $$0482;$$7474 = $$1468;$$9529 = $$3523;
+ label = 179;
+ } else {
+ $$0453$ph = $65;$$0463$ph = $53;$$1459$ph = $57;$$1483$ph = $$0482;$$2469$ph = $$1468;$$2535$ph = $$1534;$$4524$ph = $$3523;$$6512$ph = $$5511;
+ }
+ }
+ L100: while(1) {
+ if ((label|0) == 179) {
+ label = 0;
+ $416 = ((($$12518)) + 24|0);
+ $417 = HEAP32[$416>>2]|0;
+ $418 = ($417|0)==(0|0);
+ if ($418) {
+ break;
+ }
+ $419 = ((($$12518)) + 8|0);
+ $420 = HEAP32[$419>>2]|0;
+ $421 = ((($420)) + 20|0);
+ $422 = HEAP32[$421>>2]|0;
+ $423 = $422 & 256;
+ $424 = ($423|0)==(0);
+ if (!($424)) {
+ $425 = ((($$12518)) + 12|0);
+ $426 = HEAP32[$425>>2]|0;
+ $427 = (($$0531) + ($426<<2)|0);
+ HEAP32[$427>>2] = 0;
+ }
+ $428 = HEAP32[$$12518>>2]|0;
+ $429 = ((($$12518)) + 4|0);
+ $430 = HEAP32[$429>>2]|0;
+ $431 = ((($$12518)) + 16|0);
+ $432 = HEAP32[$431>>2]|0;
+ HEAP32[$5>>2] = $432;
+ $433 = HEAP32[$17>>2]|0;
+ $434 = ($433|0)>(0);
+ if (!($434)) {
+ $$0453$ph = $$3456;$$0463$ph = $428;$$1459$ph = $430;$$1483$ph = $$3485;$$2469$ph = $$7474;$$2535$ph = $420;$$4524$ph = $$9529;$$6512$ph = $417;
+ continue;
+ }
+ $435 = ((($$12518)) + 20|0);
+ $436 = HEAP32[$435>>2]|0;
+ $$0608 = 0;
+ while(1) {
+ $437 = (($436) + ($$0608<<2)|0);
+ $438 = HEAP32[$437>>2]|0;
+ $439 = (($$0537) + ($$0608<<2)|0);
+ HEAP32[$439>>2] = $438;
+ $440 = (($$0608) + 1)|0;
+ $441 = ($440|0)<($433|0);
+ if ($441) {
+ $$0608 = $440;
+ } else {
+ $$0453$ph = $$3456;$$0463$ph = $428;$$1459$ph = $430;$$1483$ph = $$3485;$$2469$ph = $$7474;$$2535$ph = $420;$$4524$ph = $$9529;$$6512$ph = $417;
+ continue L100;
+ }
+ }
+ }
+ $$0453 = $$0453$ph;$$0463 = $$0463$ph;$$1459 = $$1459$ph;$$2469 = $$2469$ph;$$2535 = $$2535$ph;$$4524 = $$4524$ph;$$6512 = $$6512$ph;
+ L111: while(1) {
+ $192 = HEAP32[$39>>2]|0;
+ $193 = ($$2535|0)==($192|0);
+ if ($193) {
+ break;
+ }
+ $208 = ((($$2535)) + 8|0);
+ $209 = HEAP32[$208>>2]|0;
+ $210 = ($209|0)==(0|0);
+ if ($210) {
+ label = 100;
+ } else {
+ $211 = ((($$2535)) + 20|0);
+ $212 = HEAP32[$211>>2]|0;
+ $213 = $212 & 256;
+ $214 = ($213|0)==(0);
+ if ($214) {
+ label = 100;
+ } else {
+ $215 = ((($$2535)) + 24|0);
+ $216 = HEAP32[$215>>2]|0;
+ $217 = (($216) + 1)|0;
+ $218 = HEAP32[$8>>2]|0;
+ $219 = $218 & -9;
+ _tre_fill_pmatch($217,$$0502,$219,$0,$$0537,$$0463);
+ $220 = (($$0502) + ($216<<3)|0);
+ $221 = HEAP32[$220>>2]|0;
+ $222 = (((($$0502) + ($216<<3)|0)) + 4|0);
+ $223 = HEAP32[$222>>2]|0;
+ $224 = (($223) - ($221))|0;
+ $225 = (($1) + ($221)|0);
+ $226 = ((($$1459)) + -1|0);
+ $227 = (_strncmp($225,$226,$224)|0);
+ $228 = ($227|0)==(0);
+ do {
+ if ($228) {
+ $229 = ($224|0)==(0);
+ $spec$select = $229&1;
+ $230 = ((($$2535)) + 12|0);
+ $231 = HEAP32[$230>>2]|0;
+ $232 = (($$0531) + ($231<<2)|0);
+ if ($229) {
+ $233 = HEAP32[$232>>2]|0;
+ $234 = ($233|0)==(0);
+ if (!($234)) {
+ $$1454 = $$0453;$$1464 = $$0463;$$2460 = $$1459;$$2492 = 25;$$4471 = $$2469;
+ break;
+ }
+ }
+ HEAP32[$232>>2] = $spec$select;
+ $235 = (($224) + -1)|0;
+ $236 = (($$1459) + ($235)|0);
+ $237 = HEAP32[$5>>2]|0;
+ $238 = (($$0463) + ($$2469))|0;
+ $239 = (($238) + ($235))|0;
+ $240 = (_mbtowc($5,$236,4)|0);
+ $241 = ($240|0)<(1);
+ if ($241) {
+ $242 = ($240|0)<(0);
+ if ($242) {
+ $$1454 = $237;$$1464 = $239;$$2460 = $236;$$2492 = 2;$$4471 = $240;
+ break;
+ } else {
+ $$3470 = 1;
+ }
+ } else {
+ $$3470 = $240;
+ }
+ $243 = (($236) + ($$3470)|0);
+ $$1454 = $237;$$1464 = $239;$$2460 = $243;$$2492 = 0;$$4471 = $$3470;
+ } else {
+ $$1454 = $$0453;$$1464 = $$0463;$$2460 = $$1459;$$2492 = 25;$$4471 = $$2469;
+ }
+ } while(0);
+ $$2492$clear = $$2492 & 31;
+ switch ($$2492$clear<<24>>24) {
+ case 2: {
+ $$1503 = $$0502;$$1532 = $$0531;$$1538 = $$0537;$$6501 = 1;$447 = $135;$449 = $137;$451 = $52;
+ break L8;
+ break;
+ }
+ case 25: {
+ $$12518$ph = $$6512;$$3456$ph = $$1454;$$7474$ph = $$4471;$$9529$ph = $$4524;
+ label = 178;
+ break L111;
+ break;
+ }
+ case 0: {
+ $$2455 = $$1454;$$2465 = $$1464;$$3461 = $$2460;$$6473 = $$4471;
+ break;
+ }
+ default: {
+ $$14 = 12;
+ break L1;
+ }
+ }
+ }
+ }
+ if ((label|0) == 100) {
+ label = 0;
+ $244 = HEAP32[$5>>2]|0;
+ $245 = ($244|0)==(0);
+ if ($245) {
+ $$12518$ph = $$6512;$$3456$ph = $$0453;$$7474$ph = $$2469;$$9529$ph = $$4524;
+ label = 178;
+ break;
+ }
+ $246 = (($$0463) + ($$2469))|0;
+ $247 = (_mbtowc($5,$$1459,4)|0);
+ $248 = ($247|0)<(1);
+ if ($248) {
+ $249 = ($247|0)<(0);
+ if ($249) {
+ $$1503 = $$0502;$$1532 = $$0531;$$1538 = $$0537;$$6501 = 1;$447 = $135;$449 = $137;$451 = $52;
+ break L8;
+ } else {
+ $$5472 = 1;
+ }
+ } else {
+ $$5472 = $247;
+ }
+ $250 = (($$1459) + ($$5472)|0);
+ $$2455 = $244;$$2465 = $246;$$3461 = $250;$$6473 = $$5472;
+ }
+ $251 = HEAP32[$208>>2]|0;
+ $252 = ($251|0)==(0|0);
+ if ($252) {
+ $$12518$ph = $$6512;$$3456$ph = $$2455;$$7474$ph = $$6473;$$9529$ph = $$4524;
+ label = 178;
+ break;
+ }
+ $253 = ($$2465|0)<(1);
+ $254 = ($$2455|0)==(10);
+ $or$cond30 = $38 & $254;
+ $255 = ($$2455|0)==(95);
+ $256 = ($$2465|0)!=(0);
+ $257 = ($$2465|0)==(0);
+ $or$cond27$not = $253 & $37;
+ $$0479627 = 0;$$1505624 = $$2535;$$5525620 = $$4524;$$7513621 = $$6512;$352 = $208;
+ while(1) {
+ $258 = HEAP32[$$1505624>>2]|0;
+ $259 = ($258>>>0)>($$2455>>>0);
+ L136: do {
+ if ($259) {
+ $$11517 = $$7513621;$$1480 = $$0479627;$$6526 = $$5525620;
+ } else {
+ $260 = ((($$1505624)) + 4|0);
+ $261 = HEAP32[$260>>2]|0;
+ $262 = ($261>>>0)<($$2455>>>0);
+ if ($262) {
+ $$11517 = $$7513621;$$1480 = $$0479627;$$6526 = $$5525620;
+ break;
+ }
+ $263 = ((($$1505624)) + 20|0);
+ $264 = HEAP32[$263>>2]|0;
+ $265 = ($264|0)==(0);
+ do {
+ if (!($265)) {
+ $266 = $264 & 1;
+ $267 = ($266|0)==(0);
+ $brmerge643 = $267 | $or$cond27$not;
+ $brmerge644 = $brmerge643 | $or$cond30;
+ if (!($brmerge644)) {
+ $$11517 = $$7513621;$$1480 = $$0479627;$$6526 = $$5525620;
+ break L136;
+ }
+ $268 = $264 & 2;
+ $269 = ($268|0)==(0);
+ if (!($269)) {
+ $270 = HEAP32[$5>>2]|0;
+ $271 = $270 | $7;
+ $272 = ($271|0)==(0);
+ $273 = ($270|0)==(10);
+ $or$cond36 = $38 & $273;
+ $or$cond646 = $272 | $or$cond36;
+ if (!($or$cond646)) {
+ $$11517 = $$7513621;$$1480 = $$0479627;$$6526 = $$5525620;
+ break L136;
+ }
+ }
+ $274 = $264 & 16;
+ $275 = ($274|0)==(0);
+ do {
+ if (!($275)) {
+ if ($255) {
+ $$11517 = $$7513621;$$1480 = $$0479627;$$6526 = $$5525620;
+ break L136;
+ }
+ $276 = (_iswalnum($$2455)|0);
+ $277 = ($276|0)==(0);
+ if (!($277)) {
+ $$11517 = $$7513621;$$1480 = $$0479627;$$6526 = $$5525620;
+ break L136;
+ }
+ $278 = HEAP32[$5>>2]|0;
+ $279 = ($278|0)==(95);
+ if ($279) {
+ break;
+ }
+ $280 = (_iswalnum($278)|0);
+ $281 = ($280|0)==(0);
+ if ($281) {
+ $$11517 = $$7513621;$$1480 = $$0479627;$$6526 = $$5525620;
+ break L136;
+ }
+ }
+ } while(0);
+ $282 = HEAP32[$263>>2]|0;
+ $283 = $282 & 32;
+ $284 = ($283|0)==(0);
+ if ($284) {
+ $293 = $282;
+ } else {
+ if ($255) {
+ $$old37 = HEAP32[$5>>2]|0;
+ $$old38 = ($$old37|0)==(95);
+ if ($$old38) {
+ $$11517 = $$7513621;$$1480 = $$0479627;$$6526 = $$5525620;
+ break L136;
+ } else {
+ $289 = $$old37;
+ }
+ } else {
+ $285 = (_iswalnum($$2455)|0);
+ $286 = ($285|0)==(0);
+ $287 = HEAP32[$5>>2]|0;
+ $288 = ($287|0)==(95);
+ $or$cond39 = $286 | $288;
+ if ($or$cond39) {
+ $$11517 = $$7513621;$$1480 = $$0479627;$$6526 = $$5525620;
+ break L136;
+ } else {
+ $289 = $287;
+ }
+ }
+ $290 = (_iswalnum($289)|0);
+ $291 = ($290|0)==(0);
+ if (!($291)) {
+ $$11517 = $$7513621;$$1480 = $$0479627;$$6526 = $$5525620;
+ break L136;
+ }
+ $$pre655 = HEAP32[$263>>2]|0;
+ $293 = $$pre655;
+ }
+ $292 = $293 & 64;
+ $294 = ($292|0)!=(0);
+ $or$cond42 = $256 & $294;
+ $295 = HEAP32[$5>>2]|0;
+ $296 = ($295|0)!=(0);
+ $or$cond45 = $296 & $or$cond42;
+ do {
+ if ($or$cond45) {
+ if ($255) {
+ $300 = $295;$304 = 1;
+ } else {
+ $297 = (_iswalnum($$2455)|0);
+ $298 = ($297|0)!=(0);
+ $$pr545 = HEAP32[$5>>2]|0;
+ $300 = $$pr545;$304 = $298;
+ }
+ $299 = ($300|0)==(95);
+ if ($299) {
+ if ($304) {
+ $$11517 = $$7513621;$$1480 = $$0479627;$$6526 = $$5525620;
+ break L136;
+ } else {
+ break;
+ }
+ } else {
+ $301 = (_iswalnum($300)|0);
+ $302 = ($301|0)!=(0);
+ $303 = $304 ^ $302;
+ if ($303) {
+ break;
+ } else {
+ $$11517 = $$7513621;$$1480 = $$0479627;$$6526 = $$5525620;
+ break L136;
+ }
+ }
+ }
+ } while(0);
+ $305 = HEAP32[$263>>2]|0;
+ $306 = $305 & 128;
+ $307 = ($306|0)==(0);
+ do {
+ if (!($307)) {
+ $308 = HEAP32[$5>>2]|0;
+ $309 = ($308|0)==(0);
+ $or$cond48 = $257 | $309;
+ if ($or$cond48) {
+ $$11517 = $$7513621;$$1480 = $$0479627;$$6526 = $$5525620;
+ break L136;
+ }
+ if ($255) {
+ $313 = $308;$317 = 1;
+ } else {
+ $310 = (_iswalnum($$2455)|0);
+ $311 = ($310|0)!=(0);
+ $$pr547 = HEAP32[$5>>2]|0;
+ $313 = $$pr547;$317 = $311;
+ }
+ $312 = ($313|0)==(95);
+ if ($312) {
+ if ($317) {
+ break;
+ } else {
+ $$11517 = $$7513621;$$1480 = $$0479627;$$6526 = $$5525620;
+ break L136;
+ }
+ } else {
+ $314 = (_iswalnum($313)|0);
+ $315 = ($314|0)!=(0);
+ $316 = $317 ^ $315;
+ if ($316) {
+ $$11517 = $$7513621;$$1480 = $$0479627;$$6526 = $$5525620;
+ break L136;
+ } else {
+ break;
+ }
+ }
+ }
+ } while(0);
+ $318 = HEAP32[$263>>2]|0;
+ $319 = $318 & 4;
+ $320 = ($319|0)==(0);
+ do {
+ if (!($320)) {
+ $321 = HEAP32[$8>>2]|0;
+ $322 = $321 & 2;
+ $323 = ($322|0)==(0);
+ if ($323) {
+ $324 = ((($$1505624)) + 24|0);
+ $325 = HEAP32[$324>>2]|0;
+ $326 = (_iswctype($$2455,$325)|0);
+ $327 = ($326|0)==(0);
+ if ($327) {
+ $$11517 = $$7513621;$$1480 = $$0479627;$$6526 = $$5525620;
+ break L136;
+ }
+ $$pre657 = HEAP32[$263>>2]|0;
+ $$pre659 = $$pre657 & 4;
+ $328 = ($$pre659|0)==(0);
+ if ($328) {
+ break;
+ }
+ }
+ $329 = HEAP32[$8>>2]|0;
+ $330 = $329 & 2;
+ $331 = ($330|0)==(0);
+ if ($331) {
+ break;
+ }
+ $332 = (_towlower($$2455)|0);
+ $333 = ((($$1505624)) + 24|0);
+ $334 = HEAP32[$333>>2]|0;
+ $335 = (_iswctype($332,$334)|0);
+ $336 = ($335|0)==(0);
+ if (!($336)) {
+ break;
+ }
+ $337 = (_towupper($$2455)|0);
+ $338 = HEAP32[$333>>2]|0;
+ $339 = (_iswctype($337,$338)|0);
+ $340 = ($339|0)==(0);
+ if ($340) {
+ $$11517 = $$7513621;$$1480 = $$0479627;$$6526 = $$5525620;
+ break L136;
+ }
+ }
+ } while(0);
+ $341 = HEAP32[$263>>2]|0;
+ $342 = $341 & 8;
+ $343 = ($342|0)==(0);
+ if ($343) {
+ break;
+ }
+ $344 = ((($$1505624)) + 28|0);
+ $345 = HEAP32[$344>>2]|0;
+ $346 = HEAP32[$8>>2]|0;
+ $347 = $346 & 2;
+ $348 = (_tre_neg_char_classes_match($345,$$2455,$347)|0);
+ $349 = ($348|0)==(0);
+ if (!($349)) {
+ $$11517 = $$7513621;$$1480 = $$0479627;$$6526 = $$5525620;
+ break L136;
+ }
+ }
+ } while(0);
+ $350 = ($$0479627|0)==(0|0);
+ if ($350) {
+ $351 = HEAP32[$352>>2]|0;
+ $353 = ((($$1505624)) + 16|0);
+ $354 = HEAP32[$353>>2]|0;
+ $$11517 = $$7513621;$$1480 = $351;$$6526 = $354;
+ break;
+ }
+ $355 = ((($$7513621)) + 28|0);
+ $356 = HEAP32[$355>>2]|0;
+ $357 = ($356|0)==(0|0);
+ if ($357) {
+ $358 = (___tre_mem_alloc_impl($11,0,0,0,32)|0);
+ $359 = ($358|0)==(0|0);
+ if ($359) {
+ label = 149;
+ break L16;
+ }
+ $363 = ((($358)) + 24|0);
+ HEAP32[$363>>2] = $$7513621;
+ $364 = ((($358)) + 28|0);
+ HEAP32[$364>>2] = 0;
+ $365 = HEAP32[$17>>2]|0;
+ $366 = $365 << 2;
+ $367 = (___tre_mem_alloc_impl($11,0,0,0,$366)|0);
+ $368 = ((($358)) + 20|0);
+ HEAP32[$368>>2] = $367;
+ $369 = ($367|0)==(0|0);
+ if ($369) {
+ label = 156;
+ break L16;
+ }
+ HEAP32[$355>>2] = $358;
+ $$9515 = $358;
+ } else {
+ $$9515 = $356;
+ }
+ HEAP32[$$9515>>2] = $$2465;
+ $373 = ((($$9515)) + 4|0);
+ HEAP32[$373>>2] = $$3461;
+ $374 = HEAP32[$352>>2]|0;
+ $375 = ((($$9515)) + 8|0);
+ HEAP32[$375>>2] = $374;
+ $376 = ((($$1505624)) + 12|0);
+ $377 = HEAP32[$376>>2]|0;
+ $378 = ((($$9515)) + 12|0);
+ HEAP32[$378>>2] = $377;
+ $379 = HEAP32[$5>>2]|0;
+ $380 = ((($$9515)) + 16|0);
+ HEAP32[$380>>2] = $379;
+ $381 = HEAP32[$17>>2]|0;
+ $382 = ($381|0)>(0);
+ if ($382) {
+ $383 = ((($$9515)) + 20|0);
+ $384 = HEAP32[$383>>2]|0;
+ $$0452612 = 0;
+ while(1) {
+ $385 = (($$0537) + ($$0452612<<2)|0);
+ $386 = HEAP32[$385>>2]|0;
+ $387 = (($384) + ($$0452612<<2)|0);
+ HEAP32[$387>>2] = $386;
+ $388 = (($$0452612) + 1)|0;
+ $389 = HEAP32[$17>>2]|0;
+ $390 = ($388|0)<($389|0);
+ if ($390) {
+ $$0452612 = $388;
+ } else {
+ break;
+ }
+ }
+ }
+ $391 = ((($$1505624)) + 16|0);
+ $392 = HEAP32[$391>>2]|0;
+ $393 = ($392|0)==(0|0);
+ if ($393) {
+ $$11517 = $$9515;$$1480 = $$0479627;$$6526 = $$5525620;
+ break;
+ }
+ $394 = ((($$9515)) + 20|0);
+ $395 = HEAP32[$392>>2]|0;
+ $396 = ($395|0)>(-1);
+ if (!($396)) {
+ $$11517 = $$9515;$$1480 = $$0479627;$$6526 = $$5525620;
+ break;
+ }
+ $397 = HEAP32[$394>>2]|0;
+ $$0450616675 = $392;$399 = $395;
+ while(1) {
+ $398 = (($397) + ($399<<2)|0);
+ HEAP32[$398>>2] = $$2465;
+ $400 = ((($$0450616675)) + 4|0);
+ $401 = HEAP32[$400>>2]|0;
+ $402 = ($401|0)>(-1);
+ if ($402) {
+ $$0450616675 = $400;$399 = $401;
+ } else {
+ $$11517 = $$9515;$$1480 = $$0479627;$$6526 = $$5525620;
+ break;
+ }
+ }
+ }
+ } while(0);
+ $403 = ((($$1505624)) + 32|0);
+ $404 = ((($$1505624)) + 40|0);
+ $405 = HEAP32[$404>>2]|0;
+ $406 = ($405|0)==(0|0);
+ if ($406) {
+ break;
+ } else {
+ $$0479627 = $$1480;$$1505624 = $403;$$5525620 = $$6526;$$7513621 = $$11517;$352 = $404;
+ }
+ }
+ $407 = ($$1480|0)==(0|0);
+ if ($407) {
+ $$12518$ph = $$11517;$$3456$ph = $$2455;$$7474$ph = $$6473;$$9529$ph = $$6526;
+ label = 178;
+ break;
+ }
+ $408 = ($$6526|0)==(0|0);
+ do {
+ if ($408) {
+ $$4524$be = 0;
+ } else {
+ $409 = HEAP32[$$6526>>2]|0;
+ $410 = ($409|0)>(-1);
+ if (!($410)) {
+ $$4524$be = $$6526;
+ break;
+ }
+ $$7527634 = $$6526;$413 = $409;
+ while(1) {
+ $411 = ((($$7527634)) + 4|0);
+ $412 = (($$0537) + ($413<<2)|0);
+ HEAP32[$412>>2] = $$2465;
+ $414 = HEAP32[$411>>2]|0;
+ $415 = ($414|0)>(-1);
+ if ($415) {
+ $$7527634 = $411;$413 = $414;
+ } else {
+ $$4524$be = $411;
+ break;
+ }
+ }
+ }
+ } while(0);
+ $$0453 = $$2455;$$0463 = $$2465;$$1459 = $$3461;$$2469 = $$6473;$$2535 = $$1480;$$4524 = $$4524$be;$$6512 = $$11517;
+ }
+ if ((label|0) == 178) {
+ label = 0;
+ $$12518 = $$12518$ph;$$3456 = $$3456$ph;$$3485 = $$1483$ph;$$7474 = $$7474$ph;$$9529 = $$9529$ph;
+ label = 179;
+ continue;
+ }
+ $194 = ($$1483$ph|0)<($$0463|0);
+ if ($194) {
+ if ($35) {
+ $$12518 = $$6512;$$3456 = $$0453;$$3485 = $$0463;$$7474 = $$2469;$$9529 = $$4524;
+ label = 179;
+ continue;
+ }
+ $$pre658 = HEAP32[$17>>2]|0;
+ $201 = $$pre658;
+ } else {
+ $195 = ($$1483$ph|0)==($$0463|0);
+ $or$cond24 = $40 & $195;
+ if (!($or$cond24)) {
+ $$12518 = $$6512;$$3456 = $$0453;$$3485 = $$1483$ph;$$7474 = $$2469;$$9529 = $$4524;
+ label = 179;
+ continue;
+ }
+ $196 = HEAP32[$17>>2]|0;
+ $197 = HEAP32[$41>>2]|0;
+ $198 = (_tre_tag_order($196,$197,$$0537,$2)|0);
+ $199 = ($198|0)==(0);
+ if ($199) {
+ $$12518 = $$6512;$$3456 = $$0453;$$3485 = $$1483$ph;$$7474 = $$2469;$$9529 = $$4524;
+ label = 179;
+ continue;
+ } else {
+ $201 = $196;
+ }
+ }
+ $200 = ($201|0)>(0);
+ if (!($200)) {
+ $$12518 = $$6512;$$3456 = $$0453;$$3485 = $$0463;$$7474 = $$2469;$$9529 = $$4524;
+ label = 179;
+ continue;
+ }
+ $$0477638 = 0;
+ while(1) {
+ $202 = (($$0537) + ($$0477638<<2)|0);
+ $203 = HEAP32[$202>>2]|0;
+ $204 = (($2) + ($$0477638<<2)|0);
+ HEAP32[$204>>2] = $203;
+ $205 = (($$0477638) + 1)|0;
+ $206 = HEAP32[$17>>2]|0;
+ $207 = ($205|0)<($206|0);
+ if ($207) {
+ $$0477638 = $205;
+ } else {
+ break;
+ }
+ }
+ $$12518 = $$6512;$$3456 = $$0453;$$3485 = $$0463;$$7474 = $$2469;$$9529 = $$4524;
+ label = 179;
+ }
+ $442 = ($$3485|0)>(-1);
+ $443 = HEAP32[$5>>2]|0;
+ $444 = ($443|0)==(0);
+ $or$cond51 = $442 | $444;
+ if ($or$cond51) {
+ label = 187;
+ break;
+ }
+ HEAP32[$5>>2] = $58;
+ $$0458 = $57;$$0467 = $$7474;$$0476 = $53;$$0482 = $$3485;$$0506 = $$12518;$65 = $58;
+ }
+ if ((label|0) == 54) {
+ ___tre_mem_destroy($11);
+ $134 = ($$0537|0)==(0|0);
+ if (!($134)) {
+ _free($135);
+ }
+ $136 = ($$0502|0)==(0|0);
+ if (!($136)) {
+ _free($137);
+ }
+ $138 = ($$0531|0)==(0|0);
+ if ($138) {
+ $$14 = 12;
+ break L1;
+ }
+ _free($52);
+ $$14 = 12;
+ break L1;
+ }
+ else if ((label|0) == 61) {
+ ___tre_mem_destroy($11);
+ $146 = ($$0537|0)==(0|0);
+ if (!($146)) {
+ _free($135);
+ }
+ $147 = ($$0502|0)==(0|0);
+ if (!($147)) {
+ _free($137);
+ }
+ $148 = ($$0531|0)==(0|0);
+ if ($148) {
+ $$14 = 12;
+ break L1;
+ }
+ _free($52);
+ $$14 = 12;
+ break L1;
+ }
+ else if ((label|0) == 149) {
+ ___tre_mem_destroy($11);
+ $360 = ($$0537|0)==(0|0);
+ if (!($360)) {
+ _free($135);
+ }
+ $361 = ($$0502|0)==(0|0);
+ if (!($361)) {
+ _free($137);
+ }
+ $362 = ($$0531|0)==(0|0);
+ if ($362) {
+ $$14 = 12;
+ break L1;
+ }
+ _free($52);
+ $$14 = 12;
+ break L1;
+ }
+ else if ((label|0) == 156) {
+ ___tre_mem_destroy($11);
+ $370 = ($$0537|0)==(0|0);
+ if (!($370)) {
+ _free($135);
+ }
+ $371 = ($$0502|0)==(0|0);
+ if (!($371)) {
+ _free($137);
+ }
+ $372 = ($$0531|0)==(0|0);
+ if ($372) {
+ $$14 = 12;
+ break L1;
+ }
+ _free($52);
+ $$14 = 12;
+ break L1;
+ }
+ else if ((label|0) == 187) {
+ $not$ = $442 ^ 1;
+ $445 = $not$&1;
+ HEAP32[$4>>2] = $$3485;
+ $$1503 = $$0502;$$1532 = $$0531;$$1538 = $$0537;$$6501 = $445;$447 = $135;$449 = $137;$451 = $52;
+ break;
+ }
+ }
+ } while(0);
+ ___tre_mem_destroy($11);
+ $446 = ($$1538|0)==(0|0);
+ if (!($446)) {
+ _free($447);
+ }
+ $448 = ($$1503|0)==(0|0);
+ if (!($448)) {
+ _free($449);
+ }
+ $450 = ($$1532|0)==(0|0);
+ if ($450) {
+ $$14 = $$6501;
+ } else {
+ _free($451);
+ $$14 = $$6501;
+ }
+ }
+ } while(0);
+ STACKTOP = sp;return ($$14|0);
+}
+function _tre_tnfa_run_parallel($0,$1,$2,$3,$4) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ var $$0415 = 0, $$0420592 = 0, $$0421 = 0, $$0422 = 0, $$0423 = 0, $$0426 = 0, $$0427$ph526 = 0, $$0427502 = 0, $$0432 = 0, $$0437 = 0, $$0448591 = 0, $$0456 = 0, $$0457514 = 0, $$0460 = 0, $$0468534 = 0, $$1 = 0, $$10 = 0, $$10447 = 0, $$10447$lobit = 0, $$1424 = 0;
+ var $$1428565 = 0, $$1430 = 0, $$1433$ph$lcssa = 0, $$1433$ph524 = 0, $$1433$ph525$mux = 0, $$1438$ph$lcssa = 0, $$1438$ph522 = 0, $$1438$ph523$mux = 0, $$1449587 = 0, $$1458546 = 0, $$1461$ph$lcssa = 0, $$1461$ph520 = 0, $$1469575 = 0, $$1471 = 0, $$1474 = 0, $$2425 = 0, $$2431$lcssa = 0, $$2431579 = 0, $$2434 = 0, $$2439 = 0;
+ var $$2462 = 0, $$2472 = 0, $$2475 = 0, $$3$lcssa = 0, $$3435 = 0, $$3440 = 0, $$3451517 = 0, $$3463$lcssa = 0, $$3463536 = 0, $$3562 = 0, $$4 = 0, $$4436 = 0, $$4441 = 0, $$4452530 = 0, $$4464 = 0, $$5 = 0, $$5442$lcssa = 0, $$5442577 = 0, $$5453542 = 0, $$5465$lcssa = 0;
+ var $$5465576 = 0, $$6$lcssa = 0, $$6443$lcssa = 0, $$6443556 = 0, $$6454552 = 0, $$6466$lcssa = 0, $$6466555 = 0, $$6578 = 0, $$7$lcssa = 0, $$7444 = 0, $$7455549 = 0, $$7467 = 0, $$7559 = 0, $$8 = 0, $$9446 = 0, $$old = 0, $$old34 = 0, $$old35 = 0, $$old46 = 0, $$old47 = 0;
+ var $$old8 = 0, $$pr = 0, $$pr481 = 0, $$pr484 = 0, $$pr486 = 0, $$pre = 0, $$pre$phi629Z2D = 0, $$pre$phi631Z2D = 0, $$pre621 = 0, $$pre623 = 0, $$pre625 = 0, $$pre626 = 0, $$pre630 = 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, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0;
+ var $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0;
+ var $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0;
+ var $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0;
+ var $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0;
+ var $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0;
+ var $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, $322 = 0, $323 = 0;
+ var $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0;
+ var $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0;
+ var $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0;
+ var $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0;
+ var $397 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0;
+ var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0;
+ var $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0;
+ var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $brmerge = 0, $brmerge596 = 0, $brmerge599 = 0, $brmerge600 = 0, $brmerge604 = 0, $exitcond = 0, $exitcond616 = 0, $exitcond618 = 0, $or$cond$not = 0, $or$cond12 = 0, $or$cond15 = 0, $or$cond18 = 0, $or$cond21 = 0, $or$cond24$not = 0;
+ var $or$cond27 = 0, $or$cond3 = 0, $or$cond33 = 0, $or$cond36 = 0, $or$cond39 = 0, $or$cond42 = 0, $or$cond45 = 0, $or$cond48 = 0, $or$cond598 = 0, $or$cond602 = 0, $or$cond7 = 0, $or$cond9 = 0, $spec$select = 0, $spec$select476 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $5 = sp;
+ HEAP32[$5>>2] = 0;
+ $6 = $3 & 1;
+ $7 = $3 & 2;
+ $8 = ((($0)) + 56|0);
+ $9 = HEAP32[$8>>2]|0;
+ $10 = $9 & 4;
+ $11 = ($2|0)==(0|0);
+ if ($11) {
+ $$0456 = 0;
+ } else {
+ $12 = ((($0)) + 40|0);
+ $13 = HEAP32[$12>>2]|0;
+ $$0456 = $13;
+ }
+ $14 = $$0456 << 2;
+ $15 = ((($0)) + 52|0);
+ $16 = HEAP32[$15>>2]|0;
+ $17 = $16 << 3;
+ $18 = (($17) + 8)|0;
+ $19 = Math_imul($14, $16)|0;
+ $20 = (($18) + ($19))|0;
+ $21 = $20 << 1;
+ $22 = (($14) + 12)|0;
+ $23 = (($22) + ($17))|0;
+ $24 = (($23) + ($21))|0;
+ $25 = (_malloc($24)|0);
+ $26 = ($25|0)==(0|0);
+ if ($26) {
+ $$1 = 12;
+ } else {
+ (_memset(($25|0),0,($24|0))|0);
+ $27 = (($25) + ($14)|0);
+ $28 = $27;
+ $29 = $28 & 3;
+ $30 = ($29|0)==(0);
+ $31 = (4 - ($29))|0;
+ $spec$select = $30 ? 0 : $31;
+ $32 = (($27) + ($spec$select)|0);
+ $33 = (($32) + ($18)|0);
+ $34 = $33;
+ $35 = $34 & 3;
+ $36 = ($35|0)==(0);
+ $37 = (4 - ($35))|0;
+ $38 = $36 ? 0 : $37;
+ $39 = (($33) + ($38)|0);
+ $40 = (($39) + ($18)|0);
+ $41 = $40;
+ $42 = $41 & 3;
+ $43 = ($42|0)==(0);
+ $44 = (4 - ($42))|0;
+ $spec$select476 = $43 ? 0 : $44;
+ $45 = (($40) + ($spec$select476)|0);
+ $46 = (($45) + ($17)|0);
+ $47 = $46;
+ $48 = $47 & 3;
+ $49 = HEAP32[$15>>2]|0;
+ $50 = ($49|0)>(0);
+ if ($50) {
+ $51 = ($48|0)==(0);
+ $52 = (4 - ($48))|0;
+ $53 = $51 ? 0 : $52;
+ $54 = (($46) + ($53)|0);
+ $$0420592 = $54;$$0448591 = 0;
+ while(1) {
+ $55 = (((($39) + ($$0448591<<3)|0)) + 4|0);
+ HEAP32[$55>>2] = $$0420592;
+ $56 = (($$0420592) + ($14)|0);
+ $57 = (((($32) + ($$0448591<<3)|0)) + 4|0);
+ HEAP32[$57>>2] = $56;
+ $58 = (($56) + ($14)|0);
+ $59 = (($$0448591) + 1)|0;
+ $60 = ($59|0)<($49|0);
+ if ($60) {
+ $$0420592 = $58;$$0448591 = $59;
+ } else {
+ break;
+ }
+ }
+ if ($50) {
+ $$1449587 = 0;
+ while(1) {
+ $61 = (($45) + ($$1449587<<3)|0);
+ HEAP32[$61>>2] = -1;
+ $62 = (($$1449587) + 1)|0;
+ $63 = ($62|0)<($49|0);
+ if ($63) {
+ $$1449587 = $62;
+ } else {
+ break;
+ }
+ }
+ }
+ }
+ $64 = (_mbtowc($5,$1,4)|0);
+ $65 = ($64|0)<(1);
+ if ($65) {
+ $66 = ($64|0)<(0);
+ if ($66) {
+ $$0426 = 1;
+ } else {
+ $$0423 = 1;
+ label = 12;
+ }
+ } else {
+ $$0423 = $64;
+ label = 12;
+ }
+ L17: do {
+ if ((label|0) == 12) {
+ $67 = (($1) + ($$0423)|0);
+ $68 = ((($0)) + 8|0);
+ $69 = ($$0456|0)==(0);
+ $70 = ($6|0)==(0);
+ $71 = ($10|0)!=(0);
+ $72 = ($$0456|0)>(0);
+ $73 = ((($0)) + 12|0);
+ $74 = ($$0456|0)<(1);
+ $75 = ((($0)) + 44|0);
+ $76 = ((($0)) + 36|0);
+ $77 = ((($0)) + 32|0);
+ $$0415 = 0;$$0421 = $67;$$0422 = 0;$$0432 = 0;$$0437 = -1;$$0460 = $32;$$1424 = $$0423;$$1430 = $25;$$1471 = $32;$$1474 = $39;
+ while(1) {
+ $78 = ($$0437|0)<(0);
+ if ($78) {
+ $79 = HEAP32[$68>>2]|0;
+ $80 = ((($79)) + 8|0);
+ $81 = HEAP32[$80>>2]|0;
+ $82 = ($81|0)==(0|0);
+ L23: do {
+ if ($82) {
+ $$1433$ph$lcssa = $$0432;$$1438$ph$lcssa = $$0437;$$1461$ph$lcssa = $$0460;
+ } else {
+ $83 = ($$0422|0)<(1);
+ $84 = ($$0415|0)==(10);
+ $or$cond3 = $71 & $84;
+ $85 = ($$0415|0)==(95);
+ $86 = ($$0422|0)!=(0);
+ $87 = ($$0422|0)==(0);
+ $or$cond$not = $83 & $70;
+ $$0427$ph526 = $79;$$1433$ph524 = $$0432;$$1438$ph522 = $$0437;$$1461$ph520 = $$0460;$397 = $80;
+ while(1) {
+ $$0427502 = $$0427$ph526;$154 = $397;
+ L27: while(1) {
+ $88 = ((($$0427502)) + 12|0);
+ $89 = HEAP32[$88>>2]|0;
+ $90 = (($45) + ($89<<3)|0);
+ $91 = HEAP32[$90>>2]|0;
+ $92 = ($91|0)<($$0422|0);
+ if (!($92)) {
+ $$2462 = $$1461$ph520;$$3435 = $$1433$ph524;$$3440 = $$1438$ph522;
+ break;
+ }
+ $93 = ((($$0427502)) + 20|0);
+ $94 = HEAP32[$93>>2]|0;
+ $95 = ($94|0)==(0);
+ if ($95) {
+ label = 47;
+ break;
+ }
+ $96 = $94 & 1;
+ $97 = ($96|0)==(0);
+ $brmerge = $97 | $or$cond$not;
+ $brmerge596 = $brmerge | $or$cond3;
+ L31: do {
+ if ($brmerge596) {
+ $98 = $94 & 2;
+ $99 = ($98|0)==(0);
+ if (!($99)) {
+ $100 = HEAP32[$5>>2]|0;
+ $101 = $100 | $7;
+ $102 = ($101|0)==(0);
+ $103 = ($100|0)==(10);
+ $or$cond7 = $71 & $103;
+ $or$cond598 = $102 | $or$cond7;
+ if (!($or$cond598)) {
+ break;
+ }
+ }
+ $104 = $94 & 16;
+ $105 = ($104|0)==(0);
+ do {
+ if (!($105)) {
+ if ($85) {
+ break L31;
+ }
+ $106 = (_iswalnum($$0415)|0);
+ $107 = ($106|0)==(0);
+ if (!($107)) {
+ break L31;
+ }
+ $108 = HEAP32[$5>>2]|0;
+ $109 = ($108|0)==(95);
+ if ($109) {
+ break;
+ }
+ $110 = (_iswalnum($108)|0);
+ $111 = ($110|0)==(0);
+ if ($111) {
+ break L31;
+ }
+ }
+ } while(0);
+ $112 = HEAP32[$93>>2]|0;
+ $113 = $112 & 32;
+ $114 = ($113|0)==(0);
+ if ($114) {
+ $123 = $112;
+ } else {
+ if ($85) {
+ $$old = HEAP32[$5>>2]|0;
+ $$old8 = ($$old|0)==(95);
+ if ($$old8) {
+ break;
+ } else {
+ $119 = $$old;
+ }
+ } else {
+ $115 = (_iswalnum($$0415)|0);
+ $116 = ($115|0)==(0);
+ $117 = HEAP32[$5>>2]|0;
+ $118 = ($117|0)==(95);
+ $or$cond9 = $116 | $118;
+ if ($or$cond9) {
+ break;
+ } else {
+ $119 = $117;
+ }
+ }
+ $120 = (_iswalnum($119)|0);
+ $121 = ($120|0)==(0);
+ if (!($121)) {
+ break;
+ }
+ $$pre = HEAP32[$93>>2]|0;
+ $123 = $$pre;
+ }
+ $122 = $123 & 64;
+ $124 = ($122|0)!=(0);
+ $or$cond12 = $86 & $124;
+ $125 = HEAP32[$5>>2]|0;
+ $126 = ($125|0)!=(0);
+ $or$cond15 = $126 & $or$cond12;
+ do {
+ if ($or$cond15) {
+ if ($85) {
+ $130 = $125;$134 = 1;
+ } else {
+ $127 = (_iswalnum($$0415)|0);
+ $128 = ($127|0)!=(0);
+ $$pr = HEAP32[$5>>2]|0;
+ $130 = $$pr;$134 = $128;
+ }
+ $129 = ($130|0)==(95);
+ if ($129) {
+ if ($134) {
+ break L31;
+ } else {
+ break;
+ }
+ } else {
+ $131 = (_iswalnum($130)|0);
+ $132 = ($131|0)!=(0);
+ $133 = $134 ^ $132;
+ if ($133) {
+ break;
+ } else {
+ break L31;
+ }
+ }
+ }
+ } while(0);
+ $135 = HEAP32[$93>>2]|0;
+ $136 = $135 & 128;
+ $137 = ($136|0)==(0);
+ if ($137) {
+ label = 47;
+ break L27;
+ }
+ $138 = HEAP32[$5>>2]|0;
+ $139 = ($138|0)==(0);
+ $or$cond18 = $87 | $139;
+ if ($or$cond18) {
+ break;
+ }
+ if ($85) {
+ $143 = $138;$147 = 1;
+ } else {
+ $140 = (_iswalnum($$0415)|0);
+ $141 = ($140|0)!=(0);
+ $$pr481 = HEAP32[$5>>2]|0;
+ $143 = $$pr481;$147 = $141;
+ }
+ $142 = ($143|0)==(95);
+ if ($142) {
+ if ($147) {
+ label = 47;
+ break L27;
+ } else {
+ break;
+ }
+ } else {
+ $144 = (_iswalnum($143)|0);
+ $145 = ($144|0)!=(0);
+ $146 = $147 ^ $145;
+ if ($146) {
+ break;
+ } else {
+ label = 47;
+ break L27;
+ }
+ }
+ }
+ } while(0);
+ $148 = ((($$0427502)) + 32|0);
+ $149 = ((($$0427502)) + 40|0);
+ $150 = HEAP32[$149>>2]|0;
+ $151 = ($150|0)==(0|0);
+ if ($151) {
+ $$1433$ph$lcssa = $$1433$ph524;$$1438$ph$lcssa = $$1438$ph522;$$1461$ph$lcssa = $$1461$ph520;
+ break L23;
+ } else {
+ $$0427502 = $148;$154 = $149;
+ }
+ }
+ if ((label|0) == 47) {
+ label = 0;
+ $152 = ((($$0427502)) + 12|0);
+ $153 = HEAP32[$154>>2]|0;
+ HEAP32[$$1461$ph520>>2] = $153;
+ if ($72) {
+ $155 = ((($$1461$ph520)) + 4|0);
+ $156 = HEAP32[$155>>2]|0;
+ _memset(($156|0),-1,($14|0))|0;
+ }
+ $157 = ((($$0427502)) + 16|0);
+ $158 = HEAP32[$157>>2]|0;
+ $159 = ($158|0)==(0|0);
+ if (!($159)) {
+ $160 = HEAP32[$158>>2]|0;
+ $161 = ($160|0)>(-1);
+ if ($161) {
+ $162 = ((($$1461$ph520)) + 4|0);
+ $$0457514 = $158;$164 = $160;
+ while(1) {
+ $163 = ($164|0)<($$0456|0);
+ if ($163) {
+ $165 = HEAP32[$162>>2]|0;
+ $166 = (($165) + ($164<<2)|0);
+ HEAP32[$166>>2] = $$0422;
+ }
+ $167 = ((($$0457514)) + 4|0);
+ $168 = HEAP32[$167>>2]|0;
+ $169 = ($168|0)>(-1);
+ if ($169) {
+ $$0457514 = $167;$164 = $168;
+ } else {
+ break;
+ }
+ }
+ }
+ }
+ $170 = HEAP32[$$1461$ph520>>2]|0;
+ $171 = HEAP32[$73>>2]|0;
+ $172 = ($170|0)!=($171|0);
+ $brmerge604 = $172 | $74;
+ if ($brmerge604) {
+ $$1433$ph525$mux = $172 ? $$1433$ph524 : 1;
+ $$1438$ph523$mux = $172 ? $$1438$ph522 : $$0422;
+ $$pre630 = ((($$1461$ph520)) + 4|0);
+ $$2434 = $$1433$ph525$mux;$$2439 = $$1438$ph523$mux;$$pre$phi631Z2D = $$pre630;
+ } else {
+ $173 = ((($$1461$ph520)) + 4|0);
+ $174 = HEAP32[$173>>2]|0;
+ $$3451517 = 0;
+ while(1) {
+ $175 = (($174) + ($$3451517<<2)|0);
+ $176 = HEAP32[$175>>2]|0;
+ $177 = (($2) + ($$3451517<<2)|0);
+ HEAP32[$177>>2] = $176;
+ $178 = (($$3451517) + 1)|0;
+ $exitcond = ($178|0)==($$0456|0);
+ if ($exitcond) {
+ $$2434 = 1;$$2439 = $$0422;$$pre$phi631Z2D = $173;
+ break;
+ } else {
+ $$3451517 = $178;
+ }
+ }
+ }
+ $179 = HEAP32[$152>>2]|0;
+ $180 = (($45) + ($179<<3)|0);
+ HEAP32[$180>>2] = $$0422;
+ $181 = (((($45) + ($179<<3)|0)) + 4|0);
+ HEAP32[$181>>2] = $$pre$phi631Z2D;
+ $182 = ((($$1461$ph520)) + 8|0);
+ $$2462 = $182;$$3435 = $$2434;$$3440 = $$2439;
+ }
+ $183 = ((($$0427502)) + 32|0);
+ $184 = ((($$0427502)) + 40|0);
+ $185 = HEAP32[$184>>2]|0;
+ $186 = ($185|0)==(0|0);
+ if ($186) {
+ $$1433$ph$lcssa = $$3435;$$1438$ph$lcssa = $$3440;$$1461$ph$lcssa = $$2462;
+ break;
+ } else {
+ $$0427$ph526 = $183;$$1433$ph524 = $$3435;$$1438$ph522 = $$3440;$$1461$ph520 = $$2462;$397 = $184;
+ }
+ }
+ }
+ } while(0);
+ HEAP32[$$1461$ph$lcssa>>2] = 0;
+ $$old46 = HEAP32[$5>>2]|0;
+ $$old47 = ($$old46|0)==(0);
+ if ($$old47) {
+ $$10447 = $$1438$ph$lcssa;
+ break;
+ } else {
+ $$4436 = $$1433$ph$lcssa;$$4441 = $$1438$ph$lcssa;$237 = $$old46;
+ }
+ } else {
+ if ($69) {
+ $$10447 = $$0437;
+ break;
+ }
+ $187 = ($$0460|0)!=($$1471|0);
+ $188 = HEAP32[$5>>2]|0;
+ $189 = ($188|0)!=(0);
+ $or$cond48 = $187 & $189;
+ if ($or$cond48) {
+ $$4436 = $$0432;$$4441 = $$0437;$237 = $188;
+ } else {
+ $$10447 = $$0437;
+ break;
+ }
+ }
+ $190 = (($$0422) + ($$1424))|0;
+ $191 = (_mbtowc($5,$$0421,4)|0);
+ $192 = ($191|0)<(1);
+ if ($192) {
+ $193 = ($191|0)<(0);
+ if ($193) {
+ $$0426 = 1;
+ break L17;
+ } else {
+ $$2425 = 1;
+ }
+ } else {
+ $$2425 = $191;
+ }
+ $194 = (($$0421) + ($$2425)|0);
+ $195 = HEAP32[$75>>2]|0;
+ $196 = ($195|0)!=(0);
+ $197 = ($$4436|0)!=(0);
+ $or$cond21 = $197 & $196;
+ if ($or$cond21) {
+ $198 = HEAP32[$$1471>>2]|0;
+ $199 = ($198|0)==(0|0);
+ if ($199) {
+ $$3463$lcssa = $$1474;
+ } else {
+ $200 = HEAP32[$76>>2]|0;
+ $201 = HEAP32[$200>>2]|0;
+ $202 = ($201|0)>(-1);
+ $$0468534 = $$1471;$$3463536 = $$1474;
+ while(1) {
+ $203 = ((($$0468534)) + 4|0);
+ L102: do {
+ if ($202) {
+ $$4452530 = 0;$208 = $201;
+ while(1) {
+ $204 = $$4452530 | 1;
+ $205 = (($200) + ($204<<2)|0);
+ $206 = HEAP32[$205>>2]|0;
+ $207 = ($208|0)<($$0456|0);
+ if (!($207)) {
+ $$4464 = $$3463536;
+ break L102;
+ }
+ $209 = HEAP32[$203>>2]|0;
+ $210 = (($209) + ($206<<2)|0);
+ $211 = HEAP32[$210>>2]|0;
+ $212 = (($2) + ($206<<2)|0);
+ $213 = HEAP32[$212>>2]|0;
+ $214 = ($211|0)==($213|0);
+ if ($214) {
+ $215 = (($209) + ($208<<2)|0);
+ $216 = HEAP32[$215>>2]|0;
+ $217 = (($2) + ($208<<2)|0);
+ $218 = HEAP32[$217>>2]|0;
+ $219 = ($216|0)<($218|0);
+ if ($219) {
+ $$4464 = $$3463536;
+ break L102;
+ }
+ }
+ $220 = (($$4452530) + 2)|0;
+ $221 = (($200) + ($220<<2)|0);
+ $222 = HEAP32[$221>>2]|0;
+ $223 = ($222|0)>(-1);
+ if ($223) {
+ $$4452530 = $220;$208 = $222;
+ } else {
+ break;
+ }
+ }
+ $224 = $209;
+ $$pre$phi629Z2D = $203;$228 = $224;
+ label = 77;
+ } else {
+ $$pre621 = HEAP32[$203>>2]|0;
+ $$pre$phi629Z2D = $203;$228 = $$pre621;
+ label = 77;
+ }
+ } while(0);
+ if ((label|0) == 77) {
+ label = 0;
+ $225 = HEAP32[$$0468534>>2]|0;
+ HEAP32[$$3463536>>2] = $225;
+ $226 = ((($$3463536)) + 4|0);
+ $227 = HEAP32[$226>>2]|0;
+ HEAP32[$226>>2] = $228;
+ HEAP32[$$pre$phi629Z2D>>2] = $227;
+ $229 = ((($$3463536)) + 8|0);
+ $$4464 = $229;
+ }
+ $230 = ((($$0468534)) + 8|0);
+ $231 = HEAP32[$230>>2]|0;
+ $232 = ($231|0)==(0|0);
+ if ($232) {
+ $$3463$lcssa = $$4464;
+ break;
+ } else {
+ $$0468534 = $230;$$3463536 = $$4464;
+ }
+ }
+ }
+ HEAP32[$$3463$lcssa>>2] = 0;
+ $$2472 = $$1471;$$2475 = $$1474;$$5 = 0;
+ } else {
+ $$2472 = $$1474;$$2475 = $$1471;$$5 = $$4436;
+ }
+ $233 = HEAP32[$$2475>>2]|0;
+ $234 = ($233|0)==(0|0);
+ if ($234) {
+ $$2431$lcssa = $$1430;$$5442$lcssa = $$4441;$$5465$lcssa = $$2472;$$6$lcssa = $$5;
+ } else {
+ $235 = ($190|0)<(1);
+ $236 = ($237|0)==(10);
+ $or$cond27 = $71 & $236;
+ $238 = ($237|0)==(95);
+ $239 = ($190|0)!=(0);
+ $240 = ($190|0)==(0);
+ $or$cond24$not = $235 & $70;
+ $$1469575 = $$2475;$$2431579 = $$1430;$$5442577 = $$4441;$$5465576 = $$2472;$$6578 = $$5;$242 = $233;
+ while(1) {
+ $241 = ((($242)) + 8|0);
+ $243 = HEAP32[$241>>2]|0;
+ $244 = ($243|0)==(0|0);
+ if ($244) {
+ $$3$lcssa = $$2431579;$$6443$lcssa = $$5442577;$$6466$lcssa = $$5465576;$$7$lcssa = $$6578;
+ } else {
+ $245 = ((($$1469575)) + 4|0);
+ $$1428565 = $242;$$3562 = $$2431579;$$6443556 = $$5442577;$$6466555 = $$5465576;$$7559 = $$6578;$360 = $241;
+ while(1) {
+ $246 = HEAP32[$$1428565>>2]|0;
+ $247 = ($246>>>0)>($237>>>0);
+ L125: do {
+ if ($247) {
+ $$10 = $$7559;$$4 = $$3562;$$7467 = $$6466555;$$9446 = $$6443556;
+ } else {
+ $248 = ((($$1428565)) + 4|0);
+ $249 = HEAP32[$248>>2]|0;
+ $250 = ($249>>>0)<($237>>>0);
+ if ($250) {
+ $$10 = $$7559;$$4 = $$3562;$$7467 = $$6466555;$$9446 = $$6443556;
+ } else {
+ $251 = ((($$1428565)) + 20|0);
+ $252 = HEAP32[$251>>2]|0;
+ $253 = ($252|0)==(0);
+ do {
+ if (!($253)) {
+ $254 = $252 & 1;
+ $255 = ($254|0)==(0);
+ $brmerge599 = $255 | $or$cond24$not;
+ $brmerge600 = $brmerge599 | $or$cond27;
+ if (!($brmerge600)) {
+ $$10 = $$7559;$$4 = $$3562;$$7467 = $$6466555;$$9446 = $$6443556;
+ break L125;
+ }
+ $256 = $252 & 2;
+ $257 = ($256|0)==(0);
+ if (!($257)) {
+ $258 = HEAP32[$5>>2]|0;
+ $259 = $258 | $7;
+ $260 = ($259|0)==(0);
+ $261 = ($258|0)==(10);
+ $or$cond33 = $71 & $261;
+ $or$cond602 = $260 | $or$cond33;
+ if (!($or$cond602)) {
+ $$10 = $$7559;$$4 = $$3562;$$7467 = $$6466555;$$9446 = $$6443556;
+ break L125;
+ }
+ }
+ $262 = $252 & 16;
+ $263 = ($262|0)==(0);
+ do {
+ if (!($263)) {
+ if ($238) {
+ $$10 = $$7559;$$4 = $$3562;$$7467 = $$6466555;$$9446 = $$6443556;
+ break L125;
+ }
+ $264 = (_iswalnum($237)|0);
+ $265 = ($264|0)==(0);
+ if (!($265)) {
+ $$10 = $$7559;$$4 = $$3562;$$7467 = $$6466555;$$9446 = $$6443556;
+ break L125;
+ }
+ $266 = HEAP32[$5>>2]|0;
+ $267 = ($266|0)==(95);
+ if ($267) {
+ break;
+ }
+ $268 = (_iswalnum($266)|0);
+ $269 = ($268|0)==(0);
+ if ($269) {
+ $$10 = $$7559;$$4 = $$3562;$$7467 = $$6466555;$$9446 = $$6443556;
+ break L125;
+ }
+ }
+ } while(0);
+ $270 = HEAP32[$251>>2]|0;
+ $271 = $270 & 32;
+ $272 = ($271|0)==(0);
+ if ($272) {
+ $281 = $270;
+ } else {
+ if ($238) {
+ $$old34 = HEAP32[$5>>2]|0;
+ $$old35 = ($$old34|0)==(95);
+ if ($$old35) {
+ $$10 = $$7559;$$4 = $$3562;$$7467 = $$6466555;$$9446 = $$6443556;
+ break L125;
+ } else {
+ $277 = $$old34;
+ }
+ } else {
+ $273 = (_iswalnum($237)|0);
+ $274 = ($273|0)==(0);
+ $275 = HEAP32[$5>>2]|0;
+ $276 = ($275|0)==(95);
+ $or$cond36 = $274 | $276;
+ if ($or$cond36) {
+ $$10 = $$7559;$$4 = $$3562;$$7467 = $$6466555;$$9446 = $$6443556;
+ break L125;
+ } else {
+ $277 = $275;
+ }
+ }
+ $278 = (_iswalnum($277)|0);
+ $279 = ($278|0)==(0);
+ if (!($279)) {
+ $$10 = $$7559;$$4 = $$3562;$$7467 = $$6466555;$$9446 = $$6443556;
+ break L125;
+ }
+ $$pre623 = HEAP32[$251>>2]|0;
+ $281 = $$pre623;
+ }
+ $280 = $281 & 64;
+ $282 = ($280|0)!=(0);
+ $or$cond39 = $239 & $282;
+ $283 = HEAP32[$5>>2]|0;
+ $284 = ($283|0)!=(0);
+ $or$cond42 = $284 & $or$cond39;
+ do {
+ if ($or$cond42) {
+ if ($238) {
+ $288 = $283;$292 = 1;
+ } else {
+ $285 = (_iswalnum($237)|0);
+ $286 = ($285|0)!=(0);
+ $$pr484 = HEAP32[$5>>2]|0;
+ $288 = $$pr484;$292 = $286;
+ }
+ $287 = ($288|0)==(95);
+ if ($287) {
+ if ($292) {
+ $$10 = $$7559;$$4 = $$3562;$$7467 = $$6466555;$$9446 = $$6443556;
+ break L125;
+ } else {
+ break;
+ }
+ } else {
+ $289 = (_iswalnum($288)|0);
+ $290 = ($289|0)!=(0);
+ $291 = $292 ^ $290;
+ if ($291) {
+ break;
+ } else {
+ $$10 = $$7559;$$4 = $$3562;$$7467 = $$6466555;$$9446 = $$6443556;
+ break L125;
+ }
+ }
+ }
+ } while(0);
+ $293 = HEAP32[$251>>2]|0;
+ $294 = $293 & 128;
+ $295 = ($294|0)==(0);
+ do {
+ if (!($295)) {
+ $296 = HEAP32[$5>>2]|0;
+ $297 = ($296|0)==(0);
+ $or$cond45 = $240 | $297;
+ if ($or$cond45) {
+ $$10 = $$7559;$$4 = $$3562;$$7467 = $$6466555;$$9446 = $$6443556;
+ break L125;
+ }
+ if ($238) {
+ $301 = $296;$305 = 1;
+ } else {
+ $298 = (_iswalnum($237)|0);
+ $299 = ($298|0)!=(0);
+ $$pr486 = HEAP32[$5>>2]|0;
+ $301 = $$pr486;$305 = $299;
+ }
+ $300 = ($301|0)==(95);
+ if ($300) {
+ if ($305) {
+ break;
+ } else {
+ $$10 = $$7559;$$4 = $$3562;$$7467 = $$6466555;$$9446 = $$6443556;
+ break L125;
+ }
+ } else {
+ $302 = (_iswalnum($301)|0);
+ $303 = ($302|0)!=(0);
+ $304 = $305 ^ $303;
+ if ($304) {
+ $$10 = $$7559;$$4 = $$3562;$$7467 = $$6466555;$$9446 = $$6443556;
+ break L125;
+ } else {
+ break;
+ }
+ }
+ }
+ } while(0);
+ $306 = HEAP32[$251>>2]|0;
+ $307 = $306 & 4;
+ $308 = ($307|0)==(0);
+ do {
+ if (!($308)) {
+ $309 = HEAP32[$8>>2]|0;
+ $310 = $309 & 2;
+ $311 = ($310|0)==(0);
+ if ($311) {
+ $312 = ((($$1428565)) + 24|0);
+ $313 = HEAP32[$312>>2]|0;
+ $314 = (_iswctype($237,$313)|0);
+ $315 = ($314|0)==(0);
+ if ($315) {
+ $$10 = $$7559;$$4 = $$3562;$$7467 = $$6466555;$$9446 = $$6443556;
+ break L125;
+ }
+ $$pre625 = HEAP32[$251>>2]|0;
+ $$pre626 = $$pre625 & 4;
+ $316 = ($$pre626|0)==(0);
+ if ($316) {
+ break;
+ }
+ }
+ $317 = HEAP32[$8>>2]|0;
+ $318 = $317 & 2;
+ $319 = ($318|0)==(0);
+ if ($319) {
+ break;
+ }
+ $320 = (_towlower($237)|0);
+ $321 = ((($$1428565)) + 24|0);
+ $322 = HEAP32[$321>>2]|0;
+ $323 = (_iswctype($320,$322)|0);
+ $324 = ($323|0)==(0);
+ if (!($324)) {
+ break;
+ }
+ $325 = (_towupper($237)|0);
+ $326 = HEAP32[$321>>2]|0;
+ $327 = (_iswctype($325,$326)|0);
+ $328 = ($327|0)==(0);
+ if ($328) {
+ $$10 = $$7559;$$4 = $$3562;$$7467 = $$6466555;$$9446 = $$6443556;
+ break L125;
+ }
+ }
+ } while(0);
+ $329 = HEAP32[$251>>2]|0;
+ $330 = $329 & 8;
+ $331 = ($330|0)==(0);
+ if ($331) {
+ break;
+ }
+ $332 = ((($$1428565)) + 28|0);
+ $333 = HEAP32[$332>>2]|0;
+ $334 = HEAP32[$8>>2]|0;
+ $335 = $334 & 2;
+ $336 = (_tre_neg_char_classes_match($333,$237,$335)|0);
+ $337 = ($336|0)==(0);
+ if (!($337)) {
+ $$10 = $$7559;$$4 = $$3562;$$7467 = $$6466555;$$9446 = $$6443556;
+ break L125;
+ }
+ }
+ } while(0);
+ if ($72) {
+ $338 = HEAP32[$245>>2]|0;
+ $$5453542 = 0;
+ while(1) {
+ $339 = (($338) + ($$5453542<<2)|0);
+ $340 = HEAP32[$339>>2]|0;
+ $341 = (($$3562) + ($$5453542<<2)|0);
+ HEAP32[$341>>2] = $340;
+ $342 = (($$5453542) + 1)|0;
+ $exitcond616 = ($342|0)==($$0456|0);
+ if ($exitcond616) {
+ break;
+ } else {
+ $$5453542 = $342;
+ }
+ }
+ }
+ $343 = ((($$1428565)) + 16|0);
+ $344 = HEAP32[$343>>2]|0;
+ $345 = ($344|0)==(0|0);
+ do {
+ if (!($345)) {
+ $346 = HEAP32[$344>>2]|0;
+ $347 = ($346|0)>(-1);
+ if (!($347)) {
+ break;
+ }
+ $$1458546 = $344;$349 = $346;
+ while(1) {
+ $348 = ($349|0)<($$0456|0);
+ if ($348) {
+ $350 = (($$3562) + ($349<<2)|0);
+ HEAP32[$350>>2] = $190;
+ }
+ $351 = ((($$1458546)) + 4|0);
+ $352 = HEAP32[$351>>2]|0;
+ $353 = ($352|0)>(-1);
+ if ($353) {
+ $$1458546 = $351;$349 = $352;
+ } else {
+ break;
+ }
+ }
+ }
+ } while(0);
+ $354 = ((($$1428565)) + 12|0);
+ $355 = HEAP32[$354>>2]|0;
+ $356 = (($45) + ($355<<3)|0);
+ $357 = HEAP32[$356>>2]|0;
+ $358 = ($357|0)<($190|0);
+ if (!($358)) {
+ $377 = HEAP32[$77>>2]|0;
+ $378 = (((($45) + ($355<<3)|0)) + 4|0);
+ $379 = HEAP32[$378>>2]|0;
+ $380 = HEAP32[$379>>2]|0;
+ $381 = (_tre_tag_order($$0456,$377,$$3562,$380)|0);
+ $382 = ($381|0)==(0);
+ if ($382) {
+ $$10 = $$7559;$$4 = $$3562;$$7467 = $$6466555;$$9446 = $$6443556;
+ break;
+ }
+ HEAP32[$379>>2] = $$3562;
+ $383 = HEAP32[$360>>2]|0;
+ $384 = HEAP32[$73>>2]|0;
+ $385 = ($383|0)==($384|0);
+ if (!($385)) {
+ $$10 = $$7559;$$4 = $380;$$7467 = $$6466555;$$9446 = $$6443556;
+ break;
+ }
+ if (!($72)) {
+ $$10 = 1;$$4 = $380;$$7467 = $$6466555;$$9446 = $190;
+ break;
+ }
+ $$7455549 = 0;
+ while(1) {
+ $386 = (($$3562) + ($$7455549<<2)|0);
+ $387 = HEAP32[$386>>2]|0;
+ $388 = (($2) + ($$7455549<<2)|0);
+ HEAP32[$388>>2] = $387;
+ $389 = (($$7455549) + 1)|0;
+ $exitcond618 = ($389|0)==($$0456|0);
+ if ($exitcond618) {
+ $$10 = 1;$$4 = $380;$$7467 = $$6466555;$$9446 = $190;
+ break L125;
+ } else {
+ $$7455549 = $389;
+ }
+ }
+ }
+ $359 = HEAP32[$360>>2]|0;
+ HEAP32[$$6466555>>2] = $359;
+ $361 = ((($$6466555)) + 4|0);
+ $362 = HEAP32[$361>>2]|0;
+ HEAP32[$361>>2] = $$3562;
+ HEAP32[$356>>2] = $190;
+ $363 = (((($45) + ($355<<3)|0)) + 4|0);
+ HEAP32[$363>>2] = $361;
+ $364 = $359;
+ $365 = HEAP32[$73>>2]|0;
+ $366 = ($365|0)==($364|0);
+ do {
+ if ($366) {
+ $367 = ($$6443556|0)==(-1);
+ if ($367) {
+ if (!($72)) {
+ $$7444 = $190;$$8 = 1;
+ break;
+ }
+ } else {
+ if (!($72)) {
+ $$7444 = $$6443556;$$8 = $$7559;
+ break;
+ }
+ $368 = HEAP32[$$3562>>2]|0;
+ $369 = HEAP32[$2>>2]|0;
+ $370 = ($368|0)>($369|0);
+ if ($370) {
+ $$7444 = $$6443556;$$8 = $$7559;
+ break;
+ }
+ }
+ $$6454552 = 0;
+ while(1) {
+ $371 = (($$3562) + ($$6454552<<2)|0);
+ $372 = HEAP32[$371>>2]|0;
+ $373 = (($2) + ($$6454552<<2)|0);
+ HEAP32[$373>>2] = $372;
+ $374 = (($$6454552) + 1)|0;
+ $375 = ($374|0)<($$0456|0);
+ if ($375) {
+ $$6454552 = $374;
+ } else {
+ $$7444 = $190;$$8 = 1;
+ break;
+ }
+ }
+ } else {
+ $$7444 = $$6443556;$$8 = $$7559;
+ }
+ } while(0);
+ $376 = ((($$6466555)) + 8|0);
+ $$10 = $$8;$$4 = $362;$$7467 = $376;$$9446 = $$7444;
+ }
+ }
+ } while(0);
+ $390 = ((($$1428565)) + 32|0);
+ $391 = ((($$1428565)) + 40|0);
+ $392 = HEAP32[$391>>2]|0;
+ $393 = ($392|0)==(0|0);
+ if ($393) {
+ $$3$lcssa = $$4;$$6443$lcssa = $$9446;$$6466$lcssa = $$7467;$$7$lcssa = $$10;
+ break;
+ } else {
+ $$1428565 = $390;$$3562 = $$4;$$6443556 = $$9446;$$6466555 = $$7467;$$7559 = $$10;$360 = $391;
+ }
+ }
+ }
+ $394 = ((($$1469575)) + 8|0);
+ $395 = HEAP32[$394>>2]|0;
+ $396 = ($395|0)==(0|0);
+ if ($396) {
+ $$2431$lcssa = $$3$lcssa;$$5442$lcssa = $$6443$lcssa;$$5465$lcssa = $$6466$lcssa;$$6$lcssa = $$7$lcssa;
+ break;
+ } else {
+ $$1469575 = $394;$$2431579 = $$3$lcssa;$$5442577 = $$6443$lcssa;$$5465576 = $$6466$lcssa;$$6578 = $$7$lcssa;$242 = $395;
+ }
+ }
+ }
+ HEAP32[$$5465$lcssa>>2] = 0;
+ $$0415 = $237;$$0421 = $194;$$0422 = $190;$$0432 = $$6$lcssa;$$0437 = $$5442$lcssa;$$0460 = $$5465$lcssa;$$1424 = $$2425;$$1430 = $$2431$lcssa;$$1471 = $$2472;$$1474 = $$2475;
+ }
+ HEAP32[$4>>2] = $$10447;
+ $$10447$lobit = $$10447 >>> 31;
+ $$0426 = $$10447$lobit;
+ }
+ } while(0);
+ _free($25);
+ $$1 = $$0426;
+ }
+ STACKTOP = sp;return ($$1|0);
+}
+function _tre_fill_pmatch($0,$1,$2,$3,$4,$5) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ $5 = $5|0;
+ var $$07984 = 0, $$091 = 0, $$188 = 0, $$2 = 0, $$pre = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0;
+ var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 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, $7 = 0;
+ var $8 = 0, $9 = 0, $or$cond = 0, $or$cond81 = 0, $or$cond8190 = 0, $or$cond82 = 0, $or$cond99 = 0, $scevgep = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $6 = ($5|0)>(-1);
+ $7 = $2 & 8;
+ $8 = ($7|0)==(0);
+ $or$cond = $8 & $6;
+ if ($or$cond) {
+ $9 = ((($3)) + 16|0);
+ $10 = HEAP32[$9>>2]|0;
+ $11 = ((($3)) + 28|0);
+ $12 = HEAP32[$11>>2]|0;
+ $13 = ($12|0)!=(0);
+ $14 = ($0|0)!=(0);
+ $or$cond8190 = $14 & $13;
+ if ($or$cond8190) {
+ $15 = ((($3)) + 48|0);
+ $16 = HEAP32[$15>>2]|0;
+ $$091 = 0;
+ while(1) {
+ $17 = (($10) + (($$091*12)|0)|0);
+ $18 = HEAP32[$17>>2]|0;
+ $19 = ($18|0)==($16|0);
+ if ($19) {
+ $23 = $5;
+ } else {
+ $20 = (($4) + ($18<<2)|0);
+ $21 = HEAP32[$20>>2]|0;
+ $23 = $21;
+ }
+ $22 = (($1) + ($$091<<3)|0);
+ HEAP32[$22>>2] = $23;
+ $24 = (((($10) + (($$091*12)|0)|0)) + 4|0);
+ $25 = HEAP32[$24>>2]|0;
+ $26 = ($25|0)==($16|0);
+ if ($26) {
+ $30 = $5;
+ } else {
+ $27 = (($4) + ($25<<2)|0);
+ $28 = HEAP32[$27>>2]|0;
+ $30 = $28;
+ }
+ $29 = (((($1) + ($$091<<3)|0)) + 4|0);
+ HEAP32[$29>>2] = $30;
+ $31 = ($23|0)==(-1);
+ $32 = ($30|0)==(-1);
+ $or$cond99 = $31 | $32;
+ if ($or$cond99) {
+ HEAP32[$29>>2] = -1;
+ HEAP32[$22>>2] = -1;
+ }
+ $33 = (($$091) + 1)|0;
+ $34 = ($33>>>0)<($12>>>0);
+ $35 = ($33>>>0)<($0>>>0);
+ $or$cond81 = $35 & $34;
+ if ($or$cond81) {
+ $$091 = $33;
+ } else {
+ break;
+ }
+ }
+ if ($or$cond8190) {
+ $$188 = 0;
+ while(1) {
+ $36 = (((($1) + ($$188<<3)|0)) + 4|0);
+ $37 = (((($10) + (($$188*12)|0)|0)) + 8|0);
+ $38 = HEAP32[$37>>2]|0;
+ $39 = ($38|0)==(0|0);
+ if (!($39)) {
+ $40 = HEAP32[$38>>2]|0;
+ $41 = ($40|0)>(-1);
+ if ($41) {
+ $42 = (($1) + ($$188<<3)|0);
+ $$pre = HEAP32[$42>>2]|0;
+ $$07984 = 0;$44 = $40;$47 = $$pre;
+ while(1) {
+ $43 = (($1) + ($44<<3)|0);
+ $45 = HEAP32[$43>>2]|0;
+ $46 = ($47|0)<($45|0);
+ if ($46) {
+ label = 18;
+ } else {
+ $48 = HEAP32[$36>>2]|0;
+ $49 = (((($1) + ($44<<3)|0)) + 4|0);
+ $50 = HEAP32[$49>>2]|0;
+ $51 = ($48|0)>($50|0);
+ if ($51) {
+ label = 18;
+ } else {
+ $62 = $47;
+ }
+ }
+ if ((label|0) == 18) {
+ label = 0;
+ HEAP32[$36>>2] = -1;
+ HEAP32[$42>>2] = -1;
+ $62 = -1;
+ }
+ $52 = (($$07984) + 1)|0;
+ $53 = (($38) + ($52<<2)|0);
+ $54 = HEAP32[$53>>2]|0;
+ $55 = ($54|0)>(-1);
+ if ($55) {
+ $$07984 = $52;$44 = $54;$47 = $62;
+ } else {
+ break;
+ }
+ }
+ }
+ }
+ $56 = (($$188) + 1)|0;
+ $57 = ($56>>>0)<($12>>>0);
+ $58 = ($56>>>0)<($0>>>0);
+ $or$cond82 = $57 & $58;
+ if ($or$cond82) {
+ $$188 = $56;
+ } else {
+ $$2 = $56;
+ break;
+ }
+ }
+ } else {
+ $$2 = 0;
+ }
+ } else {
+ $$2 = 0;
+ }
+ } else {
+ $$2 = 0;
+ }
+ $59 = ($$2>>>0)<($0>>>0);
+ if ($59) {
+ $scevgep = (($1) + ($$2<<3)|0);
+ $60 = (($0) - ($$2))|0;
+ $61 = $60 << 3;
+ _memset(($scevgep|0),-1,($61|0))|0;
+ }
+ return;
+}
+function _tre_neg_char_classes_match($0,$1,$2) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ var $$0 = 0, $$01011 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0;
+ var sp = 0;
+ sp = STACKTOP;
+ $3 = HEAP32[$0>>2]|0;
+ $4 = ($3|0)==(0);
+ L1: do {
+ if ($4) {
+ $$0 = 0;
+ } else {
+ $5 = ($2|0)==(0);
+ $$01011 = $0;$6 = $3;
+ while(1) {
+ if ($5) {
+ $7 = (_iswctype($1,$6)|0);
+ $8 = ($7|0)==(0);
+ if (!($8)) {
+ $$0 = 1;
+ break L1;
+ }
+ } else {
+ $9 = (_towupper($1)|0);
+ $10 = HEAP32[$$01011>>2]|0;
+ $11 = (_iswctype($9,$10)|0);
+ $12 = ($11|0)==(0);
+ if (!($12)) {
+ $$0 = 1;
+ break L1;
+ }
+ $13 = (_towlower($1)|0);
+ $14 = HEAP32[$$01011>>2]|0;
+ $15 = (_iswctype($13,$14)|0);
+ $16 = ($15|0)==(0);
+ if (!($16)) {
+ $$0 = 1;
+ break L1;
+ }
+ }
+ $17 = ((($$01011)) + 4|0);
+ $18 = HEAP32[$17>>2]|0;
+ $19 = ($18|0)==(0);
+ if ($19) {
+ $$0 = 0;
+ break;
+ } else {
+ $$01011 = $17;$6 = $18;
+ }
+ }
+ }
+ } while(0);
+ return ($$0|0);
+}
+function _tre_tag_order($0,$1,$2,$3) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ var $$018 = 0, $$019 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $4 = ($0|0)>(0);
+ L1: do {
+ if ($4) {
+ $$019 = 0;
+ while(1) {
+ $5 = (($1) + ($$019<<2)|0);
+ $6 = HEAP32[$5>>2]|0;
+ $7 = ($6|0)==(0);
+ $8 = (($2) + ($$019<<2)|0);
+ $9 = HEAP32[$8>>2]|0;
+ $10 = (($3) + ($$019<<2)|0);
+ $11 = HEAP32[$10>>2]|0;
+ if ($7) {
+ $12 = ($9|0)<($11|0);
+ if ($12) {
+ $$018 = 1;
+ break L1;
+ }
+ $13 = ($9|0)>($11|0);
+ if ($13) {
+ $$018 = 0;
+ break L1;
+ }
+ } else {
+ $14 = ($9|0)>($11|0);
+ if ($14) {
+ $$018 = 1;
+ break L1;
+ }
+ $15 = ($9|0)<($11|0);
+ if ($15) {
+ $$018 = 0;
+ break L1;
+ }
+ }
+ $16 = (($$019) + 1)|0;
+ $17 = ($16|0)<($0|0);
+ if ($17) {
+ $$019 = $16;
+ } else {
+ $$018 = 0;
+ break;
+ }
+ }
+ } else {
+ $$018 = 0;
+ }
+ } while(0);
+ return ($$018|0);
+}
+function _isxdigit($0) {
+ $0 = $0|0;
+ var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $narrow = 0, $spec$select = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = (_isdigit($0)|0);
+ $2 = ($1|0)!=(0);
+ $3 = $0 | 32;
+ $4 = (($3) + -97)|0;
+ $5 = ($4>>>0)<(6);
+ $narrow = $5 | $2;
+ $spec$select = $narrow&1;
+ return ($spec$select|0);
+}
+function _toupper($0) {
+ $0 = $0|0;
+ var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = (_islower($0)|0);
+ $2 = ($1|0)==(0);
+ $3 = $0 & 95;
+ $$0 = $2 ? $0 : $3;
+ return ($$0|0);
+}
+function _islower($0) {
+ $0 = $0|0;
+ var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = (($0) + -97)|0;
+ $2 = ($1>>>0)<(26);
+ $3 = $2&1;
+ return ($3|0);
+}
+function _isupper($0) {
+ $0 = $0|0;
+ var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = (($0) + -65)|0;
+ $2 = ($1>>>0)<(26);
+ $3 = $2&1;
+ return ($3|0);
+}
+function _tolower($0) {
+ $0 = $0|0;
+ var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = (_isupper($0)|0);
+ $2 = ($1|0)==(0);
+ $3 = $0 | 32;
+ $$0 = $2 ? $0 : $3;
+ return ($$0|0);
+}
+function ___munmap($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $2 = 0, $3 = 0, $4 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $vararg_buffer = sp;
+ $2 = $0;
+ HEAP32[$vararg_buffer>>2] = $2;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = $1;
+ $3 = (___syscall91(91,($vararg_buffer|0))|0);
+ $4 = (___syscall_ret($3)|0);
+ STACKTOP = sp;return ($4|0);
+}
+function _dummy_735() {
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ return;
+}
+function _strcasecmp($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $$0$lcssa = 0, $$01718 = 0, $$019 = 0, $$pre$pre = 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;
+ var $25 = 0, $26 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $2 = HEAP8[$0>>0]|0;
+ $3 = ($2<<24>>24)==(0);
+ L1: do {
+ if ($3) {
+ $$0$lcssa = $1;$21 = 0;
+ } else {
+ $4 = $2&255;
+ $$01718 = $0;$$019 = $1;$8 = $2;$9 = $4;
+ while(1) {
+ $5 = HEAP8[$$019>>0]|0;
+ $6 = ($5<<24>>24)==(0);
+ if ($6) {
+ $$0$lcssa = $$019;$21 = $8;
+ break L1;
+ }
+ $7 = ($8<<24>>24)==($5<<24>>24);
+ if (!($7)) {
+ $10 = (_tolower($9)|0);
+ $11 = HEAP8[$$019>>0]|0;
+ $12 = $11&255;
+ $13 = (_tolower($12)|0);
+ $14 = ($10|0)==($13|0);
+ if (!($14)) {
+ break;
+ }
+ }
+ $15 = ((($$01718)) + 1|0);
+ $16 = ((($$019)) + 1|0);
+ $17 = HEAP8[$15>>0]|0;
+ $18 = $17&255;
+ $19 = ($17<<24>>24)==(0);
+ if ($19) {
+ $$0$lcssa = $16;$21 = 0;
+ break L1;
+ } else {
+ $$01718 = $15;$$019 = $16;$8 = $17;$9 = $18;
+ }
+ }
+ $$pre$pre = HEAP8[$$01718>>0]|0;
+ $$0$lcssa = $$019;$21 = $$pre$pre;
+ }
+ } while(0);
+ $20 = $21&255;
+ $22 = (_tolower($20)|0);
+ $23 = HEAP8[$$0$lcssa>>0]|0;
+ $24 = $23&255;
+ $25 = (_tolower($24)|0);
+ $26 = (($22) - ($25))|0;
+ return ($26|0);
+}
+function _srandom($0) {
+ $0 = $0|0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ ___lock((73288|0));
+ ___srandom($0);
+ ___unlock((73288|0));
+ return;
+}
+function ___srandom($0) {
+ $0 = $0|0;
+ var $$01011 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = (31)==(0);
+ if ($1) {
+ HEAP32[(37332)>>2] = $0;
+ } else {
+ $2 = (31)==(31);
+ $3 = (31)==(7);
+ $4 = $2 | $3;
+ $5 = $4 ? 3 : 1;
+ HEAP32[10262] = $5;
+ HEAP32[18324] = 0;
+ $6 = (31)>(0);
+ if ($6) {
+ $$01011 = 0;$7 = $0;$8 = 0;
+ while(1) {
+ $9 = (_lcg64($7,$8)|0);
+ $10 = tempRet0;
+ $11 = ((37332) + ($$01011<<2)|0);
+ HEAP32[$11>>2] = $10;
+ $12 = (($$01011) + 1)|0;
+ $exitcond = ($12|0)==(31);
+ if ($exitcond) {
+ $14 = (37332);
+ break;
+ } else {
+ $$01011 = $12;$7 = $9;$8 = $10;
+ }
+ }
+ } else {
+ $14 = (37332);
+ }
+ $13 = HEAP32[$14>>2]|0;
+ $15 = $13 | 1;
+ HEAP32[$14>>2] = $15;
+ }
+ return;
+}
+function _lcg64($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $2 = (___muldi3(($0|0),($1|0),1284865837,1481765933)|0);
+ $3 = tempRet0;
+ $4 = (_i64Add(($2|0),($3|0),1,0)|0);
+ $5 = tempRet0;
+ tempRet0 = ($5);
+ return ($4|0);
+}
+function _random() {
+ var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $spec$store$select = 0, $spec$store$select1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ ___lock((73288|0));
+ $0 = (31)==(0);
+ if ($0) {
+ $1 = HEAP32[(37332)>>2]|0;
+ $2 = (_lcg31($1)|0);
+ HEAP32[(37332)>>2] = $2;
+ $$0 = $2;
+ } else {
+ $3 = HEAP32[18324]|0;
+ $4 = ((37332) + ($3<<2)|0);
+ $5 = HEAP32[$4>>2]|0;
+ $6 = HEAP32[10262]|0;
+ $7 = ((37332) + ($6<<2)|0);
+ $8 = HEAP32[$7>>2]|0;
+ $9 = (($8) + ($5))|0;
+ HEAP32[$7>>2] = $9;
+ $10 = $9 >>> 1;
+ $11 = (($6) + 1)|0;
+ $12 = ($11|0)==(31);
+ $spec$store$select = $12 ? 0 : $11;
+ HEAP32[10262] = $spec$store$select;
+ $13 = (($3) + 1)|0;
+ $14 = ($13|0)==(31);
+ $spec$store$select1 = $14 ? 0 : $13;
+ HEAP32[18324] = $spec$store$select1;
+ $$0 = $10;
+ }
+ ___unlock((73288|0));
+ return ($$0|0);
+}
+function _lcg31($0) {
+ $0 = $0|0;
+ var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = Math_imul($0, 1103515245)|0;
+ $2 = (($1) + 12345)|0;
+ $3 = $2 & 2147483647;
+ return ($3|0);
+}
+function ___mmap($0,$1,$2,$3,$4,$5) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ $5 = $5|0;
+ var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0;
+ var $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
+ $vararg_buffer = sp;
+ $6 = ($5|0)<(0);
+ $7 = $6 << 31 >> 31;
+ $8 = $5 & 4095;
+ $9 = $7 & -4096;
+ $10 = ($8|0)==(0);
+ $11 = ($9|0)==(0);
+ $12 = $10 & $11;
+ do {
+ if ($12) {
+ $14 = ($1>>>0)>(2147483646);
+ if ($14) {
+ $15 = (___errno_location()|0);
+ HEAP32[$15>>2] = 12;
+ $$0 = (-1);
+ break;
+ }
+ $16 = $3 & 16;
+ $17 = ($16|0)==(0);
+ if (!($17)) {
+ }
+ $18 = $0;
+ $19 = $5 >> 12;
+ HEAP32[$vararg_buffer>>2] = $18;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = $1;
+ $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
+ HEAP32[$vararg_ptr2>>2] = $2;
+ $vararg_ptr3 = ((($vararg_buffer)) + 12|0);
+ HEAP32[$vararg_ptr3>>2] = $3;
+ $vararg_ptr4 = ((($vararg_buffer)) + 16|0);
+ HEAP32[$vararg_ptr4>>2] = $4;
+ $vararg_ptr5 = ((($vararg_buffer)) + 20|0);
+ HEAP32[$vararg_ptr5>>2] = $19;
+ $20 = (___syscall192(192,($vararg_buffer|0))|0);
+ $21 = (___syscall_ret($20)|0);
+ $22 = $21;
+ $$0 = $22;
+ } else {
+ $13 = (___errno_location()|0);
+ HEAP32[$13>>2] = 22;
+ $$0 = (-1);
+ }
+ } while(0);
+ STACKTOP = sp;return ($$0|0);
+}
+function _atoi($0) {
+ $0 = $0|0;
+ var $$0 = 0, $$010$lcssa = 0, $$01015 = 0, $$011 = 0, $$1 = 0, $$112 = 0, $$214 = 0, $$neg13 = 0, $$pre = 0, $$pre$phiZ2D = 0, $$pre16 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0;
+ var $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $$011 = $0;
+ while(1) {
+ $1 = HEAP8[$$011>>0]|0;
+ $2 = $1 << 24 >> 24;
+ $3 = (_isspace($2)|0);
+ $4 = ($3|0)==(0);
+ $5 = ((($$011)) + 1|0);
+ if ($4) {
+ break;
+ } else {
+ $$011 = $5;
+ }
+ }
+ $6 = HEAP8[$$011>>0]|0;
+ $7 = $6 << 24 >> 24;
+ switch ($7|0) {
+ case 45: {
+ $$0 = 1;
+ label = 5;
+ break;
+ }
+ case 43: {
+ $$0 = 0;
+ label = 5;
+ break;
+ }
+ default: {
+ $$1 = 0;$$112 = $$011;$$pre$phiZ2D = $7;
+ }
+ }
+ if ((label|0) == 5) {
+ $$pre = HEAP8[$5>>0]|0;
+ $$pre16 = $$pre << 24 >> 24;
+ $$1 = $$0;$$112 = $5;$$pre$phiZ2D = $$pre16;
+ }
+ $8 = (_isdigit($$pre$phiZ2D)|0);
+ $9 = ($8|0)==(0);
+ if ($9) {
+ $$010$lcssa = 0;
+ } else {
+ $$01015 = 0;$$214 = $$112;
+ while(1) {
+ $10 = ($$01015*10)|0;
+ $11 = ((($$214)) + 1|0);
+ $12 = HEAP8[$$214>>0]|0;
+ $13 = $12 << 24 >> 24;
+ $$neg13 = (($10) + 48)|0;
+ $14 = (($$neg13) - ($13))|0;
+ $15 = HEAP8[$11>>0]|0;
+ $16 = $15 << 24 >> 24;
+ $17 = (_isdigit($16)|0);
+ $18 = ($17|0)==(0);
+ if ($18) {
+ $$010$lcssa = $14;
+ break;
+ } else {
+ $$01015 = $14;$$214 = $11;
+ }
+ }
+ }
+ $19 = ($$1|0)==(0);
+ $20 = (0 - ($$010$lcssa))|0;
+ $21 = $19 ? $20 : $$010$lcssa;
+ return ($21|0);
+}
+function ___setxid($0,$1,$2,$3) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
+ $4 = sp;
+ HEAP32[$4>>2] = $1;
+ $5 = ((($4)) + 4|0);
+ HEAP32[$5>>2] = $2;
+ $6 = ((($4)) + 8|0);
+ HEAP32[$6>>2] = $3;
+ $7 = ((($4)) + 12|0);
+ HEAP32[$7>>2] = $0;
+ $8 = ((($4)) + 16|0);
+ HEAP32[$8>>2] = -1;
+ ___synccall(90,$4);
+ $9 = HEAP32[$8>>2]|0;
+ $10 = ($9|0)==(0);
+ if ($10) {
+ $$0 = 0;
+ } else {
+ $11 = ($9|0)>(0);
+ if ($11) {
+ $12 = (___errno_location()|0);
+ HEAP32[$12>>2] = $9;
+ $$0 = -1;
+ } else {
+ $$0 = -1;
+ }
+ }
+ STACKTOP = sp;return ($$0|0);
+}
+function _do_setxid($0) {
+ $0 = $0|0;
+ var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = ((($0)) + 16|0);
+ $2 = HEAP32[$1>>2]|0;
+ $3 = ($2|0)>(0);
+ if (!($3)) {
+ HEAP32[$1>>2] = 1;
+ }
+ return;
+}
+function _getppid() {
+ var $0 = 0, $vararg_buffer = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $vararg_buffer = sp;
+ $0 = (___syscall64(64,($vararg_buffer|0))|0);
+ STACKTOP = sp;return ($0|0);
+}
+function _getuid() {
+ var $0 = 0, $vararg_buffer = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $vararg_buffer = sp;
+ $0 = (___syscall199(199,($vararg_buffer|0))|0);
+ STACKTOP = sp;return ($0|0);
+}
+function _geteuid() {
+ var $0 = 0, $vararg_buffer = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $vararg_buffer = sp;
+ $0 = (___syscall201(201,($vararg_buffer|0))|0);
+ STACKTOP = sp;return ($0|0);
+}
+function _ftruncate($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $2 = 0, $3 = 0, $4 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
+ $vararg_buffer = sp;
+ $2 = $1 >> 31;
+ HEAP32[$vararg_buffer>>2] = $0;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 0;
+ $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
+ HEAP32[$vararg_ptr2>>2] = $1;
+ $vararg_ptr3 = ((($vararg_buffer)) + 12|0);
+ HEAP32[$vararg_ptr3>>2] = $2;
+ $3 = (___syscall194(194,($vararg_buffer|0))|0);
+ $4 = (___syscall_ret($3)|0);
+ STACKTOP = sp;return ($4|0);
+}
+function _setuid($0) {
+ $0 = $0|0;
+ var $1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $1 = (___setxid(213,$0,0,0)|0);
+ return ($1|0);
+}
+function ___emscripten_environ_constructor() {
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ ___buildEnvironment((73316|0));
+ return;
+}
+function __get_tzname() {
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ return (73300|0);
+}
+function __get_daylight() {
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ return (73308|0);
+}
+function __get_timezone() {
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ return (73312|0);
+}
+function __get_environ() {
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ return (73316|0);
+}
+function runPostSets() {
+}
+function _i64Add(a, b, c, d) {
+ /*
+ x = a + b*2^32
+ y = c + d*2^32
+ result = l + h*2^32
+ */
+ a = a|0; b = b|0; c = c|0; d = d|0;
+ var l = 0, h = 0;
+ l = (a + c)>>>0;
+ h = (b + d + (((l>>>0) < (a>>>0))|0))>>>0; // Add carry from low word to high word on overflow.
+ return ((tempRet0 = h,l|0)|0);
+}
+function _i64Subtract(a, b, c, d) {
+ a = a|0; b = b|0; c = c|0; d = d|0;
+ var l = 0, h = 0;
+ l = (a - c)>>>0;
+ h = (b - d)>>>0;
+ h = (b - d - (((c>>>0) > (a>>>0))|0))>>>0; // Borrow one from high word to low word on underflow.
+ return ((tempRet0 = h,l|0)|0);
+}
+function _llvm_cttz_i32(x) { // Note: Currently doesn't take isZeroUndef()
+ x = x | 0;
+ return (x ? (31 - (Math_clz32((x ^ (x - 1))) | 0) | 0) : 32) | 0;
+}
+function ___udivmoddi4($a$0, $a$1, $b$0, $b$1, $rem) {
+ $a$0 = $a$0 | 0;
+ $a$1 = $a$1 | 0;
+ $b$0 = $b$0 | 0;
+ $b$1 = $b$1 | 0;
+ $rem = $rem | 0;
+ var $n_sroa_0_0_extract_trunc = 0, $n_sroa_1_4_extract_shift$0 = 0, $n_sroa_1_4_extract_trunc = 0, $d_sroa_0_0_extract_trunc = 0, $d_sroa_1_4_extract_shift$0 = 0, $d_sroa_1_4_extract_trunc = 0, $4 = 0, $17 = 0, $37 = 0, $49 = 0, $51 = 0, $57 = 0, $58 = 0, $66 = 0, $78 = 0, $86 = 0, $88 = 0, $89 = 0, $91 = 0, $92 = 0, $95 = 0, $105 = 0, $117 = 0, $119 = 0, $125 = 0, $126 = 0, $130 = 0, $q_sroa_1_1_ph = 0, $q_sroa_0_1_ph = 0, $r_sroa_1_1_ph = 0, $r_sroa_0_1_ph = 0, $sr_1_ph = 0, $d_sroa_0_0_insert_insert99$0 = 0, $d_sroa_0_0_insert_insert99$1 = 0, $137$0 = 0, $137$1 = 0, $carry_0203 = 0, $sr_1202 = 0, $r_sroa_0_1201 = 0, $r_sroa_1_1200 = 0, $q_sroa_0_1199 = 0, $q_sroa_1_1198 = 0, $147 = 0, $149 = 0, $r_sroa_0_0_insert_insert42$0 = 0, $r_sroa_0_0_insert_insert42$1 = 0, $150$1 = 0, $151$0 = 0, $152 = 0, $154$0 = 0, $r_sroa_0_0_extract_trunc = 0, $r_sroa_1_4_extract_trunc = 0, $155 = 0, $carry_0_lcssa$0 = 0, $carry_0_lcssa$1 = 0, $r_sroa_0_1_lcssa = 0, $r_sroa_1_1_lcssa = 0, $q_sroa_0_1_lcssa = 0, $q_sroa_1_1_lcssa = 0, $q_sroa_0_0_insert_ext75$0 = 0, $q_sroa_0_0_insert_ext75$1 = 0, $q_sroa_0_0_insert_insert77$1 = 0, $_0$0 = 0, $_0$1 = 0;
+ $n_sroa_0_0_extract_trunc = $a$0;
+ $n_sroa_1_4_extract_shift$0 = $a$1;
+ $n_sroa_1_4_extract_trunc = $n_sroa_1_4_extract_shift$0;
+ $d_sroa_0_0_extract_trunc = $b$0;
+ $d_sroa_1_4_extract_shift$0 = $b$1;
+ $d_sroa_1_4_extract_trunc = $d_sroa_1_4_extract_shift$0;
+ if (($n_sroa_1_4_extract_trunc | 0) == 0) {
+ $4 = ($rem | 0) != 0;
+ if (($d_sroa_1_4_extract_trunc | 0) == 0) {
+ if ($4) {
+ HEAP32[$rem >> 2] = ($n_sroa_0_0_extract_trunc >>> 0) % ($d_sroa_0_0_extract_trunc >>> 0);
+ HEAP32[$rem + 4 >> 2] = 0;
+ }
+ $_0$1 = 0;
+ $_0$0 = ($n_sroa_0_0_extract_trunc >>> 0) / ($d_sroa_0_0_extract_trunc >>> 0) >>> 0;
+ return (tempRet0 = $_0$1, $_0$0) | 0;
+ } else {
+ if (!$4) {
+ $_0$1 = 0;
+ $_0$0 = 0;
+ return (tempRet0 = $_0$1, $_0$0) | 0;
+ }
+ HEAP32[$rem >> 2] = $a$0 & -1;
+ HEAP32[$rem + 4 >> 2] = $a$1 & 0;
+ $_0$1 = 0;
+ $_0$0 = 0;
+ return (tempRet0 = $_0$1, $_0$0) | 0;
+ }
+ }
+ $17 = ($d_sroa_1_4_extract_trunc | 0) == 0;
+ do {
+ if (($d_sroa_0_0_extract_trunc | 0) == 0) {
+ if ($17) {
+ if (($rem | 0) != 0) {
+ HEAP32[$rem >> 2] = ($n_sroa_1_4_extract_trunc >>> 0) % ($d_sroa_0_0_extract_trunc >>> 0);
+ HEAP32[$rem + 4 >> 2] = 0;
+ }
+ $_0$1 = 0;
+ $_0$0 = ($n_sroa_1_4_extract_trunc >>> 0) / ($d_sroa_0_0_extract_trunc >>> 0) >>> 0;
+ return (tempRet0 = $_0$1, $_0$0) | 0;
+ }
+ if (($n_sroa_0_0_extract_trunc | 0) == 0) {
+ if (($rem | 0) != 0) {
+ HEAP32[$rem >> 2] = 0;
+ HEAP32[$rem + 4 >> 2] = ($n_sroa_1_4_extract_trunc >>> 0) % ($d_sroa_1_4_extract_trunc >>> 0);
+ }
+ $_0$1 = 0;
+ $_0$0 = ($n_sroa_1_4_extract_trunc >>> 0) / ($d_sroa_1_4_extract_trunc >>> 0) >>> 0;
+ return (tempRet0 = $_0$1, $_0$0) | 0;
+ }
+ $37 = $d_sroa_1_4_extract_trunc - 1 | 0;
+ if (($37 & $d_sroa_1_4_extract_trunc | 0) == 0) {
+ if (($rem | 0) != 0) {
+ HEAP32[$rem >> 2] = 0 | $a$0 & -1;
+ HEAP32[$rem + 4 >> 2] = $37 & $n_sroa_1_4_extract_trunc | $a$1 & 0;
+ }
+ $_0$1 = 0;
+ $_0$0 = $n_sroa_1_4_extract_trunc >>> ((_llvm_cttz_i32($d_sroa_1_4_extract_trunc | 0) | 0) >>> 0);
+ return (tempRet0 = $_0$1, $_0$0) | 0;
+ }
+ $49 = Math_clz32($d_sroa_1_4_extract_trunc | 0) | 0;
+ $51 = $49 - (Math_clz32($n_sroa_1_4_extract_trunc | 0) | 0) | 0;
+ if ($51 >>> 0 <= 30) {
+ $57 = $51 + 1 | 0;
+ $58 = 31 - $51 | 0;
+ $sr_1_ph = $57;
+ $r_sroa_0_1_ph = $n_sroa_1_4_extract_trunc << $58 | $n_sroa_0_0_extract_trunc >>> ($57 >>> 0);
+ $r_sroa_1_1_ph = $n_sroa_1_4_extract_trunc >>> ($57 >>> 0);
+ $q_sroa_0_1_ph = 0;
+ $q_sroa_1_1_ph = $n_sroa_0_0_extract_trunc << $58;
+ break;
+ }
+ if (($rem | 0) == 0) {
+ $_0$1 = 0;
+ $_0$0 = 0;
+ return (tempRet0 = $_0$1, $_0$0) | 0;
+ }
+ HEAP32[$rem >> 2] = 0 | $a$0 & -1;
+ HEAP32[$rem + 4 >> 2] = $n_sroa_1_4_extract_shift$0 | $a$1 & 0;
+ $_0$1 = 0;
+ $_0$0 = 0;
+ return (tempRet0 = $_0$1, $_0$0) | 0;
+ } else {
+ if (!$17) {
+ $117 = Math_clz32($d_sroa_1_4_extract_trunc | 0) | 0;
+ $119 = $117 - (Math_clz32($n_sroa_1_4_extract_trunc | 0) | 0) | 0;
+ if ($119 >>> 0 <= 31) {
+ $125 = $119 + 1 | 0;
+ $126 = 31 - $119 | 0;
+ $130 = $119 - 31 >> 31;
+ $sr_1_ph = $125;
+ $r_sroa_0_1_ph = $n_sroa_0_0_extract_trunc >>> ($125 >>> 0) & $130 | $n_sroa_1_4_extract_trunc << $126;
+ $r_sroa_1_1_ph = $n_sroa_1_4_extract_trunc >>> ($125 >>> 0) & $130;
+ $q_sroa_0_1_ph = 0;
+ $q_sroa_1_1_ph = $n_sroa_0_0_extract_trunc << $126;
+ break;
+ }
+ if (($rem | 0) == 0) {
+ $_0$1 = 0;
+ $_0$0 = 0;
+ return (tempRet0 = $_0$1, $_0$0) | 0;
+ }
+ HEAP32[$rem >> 2] = 0 | $a$0 & -1;
+ HEAP32[$rem + 4 >> 2] = $n_sroa_1_4_extract_shift$0 | $a$1 & 0;
+ $_0$1 = 0;
+ $_0$0 = 0;
+ return (tempRet0 = $_0$1, $_0$0) | 0;
+ }
+ $66 = $d_sroa_0_0_extract_trunc - 1 | 0;
+ if (($66 & $d_sroa_0_0_extract_trunc | 0) != 0) {
+ $86 = (Math_clz32($d_sroa_0_0_extract_trunc | 0) | 0) + 33 | 0;
+ $88 = $86 - (Math_clz32($n_sroa_1_4_extract_trunc | 0) | 0) | 0;
+ $89 = 64 - $88 | 0;
+ $91 = 32 - $88 | 0;
+ $92 = $91 >> 31;
+ $95 = $88 - 32 | 0;
+ $105 = $95 >> 31;
+ $sr_1_ph = $88;
+ $r_sroa_0_1_ph = $91 - 1 >> 31 & $n_sroa_1_4_extract_trunc >>> ($95 >>> 0) | ($n_sroa_1_4_extract_trunc << $91 | $n_sroa_0_0_extract_trunc >>> ($88 >>> 0)) & $105;
+ $r_sroa_1_1_ph = $105 & $n_sroa_1_4_extract_trunc >>> ($88 >>> 0);
+ $q_sroa_0_1_ph = $n_sroa_0_0_extract_trunc << $89 & $92;
+ $q_sroa_1_1_ph = ($n_sroa_1_4_extract_trunc << $89 | $n_sroa_0_0_extract_trunc >>> ($95 >>> 0)) & $92 | $n_sroa_0_0_extract_trunc << $91 & $88 - 33 >> 31;
+ break;
+ }
+ if (($rem | 0) != 0) {
+ HEAP32[$rem >> 2] = $66 & $n_sroa_0_0_extract_trunc;
+ HEAP32[$rem + 4 >> 2] = 0;
+ }
+ if (($d_sroa_0_0_extract_trunc | 0) == 1) {
+ $_0$1 = $n_sroa_1_4_extract_shift$0 | $a$1 & 0;
+ $_0$0 = 0 | $a$0 & -1;
+ return (tempRet0 = $_0$1, $_0$0) | 0;
+ } else {
+ $78 = _llvm_cttz_i32($d_sroa_0_0_extract_trunc | 0) | 0;
+ $_0$1 = 0 | $n_sroa_1_4_extract_trunc >>> ($78 >>> 0);
+ $_0$0 = $n_sroa_1_4_extract_trunc << 32 - $78 | $n_sroa_0_0_extract_trunc >>> ($78 >>> 0) | 0;
+ return (tempRet0 = $_0$1, $_0$0) | 0;
+ }
+ }
+ } while (0);
+ if (($sr_1_ph | 0) == 0) {
+ $q_sroa_1_1_lcssa = $q_sroa_1_1_ph;
+ $q_sroa_0_1_lcssa = $q_sroa_0_1_ph;
+ $r_sroa_1_1_lcssa = $r_sroa_1_1_ph;
+ $r_sroa_0_1_lcssa = $r_sroa_0_1_ph;
+ $carry_0_lcssa$1 = 0;
+ $carry_0_lcssa$0 = 0;
+ } else {
+ $d_sroa_0_0_insert_insert99$0 = 0 | $b$0 & -1;
+ $d_sroa_0_0_insert_insert99$1 = $d_sroa_1_4_extract_shift$0 | $b$1 & 0;
+ $137$0 = _i64Add($d_sroa_0_0_insert_insert99$0 | 0, $d_sroa_0_0_insert_insert99$1 | 0, -1, -1) | 0;
+ $137$1 = tempRet0;
+ $q_sroa_1_1198 = $q_sroa_1_1_ph;
+ $q_sroa_0_1199 = $q_sroa_0_1_ph;
+ $r_sroa_1_1200 = $r_sroa_1_1_ph;
+ $r_sroa_0_1201 = $r_sroa_0_1_ph;
+ $sr_1202 = $sr_1_ph;
+ $carry_0203 = 0;
+ while (1) {
+ $147 = $q_sroa_0_1199 >>> 31 | $q_sroa_1_1198 << 1;
+ $149 = $carry_0203 | $q_sroa_0_1199 << 1;
+ $r_sroa_0_0_insert_insert42$0 = 0 | ($r_sroa_0_1201 << 1 | $q_sroa_1_1198 >>> 31);
+ $r_sroa_0_0_insert_insert42$1 = $r_sroa_0_1201 >>> 31 | $r_sroa_1_1200 << 1 | 0;
+ _i64Subtract($137$0 | 0, $137$1 | 0, $r_sroa_0_0_insert_insert42$0 | 0, $r_sroa_0_0_insert_insert42$1 | 0) | 0;
+ $150$1 = tempRet0;
+ $151$0 = $150$1 >> 31 | (($150$1 | 0) < 0 ? -1 : 0) << 1;
+ $152 = $151$0 & 1;
+ $154$0 = _i64Subtract($r_sroa_0_0_insert_insert42$0 | 0, $r_sroa_0_0_insert_insert42$1 | 0, $151$0 & $d_sroa_0_0_insert_insert99$0 | 0, ((($150$1 | 0) < 0 ? -1 : 0) >> 31 | (($150$1 | 0) < 0 ? -1 : 0) << 1) & $d_sroa_0_0_insert_insert99$1 | 0) | 0;
+ $r_sroa_0_0_extract_trunc = $154$0;
+ $r_sroa_1_4_extract_trunc = tempRet0;
+ $155 = $sr_1202 - 1 | 0;
+ if (($155 | 0) == 0) {
+ break;
+ } else {
+ $q_sroa_1_1198 = $147;
+ $q_sroa_0_1199 = $149;
+ $r_sroa_1_1200 = $r_sroa_1_4_extract_trunc;
+ $r_sroa_0_1201 = $r_sroa_0_0_extract_trunc;
+ $sr_1202 = $155;
+ $carry_0203 = $152;
+ }
+ }
+ $q_sroa_1_1_lcssa = $147;
+ $q_sroa_0_1_lcssa = $149;
+ $r_sroa_1_1_lcssa = $r_sroa_1_4_extract_trunc;
+ $r_sroa_0_1_lcssa = $r_sroa_0_0_extract_trunc;
+ $carry_0_lcssa$1 = 0;
+ $carry_0_lcssa$0 = $152;
+ }
+ $q_sroa_0_0_insert_ext75$0 = $q_sroa_0_1_lcssa;
+ $q_sroa_0_0_insert_ext75$1 = 0;
+ $q_sroa_0_0_insert_insert77$1 = $q_sroa_1_1_lcssa | $q_sroa_0_0_insert_ext75$1;
+ if (($rem | 0) != 0) {
+ HEAP32[$rem >> 2] = 0 | $r_sroa_0_1_lcssa;
+ HEAP32[$rem + 4 >> 2] = $r_sroa_1_1_lcssa | 0;
+ }
+ $_0$1 = (0 | $q_sroa_0_0_insert_ext75$0) >>> 31 | $q_sroa_0_0_insert_insert77$1 << 1 | ($q_sroa_0_0_insert_ext75$1 << 1 | $q_sroa_0_0_insert_ext75$0 >>> 31) & 0 | $carry_0_lcssa$1;
+ $_0$0 = ($q_sroa_0_0_insert_ext75$0 << 1 | 0 >>> 31) & -2 | $carry_0_lcssa$0;
+ return (tempRet0 = $_0$1, $_0$0) | 0;
+}
+function ___divdi3($a$0, $a$1, $b$0, $b$1) {
+ $a$0 = $a$0 | 0;
+ $a$1 = $a$1 | 0;
+ $b$0 = $b$0 | 0;
+ $b$1 = $b$1 | 0;
+ var $1$0 = 0, $1$1 = 0, $2$0 = 0, $2$1 = 0, $4$0 = 0, $4$1 = 0, $6$0 = 0, $7$0 = 0, $7$1 = 0, $8$0 = 0, $10$0 = 0;
+ $1$0 = $a$1 >> 31 | (($a$1 | 0) < 0 ? -1 : 0) << 1;
+ $1$1 = (($a$1 | 0) < 0 ? -1 : 0) >> 31 | (($a$1 | 0) < 0 ? -1 : 0) << 1;
+ $2$0 = $b$1 >> 31 | (($b$1 | 0) < 0 ? -1 : 0) << 1;
+ $2$1 = (($b$1 | 0) < 0 ? -1 : 0) >> 31 | (($b$1 | 0) < 0 ? -1 : 0) << 1;
+ $4$0 = _i64Subtract($1$0 ^ $a$0 | 0, $1$1 ^ $a$1 | 0, $1$0 | 0, $1$1 | 0) | 0;
+ $4$1 = tempRet0;
+ $6$0 = _i64Subtract($2$0 ^ $b$0 | 0, $2$1 ^ $b$1 | 0, $2$0 | 0, $2$1 | 0) | 0;
+ $7$0 = $2$0 ^ $1$0;
+ $7$1 = $2$1 ^ $1$1;
+ $8$0 = ___udivmoddi4($4$0, $4$1, $6$0, tempRet0, 0) | 0;
+ $10$0 = _i64Subtract($8$0 ^ $7$0 | 0, tempRet0 ^ $7$1 | 0, $7$0 | 0, $7$1 | 0) | 0;
+ return $10$0 | 0;
+}
+function ___muldsi3($a, $b) {
+ $a = $a | 0;
+ $b = $b | 0;
+ var $1 = 0, $2 = 0, $3 = 0, $6 = 0, $8 = 0, $11 = 0, $12 = 0;
+ $1 = $a & 65535;
+ $2 = $b & 65535;
+ $3 = Math_imul($2, $1) | 0;
+ $6 = $a >>> 16;
+ $8 = ($3 >>> 16) + (Math_imul($2, $6) | 0) | 0;
+ $11 = $b >>> 16;
+ $12 = Math_imul($11, $1) | 0;
+ return (tempRet0 = (($8 >>> 16) + (Math_imul($11, $6) | 0) | 0) + ((($8 & 65535) + $12 | 0) >>> 16) | 0, 0 | ($8 + $12 << 16 | $3 & 65535)) | 0;
+}
+function ___muldi3($a$0, $a$1, $b$0, $b$1) {
+ $a$0 = $a$0 | 0;
+ $a$1 = $a$1 | 0;
+ $b$0 = $b$0 | 0;
+ $b$1 = $b$1 | 0;
+ var $x_sroa_0_0_extract_trunc = 0, $y_sroa_0_0_extract_trunc = 0, $1$0 = 0, $1$1 = 0, $2 = 0;
+ $x_sroa_0_0_extract_trunc = $a$0;
+ $y_sroa_0_0_extract_trunc = $b$0;
+ $1$0 = ___muldsi3($x_sroa_0_0_extract_trunc, $y_sroa_0_0_extract_trunc) | 0;
+ $1$1 = tempRet0;
+ $2 = Math_imul($a$1, $y_sroa_0_0_extract_trunc) | 0;
+ return (tempRet0 = ((Math_imul($b$1, $x_sroa_0_0_extract_trunc) | 0) + $2 | 0) + $1$1 | $1$1 & 0, 0 | $1$0 & -1) | 0;
+}
+function ___udivdi3($a$0, $a$1, $b$0, $b$1) {
+ $a$0 = $a$0 | 0;
+ $a$1 = $a$1 | 0;
+ $b$0 = $b$0 | 0;
+ $b$1 = $b$1 | 0;
+ var $1$0 = 0;
+ $1$0 = ___udivmoddi4($a$0, $a$1, $b$0, $b$1, 0) | 0;
+ return $1$0 | 0;
+}
+function ___uremdi3($a$0, $a$1, $b$0, $b$1) {
+ $a$0 = $a$0 | 0;
+ $a$1 = $a$1 | 0;
+ $b$0 = $b$0 | 0;
+ $b$1 = $b$1 | 0;
+ var $rem = 0, __stackBase__ = 0;
+ __stackBase__ = STACKTOP;
+ STACKTOP = STACKTOP + 16 | 0;
+ $rem = __stackBase__ | 0;
+ ___udivmoddi4($a$0, $a$1, $b$0, $b$1, $rem) | 0;
+ STACKTOP = __stackBase__;
+ return (tempRet0 = HEAP32[$rem + 4 >> 2] | 0, HEAP32[$rem >> 2] | 0) | 0;
+}
+function _bitshift64Ashr(low, high, bits) {
+ low = low|0; high = high|0; bits = bits|0;
+ var ander = 0;
+ if ((bits|0) < 32) {
+ ander = ((1 << bits) - 1)|0;
+ tempRet0 = high >> bits;
+ return (low >>> bits) | ((high&ander) << (32 - bits));
+ }
+ tempRet0 = (high|0) < 0 ? -1 : 0;
+ return (high >> (bits - 32))|0;
+}
+function _bitshift64Lshr(low, high, bits) {
+ low = low|0; high = high|0; bits = bits|0;
+ var ander = 0;
+ if ((bits|0) < 32) {
+ ander = ((1 << bits) - 1)|0;
+ tempRet0 = high >>> bits;
+ return (low >>> bits) | ((high&ander) << (32 - bits));
+ }
+ tempRet0 = 0;
+ return (high >>> (bits - 32))|0;
+}
+function _bitshift64Shl(low, high, bits) {
+ low = low|0; high = high|0; bits = bits|0;
+ var ander = 0;
+ if ((bits|0) < 32) {
+ ander = ((1 << bits) - 1)|0;
+ tempRet0 = (high << bits) | ((low&(ander << (32 - bits))) >>> (32 - bits));
+ return low << bits;
+ }
+ tempRet0 = low << (bits - 32);
+ return 0;
+}
+function _llvm_bswap_i32(x) {
+ x = x|0;
+ return (((x&0xff)<<24) | (((x>>8)&0xff)<<16) | (((x>>16)&0xff)<<8) | (x>>>24))|0;
+}
+function _memcpy(dest, src, num) {
+ dest = dest|0; src = src|0; num = num|0;
+ var ret = 0;
+ var aligned_dest_end = 0;
+ var block_aligned_dest_end = 0;
+ var dest_end = 0;
+ // Test against a benchmarked cutoff limit for when HEAPU8.set() becomes faster to use.
+ if ((num|0) >=
+ 8192
+ ) {
+ return _emscripten_memcpy_big(dest|0, src|0, num|0)|0;
+ }
+
+ ret = dest|0;
+ dest_end = (dest + num)|0;
+ if ((dest&3) == (src&3)) {
+ // The initial unaligned < 4-byte front.
+ 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;
+ }
+ aligned_dest_end = (dest_end & -4)|0;
+ block_aligned_dest_end = (aligned_dest_end - 64)|0;
+ while ((dest|0) <= (block_aligned_dest_end|0) ) {
+ HEAP32[((dest)>>2)]=((HEAP32[((src)>>2)])|0);
+ HEAP32[(((dest)+(4))>>2)]=((HEAP32[(((src)+(4))>>2)])|0);
+ HEAP32[(((dest)+(8))>>2)]=((HEAP32[(((src)+(8))>>2)])|0);
+ HEAP32[(((dest)+(12))>>2)]=((HEAP32[(((src)+(12))>>2)])|0);
+ HEAP32[(((dest)+(16))>>2)]=((HEAP32[(((src)+(16))>>2)])|0);
+ HEAP32[(((dest)+(20))>>2)]=((HEAP32[(((src)+(20))>>2)])|0);
+ HEAP32[(((dest)+(24))>>2)]=((HEAP32[(((src)+(24))>>2)])|0);
+ HEAP32[(((dest)+(28))>>2)]=((HEAP32[(((src)+(28))>>2)])|0);
+ HEAP32[(((dest)+(32))>>2)]=((HEAP32[(((src)+(32))>>2)])|0);
+ HEAP32[(((dest)+(36))>>2)]=((HEAP32[(((src)+(36))>>2)])|0);
+ HEAP32[(((dest)+(40))>>2)]=((HEAP32[(((src)+(40))>>2)])|0);
+ HEAP32[(((dest)+(44))>>2)]=((HEAP32[(((src)+(44))>>2)])|0);
+ HEAP32[(((dest)+(48))>>2)]=((HEAP32[(((src)+(48))>>2)])|0);
+ HEAP32[(((dest)+(52))>>2)]=((HEAP32[(((src)+(52))>>2)])|0);
+ HEAP32[(((dest)+(56))>>2)]=((HEAP32[(((src)+(56))>>2)])|0);
+ HEAP32[(((dest)+(60))>>2)]=((HEAP32[(((src)+(60))>>2)])|0);
+ dest = (dest+64)|0;
+ src = (src+64)|0;
+ }
+ while ((dest|0) < (aligned_dest_end|0) ) {
+ HEAP32[((dest)>>2)]=((HEAP32[((src)>>2)])|0);
+ dest = (dest+4)|0;
+ src = (src+4)|0;
+ }
+ } else {
+ // In the unaligned copy case, unroll a bit as well.
+ aligned_dest_end = (dest_end - 4)|0;
+ while ((dest|0) < (aligned_dest_end|0) ) {
+ HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0);
+ HEAP8[(((dest)+(1))>>0)]=((HEAP8[(((src)+(1))>>0)])|0);
+ HEAP8[(((dest)+(2))>>0)]=((HEAP8[(((src)+(2))>>0)])|0);
+ HEAP8[(((dest)+(3))>>0)]=((HEAP8[(((src)+(3))>>0)])|0);
+ dest = (dest+4)|0;
+ src = (src+4)|0;
+ }
+ }
+ // The remaining unaligned < 4 byte tail.
+ while ((dest|0) < (dest_end|0)) {
+ HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0);
+ dest = (dest+1)|0;
+ src = (src+1)|0;
+ }
+ return ret|0;
+}
+function _memmove(dest, src, num) {
+ dest = dest|0; src = src|0; num = num|0;
+ var ret = 0;
+ if (((src|0) < (dest|0)) & ((dest|0) < ((src + num)|0))) {
+ // Unlikely case: Copy backwards in a safe manner
+ ret = dest;
+ src = (src + num)|0;
+ dest = (dest + num)|0;
+ while ((num|0) > 0) {
+ dest = (dest - 1)|0;
+ src = (src - 1)|0;
+ num = (num - 1)|0;
+ HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0);
+ }
+ dest = ret;
+ } else {
+ _memcpy(dest, src, num) | 0;
+ }
+ return dest | 0;
+}
+function _memset(ptr, value, num) {
+ ptr = ptr|0; value = value|0; num = num|0;
+ var end = 0, aligned_end = 0, block_aligned_end = 0, value4 = 0;
+ end = (ptr + num)|0;
+
+ value = value & 0xff;
+ if ((num|0) >= 67 /* 64 bytes for an unrolled loop + 3 bytes for unaligned head*/) {
+ while ((ptr&3) != 0) {
+ HEAP8[((ptr)>>0)]=value;
+ ptr = (ptr+1)|0;
+ }
+
+ aligned_end = (end & -4)|0;
+ block_aligned_end = (aligned_end - 64)|0;
+ value4 = value | (value << 8) | (value << 16) | (value << 24);
+
+ while((ptr|0) <= (block_aligned_end|0)) {
+ HEAP32[((ptr)>>2)]=value4;
+ HEAP32[(((ptr)+(4))>>2)]=value4;
+ HEAP32[(((ptr)+(8))>>2)]=value4;
+ HEAP32[(((ptr)+(12))>>2)]=value4;
+ HEAP32[(((ptr)+(16))>>2)]=value4;
+ HEAP32[(((ptr)+(20))>>2)]=value4;
+ HEAP32[(((ptr)+(24))>>2)]=value4;
+ HEAP32[(((ptr)+(28))>>2)]=value4;
+ HEAP32[(((ptr)+(32))>>2)]=value4;
+ HEAP32[(((ptr)+(36))>>2)]=value4;
+ HEAP32[(((ptr)+(40))>>2)]=value4;
+ HEAP32[(((ptr)+(44))>>2)]=value4;
+ HEAP32[(((ptr)+(48))>>2)]=value4;
+ HEAP32[(((ptr)+(52))>>2)]=value4;
+ HEAP32[(((ptr)+(56))>>2)]=value4;
+ HEAP32[(((ptr)+(60))>>2)]=value4;
+ ptr = (ptr + 64)|0;
+ }
+
+ while ((ptr|0) < (aligned_end|0) ) {
+ HEAP32[((ptr)>>2)]=value4;
+ ptr = (ptr+4)|0;
+ }
+ }
+ // The remaining bytes.
+ while ((ptr|0) < (end|0)) {
+ HEAP8[((ptr)>>0)]=value;
+ ptr = (ptr+1)|0;
+ }
+ return (end-num)|0;
+}
+function _pthread_mutex_lock(x) {
+ x = x | 0;
+ return 0;
+}
+function _pthread_mutex_unlock(x) {
+ x = x | 0;
+ return 0;
+}
+function _sbrk(increment) {
+ increment = increment|0;
+ var oldDynamicTop = 0;
+ var oldDynamicTopOnChange = 0;
+ var newDynamicTop = 0;
+ var totalMemory = 0;
+ oldDynamicTop = HEAP32[DYNAMICTOP_PTR>>2]|0;
+ newDynamicTop = oldDynamicTop + increment | 0;
+
+ if (((increment|0) > 0 & (newDynamicTop|0) < (oldDynamicTop|0)) // Detect and fail if we would wrap around signed 32-bit int.
+ | (newDynamicTop|0) < 0) { // Also underflow, sbrk() should be able to be used to subtract.
+ abortOnCannotGrowMemory()|0;
+ ___setErrNo(12);
+ return -1;
+ }
+
+ HEAP32[DYNAMICTOP_PTR>>2] = newDynamicTop;
+ totalMemory = getTotalMemory()|0;
+ if ((newDynamicTop|0) > (totalMemory|0)) {
+ if ((enlargeMemory()|0) == 0) {
+ HEAP32[DYNAMICTOP_PTR>>2] = oldDynamicTop;
+ ___setErrNo(12);
+ return -1;
+ }
+ }
+ return oldDynamicTop|0;
+}
+
+
+function dynCall_ii(index,a1) {
+ index = index|0;
+ a1=a1|0;
+ return FUNCTION_TABLE_ii[index&63](a1|0)|0;
+}
+
+function dynCall_iii(index,a1,a2) {
+ index = index|0;
+ a1=a1|0; a2=a2|0;
+ return FUNCTION_TABLE_iii[index&127](a1|0,a2|0)|0;
+}
+
+function dynCall_iiii(index,a1,a2,a3) {
+ index = index|0;
+ a1=a1|0; a2=a2|0; a3=a3|0;
+ return FUNCTION_TABLE_iiii[index&127](a1|0,a2|0,a3|0)|0;
+}
+
+
+function dynCall_iiiii(index,a1,a2,a3,a4) {
+ index = index|0;
+ a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0;
+ return FUNCTION_TABLE_iiiii[index&127](a1|0,a2|0,a3|0,a4|0)|0;
+}
+
+
+function dynCall_v(index) {
+ index = index|0;
+
+ FUNCTION_TABLE_v[index&127]();
+}
+
+
+function dynCall_vi(index,a1) {
+ index = index|0;
+ a1=a1|0;
+ FUNCTION_TABLE_vi[index&127](a1|0);
+}
+
+
+function dynCall_vii(index,a1,a2) {
+ index = index|0;
+ a1=a1|0; a2=a2|0;
+ FUNCTION_TABLE_vii[index&63](a1|0,a2|0);
+}
+
+
+function dynCall_viii(index,a1,a2,a3) {
+ index = index|0;
+ a1=a1|0; a2=a2|0; a3=a3|0;
+ FUNCTION_TABLE_viii[index&127](a1|0,a2|0,a3|0);
+}
+
+
+function dynCall_viiii(index,a1,a2,a3,a4) {
+ index = index|0;
+ a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0;
+ FUNCTION_TABLE_viiii[index&63](a1|0,a2|0,a3|0,a4|0);
+}
+
+
+function dynCall_viiiii(index,a1,a2,a3,a4,a5) {
+ index = index|0;
+ a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0;
+ FUNCTION_TABLE_viiiii[index&127](a1|0,a2|0,a3|0,a4|0,a5|0);
+}
+
+
+function dynCall_viiiiii(index,a1,a2,a3,a4,a5,a6) {
+ index = index|0;
+ a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0;
+ FUNCTION_TABLE_viiiiii[index&63](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0);
+}
+
+function b0(p0) {
+ p0 = p0|0; nullFunc_ii(0);return 0;
+}
+function b1(p0,p1) {
+ p0 = p0|0;p1 = p1|0; nullFunc_iii(1);return 0;
+}
+function b2(p0,p1,p2) {
+ p0 = p0|0;p1 = p1|0;p2 = p2|0; nullFunc_iiii(2);return 0;
+}
+function b3(p0,p1,p2,p3) {
+ p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; nullFunc_iiiii(3);return 0;
+}
+function b4() {
+ ; nullFunc_v(4);
+}
+function b5(p0) {
+ p0 = p0|0; nullFunc_vi(5);
+}
+function b6(p0,p1) {
+ p0 = p0|0;p1 = p1|0; nullFunc_vii(6);
+}
+function b7(p0,p1,p2) {
+ p0 = p0|0;p1 = p1|0;p2 = p2|0; nullFunc_viii(7);
+}
+function b8(p0,p1,p2,p3) {
+ p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; nullFunc_viiii(8);
+}
+function b9(p0,p1,p2,p3,p4) {
+ p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; nullFunc_viiiii(9);
+}
+function b10(p0,p1,p2,p3,p4,p5) {
+ p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; nullFunc_viiiiii(10);
+}
+
+// EMSCRIPTEN_END_FUNCS
+var FUNCTION_TABLE_ii = [b0,b0,b0,b0,b0,b0,b0,b0,_rmd160_read,b0,_rsa_check_secret_key,b0,b0,b0,b0,_rsa_get_nbits,b0,b0,b0,b0,_sha1_read,b0,b0,b0,_sha256_read,b0,b0,b0,b0
+,_sha512_read,b0,b0,b0,b0,b0,b0,_ecc_check_secret_key,b0,b0,b0,b0,_ecc_get_nbits,b0,b0,b0,__gcry_ecc_get_param_sexp,b0,b0,b0,___stdio_close,b0,b0,b0,b0,_w_malloc,_w_check,b0,b0,b0
+,b0,b0,b0,b0,b0];
+var FUNCTION_TABLE_iii = [b1,b1,b1,b1,b1,b1,b1,b1,b1,_rsa_generate,b1,b1,b1,b1,b1,b1,b1,_compute_keygrip,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1
+,b1,b1,b1,b1,b1,b1,_ecc_generate,b1,b1,b1,b1,b1,b1,b1,_compute_keygrip_1815,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,_realloc,b1,b1
+,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,_pss_verify_cmp,b1,b1,b1,b1,b1,_check_exponent,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1
+,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1
+,b1,b1,b1,b1,b1,b1,b1,b1,b1];
+var FUNCTION_TABLE_iiii = [b2,_rijndael_setkey,_rijndael_encrypt,_rijndael_decrypt,_run_selftests,b2,b2,b2,b2,b2,b2,_rsa_encrypt,_rsa_decrypt,_rsa_sign,_rsa_verify,b2,_run_selftests_1209,b2,b2,b2,b2,_run_selftests_1309,b2,b2,b2,_run_selftests_1332,b2,b2,b2
+,b2,_run_selftests_1355,b2,_twofish_setkey,_twofish_encrypt,_twofish_decrypt,b2,b2,_ecc_encrypt_raw,_ecc_decrypt_raw,_ecc_sign,_ecc_verify,b2,_run_selftests_1814,b2,__gcry_ecc_get_curve,b2,b2,_poly1305_blocks_ref32,b2,b2,___stdout_write,___stdio_seek,___stdio_write,_sn_write,b2,b2,b2,b2,__gcry_log_info_with_dummy_fp
+,_fprintf,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,_do_encrypt,_do_decrypt,b2,b2,_transform,b2,_transform_1319,_transform_1345,_transform_1368,b2,b2,b2,b2,b2,b2,b2,b2
+,___stdio_read,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2
+,b2,b2,b2,b2,b2,b2,b2,b2,b2];
+var FUNCTION_TABLE_iiiii = [b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3
+,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,_poly1305_finish_ext_ref32,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3
+,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,_ghash_internal,__gcry_rndlinux_gather_random,b3,b3,b3,b3,b3
+,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3
+,b3,b3,b3,b3,b3,b3,b3,b3,b3];
+var FUNCTION_TABLE_v = [b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4
+,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4
+,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,_prefetch_enc,_prefetch_dec,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,_do_deinit,b4
+,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4
+,b4,b4,b4,b4,b4,b4,b4,b4,b4];
+var FUNCTION_TABLE_vi = [b5,b5,b5,b5,b5,b5,b5,_rmd160_final,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,_sha1_final,b5,b5,b5,_sha256_final,b5,b5,b5,b5,_sha512_final
+,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,_free,b5
+,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,_ec_deinit,b5,b5,b5,b5,b5,b5,b5
+,b5,_do_setxid,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5
+,b5,b5,b5,b5,b5,b5,b5,b5,b5];
+var FUNCTION_TABLE_vii = [b6,b6,b6,b6,b6,_rmd160_init,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,_sha1_init,b6,b6,b6,_sha224_init,b6,b6,b6,_sha256_init,_sha512_init,b6
+,b6,b6,_sha384_init,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,_poly1305_init_ext_ref32,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6
+,b6,b6,b6,b6,b6];
+var FUNCTION_TABLE_viii = [b7,b7,b7,b7,b7,b7,__gcry_md_block_write,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7
+,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7
+,b7,b7,b7,b7,b7,b7,b7,b7,__gcry_aes_ocb_auth,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,_add_randomness,_entropy_collect_cb,_read_cb,b7,_fatal_error_handler_2503
+,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7
+,b7,b7,b7,b7,b7,b7,b7,b7,b7];
+var FUNCTION_TABLE_viiii = [b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8
+,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8
+,b8,_reporter,b8,b8,b8];
+var FUNCTION_TABLE_viiiii = [b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9
+,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9
+,b9,b9,__gcry_aes_cfb_enc,__gcry_aes_cfb_dec,b9,__gcry_aes_cbc_dec,__gcry_aes_ctr_enc,__gcry_aes_ocb_crypt,b9,__gcry_twofish_cbc_dec,__gcry_twofish_cfb_dec,__gcry_twofish_ctr_enc,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9
+,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9
+,b9,b9,b9,b9,b9,b9,b9,b9,b9];
+var FUNCTION_TABLE_viiiiii = [b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10
+,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10
+,b10,b10,b10,b10,__gcry_aes_cbc_enc];
+
+ return { _GNUNET_CRYPTO_ecc_ecdh: _GNUNET_CRYPTO_ecc_ecdh, _GNUNET_CRYPTO_ecdh_eddsa: _GNUNET_CRYPTO_ecdh_eddsa, _GNUNET_CRYPTO_ecdhe_key_create: _GNUNET_CRYPTO_ecdhe_key_create, _GNUNET_CRYPTO_ecdhe_key_get_public: _GNUNET_CRYPTO_ecdhe_key_get_public, _GNUNET_CRYPTO_ecdsa_key_create: _GNUNET_CRYPTO_ecdsa_key_create, _GNUNET_CRYPTO_eddsa_key_create: _GNUNET_CRYPTO_eddsa_key_create, _GNUNET_CRYPTO_eddsa_key_get_public: _GNUNET_CRYPTO_eddsa_key_get_public, _GNUNET_CRYPTO_eddsa_sign: _GNUNET_CRYPTO_eddsa_sign, _GNUNET_CRYPTO_eddsa_verify: _GNUNET_CRYPTO_eddsa_verify, _GNUNET_CRYPTO_hash: _GNUNET_CRYPTO_hash, _GNUNET_CRYPTO_hash_context_abort: _GNUNET_CRYPTO_hash_context_abort, _GNUNET_CRYPTO_hash_context_finish: _GNUNET_CRYPTO_hash_context_finish, _GNUNET_CRYPTO_hash_context_read: _GNUNET_CRYPTO_hash_context_read, _GNUNET_CRYPTO_hash_context_start: _GNUNET_CRYPTO_hash_context_start, _GNUNET_CRYPTO_hash_create_random: _GNUNET_CRYPTO_hash_create_random, _GNUNET_CRYPTO_hkdf: _GNUNET_CRYPTO_hkdf, _GNUNET_CRYPTO_kdf: _GNUNET_CRYPTO_kdf, _GNUNET_CRYPTO_random_block: _GNUNET_CRYPTO_random_block, _GNUNET_CRYPTO_random_init: _GNUNET_CRYPTO_random_init, _GNUNET_CRYPTO_rsa_blind: _GNUNET_CRYPTO_rsa_blind, _GNUNET_CRYPTO_rsa_private_key_create: _GNUNET_CRYPTO_rsa_private_key_create, _GNUNET_CRYPTO_rsa_private_key_decode: _GNUNET_CRYPTO_rsa_private_key_decode, _GNUNET_CRYPTO_rsa_private_key_encode: _GNUNET_CRYPTO_rsa_private_key_encode, _GNUNET_CRYPTO_rsa_private_key_free: _GNUNET_CRYPTO_rsa_private_key_free, _GNUNET_CRYPTO_rsa_private_key_get_public: _GNUNET_CRYPTO_rsa_private_key_get_public, _GNUNET_CRYPTO_rsa_public_key_decode: _GNUNET_CRYPTO_rsa_public_key_decode, _GNUNET_CRYPTO_rsa_public_key_encode: _GNUNET_CRYPTO_rsa_public_key_encode, _GNUNET_CRYPTO_rsa_public_key_free: _GNUNET_CRYPTO_rsa_public_key_free, _GNUNET_CRYPTO_rsa_signature_decode: _GNUNET_CRYPTO_rsa_signature_decode, _GNUNET_CRYPTO_rsa_signature_encode: _GNUNET_CRYPTO_rsa_signature_encode, _GNUNET_CRYPTO_rsa_signature_free: _GNUNET_CRYPTO_rsa_signature_free, _GNUNET_CRYPTO_rsa_unblind: _GNUNET_CRYPTO_rsa_unblind, _GNUNET_CRYPTO_rsa_verify: _GNUNET_CRYPTO_rsa_verify, _GNUNET_CRYPTO_symmetric_decrypt: _GNUNET_CRYPTO_symmetric_decrypt, _GNUNET_CRYPTO_symmetric_encrypt: _GNUNET_CRYPTO_symmetric_encrypt, _GNUNET_STRINGS_data_to_string_alloc: _GNUNET_STRINGS_data_to_string_alloc, _GNUNET_STRINGS_string_to_data: _GNUNET_STRINGS_string_to_data, _GNUNET_util_cl_init: _GNUNET_util_cl_init, _TALER_WRALL_ecdhe_public_key_from_private: _TALER_WRALL_ecdhe_public_key_from_private, _TALER_WRALL_ecdsa_public_key_from_private: _TALER_WRALL_ecdsa_public_key_from_private, _TALER_WRALL_eddsa_public_key_from_private: _TALER_WRALL_eddsa_public_key_from_private, _TALER_WRALL_get_amount: _TALER_WRALL_get_amount, _TALER_WRALL_purpose_create: _TALER_WRALL_purpose_create, _TALER_WR_get_currency: _TALER_WR_get_currency, _TALER_WR_get_fraction: _TALER_WR_get_fraction, _TALER_WR_get_value: _TALER_WR_get_value, _TALER_amount_add: _TALER_amount_add, _TALER_amount_cmp: _TALER_amount_cmp, _TALER_amount_get_zero: _TALER_amount_get_zero, _TALER_amount_hton: _TALER_amount_hton, _TALER_amount_normalize: _TALER_amount_normalize, _TALER_amount_ntoh: _TALER_amount_ntoh, _TALER_amount_subtract: _TALER_amount_subtract, _TALER_gcrypt_init: _TALER_gcrypt_init, _TALER_setup_fresh_coin: _TALER_setup_fresh_coin, ___divdi3: ___divdi3, ___emscripten_environ_constructor: ___emscripten_environ_constructor, ___errno_location: ___errno_location, ___muldi3: ___muldi3, ___udivdi3: ___udivdi3, ___uremdi3: ___uremdi3, __get_daylight: __get_daylight, __get_environ: __get_environ, __get_timezone: __get_timezone, __get_tzname: __get_tzname, _bitshift64Ashr: _bitshift64Ashr, _bitshift64Lshr: _bitshift64Lshr, _bitshift64Shl: _bitshift64Shl, _fflush: _fflush, _free: _free, _gpg_err_init: _gpg_err_init, _i64Add: _i64Add, _i64Subtract: _i64Subtract, _llvm_bswap_i32: _llvm_bswap_i32, _llvm_cttz_i32: _llvm_cttz_i32, _malloc: _malloc, _memalign: _memalign, _memcpy: _memcpy, _memmove: _memmove, _memset: _memset, _pthread_mutex_lock: _pthread_mutex_lock, _pthread_mutex_unlock: _pthread_mutex_unlock, _sbrk: _sbrk, dynCall_ii: dynCall_ii, dynCall_iii: dynCall_iii, dynCall_iiii: dynCall_iiii, dynCall_iiiii: dynCall_iiiii, dynCall_v: dynCall_v, dynCall_vi: dynCall_vi, dynCall_vii: dynCall_vii, dynCall_viii: dynCall_viii, dynCall_viiii: dynCall_viiii, dynCall_viiiii: dynCall_viiiii, dynCall_viiiiii: dynCall_viiiiii, establishStackSpace: establishStackSpace, getTempRet0: getTempRet0, runPostSets: runPostSets, setTempRet0: setTempRet0, setThrew: setThrew, stackAlloc: stackAlloc, stackRestore: stackRestore, stackSave: stackSave };
+})
// EMSCRIPTEN_END_ASM
-(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var real__bitshift64Lshr=asm["_bitshift64Lshr"];asm["_bitshift64Lshr"]=(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__bitshift64Lshr.apply(null,arguments)});var real__bitshift64Ashr=asm["_bitshift64Ashr"];asm["_bitshift64Ashr"]=(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__bitshift64Ashr.apply(null,arguments)});var real__sbrk=asm["_sbrk"];asm["_sbrk"]=(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__sbrk.apply(null,arguments)});var real__GNUNET_CRYPTO_eddsa_key_create=asm["_GNUNET_CRYPTO_eddsa_key_create"];asm["_GNUNET_CRYPTO_eddsa_key_create"]=(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__GNUNET_CRYPTO_eddsa_key_create.apply(null,arguments)});var real__GNUNET_CRYPTO_rsa_private_key_decode=asm["_GNUNET_CRYPTO_rsa_private_key_decode"];asm["_GNUNET_CRYPTO_rsa_private_key_decode"]=(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__GNUNET_CRYPTO_rsa_private_key_decode.apply(null,arguments)});var real____udivmoddi4=asm["___udivmoddi4"];asm["___udivmoddi4"]=(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____udivmoddi4.apply(null,arguments)});var real__GNUNET_CRYPTO_ecdh_eddsa=asm["_GNUNET_CRYPTO_ecdh_eddsa"];asm["_GNUNET_CRYPTO_ecdh_eddsa"]=(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__GNUNET_CRYPTO_ecdh_eddsa.apply(null,arguments)});var real__emscripten_get_global_libc=asm["_emscripten_get_global_libc"];asm["_emscripten_get_global_libc"]=(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__emscripten_get_global_libc.apply(null,arguments)});var real__TALER_amount_hton=asm["_TALER_amount_hton"];asm["_TALER_amount_hton"]=(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__TALER_amount_hton.apply(null,arguments)});var real_stackSave=asm["stackSave"];asm["stackSave"]=(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_stackSave.apply(null,arguments)});var real__gpg_err_init=asm["_gpg_err_init"];asm["_gpg_err_init"]=(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__gpg_err_init.apply(null,arguments)});var real__free=asm["_free"];asm["_free"]=(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__free.apply(null,arguments)});var real__memalign=asm["_memalign"];asm["_memalign"]=(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__memalign.apply(null,arguments)});var real__GNUNET_CRYPTO_ecdsa_key_create=asm["_GNUNET_CRYPTO_ecdsa_key_create"];asm["_GNUNET_CRYPTO_ecdsa_key_create"]=(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__GNUNET_CRYPTO_ecdsa_key_create.apply(null,arguments)});var real__GNUNET_CRYPTO_hash_context_start=asm["_GNUNET_CRYPTO_hash_context_start"];asm["_GNUNET_CRYPTO_hash_context_start"]=(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__GNUNET_CRYPTO_hash_context_start.apply(null,arguments)});var real__GNUNET_CRYPTO_rsa_private_key_get_public=asm["_GNUNET_CRYPTO_rsa_private_key_get_public"];asm["_GNUNET_CRYPTO_rsa_private_key_get_public"]=(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__GNUNET_CRYPTO_rsa_private_key_get_public.apply(null,arguments)});var real__GNUNET_CRYPTO_eddsa_verify=asm["_GNUNET_CRYPTO_eddsa_verify"];asm["_GNUNET_CRYPTO_eddsa_verify"]=(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__GNUNET_CRYPTO_eddsa_verify.apply(null,arguments)});var real_setThrew=asm["setThrew"];asm["setThrew"]=(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_setThrew.apply(null,arguments)});var real__GNUNET_CRYPTO_symmetric_encrypt=asm["_GNUNET_CRYPTO_symmetric_encrypt"];asm["_GNUNET_CRYPTO_symmetric_encrypt"]=(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__GNUNET_CRYPTO_symmetric_encrypt.apply(null,arguments)});var real__TALER_WR_get_fraction=asm["_TALER_WR_get_fraction"];asm["_TALER_WR_get_fraction"]=(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__TALER_WR_get_fraction.apply(null,arguments)});var real__TALER_amount_cmp=asm["_TALER_amount_cmp"];asm["_TALER_amount_cmp"]=(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__TALER_amount_cmp.apply(null,arguments)});var real__llvm_cttz_i32=asm["_llvm_cttz_i32"];asm["_llvm_cttz_i32"]=(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__llvm_cttz_i32.apply(null,arguments)});var real_stackAlloc=asm["stackAlloc"];asm["stackAlloc"]=(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_stackAlloc.apply(null,arguments)});var real__GNUNET_CRYPTO_kdf=asm["_GNUNET_CRYPTO_kdf"];asm["_GNUNET_CRYPTO_kdf"]=(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__GNUNET_CRYPTO_kdf.apply(null,arguments)});var real____divdi3=asm["___divdi3"];asm["___divdi3"]=(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____divdi3.apply(null,arguments)});var real__TALER_amount_ntoh=asm["_TALER_amount_ntoh"];asm["_TALER_amount_ntoh"]=(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__TALER_amount_ntoh.apply(null,arguments)});var real_getTempRet0=asm["getTempRet0"];asm["getTempRet0"]=(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_getTempRet0.apply(null,arguments)});var real__GNUNET_CRYPTO_rsa_public_key_free=asm["_GNUNET_CRYPTO_rsa_public_key_free"];asm["_GNUNET_CRYPTO_rsa_public_key_free"]=(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__GNUNET_CRYPTO_rsa_public_key_free.apply(null,arguments)});var real__GNUNET_CRYPTO_hkdf=asm["_GNUNET_CRYPTO_hkdf"];asm["_GNUNET_CRYPTO_hkdf"]=(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__GNUNET_CRYPTO_hkdf.apply(null,arguments)});var real__GNUNET_CRYPTO_eddsa_key_get_public=asm["_GNUNET_CRYPTO_eddsa_key_get_public"];asm["_GNUNET_CRYPTO_eddsa_key_get_public"]=(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__GNUNET_CRYPTO_eddsa_key_get_public.apply(null,arguments)});var real__llvm_bswap_i32=asm["_llvm_bswap_i32"];asm["_llvm_bswap_i32"]=(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__llvm_bswap_i32.apply(null,arguments)});var real__GNUNET_CRYPTO_rsa_private_key_create=asm["_GNUNET_CRYPTO_rsa_private_key_create"];asm["_GNUNET_CRYPTO_rsa_private_key_create"]=(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__GNUNET_CRYPTO_rsa_private_key_create.apply(null,arguments)});var real__TALER_gcrypt_init=asm["_TALER_gcrypt_init"];asm["_TALER_gcrypt_init"]=(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__TALER_gcrypt_init.apply(null,arguments)});var real_establishStackSpace=asm["establishStackSpace"];asm["establishStackSpace"]=(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_establishStackSpace.apply(null,arguments)});var real__pthread_mutex_lock=asm["_pthread_mutex_lock"];asm["_pthread_mutex_lock"]=(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__pthread_mutex_lock.apply(null,arguments)});var real__GNUNET_CRYPTO_rsa_public_key_decode=asm["_GNUNET_CRYPTO_rsa_public_key_decode"];asm["_GNUNET_CRYPTO_rsa_public_key_decode"]=(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__GNUNET_CRYPTO_rsa_public_key_decode.apply(null,arguments)});var real__TALER_WRALL_ecdsa_public_key_from_private=asm["_TALER_WRALL_ecdsa_public_key_from_private"];asm["_TALER_WRALL_ecdsa_public_key_from_private"]=(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__TALER_WRALL_ecdsa_public_key_from_private.apply(null,arguments)});var real__GNUNET_CRYPTO_rsa_signature_encode=asm["_GNUNET_CRYPTO_rsa_signature_encode"];asm["_GNUNET_CRYPTO_rsa_signature_encode"]=(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__GNUNET_CRYPTO_rsa_signature_encode.apply(null,arguments)});var real__GNUNET_CRYPTO_rsa_verify=asm["_GNUNET_CRYPTO_rsa_verify"];asm["_GNUNET_CRYPTO_rsa_verify"]=(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__GNUNET_CRYPTO_rsa_verify.apply(null,arguments)});var real__GNUNET_STRINGS_string_to_data=asm["_GNUNET_STRINGS_string_to_data"];asm["_GNUNET_STRINGS_string_to_data"]=(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__GNUNET_STRINGS_string_to_data.apply(null,arguments)});var real__GNUNET_CRYPTO_hash_context_finish=asm["_GNUNET_CRYPTO_hash_context_finish"];asm["_GNUNET_CRYPTO_hash_context_finish"]=(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__GNUNET_CRYPTO_hash_context_finish.apply(null,arguments)});var real__GNUNET_CRYPTO_rsa_unblind=asm["_GNUNET_CRYPTO_rsa_unblind"];asm["_GNUNET_CRYPTO_rsa_unblind"]=(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__GNUNET_CRYPTO_rsa_unblind.apply(null,arguments)});var real__TALER_WR_get_currency=asm["_TALER_WR_get_currency"];asm["_TALER_WR_get_currency"]=(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__TALER_WR_get_currency.apply(null,arguments)});var real__GNUNET_CRYPTO_random_block=asm["_GNUNET_CRYPTO_random_block"];asm["_GNUNET_CRYPTO_random_block"]=(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__GNUNET_CRYPTO_random_block.apply(null,arguments)});var real__TALER_WRALL_get_amount=asm["_TALER_WRALL_get_amount"];asm["_TALER_WRALL_get_amount"]=(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__TALER_WRALL_get_amount.apply(null,arguments)});var real__GNUNET_CRYPTO_rsa_private_key_encode=asm["_GNUNET_CRYPTO_rsa_private_key_encode"];asm["_GNUNET_CRYPTO_rsa_private_key_encode"]=(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__GNUNET_CRYPTO_rsa_private_key_encode.apply(null,arguments)});var real__GNUNET_CRYPTO_symmetric_decrypt=asm["_GNUNET_CRYPTO_symmetric_decrypt"];asm["_GNUNET_CRYPTO_symmetric_decrypt"]=(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__GNUNET_CRYPTO_symmetric_decrypt.apply(null,arguments)});var real__i64Subtract=asm["_i64Subtract"];asm["_i64Subtract"]=(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__i64Subtract.apply(null,arguments)});var real_setTempRet0=asm["setTempRet0"];asm["setTempRet0"]=(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_setTempRet0.apply(null,arguments)});var real__TALER_WR_get_value=asm["_TALER_WR_get_value"];asm["_TALER_WR_get_value"]=(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__TALER_WR_get_value.apply(null,arguments)});var real__GNUNET_CRYPTO_ecdhe_key_get_public=asm["_GNUNET_CRYPTO_ecdhe_key_get_public"];asm["_GNUNET_CRYPTO_ecdhe_key_get_public"]=(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__GNUNET_CRYPTO_ecdhe_key_get_public.apply(null,arguments)});var real__GNUNET_util_cl_init=asm["_GNUNET_util_cl_init"];asm["_GNUNET_util_cl_init"]=(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__GNUNET_util_cl_init.apply(null,arguments)});var real____remdi3=asm["___remdi3"];asm["___remdi3"]=(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____remdi3.apply(null,arguments)});var real____muldsi3=asm["___muldsi3"];asm["___muldsi3"]=(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____muldsi3.apply(null,arguments)});var real__GNUNET_CRYPTO_rsa_blind=asm["_GNUNET_CRYPTO_rsa_blind"];asm["_GNUNET_CRYPTO_rsa_blind"]=(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__GNUNET_CRYPTO_rsa_blind.apply(null,arguments)});var real__GNUNET_STRINGS_data_to_string_alloc=asm["_GNUNET_STRINGS_data_to_string_alloc"];asm["_GNUNET_STRINGS_data_to_string_alloc"]=(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__GNUNET_STRINGS_data_to_string_alloc.apply(null,arguments)});var real__malloc=asm["_malloc"];asm["_malloc"]=(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__malloc.apply(null,arguments)});var real__GNUNET_CRYPTO_rsa_signature_decode=asm["_GNUNET_CRYPTO_rsa_signature_decode"];asm["_GNUNET_CRYPTO_rsa_signature_decode"]=(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__GNUNET_CRYPTO_rsa_signature_decode.apply(null,arguments)});var real__TALER_setup_fresh_coin=asm["_TALER_setup_fresh_coin"];asm["_TALER_setup_fresh_coin"]=(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__TALER_setup_fresh_coin.apply(null,arguments)});var real__GNUNET_CRYPTO_ecdhe_key_create=asm["_GNUNET_CRYPTO_ecdhe_key_create"];asm["_GNUNET_CRYPTO_ecdhe_key_create"]=(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__GNUNET_CRYPTO_ecdhe_key_create.apply(null,arguments)});var real____udivdi3=asm["___udivdi3"];asm["___udivdi3"]=(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____udivdi3.apply(null,arguments)});var real__TALER_amount_normalize=asm["_TALER_amount_normalize"];asm["_TALER_amount_normalize"]=(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__TALER_amount_normalize.apply(null,arguments)});var real__GNUNET_CRYPTO_hash_context_read=asm["_GNUNET_CRYPTO_hash_context_read"];asm["_GNUNET_CRYPTO_hash_context_read"]=(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__GNUNET_CRYPTO_hash_context_read.apply(null,arguments)});var real__bitshift64Shl=asm["_bitshift64Shl"];asm["_bitshift64Shl"]=(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__bitshift64Shl.apply(null,arguments)});var real__GNUNET_CRYPTO_rsa_private_key_free=asm["_GNUNET_CRYPTO_rsa_private_key_free"];asm["_GNUNET_CRYPTO_rsa_private_key_free"]=(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__GNUNET_CRYPTO_rsa_private_key_free.apply(null,arguments)});var real__fflush=asm["_fflush"];asm["_fflush"]=(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__fflush.apply(null,arguments)});var real__GNUNET_CRYPTO_hash_create_random=asm["_GNUNET_CRYPTO_hash_create_random"];asm["_GNUNET_CRYPTO_hash_create_random"]=(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__GNUNET_CRYPTO_hash_create_random.apply(null,arguments)});var real__TALER_WRALL_eddsa_public_key_from_private=asm["_TALER_WRALL_eddsa_public_key_from_private"];asm["_TALER_WRALL_eddsa_public_key_from_private"]=(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__TALER_WRALL_eddsa_public_key_from_private.apply(null,arguments)});var real____muldi3=asm["___muldi3"];asm["___muldi3"]=(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____muldi3.apply(null,arguments)});var real__GNUNET_CRYPTO_ecc_ecdh=asm["_GNUNET_CRYPTO_ecc_ecdh"];asm["_GNUNET_CRYPTO_ecc_ecdh"]=(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__GNUNET_CRYPTO_ecc_ecdh.apply(null,arguments)});var real__TALER_amount_add=asm["_TALER_amount_add"];asm["_TALER_amount_add"]=(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__TALER_amount_add.apply(null,arguments)});var real____uremdi3=asm["___uremdi3"];asm["___uremdi3"]=(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____uremdi3.apply(null,arguments)});var real__GNUNET_CRYPTO_rsa_signature_free=asm["_GNUNET_CRYPTO_rsa_signature_free"];asm["_GNUNET_CRYPTO_rsa_signature_free"]=(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__GNUNET_CRYPTO_rsa_signature_free.apply(null,arguments)});var real__TALER_amount_subtract=asm["_TALER_amount_subtract"];asm["_TALER_amount_subtract"]=(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__TALER_amount_subtract.apply(null,arguments)});var real__i64Add=asm["_i64Add"];asm["_i64Add"]=(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__i64Add.apply(null,arguments)});var real__TALER_WRALL_purpose_create=asm["_TALER_WRALL_purpose_create"];asm["_TALER_WRALL_purpose_create"]=(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__TALER_WRALL_purpose_create.apply(null,arguments)});var real__pthread_mutex_unlock=asm["_pthread_mutex_unlock"];asm["_pthread_mutex_unlock"]=(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__pthread_mutex_unlock.apply(null,arguments)});var real_stackRestore=asm["stackRestore"];asm["stackRestore"]=(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_stackRestore.apply(null,arguments)});var real__GNUNET_CRYPTO_eddsa_sign=asm["_GNUNET_CRYPTO_eddsa_sign"];asm["_GNUNET_CRYPTO_eddsa_sign"]=(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__GNUNET_CRYPTO_eddsa_sign.apply(null,arguments)});var real____errno_location=asm["___errno_location"];asm["___errno_location"]=(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____errno_location.apply(null,arguments)});var real__TALER_WRALL_ecdhe_public_key_from_private=asm["_TALER_WRALL_ecdhe_public_key_from_private"];asm["_TALER_WRALL_ecdhe_public_key_from_private"]=(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__TALER_WRALL_ecdhe_public_key_from_private.apply(null,arguments)});var real__GNUNET_CRYPTO_hash_context_abort=asm["_GNUNET_CRYPTO_hash_context_abort"];asm["_GNUNET_CRYPTO_hash_context_abort"]=(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__GNUNET_CRYPTO_hash_context_abort.apply(null,arguments)});var real__memmove=asm["_memmove"];asm["_memmove"]=(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__memmove.apply(null,arguments)});var real__GNUNET_CRYPTO_random_init=asm["_GNUNET_CRYPTO_random_init"];asm["_GNUNET_CRYPTO_random_init"]=(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__GNUNET_CRYPTO_random_init.apply(null,arguments)});var real__TALER_amount_get_zero=asm["_TALER_amount_get_zero"];asm["_TALER_amount_get_zero"]=(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__TALER_amount_get_zero.apply(null,arguments)});var real__GNUNET_CRYPTO_rsa_public_key_encode=asm["_GNUNET_CRYPTO_rsa_public_key_encode"];asm["_GNUNET_CRYPTO_rsa_public_key_encode"]=(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__GNUNET_CRYPTO_rsa_public_key_encode.apply(null,arguments)});var real__GNUNET_CRYPTO_hash=asm["_GNUNET_CRYPTO_hash"];asm["_GNUNET_CRYPTO_hash"]=(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__GNUNET_CRYPTO_hash.apply(null,arguments)});var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _bitshift64Ashr=Module["_bitshift64Ashr"]=asm["_bitshift64Ashr"];var _sbrk=Module["_sbrk"]=asm["_sbrk"];var _GNUNET_CRYPTO_eddsa_key_create=Module["_GNUNET_CRYPTO_eddsa_key_create"]=asm["_GNUNET_CRYPTO_eddsa_key_create"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _GNUNET_CRYPTO_rsa_private_key_decode=Module["_GNUNET_CRYPTO_rsa_private_key_decode"]=asm["_GNUNET_CRYPTO_rsa_private_key_decode"];var ___udivmoddi4=Module["___udivmoddi4"]=asm["___udivmoddi4"];var _GNUNET_CRYPTO_ecdh_eddsa=Module["_GNUNET_CRYPTO_ecdh_eddsa"]=asm["_GNUNET_CRYPTO_ecdh_eddsa"];var _emscripten_get_global_libc=Module["_emscripten_get_global_libc"]=asm["_emscripten_get_global_libc"];var _TALER_amount_hton=Module["_TALER_amount_hton"]=asm["_TALER_amount_hton"];var stackSave=Module["stackSave"]=asm["stackSave"];var _gpg_err_init=Module["_gpg_err_init"]=asm["_gpg_err_init"];var _free=Module["_free"]=asm["_free"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var _memalign=Module["_memalign"]=asm["_memalign"];var _GNUNET_CRYPTO_ecdsa_key_create=Module["_GNUNET_CRYPTO_ecdsa_key_create"]=asm["_GNUNET_CRYPTO_ecdsa_key_create"];var _GNUNET_CRYPTO_hash_context_start=Module["_GNUNET_CRYPTO_hash_context_start"]=asm["_GNUNET_CRYPTO_hash_context_start"];var _GNUNET_CRYPTO_rsa_private_key_get_public=Module["_GNUNET_CRYPTO_rsa_private_key_get_public"]=asm["_GNUNET_CRYPTO_rsa_private_key_get_public"];var _GNUNET_CRYPTO_eddsa_verify=Module["_GNUNET_CRYPTO_eddsa_verify"]=asm["_GNUNET_CRYPTO_eddsa_verify"];var setThrew=Module["setThrew"]=asm["setThrew"];var _GNUNET_CRYPTO_symmetric_encrypt=Module["_GNUNET_CRYPTO_symmetric_encrypt"]=asm["_GNUNET_CRYPTO_symmetric_encrypt"];var _TALER_WR_get_fraction=Module["_TALER_WR_get_fraction"]=asm["_TALER_WR_get_fraction"];var _TALER_amount_cmp=Module["_TALER_amount_cmp"]=asm["_TALER_amount_cmp"];var _llvm_cttz_i32=Module["_llvm_cttz_i32"]=asm["_llvm_cttz_i32"];var stackAlloc=Module["stackAlloc"]=asm["stackAlloc"];var _GNUNET_CRYPTO_kdf=Module["_GNUNET_CRYPTO_kdf"]=asm["_GNUNET_CRYPTO_kdf"];var ___divdi3=Module["___divdi3"]=asm["___divdi3"];var _TALER_amount_ntoh=Module["_TALER_amount_ntoh"]=asm["_TALER_amount_ntoh"];var getTempRet0=Module["getTempRet0"]=asm["getTempRet0"];var _GNUNET_CRYPTO_rsa_public_key_free=Module["_GNUNET_CRYPTO_rsa_public_key_free"]=asm["_GNUNET_CRYPTO_rsa_public_key_free"];var _GNUNET_CRYPTO_hkdf=Module["_GNUNET_CRYPTO_hkdf"]=asm["_GNUNET_CRYPTO_hkdf"];var _GNUNET_CRYPTO_eddsa_key_get_public=Module["_GNUNET_CRYPTO_eddsa_key_get_public"]=asm["_GNUNET_CRYPTO_eddsa_key_get_public"];var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=asm["_llvm_bswap_i32"];var _GNUNET_CRYPTO_rsa_private_key_create=Module["_GNUNET_CRYPTO_rsa_private_key_create"]=asm["_GNUNET_CRYPTO_rsa_private_key_create"];var _TALER_gcrypt_init=Module["_TALER_gcrypt_init"]=asm["_TALER_gcrypt_init"];var establishStackSpace=Module["establishStackSpace"]=asm["establishStackSpace"];var _pthread_mutex_lock=Module["_pthread_mutex_lock"]=asm["_pthread_mutex_lock"];var _GNUNET_CRYPTO_rsa_public_key_decode=Module["_GNUNET_CRYPTO_rsa_public_key_decode"]=asm["_GNUNET_CRYPTO_rsa_public_key_decode"];var _TALER_WRALL_ecdsa_public_key_from_private=Module["_TALER_WRALL_ecdsa_public_key_from_private"]=asm["_TALER_WRALL_ecdsa_public_key_from_private"];var _GNUNET_CRYPTO_rsa_signature_encode=Module["_GNUNET_CRYPTO_rsa_signature_encode"]=asm["_GNUNET_CRYPTO_rsa_signature_encode"];var _GNUNET_CRYPTO_rsa_verify=Module["_GNUNET_CRYPTO_rsa_verify"]=asm["_GNUNET_CRYPTO_rsa_verify"];var _GNUNET_STRINGS_string_to_data=Module["_GNUNET_STRINGS_string_to_data"]=asm["_GNUNET_STRINGS_string_to_data"];var _memset=Module["_memset"]=asm["_memset"];var _GNUNET_CRYPTO_hash_context_finish=Module["_GNUNET_CRYPTO_hash_context_finish"]=asm["_GNUNET_CRYPTO_hash_context_finish"];var _GNUNET_CRYPTO_rsa_unblind=Module["_GNUNET_CRYPTO_rsa_unblind"]=asm["_GNUNET_CRYPTO_rsa_unblind"];var _TALER_WR_get_currency=Module["_TALER_WR_get_currency"]=asm["_TALER_WR_get_currency"];var _GNUNET_CRYPTO_random_block=Module["_GNUNET_CRYPTO_random_block"]=asm["_GNUNET_CRYPTO_random_block"];var _TALER_WRALL_get_amount=Module["_TALER_WRALL_get_amount"]=asm["_TALER_WRALL_get_amount"];var _GNUNET_CRYPTO_rsa_private_key_encode=Module["_GNUNET_CRYPTO_rsa_private_key_encode"]=asm["_GNUNET_CRYPTO_rsa_private_key_encode"];var _GNUNET_CRYPTO_symmetric_decrypt=Module["_GNUNET_CRYPTO_symmetric_decrypt"]=asm["_GNUNET_CRYPTO_symmetric_decrypt"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var setTempRet0=Module["setTempRet0"]=asm["setTempRet0"];var _TALER_WR_get_value=Module["_TALER_WR_get_value"]=asm["_TALER_WR_get_value"];var _GNUNET_CRYPTO_ecdhe_key_get_public=Module["_GNUNET_CRYPTO_ecdhe_key_get_public"]=asm["_GNUNET_CRYPTO_ecdhe_key_get_public"];var _GNUNET_util_cl_init=Module["_GNUNET_util_cl_init"]=asm["_GNUNET_util_cl_init"];var ___remdi3=Module["___remdi3"]=asm["___remdi3"];var ___muldsi3=Module["___muldsi3"]=asm["___muldsi3"];var _GNUNET_CRYPTO_rsa_blind=Module["_GNUNET_CRYPTO_rsa_blind"]=asm["_GNUNET_CRYPTO_rsa_blind"];var _GNUNET_STRINGS_data_to_string_alloc=Module["_GNUNET_STRINGS_data_to_string_alloc"]=asm["_GNUNET_STRINGS_data_to_string_alloc"];var _malloc=Module["_malloc"]=asm["_malloc"];var _GNUNET_CRYPTO_rsa_signature_decode=Module["_GNUNET_CRYPTO_rsa_signature_decode"]=asm["_GNUNET_CRYPTO_rsa_signature_decode"];var _TALER_setup_fresh_coin=Module["_TALER_setup_fresh_coin"]=asm["_TALER_setup_fresh_coin"];var _GNUNET_CRYPTO_ecdhe_key_create=Module["_GNUNET_CRYPTO_ecdhe_key_create"]=asm["_GNUNET_CRYPTO_ecdhe_key_create"];var ___udivdi3=Module["___udivdi3"]=asm["___udivdi3"];var _TALER_amount_normalize=Module["_TALER_amount_normalize"]=asm["_TALER_amount_normalize"];var _GNUNET_CRYPTO_hash_context_read=Module["_GNUNET_CRYPTO_hash_context_read"]=asm["_GNUNET_CRYPTO_hash_context_read"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _GNUNET_CRYPTO_rsa_private_key_free=Module["_GNUNET_CRYPTO_rsa_private_key_free"]=asm["_GNUNET_CRYPTO_rsa_private_key_free"];var _fflush=Module["_fflush"]=asm["_fflush"];var _GNUNET_CRYPTO_hash_create_random=Module["_GNUNET_CRYPTO_hash_create_random"]=asm["_GNUNET_CRYPTO_hash_create_random"];var _TALER_WRALL_eddsa_public_key_from_private=Module["_TALER_WRALL_eddsa_public_key_from_private"]=asm["_TALER_WRALL_eddsa_public_key_from_private"];var ___muldi3=Module["___muldi3"]=asm["___muldi3"];var _GNUNET_CRYPTO_ecc_ecdh=Module["_GNUNET_CRYPTO_ecc_ecdh"]=asm["_GNUNET_CRYPTO_ecc_ecdh"];var _TALER_amount_add=Module["_TALER_amount_add"]=asm["_TALER_amount_add"];var ___uremdi3=Module["___uremdi3"]=asm["___uremdi3"];var _GNUNET_CRYPTO_rsa_signature_free=Module["_GNUNET_CRYPTO_rsa_signature_free"]=asm["_GNUNET_CRYPTO_rsa_signature_free"];var _TALER_amount_subtract=Module["_TALER_amount_subtract"]=asm["_TALER_amount_subtract"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _TALER_WRALL_purpose_create=Module["_TALER_WRALL_purpose_create"]=asm["_TALER_WRALL_purpose_create"];var _pthread_mutex_unlock=Module["_pthread_mutex_unlock"]=asm["_pthread_mutex_unlock"];var stackRestore=Module["stackRestore"]=asm["stackRestore"];var _GNUNET_CRYPTO_eddsa_sign=Module["_GNUNET_CRYPTO_eddsa_sign"]=asm["_GNUNET_CRYPTO_eddsa_sign"];var ___errno_location=Module["___errno_location"]=asm["___errno_location"];var _TALER_WRALL_ecdhe_public_key_from_private=Module["_TALER_WRALL_ecdhe_public_key_from_private"]=asm["_TALER_WRALL_ecdhe_public_key_from_private"];var _GNUNET_CRYPTO_hash_context_abort=Module["_GNUNET_CRYPTO_hash_context_abort"]=asm["_GNUNET_CRYPTO_hash_context_abort"];var _memmove=Module["_memmove"]=asm["_memmove"];var _GNUNET_CRYPTO_random_init=Module["_GNUNET_CRYPTO_random_init"]=asm["_GNUNET_CRYPTO_random_init"];var _TALER_amount_get_zero=Module["_TALER_amount_get_zero"]=asm["_TALER_amount_get_zero"];var _GNUNET_CRYPTO_rsa_public_key_encode=Module["_GNUNET_CRYPTO_rsa_public_key_encode"]=asm["_GNUNET_CRYPTO_rsa_public_key_encode"];var _GNUNET_CRYPTO_hash=Module["_GNUNET_CRYPTO_hash"]=asm["_GNUNET_CRYPTO_hash"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_iiiii=Module["dynCall_iiiii"]=asm["dynCall_iiiii"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];Runtime.stackAlloc=Module["stackAlloc"];Runtime.stackSave=Module["stackSave"];Runtime.stackRestore=Module["stackRestore"];Runtime.establishStackSpace=Module["establishStackSpace"];Runtime.setTempRet0=Module["setTempRet0"];Runtime.getTempRet0=Module["getTempRet0"];Module["asm"]=asm;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(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};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);try{var ret=Module["_main"](argc,argv,0);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="SimulateInfiniteLoop"){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}writeStackCookie();preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;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["onRuntimeInitialized"])Module["onRuntimeInitialized"]();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()}checkStackCookie()}Module["run"]=Module.run=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]){Module.printErr("exit("+status+") implicitly called by end of main(), but noExitRuntime, so not exiting the runtime (you can use emscripten_force_exit, if you want to force a true shutdown)");return}if(Module["noExitRuntime"]){Module.printErr("exit("+status+") called, but noExitRuntime, so halting execution but not exiting the runtime or preventing further async execution (you can use emscripten_force_exit, if you want to force a true shutdown)")}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["exit"](status)}else if(ENVIRONMENT_IS_SHELL&&typeof quit==="function"){quit(status)}throw new ExitStatus(status)}Module["exit"]=Module.exit=exit;var abortDecorators=[];function abort(what){if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;var extra="";var output="abort("+what+") at "+stackTrace()+extra;if(abortDecorators){abortDecorators.forEach((function(decorator){output=decorator(output,what)}))}throw output}Module["abort"]=Module.abort=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"]){shouldRunNow=false}run()
+(Module.asmGlobalArg, Module.asmLibraryArg, buffer);
+
+var real__GNUNET_CRYPTO_ecc_ecdh = asm["_GNUNET_CRYPTO_ecc_ecdh"]; asm["_GNUNET_CRYPTO_ecc_ecdh"] = 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__GNUNET_CRYPTO_ecc_ecdh.apply(null, arguments);
+};
+
+var real__GNUNET_CRYPTO_ecdh_eddsa = asm["_GNUNET_CRYPTO_ecdh_eddsa"]; asm["_GNUNET_CRYPTO_ecdh_eddsa"] = 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__GNUNET_CRYPTO_ecdh_eddsa.apply(null, arguments);
+};
+
+var real__GNUNET_CRYPTO_ecdhe_key_create = asm["_GNUNET_CRYPTO_ecdhe_key_create"]; asm["_GNUNET_CRYPTO_ecdhe_key_create"] = 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__GNUNET_CRYPTO_ecdhe_key_create.apply(null, arguments);
+};
+
+var real__GNUNET_CRYPTO_ecdhe_key_get_public = asm["_GNUNET_CRYPTO_ecdhe_key_get_public"]; asm["_GNUNET_CRYPTO_ecdhe_key_get_public"] = 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__GNUNET_CRYPTO_ecdhe_key_get_public.apply(null, arguments);
+};
+
+var real__GNUNET_CRYPTO_ecdsa_key_create = asm["_GNUNET_CRYPTO_ecdsa_key_create"]; asm["_GNUNET_CRYPTO_ecdsa_key_create"] = 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__GNUNET_CRYPTO_ecdsa_key_create.apply(null, arguments);
+};
+
+var real__GNUNET_CRYPTO_eddsa_key_create = asm["_GNUNET_CRYPTO_eddsa_key_create"]; asm["_GNUNET_CRYPTO_eddsa_key_create"] = 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__GNUNET_CRYPTO_eddsa_key_create.apply(null, arguments);
+};
+
+var real__GNUNET_CRYPTO_eddsa_key_get_public = asm["_GNUNET_CRYPTO_eddsa_key_get_public"]; asm["_GNUNET_CRYPTO_eddsa_key_get_public"] = 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__GNUNET_CRYPTO_eddsa_key_get_public.apply(null, arguments);
+};
+
+var real__GNUNET_CRYPTO_eddsa_sign = asm["_GNUNET_CRYPTO_eddsa_sign"]; asm["_GNUNET_CRYPTO_eddsa_sign"] = 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__GNUNET_CRYPTO_eddsa_sign.apply(null, arguments);
+};
+
+var real__GNUNET_CRYPTO_eddsa_verify = asm["_GNUNET_CRYPTO_eddsa_verify"]; asm["_GNUNET_CRYPTO_eddsa_verify"] = 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__GNUNET_CRYPTO_eddsa_verify.apply(null, arguments);
+};
+
+var real__GNUNET_CRYPTO_hash = asm["_GNUNET_CRYPTO_hash"]; asm["_GNUNET_CRYPTO_hash"] = 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__GNUNET_CRYPTO_hash.apply(null, arguments);
+};
+
+var real__GNUNET_CRYPTO_hash_context_abort = asm["_GNUNET_CRYPTO_hash_context_abort"]; asm["_GNUNET_CRYPTO_hash_context_abort"] = 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__GNUNET_CRYPTO_hash_context_abort.apply(null, arguments);
+};
+
+var real__GNUNET_CRYPTO_hash_context_finish = asm["_GNUNET_CRYPTO_hash_context_finish"]; asm["_GNUNET_CRYPTO_hash_context_finish"] = 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__GNUNET_CRYPTO_hash_context_finish.apply(null, arguments);
+};
+
+var real__GNUNET_CRYPTO_hash_context_read = asm["_GNUNET_CRYPTO_hash_context_read"]; asm["_GNUNET_CRYPTO_hash_context_read"] = 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__GNUNET_CRYPTO_hash_context_read.apply(null, arguments);
+};
+
+var real__GNUNET_CRYPTO_hash_context_start = asm["_GNUNET_CRYPTO_hash_context_start"]; asm["_GNUNET_CRYPTO_hash_context_start"] = 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__GNUNET_CRYPTO_hash_context_start.apply(null, arguments);
+};
+
+var real__GNUNET_CRYPTO_hash_create_random = asm["_GNUNET_CRYPTO_hash_create_random"]; asm["_GNUNET_CRYPTO_hash_create_random"] = 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__GNUNET_CRYPTO_hash_create_random.apply(null, arguments);
+};
+
+var real__GNUNET_CRYPTO_hkdf = asm["_GNUNET_CRYPTO_hkdf"]; asm["_GNUNET_CRYPTO_hkdf"] = 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__GNUNET_CRYPTO_hkdf.apply(null, arguments);
+};
+
+var real__GNUNET_CRYPTO_kdf = asm["_GNUNET_CRYPTO_kdf"]; asm["_GNUNET_CRYPTO_kdf"] = 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__GNUNET_CRYPTO_kdf.apply(null, arguments);
+};
+
+var real__GNUNET_CRYPTO_random_block = asm["_GNUNET_CRYPTO_random_block"]; asm["_GNUNET_CRYPTO_random_block"] = 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__GNUNET_CRYPTO_random_block.apply(null, arguments);
+};
+
+var real__GNUNET_CRYPTO_random_init = asm["_GNUNET_CRYPTO_random_init"]; asm["_GNUNET_CRYPTO_random_init"] = 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__GNUNET_CRYPTO_random_init.apply(null, arguments);
+};
+
+var real__GNUNET_CRYPTO_rsa_blind = asm["_GNUNET_CRYPTO_rsa_blind"]; asm["_GNUNET_CRYPTO_rsa_blind"] = 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__GNUNET_CRYPTO_rsa_blind.apply(null, arguments);
+};
+
+var real__GNUNET_CRYPTO_rsa_private_key_create = asm["_GNUNET_CRYPTO_rsa_private_key_create"]; asm["_GNUNET_CRYPTO_rsa_private_key_create"] = 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__GNUNET_CRYPTO_rsa_private_key_create.apply(null, arguments);
+};
+
+var real__GNUNET_CRYPTO_rsa_private_key_decode = asm["_GNUNET_CRYPTO_rsa_private_key_decode"]; asm["_GNUNET_CRYPTO_rsa_private_key_decode"] = 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__GNUNET_CRYPTO_rsa_private_key_decode.apply(null, arguments);
+};
+
+var real__GNUNET_CRYPTO_rsa_private_key_encode = asm["_GNUNET_CRYPTO_rsa_private_key_encode"]; asm["_GNUNET_CRYPTO_rsa_private_key_encode"] = 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__GNUNET_CRYPTO_rsa_private_key_encode.apply(null, arguments);
+};
+
+var real__GNUNET_CRYPTO_rsa_private_key_free = asm["_GNUNET_CRYPTO_rsa_private_key_free"]; asm["_GNUNET_CRYPTO_rsa_private_key_free"] = 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__GNUNET_CRYPTO_rsa_private_key_free.apply(null, arguments);
+};
+
+var real__GNUNET_CRYPTO_rsa_private_key_get_public = asm["_GNUNET_CRYPTO_rsa_private_key_get_public"]; asm["_GNUNET_CRYPTO_rsa_private_key_get_public"] = 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__GNUNET_CRYPTO_rsa_private_key_get_public.apply(null, arguments);
+};
+
+var real__GNUNET_CRYPTO_rsa_public_key_decode = asm["_GNUNET_CRYPTO_rsa_public_key_decode"]; asm["_GNUNET_CRYPTO_rsa_public_key_decode"] = 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__GNUNET_CRYPTO_rsa_public_key_decode.apply(null, arguments);
+};
+
+var real__GNUNET_CRYPTO_rsa_public_key_encode = asm["_GNUNET_CRYPTO_rsa_public_key_encode"]; asm["_GNUNET_CRYPTO_rsa_public_key_encode"] = 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__GNUNET_CRYPTO_rsa_public_key_encode.apply(null, arguments);
+};
+
+var real__GNUNET_CRYPTO_rsa_public_key_free = asm["_GNUNET_CRYPTO_rsa_public_key_free"]; asm["_GNUNET_CRYPTO_rsa_public_key_free"] = 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__GNUNET_CRYPTO_rsa_public_key_free.apply(null, arguments);
+};
+
+var real__GNUNET_CRYPTO_rsa_signature_decode = asm["_GNUNET_CRYPTO_rsa_signature_decode"]; asm["_GNUNET_CRYPTO_rsa_signature_decode"] = 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__GNUNET_CRYPTO_rsa_signature_decode.apply(null, arguments);
+};
+
+var real__GNUNET_CRYPTO_rsa_signature_encode = asm["_GNUNET_CRYPTO_rsa_signature_encode"]; asm["_GNUNET_CRYPTO_rsa_signature_encode"] = 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__GNUNET_CRYPTO_rsa_signature_encode.apply(null, arguments);
+};
+
+var real__GNUNET_CRYPTO_rsa_signature_free = asm["_GNUNET_CRYPTO_rsa_signature_free"]; asm["_GNUNET_CRYPTO_rsa_signature_free"] = 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__GNUNET_CRYPTO_rsa_signature_free.apply(null, arguments);
+};
+
+var real__GNUNET_CRYPTO_rsa_unblind = asm["_GNUNET_CRYPTO_rsa_unblind"]; asm["_GNUNET_CRYPTO_rsa_unblind"] = 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__GNUNET_CRYPTO_rsa_unblind.apply(null, arguments);
+};
+
+var real__GNUNET_CRYPTO_rsa_verify = asm["_GNUNET_CRYPTO_rsa_verify"]; asm["_GNUNET_CRYPTO_rsa_verify"] = 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__GNUNET_CRYPTO_rsa_verify.apply(null, arguments);
+};
+
+var real__GNUNET_CRYPTO_symmetric_decrypt = asm["_GNUNET_CRYPTO_symmetric_decrypt"]; asm["_GNUNET_CRYPTO_symmetric_decrypt"] = 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__GNUNET_CRYPTO_symmetric_decrypt.apply(null, arguments);
+};
+
+var real__GNUNET_CRYPTO_symmetric_encrypt = asm["_GNUNET_CRYPTO_symmetric_encrypt"]; asm["_GNUNET_CRYPTO_symmetric_encrypt"] = 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__GNUNET_CRYPTO_symmetric_encrypt.apply(null, arguments);
+};
+
+var real__GNUNET_STRINGS_data_to_string_alloc = asm["_GNUNET_STRINGS_data_to_string_alloc"]; asm["_GNUNET_STRINGS_data_to_string_alloc"] = 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__GNUNET_STRINGS_data_to_string_alloc.apply(null, arguments);
+};
+
+var real__GNUNET_STRINGS_string_to_data = asm["_GNUNET_STRINGS_string_to_data"]; asm["_GNUNET_STRINGS_string_to_data"] = 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__GNUNET_STRINGS_string_to_data.apply(null, arguments);
+};
+
+var real__GNUNET_util_cl_init = asm["_GNUNET_util_cl_init"]; asm["_GNUNET_util_cl_init"] = 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__GNUNET_util_cl_init.apply(null, arguments);
+};
+
+var real__TALER_WRALL_ecdhe_public_key_from_private = asm["_TALER_WRALL_ecdhe_public_key_from_private"]; asm["_TALER_WRALL_ecdhe_public_key_from_private"] = 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__TALER_WRALL_ecdhe_public_key_from_private.apply(null, arguments);
+};
+
+var real__TALER_WRALL_ecdsa_public_key_from_private = asm["_TALER_WRALL_ecdsa_public_key_from_private"]; asm["_TALER_WRALL_ecdsa_public_key_from_private"] = 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__TALER_WRALL_ecdsa_public_key_from_private.apply(null, arguments);
+};
+
+var real__TALER_WRALL_eddsa_public_key_from_private = asm["_TALER_WRALL_eddsa_public_key_from_private"]; asm["_TALER_WRALL_eddsa_public_key_from_private"] = 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__TALER_WRALL_eddsa_public_key_from_private.apply(null, arguments);
+};
+
+var real__TALER_WRALL_get_amount = asm["_TALER_WRALL_get_amount"]; asm["_TALER_WRALL_get_amount"] = 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__TALER_WRALL_get_amount.apply(null, arguments);
+};
+
+var real__TALER_WRALL_purpose_create = asm["_TALER_WRALL_purpose_create"]; asm["_TALER_WRALL_purpose_create"] = 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__TALER_WRALL_purpose_create.apply(null, arguments);
+};
+
+var real__TALER_WR_get_currency = asm["_TALER_WR_get_currency"]; asm["_TALER_WR_get_currency"] = 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__TALER_WR_get_currency.apply(null, arguments);
+};
+
+var real__TALER_WR_get_fraction = asm["_TALER_WR_get_fraction"]; asm["_TALER_WR_get_fraction"] = 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__TALER_WR_get_fraction.apply(null, arguments);
+};
+
+var real__TALER_WR_get_value = asm["_TALER_WR_get_value"]; asm["_TALER_WR_get_value"] = 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__TALER_WR_get_value.apply(null, arguments);
+};
+
+var real__TALER_amount_add = asm["_TALER_amount_add"]; asm["_TALER_amount_add"] = 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__TALER_amount_add.apply(null, arguments);
+};
+
+var real__TALER_amount_cmp = asm["_TALER_amount_cmp"]; asm["_TALER_amount_cmp"] = 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__TALER_amount_cmp.apply(null, arguments);
+};
+
+var real__TALER_amount_get_zero = asm["_TALER_amount_get_zero"]; asm["_TALER_amount_get_zero"] = 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__TALER_amount_get_zero.apply(null, arguments);
+};
+
+var real__TALER_amount_hton = asm["_TALER_amount_hton"]; asm["_TALER_amount_hton"] = 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__TALER_amount_hton.apply(null, arguments);
+};
+
+var real__TALER_amount_normalize = asm["_TALER_amount_normalize"]; asm["_TALER_amount_normalize"] = 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__TALER_amount_normalize.apply(null, arguments);
+};
+
+var real__TALER_amount_ntoh = asm["_TALER_amount_ntoh"]; asm["_TALER_amount_ntoh"] = 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__TALER_amount_ntoh.apply(null, arguments);
+};
+
+var real__TALER_amount_subtract = asm["_TALER_amount_subtract"]; asm["_TALER_amount_subtract"] = 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__TALER_amount_subtract.apply(null, arguments);
+};
+
+var real__TALER_gcrypt_init = asm["_TALER_gcrypt_init"]; asm["_TALER_gcrypt_init"] = 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__TALER_gcrypt_init.apply(null, arguments);
+};
+
+var real__TALER_setup_fresh_coin = asm["_TALER_setup_fresh_coin"]; asm["_TALER_setup_fresh_coin"] = 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__TALER_setup_fresh_coin.apply(null, arguments);
+};
+
+var real____divdi3 = asm["___divdi3"]; asm["___divdi3"] = 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____divdi3.apply(null, arguments);
+};
+
+var real____emscripten_environ_constructor = asm["___emscripten_environ_constructor"]; asm["___emscripten_environ_constructor"] = 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____emscripten_environ_constructor.apply(null, arguments);
+};
+
+var real____errno_location = asm["___errno_location"]; asm["___errno_location"] = 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____errno_location.apply(null, arguments);
+};
+
+var real____muldi3 = asm["___muldi3"]; asm["___muldi3"] = 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____muldi3.apply(null, arguments);
+};
+
+var real____udivdi3 = asm["___udivdi3"]; asm["___udivdi3"] = 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____udivdi3.apply(null, arguments);
+};
+
+var real____uremdi3 = asm["___uremdi3"]; asm["___uremdi3"] = 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____uremdi3.apply(null, arguments);
+};
+
+var real___get_daylight = asm["__get_daylight"]; asm["__get_daylight"] = 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___get_daylight.apply(null, arguments);
+};
+
+var real___get_environ = asm["__get_environ"]; asm["__get_environ"] = 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___get_environ.apply(null, arguments);
+};
+
+var real___get_timezone = asm["__get_timezone"]; asm["__get_timezone"] = 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___get_timezone.apply(null, arguments);
+};
+
+var real___get_tzname = asm["__get_tzname"]; asm["__get_tzname"] = 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___get_tzname.apply(null, arguments);
+};
+
+var real__bitshift64Ashr = asm["_bitshift64Ashr"]; asm["_bitshift64Ashr"] = 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__bitshift64Ashr.apply(null, arguments);
+};
+
+var real__bitshift64Lshr = asm["_bitshift64Lshr"]; asm["_bitshift64Lshr"] = 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__bitshift64Lshr.apply(null, arguments);
+};
+
+var real__bitshift64Shl = asm["_bitshift64Shl"]; asm["_bitshift64Shl"] = 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__bitshift64Shl.apply(null, arguments);
+};
+
+var real__fflush = asm["_fflush"]; asm["_fflush"] = 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__fflush.apply(null, arguments);
+};
+
+var real__free = asm["_free"]; asm["_free"] = 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__free.apply(null, arguments);
+};
+
+var real__gpg_err_init = asm["_gpg_err_init"]; asm["_gpg_err_init"] = 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__gpg_err_init.apply(null, arguments);
+};
+
+var real__i64Add = asm["_i64Add"]; asm["_i64Add"] = 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__i64Add.apply(null, arguments);
+};
+
+var real__i64Subtract = asm["_i64Subtract"]; asm["_i64Subtract"] = 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__i64Subtract.apply(null, arguments);
+};
+
+var real__llvm_bswap_i32 = asm["_llvm_bswap_i32"]; asm["_llvm_bswap_i32"] = 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__llvm_bswap_i32.apply(null, arguments);
+};
+
+var real__llvm_cttz_i32 = asm["_llvm_cttz_i32"]; asm["_llvm_cttz_i32"] = 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__llvm_cttz_i32.apply(null, arguments);
+};
+
+var real__malloc = asm["_malloc"]; asm["_malloc"] = 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__malloc.apply(null, arguments);
+};
+
+var real__memalign = asm["_memalign"]; asm["_memalign"] = 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__memalign.apply(null, arguments);
+};
+
+var real__memmove = asm["_memmove"]; asm["_memmove"] = 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__memmove.apply(null, arguments);
+};
+
+var real__pthread_mutex_lock = asm["_pthread_mutex_lock"]; asm["_pthread_mutex_lock"] = 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__pthread_mutex_lock.apply(null, arguments);
+};
+
+var real__pthread_mutex_unlock = asm["_pthread_mutex_unlock"]; asm["_pthread_mutex_unlock"] = 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__pthread_mutex_unlock.apply(null, arguments);
+};
+
+var real__sbrk = asm["_sbrk"]; asm["_sbrk"] = 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__sbrk.apply(null, arguments);
+};
+
+var real_establishStackSpace = asm["establishStackSpace"]; asm["establishStackSpace"] = 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_establishStackSpace.apply(null, arguments);
+};
+
+var real_getTempRet0 = asm["getTempRet0"]; asm["getTempRet0"] = 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_getTempRet0.apply(null, arguments);
+};
+
+var real_setTempRet0 = asm["setTempRet0"]; asm["setTempRet0"] = 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_setTempRet0.apply(null, arguments);
+};
+
+var real_setThrew = asm["setThrew"]; asm["setThrew"] = 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_setThrew.apply(null, arguments);
+};
+
+var real_stackAlloc = asm["stackAlloc"]; asm["stackAlloc"] = 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_stackAlloc.apply(null, arguments);
+};
+
+var real_stackRestore = asm["stackRestore"]; asm["stackRestore"] = 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_stackRestore.apply(null, arguments);
+};
+
+var real_stackSave = asm["stackSave"]; asm["stackSave"] = 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_stackSave.apply(null, arguments);
+};
+var _GNUNET_CRYPTO_ecc_ecdh = Module["_GNUNET_CRYPTO_ecc_ecdh"] = asm["_GNUNET_CRYPTO_ecc_ecdh"];
+var _GNUNET_CRYPTO_ecdh_eddsa = Module["_GNUNET_CRYPTO_ecdh_eddsa"] = asm["_GNUNET_CRYPTO_ecdh_eddsa"];
+var _GNUNET_CRYPTO_ecdhe_key_create = Module["_GNUNET_CRYPTO_ecdhe_key_create"] = asm["_GNUNET_CRYPTO_ecdhe_key_create"];
+var _GNUNET_CRYPTO_ecdhe_key_get_public = Module["_GNUNET_CRYPTO_ecdhe_key_get_public"] = asm["_GNUNET_CRYPTO_ecdhe_key_get_public"];
+var _GNUNET_CRYPTO_ecdsa_key_create = Module["_GNUNET_CRYPTO_ecdsa_key_create"] = asm["_GNUNET_CRYPTO_ecdsa_key_create"];
+var _GNUNET_CRYPTO_eddsa_key_create = Module["_GNUNET_CRYPTO_eddsa_key_create"] = asm["_GNUNET_CRYPTO_eddsa_key_create"];
+var _GNUNET_CRYPTO_eddsa_key_get_public = Module["_GNUNET_CRYPTO_eddsa_key_get_public"] = asm["_GNUNET_CRYPTO_eddsa_key_get_public"];
+var _GNUNET_CRYPTO_eddsa_sign = Module["_GNUNET_CRYPTO_eddsa_sign"] = asm["_GNUNET_CRYPTO_eddsa_sign"];
+var _GNUNET_CRYPTO_eddsa_verify = Module["_GNUNET_CRYPTO_eddsa_verify"] = asm["_GNUNET_CRYPTO_eddsa_verify"];
+var _GNUNET_CRYPTO_hash = Module["_GNUNET_CRYPTO_hash"] = asm["_GNUNET_CRYPTO_hash"];
+var _GNUNET_CRYPTO_hash_context_abort = Module["_GNUNET_CRYPTO_hash_context_abort"] = asm["_GNUNET_CRYPTO_hash_context_abort"];
+var _GNUNET_CRYPTO_hash_context_finish = Module["_GNUNET_CRYPTO_hash_context_finish"] = asm["_GNUNET_CRYPTO_hash_context_finish"];
+var _GNUNET_CRYPTO_hash_context_read = Module["_GNUNET_CRYPTO_hash_context_read"] = asm["_GNUNET_CRYPTO_hash_context_read"];
+var _GNUNET_CRYPTO_hash_context_start = Module["_GNUNET_CRYPTO_hash_context_start"] = asm["_GNUNET_CRYPTO_hash_context_start"];
+var _GNUNET_CRYPTO_hash_create_random = Module["_GNUNET_CRYPTO_hash_create_random"] = asm["_GNUNET_CRYPTO_hash_create_random"];
+var _GNUNET_CRYPTO_hkdf = Module["_GNUNET_CRYPTO_hkdf"] = asm["_GNUNET_CRYPTO_hkdf"];
+var _GNUNET_CRYPTO_kdf = Module["_GNUNET_CRYPTO_kdf"] = asm["_GNUNET_CRYPTO_kdf"];
+var _GNUNET_CRYPTO_random_block = Module["_GNUNET_CRYPTO_random_block"] = asm["_GNUNET_CRYPTO_random_block"];
+var _GNUNET_CRYPTO_random_init = Module["_GNUNET_CRYPTO_random_init"] = asm["_GNUNET_CRYPTO_random_init"];
+var _GNUNET_CRYPTO_rsa_blind = Module["_GNUNET_CRYPTO_rsa_blind"] = asm["_GNUNET_CRYPTO_rsa_blind"];
+var _GNUNET_CRYPTO_rsa_private_key_create = Module["_GNUNET_CRYPTO_rsa_private_key_create"] = asm["_GNUNET_CRYPTO_rsa_private_key_create"];
+var _GNUNET_CRYPTO_rsa_private_key_decode = Module["_GNUNET_CRYPTO_rsa_private_key_decode"] = asm["_GNUNET_CRYPTO_rsa_private_key_decode"];
+var _GNUNET_CRYPTO_rsa_private_key_encode = Module["_GNUNET_CRYPTO_rsa_private_key_encode"] = asm["_GNUNET_CRYPTO_rsa_private_key_encode"];
+var _GNUNET_CRYPTO_rsa_private_key_free = Module["_GNUNET_CRYPTO_rsa_private_key_free"] = asm["_GNUNET_CRYPTO_rsa_private_key_free"];
+var _GNUNET_CRYPTO_rsa_private_key_get_public = Module["_GNUNET_CRYPTO_rsa_private_key_get_public"] = asm["_GNUNET_CRYPTO_rsa_private_key_get_public"];
+var _GNUNET_CRYPTO_rsa_public_key_decode = Module["_GNUNET_CRYPTO_rsa_public_key_decode"] = asm["_GNUNET_CRYPTO_rsa_public_key_decode"];
+var _GNUNET_CRYPTO_rsa_public_key_encode = Module["_GNUNET_CRYPTO_rsa_public_key_encode"] = asm["_GNUNET_CRYPTO_rsa_public_key_encode"];
+var _GNUNET_CRYPTO_rsa_public_key_free = Module["_GNUNET_CRYPTO_rsa_public_key_free"] = asm["_GNUNET_CRYPTO_rsa_public_key_free"];
+var _GNUNET_CRYPTO_rsa_signature_decode = Module["_GNUNET_CRYPTO_rsa_signature_decode"] = asm["_GNUNET_CRYPTO_rsa_signature_decode"];
+var _GNUNET_CRYPTO_rsa_signature_encode = Module["_GNUNET_CRYPTO_rsa_signature_encode"] = asm["_GNUNET_CRYPTO_rsa_signature_encode"];
+var _GNUNET_CRYPTO_rsa_signature_free = Module["_GNUNET_CRYPTO_rsa_signature_free"] = asm["_GNUNET_CRYPTO_rsa_signature_free"];
+var _GNUNET_CRYPTO_rsa_unblind = Module["_GNUNET_CRYPTO_rsa_unblind"] = asm["_GNUNET_CRYPTO_rsa_unblind"];
+var _GNUNET_CRYPTO_rsa_verify = Module["_GNUNET_CRYPTO_rsa_verify"] = asm["_GNUNET_CRYPTO_rsa_verify"];
+var _GNUNET_CRYPTO_symmetric_decrypt = Module["_GNUNET_CRYPTO_symmetric_decrypt"] = asm["_GNUNET_CRYPTO_symmetric_decrypt"];
+var _GNUNET_CRYPTO_symmetric_encrypt = Module["_GNUNET_CRYPTO_symmetric_encrypt"] = asm["_GNUNET_CRYPTO_symmetric_encrypt"];
+var _GNUNET_STRINGS_data_to_string_alloc = Module["_GNUNET_STRINGS_data_to_string_alloc"] = asm["_GNUNET_STRINGS_data_to_string_alloc"];
+var _GNUNET_STRINGS_string_to_data = Module["_GNUNET_STRINGS_string_to_data"] = asm["_GNUNET_STRINGS_string_to_data"];
+var _GNUNET_util_cl_init = Module["_GNUNET_util_cl_init"] = asm["_GNUNET_util_cl_init"];
+var _TALER_WRALL_ecdhe_public_key_from_private = Module["_TALER_WRALL_ecdhe_public_key_from_private"] = asm["_TALER_WRALL_ecdhe_public_key_from_private"];
+var _TALER_WRALL_ecdsa_public_key_from_private = Module["_TALER_WRALL_ecdsa_public_key_from_private"] = asm["_TALER_WRALL_ecdsa_public_key_from_private"];
+var _TALER_WRALL_eddsa_public_key_from_private = Module["_TALER_WRALL_eddsa_public_key_from_private"] = asm["_TALER_WRALL_eddsa_public_key_from_private"];
+var _TALER_WRALL_get_amount = Module["_TALER_WRALL_get_amount"] = asm["_TALER_WRALL_get_amount"];
+var _TALER_WRALL_purpose_create = Module["_TALER_WRALL_purpose_create"] = asm["_TALER_WRALL_purpose_create"];
+var _TALER_WR_get_currency = Module["_TALER_WR_get_currency"] = asm["_TALER_WR_get_currency"];
+var _TALER_WR_get_fraction = Module["_TALER_WR_get_fraction"] = asm["_TALER_WR_get_fraction"];
+var _TALER_WR_get_value = Module["_TALER_WR_get_value"] = asm["_TALER_WR_get_value"];
+var _TALER_amount_add = Module["_TALER_amount_add"] = asm["_TALER_amount_add"];
+var _TALER_amount_cmp = Module["_TALER_amount_cmp"] = asm["_TALER_amount_cmp"];
+var _TALER_amount_get_zero = Module["_TALER_amount_get_zero"] = asm["_TALER_amount_get_zero"];
+var _TALER_amount_hton = Module["_TALER_amount_hton"] = asm["_TALER_amount_hton"];
+var _TALER_amount_normalize = Module["_TALER_amount_normalize"] = asm["_TALER_amount_normalize"];
+var _TALER_amount_ntoh = Module["_TALER_amount_ntoh"] = asm["_TALER_amount_ntoh"];
+var _TALER_amount_subtract = Module["_TALER_amount_subtract"] = asm["_TALER_amount_subtract"];
+var _TALER_gcrypt_init = Module["_TALER_gcrypt_init"] = asm["_TALER_gcrypt_init"];
+var _TALER_setup_fresh_coin = Module["_TALER_setup_fresh_coin"] = asm["_TALER_setup_fresh_coin"];
+var ___divdi3 = Module["___divdi3"] = asm["___divdi3"];
+var ___emscripten_environ_constructor = Module["___emscripten_environ_constructor"] = asm["___emscripten_environ_constructor"];
+var ___errno_location = Module["___errno_location"] = asm["___errno_location"];
+var ___muldi3 = Module["___muldi3"] = asm["___muldi3"];
+var ___udivdi3 = Module["___udivdi3"] = asm["___udivdi3"];
+var ___uremdi3 = Module["___uremdi3"] = asm["___uremdi3"];
+var __get_daylight = Module["__get_daylight"] = asm["__get_daylight"];
+var __get_environ = Module["__get_environ"] = asm["__get_environ"];
+var __get_timezone = Module["__get_timezone"] = asm["__get_timezone"];
+var __get_tzname = Module["__get_tzname"] = asm["__get_tzname"];
+var _bitshift64Ashr = Module["_bitshift64Ashr"] = asm["_bitshift64Ashr"];
+var _bitshift64Lshr = Module["_bitshift64Lshr"] = asm["_bitshift64Lshr"];
+var _bitshift64Shl = Module["_bitshift64Shl"] = asm["_bitshift64Shl"];
+var _fflush = Module["_fflush"] = asm["_fflush"];
+var _free = Module["_free"] = asm["_free"];
+var _gpg_err_init = Module["_gpg_err_init"] = asm["_gpg_err_init"];
+var _i64Add = Module["_i64Add"] = asm["_i64Add"];
+var _i64Subtract = Module["_i64Subtract"] = asm["_i64Subtract"];
+var _llvm_bswap_i32 = Module["_llvm_bswap_i32"] = asm["_llvm_bswap_i32"];
+var _llvm_cttz_i32 = Module["_llvm_cttz_i32"] = asm["_llvm_cttz_i32"];
+var _malloc = Module["_malloc"] = asm["_malloc"];
+var _memalign = Module["_memalign"] = asm["_memalign"];
+var _memcpy = Module["_memcpy"] = asm["_memcpy"];
+var _memmove = Module["_memmove"] = asm["_memmove"];
+var _memset = Module["_memset"] = asm["_memset"];
+var _pthread_mutex_lock = Module["_pthread_mutex_lock"] = asm["_pthread_mutex_lock"];
+var _pthread_mutex_unlock = Module["_pthread_mutex_unlock"] = asm["_pthread_mutex_unlock"];
+var _sbrk = Module["_sbrk"] = asm["_sbrk"];
+var establishStackSpace = Module["establishStackSpace"] = asm["establishStackSpace"];
+var getTempRet0 = Module["getTempRet0"] = asm["getTempRet0"];
+var runPostSets = Module["runPostSets"] = asm["runPostSets"];
+var setTempRet0 = Module["setTempRet0"] = asm["setTempRet0"];
+var setThrew = Module["setThrew"] = asm["setThrew"];
+var stackAlloc = Module["stackAlloc"] = asm["stackAlloc"];
+var stackRestore = Module["stackRestore"] = asm["stackRestore"];
+var stackSave = Module["stackSave"] = asm["stackSave"];
+var dynCall_ii = Module["dynCall_ii"] = asm["dynCall_ii"];
+var dynCall_iii = Module["dynCall_iii"] = asm["dynCall_iii"];
+var dynCall_iiii = Module["dynCall_iiii"] = asm["dynCall_iiii"];
+var dynCall_iiiii = Module["dynCall_iiiii"] = asm["dynCall_iiiii"];
+var dynCall_v = Module["dynCall_v"] = asm["dynCall_v"];
+var dynCall_vi = Module["dynCall_vi"] = asm["dynCall_vi"];
+var dynCall_vii = Module["dynCall_vii"] = asm["dynCall_vii"];
+var dynCall_viii = Module["dynCall_viii"] = asm["dynCall_viii"];
+var dynCall_viiii = Module["dynCall_viiii"] = asm["dynCall_viiii"];
+var dynCall_viiiii = Module["dynCall_viiiii"] = asm["dynCall_viiiii"];
+var dynCall_viiiiii = Module["dynCall_viiiiii"] = asm["dynCall_viiiiii"];
+;
+
+
+
+// === Auto-generated postamble setup entry stuff ===
+
+Module['asm'] = asm;
+
+if (!Module["intArrayFromString"]) Module["intArrayFromString"] = function() { abort("'intArrayFromString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Module["intArrayToString"]) Module["intArrayToString"] = function() { abort("'intArrayToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+Module["ccall"] = ccall;
+Module["cwrap"] = cwrap;
+Module["setValue"] = setValue;
+Module["getValue"] = getValue;
+if (!Module["allocate"]) Module["allocate"] = function() { abort("'allocate' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Module["getMemory"]) Module["getMemory"] = function() { abort("'getMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") };
+Module["Pointer_stringify"] = Pointer_stringify;
+if (!Module["AsciiToString"]) Module["AsciiToString"] = function() { abort("'AsciiToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Module["stringToAscii"]) Module["stringToAscii"] = function() { abort("'stringToAscii' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Module["UTF8ArrayToString"]) Module["UTF8ArrayToString"] = function() { abort("'UTF8ArrayToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Module["UTF8ToString"]) Module["UTF8ToString"] = function() { abort("'UTF8ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Module["stringToUTF8Array"]) Module["stringToUTF8Array"] = function() { abort("'stringToUTF8Array' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+Module["stringToUTF8"] = stringToUTF8;
+if (!Module["lengthBytesUTF8"]) Module["lengthBytesUTF8"] = function() { abort("'lengthBytesUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Module["UTF16ToString"]) Module["UTF16ToString"] = function() { abort("'UTF16ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Module["stringToUTF16"]) Module["stringToUTF16"] = function() { abort("'stringToUTF16' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Module["lengthBytesUTF16"]) Module["lengthBytesUTF16"] = function() { abort("'lengthBytesUTF16' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Module["UTF32ToString"]) Module["UTF32ToString"] = function() { abort("'UTF32ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Module["stringToUTF32"]) Module["stringToUTF32"] = function() { abort("'stringToUTF32' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Module["lengthBytesUTF32"]) Module["lengthBytesUTF32"] = function() { abort("'lengthBytesUTF32' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Module["allocateUTF8"]) Module["allocateUTF8"] = function() { abort("'allocateUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Module["stackTrace"]) Module["stackTrace"] = function() { abort("'stackTrace' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Module["addOnPreRun"]) Module["addOnPreRun"] = function() { abort("'addOnPreRun' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Module["addOnInit"]) Module["addOnInit"] = function() { abort("'addOnInit' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Module["addOnPreMain"]) Module["addOnPreMain"] = function() { abort("'addOnPreMain' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Module["addOnExit"]) Module["addOnExit"] = function() { abort("'addOnExit' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Module["addOnPostRun"]) Module["addOnPostRun"] = function() { abort("'addOnPostRun' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Module["writeStringToMemory"]) Module["writeStringToMemory"] = function() { abort("'writeStringToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Module["writeArrayToMemory"]) Module["writeArrayToMemory"] = function() { abort("'writeArrayToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Module["writeAsciiToMemory"]) Module["writeAsciiToMemory"] = function() { abort("'writeAsciiToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Module["addRunDependency"]) Module["addRunDependency"] = function() { abort("'addRunDependency' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") };
+if (!Module["removeRunDependency"]) Module["removeRunDependency"] = function() { abort("'removeRunDependency' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") };
+if (!Module["ENV"]) Module["ENV"] = function() { abort("'ENV' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Module["FS"]) Module["FS"] = function() { abort("'FS' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Module["FS_createFolder"]) Module["FS_createFolder"] = function() { abort("'FS_createFolder' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") };
+if (!Module["FS_createPath"]) Module["FS_createPath"] = function() { abort("'FS_createPath' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") };
+if (!Module["FS_createDataFile"]) Module["FS_createDataFile"] = function() { abort("'FS_createDataFile' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") };
+if (!Module["FS_createPreloadedFile"]) Module["FS_createPreloadedFile"] = function() { abort("'FS_createPreloadedFile' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") };
+if (!Module["FS_createLazyFile"]) Module["FS_createLazyFile"] = function() { abort("'FS_createLazyFile' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") };
+if (!Module["FS_createLink"]) Module["FS_createLink"] = function() { abort("'FS_createLink' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") };
+if (!Module["FS_createDevice"]) Module["FS_createDevice"] = function() { abort("'FS_createDevice' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") };
+if (!Module["FS_unlink"]) Module["FS_unlink"] = function() { abort("'FS_unlink' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") };
+if (!Module["GL"]) Module["GL"] = function() { abort("'GL' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Module["staticAlloc"]) Module["staticAlloc"] = function() { abort("'staticAlloc' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Module["dynamicAlloc"]) Module["dynamicAlloc"] = function() { abort("'dynamicAlloc' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Module["warnOnce"]) Module["warnOnce"] = function() { abort("'warnOnce' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Module["loadDynamicLibrary"]) Module["loadDynamicLibrary"] = function() { abort("'loadDynamicLibrary' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Module["loadWebAssemblyModule"]) Module["loadWebAssemblyModule"] = function() { abort("'loadWebAssemblyModule' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Module["getLEB"]) Module["getLEB"] = function() { abort("'getLEB' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Module["getFunctionTables"]) Module["getFunctionTables"] = function() { abort("'getFunctionTables' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Module["alignFunctionTables"]) Module["alignFunctionTables"] = function() { abort("'alignFunctionTables' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Module["registerFunctions"]) Module["registerFunctions"] = function() { abort("'registerFunctions' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Module["addFunction"]) Module["addFunction"] = function() { abort("'addFunction' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Module["removeFunction"]) Module["removeFunction"] = function() { abort("'removeFunction' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Module["getFuncWrapper"]) Module["getFuncWrapper"] = function() { abort("'getFuncWrapper' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Module["prettyPrint"]) Module["prettyPrint"] = function() { abort("'prettyPrint' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Module["makeBigInt"]) Module["makeBigInt"] = function() { abort("'makeBigInt' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Module["dynCall"]) Module["dynCall"] = function() { abort("'dynCall' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Module["getCompilerSetting"]) Module["getCompilerSetting"] = function() { abort("'getCompilerSetting' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Module["stackSave"]) Module["stackSave"] = function() { abort("'stackSave' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Module["stackRestore"]) Module["stackRestore"] = function() { abort("'stackRestore' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Module["stackAlloc"]) Module["stackAlloc"] = function() { abort("'stackAlloc' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Module["establishStackSpace"]) Module["establishStackSpace"] = function() { abort("'establishStackSpace' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Module["print"]) Module["print"] = function() { abort("'print' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Module["printErr"]) Module["printErr"] = function() { abort("'printErr' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Module["intArrayFromBase64"]) Module["intArrayFromBase64"] = function() { abort("'intArrayFromBase64' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Module["tryParseAsDataURI"]) Module["tryParseAsDataURI"] = function() { abort("'tryParseAsDataURI' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };if (!Module["ALLOC_NORMAL"]) Object.defineProperty(Module, "ALLOC_NORMAL", { get: function() { abort("'ALLOC_NORMAL' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") } });
+if (!Module["ALLOC_STACK"]) Object.defineProperty(Module, "ALLOC_STACK", { get: function() { abort("'ALLOC_STACK' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") } });
+if (!Module["ALLOC_STATIC"]) Object.defineProperty(Module, "ALLOC_STATIC", { get: function() { abort("'ALLOC_STATIC' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") } });
+if (!Module["ALLOC_DYNAMIC"]) Object.defineProperty(Module, "ALLOC_DYNAMIC", { get: function() { abort("'ALLOC_DYNAMIC' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") } });
+if (!Module["ALLOC_NONE"]) Object.defineProperty(Module, "ALLOC_NONE", { get: function() { abort("'ALLOC_NONE' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") } });
+
+if (memoryInitializer) {
+ if (!isDataURI(memoryInitializer)) {
+ memoryInitializer = locateFile(memoryInitializer);
+ }
+ if (ENVIRONMENT_IS_NODE || ENVIRONMENT_IS_SHELL) {
+ var data = Module['readBinary'](memoryInitializer);
+ HEAPU8.set(data, GLOBAL_BASE);
+ } else {
+ addRunDependency('memory initializer');
+ var applyMemoryInitializer = function(data) {
+ if (data.byteLength) data = new Uint8Array(data);
+ for (var i = 0; i < data.length; i++) {
+ assert(HEAPU8[GLOBAL_BASE + i] === 0, "area for memory initializer should not have been touched before it's loaded");
+ }
+ HEAPU8.set(data, GLOBAL_BASE);
+ // Delete the typed array that contains the large blob of the memory initializer request response so that
+ // we won't keep unnecessary memory lying around. However, keep the XHR object itself alive so that e.g.
+ // its .status field can still be accessed later.
+ if (Module['memoryInitializerRequest']) delete Module['memoryInitializerRequest'].response;
+ removeRunDependency('memory initializer');
+ }
+ function doBrowserLoad() {
+ Module['readAsync'](memoryInitializer, applyMemoryInitializer, function() {
+ throw 'could not load memory initializer ' + memoryInitializer;
+ });
+ }
+ var memoryInitializerBytes = tryParseAsDataURI(memoryInitializer);
+ if (memoryInitializerBytes) {
+ applyMemoryInitializer(memoryInitializerBytes.buffer);
+ } else
+ if (Module['memoryInitializerRequest']) {
+ // a network request has already been created, just use that
+ function useRequest() {
+ var request = Module['memoryInitializerRequest'];
+ var response = request.response;
+ if (request.status !== 200 && request.status !== 0) {
+ var data = tryParseAsDataURI(Module['memoryInitializerRequestURL']);
+ if (data) {
+ response = data.buffer;
+ } else {
+ // If you see this warning, the issue may be that you are using locateFile and defining it in JS. That
+ // means that the HTML file doesn't know about it, and when it tries to create the mem init request early, does it to the wrong place.
+ // Look in your browser's devtools network console to see what's going on.
+ console.warn('a problem seems to have happened with Module.memoryInitializerRequest, status: ' + request.status + ', retrying ' + memoryInitializer);
+ doBrowserLoad();
+ return;
+ }
+ }
+ applyMemoryInitializer(response);
+ }
+ if (Module['memoryInitializerRequest'].response) {
+ setTimeout(useRequest, 0); // it's already here; but, apply it asynchronously
+ } else {
+ Module['memoryInitializerRequest'].addEventListener('load', useRequest); // wait for it
+ }
+ } else {
+ // fetch it from the network ourselves
+ doBrowserLoad();
+ }
+ }
+}
+
+
+
+/**
+ * @constructor
+ * @extends {Error}
+ * @this {ExitStatus}
+ */
+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 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']) run();
+ if (!Module['calledRun']) dependenciesFulfilled = runCaller; // try this again later, after new deps are fulfilled
+}
+
+
+
+
+
+/** @type {function(Array=)} */
+function run(args) {
+ args = args || Module['arguments'];
+
+ if (runDependencies > 0) {
+ return;
+ }
+
+ writeStackCookie();
+
+ 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 (Module['onRuntimeInitialized']) Module['onRuntimeInitialized']();
+
+ assert(!Module['_main'], 'compiled without a main, but one is present. if you added it from JS, use Module["onRuntimeInitialized"]');
+
+ postRun();
+ }
+
+ if (Module['setStatus']) {
+ Module['setStatus']('Running...');
+ setTimeout(function() {
+ setTimeout(function() {
+ Module['setStatus']('');
+ }, 1);
+ doRun();
+ }, 1);
+ } else {
+ doRun();
+ }
+ checkStackCookie();
+}
+Module['run'] = run;
+
+function checkUnflushedContent() {
+ // Compiler settings do not allow exiting the runtime, so flushing
+ // the streams is not possible. but in ASSERTIONS mode we check
+ // if there was something to flush, and if so tell the user they
+ // should request that the runtime be exitable.
+ // Normally we would not even include flush() at all, but in ASSERTIONS
+ // builds we do so just for this check, and here we see if there is any
+ // content to flush, that is, we check if there would have been
+ // something a non-ASSERTIONS build would have not seen.
+ // How we flush the streams depends on whether we are in NO_FILESYSTEM
+ // mode (which has its own special function for this; otherwise, all
+ // the code is inside libc)
+ var print = out;
+ var printErr = err;
+ var has = false;
+ out = err = function(x) {
+ has = true;
+ }
+ try { // it doesn't matter if it fails
+ var flush = Module['_fflush'];
+ if (flush) flush(0);
+ // also flush in the JS FS layer
+ var hasFS = true;
+ if (hasFS) {
+ ['stdout', 'stderr'].forEach(function(name) {
+ var info = FS.analyzePath('/dev/' + name);
+ if (!info) return;
+ var stream = info.object;
+ var rdev = stream.rdev;
+ var tty = TTY.ttys[rdev];
+ if (tty && tty.output && tty.output.length) {
+ has = true;
+ }
+ });
+ }
+ } catch(e) {}
+ out = print;
+ err = printErr;
+ if (has) {
+ warnOnce('stdio streams had content in them that was not flushed. you should set NO_EXIT_RUNTIME to 0 (see the FAQ), or make sure to emit a newline when you printf etc.');
+ }
+}
+
+function exit(status, implicit) {
+ checkUnflushedContent();
+
+ // if this is just main exit-ing implicitly, and the status is 0, then we
+ // don't need to do anything here and can just leave. if the status is
+ // non-zero, though, then we need to report it.
+ // (we may have warned about this earlier, if a situation justifies doing so)
+ if (implicit && Module['noExitRuntime'] && status === 0) {
+ return;
+ }
+
+ if (Module['noExitRuntime']) {
+ // if exit() was called, we may warn the user if the runtime isn't actually being shut down
+ if (!implicit) {
+ err('exit(' + status + ') called, but NO_EXIT_RUNTIME is set, so halting execution but not exiting the runtime or preventing further async execution (build with NO_EXIT_RUNTIME=0, if you want a true shutdown)');
+ }
+ } else {
+
+ ABORT = true;
+ EXITSTATUS = status;
+ STACKTOP = initialStackTop;
+
+ exitRuntime();
+
+ if (Module['onExit']) Module['onExit'](status);
+ }
+
+ Module['quit'](status, new ExitStatus(status));
+}
+
+var abortDecorators = [];
+
+function abort(what) {
+ if (Module['onAbort']) {
+ Module['onAbort'](what);
+ }
+
+ if (what !== undefined) {
+ out(what);
+ err(what);
+ what = JSON.stringify(what)
+ } else {
+ what = '';
+ }
+
+ ABORT = true;
+ EXITSTATUS = 1;
+
+ var extra = '';
+ var output = 'abort(' + what + ') at ' + stackTrace() + extra;
+ if (abortDecorators) {
+ abortDecorators.forEach(function(decorator) {
+ output = decorator(output, what);
+ });
+ }
+ throw output;
+}
+Module['abort'] = abort;
+
+if (Module['preInit']) {
+ if (typeof Module['preInit'] == 'function') Module['preInit'] = [Module['preInit']];
+ while (Module['preInit'].length > 0) {
+ Module['preInit'].pop()();
+ }
+}
+
+
+Module["noExitRuntime"] = true;
+
+run();
+
+
+
+
+// {{MODULE_ADDITIONS}}
diff --git a/src/crypto/cryptoWorker.ts b/src/crypto/cryptoWorker.ts
index 7cec5f284..3e71794b4 100644
--- a/src/crypto/cryptoWorker.ts
+++ b/src/crypto/cryptoWorker.ts
@@ -53,6 +53,8 @@ import {
import { canonicalJson } from "../helpers";
+import * as emscLoader from "./emscLoader";
+
import {
Amount,
EddsaPublicKey,
@@ -580,6 +582,20 @@ worker.onmessage = (msg: MessageEvent) => {
console.error(`unknown operation: '${msg.data.operation}'`);
return;
}
- const res = f(...msg.data.args);
- worker.postMessage({result: res, id: msg.data.id});
+
+ console.log("onmessage with", msg.data.operation);
+ console.log("foo");
+
+ emscLoader.getLib().then((p) => {
+ const lib = p.lib;
+ if (!native.isInitialized()) {
+ console.log("initializing emscripten for then first time with lib");
+ native.initialize(lib);
+ }
+
+ console.log("about to execute", msg.data.operation);
+ const res = f(...msg.data.args);
+ console.log("finished executing", msg.data.operation);
+ worker.postMessage({ result: res, id: msg.data.id });
+ });
};
diff --git a/src/crypto/emscInterface.ts b/src/crypto/emscInterface.ts
index 0662f4a71..eae8ee5c0 100644
--- a/src/crypto/emscInterface.ts
+++ b/src/crypto/emscInterface.ts
@@ -28,9 +28,34 @@
*/
import { AmountJson } from "../amounts";
-import { EmscFunGen, getLib } from "./emscLoader";
+import { EmscFunGen, EmscLib } from "./emscLoader";
-const emscLib = getLib();
+
+// Will be set only after initialization.
+let maybeEmscEnv: EmscEnvironment | undefined = undefined;
+
+export function isInitialized() {
+ return !!maybeEmscEnv;
+}
+
+
+export function initialize(lib: EmscLib) {
+ if (!lib) {
+ throw Error("library must be object");
+ }
+ if (maybeEmscEnv) {
+ throw Error("emsc lib already initialized");
+ }
+ maybeEmscEnv = new EmscEnvironment(lib);
+}
+
+
+function emsc() {
+ if (maybeEmscEnv) {
+ return maybeEmscEnv;
+ }
+ throw Error("cannot use taler emscripten before initialization");
+}
/**
@@ -41,75 +66,131 @@ const PTR_SIZE = 4;
const GNUNET_OK = 1;
+interface EmscFunctions {
+ amount_add(a1: number, a2: number, a3: number): number;
+ amount_cmp(a1: number, a2: number): number;
+ amount_get_zero(a1: string, a2: number): number;
+ amount_hton(a1: number, a2: number): void;
+ amount_normalize(a1: number): void;
+ amount_ntoh(a1: number, a2: number): void;
+ amount_subtract(a1: number, a2: number, a3: number): number;
+ ecdh_eddsa(a1: number, a2: number, a3: number): number;
+ eddsa_sign(a1: number, a2: number, a3: number): number;
+ eddsa_verify(a1: number, a2: number, a3: number, a4: number): number;
+ free(ptr: number): void;
+ get_currency(a: number): string;
+ get_fraction(a: number): number;
+ get_value(a: number): number;
+ hash(a1: number, a2: number, a3: number): void;
+ hash_context_abort(ctx: number): void;
+ hash_context_finish(a1: number, a2: number): void;
+ hash_context_read(a1: number, a2: number, a3: number): void;
+ hash_create_random(a1: number, a2: number): void;
+ memmove(a1: number, a2: number, a3: number): number;
+ random_block(a1: number, a2: number, a3: number): void;
+ rsa_blinding_key_free(a1: number): void;
+ rsa_public_key_free(a1: number): void;
+ rsa_signature_free(a1: number): void;
+ setup_fresh_coin(a1: number, a2: number, a3: number): void;
+ string_to_data(a1: number, a2: number, a3: number, a4: number): number;
+}
-/**
- * Get an emscripten-compiled function.
- */
-const getEmsc: EmscFunGen = (name: string, ret: any, argTypes: any[]) => {
- return (...args: any[]) => {
- return emscLib.ccall(name, ret, argTypes, args);
- };
-};
+interface EmscAllocFunctions {
+ data_to_string_alloc(a1: number, a2: number): number;
+ ecdhe_key_create(): number;
+ ecdhe_public_key_from_private(a1: number): number;
+ ecdsa_key_create(): number;
+ ecdsa_public_key_from_private(a1: number): number;
+ eddsa_key_create(): number;
+ eddsa_public_key_from_private(a1: number): number;
+ get_amount(a1: number, a2: number, a22: number, a3: string): number;
+ hash_context_start(): number;
+ malloc(size: number): number;
+ purpose_create(a1: number, a2: number, a3: number): number;
+ rsa_blind(a1: number, a2: number, a3: number, a4: number, a5: number): number;
+ rsa_blinding_key_create(a1: number): number;
+ rsa_blinding_key_decode(a1: number, a2: number): number;
+ rsa_blinding_key_encode(a1: number, a2: number): number;
+ rsa_public_key_decode(a1: number, a2: number): number;
+ rsa_public_key_encode(a1: number, a2: number): number;
+ rsa_signature_encode(a1: number, a2: number): number;
+ rsa_signature_decode(a1: number, a2: number): number;
+ rsa_unblind(a1: number, a2: number, a3: number): number;
+}
+class EmscEnvironment {
-/**
- * Wrapped emscripten functions that do not allocate any memory.
- */
-const emsc = {
- amount_add: getEmsc("TALER_amount_add", "number", ["number", "number", "number"]),
- amount_cmp: getEmsc("TALER_amount_cmp", "number", ["number", "number"]),
- amount_get_zero: getEmsc("TALER_amount_get_zero", "number", ["string", "number"]),
- amount_hton: getEmsc("TALER_amount_hton", "void", ["number", "number"]),
- amount_normalize: getEmsc("TALER_amount_normalize", "void", ["number"]),
- amount_ntoh: getEmsc("TALER_amount_ntoh", "void", ["number", "number"]),
- amount_subtract: getEmsc("TALER_amount_subtract", "number", ["number", "number", "number"]),
- ecdh_eddsa: getEmsc("GNUNET_CRYPTO_ecdh_eddsa", "number", ["number", "number", "number"]),
- eddsa_sign: getEmsc("GNUNET_CRYPTO_eddsa_sign", "number", ["number", "number", "number"]),
- eddsa_verify: getEmsc("GNUNET_CRYPTO_eddsa_verify", "number", ["number", "number", "number", "number"]),
- free: (ptr: number) => emscLib._free(ptr),
- get_currency: getEmsc("TALER_WR_get_currency", "string", ["number"]),
- get_fraction: getEmsc("TALER_WR_get_fraction", "number", ["number"]),
- get_value: getEmsc("TALER_WR_get_value", "number", ["number"]),
- hash: getEmsc("GNUNET_CRYPTO_hash", "void", ["number", "number", "number"]),
- hash_context_abort: getEmsc("GNUNET_CRYPTO_hash_context_abort", "void", ["number"]),
- hash_context_finish: getEmsc("GNUNET_CRYPTO_hash_context_finish", "void", ["number", "number"]),
- hash_context_read: getEmsc("GNUNET_CRYPTO_hash_context_read", "void", ["number", "number", "number"]),
- hash_create_random: getEmsc("GNUNET_CRYPTO_hash_create_random", "void", ["number", "number"]),
- memmove: getEmsc("memmove", "number", ["number", "number", "number"]),
- random_block: getEmsc("GNUNET_CRYPTO_random_block", "void", ["number", "number", "number"]),
- rsa_blinding_key_destroy: getEmsc("GNUNET_CRYPTO_rsa_blinding_key_free", "void", ["number"]),
- rsa_public_key_free: getEmsc("GNUNET_CRYPTO_rsa_public_key_free", "void", ["number"]),
- rsa_signature_free: getEmsc("GNUNET_CRYPTO_rsa_signature_free", "void", ["number"]),
- setup_fresh_coin: getEmsc( "TALER_setup_fresh_coin", "void", ["number", "number", "number"]),
- string_to_data: getEmsc("GNUNET_STRINGS_string_to_data", "number", ["number", "number", "number", "number"]),
-};
+ /**
+ * Emscripten functions that don't do any memory allocations.
+ */
+ public funcs: EmscFunctions;
+ /**
+ * Emscripten functions that allocate memory.
+ */
+ public allocFuncs: EmscAllocFunctions;
-/**
- * Emscripten functions that allocate memory.
- */
-const emscAlloc = {
- data_to_string_alloc: getEmsc("GNUNET_STRINGS_data_to_string_alloc", "number", ["number", "number"]),
- ecdhe_key_create: getEmsc("GNUNET_CRYPTO_ecdhe_key_create", "number", []),
- ecdhe_public_key_from_private: getEmsc( "TALER_WRALL_ecdhe_public_key_from_private", "number", ["number"]),
- ecdsa_key_create: getEmsc("GNUNET_CRYPTO_ecdsa_key_create", "number", []),
- ecdsa_public_key_from_private: getEmsc( "TALER_WRALL_ecdsa_public_key_from_private", "number", ["number"]),
- eddsa_key_create: getEmsc("GNUNET_CRYPTO_eddsa_key_create", "number", []),
- eddsa_public_key_from_private: getEmsc( "TALER_WRALL_eddsa_public_key_from_private", "number", ["number"]),
- get_amount: getEmsc("TALER_WRALL_get_amount", "number", ["number", "number", "number", "string"]),
- hash_context_start: getEmsc("GNUNET_CRYPTO_hash_context_start", "number", []),
- malloc: (size: number) => emscLib._malloc(size),
- purpose_create: getEmsc("TALER_WRALL_purpose_create", "number", ["number", "number", "number"]),
- rsa_blind: getEmsc("GNUNET_CRYPTO_rsa_blind", "number", ["number", "number", "number", "number", "number"]),
- rsa_blinding_key_create: getEmsc("GNUNET_CRYPTO_rsa_blinding_key_create", "number", ["number"]),
- rsa_blinding_key_decode: getEmsc("GNUNET_CRYPTO_rsa_blinding_key_decode", "number", ["number", "number"]),
- rsa_blinding_key_encode: getEmsc("GNUNET_CRYPTO_rsa_blinding_key_encode", "number", ["number", "number"]),
- rsa_public_key_decode: getEmsc("GNUNET_CRYPTO_rsa_public_key_decode", "number", ["number", "number"]),
- rsa_public_key_encode: getEmsc("GNUNET_CRYPTO_rsa_public_key_encode", "number", ["number", "number"]),
- rsa_signature_decode: getEmsc("GNUNET_CRYPTO_rsa_signature_decode", "number", ["number", "number"]),
- rsa_signature_encode: getEmsc("GNUNET_CRYPTO_rsa_signature_encode", "number", ["number", "number"]),
- rsa_unblind: getEmsc("GNUNET_CRYPTO_rsa_unblind", "number", ["number", "number", "number"]),
-};
+ public lib: EmscLib;
+
+ constructor(lib: EmscLib) {
+ const getEmsc: EmscFunGen = (name: string, ret: any, argTypes: any[]) => {
+ return (...args: any[]) => {
+ return lib.ccall(name, ret, argTypes, args);
+ };
+ };
+ this.lib = lib;
+ this.allocFuncs = {
+ data_to_string_alloc: getEmsc("GNUNET_STRINGS_data_to_string_alloc", "number", ["number", "number"]),
+ ecdhe_key_create: getEmsc("GNUNET_CRYPTO_ecdhe_key_create", "number", []),
+ ecdhe_public_key_from_private: getEmsc( "TALER_WRALL_ecdhe_public_key_from_private", "number", ["number"]),
+ ecdsa_key_create: getEmsc("GNUNET_CRYPTO_ecdsa_key_create", "number", []),
+ ecdsa_public_key_from_private: getEmsc( "TALER_WRALL_ecdsa_public_key_from_private", "number", ["number"]),
+ eddsa_key_create: getEmsc("GNUNET_CRYPTO_eddsa_key_create", "number", []),
+ eddsa_public_key_from_private: getEmsc( "TALER_WRALL_eddsa_public_key_from_private", "number", ["number"]),
+ get_amount: getEmsc("TALER_WRALL_get_amount", "number", ["number", "number", "string"]),
+ hash_context_start: getEmsc("GNUNET_CRYPTO_hash_context_start", "number", []),
+ malloc: (size: number) => lib._malloc(size),
+ purpose_create: getEmsc("TALER_WRALL_purpose_create", "number", ["number", "number", "number"]),
+ rsa_blind: getEmsc("GNUNET_CRYPTO_rsa_blind", "number", ["number", "number", "number", "number", "number"]),
+ rsa_blinding_key_create: getEmsc("GNUNET_CRYPTO_rsa_blinding_key_create", "number", ["number"]),
+ rsa_blinding_key_decode: getEmsc("GNUNET_CRYPTO_rsa_blinding_key_decode", "number", ["number", "number"]),
+ rsa_blinding_key_encode: getEmsc("GNUNET_CRYPTO_rsa_blinding_key_encode", "number", ["number", "number"]),
+ rsa_public_key_decode: getEmsc("GNUNET_CRYPTO_rsa_public_key_decode", "number", ["number", "number"]),
+ rsa_public_key_encode: getEmsc("GNUNET_CRYPTO_rsa_public_key_encode", "number", ["number", "number"]),
+ rsa_signature_decode: getEmsc("GNUNET_CRYPTO_rsa_signature_decode", "number", ["number", "number"]),
+ rsa_signature_encode: getEmsc("GNUNET_CRYPTO_rsa_signature_encode", "number", ["number", "number"]),
+ rsa_unblind: getEmsc("GNUNET_CRYPTO_rsa_unblind", "number", ["number", "number", "number"]),
+ };
+ this.funcs = {
+ amount_add: getEmsc("TALER_amount_add", "number", ["number", "number", "number"]),
+ amount_cmp: getEmsc("TALER_amount_cmp", "number", ["number", "number"]),
+ amount_get_zero: getEmsc("TALER_amount_get_zero", "number", ["string", "number"]),
+ amount_hton: getEmsc("TALER_amount_hton", "void", ["number", "number"]),
+ amount_normalize: getEmsc("TALER_amount_normalize", "void", ["number"]),
+ amount_ntoh: getEmsc("TALER_amount_ntoh", "void", ["number", "number"]),
+ amount_subtract: getEmsc("TALER_amount_subtract", "number", ["number", "number", "number"]),
+ ecdh_eddsa: getEmsc("GNUNET_CRYPTO_ecdh_eddsa", "number", ["number", "number", "number"]),
+ eddsa_sign: getEmsc("GNUNET_CRYPTO_eddsa_sign", "number", ["number", "number", "number"]),
+ eddsa_verify: getEmsc("GNUNET_CRYPTO_eddsa_verify", "number", ["number", "number", "number", "number"]),
+ free: (ptr: number) => lib._free(ptr),
+ get_currency: getEmsc("TALER_WR_get_currency", "string", ["number"]),
+ get_fraction: getEmsc("TALER_WR_get_fraction", "number", ["number"]),
+ get_value: getEmsc("TALER_WR_get_value", "number", ["number"]),
+ hash: getEmsc("GNUNET_CRYPTO_hash", "void", ["number", "number", "number"]),
+ hash_context_abort: getEmsc("GNUNET_CRYPTO_hash_context_abort", "void", ["number"]),
+ hash_context_finish: getEmsc("GNUNET_CRYPTO_hash_context_finish", "void", ["number", "number"]),
+ hash_context_read: getEmsc("GNUNET_CRYPTO_hash_context_read", "void", ["number", "number", "number"]),
+ hash_create_random: getEmsc("GNUNET_CRYPTO_hash_create_random", "void", ["number", "number"]),
+ memmove: getEmsc("memmove", "number", ["number", "number", "number"]),
+ random_block: getEmsc("GNUNET_CRYPTO_random_block", "void", ["number", "number", "number"]),
+ rsa_blinding_key_free: getEmsc("GNUNET_CRYPTO_rsa_blinding_key_free", "void", ["number"]),
+ rsa_public_key_free: getEmsc("GNUNET_CRYPTO_rsa_public_key_free", "void", ["number"]),
+ rsa_signature_free: getEmsc("GNUNET_CRYPTO_rsa_signature_free", "void", ["number"]),
+ setup_fresh_coin: getEmsc("TALER_setup_fresh_coin", "void", ["number", "number", "number"]),
+ string_to_data: getEmsc("GNUNET_STRINGS_string_to_data", "number", ["number", "number", "number", "number"]),
+ };
+ }
+}
/**
@@ -152,7 +233,7 @@ export class HashContext implements ArenaObject {
private hashContextPtr: number | undefined;
constructor() {
- this.hashContextPtr = emscAlloc.hash_context_start();
+ this.hashContextPtr = emsc().allocFuncs.hash_context_start();
}
/**
@@ -162,7 +243,7 @@ export class HashContext implements ArenaObject {
if (!this.hashContextPtr) {
throw Error("assertion failed");
}
- emsc.hash_context_read(this.hashContextPtr, obj.nativePtr, obj.size());
+ emsc().funcs.hash_context_read(this.hashContextPtr, obj.nativePtr, obj.size());
}
/**
@@ -173,7 +254,7 @@ export class HashContext implements ArenaObject {
throw Error("assertion failed");
}
h.alloc();
- emsc.hash_context_finish(this.hashContextPtr, h.nativePtr);
+ emsc().funcs.hash_context_finish(this.hashContextPtr, h.nativePtr);
}
/**
@@ -181,7 +262,7 @@ export class HashContext implements ArenaObject {
*/
destroy(): void {
if (this.hashContextPtr) {
- emsc.hash_context_abort(this.hashContextPtr);
+ emsc().funcs.hash_context_abort(this.hashContextPtr);
}
this.hashContextPtr = undefined;
}
@@ -201,7 +282,7 @@ abstract class MallocArenaObject implements ArenaObject {
destroy(): void {
if (this._nativePtr && !this.isWeak) {
- emsc.free(this.nativePtr);
+ emsc().funcs.free(this.nativePtr);
this._nativePtr = undefined;
}
}
@@ -220,7 +301,7 @@ abstract class MallocArenaObject implements ArenaObject {
if (this._nativePtr !== undefined) {
throw Error("Double allocation");
}
- this.nativePtr = emscAlloc.malloc(size);
+ this.nativePtr = emsc().allocFuncs.malloc(size);
}
set nativePtr(v: number) {
@@ -314,18 +395,18 @@ export class Amount extends MallocArenaObject {
constructor(args?: AmountJson, arena?: Arena) {
super(arena);
if (args) {
- this.nativePtr = emscAlloc.get_amount(args.value,
+ this.nativePtr = emsc().allocFuncs.get_amount(args.value,
0,
args.fraction,
args.currency);
} else {
- this.nativePtr = emscAlloc.get_amount(0, 0, 0, "");
+ this.nativePtr = emsc().allocFuncs.get_amount(0, 0, 0, "");
}
}
static getZero(currency: string, a?: Arena): Amount {
const am = new Amount(undefined, a);
- const r = emsc.amount_get_zero(currency, am.nativePtr);
+ const r = emsc().funcs.amount_get_zero(currency, am.nativePtr);
if (r !== GNUNET_OK) {
throw Error("invalid currency");
}
@@ -336,31 +417,31 @@ export class Amount extends MallocArenaObject {
toNbo(a?: Arena): AmountNbo {
const x = new AmountNbo(a);
x.alloc();
- emsc.amount_hton(x.nativePtr, this.nativePtr);
+ emsc().funcs.amount_hton(x.nativePtr, this.nativePtr);
return x;
}
fromNbo(nbo: AmountNbo): void {
- emsc.amount_ntoh(this.nativePtr, nbo.nativePtr);
+ emsc().funcs.amount_ntoh(this.nativePtr, nbo.nativePtr);
}
get value() {
- return emsc.get_value(this.nativePtr);
+ return emsc().funcs.get_value(this.nativePtr);
}
get fraction() {
- return emsc.get_fraction(this.nativePtr);
+ return emsc().funcs.get_fraction(this.nativePtr);
}
get currency(): string {
- return emsc.get_currency(this.nativePtr);
+ return emsc().funcs.get_currency(this.nativePtr);
}
toJson(): AmountJson {
return {
- currency: emsc.get_currency(this.nativePtr),
- fraction: emsc.get_fraction(this.nativePtr),
- value: emsc.get_value(this.nativePtr),
+ currency: emsc().funcs.get_currency(this.nativePtr),
+ fraction: emsc().funcs.get_fraction(this.nativePtr),
+ value: emsc().funcs.get_value(this.nativePtr),
};
}
@@ -368,7 +449,7 @@ export class Amount extends MallocArenaObject {
* Add an amount to this amount.
*/
add(a: Amount) {
- const res = emsc.amount_add(this.nativePtr, a.nativePtr, this.nativePtr);
+ const res = emsc().funcs.amount_add(this.nativePtr, a.nativePtr, this.nativePtr);
if (res < 1) {
// Overflow
return false;
@@ -381,7 +462,7 @@ export class Amount extends MallocArenaObject {
*/
sub(a: Amount) {
// this = this - a
- const res = emsc.amount_subtract(this.nativePtr, this.nativePtr, a.nativePtr);
+ const res = emsc().funcs.amount_subtract(this.nativePtr, this.nativePtr, a.nativePtr);
if (res === 0) {
// Underflow
return false;
@@ -397,11 +478,11 @@ export class Amount extends MallocArenaObject {
if (this.currency !== a.currency) {
throw Error(`incomparable currencies (${this.currency} and ${a.currency})`);
}
- return emsc.amount_cmp(this.nativePtr, a.nativePtr);
+ return emsc().funcs.amount_cmp(this.nativePtr, a.nativePtr);
}
normalize() {
- emsc.amount_normalize(this.nativePtr);
+ emsc().funcs.amount_normalize(this.nativePtr);
}
}
@@ -443,13 +524,13 @@ abstract class PackedArenaObject extends MallocArenaObject {
}
randomize(qual: RandomQuality = RandomQuality.STRONG): void {
- emsc.random_block(qual, this.nativePtr, this.size());
+ emsc().funcs.random_block(qual, this.nativePtr, this.size());
}
toCrock(): string {
- const d = emscAlloc.data_to_string_alloc(this.nativePtr, this.size());
- const s = emscLib.Pointer_stringify(d);
- emsc.free(d);
+ const d = emsc().allocFuncs.data_to_string_alloc(this.nativePtr, this.size());
+ const s = emsc().lib.Pointer_stringify(d);
+ emsc().funcs.free(d);
return s;
}
@@ -465,7 +546,7 @@ abstract class PackedArenaObject extends MallocArenaObject {
// We need to get the javascript string
// to the emscripten heap first.
const buf = ByteArray.fromStringWithNull(s);
- const res = emsc.string_to_data(buf.nativePtr,
+ const res = emsc().funcs.string_to_data(buf.nativePtr,
s.length,
this.nativePtr,
this.size());
@@ -478,21 +559,21 @@ abstract class PackedArenaObject extends MallocArenaObject {
alloc() {
// FIXME: should the client be allowed to call alloc multiple times?
if (!this._nativePtr) {
- this.nativePtr = emscAlloc.malloc(this.size());
+ this.nativePtr = emsc().allocFuncs.malloc(this.size());
}
}
hash(): HashCode {
const x = new HashCode();
x.alloc();
- emsc.hash(this.nativePtr, this.size(), x.nativePtr);
+ emsc().funcs.hash(this.nativePtr, this.size(), x.nativePtr);
return x;
}
hexdump() {
const bytes: string[] = [];
for (let i = 0; i < this.size(); i++) {
- let b = emscLib.getValue(this.nativePtr + i, "i8");
+ let b = emsc().lib.getValue(this.nativePtr + i, "i8");
b = (b + 256) % 256;
bytes.push("0".concat(b.toString(16)).slice(-2));
}
@@ -554,11 +635,11 @@ function fromCrockDecoded<T extends MallocArenaObject>(s: string,
* Encode an object using a special encoding function.
*/
function encode<T extends MallocArenaObject>(obj: T, encodeFn: any, arena?: Arena): ByteArray {
- const ptr = emscAlloc.malloc(PTR_SIZE);
+ const ptr = emsc().allocFuncs.malloc(PTR_SIZE);
const len = encodeFn(obj.nativePtr, ptr);
const res = new ByteArray(len, undefined, arena);
- res.nativePtr = emscLib.getValue(ptr, "*");
- emsc.free(ptr);
+ res.nativePtr = emsc().lib.getValue(ptr, "*");
+ emsc().funcs.free(ptr);
return res;
}
@@ -569,7 +650,7 @@ function encode<T extends MallocArenaObject>(obj: T, encodeFn: any, arena?: Aren
export class EddsaPrivateKey extends PackedArenaObject {
static create(a?: Arena): EddsaPrivateKey {
const obj = new EddsaPrivateKey(a);
- obj.nativePtr = emscAlloc.eddsa_key_create();
+ obj.nativePtr = emsc().allocFuncs.eddsa_key_create();
return obj;
}
@@ -579,7 +660,7 @@ export class EddsaPrivateKey extends PackedArenaObject {
getPublicKey(a?: Arena): EddsaPublicKey {
const obj = new EddsaPublicKey(a);
- obj.nativePtr = emscAlloc.eddsa_public_key_from_private(this.nativePtr);
+ obj.nativePtr = emsc().allocFuncs.eddsa_public_key_from_private(this.nativePtr);
return obj;
}
@@ -595,7 +676,7 @@ export class EddsaPrivateKey extends PackedArenaObject {
export class EcdsaPrivateKey extends PackedArenaObject {
static create(a?: Arena): EcdsaPrivateKey {
const obj = new EcdsaPrivateKey(a);
- obj.nativePtr = emscAlloc.ecdsa_key_create();
+ obj.nativePtr = emsc().allocFuncs.ecdsa_key_create();
return obj;
}
@@ -605,7 +686,7 @@ export class EcdsaPrivateKey extends PackedArenaObject {
getPublicKey(a?: Arena): EcdsaPublicKey {
const obj = new EcdsaPublicKey(a);
- obj.nativePtr = emscAlloc.ecdsa_public_key_from_private(this.nativePtr);
+ obj.nativePtr = emsc().allocFuncs.ecdsa_public_key_from_private(this.nativePtr);
return obj;
}
@@ -621,7 +702,7 @@ export class EcdsaPrivateKey extends PackedArenaObject {
export class EcdhePrivateKey extends PackedArenaObject {
static create(a?: Arena): EcdhePrivateKey {
const obj = new EcdhePrivateKey(a);
- obj.nativePtr = emscAlloc.ecdhe_key_create();
+ obj.nativePtr = emsc().allocFuncs.ecdhe_key_create();
return obj;
}
@@ -631,7 +712,7 @@ export class EcdhePrivateKey extends PackedArenaObject {
getPublicKey(a?: Arena): EcdhePublicKey {
const obj = new EcdhePublicKey(a);
- obj.nativePtr = emscAlloc.ecdhe_public_key_from_private(this.nativePtr);
+ obj.nativePtr = emsc().allocFuncs.ecdhe_public_key_from_private(this.nativePtr);
return obj;
}
@@ -728,7 +809,7 @@ export class HashCode extends PackedArenaObject {
random(qual: RandomQuality = RandomQuality.STRONG) {
this.alloc();
- emsc.hash_create_random(qual, this.nativePtr);
+ emsc().funcs.hash_create_random(qual, this.nativePtr);
}
}
@@ -746,7 +827,7 @@ export class ByteArray extends PackedArenaObject {
constructor(desiredSize: number, init?: number, a?: Arena) {
super(a);
if (init === undefined) {
- this.nativePtr = emscAlloc.malloc(desiredSize);
+ this.nativePtr = emsc().allocFuncs.malloc(desiredSize);
} else {
this.nativePtr = init;
}
@@ -756,16 +837,16 @@ export class ByteArray extends PackedArenaObject {
static fromStringWithoutNull(s: string, a?: Arena): ByteArray {
// UTF-8 bytes, including 0-terminator
const terminatedByteLength = countUtf8Bytes(s) + 1;
- const hstr = emscAlloc.malloc(terminatedByteLength);
- emscLib.stringToUTF8(s, hstr, terminatedByteLength);
+ const hstr = emsc().allocFuncs.malloc(terminatedByteLength);
+ emsc().lib.stringToUTF8(s, hstr, terminatedByteLength);
return new ByteArray(terminatedByteLength - 1, hstr, a);
}
static fromStringWithNull(s: string, a?: Arena): ByteArray {
// UTF-8 bytes, including 0-terminator
const terminatedByteLength = countUtf8Bytes(s) + 1;
- const hstr = emscAlloc.malloc(terminatedByteLength);
- emscLib.stringToUTF8(s, hstr, terminatedByteLength);
+ const hstr = emsc().allocFuncs.malloc(terminatedByteLength);
+ emsc().lib.stringToUTF8(s, hstr, terminatedByteLength);
return new ByteArray(terminatedByteLength, hstr, a);
}
@@ -773,12 +854,12 @@ export class ByteArray extends PackedArenaObject {
// this one is a bit more complicated than the other fromCrock functions,
// since we don't have a fixed size
const byteLength = countUtf8Bytes(s);
- const hstr = emscAlloc.malloc(byteLength + 1);
- emscLib.stringToUTF8(s, hstr, byteLength + 1);
+ const hstr = emsc().allocFuncs.malloc(byteLength + 1);
+ emsc().lib.stringToUTF8(s, hstr, byteLength + 1);
const decodedLen = Math.floor((byteLength * 5) / 8);
const ba = new ByteArray(decodedLen, undefined, a);
- const res = emsc.string_to_data(hstr, byteLength, ba.nativePtr, decodedLen);
- emsc.free(hstr);
+ const res = emsc().funcs.string_to_data(hstr, byteLength, ba.nativePtr, decodedLen);
+ emsc().funcs.free(hstr);
if (res !== GNUNET_OK) {
throw Error("decoding failed");
}
@@ -802,9 +883,9 @@ export class EccSignaturePurpose extends PackedArenaObject {
payload: PackedArenaObject,
a?: Arena) {
super(a);
- this.nativePtr = emscAlloc.purpose_create(purpose,
- payload.nativePtr,
- payload.size());
+ this.nativePtr = emsc().allocFuncs.purpose_create(purpose,
+ payload.nativePtr,
+ payload.size());
this.payloadSize = payload.size();
}
}
@@ -834,13 +915,13 @@ abstract class SignatureStruct {
totalSize += member.size();
}
- const buf = emscAlloc.malloc(totalSize);
+ const buf = emsc().allocFuncs.malloc(totalSize);
let ptr = buf;
for (const f of this.fieldTypes()) {
const name = f[0];
const member = this.members[name];
const size = member.size();
- emsc.memmove(ptr, member.nativePtr, size);
+ emsc().funcs.memmove(ptr, member.nativePtr, size);
ptr += size;
}
const ba = new ByteArray(totalSize, buf, a);
@@ -1081,7 +1162,7 @@ export class AbsoluteTimeNbo extends PackedArenaObject {
// XXX: This only works up to 54 bit numbers.
function set64(p: number, n: number) {
for (let i = 0; i < 8; ++i) {
- emscLib.setValue(p + (7 - i), n & 0xFF, "i8");
+ emsc().lib.setValue(p + (7 - i), n & 0xFF, "i8");
n = Math.floor(n / 256);
}
}
@@ -1089,7 +1170,7 @@ function set64(p: number, n: number) {
// XXX: This only works up to 54 bit numbers.
function set32(p: number, n: number) {
for (let i = 0; i < 4; ++i) {
- emscLib.setValue(p + (3 - i), n & 0xFF, "i8");
+ emsc().lib.setValue(p + (3 - i), n & 0xFF, "i8");
n = Math.floor(n / 256);
}
}
@@ -1277,7 +1358,7 @@ export class PaymentSignaturePS extends SignatureStruct {
*/
export class RsaPublicKey extends MallocArenaObject {
static fromCrock(s: string): RsaPublicKey {
- return fromCrockDecoded(s, this, emscAlloc.rsa_public_key_decode);
+ return fromCrockDecoded(s, this, emsc().allocFuncs.rsa_public_key_decode);
}
toCrock() {
@@ -1285,12 +1366,12 @@ export class RsaPublicKey extends MallocArenaObject {
}
destroy() {
- emsc.rsa_public_key_free(this.nativePtr);
+ emsc().funcs.rsa_public_key_free(this.nativePtr);
this.nativePtr = 0;
}
encode(arena?: Arena): ByteArray {
- return encode(this, emscAlloc.rsa_public_key_encode);
+ return encode(this, emsc().allocFuncs.rsa_public_key_encode);
}
}
@@ -1313,15 +1394,15 @@ export class EddsaSignature extends PackedArenaObject {
*/
export class RsaSignature extends MallocArenaObject {
static fromCrock(s: string, a?: Arena) {
- return fromCrockDecoded(s, this, emscAlloc.rsa_signature_decode);
+ return fromCrockDecoded(s, this, emsc().allocFuncs.rsa_signature_decode);
}
encode(arena?: Arena): ByteArray {
- return encode(this, emscAlloc.rsa_signature_encode);
+ return encode(this, emsc().allocFuncs.rsa_signature_encode);
}
destroy() {
- emsc.rsa_signature_free(this.nativePtr);
+ emsc().funcs.rsa_signature_free(this.nativePtr);
this.nativePtr = 0;
}
}
@@ -1334,17 +1415,17 @@ export function rsaBlind(hashCode: HashCode,
blindingKey: RsaBlindingKeySecret,
pkey: RsaPublicKey,
arena?: Arena): ByteArray|null {
- const buf_ptr_out = emscAlloc.malloc(PTR_SIZE);
- const buf_size_out = emscAlloc.malloc(PTR_SIZE);
- const res = emscAlloc.rsa_blind(hashCode.nativePtr,
- blindingKey.nativePtr,
- pkey.nativePtr,
- buf_ptr_out,
- buf_size_out);
- const buf_ptr = emscLib.getValue(buf_ptr_out, "*");
- const buf_size = emscLib.getValue(buf_size_out, "*");
- emsc.free(buf_ptr_out);
- emsc.free(buf_size_out);
+ const buf_ptr_out = emsc().allocFuncs.malloc(PTR_SIZE);
+ const buf_size_out = emsc().allocFuncs.malloc(PTR_SIZE);
+ const res = emsc().allocFuncs.rsa_blind(hashCode.nativePtr,
+ blindingKey.nativePtr,
+ pkey.nativePtr,
+ buf_ptr_out,
+ buf_size_out);
+ const buf_ptr = emsc().lib.getValue(buf_ptr_out, "*");
+ const buf_size = emsc().lib.getValue(buf_size_out, "*");
+ emsc().funcs.free(buf_ptr_out);
+ emsc().funcs.free(buf_size_out);
if (res !== GNUNET_OK) {
// malicious key
return null;
@@ -1361,7 +1442,7 @@ export function eddsaSign(purpose: EccSignaturePurpose,
a?: Arena): EddsaSignature {
const sig = new EddsaSignature(a);
sig.alloc();
- const res = emsc.eddsa_sign(priv.nativePtr, purpose.nativePtr, sig.nativePtr);
+ const res = emsc().funcs.eddsa_sign(priv.nativePtr, purpose.nativePtr, sig.nativePtr);
if (res < 1) {
throw Error("EdDSA signing failed");
}
@@ -1377,10 +1458,10 @@ export function eddsaVerify(purposeNum: number,
sig: EddsaSignature,
pub: EddsaPublicKey,
a?: Arena): boolean {
- const r = emsc.eddsa_verify(purposeNum,
- verify.nativePtr,
- sig.nativePtr,
- pub.nativePtr);
+ const r = emsc().funcs.eddsa_verify(purposeNum,
+ verify.nativePtr,
+ sig.nativePtr,
+ pub.nativePtr);
return r === GNUNET_OK;
}
@@ -1393,9 +1474,9 @@ export function rsaUnblind(sig: RsaSignature,
pk: RsaPublicKey,
a?: Arena): RsaSignature {
const x = new RsaSignature(a);
- x.nativePtr = emscAlloc.rsa_unblind(sig.nativePtr,
- bk.nativePtr,
- pk.nativePtr);
+ x.nativePtr = emsc().allocFuncs.rsa_unblind(sig.nativePtr,
+ bk.nativePtr,
+ pk.nativePtr);
return x;
}
@@ -1424,7 +1505,7 @@ export function ecdhEddsa(priv: EcdhePrivateKey,
pub: EddsaPublicKey): HashCode {
const h = new HashCode();
h.alloc();
- const res = emsc.ecdh_eddsa(priv.nativePtr, pub.nativePtr, h.nativePtr);
+ const res = emsc().funcs.ecdh_eddsa(priv.nativePtr, pub.nativePtr, h.nativePtr);
if (res !== GNUNET_OK) {
throw Error("ecdh_eddsa failed");
}
@@ -1443,10 +1524,10 @@ export function setupFreshCoin(secretSeed: TransferSecretP,
blindingKey.isWeak = true;
const buf = new ByteArray(priv.size() + blindingKey.size());
- emsc.setup_fresh_coin(secretSeed.nativePtr, coinIndex, buf.nativePtr);
+ emsc().funcs.setup_fresh_coin(secretSeed.nativePtr, coinIndex, buf.nativePtr);
priv.nativePtr = buf.nativePtr;
blindingKey.nativePtr = buf.nativePtr + priv.size();
- return {priv, blindingKey};
+ return { priv, blindingKey };
}
diff --git a/src/crypto/emscLoader.d.ts b/src/crypto/emscLoader.d.ts
index f62604ee1..3ec4f4cfb 100644
--- a/src/crypto/emscLoader.d.ts
+++ b/src/crypto/emscLoader.d.ts
@@ -15,7 +15,7 @@
*/
-declare function getLib(): EmscLib;
+declare function getLib(): Promise<{ lib: EmscLib }>;
/**
* Signature of the function that retrieves emscripten
@@ -44,6 +44,12 @@ interface EmscLib {
stringToUTF8(s: string, addr: number, maxLength: number): void;
+ onRuntimeInitialized(f: () => void): void;
+
+ readBinary?: (filename: string) => Promise<ArrayBuffer>;
+
+ calledRun?: boolean;
+
_free(ptr: number): void;
_malloc(n: number): number;
diff --git a/src/crypto/emscLoader.js b/src/crypto/emscLoader.js
index ed8662818..7251a5984 100644
--- a/src/crypto/emscLoader.js
+++ b/src/crypto/emscLoader.js
@@ -24,6 +24,8 @@
* the right way to load the library.
*/
+let cachedLib = undefined;
+
/**
* Load the taler emscripten lib.
*
@@ -31,6 +33,11 @@
* be globally available. Inside node, require is used.
*/
export function getLib() {
+ console.log("in getLib");
+ if (cachedLib) {
+ console.log("lib is cached");
+ return Promise.resolve({ lib: cachedLib });
+ }
if (typeof require !== "undefined") {
// Make sure that TypeScript doesn't try
// to check the taler-emscripten-lib.
@@ -45,7 +52,8 @@ export function getLib() {
const lib = indirectRequire("../../../emscripten/taler-emscripten-lib.js");
g.importScripts = savedImportScripts;
if (lib) {
- return lib;
+ cachedLib = lib;
+ return Promise.resolve({ lib: cachedLib });
}
// When we're running as a webpack bundle, the above require might
// have failed and returned 'undefined', so we try other ways to import.
@@ -57,7 +65,22 @@ export function getLib() {
if (!self.TalerEmscriptenLib) {
throw Error("can't import taler emscripten lib");
}
- return self.TalerEmscriptenLib
+ const locateFile = (path, scriptDir) => {
+ console.log("locating file", "path", path, "scriptDir", scriptDir);
+ // This is quite hacky and assumes that our scriptDir is dist/
+ return scriptDir + "../emscripten/" + path;
+ };
+ console.log("instantiating TalerEmscriptenLib");
+ //const lib = self.TalerEmscriptenLib({ locateFile });
+ const lib = self.TalerEmscriptenLib;
+ cachedLib = lib;
+ return Promise.resolve({ lib: lib });
+ //return new Promise((resolve, reject) => {
+ // lib.then(mod => {
+ // console.log("emscripten module fully loaded");
+ // resolve({ lib: mod });
+ // });
+ //});
}
// Last resort, we don't have require, we're not running in a webworker.
@@ -66,7 +89,7 @@ export function getLib() {
if (typeof window !== "undefined") {
if (window.TalerEmscriptenLib) {
- return TalerEmscriptenLib;
+ return Promise.resolve(TalerEmscriptenLib);
}
throw Error("Looks like running in browser, but TalerEmscriptenLib is not defined");
}