2016-09-06 22:56:20 +00:00
( ( function ( ) { var Module = { } ; var Module ; if ( ! Module ) Module = ( typeof Module !== "undefined" ? Module : null ) || { } ; var moduleOverrides = { } ; for ( var key in Module ) { if ( Module . hasOwnProperty ( key ) ) { moduleOverrides [ key ] = Module [ key ] } } var ENVIRONMENT _IS _NODE = typeof process === "object" && typeof require === "function" ; var ENVIRONMENT _IS _WEB = typeof window === "object" ; var ENVIRONMENT _IS _WORKER = typeof importScripts === "function" ; var ENVIRONMENT _IS _SHELL = ! ENVIRONMENT _IS _WEB && ! ENVIRONMENT _IS _NODE && ! ENVIRONMENT _IS _WORKER ; if ( ENVIRONMENT _IS _NODE ) { if ( ! Module [ "print" ] ) Module [ "print" ] = function print ( x ) { process [ "stdout" ] . write ( x + "\n" ) } ; if ( ! Module [ "printErr" ] ) Module [ "printErr" ] = function printErr ( x ) { process [ "stderr" ] . write ( x + "\n" ) } ; var nodeFS = require ( "fs" ) ; var nodePath = require ( "path" ) ; Module [ "read" ] = function read ( filename , binary ) { filename = nodePath [ "normalize" ] ( filename ) ; var ret = nodeFS [ "readFileSync" ] ( filename ) ; if ( ! ret && filename != nodePath [ "resolve" ] ( filename ) ) { filename = path . join ( _ _dirname , ".." , "src" , filename ) ; ret = nodeFS [ "readFileSync" ] ( filename ) } if ( ret && ! binary ) ret = ret . toString ( ) ; return ret } ; Module [ "readBinary" ] = function readBinary ( filename ) { return Module [ "read" ] ( filename , true ) } ; Module [ "load" ] = function load ( f ) { globalEval ( read ( f ) ) } ; Module [ "thisProgram" ] = process [ "argv" ] [ 1 ] . replace ( /\\/g , "/" ) ; Module [ "arguments" ] = process [ "argv" ] . slice ( 2 ) ; if ( typeof module !== "undefined" ) { module [ "exports" ] = Module } process [ "on" ] ( "uncaughtException" , ( function ( ex ) { if ( ! ( ex instanceof ExitStatus ) ) { throw ex } } ) ) } 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 (jsc?)" } } Module [ "readBinary" ] = function readBinary ( f ) { if ( typeof readbuffer === "function" ) { return new Uint8Array ( readbuffer ( f ) ) } var data = read ( f , "binary" ) ; assert ( typeof data === "object" ) ; return data } ; if ( typeof scriptArgs != "undefined" ) { Module [ "arguments" ] = scriptArgs } else if ( typeof arguments != "undefined" ) { Module [ "arguments" ] = arguments } this [ "Module" ] = Module } else if ( ENVIRONMENT _IS _WEB || ENVIRONMENT _IS _WORKER ) { Module [ "read" ] = function read ( url ) { var xhr = new XMLHttpRequest ; xhr . open ( "GET" , url , false ) ; xhr . send ( null ) ; return xhr . responseText } ; if ( typeof arguments != "undefined" ) { Module [ "arguments" ] = arguments } if ( typeof console !== "undefined" ) { if ( ! Module [ "print" ] ) Module [ "print" ] = function print ( x ) { console . log ( x ) } ; if ( ! Module [ "printErr" ] ) Module [ "printErr" ] = function printErr ( x ) { console . log ( x ) } } else { 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 _WEB ) { window [ "Module" ] = Module } else { Module [ "load" ] = importScripts } } else { throw "Unknown runtime environment. Where are we?" } function globalEval ( x ) { eval . call ( null , x ) } if ( ! Module [ "load" ] && Module [ "read" ] ) { Module [ "load" ] = function load ( f ) { globalEval ( Module [ "read" ] ( f ) ) } } if ( ! Module [ "print" ] ) { Module [ "print" ] = ( function ( ) { } ) } if ( ! Module [ "printErr" ] ) { Module [ "printErr" ] = Module [ "print" ] } if ( ! Module [ "arguments" ] ) { Module [ "arguments" ] = [ ] } if ( ! Module [ "thisProgram" ] ) { Module [ "thisProgram" ] = "./this.program" } 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 ] } } var Runtime = { setTempRet0 : ( function ( value ) { tempRet0 = value } ) , getTempRet0 : ( function ( ) { return tempRet0 } ) , stackSave : ( function ( ) { return STACKTOP } ) , stackRestore : ( function ( stackTop ) { STACKTOP = stackTop } ) , getNativeTypeSize : ( function ( type ) { switch ( type ) { case "i1" : case "i8" : return 1 ; case "i16" : return 2 ; case "i32" : return 4 ; case "i64" : return 8 ; case "float" : return 4 ; case "double" : return 8 ; default : { if ( type [ type . length - 1 ] === "*" ) { return Runtime . QUANTUM _SIZE } else if ( type [ 0 ] === "i" ) { var bits = parseInt ( type . substr ( 1 ) ) ; assert ( bits % 8 === 0 ) ; return bits / 8 } else { return 0 } } } } ) , getNativeFieldSize : ( function ( type ) { return Math . max ( Runtime . getNativeTypeSize ( type ) , Runtime . QUANTUM _SIZE ) } ) , STACK _ALIGN : 16 , getAlignSize : ( function ( type , size , vararg ) { if ( ! vararg && ( type == "i64" || type == "double" ) ) return 8 ; i
var asm = ( function ( global , env , buffer ) {
2015-01-16 12:47:26 +00:00
"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 . STACKTOP | 0 ; var j = env . STACK _MAX | 0 ; var k = env . tempDoublePtr | 0 ; var l = env . ABORT | 0 ; var m = env . cttz _i8 | 0 ; var n = env . ctlz _i8 | 0 ; var o = 0 ; var p = 0 ; var q = 0 ; var r = 0 ; var s = + env . NaN , t = + env . 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 = 0 ; var F = 0 ; var G = 0 ; var H = 0 ; var I = 0 ; var J = 0 ; var K = 0 ; var L = 0 ; var M = 0 ; var N = global . Math . floor ; var O = global . Math . abs ; var P = global . Math . sqrt ; var Q = global . Math . pow ; var R = global . Math . cos ; var S = global . Math . sin ; var T = global . Math . tan ; var U = global . Math . acos ; var V = global . Math . asin ; var W = global . Math . atan ; var X = global . Math . atan2 ; var Y = global . Math . exp ; var Z = global . Math . log ; var _ = global . Math . ceil ; var $ = global . Math . imul ; var aa = env . abort ; var ba = env . assert ; var ca = env . min ; var da = env . invoke _iiii ; var ea = env . invoke _viiiiiiiiii ; var fa = env . invoke _viiiiiii ; var ga = env . invoke _viiiiiiiiiiiii ; var ha = env . invoke _vi ; var ia = env . invoke _vii ; var ja = env . invoke _iiiiiii ; var ka = env . invoke _ii ; var la = env . invoke _viii ; var ma = env . invoke _iiiii ; var na = env . invoke _viiiiii ; var oa = env . invoke _iii ; var pa = env . invoke _iiiiii ; var qa = env . invoke _viiii ; var ra = env . _sbrk ; var sa = env . _lrint ; var ta = env . _abort ; var ua = env . _emscripten _memcpy _big ; var va = env . _rint ; var wa = 0.0 ;
2015-01-16 12:46:18 +00:00
// EMSCRIPTEN_START_FUNCS
2016-09-06 22:56:20 +00:00
function La ( a ) { a = a | 0 ; var b = 0 ; b = i ; i = i + a | 0 ; i = i + 15 & - 16 ; return b | 0 } function Ma ( ) { return i | 0 } function Na ( a ) { a = a | 0 ; i = a } function Oa ( a , b ) { a = a | 0 ; b = b | 0 ; if ( ! o ) { o = a ; p = b } } function Pa ( b ) { b = b | 0 ; a [ k >> 0 ] = a [ b >> 0 ] ; a [ k + 1 >> 0 ] = a [ b + 1 >> 0 ] ; a [ k + 2 >> 0 ] = a [ b + 2 >> 0 ] ; a [ k + 3 >> 0 ] = a [ b + 3 >> 0 ] } function Qa ( b ) { b = b | 0 ; a [ k >> 0 ] = a [ b >> 0 ] ; a [ k + 1 >> 0 ] = a [ b + 1 >> 0 ] ; a [ k + 2 >> 0 ] = a [ b + 2 >> 0 ] ; a [ k + 3 >> 0 ] = a [ b + 3 >> 0 ] ; a [ k + 4 >> 0 ] = a [ b + 4 >> 0 ] ; a [ k + 5 >> 0 ] = a [ b + 5 >> 0 ] ; a [ k + 6 >> 0 ] = a [ b + 6 >> 0 ] ; a [ k + 7 >> 0 ] = a [ b + 7 >> 0 ] } function Ra ( a ) { a = a | 0 ; D = a } function Sa ( ) { return D | 0 } function Ta ( b , d ) { b = b | 0 ; d = d | 0 ; var e = 0 , f = 0 ; e = i ; if ( ! ( a [ ( c [ b + 204 >> 2 ] | 0 ) + 43 >> 0 ] | 0 ) ) { i = e ; return } f = c [ ( c [ b + 200 >> 2 ] | 0 ) + 13128 >> 2 ] | 0 ; d = ( d | 0 ) % ( f | 0 ) | 0 ; if ( ( d | 0 ) != 2 ? ! ( ( f | 0 ) == 2 & ( d | 0 ) == 0 ) : 0 ) { i = e ; return } fe ( c [ b + 152 >> 2 ] | 0 , c [ b + 136 >> 2 ] | 0 , 199 ) | 0 ; i = e ; return } function Ua ( b , d ) { b = b | 0 ; d = d | 0 ; var e = 0 , f = 0 , g = 0 , h = 0 , j = 0 ; e = i ; g = b + 204 | 0 ; f = c [ g >> 2 ] | 0 ; if ( ( c [ ( c [ f + 1668 >> 2 ] | 0 ) + ( c [ b + 2500 >> 2 ] << 2 ) >> 2 ] | 0 ) == ( d | 0 ) ) { Va ( b ) ; f = b + 1449 | 0 ; if ( a [ f >> 0 ] | 0 ) { j = c [ g >> 2 ] | 0 ; if ( ( a [ j + 42 >> 0 ] | 0 ) != 0 ? ( j = c [ j + 1676 >> 2 ] | 0 , ( c [ j + ( d << 2 ) >> 2 ] | 0 ) != ( c [ j + ( d + - 1 << 2 ) >> 2 ] | 0 ) ) : 0 ) h = 5 } else h = 5 ; if ( ( h | 0 ) == 5 ) Wa ( b ) ; if ( a [ b + 1448 >> 0 ] | 0 ) { i = e ; return } if ( ! ( a [ ( c [ g >> 2 ] | 0 ) + 43 >> 0 ] | 0 ) ) { i = e ; return } g = c [ ( c [ b + 200 >> 2 ] | 0 ) + 13128 >> 2 ] | 0 ; if ( ( d | 0 ) % ( g | 0 ) | 0 ) { i = e ; return } if ( ( g | 0 ) == 1 ) { Wa ( b ) ; i = e ; return } if ( ( a [ f >> 0 ] | 0 ) != 1 ) { i = e ; return } fe ( c [ b + 136 >> 2 ] | 0 , c [ b + 152 >> 2 ] | 0 , 199 ) | 0 ; i = e ; return } if ( ( a [ f + 42 >> 0 ] | 0 ) != 0 ? ( j = c [ f + 1676 >> 2 ] | 0 , ( c [ j + ( d << 2 ) >> 2 ] | 0 ) != ( c [ j + ( d + - 1 << 2 ) >> 2 ] | 0 ) ) : 0 ) { if ( ( a [ b + 141 >> 0 ] | 0 ) == 1 ) Xa ( c [ b + 136 >> 2 ] | 0 ) ; else Va ( b ) ; Wa ( b ) ; f = c [ g >> 2 ] | 0 } if ( ! ( a [ f + 43 >> 0 ] | 0 ) ) { i = e ; return } f = b + 200 | 0 ; if ( ( d | 0 ) % ( c [ ( c [ f >> 2 ] | 0 ) + 13128 >> 2 ] | 0 ) | 0 ) { i = e ; return } d = b + 136 | 0 ; Ya ( ( c [ d >> 2 ] | 0 ) + 224 | 0 ) | 0 ; if ( ( a [ b + 141 >> 0 ] | 0 ) == 1 ) Xa ( c [ d >> 2 ] | 0 ) ; else Va ( b ) ; if ( ( c [ ( c [ f >> 2 ] | 0 ) + 13128 >> 2 ] | 0 ) == 1 ) { Wa ( b ) ; i = e ; return } else { fe ( c [ d >> 2 ] | 0 , c [ b + 152 >> 2 ] | 0 , 199 ) | 0 ; i = e ; return } } function Va ( a ) { a = a | 0 ; var b = 0 , d = 0 , e = 0 , f = 0 , g = 0 , h = 0 ; b = i ; e = a + 136 | 0 ; a = c [ e >> 2 ] | 0 ; d = a + 204 | 0 ; ad ( d , 1 ) ; g = a + 212 | 0 ; f = c [ g >> 2 ] | 0 ; h = 0 - f & 7 ; if ( h ) { ad ( d , h ) ; f = c [ g >> 2 ] | 0 } Yc ( ( c [ e >> 2 ] | 0 ) + 224 | 0 , ( c [ d >> 2 ] | 0 ) + ( ( f | 0 ) / 8 | 0 ) | 0 , ( 7 - f + ( c [ a + 216 >> 2 ] | 0 ) | 0 ) / 8 | 0 ) ; i = b ; return } function Wa ( b ) { b = b | 0 ; var e = 0 , f = 0 , g = 0 , h = 0 , j = 0 , k = 0 , l = 0 ; g = i ; f = c [ b + 1440 >> 2 ] | 0 ; e = 2 - f | 0 ; e = ( a [ b + 2060 >> 0 ] | 0 ) == 0 | ( f | 0 ) == 2 ? e : e ^ 3 ; f = b + 2112 | 0 ; b = b + 136 | 0 ; h = 0 ; do { j = d [ 680 + ( e * 199 | 0 ) + h >> 0 ] | 0 ; l = a [ f >> 0 ] | 0 ; k = l << 24 >> 24 ; if ( l << 24 >> 24 < 0 ) k = 0 ; else k = ( k | 0 ) > 51 ? 51 : k ; j = ( ( j << 3 & 120 ) + - 16 + ( ( $ ( k , ( ( j >>> 4 ) * 5 | 0 ) + - 45 | 0 ) | 0 ) >> 4 ) << 1 ) + - 127 | 0 ; j = j >> 31 ^ j ; if ( ( j | 0 ) > 124 ) j = j & 1 | 124 ; a [ ( c [ b >> 2 ] | 0 ) + h >> 0 ] = j ; h = h + 1 | 0 } while ( ( h | 0 ) != 199 ) ; a [ ( c [ b >> 2 ] | 0 ) + 199 >> 0 ] = 0 ; a [ ( c [ b >> 2 ] | 0 ) + 200 >> 0 ] = 0 ; a [ ( c [ b >> 2 ] | 0 ) + 201 >> 0 ] = 0 ; a [ ( c [ b >> 2 ] | 0 ) + 202 >> 0 ] = 0 ; i = g ; return } function Xa ( a ) { a = a | 0 ; var b = 0 , d = 0 , e = 0 , f = 0 ; b = i ; d = a + 224 | 0 ; e = c [ a + 240 >> 2 ] | 0 ; f = c [ d >> 2 ] | 0 ; e = ( f & 1 | 0 ) == 0 ? e : e + - 1 | 0 ; e = ( f & 511 | 0 ) == 0 ? e : e + - 1 | 0 ; a = ( c [ a + 244 >> 2 ] | 0 ) - e | 0 ; if ( ( a | 0 ) < 0 ) { i = b ; return } Yc ( d , e , a ) ; i = b ; return } function Ya ( a ) { a = a | 0 ; var b = 0 , d = 0 , e = 0 , f = 0 , g = 0 ; b = i ; f = a + 4 | 0 ; d = c [ f >> 2 ] | 0 ; e = d + - 2 | 0 ; c [ f >> 2 ] = e ; g = c [ a >> 2 ] | 0 ; if ( ( g | 0 ) >= ( e << 17 | 0 ) ) { g = ( c [ a + 16 >> 2 ] | 0 ) - ( c [ a + 12 >> 2 ] | 0 ) | 0 ; i = b ; return g | 0 } d = ( d + - 258 | 0 ) >>> 31 ; c [ f >> 2 ] = e << d ; g = g << d ; c [ a >> 2 ] = g ; if ( g & 65535 ) { g = 0 ; i = b ; return g | 0 } yb ( a ) ; g = 0 ; i = b ; return g | 0 } function Za ( a ) { a = a | 0 ; var b = 0 ; b = i ; a = c [ a + 136 >> 2 ] | 0 ; a = _a ( a + 224 | 0 , a ) | 0 ; i = b ; return a | 0 } function _a ( b , e ) { b = b | 0 ; e = e | 0 ; var f = 0 , g = 0 , h = 0 , j = 0 , k = 0 , l = 0 , m = 0 , n = 0 ; f = i ; h = d [ e >> 0 ] | 0 ; j = b + 4 | 0 ; k = c [ j >> 2 ] | 0 ; l = d [ 2880 + ( ( k << 1 & 384 ) + ( h | 512 ) ) >> 0 ] | 0 ; k = k - l | 0 ; m = k << 17 ; n = c [ b >> 2 ] | 0 ; g = m - n >> 31 ; c [ b >> 2 ] = n - ( g & m ) ; c [ j >> 2 ] = ( g & l - k ) + k ; h = g ^ h ; a [ e >> 0 ] = a [ h + 4032 >> 0 ] | 0 ; e = h & 1 ; h = c [ j >> 2 ] | 0 ; g = d [ 2880 + h >> 0 ] | 0 ; c [ j >> 2 ] = h << g ; g = c [ b >> 2 ] << g ; c [ b >> 2 ] = g ; if ( g & 65535 ) { i = f ; return e | 0 } j = b + 16 | 0 ; h = c [ j >> 2 ] | 0 ; c [ b >> 2 ] = ( ( ( d [ h + 1 >> 0 ] | 0 ) << 1 | ( d [ h >> 0 ] | 0 ) << 9 ) + - 65535 << 7 - ( d [ 2880 + ( ( g + - 1 ^ g ) >> 15 ) >> 0 ] | 0 ) ) + g ; if ( h >>> 0 >= ( c [ b + 20 >> 2 ] | 0 ) >>> 0 ) { i = f ; return e | 0 } c [ j >> 2 ] = h + 2 ; i = f ; return e | 0 } function $a ( a ) { a = a | 0 ; var b = 0 , d = 0 ; b = i ; a = a + 136 | 0 ; d = c [ a >> 2 ] | 0 ; if ( ! ( _a ( d + 224 | 0 , d + 1 | 0 ) | 0 ) ) { d = 0 ; i = b ; return d | 0 } d = ( ab ( ( c [ a >> 2 ] | 0 ) + 224 | 0 ) | 0 ) == 0 ; d = d ? 1 : 2 ; i = b ; return d | 0 } function ab ( a ) { a = a | 0 ; var b = 0 , d = 0 , e = 0 ; b = i ; d = c [ a >> 2 ] << 1 ; c [ a >> 2 ] = d ; if ( ! ( d & 65534 ) ) { yb ( a ) ; d = c [ a >> 2 ] | 0 } e = c [ a + 4 >> 2 ] << 17 ; if ( ( d | 0 ) < ( e | 0 ) ) { e = 0 ; i = b ; return e | 0 } c [ a >> 2 ] = d - e ; e = 1 ; i = b ; return e | 0 } function bb ( a ) { a = a | 0 ; var b = 0 , d = 0 ; b = i ; d = a + 136 | 0 ; a = ( ab ( ( c [ d >> 2 ] | 0 ) + 224 | 0 ) | 0 ) << 1 ; a = ( ab ( ( c [ d >> 2 ] | 0 ) + 224 | 0 ) | 0 | a ) << 1 ; a = ( ab ( ( c [ d >> 2 ] | 0 ) + 224 | 0 ) | 0 | a ) << 1 ; a = ( ab ( ( c [ d >> 2 ] | 0 ) + 224 | 0 ) | 0 | a ) << 1 ; a = ab ( ( c [ d >> 2 ] | 0 ) + 224 | 0 ) | 0 | a ; i = b ; return a | 0 } function cb ( a ) { a = a | 0 ; var b = 0 , d = 0 , e = 0 , f = 0 ; b = i ; d = c [ ( c [ a + 20
2015-01-16 12:46:18 +00:00
2016-09-06 22:56:20 +00:00
function ec ( a , c , d , f ) { a = a | 0 ; c = c | 0 ; d = d | 0 ; f = f | 0 ; var g = 0 , h = 0 , j = 0 , k = 0 , l = 0 , m = 0 , n = 0 ; g = i ; d = d >>> 1 ; f = 1 << f ; h = 0 - f | 0 ; f = f + - 1 | 0 ; j = 0 ; while ( 1 ) { l = c ; m = 0 ; while ( 1 ) { k = a + ( m << 1 ) | 0 ; n = ( b [ l >> 1 ] | 0 ) + ( e [ k >> 1 ] | 0 ) | 0 ; if ( n & h ) n = 0 - n >> 31 & f ; b [ k >> 1 ] = n ; m = m + 1 | 0 ; if ( ( m | 0 ) == 8 ) break ; else l = l + 2 | 0 } j = j + 1 | 0 ; if ( ( j | 0 ) == 8 ) break ; else { c = c + 16 | 0 ; a = a + ( d << 1 ) | 0 } } i = g ; return } function fc ( a , c , d , f ) { a = a | 0 ; c = c | 0 ; d = d | 0 ; f = f | 0 ; var g = 0 , h = 0 , j = 0 , k = 0 , l = 0 , m = 0 , n = 0 ; g = i ; d = d >>> 1 ; f = 1 << f ; h = 0 - f | 0 ; f = f + - 1 | 0 ; j = 0 ; while ( 1 ) { l = c ; m = 0 ; while ( 1 ) { k = a + ( m << 1 ) | 0 ; n = ( b [ l >> 1 ] | 0 ) + ( e [ k >> 1 ] | 0 ) | 0 ; if ( n & h ) n = 0 - n >> 31 & f ; b [ k >> 1 ] = n ; m = m + 1 | 0 ; if ( ( m | 0 ) == 16 ) break ; else l = l + 2 | 0 } j = j + 1 | 0 ; if ( ( j | 0 ) == 16 ) break ; else { c = c + 32 | 0 ; a = a + ( d << 1 ) | 0 } } i = g ; return } function gc ( a , c , d , f ) { a = a | 0 ; c = c | 0 ; d = d | 0 ; f = f | 0 ; var g = 0 , h = 0 , j = 0 , k = 0 , l = 0 , m = 0 , n = 0 ; g = i ; d = d >>> 1 ; f = 1 << f ; h = 0 - f | 0 ; f = f + - 1 | 0 ; j = 0 ; while ( 1 ) { l = c ; m = 0 ; while ( 1 ) { k = a + ( m << 1 ) | 0 ; n = ( b [ l >> 1 ] | 0 ) + ( e [ k >> 1 ] | 0 ) | 0 ; if ( n & h ) n = 0 - n >> 31 & f ; b [ k >> 1 ] = n ; m = m + 1 | 0 ; if ( ( m | 0 ) == 32 ) break ; else l = l + 2 | 0 } j = j + 1 | 0 ; if ( ( j | 0 ) == 32 ) break ; else { c = c + 64 | 0 ; a = a + ( d << 1 ) | 0 } } i = g ; return } function hc ( a , c , d ) { a = a | 0 ; c = c | 0 ; d = d | 0 ; var e = 0 , f = 0 , g = 0 , h = 0 , j = 0 ; e = i ; c = c << 16 >> 16 ; d = 15 - d - c | 0 ; c = 1 << c ; if ( ( d | 0 ) > 0 ) { f = 1 << d + - 1 ; if ( ( c | 0 ) > 0 ) { h = a ; a = 0 } else { i = e ; return } while ( 1 ) { j = h ; g = 0 ; while ( 1 ) { b [ j >> 1 ] = ( b [ j >> 1 ] | 0 ) + f >> d ; g = g + 1 | 0 ; if ( ( g | 0 ) == ( c | 0 ) ) break ; else j = j + 2 | 0 } a = a + 1 | 0 ; if ( ( a | 0 ) == ( c | 0 ) ) break ; else h = h + ( c << 1 ) | 0 } i = e ; return } if ( ( c | 0 ) <= 0 ) { i = e ; return } d = 0 - d | 0 ; f = 0 ; while ( 1 ) { g = a ; h = 0 ; while ( 1 ) { b [ g >> 1 ] = b [ g >> 1 ] << d ; h = h + 1 | 0 ; if ( ( h | 0 ) == ( c | 0 ) ) break ; else g = g + 2 | 0 } f = f + 1 | 0 ; if ( ( f | 0 ) == ( c | 0 ) ) break ; else a = a + ( c << 1 ) | 0 } i = e ; return } function ic ( a , c , d ) { a = a | 0 ; c = c | 0 ; d = d | 0 ; var f = 0 , g = 0 , h = 0 , j = 0 , k = 0 ; f = i ; c = 1 << ( c << 16 >> 16 ) ; if ( d ) { d = c + - 1 | 0 ; if ( ( d | 0 ) <= 0 ) { i = f ; return } g = ( c | 0 ) > 0 ; h = 0 ; do { if ( g ) { j = 0 ; do { k = a + ( j + c << 1 ) | 0 ; b [ k >> 1 ] = ( e [ k >> 1 ] | 0 ) + ( e [ a + ( j << 1 ) >> 1 ] | 0 ) ; j = j + 1 | 0 } while ( ( j | 0 ) != ( c | 0 ) ) } a = a + ( c << 1 ) | 0 ; h = h + 1 | 0 } while ( ( h | 0 ) != ( d | 0 ) ) ; i = f ; return } if ( ( c | 0 ) <= 0 ) { i = f ; return } d = ( c | 0 ) > 1 ; h = 0 ; while ( 1 ) { if ( d ) { j = b [ a >> 1 ] | 0 ; g = 1 ; do { k = a + ( g << 1 ) | 0 ; j = ( e [ k >> 1 ] | 0 ) + ( j & 65535 ) & 65535 ; b [ k >> 1 ] = j ; g = g + 1 | 0 } while ( ( g | 0 ) != ( c | 0 ) ) } h = h + 1 | 0 ; if ( ( h | 0 ) == ( c | 0 ) ) break ; else a = a + ( c << 1 ) | 0 } i = f ; return } function jc ( a , c ) { a = a | 0 ; c = c | 0 ; var d = 0 , e = 0 , f = 0 , g = 0 , h = 0 , j = 0 , k = 0 , l = 0 , m = 0 , n = 0 , o = 0 , p = 0 , q = 0 ; d = i ; e = 0 ; g = a ; while ( 1 ) { q = b [ g >> 1 ] | 0 ; n = g + 16 | 0 ; o = b [ n >> 1 ] | 0 ; h = o + q | 0 ; f = g + 24 | 0 ; p = b [ f >> 1 ] | 0 ; m = p + o | 0 ; j = q - p | 0 ; l = g + 8 | 0 ; k = ( b [ l >> 1 ] | 0 ) * 74 | 0 ; p = ( ( q - o + p | 0 ) * 74 | 0 ) + 64 | 0 ; o = p >> 7 ; if ( ( o + 32768 | 0 ) >>> 0 > 65535 ) o = p >> 31 ^ 32767 ; b [ n >> 1 ] = o ; o = ( h * 29 | 0 ) + 64 + ( m * 55 | 0 ) + k | 0 ; n = o >> 7 ; if ( ( n + 32768 | 0 ) >>> 0 > 65535 ) n = o >> 31 ^ 32767 ; b [ g >> 1 ] = n ; m = ( $ ( m , - 29 ) | 0 ) + 64 + ( j * 55 | 0 ) + k | 0 ; n = m >> 7 ; if ( ( n + 32768 | 0 ) >>> 0 > 65535 ) n = m >> 31 ^ 32767 ; b [ l >> 1 ] = n ; j = ( h * 55 | 0 ) + 64 + ( j * 29 | 0 ) - k | 0 ; h = j >> 7 ; if ( ( h + 32768 | 0 ) >>> 0 > 65535 ) h = j >> 31 ^ 32767 ; b [ f >> 1 ] = h ; e = e + 1 | 0 ; if ( ( e | 0 ) == 4 ) break ; else g = g + 2 | 0 } e = 20 - c | 0 ; c = 1 << e + - 1 ; g = 0 ; while ( 1 ) { p = b [ a >> 1 ] | 0 ; n = a + 4 | 0 ; q = b [ n >> 1 ] | 0 ; l = q + p | 0 ; f = a + 6 | 0 ; o = b [ f >> 1 ] | 0 ; m = o + q | 0 ; h = p - o | 0 ; k = a + 2 | 0 ; j = ( b [ k >> 1 ] | 0 ) * 74 | 0 ; o = ( ( p - q + o | 0 ) * 74 | 0 ) + c >> e ; if ( ( o + 32768 | 0 ) >>> 0 > 65535 ) o = o >> 31 ^ 32767 ; b [ n >> 1 ] = o ; n = ( l * 29 | 0 ) + c + ( m * 55 | 0 ) + j >> e ; if ( ( n + 32768 | 0 ) >>> 0 > 65535 ) n = n >> 31 ^ 32767 ; b [ a >> 1 ] = n ; m = ( $ ( m , - 29 ) | 0 ) + c + ( h * 55 | 0 ) + j >> e ; if ( ( m + 32768 | 0 ) >>> 0 > 65535 ) m = m >> 31 ^ 32767 ; b [ k >> 1 ] = m ; h = ( l * 55 | 0 ) + c + ( h * 29 | 0 ) - j >> e ; if ( ( h + 32768 | 0 ) >>> 0 > 65535 ) h = h >> 31 ^ 32767 ; b [ f >> 1 ] = h ; g = g + 1 | 0 ; if ( ( g | 0 ) == 4 ) break ; else a = a + 8 | 0 } i = d ; return } function kc ( a , c , d ) { a = a | 0 ; c = c | 0 ; d = d | 0 ; var e = 0 , f = 0 , g = 0 , h = 0 , j = 0 , k = 0 , l = 0 , m = 0 , n = 0 , o = 0 , p = 0 ; c = i ; e = 0 ; g = a ; while ( 1 ) { n = b [ g >> 1 ] << 6 ; k = g + 16 | 0 ; m = b [ k >> 1 ] << 6 ; j = m + n | 0 ; m = n - m | 0 ; n = g + 8 | 0 ; l = b [ n >> 1 ] | 0 ; f = g + 24 | 0 ; o = b [ f >> 1 ] | 0 ; h = ( o * 36 | 0 ) + ( l * 83 | 0 ) | 0 ; l = ( $ ( o , - 83 ) | 0 ) + ( l * 36 | 0 ) | 0 ; o = j + 64 + h | 0 ; p = o >> 7 ; if ( ( p + 32768 | 0 ) >>> 0 > 65535 ) p = o >> 31 ^ 32767 ; b [ g >> 1 ] = p ; p = m + 64 + l | 0 ; o = p >> 7 ; if ( ( o + 32768 | 0 ) >>> 0 > 65535 ) o = p >> 31 ^ 32767 ; b [ n >> 1 ] = o ; l = m - l + 64 | 0 ; m = l >> 7 ; if ( ( m + 32768 | 0 ) >>> 0 > 65535 ) m = l >> 31 ^ 32767 ; b [ k >> 1 ] = m ; j = j - h + 64 | 0 ; h = j >> 7 ; if ( ( h + 32768 | 0 ) >>> 0 > 65535 ) h = j >> 31 ^ 32767 ; b [ f >> 1 ] = h ; e = e + 1 | 0 ; if ( ( e | 0 ) == 4 ) break ; else g = g + 2 | 0 } e = 20 - d | 0 ; d = 1 << e + - 1 ; g = 0 ; while ( 1 ) { n = b [ a >> 1 ] << 6 ; k = a + 4 | 0 ; o = b [ k >> 1 ] << 6 ; m = a + 2 | 0 ; l = b [ m >> 1 ] | 0 ; f = a + 6 | 0 ; j = b [ f >> 1 ] | 0 ; h = ( j * 36 | 0 ) + ( l * 83 | 0 ) | 0 ; l = ( $ ( j , - 83 ) | 0 ) + ( l * 36 | 0 ) | 0 ; j = o + n + d | 0 ; p = j + h >> e ; if ( ( p + 32768 | 0 ) >>> 0 > 65535 ) p = p >> 31 ^ 32767 ; b [ a >> 1 ] = p ; n = n - o + d | 0 ; o = n + l >> e ; if ( ( o + 32768 | 0 ) >>> 0 > 65535 ) o = o >> 31 ^ 32767 ; b [ m >> 1 ] = o ; l = n - l >> e ; if ( ( l + 32768 | 0 ) >>> 0 > 65535 ) l = l >> 31 ^ 32767 ; b [ k >> 1 ] = l ; h = j - h >> e ; if ( ( h + 32768 | 0 ) >>> 0 > 65535 ) h = h >> 31 ^ 32767 ; b [ f >> 1 ] = h ; g = g + 1 | 0 ; if ( ( g | 0 ) == 4 ) break ; else a = a + 8 | 0 } i = c ; return } function lc ( d , e , f ) { d = d | 0 ; e = e | 0 ; f = f | 0 ; var g = 0 , h = 0 , j = 0 , k = 0 , l = 0 , m = 0 ,
2015-01-16 12:46:18 +00:00
// EMSCRIPTEN_END_FUNCS
2015-01-16 12:48:11 +00:00
var xa = [ ze , Mc ] ; var ya = [ Ae , sc ] ; var za = [ Be , Sd , Td , Ud , cc , vc , wc , Rd ] ; var Aa = [ Ce , tc , uc , Ce ] ; var Ba = [ De , Mb ] ; var Ca = [ Ee , jc , oc , pc , qc , rc , Fc , rd ] ; var Da = [ Fe , Kc ] ; var Ea = [ Ge , Jb , Lb , Ge ] ; var Fa = [ He , hc , ic , kc , lc , mc , nc , He ] ; var Ga = [ Ie , Kb ] ; var Ha = [ Je , xc , yc , Je ] ; var Ia = [ Ke , Pb ] ; var Ja = [ Le , Lc ] ; var Ka = [ Me , dc , ec , fc , gc , Me , Me , Me ] ; return { _i64Subtract : $d , _free : Wd , _bpg _decoder _decode : Kd , _bpg _decoder _start : Ed , _realloc : Xd , _i64Add : ae , _bpg _decoder _open : Jd , _bitshift64Ashr : _d , _strlen : be , _bpg _decoder _get _info : Dd , _memset : ce , _malloc : Vd , _memcpy : fe , _bpg _decoder _get _line : Gd , _bpg _decoder _close : Md , _bpg _decoder _get _frame _duration : Fd , _llvm _bswap _i32 : ee , _bitshift64Shl : de , runPostSets : Zd , stackAlloc : La , stackSave : Ma , stackRestore : Na , setThrew : Oa , setTempRet0 : Ra , getTempRet0 : Sa , dynCall _iiii : le , dynCall _viiiiiiiiii : me , dynCall _viiiiiii : ne , dynCall _viiiiiiiiiiiii : oe , dynCall _vi : pe , dynCall _vii : qe , dynCall _iiiiiii : re , dynCall _ii : se , dynCall _viii : te , dynCall _iiiii : ue , dynCall _viiiiii : ve , dynCall _iii : we , dynCall _iiiiii : xe , dynCall _viiii : ye } } )
2015-01-16 12:46:18 +00:00
// EMSCRIPTEN_END_ASM
2016-09-06 22:56:20 +00:00
( Module . asmGlobalArg , Module . asmLibraryArg , buffer ) ; var _i64Subtract = Module [ "_i64Subtract" ] = asm [ "_i64Subtract" ] ; var _free = Module [ "_free" ] = asm [ "_free" ] ; var _bpg _decoder _decode = Module [ "_bpg_decoder_decode" ] = asm [ "_bpg_decoder_decode" ] ; var _bpg _decoder _start = Module [ "_bpg_decoder_start" ] = asm [ "_bpg_decoder_start" ] ; var _realloc = Module [ "_realloc" ] = asm [ "_realloc" ] ; var _i64Add = Module [ "_i64Add" ] = asm [ "_i64Add" ] ; var _bpg _decoder _open = Module [ "_bpg_decoder_open" ] = asm [ "_bpg_decoder_open" ] ; var _bitshift64Ashr = Module [ "_bitshift64Ashr" ] = asm [ "_bitshift64Ashr" ] ; var _strlen = Module [ "_strlen" ] = asm [ "_strlen" ] ; var _bpg _decoder _get _info = Module [ "_bpg_decoder_get_info" ] = asm [ "_bpg_decoder_get_info" ] ; var _memset = Module [ "_memset" ] = asm [ "_memset" ] ; var _malloc = Module [ "_malloc" ] = asm [ "_malloc" ] ; var _memcpy = Module [ "_memcpy" ] = asm [ "_memcpy" ] ; var _bpg _decoder _get _line = Module [ "_bpg_decoder_get_line" ] = asm [ "_bpg_decoder_get_line" ] ; var _bpg _decoder _close = Module [ "_bpg_decoder_close" ] = asm [ "_bpg_decoder_close" ] ; var _bpg _decoder _get _frame _duration = Module [ "_bpg_decoder_get_frame_duration" ] = asm [ "_bpg_decoder_get_frame_duration" ] ; var _llvm _bswap _i32 = Module [ "_llvm_bswap_i32" ] = asm [ "_llvm_bswap_i32" ] ; var _bitshift64Shl = Module [ "_bitshift64Shl" ] = asm [ "_bitshift64Shl" ] ; var runPostSets = Module [ "runPostSets" ] = asm [ "runPostSets" ] ; var dynCall _iiii = Module [ "dynCall_iiii" ] = asm [ "dynCall_iiii" ] ; var dynCall _viiiiiiiiii = Module [ "dynCall_viiiiiiiiii" ] = asm [ "dynCall_viiiiiiiiii" ] ; var dynCall _viiiiiii = Module [ "dynCall_viiiiiii" ] = asm [ "dynCall_viiiiiii" ] ; var dynCall _viiiiiiiiiiiii = Module [ "dynCall_viiiiiiiiiiiii" ] = asm [ "dynCall_viiiiiiiiiiiii" ] ; var dynCall _vi = Module [ "dynCall_vi" ] = asm [ "dynCall_vi" ] ; var dynCall _vii = Module [ "dynCall_vii" ] = asm [ "dynCall_vii" ] ; var dynCall _iiiiiii = Module [ "dynCall_iiiiiii" ] = asm [ "dynCall_iiiiiii" ] ; var dynCall _ii = Module [ "dynCall_ii" ] = asm [ "dynCall_ii" ] ; var dynCall _viii = Module [ "dynCall_viii" ] = asm [ "dynCall_viii" ] ; 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 _iiiiii = Module [ "dynCall_iiiiii" ] = asm [ "dynCall_iiiiii" ] ; var dynCall _viiii = Module [ "dynCall_viiii" ] = asm [ "dynCall_viiii" ] ; Runtime . stackAlloc = asm [ "stackAlloc" ] ; Runtime . stackSave = asm [ "stackSave" ] ; Runtime . stackRestore = asm [ "stackRestore" ] ; Runtime . setTempRet0 = asm [ "setTempRet0" ] ; Runtime . getTempRet0 = asm [ "getTempRet0" ] ; var i64Math = null ; if ( memoryInitializer ) { if ( typeof Module [ "locateFile" ] === "function" ) { memoryInitializer = Module [ "locateFile" ] ( memoryInitializer ) } else if ( Module [ "memoryInitializerPrefixURL" ] ) { memoryInitializer = Module [ "memoryInitializerPrefixURL" ] + memoryInitializer } if ( ENVIRONMENT _IS _NODE || ENVIRONMENT _IS _SHELL ) { var data = Module [ "readBinary" ] ( memoryInitializer ) ; HEAPU8 . set ( data , STATIC _BASE ) } else { addRunDependency ( "memory initializer" ) ; Browser . asyncLoad ( memoryInitializer , ( function ( data ) { HEAPU8 . set ( data , STATIC _BASE ) ; removeRunDependency ( "memory initializer" ) } ) , ( function ( data ) { throw "could not load memory initializer " + memoryInitializer } ) ) } } function ExitStatus ( status ) { this . name = "ExitStatus" ; this . message = "Program terminated with exit(" + status + ")" ; this . status = status } ExitStatus . prototype = new Error ; ExitStatus . prototype . constructor = ExitStatus ; var initialStackTop ; var preloadStartTime = null ; var calledMain = false ; dependenciesFulfilled = function runCaller ( ) { if ( ! Module [ "calledRun" ] && shouldRunNow ) run ( ) ; if ( ! Module [ "calledRun" ] ) dependenciesFulfilled = runCaller } ; function run ( args ) { args = args || Module [ "arguments" ] ; if ( preloadStartTime === null ) preloadStartTime = Date . now ( ) ; if ( runDependencies > 0 ) { return } 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" ) } postRun ( ) } if ( Module [ "setStatus" ] ) { Module [ "setStatus" ] ( "Running..." ) ; setTimeout ( ( function ( ) { setTimeout ( ( function ( ) { Module [ "setStatus" ] ( "" ) } ) , 1 ) ; doRun ( ) } ) , 1 ) } else { doRun ( ) } } Module [ "run" ] = Module . run = run ; function exit ( s
2015-01-16 12:46:18 +00:00