/* Generated by the Nim Compiler v1.0.2 */ /* (c) 2019 Andreas Rumpf */ var framePtr = null; var excHandler = 0; var lastJSError = null; if (typeof Int8Array === 'undefined') Int8Array = Array; if (typeof Int16Array === 'undefined') Int16Array = Array; if (typeof Int32Array === 'undefined') Int32Array = Array; if (typeof Uint8Array === 'undefined') Uint8Array = Array; if (typeof Uint16Array === 'undefined') Uint16Array = Array; if (typeof Uint32Array === 'undefined') Uint32Array = Array; if (typeof Float32Array === 'undefined') Float32Array = Array; if (typeof Float64Array === 'undefined') Float64Array = Array; var NTI100432 = {size: 0,kind: 31,base: null,node: null,finalizer: null}; var NTI103247 = {size: 0, kind: 18, base: null, node: null, finalizer: null}; var NTI3630 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; var NTI3652 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; var NTI3644 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; var NTI124 = {size: 0,kind: 36,base: null,node: null,finalizer: null}; var NTI202309 = {size: 0, kind: 18, base: null, node: null, finalizer: null}; var NTI214055 = {size: 0,kind: 16,base: null,node: null,finalizer: null}; var NTI214054 = {size: 0,kind: 16,base: null,node: null,finalizer: null}; var NTI214225 = {size: 0,kind: 16,base: null,node: null,finalizer: null}; var NTI214224 = {size: 0,kind: 16,base: null,node: null,finalizer: null}; var NTI214021 = {size: 0, kind: 14, base: null, node: null, finalizer: null}; var NTI214233 = {size: 0,kind: 16,base: null,node: null,finalizer: null}; var NTI214232 = {size: 0,kind: 16,base: null,node: null,finalizer: null}; var NTI3642 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; var NTI3646 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; var NTI3658 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; var NTI3662 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; var NTI104 = {size: 0,kind: 31,base: null,node: null,finalizer: null}; var NTI21156 = {size: 0, kind: 18, base: null, node: null, finalizer: null}; var NTI3608 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; var NTI3714 = {size: 0,kind: 22,base: null,node: null,finalizer: null}; var NTI114 = {size: 0,kind: 40,base: null,node: null,finalizer: null}; var NTI138 = {size: 0,kind: 28,base: null,node: null,finalizer: null}; var NTI140 = {size: 0,kind: 29,base: null,node: null,finalizer: null}; var NTI3708 = {size: 0,kind: 22,base: null,node: null,finalizer: null}; var NTI3626 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; var NTI3628 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; var NTI3650 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; var NNI3650 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []}; NTI3650.node = NNI3650; var NNI3628 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []}; NTI3628.node = NNI3628; NTI3708.base = NTI3626; NTI3714.base = NTI3626; var NNI3626 = {kind: 2, len: 6, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "parent", len: 0, typ: NTI3708, name: "parent", sons: null}, {kind: 1, offset: "name", len: 0, typ: NTI140, name: "name", sons: null}, {kind: 1, offset: "message", len: 0, typ: NTI138, name: "msg", sons: null}, {kind: 1, offset: "trace", len: 0, typ: NTI138, name: "trace", sons: null}, {kind: 1, offset: "raiseId", len: 0, typ: NTI114, name: "raiseId", sons: null}, {kind: 1, offset: "up", len: 0, typ: NTI3714, name: "up", sons: null}]}; NTI3626.node = NNI3626; var NNI3608 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []}; NTI3608.node = NNI3608; NTI3626.base = NTI3608; NTI3628.base = NTI3626; NTI3650.base = NTI3628; var NNI21156 = {kind: 2, len: 2, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "Field0", len: 0, typ: NTI140, name: "Field0", sons: null}, {kind: 1, offset: "Field1", len: 0, typ: NTI104, name: "Field1", sons: null}]}; NTI21156.node = NNI21156; var NNI3662 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []}; NTI3662.node = NNI3662; NTI3662.base = NTI3628; var NNI3658 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []}; NTI3658.node = NNI3658; NTI3658.base = NTI3628; var NNI3646 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []}; NTI3646.node = NNI3646; var NNI3642 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []}; NTI3642.node = NNI3642; NTI3642.base = NTI3628; NTI3646.base = NTI3642; var NNI214021 = {kind: 2, offset: 0, typ: null, name: null, len: 4, sons: {"0": {kind: 1, offset: 0, typ: NTI214021, name: "mPlayer1", len: 0, sons: null}, "1": {kind: 1, offset: 1, typ: NTI214021, name: "mPlayer2", len: 0, sons: null}, "2": {kind: 1, offset: 2, typ: NTI214021, name: "mFree", len: 0, sons: null}, "3": {kind: 1, offset: 3, typ: NTI214021, name: "mDraw", len: 0, sons: null}}}; NTI214021.node = NNI214021; NTI214233.base = NTI214021; NTI214232.base = NTI214233; NTI214055.base = NTI214021; NTI214054.base = NTI214055; NTI214225.base = NTI214054; NTI214224.base = NTI214225; var NNI202309 = {kind: 2, len: 2, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "x", len: 0, typ: NTI124, name: "x", sons: null}, {kind: 1, offset: "y", len: 0, typ: NTI124, name: "y", sons: null}]}; NTI202309.node = NNI202309; var NNI3644 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []}; NTI3644.node = NNI3644; NTI3644.base = NTI3642; var NNI3652 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []}; NTI3652.node = NNI3652; var NNI3630 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []}; NTI3630.node = NNI3630; NTI3630.base = NTI3626; NTI3652.base = NTI3630; var NNI103247 = {kind: 2, len: 2, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "a", len: 0, typ: NTI100432, name: "a", sons: null}, {kind: 1, offset: "b", len: 0, typ: NTI104, name: "b", sons: null}]}; NTI103247.node = NNI103247; function makeNimstrLit(c_23270) { var ln = c_23270.length; var result = new Array(ln); for (var i = 0; i < ln; ++i) { result[i] = c_23270.charCodeAt(i); } return result; } function toJSStr(s_23304) { var Tmp5; var Tmp7; var result_23305 = null; var res_23363 = new_seq_23336((s_23304 != null ? s_23304.length : 0)); var i_23365 = 0; var j_23367 = 0; L1: do { L2: while (true) { if (!(i_23365 < (s_23304 != null ? s_23304.length : 0))) break L2; var c_23368 = s_23304[i_23365]; if ((c_23368 < 128)) { res_23363[j_23367] = String.fromCharCode(c_23368); i_23365 += 1; } else { var helper_23391 = new_seq_23336(0); L3: do { L4: while (true) { if (!true) break L4; var code_23392 = c_23368.toString(16); if (((code_23392 != null ? code_23392.length : 0) == 1)) { if (helper_23391 != null) { helper_23391.push("%0"); } else { helper_23391 = ["%0"]; }; } else { if (helper_23391 != null) { helper_23391.push("%"); } else { helper_23391 = ["%"]; }; } if (helper_23391 != null) { helper_23391.push(code_23392); } else { helper_23391 = [code_23392]; }; i_23365 += 1; if (((s_23304 != null ? s_23304.length : 0) <= i_23365)) Tmp5 = true; else { Tmp5 = (s_23304[i_23365] < 128); } if (Tmp5) { break L3; } c_23368 = s_23304[i_23365]; } } while(false); ++excHandler; Tmp7 = framePtr; try { res_23363[j_23367] = decodeURIComponent(helper_23391.join("")); --excHandler; } catch (EXC) { var prevJSError = lastJSError; lastJSError = EXC; --excHandler; framePtr = Tmp7; res_23363[j_23367] = helper_23391.join(""); lastJSError = prevJSError; } finally { framePtr = Tmp7; } } j_23367 += 1; } } while(false); if (res_23363 === null) res_23363 = []; if (res_23363.length < j_23367) { for (var i=res_23363.length;i> 6) | 192; } else { if (ch < 55296 || ch >= 57344) { result[r] = (ch >> 12) | 224; } else { ++i; ch = 65536 + (((ch & 1023) << 10) | (c_23287.charCodeAt(i) & 1023)); result[r] = (ch >> 18) | 240; ++r; result[r] = ((ch >> 12) & 63) | 128; } ++r; result[r] = ((ch >> 6) & 63) | 128; } ++r; result[r] = (ch & 63) | 128; } ++r; } return result; } function setConstr() { var result = {}; for (var i = 0; i < arguments.length; ++i) { var x = arguments[i]; if (typeof(x) == "object") { for (var j = x[0]; j <= x[1]; ++j) { result[j] = true; } } else { result[x] = true; } } return result; } var ConstSet1 = setConstr(17, 16, 4, 18, 27, 19, 23, 22, 21); function nimCopy(dest_24827, src_24828, ti_24829) { var result_25019 = null; switch (ti_24829.kind) { case 21: case 22: case 23: case 5: if (!(is_fat_pointer_24801(ti_24829))) { result_25019 = src_24828; } else { result_25019 = [src_24828[0], src_24828[1]]; } break; case 19: if (dest_24827 === null || dest_24827 === undefined) { dest_24827 = {}; } else { for (var key in dest_24827) { delete dest_24827[key]; } } for (var key in src_24828) { dest_24827[key] = src_24828[key]; } result_25019 = dest_24827; break; case 18: case 17: if (!((ti_24829.base == null))) { result_25019 = nimCopy(dest_24827, src_24828, ti_24829.base); } else { if ((ti_24829.kind == 17)) { result_25019 = (dest_24827 === null || dest_24827 === undefined) ? {m_type: ti_24829} : dest_24827; } else { result_25019 = (dest_24827 === null || dest_24827 === undefined) ? {} : dest_24827; } } nimCopyAux(result_25019, src_24828, ti_24829.node); break; case 24: case 4: case 27: case 16: if (src_24828 === null) { result_25019 = null; } else { if (dest_24827 === null || dest_24827 === undefined) { dest_24827 = new Array(src_24828.length); } else { dest_24827.length = src_24828.length; } result_25019 = dest_24827; for (var i = 0; i < src_24828.length; ++i) { result_25019[i] = nimCopy(result_25019[i], src_24828[i], ti_24829.base); } } break; case 28: if (src_24828 !== null) { result_25019 = src_24828.slice(0); } break; default: result_25019 = src_24828; break; } return result_25019; } function arrayConstr(len_25086, value_25087, typ_25088) { var result = new Array(len_25086); for (var i = 0; i < len_25086; ++i) result[i] = nimCopy(null, value_25087, typ_25088); return result; } function raiseException(e_21618, ename_21619) { e_21618.name = ename_21619; if ((excHandler == 0)) { unhandledException(e_21618); } e_21618.trace = nimCopy(null, raw_write_stack_trace_21468(), NTI138); throw e_21618; } function chckRange(i_25124, a_25125, b_25126) { var Tmp1; var result_25127 = 0; BeforeRet: do { if (!(a_25125 <= i_25124)) Tmp1 = false; else { Tmp1 = (i_25124 <= b_25126); } if (Tmp1) { result_25127 = i_25124; break BeforeRet; } else { raiseRangeError(); } } while (false); return result_25127; } function chckIndx(i_25105, a_25106, b_25107) { var Tmp1; var result_25108 = 0; BeforeRet: do { if (!(a_25106 <= i_25105)) Tmp1 = false; else { Tmp1 = (i_25105 <= b_25107); } if (Tmp1) { result_25108 = i_25105; break BeforeRet; } else { raiseIndexError(i_25105, a_25106, b_25107); } } while (false); return result_25108; } function addInt(a_23803, b_23804) { var result = a_23803 + b_23804; if (result > 2147483647 || result < -2147483648) raiseOverflow(); return result; } function mnewString(len_23463) { return new Array(len_23463); } var ConstSet2 = setConstr(60, 62, 94); var ConstSet3 = setConstr(60, 62, 94); var ConstSet4 = setConstr(45, 43, 32); var ConstSet5 = setConstr([48, 57]); var ConstSet6 = setConstr([48, 57]); var ConstSet7 = setConstr([48, 57]); function subInt(a_23821, b_23822) { var result = a_23821 - b_23822; if (result > 2147483647 || result < -2147483648) raiseOverflow(); return result; } function divInt(a_23857, b_23858) { if (b_23858 == 0) raiseDivByZero(); if (b_23858 == -1 && a_23857 == 2147483647) raiseOverflow(); return Math.trunc(a_23857 / b_23858); } function mulInt(a_23839, b_23840) { var result = a_23839 * b_23840; if (result > 2147483647 || result < -2147483648) raiseOverflow(); return result; } var ConstSet8 = setConstr([65, 90], [97, 122]); function modInt(a_23875, b_23876) { if (b_23876 == 0) raiseDivByZero(); if (b_23876 == -1 && a_23875 == 2147483647) raiseOverflow(); return Math.trunc(a_23875 % b_23876); } function nimCharToStr(x_21062) { var result_21063 = null; result_21063 = nimCopy(null, mnewString(1), NTI138); result_21063[0] = x_21062; return result_21063; } function addChar(x_25311, c_25312) { x_25311.push(c_25312); } var nim_program_result = 0; var global_raise_hook_18618 = [null]; var local_raise_hook_18623 = [null]; var out_of_mem_hook_18626 = [null]; if (!Math.trunc) { Math.trunc = function(v) { v = +v; if (!isFinite(v)) return v; return (v - v % 1) || (v < 0 ? -0 : v === 0 ? v : 0); }; } var lc_54221 = [{}]; var object_id_166237 = [0]; var env_computed_186610 = [false]; var environment_186612 = [null]; var render_width_221049 = [0]; var render_height_221050 = [0]; function new_seq_23336(len_23339) { var result_23341 = null; var F={procname:"newSeq.newSeq",prev:framePtr,filename:"system.nim",line:0}; framePtr = F; F.line = 996; result_23341 = new Array(len_23339); for (var i=0;i