blob: b7350b7d19fb4d05b144b4ba0fa4812891f58499 [file] [log] [blame]
var Module = {};
Module["asm"] = (function(global,env,buffer) {
'use asm';
var HEAP8 = new global.Int8Array(buffer);
var HEAP16 = new global.Int16Array(buffer);
var HEAP32 = new global.Int32Array(buffer);
var HEAPU8 = new global.Uint8Array(buffer);
var HEAPU16 = new global.Uint16Array(buffer);
var HEAPU32 = new global.Uint32Array(buffer);
var HEAPF32 = new global.Float32Array(buffer);
var HEAPF64 = new global.Float64Array(buffer);
var STACKTOP=env.STACKTOP|0;
var STACK_MAX=env.STACK_MAX|0;
var tempDoublePtr=env.tempDoublePtr|0;
var ABORT=env.ABORT|0;
var __THREW__ = 0;
var threwValue = 0;
var setjmpId = 0;
var undef = 0;
var nan = global.NaN, inf = global.Infinity;
var tempInt = 0, tempBigInt = 0, tempBigIntP = 0, tempBigIntS = 0, tempBigIntR = 0.0, tempBigIntI = 0, tempBigIntD = 0, tempValue = 0, tempDouble = 0.0;
var tempRet0 = 0;
var tempRet1 = 0;
var tempRet2 = 0;
var tempRet3 = 0;
var tempRet4 = 0;
var tempRet5 = 0;
var tempRet6 = 0;
var tempRet7 = 0;
var tempRet8 = 0;
var tempRet9 = 0;
var Math_floor=global.Math.floor;
var Math_abs=global.Math.abs;
var Math_sqrt=global.Math.sqrt;
var Math_pow=global.Math.pow;
var Math_cos=global.Math.cos;
var Math_sin=global.Math.sin;
var Math_tan=global.Math.tan;
var Math_acos=global.Math.acos;
var Math_asin=global.Math.asin;
var Math_atan=global.Math.atan;
var Math_atan2=global.Math.atan2;
var Math_exp=global.Math.exp;
var Math_log=global.Math.log;
var Math_ceil=global.Math.ceil;
var Math_imul=global.Math.imul;
var Math_min=global.Math.min;
var Math_clz32=global.Math.clz32;
var abort=env.abort;
var assert=env.assert;
var _atoi=env._atoi;
var _strlen=env._strlen;
var __Znam=env.__Znam;
var _puts=env._puts;
var _memcpy=env._memcpy;
var ___gxx_personality_v0=env.___gxx_personality_v0;
var __ZdaPv=env.__ZdaPv;
var __ZdlPv=env.__ZdlPv;
var tempFloat = 0.0;
function _emscripten_replace_memory(newBuffer) {
if (byteLength(newBuffer) & 16777215 || byteLength(newBuffer) <= 16777215 || byteLength(newBuffer) > 2147483648) return false;
HEAP8 = new Int8View(newBuffer);
HEAP16 = new Int16View(newBuffer);
HEAP32 = new Int32View(newBuffer);
HEAPU8 = new Uint8View(newBuffer);
HEAPU16 = new Uint16View(newBuffer);
HEAPU32 = new Uint32View(newBuffer);
HEAPF32 = new Float32View(newBuffer);
HEAPF64 = new Float64View(newBuffer);
buffer = newBuffer;
return true;
}
// EMSCRIPTEN_START_FUNCS
function _main(i1, i2) {
i1 = i1 | 0;
i2 = i2 | 0;
var d3 = 0.0, i4 = 0, i5 = 0, i6 = 0, i7 = 0, i8 = 0, i9 = 0, i10 = 0, i11 = 0, i12 = 0, d13 = 0.0;
i12 = STACKTOP;
STACKTOP = STACKTOP + 4240 | 0;
i9 = i12 + 2120 | 0;
i11 = i12;
if ((i1 | 0) > 1) i10 = _atoi(HEAP32[i2 + 4 >> 2] | 0) | 0; else i10 = 512;
i8 = __Znam(347) | 0;
_memcpy(i8 | 0, 520, 287) | 0;
i1 = i8 + 287 | 0;
i2 = 520;
i4 = i1 + 60 | 0;
do {
HEAP8[i1 >> 0] = HEAP8[i2 >> 0] | 0;
i1 = i1 + 1 | 0;
i2 = i2 + 1 | 0;
} while ((i1 | 0) < (i4 | 0));
i1 = i10 << 1;
if (i1) {
i2 = 0;
while (1) {
i7 = i1 >>> 0 < 60 ? i1 : 60;
i4 = __Znam(i7 + 2 | 0) | 0;
_memcpy(i4 | 0, i8 + i2 | 0, i7 | 0) | 0;
HEAP8[i4 + i7 >> 0] = 0;
i5 = _strlen(i4 | 0) | 0;
i6 = HEAP32[128] | 0;
if ((i5 | 0) > (i6 | 0)) {
if ((i6 | 0) > 0) {
HEAP8[i4 + i6 >> 0] = 0;
_puts(i4 | 0) | 0;
HEAP32[128] = 0;
}
} else {
_puts(i4 | 0) | 0;
HEAP32[128] = (HEAP32[128] | 0) - i5;
}
__ZdlPv(i4 | 0);
i2 = i7 + i2 | 0;
if ((i1 | 0) == (i7 | 0)) break; else {
i1 = i1 - i7 | 0;
i2 = i2 >>> 0 > 287 ? i2 + -287 | 0 : i2;
}
}
}
__ZdaPv(i8 | 0);
if (!(HEAP32[2] | 0)) {
i1 = 8;
i2 = 0;
} else {
i1 = 8;
d3 = 0.0;
do {
i8 = i1 + 8 | 0;
d3 = d3 + +HEAPF64[i8 >> 3];
d13 = d3 < 1.0 ? d3 : 1.0;
HEAPF64[i8 >> 3] = d13;
HEAP32[i1 + 16 >> 2] = ~~(d13 * 512.0) >>> 0;
i1 = i1 + 24 | 0;
} while ((HEAP32[i1 >> 2] | 0) != 0);
i1 = 8;
i2 = 0;
}
do {
while (1) {
i8 = HEAP32[i1 + 16 >> 2] | 0;
if (i2 >>> 0 > i8 >>> 0 & (i8 | 0) != 0) i1 = i1 + 24 | 0; else break;
}
HEAP32[i9 + (i2 << 2) >> 2] = i1;
i2 = i2 + 1 | 0;
} while ((i2 | 0) != 513);
HEAP32[i9 + 2116 >> 2] = 0;
i1 = i10 * 3 | 0;
if (i1) while (1) {
i2 = i1 >>> 0 < 60 ? i1 : 60;
__ZN10Randomized9writelineEj(i9, i2);
if ((i1 | 0) == (i2 | 0)) break; else i1 = i1 - i2 | 0;
}
if (!(HEAP32[98] | 0)) {
i1 = 392;
i2 = 0;
} else {
i1 = 392;
d3 = 0.0;
do {
i9 = i1 + 8 | 0;
d3 = d3 + +HEAPF64[i9 >> 3];
d13 = d3 < 1.0 ? d3 : 1.0;
HEAPF64[i9 >> 3] = d13;
HEAP32[i1 + 16 >> 2] = ~~(d13 * 512.0) >>> 0;
i1 = i1 + 24 | 0;
} while ((HEAP32[i1 >> 2] | 0) != 0);
i1 = 392;
i2 = 0;
}
do {
while (1) {
i9 = HEAP32[i1 + 16 >> 2] | 0;
if (i2 >>> 0 > i9 >>> 0 & (i9 | 0) != 0) i1 = i1 + 24 | 0; else break;
}
HEAP32[i11 + (i2 << 2) >> 2] = i1;
i2 = i2 + 1 | 0;
} while ((i2 | 0) != 513);
HEAP32[i11 + 2116 >> 2] = 0;
i1 = i10 * 5 | 0;
if (!i1) {
STACKTOP = i12;
return 0;
}
while (1) {
i2 = i1 >>> 0 < 60 ? i1 : 60;
__ZN10Randomized9writelineEj(i11, i2);
if ((i1 | 0) == (i2 | 0)) break; else i1 = i1 - i2 | 0;
}
STACKTOP = i12;
return 0;
}
function __ZN10Randomized9writelineEj(i5, i2) {
i5 = i5 | 0;
i2 = i2 | 0;
var i1 = 0, i3 = 0, d4 = 0.0, d6 = 0.0;
if (i2) {
i3 = 0;
do {
i1 = ((((HEAP32[129] | 0) * 3877 | 0) + 29573 | 0) >>> 0) % 139968 | 0;
HEAP32[129] = i1;
d6 = +(i1 >>> 0) / 139968.0;
d4 = d6;
i1 = HEAP32[i5 + (~~(d6 * 512.0) >>> 0 << 2) >> 2] | 0;
while (1) if (+HEAPF64[i1 + 8 >> 3] < d4) i1 = i1 + 24 | 0; else break;
HEAP8[i5 + 2052 + i3 >> 0] = HEAP32[i1 >> 2];
i3 = i3 + 1 | 0;
} while ((i3 | 0) != (i2 | 0));
}
HEAP8[i5 + 2052 + i2 >> 0] = 10;
i1 = i2 + 1 | 0;
HEAP8[i5 + 2052 + i1 >> 0] = 0;
HEAP32[i5 + 2116 >> 2] = i1;
i1 = i5 + 2052 | 0;
i2 = _strlen(i1 | 0) | 0;
i3 = HEAP32[128] | 0;
if ((i2 | 0) <= (i3 | 0)) {
_puts(i1 | 0) | 0;
HEAP32[128] = (HEAP32[128] | 0) - i2;
return;
}
if ((i3 | 0) <= 0) return;
HEAP8[i5 + 2052 + i3 >> 0] = 0;
_puts(i1 | 0) | 0;
HEAP8[(HEAP32[128] | 0) + (i5 + 2052) >> 0] = 122;
HEAP32[128] = 0;
return;
}
// EMSCRIPTEN_END_FUNCS
return { _main: _main, _emscripten_replace_memory: _emscripten_replace_memory };
})
;