functionba(c){throwc}varea=void0,fa=!0,ia=null,ka=!1;functionma(c){return(function(){returnc})}varna,oa,ra,a={arguments:["csl.rnc"],stdin:(function(){returnoa<na.length?na[oa++]:ia}),stdout:(function(c){ra+=String.fromCharCode(c)}),stderr:(function(c){ra+=String.fromCharCode(c)}),noInitialRun:fa};validate=(function(c){for(varb=0,d=c.length,e=0;e<d;e++){varf=c.charCodeAt(e),b=128<=f?2048<=f?b+3:b+2:b+1}na=newUint8Array(b);varg,b=na;g||(g=0);d=c.length;for(e=0;e<d;e++){f=c.charCodeAt(e),128<=f?2048<=f?(b[g]=f>>>12|224,b[g+1]=f>>>6&63|128,b[g+2]=f&63|128,g+=3):(b[g]=f>>>6|192,b[g+1]=f&63|128,g+=2):b[g++]=f}oa=0;ra="";sa[0]=sa[1];wa();returnra});"undefined"===typeofwindow&&(onmessage=(function(c){postMessage(validate(c.data))}));try{this.Module=a}catch(Ba){this.Module=a={}}varHa="object"===typeofprocess,Ia="object"===typeofwindow,La="function"===typeofimportScripts,Ma=!Ia&&!Ha&&!La;if(Ha){a.print=(function(c){process.stdout.write(c+"\n")});a.printErr=(function(c){process.stderr.write(c+"\n")});varNa=require("fs"),Oa=require("path");a.read=(function(c){varc=Oa.normalize(c),b=Na.readFileSync(c).toString();!b&&c!=Oa.resolve(c)&&(c=path.join(__dirname,"..","src",c),b=Na.readFileSync(c).toString());returnb});a.load=(function(c){Pa(read(c))});a.arguments||(a.arguments=process.argv.slice(2))}else{Ma?(a.print=print,"undefined"!=typeofprintErr&&(a.printErr=printErr),a.read="undefined"!=typeofread?read:(function(c){snarf(c)}),a.arguments||("undefined"!=typeofscriptArgs?a.arguments=scriptArgs:"undefined"!=typeofarguments&&(a.arguments=arguments))):Ia?(a.print||(a.print=(function(c){console.log(c)})),a.printErr||(a.printErr=(function(c){console.log(c)})),a.read=(function(c){varb=newXMLHttpRequest;b.open("GET",c,ka);b.send(ia);returnb.responseText}),a.arguments||"undefined"!=typeofarguments&&(a.arguments=arguments)):La?a.load=importScripts:ba("Unknown runtime environment. Where are we?")}functionPa(c){eval.call(ia,c)}"undefined"==!a.load&&a.read&&(a.load=(function(c){Pa(a.read(c))}));a.print||(a.print=(function(){}));a.printErr||(a.printErr=a.print);a.arguments||(a.arguments=[]);a.print=a.print;a.mk=a.printErr;a.preRun||(a.preRun=[]);a.postRun||(a.postRun=[]);functionRa(c){if(1==Xa){return1}varb={"%i1":1,"%i8":1,"%i16":2,"%i32":4,"%i64":8,"%float":4,"%double":8}["%"+c];b||("*"==c[c.length-1]?b=Xa:"i"==c[0]&&(c=parseInt(c.substr(1)),Ya(0==c%8),b=c/8));returnb}functionZa(c){varb=l;l+=c;l=l+3>>2<<2;returnb}functionbb(c){varb=cb;cb+=c;cb=cb+3>>2<<2;if(cb>=db){for(;db<=cb;){db=2*db+4095>>12<<12}varc=o,d=newArrayBuffer(db);o=newInt8Array(d);eb=newInt16Array(d);p=newInt32Array(d);q=newUint8Array(d);hb=newUint16Array(d);s=newUint32Array(d);ib=newFloat32Array(d);lb=newFloat64Array(d);o.set(c)}returnb}varXa=4,nb={},t,ob;functionwb(c){a.print(c+":\n"+Error().stack);ba("Assertion: "+c)}functionYa(c,b){c||wb("Assertion failed: "+b)}varxb=this;functionyb(c,b,d,e){functionf(b,c){if("string"==c){if(b===ia||b===ea||0===b){return0}g||(g=l);vard=Za(b.length+1);Cb(b,d);returnd}return"array"==c?(g||(g=l),d=Za(b.length),Db(b,d),d):b}varg=0;try{varh=eval("_"+c)}catch(i){try{h=xb.Module["_"+c]}catch(j){}}Ya(h,"Cannot call unknown function "+c+" (perhaps LLVM optimizations or closure removed it?)");vark=0,c=e?e.map((function(b){returnf(b,d[k++])})):[],b=(function(b,c){if("string"==c){returnIb(b)}Ya("array"!=c);returnb})(h.apply(ia,c),b);g&&(l=g);returnb}a.ccall=yb;a.cwrap=(function(c,b,d){return(function(){returnyb(c,b,d,Array.prototype.slice.call(arguments))})});functionJb(c,b,d){d=d||"i8";"*"===d[d.length-1]&&(d="i32");switch(d){case"i1":o[c]=b;break;case"i8":o[c]=b;break;case"i16":eb[c>>1]=b;break;case"i32":p[c>>2]=b;break;case"i64":p[c>>2]=b;break;case"float":ib[c>>2]=b;break;case"double":Kb[0]=b;p[c>>2]=Lb[0];p[c+4>>2]=Lb[1];break;default:wb("invalid type for setValue: "+d)}}a.setValue=Jb;a.getValue=(function(c,b){b=b||"i8";"*"===b[b.length-1]&&(b="i32");switch(b){case"i1":returno[c];case"i8":returno[c];case"i16":returneb[c>>1];case"i32":returnp[c>>2];case"i64":returnp[c>>2];case"floa