Skip to content

Instantly share code, notes, and snippets.

@tommythorn
Created February 11, 2018 00:14
Show Gist options
  • Save tommythorn/0fa1288a494251b556cdbf996454f69d to your computer and use it in GitHub Desktop.
Save tommythorn/0fa1288a494251b556cdbf996454f69d to your computer and use it in GitHub Desktop.
Baker Real-Time GC
<!doctype html>
<html lang="en-us">
<head>
<meta charset="utf-8">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Emscripten-Generated Code</title>
<style>
body {
font-family: arial;
margin: 0;
padding: none;
}
.emscripten { padding-right: 0; margin-left: auto; margin-right: auto; display: block; }
div.emscripten { text-align: center; }
div.emscripten_border { border: 1px solid black; }
/* the canvas *must not* have any border or padding, or mouse coords will be wrong */
canvas.emscripten { border: 0px none; background-color: black; }
#emscripten_logo {
display: inline-block;
margin: 0;
}
.spinner {
height: 30px;
width: 30px;
margin: 0;
margin-top: 20px;
margin-left: 20px;
display: inline-block;
vertical-align: top;
-webkit-animation: rotation .8s linear infinite;
-moz-animation: rotation .8s linear infinite;
-o-animation: rotation .8s linear infinite;
animation: rotation 0.8s linear infinite;
border-left: 5px solid rgb(235, 235, 235);
border-right: 5px solid rgb(235, 235, 235);
border-bottom: 5px solid rgb(235, 235, 235);
border-top: 5px solid rgb(120, 120, 120);
border-radius: 100%;
background-color: rgb(189, 215, 46);
}
@-webkit-keyframes rotation {
from {-webkit-transform: rotate(0deg);}
to {-webkit-transform: rotate(360deg);}
}
@-moz-keyframes rotation {
from {-moz-transform: rotate(0deg);}
to {-moz-transform: rotate(360deg);}
}
@-o-keyframes rotation {
from {-o-transform: rotate(0deg);}
to {-o-transform: rotate(360deg);}
}
@keyframes rotation {
from {transform: rotate(0deg);}
to {transform: rotate(360deg);}
}
#status {
display: inline-block;
vertical-align: top;
margin-top: 30px;
margin-left: 20px;
font-weight: bold;
color: rgb(120, 120, 120);
}
#progress {
height: 20px;
width: 30px;
}
#controls {
display: inline-block;
float: right;
vertical-align: top;
margin-top: 30px;
margin-right: 20px;
}
#output {
width: 100%;
height: 200px;
margin: 0 auto;
margin-top: 10px;
border-left: 0px;
border-right: 0px;
padding-left: 0px;
padding-right: 0px;
display: block;
background-color: black;
color: white;
font-family: 'Lucida Console', Monaco, monospace;
outline: none;
}
</style>
</head>
<body>
<a href="http://emscripten.org">
<svg
version="1.1"
id="Layer_1"
x="0px"
y="0px"
width="296px"
height="78px"
viewBox="420 120 100 170"
enable-background="new 0 0 900 400"
xml:space="preserve"
inkscape:version="0.48.4 r9939"
sodipodi:docname="emscripten_powered_by_logo.svg"><metadata
id="metadata345"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
id="defs343"><linearGradient
y2="247.6265"
x2="225.1929"
y1="152.499"
x1="225.1929"
gradientUnits="userSpaceOnUse"
id="linearGradient5104"><stop
id="stop5106"
style="stop-color:#C1D72F"
offset="0.3227531" /><stop
id="stop5108"
style="stop-color:#BCD631"
offset="0.45119295" /><stop
id="stop5110"
style="stop-color:#AFD136"
offset="0.64491969" /><stop
id="stop5112"
style="stop-color:#ABD037"
offset="1" /><a:midPointStop
style="stop-color:#C1D72F"
offset="0.0123" /><a:midPointStop
style="stop-color:#C1D72F"
offset="0.3086" /><a:midPointStop
style="stop-color:#ABD037"
offset="1" /></linearGradient><linearGradient
inkscape:collect="always"
xlink:href="#SVGID_2_"
id="linearGradient5120"
x1="397.56918"
y1="128.12726"
x2="397.56918"
y2="166.25996"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.103059,0,0,1.103059,-38.997823,3.1312145)" /><filter
inkscape:collect="always"
id="filter5126"><feGaussianBlur
inkscape:collect="always"
stdDeviation="0.56377237"
id="feGaussianBlur5128" /></filter><linearGradient
inkscape:collect="always"
xlink:href="#SVGID_2_"
id="linearGradient5134"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.103059,0,0,1.103059,-38.997823,3.1312145)"
x1="397.56918"
y1="128.12726"
x2="397.56918"
y2="166.25996" /></defs><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1440"
inkscape:window-height="838"
id="namedview341"
showgrid="false"
inkscape:zoom="0.63555556"
inkscape:cx="224.82424"
inkscape:cy="-52.085109"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="Layer_1" /><g
id="g5130"
transform="matrix(0.91591318,0,0,0.91591318,28.176953,14.143571)"><path
transform="matrix(1.103059,0,0,1.103059,-35.073492,-16.03923)"
id="path5122"
style="fill:#383838;fill-opacity:0.34705882;stroke:none;filter:url(#filter5126)"
d="m 494.39333,173.6323 c 0.57407,0.28703 1.87073,1.00226 2.89426,1.02855 0.55732,0.0143 1.14006,-0.1672 1.60262,-0.4784 1.20466,-0.81046 2.23561,-2.03031 2.72683,-3.39661 0.19424,-0.54027 0.0238,-1.72222 0.0238,-1.72222 l -3.82713,-14.06478 -1.98533,0 0.50231,-2.67891 6.36261,0 2.55939,12.22285 4.78392,-9.68746 -2.00924,0 0,-2.65498 7.19979,0 -11.00301,22.38875 -1.69829,1.91358 -2.29628,1.3395 -2.46371,0.26312 -2.29628,-0.21528 -2.79859,-1.36342 z m -12.0637,-14.56445 c -0.93698,1.88565 -1.70261,4.35262 -0.81842,6.26333 0.36549,0.78976 1.35098,1.19428 2.192,1.41737 0.60934,0.16133 1.29167,0.0999 1.88775,-0.10468 0.48126,-0.1655 0.8829,-0.5224 1.255,-0.8697 0.40341,-0.3768 0.77723,-0.80461 1.03505,-1.29262 0.21864,-0.41395 0.40236,-0.84786 0.49325,-1.30698 0.20667,-1.0485 0.35879,-2.1079 0.33583,-3.17631 -0.0184,-0.87403 -0.0789,-1.87107 -0.47711,-2.64959 -0.26344,-0.51379 -0.77017,-0.71849 -1.33113,-0.85633 -0.42395,-0.10479 -0.81432,-0.0626 -1.21773,0.10517 -0.65479,0.27273 -1.2544,0.5311 -1.82112,0.95764 -0.57331,0.4317 -1.21403,0.86959 -1.53337,1.5127 z m 0.65588,-4.31208 c 0,0 2.19341,-1.80738 3.45549,-2.27082 0.71718,-0.26365 3.45363,-0.65258 4.15,-0.3378 1.47292,0.66633 2.26103,1.57529 2.7222,2.60001 0.46118,1.02472 0.69944,2.59956 0.79701,3.73627 0.13278,1.55027 -0.13682,3.77629 -0.53404,5.74843 -0.30079,1.49256 -1.01883,2.74423 -1.83478,3.92156 -1.06526,1.5373 -1.82382,2.15116 -3.66756,2.46594 -0.98864,0.16889 -1.93845,0.46787 -3.25466,0.0928 -1.4384,-0.40963 -2.35273,-0.81244 -3.39599,-1.63337 -0.72524,-0.57054 -1.16043,-1.54043 -1.16043,-1.54043 l 0,2.82636 -4.8903,0 3.39872,-23.01602 -1.92242,-0.85888 0.0403,-2.38127 7.25847,0.0534 z m -23.77803,2.20447 c 0.29175,1.49273 0.0813,4.83252 -0.86111,6.69751 -0.3062,0.60617 -0.94813,1.32967 -1.55479,1.6983 -1.01515,0.61713 -2.21688,1.21322 -3.3966,1.07639 -0.47944,-0.0541 -0.97036,-0.34348 -1.24383,-0.74151 -0.47686,-0.69328 -0.43621,-1.55032 -0.45448,-2.39198 -0.024,-1.06873 0.13137,-2.23775 0.38272,-3.277 0.18705,-0.7744 0.4229,-1.58254 0.86111,-2.24844 0.39037,-0.59323 0.92628,-1.12617 1.55478,-1.45909 0.54854,-0.29014 1.19695,-0.38467 1.81791,-0.40664 0.63637,-0.0231 1.3031,0.0385 1.88966,0.28704 0.3875,0.16453 0.92361,0.3524 1.00463,0.76542 z m 1.29312,-9.69052 -0.64254,6.12262 c 0,0 -1.68393,-0.96858 -2.605,-1.25148 -0.73032,-0.22434 -1.50312,-0.36654 -2.26624,-0.33838 -0.97069,0.0345 -1.91182,0.22099 -2.81751,0.57088 -0.9185,0.35497 -1.78344,0.94565 -2.49338,1.62792 -0.88025,0.84538 -1.51404,1.90455 -2.02977,3.0106 -0.39653,0.84993 -0.69517,1.75284 -0.87975,2.67232 -0.22875,1.14241 -0.44415,2.38719 -0.43937,3.55197 0.01,1.44865 0.0623,2.89489 0.54092,4.26214 0.25525,0.72907 0.71643,1.40578 1.28572,1.9283 0.56835,0.52207 1.29566,0.87604 2.02935,1.11621 0.41072,0.13491 0.85346,0.17274 1.28579,0.16935 1.00285,-0.01 2.03715,-0.0883 2.97671,-0.43999 0.66497,-0.2489 1.21759,-0.73399 1.79298,-1.1502 0.75304,-0.54475 2.16476,-1.86006 2.16476,-1.86006 l 0,1.62374 -0.5751,0 0,1.48807 6.86709,0 0,-2.84135 -1.92841,0 3.21374,-23.57782 -7.37422,0 0,2.33412 z m -93.60062,7.55781 2.33363,15.57933 6.23084,0 4.04243,-11.34169 1.62654,11.34169 5.88425,0 7.05633,-16.38872 0,-2.0141 -6.1713,0 0,2.82349 1.88966,0 -4.04243,10.16973 -0.74151,0 -1.29167,-12.55773 -5.38194,0 -4.7361,12.50989 -1.55478,-12.94538 -6.86496,0 0,2.82349 z m -12.15,0.72146 c -0.56264,0.0892 -1.03524,0.17358 -1.53086,0.45447 -0.737,0.41808 -1.46132,0.95771 -1.91357,1.67437 -0.44123,0.70048 -0.53204,1.57581 -0.66975,2.39196 -0.1751,1.04003 -0.20064,2.10306 -0.19136,3.15741 0.01,0.81614 -0.0138,1.66577 0.35879,2.39197 0.1904,0.37315 0.52874,0.80945 0.88503,1.02855 0.56015,0.34453 1.06632,0.55494 1.72222,0.598 0.72597,0.0483 1.48801,-0.18852 2.10493,-0.57408 0.59422,-0.37072 1.03334,-0.97401 1.38735,-1.5787 0.46117,-0.78744 0.70905,-1.69257 0.90895,-2.58334 0.20377,-0.90704 0.33579,-1.84565 0.28703,-2.77468 -0.0491,-0.92714 -0.18211,-1.88434 -0.57407,-2.72684 -0.2728,-0.58681 -0.70954,-1.00753 -1.29166,-1.29165 -0.44403,-0.21628 -0.99455,-0.24402 -1.48303,-0.16744 z m -6.62442,-0.73581 c 0.65404,-0.6664 1.4072,-1.25479 2.23273,-1.69161 1.0305,-0.54505 2.16429,-0.92749 3.31518,-1.11604 1.51307,-0.24806 3.09342,-0.2847 4.60036,0 0.88055,0.16632 1.78322,0.44742 2.50307,0.98113 0.77409,0.57312 1.35279,1.40936 1.79291,2.26639 0.42901,0.83457 0.6828,1.77223 0.77798,2.70605 0.16564,1.61985 0.024,3.29135 -0.37201,4.87103 -0.33328,1.33759 -0.88436,2.64754 -1.65745,3.78889 -0.67549,0.99679 -1.52894,1.91262 -2.53721,2.5709 -0.89957,0.58746 -1.9718,0.87641 -3.01035,1.15006 -0.87153,0.22963 -1.77166,0.4095 -2.67235,0.40576 -1.21068,-0.01 -2.47998,-0.0817 -3.58589,-0.57511 -1.09854,-0.48896 -1.89728,-1.32739 -2.60455,-2.30013 -0.61123,-0.83995 -1.02561,-1.59975 -1.31932,-2.87516 -0.2125,-0.9233 -0.40006,-2.19912 -0.37215,-3.14592 0.0335,-1.16537 0.3568,-2.74121 0.83416,-3.80434 0.52547,-1.17098 1.17609,-2.3161 2.07489,-3.2319 z m 94.95184,13.82318 c -2.20516,1.01761 -4.61429,1.69636 -7.02343,1.69636 -5.32726,0 -7.22678,-3.12145 -7.22678,-7.22678 0,-7.1251 4.54685,-11.19645 10.0772,-11.19645 3.7324,0 5.56453,1.69625 5.56453,4.47856 0,4.85189 -5.12329,6.27735 -10.41633,6.82001 0.10168,1.73076 0.81446,3.32485 3.3592,3.32485 1.2218,0 2.88401,-0.37315 4.91982,-1.22099 z m -3.22292,-11.77374 c 0,-0.81423 -0.57695,-1.28891 -1.62876,-1.28891 -1.89988,0 -3.46041,1.66212 -3.96978,4.34287 1.45897,-0.20368 5.59854,-0.91613 5.59854,-3.05396 z m -30.33408,11.77374 c -2.2054,1.01761 -4.61457,1.69636 -7.02371,1.69636 -5.32653,0 -7.22671,-3.12145 -7.22671,-7.22678 0,-7.1251 4.54679,-11.19645 10.07785,-11.19645 3.73175,0 5.56382,1.69625 5.56382,4.47856 0,4.85189 -5.12273,6.27735 -10.41568,6.82001 0.10142,1.73076 0.81422,3.32485 3.35884,3.32485 1.22158,0 2.8842,-0.37315 4.91994,-1.22099 z m -3.22305,-11.77374 c 0,-0.81423 -0.57638,-1.28891 -1.62883,-1.28891 -1.89959,0 -3.46023,1.66212 -3.96971,4.34287 1.4591,-0.20368 5.59854,-0.91613 5.59854,-3.05396 z m -82.36051,20.5268 -0.0679,-0.13571 0.98406,-5.66614 2.10303,-15.16698 c 0.0687,-0.40664 -0.0332,-0.61046 -0.30522,-0.71214 l -1.66259,-0.61111 0.37379,-2.57855 6.78556,0 -0.40663,2.71427 0.10142,0.0335 c 2.0016,-1.86631 4.10566,-3.08743 6.24306,-3.08743 2.91821,0 4.95366,1.86577 4.95366,6.78561 0,4.68241 -1.83206,11.6379 -8.14271,11.6379 -2.20534,0 -3.42694,-0.84825 -4.68256,-1.73039 l -0.74621,5.08917 c -0.0341,0.37361 0.0326,0.50898 0.47457,0.54273 l 3.42697,0.33969 -0.37385,2.5447 -9.0589,0 z m 6.78613,-12.04485 c 0.84787,0.71258 1.96788,1.32305 3.22348,1.32305 2.74798,0 3.76601,-3.86811 3.76601,-6.85368 0,-2.002 -0.47476,-3.32542 -1.76432,-3.32542 -1.35696,0 -3.08763,1.4591 -4.30913,2.54506 z m 81.08934,4.85147 0.33969,-2.54464 1.56064,-0.2038 c 0.47498,-0.0683 0.5429,-0.1695 0.61084,-0.67837 l 1.42466,-10.34864 c 0.0335,-0.37315 -0.0335,-0.61046 -0.33914,-0.71214 l -1.69691,-0.61111 0.37365,-2.57855 6.71797,0 -0.44097,3.05395 0.10191,0.0679 c 1.32326,-1.89982 3.22359,-3.46042 5.39485,-3.46042 0.7463,0 2.0359,0.13582 2.61295,0.30538 l -0.84863,6.17508 -3.96972,-0.13582 -0.10157,-1.76443 c -0.0335,-0.30537 -0.10223,-0.40701 -0.37391,-0.40701 -0.64452,0 -1.69636,0.78027 -2.64651,1.76455 l -1.18674,8.61817 c -0.0687,0.54303 -0.0334,0.64474 0.47477,0.67874 l 3.22351,0.27142 -0.37384,2.51081 -10.8575,0 z"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cssscccccccccccccccccssssssssccssscssssscsssccccccccsssssssssccsccsssssssssscsscccccccccccccccccccccccccccccccsssscsssssscscsssssssscsssssssssscsssscsccsscscsssscsccsscsccccccccccsssccccccccssscccccccccccccsccccsccccccc" /><path
sodipodi:nodetypes="cssscccccccccccccccccssssssssccssscssssscsssccccccccsssssssssccsccsssssssssscsscccccccccccccccccccccccccccccccsssscsssssscscsssssssscsssssssssscsssscsccsscscsssscsccsscsccccccccccsssccccccccssscccccccccccccsccccsccccccc"
inkscape:connector-curvature="0"
d="m 509.55935,174.26011 c 0.63327,0.31663 2.06355,1.10555 3.19256,1.13455 0.61476,0.0158 1.25757,-0.18443 1.76781,-0.5277 1.3288,-0.89397 2.46618,-2.23946 3.00784,-3.74661 0.21419,-0.59598 0.0258,-1.89972 0.0258,-1.89972 l -4.22153,-15.51428 -2.18993,0 0.55406,-2.95501 7.01835,0 2.82313,13.48255 5.27696,-10.68586 -2.21631,0 0,-2.92858 7.94179,0 -12.13698,24.69605 -1.87332,2.11078 -2.5329,1.4776 -2.71762,0.29022 -2.53295,-0.23748 -3.08699,-1.50392 z m -13.30698,-16.06545 c -1.0335,2.08005 -1.87803,4.80122 -0.90274,6.90883 0.4032,0.87116 1.49018,1.31738 2.4179,1.56347 0.67214,0.17793 1.42477,0.1102 2.08233,-0.11548 0.53084,-0.1826 0.97383,-0.5762 1.38432,-0.9593 0.44502,-0.4157 0.85733,-0.8875 1.14176,-1.42582 0.24113,-0.45665 0.44375,-0.93526 0.54404,-1.44168 0.22797,-1.1566 0.3958,-2.3252 0.37043,-3.50371 -0.0204,-0.96413 -0.0869,-2.06387 -0.52631,-2.92259 -0.29054,-0.56679 -0.84946,-0.79259 -1.46826,-0.94463 -0.46761,-0.11559 -0.89829,-0.0686 -1.34322,0.11597 -0.72226,0.30083 -1.38368,0.5859 -2.00879,1.05634 -0.63242,0.4762 -1.33915,0.9593 -1.69146,1.6686 z m 0.72346,-4.75648 c 0,0 2.41951,-1.99358 3.81169,-2.50482 0.79109,-0.29085 3.80953,-0.71977 4.57766,-0.3726 1.6247,0.73503 2.49408,1.73759 3.00274,2.86791 0.50868,1.13043 0.77154,2.86756 0.87911,4.12137 0.14648,1.71007 -0.15092,4.16549 -0.58904,6.34083 -0.33179,1.64636 -1.12383,3.02703 -2.02388,4.32576 -1.17506,1.6957 -2.01178,2.37286 -4.04556,2.72004 -1.09051,0.18629 -2.13814,0.51607 -3.59006,0.10268 -1.5866,-0.45183 -2.59522,-0.89615 -3.74599,-1.8017 -0.79994,-0.62933 -1.28003,-1.6992 -1.28003,-1.6992 l 0,3.11766 -5.39426,0 3.74898,-25.38802 -2.12052,-0.94738 0.0443,-2.62669 8.00657,0.0587 z m -26.22853,2.43167 c 0.32185,1.64663 0.0893,5.33062 -0.9498,7.38781 -0.33781,0.66857 -1.04588,1.46667 -1.7151,1.8733 -1.11975,0.68073 -2.44527,1.33822 -3.7466,1.18729 -0.52883,-0.0601 -1.07036,-0.37888 -1.37203,-0.81791 -0.52601,-0.76478 -0.48121,-1.71012 -0.50128,-2.63848 -0.0263,-1.17893 0.14487,-2.46835 0.42212,-3.6147 0.20635,-0.8543 0.4665,-1.74564 0.94981,-2.48024 0.43067,-0.65433 1.02178,-1.24217 1.71508,-1.60939 0.60504,-0.32004 1.32025,-0.42437 2.00521,-0.44854 0.70197,-0.0251 1.4374,0.0425 2.08446,0.31654 0.4274,0.18153 1.01882,0.3888 1.10813,0.84432 z m 1.42642,-10.68922 -0.70874,6.75362 c 0,0 -1.85753,-1.06838 -2.8735,-1.38048 -0.80562,-0.24744 -1.65802,-0.40424 -2.49984,-0.37318 -1.07069,0.0382 -2.10882,0.24369 -3.1078,0.62968 -1.01321,0.39157 -1.96724,1.04315 -2.75039,1.79572 -0.97095,0.93248 -1.67003,2.10085 -2.23897,3.3208 -0.43738,0.93753 -0.76677,1.93354 -0.9704,2.94777 -0.2523,1.26016 -0.4899,2.63324 -0.48461,3.91802 0.011,1.59795 0.0683,3.19329 0.59661,4.70144 0.28155,0.80417 0.79028,1.55058 1.41822,2.127 0.62695,0.57587 1.4292,0.96634 2.23856,1.23121 0.45301,0.14881 0.94135,0.19054 1.41828,0.18685 1.10615,-0.011 2.24705,-0.0973 3.28346,-0.48539 0.73352,-0.2745 1.34304,-0.80959 1.97773,-1.2687 0.83064,-0.60085 2.38786,-2.05176 2.38786,-2.05176 l 0,1.79104 -0.63429,0 0,1.64147 7.57478,0 0,-3.13415 -2.12721,0 3.54494,-26.00772 -8.13411,0 0,2.57462 z m -103.24702,8.33671 2.57413,17.18493 6.87304,0 4.45903,-12.51049 1.79414,12.51049 6.49065,0 7.78353,-18.07772 0,-2.2217 -6.8073,0 0,3.11449 2.08446,0 -4.45903,11.21783 -0.8179,0 -1.42488,-13.85193 -5.93654,0 -5.2242,13.79919 -1.71497,-14.27958 -7.57246,0 0,3.11449 z m -13.4021,0.79586 c -0.62064,0.0982 -1.14194,0.19148 -1.68866,0.50127 -0.813,0.46118 -1.61192,1.05641 -2.11077,1.84697 -0.48673,0.77268 -0.58683,1.73821 -0.73875,2.63846 -0.1932,1.14723 -0.22134,2.31976 -0.21116,3.48281 0.011,0.90024 -0.0148,1.83747 0.39579,2.63847 0.21,0.41165 0.58324,0.89285 0.97623,1.13455 0.61796,0.38003 1.17622,0.61214 1.89972,0.6596 0.80077,0.0533 1.64141,-0.20792 2.32189,-0.63318 0.65546,-0.40892 1.13978,-1.07441 1.53029,-1.7414 0.50878,-0.86864 0.78215,-1.86707 1.00265,-2.84964 0.22477,-1.00044 0.37039,-2.03585 0.31663,-3.06058 -0.0541,-1.02274 -0.20091,-2.07854 -0.63327,-3.00784 -0.3009,-0.64731 -0.78264,-1.11143 -1.42476,-1.42485 -0.48983,-0.23858 -1.09705,-0.26912 -1.63583,-0.18464 z m -7.30711,-0.81171 c 0.72143,-0.735 1.55219,-1.38409 2.46282,-1.86591 1.1367,-0.60125 2.38729,-1.02309 3.65678,-1.23104 1.66908,-0.27366 3.41222,-0.314 5.07446,0 0.97135,0.18342 1.96702,0.49352 2.76107,1.08223 0.85389,0.63222 1.49219,1.55466 1.97771,2.49999 0.47321,0.92057 0.7531,1.95483 0.85808,2.98495 0.18274,1.78675 0.0263,3.63055 -0.41031,5.37303 -0.36757,1.47539 -0.97545,2.92034 -1.82825,4.17929 -0.74509,1.09959 -1.68654,2.10982 -2.79871,2.8359 -0.99227,0.64796 -2.175,0.96671 -3.32055,1.26856 -0.96139,0.25333 -1.95426,0.4517 -2.94774,0.44756 -1.33549,-0.011 -2.73559,-0.0897 -3.9555,-0.63431 -1.21174,-0.53936 -2.09278,-1.46419 -2.87295,-2.53723 -0.67423,-0.92645 -1.13131,-1.76457 -1.45532,-3.17146 -0.2344,-1.0184 -0.44126,-2.42572 -0.41044,-3.47012 0.0365,-1.28547 0.39349,-3.02371 0.92005,-4.19644 0.57967,-1.29168 1.29729,-2.5548 2.2888,-3.565 z m 104.73744,15.24778 c -2.43247,1.12251 -5.0899,1.87126 -7.74734,1.87126 -5.87626,0 -7.97147,-3.44315 -7.97147,-7.97158 0,-7.8594 5.0154,-12.35035 11.11569,-12.35035 4.11711,0 6.13803,1.87105 6.13803,4.94016 0,5.35189 -5.65129,6.92425 -11.48983,7.52281 0.11219,1.90916 0.89836,3.66755 3.7054,3.66755 1.3477,0 3.18121,-0.41165 5.42682,-1.34689 z m -3.55513,-12.98704 c 0,-0.89823 -0.63635,-1.42181 -1.79655,-1.42181 -2.09568,0 -3.81712,1.83342 -4.37899,4.79047 1.60937,-0.22468 6.17554,-1.01053 6.17554,-3.36866 z m -33.46028,12.98704 c -2.4327,1.12251 -5.09006,1.87126 -7.74751,1.87126 -5.87553,0 -7.97151,-3.44315 -7.97151,-7.97158 0,-7.8594 5.01539,-12.35035 11.11645,-12.35035 4.11635,0 6.13722,1.87105 6.13722,4.94016 0,5.35189 -5.65062,6.92425 -11.48908,7.52281 0.11182,1.90916 0.89812,3.66755 3.70494,3.66755 1.34748,0 3.1815,-0.41165 5.42704,-1.34689 z m -3.55514,-12.98704 c 0,-0.89823 -0.63578,-1.42181 -1.79674,-1.42181 -2.09539,0 -3.81683,1.83342 -4.37881,4.79047 1.60951,-0.22468 6.17555,-1.01053 6.17555,-3.36866 z m -90.84852,22.6422 -0.0749,-0.14971 1.08546,-6.25004 2.31984,-16.73008 c 0.0757,-0.44854 -0.0367,-0.67336 -0.33673,-0.78554 l -1.83388,-0.67411 0.41228,-2.84425 7.48486,0 -0.44853,2.99397 0.11182,0.0371 c 2.2079,-2.05871 4.52887,-3.40563 6.88646,-3.40563 3.21901,0 5.46427,2.05807 5.46427,7.48491 0,5.16501 -2.02094,12.8373 -8.98192,12.8373 -2.43264,0 -3.78014,-0.93565 -5.16516,-1.90869 l -0.82311,5.61357 c -0.0376,0.41212 0.0356,0.56148 0.52347,0.59873 l 3.78017,0.37469 -0.41234,2.8069 -9.9925,0 z m 7.48553,-13.28615 c 0.93528,0.78598 2.17068,1.45946 3.55568,1.45946 3.03118,0 4.15411,-4.26682 4.15411,-7.56009 0,-2.2083 -0.52366,-3.66812 -1.94612,-3.66812 -1.49686,0 -3.40583,1.6095 -4.75323,2.80736 z m 89.44624,5.35147 0.37469,-2.80694 1.72154,-0.2248 c 0.52388,-0.0753 0.5988,-0.1869 0.67374,-0.74827 l 1.57152,-11.41514 c 0.0365,-0.41155 -0.0368,-0.67336 -0.3741,-0.78554 l -1.87181,-0.67411 0.41215,-2.84425 7.41037,0 -0.48647,3.36865 0.11241,0.0749 c 1.45966,-2.09562 3.55581,-3.81702 5.95085,-3.81702 0.8232,0 2.2457,0.14982 2.88225,0.33688 l -0.93613,6.81148 -4.37882,-0.14982 -0.11196,-1.94633 c -0.0371,-0.33677 -0.11284,-0.44891 -0.41252,-0.44891 -0.71092,0 -1.87116,0.86067 -2.91921,1.94635 l -1.30904,9.50637 c -0.0757,0.59903 -0.0368,0.71124 0.52367,0.74874 l 3.55571,0.29932 -0.41234,2.76961 -11.9765,0 z"
style="fill:url(#linearGradient5134);fill-opacity:1;stroke:none"
id="path5080" /></g><path
fill="#E2E2E2"
d="M256.023,135.437H196.36c-16.432,0-29.8,13.368-29.8,29.8v73.527c0,16.432,13.368,29.8,29.8,29.8h59.663 c16.433,0,29.801-13.368,29.801-29.8v-73.527C285.824,148.805,272.456,135.437,256.023,135.437z M191.561,165.236 c0-2.646,2.153-4.8,4.8-4.8h59.663c2.647,0,4.801,2.153,4.801,4.8v73.527c0,2.646-2.153,4.8-4.801,4.8H196.36 c-2.646,0-4.8-2.153-4.8-4.8V165.236z"
id="path3" /><path
d="m 531.664,250.155 h 18.498 l -2.809,18.064 h 5.59 37.586 l 2.6,-17.718 c 4.98,-1.091 9.133,-3.455 12.512,-6.693 3.084,4.075 8.566,7.37 18.252,7.37 6.338,0 12.775,-1.807 17.174,-3.687 4.254,2.399 9.463,3.687 15.459,3.687 3.088,0 6.236,-0.355 9.426,-1.023 h 67.135 l 3.354,-24.827 -5.445,-0.764 1.879,-13.356 c 0.371,-2.386 0.449,-4.66 0.449,-6.156 l -0.008,-0.375 c -0.457,-12.191 -8.139,-19.765 -20.045,-19.765 -2.404,0 -4.623,0.314 -6.676,0.852 h -34.189 l -0.035,0.244 c -2.527,-0.701 -5.41,-1.096 -8.686,-1.096 -3.801,0 -7.406,0.555 -10.76,1.598 l 0.105,-0.746 h -12.467 l 1.826,-12.951 H 615.08 l -1.846,7.658 c -1.373,5.704 -2.213,5.793 -4.453,6.03 l -4.508,0.477 c -3.049,-1.424 -6.357,-2.065 -9.602,-2.065 -2.135,0 -4.275,0.284 -6.416,0.852 h -19.291 c 0.502,-1.772 0.775,-3.674 0.775,-5.678 0,-9.601 -6.846,-16.305 -16.646,-16.305 -11.055,0 -18.775,7.721 -18.775,18.776 0,0.951 0.082,1.869 0.219,2.764 -2.135,-0.288 -4.277,-0.409 -5.553,-0.409 -2.053,0 -4.072,0.288 -6.045,0.852 h -31.342 c -2.74,-0.553 -5.641,-0.852 -8.537,-0.852 -7.138,0 -13.492,1.674 -18.808,4.723 l -3.451,-1.461 c -3.711,-1.571 -11.232,-3.262 -18.979,-3.262 -8.933,0 -16.383,2.56 -21.576,7.016 -3.265,-4.473 -8.523,-7.016 -15.228,-7.016 -4.822,0 -9.021,1.477 -12.572,3.44 -2.996,-2.204 -6.796,-3.44 -11.115,-3.44 -2.327,0 -4.48,0.315 -6.476,0.852 h -33.963 l -0.035,0.245 c -2.526,-0.702 -5.41,-1.097 -8.687,-1.097 -20.458,0 -35.307,16.031 -35.307,38.117 0,17.363 10.785,28.149 28.148,28.149 3.087,0 6.236,-0.356 9.426,-1.023 h 88.816 c 3.706,0.676 7.669,1.023 11.154,1.023 8.907,0 16.278,-2.375 21.51,-6.593 4.872,4.252 11.585,6.593 19.728,6.593 3.053,0 6.206,-0.368 9.286,-1.023 h 44.664 2.069 z"
id="path5"
inkscape:connector-curvature="0"
style="fill:#e2e2e2" /><path
fill="#F5F5F5"
d="M255.023,133.437H195.36c-16.432,0-29.8,13.368-29.8,29.8v73.527c0,16.432,13.368,29.8,29.8,29.8h59.663 c16.433,0,29.801-13.368,29.801-29.8v-73.527C284.824,146.805,271.456,133.437,255.023,133.437z M190.561,163.236 c0-2.646,2.153-4.8,4.8-4.8h59.663c2.647,0,4.801,2.153,4.801,4.8v73.527c0,2.646-2.153,4.8-4.801,4.8H195.36 c-2.646,0-4.8-2.153-4.8-4.8V163.236z"
id="path7" /><g
id="g9"><g
id="g11"><path
fill="#FBFDF8"
d="M195.361,251.626c-8.161,0-14.8-6.64-14.8-14.8v-73.527c0-8.161,6.639-14.8,14.8-14.8h59.663 c8.161,0,14.8,6.639,14.8,14.8v73.527c0,8.16-6.639,14.8-14.8,14.8H195.361z"
id="path13" /><path
fill="#F0F4E1"
d="M255.024,152.499c5.964,0,10.8,4.835,10.8,10.8v73.527c0,5.965-4.835,10.8-10.8,10.8h-59.663 c-5.964,0-10.8-4.835-10.8-10.8v-73.527c0-5.964,4.835-10.8,10.8-10.8H255.024 M255.024,144.499h-59.663 c-10.366,0-18.8,8.434-18.8,18.8v73.527c0,10.366,8.434,18.8,18.8,18.8h59.663c10.366,0,18.8-8.434,18.8-18.8v-73.527 C273.824,152.933,265.391,144.499,255.024,144.499L255.024,144.499z"
id="path15" /></g><defs
id="defs17"><filter
id="Adobe_OpacityMaskFilter"
filterUnits="userSpaceOnUse"
x="176.562"
y="144.499"
width="97.263"
height="111.127"><feColorMatrix
type="matrix"
values="-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 1 0"
color-interpolation-filters="sRGB"
result="source"
id="feColorMatrix20" /></filter></defs><mask
maskUnits="userSpaceOnUse"
x="176.562"
y="144.499"
width="97.263"
height="111.127"
id="SVGID_1_"><g
filter="url(#Adobe_OpacityMaskFilter)"
id="g23"><image
overflow="visible"
width="422"
height="480"
xlink:href="data:image/jpeg;base64,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 7fGT6fI+nyPp8j6fI+nyPp8j6fI+nyPp8j6fI+nyPp8D7x8fJtxp1m7Tp5jbw/MfWIjbXTk5SHsH j/sBQ63ZK2AdthqO8vXbUZWrJ0V/oJ7ZB7Sa+ofJMIkS6IySyJRLIkSyJEsiRLIkSyJEsiRLIkSy JVLYiRLYicEr8xfwSemN0kjy8PIdkfxQp0xWEAPYPH/YCh1uyVsAAz08ome2si37qZkumaULspIu 2aRkuyki7KSLspIuyki7KSLspIuyki7KSLtilC6qSLtilC6fNNFu5qz8k7wcI+vkAAHsHj/sBWoQ AAAAAAAAAAAAAAAAAAAAAAAAAHpAf//aAAgBAgABBQD/ACi//9oACAEDAAEFAP8AKL//2gAIAQEA AQUA6w6rz/LM+776rO++qzvvqs776rO++qzvvqs776rO++qzvvqs776rO++qzvvqs776rO++qzvv qs776rO++qzvvqs776rO++qzvvqs776rO++qzvvqs776rO++qzvvqs776rO++qzvvqs776rO++qz vvqs776rO++qzvvqs776rO++qzvvqs776rO++qzvvqs776rO++qzvvqs776rO++qzvvqs776rO++ qzvvqs776rMfLPYHlHyRFUbivuDeUv1FOSVKJkRwE4CcAOAHADgBwA4AcAOAHADgBwA4AcAOAHAD gBwA4AcAOAHADgBwA4AcAOAnARciFyRUK8ndQcgyGxaaqf4fYHlHwRFUjZe68RsqbpGoKIUQkKYY kISEYJDAmBMCYEwJgTAmBMCYEwJgTAmBMCYEwJgTAmBMCYEwJgTAmCQWELCKoSFcNByEhIyxusk5 VVQV0VUL8vYHlGltupyqDlaIMREQaijcUoilMUSKgkZDDIYZDDIYZDDIYZDDIYZDDIYZDDIYZDDI YZDDIYZDDIYZDDIYZDDIYZDDIYZDDIYZDDILGQWKVRSuKORR2KPRCZltDiSYrjFXx9geUaG26nKs vy9KEjxhmONRxuOUMFLAjIjJdF0XRdIXSF0hdF0XRdF0XRdF0XRdF0XRdF0XRdIXSF0hdIXRdCsi sisFTBXHHY49GH4xMhU10y4tTFfw9geUCJ9rlcL6SNHGGBlgbZKGilsShDZQ+kPr/wBX0fSGygtC CtoVNDjI6wPsElgzCGjlLrdTden2B5QZfGvnYbCIkdkYZGmihsSn61ItJXQOtD7JIZJTBm0X6+Hs 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 DNdYwcM11jBwzXWMHDNdYwcM11jBwzXWMHDNdYwcM11jBwzXWMHDP+z/AEd/2MzUhXbvz7H6XVO/ Y7vFJSkpSUpKUlKSlJSkpSUpKUlKSlJSkpSUpKUlKSlJSkpSUpKUlKSlJSkpSUpKUlKSlJSkp+le p3d6ndOn4OZqQrt349EOqp0QT9PVfzGDBgwYMGDBgwYMGDBgwYMGDBgwYMGDBgwYMGDBgwYMGC9X RVh9/wAjo8nRfnmakK7d+H+LqdVEefTqonYYMGDBgwYMGDBgwYMGDBgwYMGDBgwYMGDBgwYMGDBg wYMGDBeqd/uKip2+/wAszUhXbsqOutURVT9SidhgwYMlZ/XsGDBgvYVFQVOnb6fHM1IV27J0QR95 O6idhOwyaWC9hU6d/oK6v0+GZqQrt2RFVOyCdhBJrUU/cRO6N+GZqQrt06CL07qIJNiijydGjzsu ZqQrt0dd/MRBBJsUUU/y+8uZqQrt06/YQQSbFFFOv2WXM1IV26KIJNyij0uZqQrt0e8iCTcoo/Lm akK7dHvIggk2KKKPy5mpCu3R7yIJNyij8uZqQrt0e8iCTcoo/LmakK7dHvIgk3KKPy5mpCu3R7yI JNyij8uZqQrt0e8iCTaooo/LmakK7dHvIgk3KKPy5mpCu3R7yIJNyij8uZqQrt0e8iCCTaoo/Lma kK7dHvIggk2qKPy5mpCu3R7yIIJNqij8uZqQrt0e8iCCTaoo/LmakK7dHvIggk2qKPy5mpCu3R7y IIJNqij8uZqQrt0e8iCCTaoo/LmakK7dHvIggk2qKPy5mpCu3R7yIIJNqij8uZqQrt0e8iCCTaoo /LmakK7dHvIggk2qKPy5mpCu3R7yIIJNqij8uZqQrt0e8iCCTaoo/LmakK7dHvIggk2qKPy5mpCu 3R7yIIJNqij8uZqQrt0e8iCCTaoo/LmakK7dHvIggk2qKPy5mpCu3R7yIIJNqij8uZqQrt0e8iCC Taoo/LmakK7dHvIggk2qKPy5mpCu3R7yIIJNqij8uZqQrt0e8iCTcoo/LmakK7dHvIgk2qKKPy5m pCu3R7yIJNyij8uZqQrt0e8iCTcoo/LmakK7dHvIgk3KKPy5mpCu3R7yIJNyij8uZqQrt0e8iCCT aoo/LmakK7dHvIgk3KKPy5mpCu3R4QSblFHpczUhXboqfcQQSbVFFT7y5mpCu3RPzEEEmxRRRHZc zUhXbojyfRR1RBJsUUUX7JLmakK7dk/bVfAgk2KKL37qwVV+suZqQrt2RHk+giook2L3F7i9GJ8M zUhXbsqItFRFRRO40aNmVo0aL3FhuL5+OZqQrt34I69REVFGjRo0aNGjf6po0aNGjRo0XuK5DXv9 zqrV+OZqQrt349UXt9hEVeijRo0aNGjRo0aNGjRo0aNGjRo0aNGjRo0aNGjRo0aNGjRo0Xq9/YVH V6OnVflmakK7d+XVOw3qh0e7FM7PJ7KQ0aNGjRo0aNGjRo0aNGjRo0aNGjRo0aNGjRpSKaH6V6nR 3sh1eXr+BmakK7d/C7KqFJfZTX2U19lNfZTX2U19lN72U3vZTe9lN72U3vZTe9lN72U3vZTe9lN7 2U3vZTe9lN72U3vZTe9lN72U3vZTe9lN72U19lNfZTX2U19lNfZSX2d3l/Ej/wAj/wCf+7/jD6/y f5/7tBOnX+L/AMfr+5tPKm08qbTyptPKm08qbTyptPKm08qbTyptPKm08qbTyptPKm08qbTyptPK m08qbTyptPKm08qbTyptPKm08qbTyptPKm08qbTyptPKm08qbTyptPKm08qbTyptPKm08qbTyptP Km08qbTyptPKm08qbTyptPKm08qbTyptPKm08qbTyptPKm08qbTyptPKn/jan//Z"
transform="matrix(0.24 0 0 0.24 174.5615 142.499)"
id="image25"></image></g></mask><g
opacity="0.09"
mask="url(#SVGID_1_)"
a:adobe-blending-mode="multiply"
a:adobe-opacity-share="1"
id="g27"><path
fill="#1D2915"
a:adobe-blending-mode="normal"
a:adobe-opacity-share="0"
d="M195.361,251.626 c-8.161,0-14.8-6.64-14.8-14.8v-73.527c0-8.161,6.639-14.8,14.8-14.8h59.663c8.161,0,14.8,6.639,14.8,14.8v73.527 c0,8.16-6.639,14.8-14.8,14.8H195.361z"
id="path29" /><path
fill="#1D2915"
a:adobe-blending-mode="normal"
a:adobe-opacity-share="0"
d="M255.024,152.499 c5.964,0,10.8,4.835,10.8,10.8v73.527c0,5.965-4.835,10.8-10.8,10.8h-59.663c-5.964,0-10.8-4.835-10.8-10.8v-73.527 c0-5.964,4.835-10.8,10.8-10.8H255.024 M255.024,144.499h-59.663c-10.366,0-18.8,8.434-18.8,18.8v73.527 c0,10.366,8.434,18.8,18.8,18.8h59.663c10.366,0,18.8-8.434,18.8-18.8v-73.527C273.824,152.933,265.391,144.499,255.024,144.499 L255.024,144.499z"
id="path31" /></g></g><g
id="g33"><g
id="g35"><linearGradient
id="SVGID_2_"
gradientUnits="userSpaceOnUse"
x1="225.1929"
y1="152.499"
x2="225.1929"
y2="247.6265"><stop
offset="0.0123"
style="stop-color:#C1D72F"
id="stop38" /><stop
offset="0.1394"
style="stop-color:#BCD631"
id="stop40" /><stop
offset="0.5859"
style="stop-color:#AFD136"
id="stop42" /><stop
offset="1"
style="stop-color:#ABD037"
id="stop44" /><a:midPointStop
offset="0.0123"
style="stop-color:#C1D72F" /><a:midPointStop
offset="0.3086"
style="stop-color:#C1D72F" /><a:midPointStop
offset="1"
style="stop-color:#ABD037" /></linearGradient><path
d="M184.562,236.826c0,5.965,4.835,10.8,10.8,10.8h59.663c5.964,0,10.8-4.835,10.8-10.8v-73.527 c0-5.964-4.835-10.8-10.8-10.8h-59.663c-5.964,0-10.8,4.835-10.8,10.8V236.826z"
id="path46"
fill="url(#SVGID_2_)" /></g><defs
id="defs48"><filter
id="Adobe_OpacityMaskFilter_1_"
filterUnits="userSpaceOnUse"
x="184.562"
y="152.499"
width="81.263"
height="95.127"><feColorMatrix
type="matrix"
values="-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 1 0"
color-interpolation-filters="sRGB"
result="source"
id="feColorMatrix51" /></filter></defs><mask
maskUnits="userSpaceOnUse"
x="184.562"
y="152.499"
width="81.263"
height="95.127"
id="SVGID_3_"><g
filter="url(#Adobe_OpacityMaskFilter_1_)"
id="g54"><image
overflow="visible"
width="356"
height="414"
xlink:href="data:image/jpeg;base64,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 zFhO7bfhcyUttpzKJlCjZiwndtvwuZKW205lEyhRsxYTu234XMlLbacyiZQo2YsJ3bb8LmSlttOZ RMoUbMWE7tt+FzJS22nMomUKNmLCd22/C5kpbbTmUTKFGzFhO7bfhcyUttpzKJlCjZiwndtvwuZK W205lEyhRsxYTu234XMlLbacyiZQo2YsJ3bb8LmSlttOZRMoUbMWE7tt+FzJS22nMomUKNmLCd22 /C5kpbbTmUTKFGzFhO7bfhcyUttpzKJlCjZiwndtvwuZKW205lEyhRsxYTu234XMlLbacyiZQo2Y sJ3bb8LmSlttOZRMoUbMWE7tt+FzJS22nMomUKNmLCd22/C5kpbbTmUTKFGzFhO7bfhcyUttpzKJ lCjZiwndtvwuZKW205lEyhRsxYTu234XMlLbacyiZQo2YsJ3bb8LmSlttOZRMoUbMWE7tt+FzJS2 2nMomUKNmLCd22/C5kpbbTmUTKFGzFhO7bfhcyUttpzCZQo38SwndtvwuZKW20dTVfvQQ+cmUXiI xFhxUsJ3bb8LmSlttGVPp8/C/go1fkTjky8RyqsB9T6KvD8CwndtvwuZKW23BKNR3wqftX+qCcRO JwyLiLxF4i0Ka8V/cuFhO7bfhcyUttuCKi/CpBRtOs74cnBF/qJ+oiRIkSJEiRIkSJEiRIkSJEiR IkSJEiRIkSJEiRIkReIv6hadFfl31d9EFc5flViuFhO7bfhcyUttv2ERrvzNT/VT4qIrf+TqIdVD qodVDqpqdVNTqpqdVNTqpqdVNTqpqdVNTqpqdVNTqpqdVNTqpqdVNTqpqdVNTqpqdVNTqpqdVNTq pqdVNTqpqdVNTqpqdVDqodVDqC/xorl0F/O74av+qfYsJ3bb8LmSlttyywndtvzD/9k="
transform="matrix(0.24 0 0 0.24 182.5615 150.499)"
id="image56"></image></g></mask><g
opacity="0.35"
mask="url(#SVGID_3_)"
a:adobe-opacity-share="1"
id="g58"><path
a:adobe-opacity-share="0"
d="M184.562,236.826c0,5.965,4.835,10.8,10.8,10.8h59.663 c5.964,0,10.8-4.835,10.8-10.8v-73.527c0-5.964-4.835-10.8-10.8-10.8h-59.663c-5.964,0-10.8,4.835-10.8,10.8V236.826z"
id="path60"
fill="#1D2915" /></g></g><linearGradient
id="SVGID_4_"
gradientUnits="userSpaceOnUse"
x1="226.1924"
y1="159.7139"
x2="226.1924"
y2="200"><stop
offset="0.0123"
style="stop-color:#FFFFFF"
id="stop63" /><stop
offset="0.3788"
style="stop-color:#F8FBF3"
id="stop65" /><stop
offset="1"
style="stop-color:#F2F7E8"
id="stop67" /><a:midPointStop
offset="0.0123"
style="stop-color:#FFFFFF" /><a:midPointStop
offset="0.4383"
style="stop-color:#FFFFFF" /><a:midPointStop
offset="1"
style="stop-color:#F2F7E8" /></linearGradient><polygon
fill="url(#SVGID_4_)"
points="221.189,159.714 214.142,180.951 224.048,180.951 214.142,200 238.243,173.61 227.655,173.61 236.978,159.714 "
id="polygon69" /><g
id="g71"><g
id="g73"><g
id="g75"><image
overflow="visible"
opacity="0.75"
a:adobe-blending-mode="multiply"
a:adobe-opacity-share="1"
width="392"
height="242"
xlink:href="data:image/png;base64,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 SUVORK5CYII="
transform="matrix(0.24 0 0 0.24 179.2061 198.1514)"
id="image77"></image><g
id="g79"><radialGradient
id="SVGID_5_"
cx="225.1929"
cy="226.1387"
r="30.8299"
gradientTransform="matrix(1 0 0 0.75 0 56.5347)"
gradientUnits="userSpaceOnUse"><stop
offset="0.0123"
style="stop-color:#FFFFFF"
id="stop82" /><stop
offset="0.4828"
style="stop-color:#FDFEFB"
id="stop84" /><stop
offset="0.7611"
style="stop-color:#F8FBF3"
id="stop86" /><stop
offset="0.989"
style="stop-color:#F2F8E8"
id="stop88" /><stop
offset="1"
style="stop-color:#F2F7E8"
id="stop90" /><a:midPointStop
offset="0.0123"
style="stop-color:#FFFFFF" /><a:midPointStop
offset="0.8025"
style="stop-color:#FFFFFF" /><a:midPointStop
offset="1"
style="stop-color:#F2F7E8" /></radialGradient><path
fill="url(#SVGID_5_)"
d="M186.706,235.825c0,5.965,4.835,10.801,10.799,10.801h55.374c5.965,0,10.801-4.836,10.801-10.801 v-19.373c0-5.965-4.836-10.801-10.801-10.801h-55.374c-5.964,0-10.799,4.836-10.799,10.801V235.825z"
id="path92" /><path
fill="none"
stroke="#EDF5E5"
stroke-width="5"
stroke-miterlimit="10"
d="M186.706,235.825 c0,5.965,4.835,10.801,10.799,10.801h55.374c5.965,0,10.801-4.836,10.801-10.801v-19.373c0-5.965-4.836-10.801-10.801-10.801 h-55.374c-5.964,0-10.799,4.836-10.799,10.801V235.825z"
id="path94" /></g></g><path
opacity="0.74"
fill="#FFFFFF"
a:adobe-blending-mode="lighten"
d="M263.623,229.595c0.037-0.364,0.057-0.734,0.057-1.107 v-13.375c0-5.965-4.836-10.799-10.801-10.799h-55.374c-5.964,0-10.799,4.834-10.799,10.799v7.324 c7.545-1.012,15.699-1.566,24.213-1.566C231.959,220.87,250.812,224.252,263.623,229.595z"
id="path96" /><linearGradient
id="SVGID_6_"
gradientUnits="userSpaceOnUse"
x1="225.1929"
y1="204.3135"
x2="225.1929"
y2="246.626"><stop
offset="0.0123"
style="stop-color:#FFFFFF;stop-opacity:0"
id="stop99" /><stop
offset="0.0141"
style="stop-color:#FDFDFC;stop-opacity:2.231669e-04"
id="stop101" /><stop
offset="0.1344"
style="stop-color:#BEBEAF;stop-opacity:0.0148"
id="stop103" /><stop
offset="0.2565"
style="stop-color:#94957C;stop-opacity:0.0297"
id="stop105" /><stop
offset="0.3796"
style="stop-color:#747759;stop-opacity:0.0446"
id="stop107" /><stop
offset="0.5029"
style="stop-color:#5D633F;stop-opacity:0.0596"
id="stop109" /><stop
offset="0.6263"
style="stop-color:#4D552E;stop-opacity:0.0746"
id="stop111" /><stop
offset="0.75"
style="stop-color:#414B23;stop-opacity:0.0896"
id="stop113" /><stop
offset="0.8742"
style="stop-color:#3B461E;stop-opacity:0.1047"
id="stop115" /><stop
offset="1"
style="stop-color:#38441C;stop-opacity:0.12"
id="stop117" /><a:midPointStop
offset="0.0123"
style="stop-color:#FFFFFF;stop-opacity:0" /><a:midPointStop
offset="0.2901"
style="stop-color:#FFFFFF;stop-opacity:0" /><a:midPointStop
offset="1"
style="stop-color:#38441C;stop-opacity:0.12" /></linearGradient><path
fill="url(#SVGID_6_)"
a:adobe-blending-mode="darken"
d="M263.68,221.954v13.871c0,5.965-4.836,10.801-10.801,10.801 h-55.374c-5.964,0-10.799-4.836-10.799-10.801v-13.871l0.038-7.704c0,0,0.923-9.937,11.173-9.937h54.962 c0,0,10.063,0.328,10.801,10.799V221.954z"
id="path119" /></g><g
id="g121"><g
id="g123"><image
overflow="visible"
opacity="0.25"
a:adobe-blending-mode="multiply"
a:adobe-opacity-share="1"
width="30"
height="30"
xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACEAAAAhCAYAAABX5MJvAAAACXBIWXMAAC4jAAAuIwF4pT92AAAA GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAuJJREFUeNrsl9trE0EUxjO7m5vW tKFN1RqLCmqlIvjgkz5I/cOFIqLggw9KsRHxUo1IdEtactG9+A1+A8dxNrsxK/rgwI9lt5ueb875 ZuZspfJ//Bhqjvc0AfCIHClIQEzSMkUoBqyCJbAKWrxXQoBmBL6AQzChmGQREWbmNQY/DS6Aa6AL mtZvdcDPoEcOQEgxUV5mVMYzH5wCZ8FFcJ0CLoN1UHeIGII34AV4BvbBW4qbzsqKctzruq+ALXAL 3ABXwAafNyjS9sQ3cAwG4BXYA0/AU/AejLOE+I4MtME22AH3wE2wyedNivSFQT3eB/y79kwHnGE2 v4IjinCaNrBEtJiBu2SLs686VkRWGRt8/wTL5jFwxIxMbSGB+Ac1qtcluEMBbWslFDV7QBFdlmBE bwxZtthVDn1dpgF3WIIOhakF9iCf2ajQK32W5hcRJgvnmYHb9ECzQAnyhif8o7PxkWImsiQeRSyJ fWCjJAGy5G2usKtgzc6wx5dWxT6wYhm2jKNBm/UcV90m/aLsdLVoonX+QJV8RvmcXNflNVOOKktQ Fz4p+6AMrBg/GUeeFWUHd51HyuXevz7+GRELNSRzjMwYnmhI5Laa/gEBYxEjskVE7Ih67AeOi3ZE BYc55j+xxzjgpBMpImZL1mNDMuDxm5aYBT2x1+wx+vZJ6lt94kl2Ux1uWl4JWZhy9g/AQ/DOPjt8 q0ULuLebhiRYYO8wPUTIdm+X1zDrKE/FKjH95TL3eP83MiIF7FHAY2ZkYpfadxhoRE80WJ66EKIK BE9YAiPgPkW8dPUSFUfDGnMpHVmKvQJCEoofcsamBLs0fOgSUMnomo2QQ66UAbMTi4+hmOk2mGZW B39OE+rgj5iBcNb3h5qxk9boDb1SLrEh2c75+NlnCfT1A4OP8nZiVeAT0IhZY0Ni+gHP8oEpQ59Z HHP2uRtfkeUnxTj7AWHqMU0ZiRVX2ld5kZ4jnSewHN8FGACSOOKkAlOGAAAAAABJRU5ErkJggg=="
transform="matrix(0.24 0 0 0.24 199.0298 216.5547)"
id="image125"></image><g
id="g127"><radialGradient
id="SVGID_7_"
cx="202.6289"
cy="219.7041"
r="2.9995"
gradientTransform="matrix(1 0 0 0.75 0 54.926)"
gradientUnits="userSpaceOnUse"><stop
offset="0.0123"
style="stop-color:#FFFFFF"
id="stop130" /><stop
offset="0.4235"
style="stop-color:#FAFCF6"
id="stop132" /><stop
offset="1"
style="stop-color:#F2F7E8"
id="stop134" /><a:midPointStop
offset="0.0123"
style="stop-color:#FFFFFF" /><a:midPointStop
offset="0.6235"
style="stop-color:#FFFFFF" /><a:midPointStop
offset="1"
style="stop-color:#F2F7E8" /></radialGradient><circle
fill="url(#SVGID_7_)"
cx="202.629"
cy="219.704"
r="2.999"
id="circle136" /></g></g><g
id="g138"><image
overflow="visible"
opacity="0.25"
a:adobe-blending-mode="multiply"
a:adobe-opacity-share="1"
width="30"
height="30"
xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAAAhCAYAAAC1ONkWAAAACXBIWXMAAC4jAAAuIwF4pT92AAAA GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAtFJREFUeNrsmP1LFEEYx292Ts3V 9ujFrCiwFyPShH4I+imoiPqbhYKIoKigN0W8SulNIrOU63S921u/A9+BYdm9mbndg4IGPiynuzOf eea52WeuVvvf/Joo8VwA6rxm+0lBD3R5TYctpu6XYBRE4DiYzMhpqRbYBDtgHyQ+gsIzQmMUOg3O gzkwzciZTUXqO1gCH8E3CsauERSOUiOgAc6AC2ABXAYXwZECsV/gPVgBb8AH8AVsg45NTjhKTYGr 4Aa4AmYZqYjLmpdj+4ySilwTLIOn4C34YZOTjlLXwH1wC8xzKSMureQym0g+O85ITxP1uU3hPS6r t5j63zFK3QM3uYwNQ0g45KUSPMSJNLjsLS71blHUZJ9Ox5lDSuo2k32SHYsBvslKcAIc5jJvUK7r I1ZntK6Du8yryBJhW9P73hi3jg2ym7ek0hKtO0z4E5xx2RYYOany7DPYyotaUPCwyoVL3KemKpLS TX+h5jhGI88jT0x9/U9yrzoHwoL7ykQtZN8LHGvURUxy05xhntWH8I7WOTzDsaSLmOAMQl6DIYgF mTGEi5iWEyWqD9dtpHCMoPaXtn9KrHSR59CsYxSJ6SKv1e9FW6L1MmM4iXWMIu8ri7u04mjF7HuJ Y3VcxLqciaqfVlnYJRWKJexzlWNs5r2SZMGMNOp1cRYc5atEVBCtPVazD8AzHzHdQUKZUyzywoIT kY9Uh9XrC4o1WTimPmI9ouv9iAXfIHKm1GtKvSyKlq2C1Una5sMTLBRHPN4MOvIxpV6BRfCEJU/s W8Ganf4xzoaCf5dGaS36JHnMKnWNUg/BY35uD1rza7ku5bY4658cMDHkEt6nUZP4TQG1dI/Ic/CJ /SVVHHglS2J94pnluXLecuB9x3Nlk5+3jUlV9hOBMAQjCpn1lMikgFrCdQrtGEKp62CDlCtaMLQc eNu+QmV/7XGp2cyN2rsdCDAAoyXZx8WJpTUAAAAASUVORK5CYII="
transform="matrix(0.24 0 0 0.24 213.9448 216.5547)"
id="image140"></image><g
id="g142"><radialGradient
id="SVGID_8_"
cx="217.5439"
cy="219.7041"
r="2.9995"
gradientTransform="matrix(1 0 0 0.75 0 54.926)"
gradientUnits="userSpaceOnUse"><stop
offset="0.0123"
style="stop-color:#FFFFFF"
id="stop145" /><stop
offset="0.4235"
style="stop-color:#FAFCF6"
id="stop147" /><stop
offset="1"
style="stop-color:#F2F7E8"
id="stop149" /><a:midPointStop
offset="0.0123"
style="stop-color:#FFFFFF" /><a:midPointStop
offset="0.6235"
style="stop-color:#FFFFFF" /><a:midPointStop
offset="1"
style="stop-color:#F2F7E8" /></radialGradient><circle
fill="url(#SVGID_8_)"
cx="217.544"
cy="219.704"
r="2.999"
id="circle151" /></g></g><g
id="g153"><image
overflow="visible"
opacity="0.25"
a:adobe-blending-mode="multiply"
a:adobe-opacity-share="1"
width="30"
height="30"
xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAAAhCAYAAAC1ONkWAAAACXBIWXMAAC4jAAAuIwF4pT92AAAA GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAttJREFUeNrsmO9r00Acxptc1m6d Fn9M125sU4RVpyjiSwXB/9wXulciiE4dhpUMpwzFUa02XdP4HDwHR7hcLk0mCh58WOnI9548973k uTYa/0e54c15nQ8E8TJ1UpKQ2Z8QJgUtgDa4CC6AliZOiYrBCfgGfoLTsgK9OQStgE2wDa6DDv+v hhQwBAdgH0TgS1mBLsIEBV0F18BNcJvC1sCyQdgIHFHYG/AODMAxBSZVhQXgHJ15AO5T2Aa4TMHC 0GMJBXwFhxT2Erygkz/AtGhim1NS1A3wCDwGO+AKBS3QKS+nrlp6eQProKe5G4LvNucCS0+1uXQP wRNwj6JaFkH6SgitNxeJ0BwNueSzMsIC3ulduiX/roJmpp9cWkVQ1CrrqB17ws+TPGdM3y3Rftnk fTpVVlS2ZpN1+qy7znl8V2HSrUvcdbKnutryVRk+63RZd5vzBC7ClFvyMXALbHEDiJreNGpDbbH+ Wp5rJmEd7sQ+n13NCq8uU881WbfPeTquwtq0u1ezW1nXepyn7SJM9dgSCc4oPBTO4Rus9jKJwatZ lGeZy+rYXzH+GWEpXxEq5Kl8VecwBcnURVjMgCcZn5GwsTZH7CJMD3khL5zWLGzKuiHnGZpe5CZh I6bO9wx7v+bN7YYxY70j1o/yEoZpKSdMmntMoMq1tIYlVG7ts/4x50tddmXCEDfgxRETZ1JRWMI6 EesObGFRWCyfaa+oDl8jQd4DscApJUr21S54Dj7wu1JBUW2Ct1rybDDRntditUtPnWor8Aw8Zd2h rXdFQdGYd6WfbPTYnOeeEiSv/cTDyC5FvbL1luspSSXPFUYUmaHu8KS0yfjdMpySYp6QIop6TZdC njEnRTvdpVc8Lt0yBW4wS+04HHj3+Fg4pKARnUxdJnVNBL7hSNal4OxPBFLAZ/CRzumn8NR1wrKR xdfy1KLlwDvmw3RaRlDVX3s8h8dGWiUE/BZgAMf82R9IYLF+AAAAAElFTkSuQmCC"
transform="matrix(0.24 0 0 0.24 228.8599 216.5547)"
id="image155"></image><g
id="g157"><radialGradient
id="SVGID_9_"
cx="232.459"
cy="219.7041"
r="2.9995"
gradientTransform="matrix(1 0 0 0.75 0 54.926)"
gradientUnits="userSpaceOnUse"><stop
offset="0.0123"
style="stop-color:#FFFFFF"
id="stop160" /><stop
offset="0.4235"
style="stop-color:#FAFCF6"
id="stop162" /><stop
offset="1"
style="stop-color:#F2F7E8"
id="stop164" /><a:midPointStop
offset="0.0123"
style="stop-color:#FFFFFF" /><a:midPointStop
offset="0.6235"
style="stop-color:#FFFFFF" /><a:midPointStop
offset="1"
style="stop-color:#F2F7E8" /></radialGradient><circle
fill="url(#SVGID_9_)"
cx="232.459"
cy="219.704"
r="2.999"
id="circle166" /></g></g><g
id="g168"><image
overflow="visible"
opacity="0.25"
a:adobe-blending-mode="multiply"
a:adobe-opacity-share="1"
width="30"
height="30"
xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACEAAAAhCAYAAABX5MJvAAAACXBIWXMAAC4jAAAuIwF4pT92AAAA GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAt9JREFUeNrsl91rE0EUxTOzm69a 05YmVWsUFdRKRfDBJ32Q+ocLRUTBBx+UYiOitlqRaEos2UT3w3P1jIzrbHZNVuiDAz9CNru5Z+69 M3O2Uvk/fg414zOCDzSxRwJiEJGkTBGKAatgEayCFr8rS4AwAp/BIRhTTDyPCDPzGoOfAhfANdAF zdT/SMBPoEf2wYBiQldmVAEBHjgJzoCL4DoFXAZroO4QMQRvwAvwDOyCtxQ3SWdF5QiQui+DDXAL 3ABXwDqvNygy3RPfwBHog1dgBzwBT8E7ENhCvJwMrIBNsAXugZvgPK83KdKzGlTzu8/fpWc64DSz +RV8oYhfTetPEdFiBu6SDc6+6lgRWZNo8P4Flk0zcMiMSGkSP+MPalQvJbhDASuplVB0RfkU0WUJ RuyNIcsWucoh15bYgFssQYfC1Bz7kcdsVNgrByzNHyJMFs4xA7fZA80CJcgb2uofycYHihlrh4hF ax9YL0mAGT7LKivsKmjLpLXjplVrH1ie0ryzlkWa9SxXnWR5QTv6ocUmWuMDqlLu8Di5ruk1Vzmq LEGdD5QtQln7yI8YespZUXbwzBi6cgzGsRTx14ZkxvFbDJeI9Laa/AMBgRUjTIsI6Yh69ANH0xzR DMMc8x/pMcTwjNIiIlqyHg1Jn8dvUmIWZGKv6THk/Jh4GWqFE3RTHW5auoQsTDj7B+Ah2JOzI8vU RNxQ2pYh8efYO4yHGNDubfNzkHWUJ9YqMf5yiZ7AmyEjtoAdCnjMjIj5TbycBhqxJxosT90SogoE j1kCI+A+Rbw0XmKaxzQlCXjz2GpOXUBITPFDztiUYJsNPzAC8kQklpBDrpQ+sxNZL0MR020wZlaC P2cTSvBHzMAg/f6hCu6qNfaGrJRLNCSbOS8/uyyBfL5n8JFrJy7a7Solpk1DYrynTvWBKcMBsxhw 9nEZL8S2GNtzuJo6YFOG1oor7a28iOdI8gLb47sAAwCDFN6m03jgxgAAAABJRU5ErkJggg=="
transform="matrix(0.24 0 0 0.24 243.7749 216.5547)"
id="image170"></image><g
id="g172"><radialGradient
id="SVGID_10_"
cx="247.374"
cy="219.7041"
r="2.9995"
gradientTransform="matrix(1 0 0 0.75 0 54.926)"
gradientUnits="userSpaceOnUse"><stop
offset="0.0123"
style="stop-color:#FFFFFF"
id="stop175" /><stop
offset="0.4235"
style="stop-color:#FAFCF6"
id="stop177" /><stop
offset="1"
style="stop-color:#F2F7E8"
id="stop179" /><a:midPointStop
offset="0.0123"
style="stop-color:#FFFFFF" /><a:midPointStop
offset="0.6235"
style="stop-color:#FFFFFF" /><a:midPointStop
offset="1"
style="stop-color:#F2F7E8" /></radialGradient><circle
fill="url(#SVGID_10_)"
cx="247.374"
cy="219.704"
r="2.999"
id="circle181" /></g></g><g
id="g183"><image
overflow="visible"
opacity="0.25"
a:adobe-blending-mode="multiply"
a:adobe-opacity-share="1"
width="30"
height="30"
xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACEAAAAhCAYAAABX5MJvAAAACXBIWXMAAC4jAAAuIwF4pT92AAAA GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAn9JREFUeNrsl+lrE0EYxvdKjSZW YxEPxBsVrNdHQTxA/KMFBRGPDwoVVIpoq3jUeJUG25qk2fVZ+A28WTabxG4lHzrwgxw78z7zzMw7 73reBDR/jOcCUREhn21LRCy6osfn0kT4BN0h9oiDoiGmTN8Efoum+CHWEBRvRoSbeZXgR8QZcVEc F7syfTcI/kq8Fgviu1jlv3hcET627xXHxFlxWZwXJ8RMxgmPIKkTn8UbMSdeinfiq1hnmUYS4QTs F5fENQSc4rfUgahgT7TFivgk5sVj8VQs4kqukGiAgCviDiKOijr/BUOWL7t/9uGaVyTEighYggsI uI79NQYfdY9FPF8x/WL2xiJLk9hOoelcJehtcYslqI8hYNDGrvP9G5t1PbtRQ+NIg/W/KWaxNNpk DnK5JZ35TzbuCq70ibAu3BBXxWHW1i8hGbpc0+akNLNuBDAtTopz4kBJAuxEC8cPzIlI88BpOoQl Xw1TuDtLsqvZkxbwUA2FjZxEVJYbdROj4mWOpVuzCMoWYGPlxggm4SrfFmFFJOTzDUi2KFY8KIYT sUoSWRadLRDSM0XPMgVPn4guOT0tSN6KVtHd/w8tYWJfqDHeM+m+jBkTeIEaoEmKTUp0oXD80Kjt kU4PkVSqJWTOhIDpFf5APBFLOOPliYhxZgYR00MKmVEEuKWeQ8Q8ruRe5Xb3po7s5CqvDSjnxhVw XzzjFu3k5XTbuuziNYLvZolCk+KHBU8n8QcBL8Rd8VB8yCto8kTEDNBCTIdBg4wQvyD4L6rsdOb3 xKNhhW44IKm4wZaghSAnoIdrHWhz/m3wlOfiI86OXPJPzMvPxLwG/tcX4u3m2l8BBgBQ/dU5d1Za tAAAAABJRU5ErkJggg=="
transform="matrix(0.24 0 0 0.24 199.0298 230.2217)"
id="image185"></image><g
id="g187"><radialGradient
id="SVGID_11_"
cx="202.6289"
cy="233.3711"
r="2.999"
gradientTransform="matrix(1 0 0 0.75 0 58.3428)"
gradientUnits="userSpaceOnUse"><stop
offset="0.0123"
style="stop-color:#FFFFFF"
id="stop190" /><stop
offset="0.4235"
style="stop-color:#FAFCF6"
id="stop192" /><stop
offset="1"
style="stop-color:#F2F7E8"
id="stop194" /><a:midPointStop
offset="0.0123"
style="stop-color:#FFFFFF" /><a:midPointStop
offset="0.6235"
style="stop-color:#FFFFFF" /><a:midPointStop
offset="1"
style="stop-color:#F2F7E8" /></radialGradient><circle
fill="url(#SVGID_11_)"
cx="202.629"
cy="233.37"
r="2.999"
id="circle196" /></g></g><g
id="g198"><image
overflow="visible"
opacity="0.25"
a:adobe-blending-mode="multiply"
a:adobe-opacity-share="1"
width="30"
height="30"
xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAAAhCAYAAAC1ONkWAAAACXBIWXMAAC4jAAAuIwF4pT92AAAA GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAmlJREFUeNrsmM9r1EAUx3cz2XW1 il2wLLagIh5aeilUBC967EX/XA/1It5aUaiC2JNY/EWp0lZkG3c3id+Bz0AIaXayibKHDnzIJfPm s29eZl/Sas3paNeYZ0SHaz5OKmIx5pr+azF7fyh6oi+WxXURZGJZiUScim/iWERiUkWwXTFDlxG6 I1bFBnKd3P1jpPbEvviE4JlvBtueUl1xQ9wVa2ITsdtkzOTmxGTsALE34oP4KH6I0TS5tofUJXFT PBCPxToZ67OlZTUWkSmbsffipXglvos/ZXLGI1N2qx6Kp+KRuFcgVYRh/oJYEgNxle08EUNqsbJY SDAnZa8r1FlYoQzc02sFF5n/W/wskzMlAReopydkaoVtDWocL1bqGtv8Bblx0YSgJFt9xNbJXLfG uZctjQEx11gj9M2YDXCFiVviflmAGeQCYtlt/MxTOvbJmEFkFZqSyu9GNr7xEXNP4gbnVK/mFhZl rUdsd0B3fcQCDs3lcw7PJobJrRH4iE37g24qa6VrBK05HRdiTYjVbvI8xtQ1isSyTd4pE5secW6N xEdslGnyDmhd0oazFRF7j7VGPmIxPdQ+HNMWNzUmBfFj3+7C1YDtMG7RT3UaONMS+jErtC1e05tV EksyPdkAyToHbsqW2e51R7ygs42qNooJaU/oPF2TF8wgl2SkdsVz8Y5sJVXFUvryX6TfNXld5HwE U37cWUbqGdfDsto1njVxQjscQ8jc8+SckO25jqipHTK1i+Ro1peR7FM6pKH7StAhC7uam7CQI+J+ J7RNTb0lU7Vf3+b6hXeuPxH8948qF6Pq+CvAAGGezDColMK7AAAAAElFTkSuQmCC"
transform="matrix(0.24 0 0 0.24 213.9448 230.2217)"
id="image200"></image><g
id="g202"><radialGradient
id="SVGID_12_"
cx="217.5439"
cy="233.3711"
r="2.999"
gradientTransform="matrix(1 0 0 0.75 0 58.3428)"
gradientUnits="userSpaceOnUse"><stop
offset="0.0123"
style="stop-color:#FFFFFF"
id="stop205" /><stop
offset="0.4235"
style="stop-color:#FAFCF6"
id="stop207" /><stop
offset="1"
style="stop-color:#F2F7E8"
id="stop209" /><a:midPointStop
offset="0.0123"
style="stop-color:#FFFFFF" /><a:midPointStop
offset="0.6235"
style="stop-color:#FFFFFF" /><a:midPointStop
offset="1"
style="stop-color:#F2F7E8" /></radialGradient><circle
fill="url(#SVGID_12_)"
cx="217.544"
cy="233.37"
r="2.999"
id="circle211" /></g></g><g
id="g213"><image
overflow="visible"
opacity="0.25"
a:adobe-blending-mode="multiply"
a:adobe-opacity-share="1"
width="30"
height="30"
xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAAAhCAYAAAC1ONkWAAAACXBIWXMAAC4jAAAuIwF4pT92AAAA GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAlRJREFUeNrsmM9LG0EUx5PdjTTW otDYWmoOQm2M/YGXnrxI/3IvnnoRW7TagocotqjQtLYp5pffgc/CECc7u+uGpuDAB2Y32Tff9+bN 7Jstlaa0lXM+E4gIAsd/BqIHpj+cpLBY0Ix4JBbhwYg4I+SvOIdf4jqrwHIOQUvihXgtVsWCQ9gP 8UV8El/Ft6wCyyl+DxH0XLwUb8UbxD0V1RE7ZtCO+I6oj2JPHIlTBPZ94sqe3yIi0hCb4h1Reibm iOK4HDPRuRJnRO+D2BGHRLSXJC7yRGpeNMV7sYXAeQSFCU6FRHIGB56IGveMI/uIGxu5JGFzTN0W wpqIijIsmpDFYZ55hah4xRpxP7MIM4NWWHEbTGGDKY1ybi8VKyVM/l2wYjtM+S1xrvww9x6KulgX K0QqvOOeGafGCnbrjOPScOtmnPA1Hm7Sr+TcjF2Rq2F3nb4zNVzCZsWyWMOr2XFe5WgB9urYX+ba KywkF1bJh8d4WWSrYLdhbdBhmohVrddNtYApLOUZI0jxgp6EMO8YQWlK272wuwobFlHkeVqqMVzC OlaR15mQMO8Yo8L6VpFnypNL0S1YWBe7h4wTVxneiP0RJ+KzaHE9KEjUAHst7J9wnWoqe7z9TVly QL9bwJQOsXOB3X36vbTVhfHqN16Zh49F2xXujK2PnWPsthhnkLYeiz0ziblrVZ55CkV7Ftrk1Q52 z5NmIkowdsUBIrIqz7SltR2la0vUNhxhP3PNP7RCf4CouPIs4jDS9p2U/svj21QfeKf6E8E/+ahy 37K2GwEGAJb/2mQI89WQAAAAAElFTkSuQmCC"
transform="matrix(0.24 0 0 0.24 228.8599 230.2217)"
id="image215"></image><g
id="g217"><radialGradient
id="SVGID_13_"
cx="232.459"
cy="233.3711"
r="2.999"
gradientTransform="matrix(1 0 0 0.75 0 58.3428)"
gradientUnits="userSpaceOnUse"><stop
offset="0.0123"
style="stop-color:#FFFFFF"
id="stop220" /><stop
offset="0.4235"
style="stop-color:#FAFCF6"
id="stop222" /><stop
offset="1"
style="stop-color:#F2F7E8"
id="stop224" /><a:midPointStop
offset="0.0123"
style="stop-color:#FFFFFF" /><a:midPointStop
offset="0.6235"
style="stop-color:#FFFFFF" /><a:midPointStop
offset="1"
style="stop-color:#F2F7E8" /></radialGradient><circle
fill="url(#SVGID_13_)"
cx="232.459"
cy="233.37"
r="2.999"
id="circle226" /></g></g><g
id="g228"><image
overflow="visible"
opacity="0.25"
a:adobe-blending-mode="multiply"
a:adobe-opacity-share="1"
width="30"
height="30"
xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACEAAAAhCAYAAABX5MJvAAAACXBIWXMAAC4jAAAuIwF4pT92AAAA GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAnpJREFUeNrsl2lrE1EUhmdLjSZ2 sYgL4lqsYN0+CuIC4o8WFERcPii0YEsQtYpL3cVgW7PMjO+F55ZhmMlMzATyoRceSDKZc957zplz zzjOBCz3P+/xRE34fE6uWESiJ0I+VybCxekeMSMOizkxlbATwx/xRXwXWwiKRhFhd17H+TFxVlwU J8W+lJ0+zlfFmngjvolNrkXDinAJ+6w4IRbFZXFenBLzqUg4ODGR+CheimXxQrwWn8U2aSolwgo4 KC6Jawg4w28mAsGAmuiI3+KDaInH4qlYJyo7QoISAq6IO4g4Lppc8wrSl66fA0TNSQvJE+GRggsI uE74GxgvW8gB/68l7ouojXVSE/s5N9dxelvcIgXNIQTkFXaT718pViMiyjIa8OiZ/N8US4Q0GLEf 2d5iauYHhWtqpu8PiMINcVUcJbduBY3R9poOT4rpJdteRi1Mi9PinDhUkQC7/Cz7aRH2iTB9YIEb /IqPiSmiu0Sza3gZf2qgcC6jEVUVjWbCR83LOR8CqFpAMu07PrxJOMp3ReSJiOnnfYjH5DdK+sgS sUkT+SW6YxASJoYe46OXFtGjp5uB5JVop8/+EVfMxj4xY7w1m/YywtRmGmqhtlNhNMIs+36O2pB2 fYSmUq+gc8ZsyBzhD8QTsWEikyciomjnETFdMMiUEWBTvYyIFlGJ/ILqNRHZy1HeyBnnhhVwXzzj FO06BSHuUcVbON9Piuy7hlvCudnEXwSsiLvioXhnB5oiEREG2ojpYtRLCXEHOP/JlG12fk88yhp0 /RJNxRrbgDaCrICQqHWhw/OfdG54Lt4T2dIj/8S8/EzMa+DYX4h3l13/BBgABM7SO70ZkkMAAAAA SUVORK5CYII="
transform="matrix(0.24 0 0 0.24 243.7749 230.2217)"
id="image230"></image><g
id="g232"><radialGradient
id="SVGID_14_"
cx="247.374"
cy="233.3711"
r="2.999"
gradientTransform="matrix(1 0 0 0.75 0 58.3428)"
gradientUnits="userSpaceOnUse"><stop
offset="0.0123"
style="stop-color:#FFFFFF"
id="stop235" /><stop
offset="0.4235"
style="stop-color:#FAFCF6"
id="stop237" /><stop
offset="1"
style="stop-color:#F2F7E8"
id="stop239" /><a:midPointStop
offset="0.0123"
style="stop-color:#FFFFFF" /><a:midPointStop
offset="0.6235"
style="stop-color:#FFFFFF" /><a:midPointStop
offset="1"
style="stop-color:#F2F7E8" /></radialGradient><circle
fill="url(#SVGID_14_)"
cx="247.374"
cy="233.37"
r="2.999"
id="circle241" /></g></g></g></g><path
d="m 529.664,248.155 h 18.498 l -2.809,18.064 h 5.59 37.586 l 2.6,-17.718 c 4.98,-1.091 9.133,-3.455 12.512,-6.693 3.084,4.075 8.566,7.37 18.252,7.37 6.338,0 12.775,-1.807 17.174,-3.687 4.254,2.399 9.463,3.687 15.459,3.687 3.088,0 6.236,-0.355 9.426,-1.023 h 67.135 l 3.354,-24.827 -5.445,-0.764 1.879,-13.356 c 0.371,-2.386 0.449,-4.66 0.449,-6.156 l -0.008,-0.375 c -0.457,-12.191 -8.139,-19.765 -20.045,-19.765 -2.404,0 -4.623,0.314 -6.676,0.852 h -34.189 l -0.035,0.244 c -2.527,-0.701 -5.41,-1.096 -8.686,-1.096 -3.801,0 -7.406,0.555 -10.76,1.598 l 0.105,-0.746 h -12.467 l 1.826,-12.951 H 613.08 l -1.846,7.658 c -1.373,5.704 -2.213,5.793 -4.453,6.03 l -4.508,0.477 c -3.049,-1.424 -6.357,-2.065 -9.602,-2.065 -2.135,0 -4.275,0.284 -6.416,0.852 h -19.291 c 0.502,-1.772 0.775,-3.674 0.775,-5.678 0,-9.601 -6.846,-16.305 -16.646,-16.305 -11.055,0 -18.775,7.721 -18.775,18.776 0,0.951 0.082,1.869 0.219,2.764 -2.135,-0.288 -4.277,-0.409 -5.553,-0.409 -2.053,0 -4.072,0.288 -6.045,0.852 h -31.342 c -2.74,-0.553 -5.641,-0.852 -8.537,-0.852 -7.138,0 -13.492,1.674 -18.808,4.723 l -3.451,-1.461 c -3.711,-1.571 -11.232,-3.262 -18.979,-3.262 -8.933,0 -16.383,2.56 -21.576,7.016 -3.265,-4.473 -8.523,-7.016 -15.228,-7.016 -4.822,0 -9.021,1.477 -12.572,3.44 -2.996,-2.204 -6.796,-3.44 -11.115,-3.44 -2.327,0 -4.48,0.315 -6.476,0.852 h -33.963 l -0.035,0.245 c -2.526,-0.702 -5.41,-1.097 -8.687,-1.097 -20.458,0 -35.307,16.031 -35.307,38.117 0,17.363 10.785,28.149 28.148,28.149 3.087,0 6.236,-0.356 9.426,-1.023 h 88.816 c 3.706,0.676 7.669,1.023 11.154,1.023 8.907,0 16.278,-2.375 21.51,-6.593 4.872,4.252 11.585,6.593 19.728,6.593 3.053,0 6.206,-0.368 9.286,-1.023 h 44.664 2.069 z"
id="path243"
inkscape:connector-curvature="0"
style="fill:#f5f5f5" /><g
id="g245"
transform="translate(0,16)"><g
id="g247"><path
d="m 340.308,218.463 c -5.538,2.556 -11.588,4.26 -17.638,4.26 -13.377,0 -18.148,-7.839 -18.148,-18.148 0,-17.893 11.418,-28.117 25.307,-28.117 9.372,0 13.973,4.26 13.973,11.247 0,12.184 -12.865,15.763 -26.157,17.126 0.255,4.346 2.045,8.35 8.435,8.35 3.068,0 7.243,-0.937 12.355,-3.067 l 1.873,8.349 z m -8.095,-29.567 c 0,-2.045 -1.448,-3.237 -4.09,-3.237 -4.771,0 -8.69,4.175 -9.969,10.906 3.664,-0.511 14.059,-2.3 14.059,-7.669 z"
id="path249"
inkscape:connector-curvature="0"
style="fill:#383838" /><path
d="m 394.07,221.7 -0.171,-0.255 1.789,-10.055 2.642,-18.063 c 0.512,-3.749 0.341,-5.623 -1.96,-5.623 -2.642,0 -5.794,2.727 -9.372,5.879 l -2.727,19.512 c -0.171,1.363 -0.171,1.534 1.022,1.704 l 4.26,0.597 -0.852,6.305 h -18.404 l -0.171,-0.341 1.875,-10.82 2.471,-17.212 c 0.512,-3.237 0.682,-5.453 -1.789,-5.453 -3.238,0 -7.413,3.664 -9.714,5.709 l -2.642,19.512 c -0.17,1.363 -0.17,1.534 1.108,1.704 l 4.26,0.597 -0.852,6.305 h -23.347 l 0.853,-6.39 3.749,-0.512 c 1.107,-0.17 1.363,-0.426 1.533,-1.704 l 3.579,-25.987 c 0.17,-0.938 0,-1.534 -0.767,-1.789 l -4.176,-1.534 0.938,-6.476 h 16.871 l -0.938,6.987 0.256,0.085 c 4.43,-3.749 9.116,-7.924 15.592,-7.924 4.687,0 7.839,2.641 8.18,7.753 l 0.256,0.086 c 4.175,-3.664 9.202,-7.839 15.252,-7.839 6.22,0 8.775,3.152 8.946,9.202 0,1.618 -0.171,3.493 -0.426,5.538 l -3.067,21.897 c -0.171,1.363 -0.171,1.534 1.107,1.704 l 4.175,0.597 -0.852,6.305 H 394.07 z"
id="path251"
inkscape:connector-curvature="0"
style="fill:#383838" /><path
d="m 443.995,190.771 -0.17,-4.431 c 0,-0.682 -0.085,-1.108 -1.022,-1.363 -1.022,-0.256 -2.642,-0.427 -4.771,-0.427 -3.579,0 -6.391,1.108 -6.391,4.09 0,2.727 2.982,3.749 6.731,5.027 6.05,2.045 13.888,4.431 13.888,13.463 0,11.076 -9.372,15.592 -20.193,15.592 -8.009,0 -14.91,-1.959 -16.273,-2.981 l 1.618,-12.355 8.691,0.512 0.255,4.941 c 0,0.597 0.171,1.108 0.938,1.363 1.278,0.427 3.238,0.768 6.05,0.768 4.687,0 7.327,-1.79 7.327,-4.687 0,-3.408 -3.152,-4.175 -8.009,-5.624 -6.135,-1.874 -12.78,-4.26 -12.78,-13.206 0,-10.48 9.116,-14.996 19.597,-14.996 6.646,0 12.866,1.533 15.081,2.471 l -1.704,12.354 -8.863,-0.511 z"
id="path253"
inkscape:connector-curvature="0"
style="fill:#383838" /><path
d="m 489.748,218.548 c -4.175,2.386 -10.395,4.175 -16.444,4.175 -13.036,0 -18.575,-7.583 -18.575,-18.574 0,-18.83 11.588,-27.691 25.988,-27.691 6.475,0 11.843,1.874 14.229,3.578 l -1.874,13.377 -8.691,-0.426 -0.255,-5.794 c 0,-0.597 -0.086,-0.938 -0.597,-1.192 -1.022,-0.427 -2.557,-0.597 -4.175,-0.597 -5.624,0 -11.418,4.601 -11.418,17.382 0,7.839 3.493,10.395 8.436,10.395 4.346,0 8.436,-1.448 11.247,-2.556 l 2.129,7.923 z"
id="path255"
inkscape:connector-curvature="0"
style="fill:#383838" /><path
d="m 491.364,221.7 0.853,-6.39 3.919,-0.512 c 1.193,-0.17 1.363,-0.426 1.534,-1.704 l 3.578,-25.987 c 0.086,-0.938 -0.085,-1.534 -0.852,-1.789 l -4.261,-1.534 0.938,-6.476 h 16.87 l -1.107,7.669 0.256,0.17 c 3.323,-4.771 8.095,-8.69 13.548,-8.69 1.874,0 5.112,0.341 6.561,0.767 l -2.13,15.507 -9.969,-0.341 -0.256,-4.431 c -0.086,-0.767 -0.256,-1.022 -0.938,-1.022 -1.619,0 -4.26,1.96 -6.646,4.431 l -2.981,21.643 c -0.171,1.363 -0.085,1.619 1.192,1.704 l 8.095,0.682 -0.938,6.305 h -27.266 z"
id="path257"
inkscape:connector-curvature="0"
style="fill:#383838" /><path
d="m 536.094,221.7 -0.17,-0.426 2.045,-11.503 3.152,-22.749 c 0.17,-0.938 -0.086,-1.534 -0.853,-1.79 l -4.175,-1.448 0.852,-6.476 h 18.149 l -5.027,35.786 c -0.171,1.363 -0.085,1.534 1.192,1.704 l 4.09,0.597 -0.852,6.305 h -18.403 z m 5.879,-57.598 c 0,-5.453 3.238,-8.775 8.776,-8.775 4.175,0 6.646,2.215 6.646,6.305 0,5.368 -3.322,8.861 -8.861,8.861 -4.176,-0.001 -6.561,-2.387 -6.561,-6.391 z"
id="path259"
inkscape:connector-curvature="0"
style="fill:#383838" /><path
d="m 556.796,239.764 -0.17,-0.341 2.471,-14.229 5.282,-38.087 c 0.171,-1.022 -0.085,-1.534 -0.767,-1.789 l -4.175,-1.534 0.938,-6.476 h 17.041 l -1.022,6.816 0.255,0.085 c 5.027,-4.686 10.311,-7.753 15.678,-7.753 7.328,0 12.44,4.686 12.44,17.041 0,11.758 -4.601,29.225 -20.449,29.225 -5.538,0 -8.605,-2.13 -11.759,-4.345 l -1.874,12.78 c -0.085,0.938 0.085,1.278 1.192,1.363 l 8.606,0.853 -0.938,6.39 h -22.749 z m 17.041,-30.247 c 2.13,1.789 4.942,3.322 8.095,3.322 6.901,0 9.458,-9.713 9.458,-17.211 0,-5.027 -1.193,-8.351 -4.431,-8.351 -3.408,0 -7.754,3.664 -10.821,6.391 l -2.301,15.849 z"
id="path261"
inkscape:connector-curvature="0"
style="fill:#383838" /><path
d="m 635.777,219.4 c -3.749,1.789 -9.458,3.322 -14.229,3.322 -8.521,0 -12.099,-2.981 -12.099,-9.969 0,-1.107 0.085,-2.386 0.256,-3.749 l 3.066,-22.323 c 0.086,-0.512 0.086,-0.853 -0.511,-0.853 h -5.879 l 1.107,-7.839 c 7.242,-0.767 10.906,-4.431 13.122,-13.633 h 7.924 l -1.704,12.1 c -0.085,0.596 -0.085,0.852 0.597,0.852 h 11.758 l -1.193,8.521 h -12.439 l -2.812,20.364 c -0.171,1.107 -0.256,1.96 -0.256,2.727 0,2.982 1.278,4.26 4.942,4.26 2.385,0 4.771,-0.596 6.816,-1.363 l 1.534,7.583 z"
id="path263"
inkscape:connector-curvature="0"
style="fill:#383838" /><path
d="m 671.817,218.463 c -5.538,2.556 -11.588,4.26 -17.638,4.26 -13.377,0 -18.148,-7.839 -18.148,-18.148 0,-17.893 11.418,-28.117 25.307,-28.117 9.372,0 13.973,4.26 13.973,11.247 0,12.184 -12.865,15.763 -26.157,17.126 0.255,4.346 2.045,8.35 8.435,8.35 3.068,0 7.243,-0.937 12.355,-3.067 l 1.873,8.349 z m -8.094,-29.567 c 0,-2.045 -1.448,-3.237 -4.09,-3.237 -4.771,0 -8.69,4.175 -9.969,10.906 3.664,-0.511 14.059,-2.3 14.059,-7.669 z"
id="path265"
inkscape:connector-curvature="0"
style="fill:#383838" /><path
d="m 703.596,221.7 -0.17,-0.255 1.874,-10.396 2.471,-17.723 c 0.512,-3.578 0.341,-5.879 -2.215,-5.879 -3.664,0 -8.18,3.578 -11.077,6.135 l -2.641,19.512 c -0.171,1.363 -0.171,1.534 1.107,1.704 l 4.26,0.597 -0.852,6.305 h -23.347 l 0.853,-6.39 3.749,-0.512 c 1.107,-0.17 1.363,-0.426 1.533,-1.704 l 3.579,-25.987 c 0.17,-0.938 0,-1.534 -0.768,-1.789 l -4.175,-1.534 0.938,-6.476 h 16.87 l -0.937,6.987 0.255,0.085 c 4.771,-4.09 9.373,-7.924 16.02,-7.924 6.475,0 9.798,3.322 10.054,10.139 0,1.363 -0.085,3.067 -0.341,4.687 l -3.067,21.812 c -0.171,1.363 -0.171,1.534 1.022,1.704 l 4.26,0.597 L 722,221.7 h -18.404 z"
id="path267"
inkscape:connector-curvature="0"
style="fill:#383838" /></g><g
id="g269"><linearGradient
id="SVGID_15_"
gradientUnits="userSpaceOnUse"
x1="324.1611"
y1="239.7637"
x2="324.1611"
y2="155.3275"><stop
offset="0"
style="stop-color:#000000"
id="stop272" /><stop
offset="1"
style="stop-color:#000000;stop-opacity:0"
id="stop274" /><a:midPointStop
offset="0"
style="stop-color:#000000" /><a:midPointStop
offset="0.6933"
style="stop-color:#000000" /><a:midPointStop
offset="1"
style="stop-color:#000000;stop-opacity:0" /></linearGradient><path
d="m 340.308,218.463 c -5.538,2.556 -11.588,4.26 -17.638,4.26 -13.377,0 -18.148,-7.839 -18.148,-18.148 0,-17.893 11.418,-28.117 25.307,-28.117 9.372,0 13.973,4.26 13.973,11.247 0,12.184 -12.865,15.763 -26.157,17.126 0.255,4.346 2.045,8.35 8.435,8.35 3.068,0 7.243,-0.937 12.355,-3.067 l 1.873,8.349 z m -8.095,-29.567 c 0,-2.045 -1.448,-3.237 -4.09,-3.237 -4.771,0 -8.69,4.175 -9.969,10.906 3.664,-0.511 14.059,-2.3 14.059,-7.669 z"
id="path276"
style="fill:url(#SVGID_15_)"
inkscape:connector-curvature="0" /><linearGradient
id="SVGID_16_"
gradientUnits="userSpaceOnUse"
x1="377.45459"
y1="239.7637"
x2="377.45459"
y2="155.3277"><stop
offset="0"
style="stop-color:#000000"
id="stop279" /><stop
offset="1"
style="stop-color:#000000;stop-opacity:0"
id="stop281" /><a:midPointStop
offset="0"
style="stop-color:#000000" /><a:midPointStop
offset="0.6933"
style="stop-color:#000000" /><a:midPointStop
offset="1"
style="stop-color:#000000;stop-opacity:0" /></linearGradient><path
d="m 394.07,221.7 -0.171,-0.255 1.789,-10.055 2.642,-18.063 c 0.512,-3.749 0.341,-5.623 -1.96,-5.623 -2.642,0 -5.794,2.727 -9.372,5.879 l -2.727,19.512 c -0.171,1.363 -0.171,1.534 1.022,1.704 l 4.26,0.597 -0.852,6.305 h -18.404 l -0.171,-0.341 1.875,-10.82 2.471,-17.212 c 0.512,-3.237 0.682,-5.453 -1.789,-5.453 -3.238,0 -7.413,3.664 -9.714,5.709 l -2.642,19.512 c -0.17,1.363 -0.17,1.534 1.108,1.704 l 4.26,0.597 -0.852,6.305 h -23.347 l 0.853,-6.39 3.749,-0.512 c 1.107,-0.17 1.363,-0.426 1.533,-1.704 l 3.579,-25.987 c 0.17,-0.938 0,-1.534 -0.767,-1.789 l -4.176,-1.534 0.938,-6.476 h 16.871 l -0.938,6.987 0.256,0.085 c 4.43,-3.749 9.116,-7.924 15.592,-7.924 4.687,0 7.839,2.641 8.18,7.753 l 0.256,0.086 c 4.175,-3.664 9.202,-7.839 15.252,-7.839 6.22,0 8.775,3.152 8.946,9.202 0,1.618 -0.171,3.493 -0.426,5.538 l -3.067,21.897 c -0.171,1.363 -0.171,1.534 1.107,1.704 l 4.175,0.597 -0.852,6.305 H 394.07 z"
id="path283"
style="fill:url(#SVGID_16_)"
inkscape:connector-curvature="0" /><linearGradient
id="SVGID_17_"
gradientUnits="userSpaceOnUse"
x1="435.17719"
y1="239.7637"
x2="435.17719"
y2="155.3275"><stop
offset="0"
style="stop-color:#000000"
id="stop286" /><stop
offset="1"
style="stop-color:#000000;stop-opacity:0"
id="stop288" /><a:midPointStop
offset="0"
style="stop-color:#000000" /><a:midPointStop
offset="0.6933"
style="stop-color:#000000" /><a:midPointStop
offset="1"
style="stop-color:#000000;stop-opacity:0" /></linearGradient><path
d="m 443.995,190.771 -0.17,-4.431 c 0,-0.682 -0.085,-1.108 -1.022,-1.363 -1.022,-0.256 -2.642,-0.427 -4.771,-0.427 -3.579,0 -6.391,1.108 -6.391,4.09 0,2.727 2.982,3.749 6.731,5.027 6.05,2.045 13.888,4.431 13.888,13.463 0,11.076 -9.372,15.592 -20.193,15.592 -8.009,0 -14.91,-1.959 -16.273,-2.981 l 1.618,-12.355 8.691,0.512 0.255,4.941 c 0,0.597 0.171,1.108 0.938,1.363 1.278,0.427 3.238,0.768 6.05,0.768 4.687,0 7.327,-1.79 7.327,-4.687 0,-3.408 -3.152,-4.175 -8.009,-5.624 -6.135,-1.874 -12.78,-4.26 -12.78,-13.206 0,-10.48 9.116,-14.996 19.597,-14.996 6.646,0 12.866,1.533 15.081,2.471 l -1.704,12.354 -8.863,-0.511 z"
id="path290"
style="fill:url(#SVGID_17_)"
inkscape:connector-curvature="0" /><linearGradient
id="SVGID_18_"
gradientUnits="userSpaceOnUse"
x1="474.83691"
y1="239.7637"
x2="474.83691"
y2="155.3275"><stop
offset="0"
style="stop-color:#000000"
id="stop293" /><stop
offset="1"
style="stop-color:#000000;stop-opacity:0"
id="stop295" /><a:midPointStop
offset="0"
style="stop-color:#000000" /><a:midPointStop
offset="0.6933"
style="stop-color:#000000" /><a:midPointStop
offset="1"
style="stop-color:#000000;stop-opacity:0" /></linearGradient><path
d="m 489.748,218.548 c -4.175,2.386 -10.395,4.175 -16.444,4.175 -13.036,0 -18.575,-7.583 -18.575,-18.574 0,-18.83 11.588,-27.691 25.988,-27.691 6.475,0 11.843,1.874 14.229,3.578 l -1.874,13.377 -8.691,-0.426 -0.255,-5.794 c 0,-0.597 -0.086,-0.938 -0.597,-1.192 -1.022,-0.427 -2.557,-0.597 -4.175,-0.597 -5.624,0 -11.418,4.601 -11.418,17.382 0,7.839 3.493,10.395 8.436,10.395 4.346,0 8.436,-1.448 11.247,-2.556 l 2.129,7.923 z"
id="path297"
style="fill:url(#SVGID_18_)"
inkscape:connector-curvature="0" /><linearGradient
id="SVGID_19_"
gradientUnits="userSpaceOnUse"
x1="512.28223"
y1="239.7637"
x2="512.28223"
y2="155.3277"><stop
offset="0"
style="stop-color:#000000"
id="stop300" /><stop
offset="1"
style="stop-color:#000000;stop-opacity:0"
id="stop302" /><a:midPointStop
offset="0"
style="stop-color:#000000" /><a:midPointStop
offset="0.6933"
style="stop-color:#000000" /><a:midPointStop
offset="1"
style="stop-color:#000000;stop-opacity:0" /></linearGradient><path
d="m 491.364,221.7 0.853,-6.39 3.919,-0.512 c 1.193,-0.17 1.363,-0.426 1.534,-1.704 l 3.578,-25.987 c 0.086,-0.938 -0.085,-1.534 -0.852,-1.789 l -4.261,-1.534 0.938,-6.476 h 16.87 l -1.107,7.669 0.256,0.17 c 3.323,-4.771 8.095,-8.69 13.548,-8.69 1.874,0 5.112,0.341 6.561,0.767 l -2.13,15.507 -9.969,-0.341 -0.256,-4.431 c -0.086,-0.767 -0.256,-1.022 -0.938,-1.022 -1.619,0 -4.26,1.96 -6.646,4.431 l -2.981,21.643 c -0.171,1.363 -0.085,1.619 1.192,1.704 l 8.095,0.682 -0.938,6.305 h -27.266 z"
id="path304"
style="fill:url(#SVGID_19_)"
inkscape:connector-curvature="0" /><linearGradient
id="SVGID_20_"
gradientUnits="userSpaceOnUse"
x1="546.65918"
y1="239.7637"
x2="546.65918"
y2="155.32719"><stop
offset="0"
style="stop-color:#000000"
id="stop307" /><stop
offset="1"
style="stop-color:#000000;stop-opacity:0"
id="stop309" /><a:midPointStop
offset="0"
style="stop-color:#000000" /><a:midPointStop
offset="0.6933"
style="stop-color:#000000" /><a:midPointStop
offset="1"
style="stop-color:#000000;stop-opacity:0" /></linearGradient><path
d="m 536.094,221.7 -0.17,-0.426 2.045,-11.503 3.152,-22.749 c 0.17,-0.938 -0.086,-1.534 -0.853,-1.79 l -4.175,-1.448 0.852,-6.476 h 18.149 l -5.027,35.786 c -0.171,1.363 -0.085,1.534 1.192,1.704 l 4.09,0.597 -0.852,6.305 h -18.403 z m 5.879,-57.598 c 0,-5.453 3.238,-8.775 8.776,-8.775 4.175,0 6.646,2.215 6.646,6.305 0,5.368 -3.322,8.861 -8.861,8.861 -4.176,-0.001 -6.561,-2.387 -6.561,-6.391 z"
id="path311"
style="fill:url(#SVGID_20_)"
inkscape:connector-curvature="0" /><linearGradient
id="SVGID_21_"
gradientUnits="userSpaceOnUse"
x1="580.69629"
y1="239.7637"
x2="580.69629"
y2="155.32719"><stop
offset="0"
style="stop-color:#000000"
id="stop314" /><stop
offset="1"
style="stop-color:#000000;stop-opacity:0"
id="stop316" /><a:midPointStop
offset="0"
style="stop-color:#000000" /><a:midPointStop
offset="0.6933"
style="stop-color:#000000" /><a:midPointStop
offset="1"
style="stop-color:#000000;stop-opacity:0" /></linearGradient><path
d="m 556.796,239.764 -0.17,-0.341 2.471,-14.229 5.282,-38.087 c 0.171,-1.022 -0.085,-1.534 -0.767,-1.789 l -4.175,-1.534 0.938,-6.476 h 17.041 l -1.022,6.816 0.255,0.085 c 5.027,-4.686 10.311,-7.753 15.678,-7.753 7.328,0 12.44,4.686 12.44,17.041 0,11.758 -4.601,29.225 -20.449,29.225 -5.538,0 -8.605,-2.13 -11.759,-4.345 l -1.874,12.78 c -0.085,0.938 0.085,1.278 1.192,1.363 l 8.606,0.853 -0.938,6.39 h -22.749 z m 17.041,-30.247 c 2.13,1.789 4.942,3.322 8.095,3.322 6.901,0 9.458,-9.713 9.458,-17.211 0,-5.027 -1.193,-8.351 -4.431,-8.351 -3.408,0 -7.754,3.664 -10.821,6.391 l -2.301,15.849 z"
id="path318"
style="fill:url(#SVGID_21_)"
inkscape:connector-curvature="0" /><linearGradient
id="SVGID_22_"
gradientUnits="userSpaceOnUse"
x1="622.7832"
y1="239.7637"
x2="622.7832"
y2="155.3268"><stop
offset="0"
style="stop-color:#000000"
id="stop321" /><stop
offset="1"
style="stop-color:#000000;stop-opacity:0"
id="stop323" /><a:midPointStop
offset="0"
style="stop-color:#000000" /><a:midPointStop
offset="0.6933"
style="stop-color:#000000" /><a:midPointStop
offset="1"
style="stop-color:#000000;stop-opacity:0" /></linearGradient><path
d="m 635.777,219.4 c -3.749,1.789 -9.458,3.322 -14.229,3.322 -8.521,0 -12.099,-2.981 -12.099,-9.969 0,-1.107 0.085,-2.386 0.256,-3.749 l 3.066,-22.323 c 0.086,-0.512 0.086,-0.853 -0.511,-0.853 h -5.879 l 1.107,-7.839 c 7.242,-0.767 10.906,-4.431 13.122,-13.633 h 7.924 l -1.704,12.1 c -0.085,0.596 -0.085,0.852 0.597,0.852 h 11.758 l -1.193,8.521 h -12.439 l -2.812,20.364 c -0.171,1.107 -0.256,1.96 -0.256,2.727 0,2.982 1.278,4.26 4.942,4.26 2.385,0 4.771,-0.596 6.816,-1.363 l 1.534,7.583 z"
id="path325"
style="fill:url(#SVGID_22_)"
inkscape:connector-curvature="0" /><linearGradient
id="SVGID_23_"
gradientUnits="userSpaceOnUse"
x1="655.6709"
y1="239.7637"
x2="655.6709"
y2="155.3275"><stop
offset="0"
style="stop-color:#000000"
id="stop328" /><stop
offset="1"
style="stop-color:#000000;stop-opacity:0"
id="stop330" /><a:midPointStop
offset="0"
style="stop-color:#000000" /><a:midPointStop
offset="0.6933"
style="stop-color:#000000" /><a:midPointStop
offset="1"
style="stop-color:#000000;stop-opacity:0" /></linearGradient><path
d="m 671.817,218.463 c -5.538,2.556 -11.588,4.26 -17.638,4.26 -13.377,0 -18.148,-7.839 -18.148,-18.148 0,-17.893 11.418,-28.117 25.307,-28.117 9.372,0 13.973,4.26 13.973,11.247 0,12.184 -12.865,15.763 -26.157,17.126 0.255,4.346 2.045,8.35 8.435,8.35 3.068,0 7.243,-0.937 12.355,-3.067 l 1.873,8.349 z m -8.094,-29.567 c 0,-2.045 -1.448,-3.237 -4.09,-3.237 -4.771,0 -8.69,4.175 -9.969,10.906 3.664,-0.511 14.059,-2.3 14.059,-7.669 z"
id="path332"
style="fill:url(#SVGID_23_)"
inkscape:connector-curvature="0" /><linearGradient
id="SVGID_24_"
gradientUnits="userSpaceOnUse"
x1="697.92969"
y1="239.7637"
x2="697.92969"
y2="155.3277"><stop
offset="0"
style="stop-color:#000000"
id="stop335" /><stop
offset="1"
style="stop-color:#000000;stop-opacity:0"
id="stop337" /><a:midPointStop
offset="0"
style="stop-color:#000000" /><a:midPointStop
offset="0.6933"
style="stop-color:#000000" /><a:midPointStop
offset="1"
style="stop-color:#000000;stop-opacity:0" /></linearGradient><path
d="m 703.596,221.7 -0.17,-0.255 1.874,-10.396 2.471,-17.723 c 0.512,-3.578 0.341,-5.879 -2.215,-5.879 -3.664,0 -8.18,3.578 -11.077,6.135 l -2.641,19.512 c -0.171,1.363 -0.171,1.534 1.107,1.704 l 4.26,0.597 -0.852,6.305 h -23.347 l 0.853,-6.39 3.749,-0.512 c 1.107,-0.17 1.363,-0.426 1.533,-1.704 l 3.579,-25.987 c 0.17,-0.938 0,-1.534 -0.768,-1.789 l -4.175,-1.534 0.938,-6.476 h 16.87 l -0.937,6.987 0.255,0.085 c 4.771,-4.09 9.373,-7.924 16.02,-7.924 6.475,0 9.798,3.322 10.054,10.139 0,1.363 -0.085,3.067 -0.341,4.687 l -3.067,21.812 c -0.171,1.363 -0.171,1.534 1.022,1.704 l 4.26,0.597 L 722,221.7 h -18.404 z"
id="path339"
style="fill:url(#SVGID_24_)"
inkscape:connector-curvature="0" /></g></g><g
id="g4141"
transform="matrix(0.81856441,0,0,0.81856441,79.234731,-94.128741)"><g
id="g4143"></g><g
id="g4165"><linearGradient
y2="155.3275"
x2="324.1611"
y1="239.7637"
x1="324.1611"
gradientUnits="userSpaceOnUse"
id="linearGradient4167"><stop
id="stop4169"
style="stop-color:#000000"
offset="0" /><stop
id="stop4171"
style="stop-color:#000000;stop-opacity:0"
offset="1" /><a:midPointStop
style="stop-color:#000000"
offset="0" /><a:midPointStop
style="stop-color:#000000"
offset="0.6933" /><a:midPointStop
style="stop-color:#000000;stop-opacity:0"
offset="1" /></linearGradient><linearGradient
y2="155.3277"
x2="377.45459"
y1="239.7637"
x1="377.45459"
gradientUnits="userSpaceOnUse"
id="linearGradient4175"><stop
id="stop4177"
style="stop-color:#000000"
offset="0" /><stop
id="stop4179"
style="stop-color:#000000;stop-opacity:0"
offset="1" /><a:midPointStop
style="stop-color:#000000"
offset="0" /><a:midPointStop
style="stop-color:#000000"
offset="0.6933" /><a:midPointStop
style="stop-color:#000000;stop-opacity:0"
offset="1" /></linearGradient><linearGradient
y2="155.3275"
x2="435.17719"
y1="239.7637"
x1="435.17719"
gradientUnits="userSpaceOnUse"
id="linearGradient4183"><stop
id="stop4185"
style="stop-color:#000000"
offset="0" /><stop
id="stop4187"
style="stop-color:#000000;stop-opacity:0"
offset="1" /><a:midPointStop
style="stop-color:#000000"
offset="0" /><a:midPointStop
style="stop-color:#000000"
offset="0.6933" /><a:midPointStop
style="stop-color:#000000;stop-opacity:0"
offset="1" /></linearGradient><linearGradient
y2="155.3275"
x2="474.83691"
y1="239.7637"
x1="474.83691"
gradientUnits="userSpaceOnUse"
id="linearGradient4191"><stop
id="stop4193"
style="stop-color:#000000"
offset="0" /><stop
id="stop4195"
style="stop-color:#000000;stop-opacity:0"
offset="1" /><a:midPointStop
style="stop-color:#000000"
offset="0" /><a:midPointStop
style="stop-color:#000000"
offset="0.6933" /><a:midPointStop
style="stop-color:#000000;stop-opacity:0"
offset="1" /></linearGradient><linearGradient
y2="155.3277"
x2="512.28223"
y1="239.7637"
x1="512.28223"
gradientUnits="userSpaceOnUse"
id="linearGradient4199"><stop
id="stop4201"
style="stop-color:#000000"
offset="0" /><stop
id="stop4203"
style="stop-color:#000000;stop-opacity:0"
offset="1" /><a:midPointStop
style="stop-color:#000000"
offset="0" /><a:midPointStop
style="stop-color:#000000"
offset="0.6933" /><a:midPointStop
style="stop-color:#000000;stop-opacity:0"
offset="1" /></linearGradient><linearGradient
y2="155.32719"
x2="546.65918"
y1="239.7637"
x1="546.65918"
gradientUnits="userSpaceOnUse"
id="linearGradient4207"><stop
id="stop4209"
style="stop-color:#000000"
offset="0" /><stop
id="stop4211"
style="stop-color:#000000;stop-opacity:0"
offset="1" /><a:midPointStop
style="stop-color:#000000"
offset="0" /><a:midPointStop
style="stop-color:#000000"
offset="0.6933" /><a:midPointStop
style="stop-color:#000000;stop-opacity:0"
offset="1" /></linearGradient><linearGradient
y2="155.32719"
x2="580.69629"
y1="239.7637"
x1="580.69629"
gradientUnits="userSpaceOnUse"
id="linearGradient4215"><stop
id="stop4217"
style="stop-color:#000000"
offset="0" /><stop
id="stop4219"
style="stop-color:#000000;stop-opacity:0"
offset="1" /><a:midPointStop
style="stop-color:#000000"
offset="0" /><a:midPointStop
style="stop-color:#000000"
offset="0.6933" /><a:midPointStop
style="stop-color:#000000;stop-opacity:0"
offset="1" /></linearGradient><linearGradient
y2="155.3268"
x2="622.7832"
y1="239.7637"
x1="622.7832"
gradientUnits="userSpaceOnUse"
id="linearGradient4223"><stop
id="stop4225"
style="stop-color:#000000"
offset="0" /><stop
id="stop4227"
style="stop-color:#000000;stop-opacity:0"
offset="1" /><a:midPointStop
style="stop-color:#000000"
offset="0" /><a:midPointStop
style="stop-color:#000000"
offset="0.6933" /><a:midPointStop
style="stop-color:#000000;stop-opacity:0"
offset="1" /></linearGradient><linearGradient
y2="155.3275"
x2="655.6709"
y1="239.7637"
x1="655.6709"
gradientUnits="userSpaceOnUse"
id="linearGradient4231"><stop
id="stop4233"
style="stop-color:#000000"
offset="0" /><stop
id="stop4235"
style="stop-color:#000000;stop-opacity:0"
offset="1" /><a:midPointStop
style="stop-color:#000000"
offset="0" /><a:midPointStop
style="stop-color:#000000"
offset="0.6933" /><a:midPointStop
style="stop-color:#000000;stop-opacity:0"
offset="1" /></linearGradient><linearGradient
y2="155.3277"
x2="697.92969"
y1="239.7637"
x1="697.92969"
gradientUnits="userSpaceOnUse"
id="linearGradient4239"><stop
id="stop4241"
style="stop-color:#000000"
offset="0" /><stop
id="stop4243"
style="stop-color:#000000;stop-opacity:0"
offset="1" /><a:midPointStop
style="stop-color:#000000"
offset="0" /><a:midPointStop
style="stop-color:#000000"
offset="0.6933" /><a:midPointStop
style="stop-color:#000000;stop-opacity:0"
offset="1" /></linearGradient></g></g></svg>
</a>
<div class="spinner" id='spinner'></div>
<div class="emscripten" id="status">Downloading...</div>
<span id='controls'>
<span><input type="checkbox" id="resize">Resize canvas</span>
<span><input type="checkbox" id="pointerLock" checked>Lock/hide mouse pointer &nbsp;&nbsp;&nbsp;</span>
<span><input type="button" value="Fullscreen" onclick="Module.requestFullscreen(document.getElementById('pointerLock').checked,
document.getElementById('resize').checked)">
</span>
</span>
<div class="emscripten">
<progress value="0" max="100" id="progress" hidden=1></progress>
</div>
<div class="emscripten_border">
<canvas class="emscripten" id="canvas" oncontextmenu="event.preventDefault()"></canvas>
</div>
<textarea id="output" rows="8"></textarea>
<script type='text/javascript'>
var statusElement = document.getElementById('status');
var progressElement = document.getElementById('progress');
var spinnerElement = document.getElementById('spinner');
var Module = {
preRun: [],
postRun: [],
print: (function() {
var element = document.getElementById('output');
if (element) element.value = ''; // clear browser cache
return function(text) {
if (arguments.length > 1) text = Array.prototype.slice.call(arguments).join(' ');
// These replacements are necessary if you render to raw HTML
//text = text.replace(/&/g, "&amp;");
//text = text.replace(/</g, "&lt;");
//text = text.replace(/>/g, "&gt;");
//text = text.replace('\n', '<br>', 'g');
console.log(text);
if (element) {
element.value += text + "\n";
element.scrollTop = element.scrollHeight; // focus on bottom
}
};
})(),
printErr: function(text) {
if (arguments.length > 1) text = Array.prototype.slice.call(arguments).join(' ');
if (0) { // XXX disabled for safety typeof dump == 'function') {
dump(text + '\n'); // fast, straight to the real console
} else {
console.error(text);
}
},
canvas: (function() {
var canvas = document.getElementById('canvas');
// As a default initial behavior, pop up an alert when webgl context is lost. To make your
// application robust, you may want to override this behavior before shipping!
// See http://www.khronos.org/registry/webgl/specs/latest/1.0/#5.15.2
canvas.addEventListener("webglcontextlost", function(e) { alert('WebGL context lost. You will need to reload the page.'); e.preventDefault(); }, false);
return canvas;
})(),
setStatus: function(text) {
if (!Module.setStatus.last) Module.setStatus.last = { time: Date.now(), text: '' };
if (text === Module.setStatus.text) return;
var m = text.match(/([^(]+)\((\d+(\.\d+)?)\/(\d+)\)/);
var now = Date.now();
if (m && now - Date.now() < 30) return; // if this is a progress update, skip it if too soon
if (m) {
text = m[1];
progressElement.value = parseInt(m[2])*100;
progressElement.max = parseInt(m[4])*100;
progressElement.hidden = false;
spinnerElement.hidden = false;
} else {
progressElement.value = null;
progressElement.max = null;
progressElement.hidden = true;
if (!text) spinnerElement.style.display = 'none';
}
statusElement.innerHTML = text;
},
totalDependencies: 0,
monitorRunDependencies: function(left) {
this.totalDependencies = Math.max(this.totalDependencies, left);
Module.setStatus(left ? 'Preparing... (' + (this.totalDependencies-left) + '/' + this.totalDependencies + ')' : 'All downloads complete.');
}
};
Module.setStatus('Downloading...');
window.onerror = function(event) {
// TODO: do not warn on ok events like simulating an infinite loop or exitStatus
Module.setStatus('Exception thrown, see JavaScript console');
spinnerElement.style.display = 'none';
Module.setStatus = function(text) {
if (text) Module.printErr('[post-exception status] ' + text);
};
};
</script>
<script async type="text/javascript" src="bakergc.js"></script>
</body>
</html>
// 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 Module !== 'undefined' ? Module : {};
// --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'] = [];
// The environment setup code below is customized to use Module.
// *** Environment setup code ***
var ENVIRONMENT_IS_WEB = false;
var ENVIRONMENT_IS_WORKER = false;
var ENVIRONMENT_IS_NODE = false;
var ENVIRONMENT_IS_SHELL = false;
// 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)
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('Module[\'ENVIRONMENT\'] value is not valid. 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) {
// 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) {
Module['printErr']('node.js exiting due to unhandled promise rejection');
process['exit'](1);
});
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, toThrow) {
quit(status);
}
}
}
else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) {
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);
};
if (typeof arguments != 'undefined') {
Module['arguments'] = arguments;
}
Module['setWindowTitle'] = function(title) { document.title = title };
}
else {
// Unreachable because SHELL is dependent on the others
throw new Error('unknown runtime environment');
}
// 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)
Module['print'] = typeof console !== 'undefined' ? console.log : (typeof print !== 'undefined' ? print : null);
Module['printErr'] = typeof printErr !== 'undefined' ? printErr : ((typeof console !== 'undefined' && console.warn) || Module['print']);
// *** Environment setup code ***
// Closure helpers
Module.print = Module['print'];
Module.printErr = Module['printErr'];
// 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;
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;
Module.printErr(text);
}
}
var functionPointers = new Array(0);
function addFunction(func) {
for (var i = 0; i < functionPointers.length; i++) {
if (!functionPointers[i]) {
functionPointers[i] = func;
return 1 + i;
}
}
throw 'Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS.';
}
function removeFunction(index) {
functionPointers[index-1] = 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
//========================================
var ABORT = 0; // whether we are quitting the application. no code should run after this. set in exit() and abort()
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) {
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);
if (returnType === 'string') ret = Pointer_stringify(ret);
if (stack !== 0) {
stackRestore(stack);
}
return ret;
}
function cwrap (ident, returnType, argTypes) {
argTypes = argTypes || [];
var cfunc = getCFunc(ident);
// When the function takes numbers and returns a number, we can just return
// the original function
var numericArgs = argTypes.every(function(type){ return type === 'number'});
var numericRet = returnType !== 'string';
if (numericRet && numericArgs) {
return cfunc;
}
return function() {
return ccall(ident, returnType, argTypes, arguments);
}
}
/** @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 '';
// TODO: use TextDecoder
// 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 and https://www.ietf.org/rfc/rfc2279.txt and 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) u = 0x10000 + ((u & 0x3FF) << 10) | (str.charCodeAt(++i) & 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) Module.printErr('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 runtime has exited
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
// PRE_RUN_ADDITIONS (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;
Module.printErr('still waiting on run dependencies:');
}
Module.printErr('dependency: ' + dep);
}
if (shown) {
Module.printErr('(end of list)');
}
}, 10000);
}
} else {
Module.printErr('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 {
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(); // can add another dependenciesFulfilled
}
}
}
Module["preloadedImages"] = {}; // maps url to image data
Module["preloadedAudios"] = {}; // maps url to audio data
var memoryInitializer = null;
var /* show errors on likely calls to FS when it was not included */ FS = {
error: function() {
abort('Filesystem support (FS) was not included. The problem is that you are using files from JS, but files were not used from C/C++, so filesystem support was not auto-included. You can force-include filesystem support with -s FORCE_FILESYSTEM=1');
},
init: function() { FS.error() },
createDataFile: function() { FS.error() },
createPreloadedFile: function() { FS.error() },
createLazyFile: function() { FS.error() },
open: function() { FS.error() },
mkdev: function() { FS.error() },
registerDevice: function() { FS.error() },
analyzePath: function() { FS.error() },
loadFilesFromDB: function() { FS.error() },
ErrnoError: function ErrnoError() { FS.error() },
};
Module['FS_createDataFile'] = FS.createDataFile;
Module['FS_createPreloadedFile'] = FS.createPreloadedFile;
// 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 + 5872;
/* global initializers */ __ATINIT__.push();
memoryInitializer = "data:application/octet-stream;base64,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IDBYMHgAKG51bGwpAC0wWCswWCAwWC0weCsweCAweABpbmYASU5GAG5hbgBOQU4AMDEyMzQ1Njc4OUFCQ0RFRi4AVCEiGQ0BAgMRSxwMEAQLHRIeJ2hub3BxYiAFBg8TFBUaCBYHKCQXGAkKDhsfJSODgn0mKis8PT4/Q0dKTVhZWltcXV5fYGFjZGVmZ2lqa2xyc3R5ent8AElsbGVnYWwgYnl0ZSBzZXF1ZW5jZQBEb21haW4gZXJyb3IAUmVzdWx0IG5vdCByZXByZXNlbnRhYmxlAE5vdCBhIHR0eQBQZXJtaXNzaW9uIGRlbmllZABPcGVyYXRpb24gbm90IHBlcm1pdHRlZABObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5AE5vIHN1Y2ggcHJvY2VzcwBGaWxlIGV4aXN0cwBWYWx1ZSB0b28gbGFyZ2UgZm9yIGRhdGEgdHlwZQBObyBzcGFjZSBsZWZ0IG9uIGRldmljZQBPdXQgb2YgbWVtb3J5AFJlc291cmNlIGJ1c3kASW50ZXJydXB0ZWQgc3lzdGVtIGNhbGwAUmVzb3VyY2UgdGVtcG9yYXJpbHkgdW5hdmFpbGFibGUASW52YWxpZCBzZWVrAENyb3NzLWRldmljZSBsaW5rAFJlYWQtb25seSBmaWxlIHN5c3RlbQBEaXJlY3Rvcnkgbm90IGVtcHR5AENvbm5lY3Rpb24gcmVzZXQgYnkgcGVlcgBPcGVyYXRpb24gdGltZWQgb3V0AENvbm5lY3Rpb24gcmVmdXNlZABIb3N0IGlzIGRvd24ASG9zdCBpcyB1bnJlYWNoYWJsZQBBZGRyZXNzIGluIHVzZQBCcm9rZW4gcGlwZQBJL08gZXJyb3IATm8gc3VjaCBkZXZpY2Ugb3IgYWRkcmVzcwBCbG9jayBkZXZpY2UgcmVxdWlyZWQATm8gc3VjaCBkZXZpY2UATm90IGEgZGlyZWN0b3J5AElzIGEgZGlyZWN0b3J5AFRleHQgZmlsZSBidXN5AEV4ZWMgZm9ybWF0IGVycm9yAEludmFsaWQgYXJndW1lbnQAQXJndW1lbnQgbGlzdCB0b28gbG9uZwBTeW1ib2xpYyBsaW5rIGxvb3AARmlsZW5hbWUgdG9vIGxvbmcAVG9vIG1hbnkgb3BlbiBmaWxlcyBpbiBzeXN0ZW0ATm8gZmlsZSBkZXNjcmlwdG9ycyBhdmFpbGFibGUAQmFkIGZpbGUgZGVzY3JpcHRvcgBObyBjaGlsZCBwcm9jZXNzAEJhZCBhZGRyZXNzAEZpbGUgdG9vIGxhcmdlAFRvbyBtYW55IGxpbmtzAE5vIGxvY2tzIGF2YWlsYWJsZQBSZXNvdXJjZSBkZWFkbG9jayB3b3VsZCBvY2N1cgBTdGF0ZSBub3QgcmVjb3ZlcmFibGUAUHJldmlvdXMgb3duZXIgZGllZABPcGVyYXRpb24gY2FuY2VsZWQARnVuY3Rpb24gbm90IGltcGxlbWVudGVkAE5vIG1lc3NhZ2Ugb2YgZGVzaXJlZCB0eXBlAElkZW50aWZpZXIgcmVtb3ZlZABEZXZpY2Ugbm90IGEgc3RyZWFtAE5vIGRhdGEgYXZhaWxhYmxlAERldmljZSB0aW1lb3V0AE91dCBvZiBzdHJlYW1zIHJlc291cmNlcwBMaW5rIGhhcyBiZWVuIHNldmVyZWQAUHJvdG9jb2wgZXJyb3IAQmFkIG1lc3NhZ2UARmlsZSBkZXNjcmlwdG9yIGluIGJhZCBzdGF0ZQBOb3QgYSBzb2NrZXQARGVzdGluYXRpb24gYWRkcmVzcyByZXF1aXJlZABNZXNzYWdlIHRvbyBsYXJnZQBQcm90b2NvbCB3cm9uZyB0eXBlIGZvciBzb2NrZXQAUHJvdG9jb2wgbm90IGF2YWlsYWJsZQBQcm90b2NvbCBub3Qgc3VwcG9ydGVkAFNvY2tldCB0eXBlIG5vdCBzdXBwb3J0ZWQATm90IHN1cHBvcnRlZABQcm90b2NvbCBmYW1pbHkgbm90IHN1cHBvcnRlZABBZGRyZXNzIGZhbWlseSBub3Qgc3VwcG9ydGVkIGJ5IHByb3RvY29sAEFkZHJlc3Mgbm90IGF2YWlsYWJsZQBOZXR3b3JrIGlzIGRvd24ATmV0d29yayB1bnJlYWNoYWJsZQBDb25uZWN0aW9uIHJlc2V0IGJ5IG5ldHdvcmsAQ29ubmVjdGlvbiBhYm9ydGVkAE5vIGJ1ZmZlciBzcGFjZSBhdmFpbGFibGUAU29ja2V0IGlzIGNvbm5lY3RlZABTb2NrZXQgbm90IGNvbm5lY3RlZABDYW5ub3Qgc2VuZCBhZnRlciBzb2NrZXQgc2h1dGRvd24AT3BlcmF0aW9uIGFscmVhZHkgaW4gcHJvZ3Jlc3MAT3BlcmF0aW9uIGluIHByb2dyZXNzAFN0YWxlIGZpbGUgaGFuZGxlAFJlbW90ZSBJL08gZXJyb3IAUXVvdGEgZXhjZWVkZWQATm8gbWVkaXVtIGZvdW5kAFdyb25nIG1lZGl1bSB0eXBlAE5vIGVycm9yIGluZm9ybWF0aW9uAAD/////////////////////////////////////////////////////////////////AAECAwQFBgcICf////////8KCwwNDg8QERITFBUWFxgZGhscHR4fICEiI////////woLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIj/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wABAgQHAwYFADogdW5yZWNvZ25pemVkIG9wdGlvbjogADogb3B0aW9uIHJlcXVpcmVzIGFuIGFyZ3VtZW50OiA=";
/* 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']);
}
function ___lock() {}
var SYSCALLS={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;
},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 flush_NO_FILESYSTEM() {
// flush anything remaining in the buffers during shutdown
var fflush = Module["_fflush"];
if (fflush) fflush(0);
var printChar = ___syscall146.printChar;
if (!printChar) return;
var buffers = ___syscall146.buffers;
if (buffers[1].length) printChar(1, 10);
if (buffers[2].length) printChar(2, 10);
}function ___syscall146(which, varargs) {SYSCALLS.varargs = varargs;
try {
// writev
// hack to support printf in NO_FILESYSTEM
var stream = SYSCALLS.get(), iov = SYSCALLS.get(), iovcnt = SYSCALLS.get();
var ret = 0;
if (!___syscall146.buffers) {
___syscall146.buffers = [null, [], []]; // 1 => stdout, 2 => stderr
___syscall146.printChar = function(stream, curr) {
var buffer = ___syscall146.buffers[stream];
assert(buffer);
if (curr === 0 || curr === 10) {
(stream === 1 ? Module['print'] : Module['printErr'])(UTF8ArrayToString(buffer, 0));
buffer.length = 0;
} else {
buffer.push(curr);
}
};
}
for (var i = 0; i < iovcnt; i++) {
var ptr = HEAP32[(((iov)+(i*8))>>2)];
var len = HEAP32[(((iov)+(i*8 + 4))>>2)];
for (var j = 0; j < len; j++) {
___syscall146.printChar(stream, HEAPU8[ptr+j]);
}
ret += len;
}
return ret;
} catch (e) {
if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
return -e.errno;
}
}
function ___syscall54(which, varargs) {SYSCALLS.varargs = varargs;
try {
// ioctl
return 0;
} 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;
}
}
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);
function ___unlock() {}
function ___wait() {}
function __exit(status) {
// void _exit(int status);
// http://pubs.opengroup.org/onlinepubs/000095399/functions/exit.html
Module['exit'](status);
}function _exit(status) {
__exit(status);
}
function _emscripten_memcpy_big(dest, src, num) {
HEAPU8.set(HEAPU8.subarray(src, src+num), dest);
return dest;
}
function ___setErrNo(value) {
if (Module['___errno_location']) HEAP32[((Module['___errno_location']())>>2)]=value;
else Module.printErr('failed to set errno from JS');
return value;
}
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) { 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_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 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_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);
}
}
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_iiii": nullFunc_iiii, "invoke_ii": invoke_ii, "invoke_iiii": invoke_iiii, "___assert_fail": ___assert_fail, "___lock": ___lock, "___setErrNo": ___setErrNo, "___syscall140": ___syscall140, "___syscall146": ___syscall146, "___syscall54": ___syscall54, "___syscall6": ___syscall6, "___unlock": ___unlock, "___wait": ___wait, "__exit": __exit, "_emscripten_memcpy_big": _emscripten_memcpy_big, "_exit": _exit, "flush_NO_FILESYSTEM": flush_NO_FILESYSTEM, "DYNAMICTOP_PTR": DYNAMICTOP_PTR, "tempDoublePtr": tempDoublePtr, "ABORT": ABORT, "STACKTOP": STACKTOP, "STACK_MAX": STACK_MAX, "cttz_i8": cttz_i8 };
// 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 ABORT=env.ABORT|0;
var STACKTOP=env.STACKTOP|0;
var STACK_MAX=env.STACK_MAX|0;
var cttz_i8=env.cttz_i8|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_iiii=env.nullFunc_iiii;
var invoke_ii=env.invoke_ii;
var invoke_iiii=env.invoke_iiii;
var ___assert_fail=env.___assert_fail;
var ___lock=env.___lock;
var ___setErrNo=env.___setErrNo;
var ___syscall140=env.___syscall140;
var ___syscall146=env.___syscall146;
var ___syscall54=env.___syscall54;
var ___syscall6=env.___syscall6;
var ___unlock=env.___unlock;
var ___wait=env.___wait;
var __exit=env.__exit;
var _emscripten_memcpy_big=env._emscripten_memcpy_big;
var _exit=env._exit;
var flush_NO_FILESYSTEM=env.flush_NO_FILESYSTEM;
var tempFloat = 0.0;
// EMSCRIPTEN_START_FUNCS
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 _flip() {
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;
$0 = HEAP32[1022]|0;
$1 = HEAP32[1023]|0;
$2 = ($0|0)==($1|0);
$3 = HEAP32[1023]|0;
$4 = HEAP32[2]|0;
$5 = (($3) + ($4<<2)|0);
$6 = $2 ? $5 : $3;
HEAP32[1022] = $6;
$7 = HEAP32[1022]|0;
HEAP32[1024] = $7;
HEAP32[1025] = $7;
$8 = HEAP32[1022]|0;
$9 = HEAP32[2]|0;
$10 = (($8) + ($9<<2)|0);
HEAP32[1026] = $10;
return;
}
function _error() {
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;
(_printf(729,$vararg_buffer)|0);
_exit(1);
// unreachable;
}
function _tospace($0) {
$0 = $0|0;
var $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 = $0;
$2 = $1;
$3 = HEAP32[1022]|0;
$4 = $2;
$5 = $3;
$6 = (($4) - ($5))|0;
$7 = (($6|0) / 4)&-1;
$8 = HEAP32[2]|0;
$9 = ($7>>>0)<($8>>>0);
STACKTOP = sp;return ($9|0);
}
function _fromspace($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 = (_tospace($2)|0);
$4 = $3 ^ 1;
STACKTOP = sp;return ($4|0);
}
function _cons($0,$1) {
$0 = $0|0;
$1 = $1|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, $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, $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, $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 + 8|0;
$vararg_buffer = sp;
$2 = $0;
$3 = $1;
$8 = HEAP32[1024]|0;
$9 = HEAP32[1026]|0;
$10 = ($8|0)==($9|0);
if ($10) {
_flip();
(_printf(745,$vararg_buffer)|0);
$5 = 0;
while(1) {
$11 = $5;
$12 = ($11|0)<(32);
if (!($12)) {
break;
}
$13 = $5;
$14 = (4108 + ($13<<2)|0);
$15 = HEAP32[$14>>2]|0;
$16 = (_move($15)|0);
$17 = $5;
$18 = (4108 + ($17<<2)|0);
HEAP32[$18>>2] = $16;
$19 = $5;
$20 = (($19) + 1)|0;
$5 = $20;
}
$21 = $2;
$22 = (_move($21)|0);
$2 = $22;
$23 = $3;
$24 = (_move($23)|0);
$3 = $24;
$25 = HEAP8[728]|0;
$26 = $25&1;
if (!($26)) {
while(1) {
$27 = HEAP32[1025]|0;
$28 = HEAP32[1024]|0;
$29 = ($27>>>0)<($28>>>0);
if (!($29)) {
break;
}
$30 = HEAP32[1025]|0;
$31 = HEAP32[$30>>2]|0;
$32 = (_move($31)|0);
$33 = HEAP32[1025]|0;
HEAP32[$33>>2] = $32;
$34 = HEAP32[1025]|0;
$35 = ((($34)) + 4|0);
$36 = HEAP32[$35>>2]|0;
$37 = (_move($36)|0);
$38 = HEAP32[1025]|0;
$39 = ((($38)) + 4|0);
HEAP32[$39>>2] = $37;
$40 = HEAP32[1025]|0;
$41 = ((($40)) + 8|0);
HEAP32[1025] = $41;
}
$42 = HEAP32[1024]|0;
$43 = HEAP32[1022]|0;
$44 = $42;
$45 = $43;
$46 = (($44) - ($45))|0;
$47 = (($46|0) / 4)&-1;
HEAP32[$vararg_buffer1>>2] = $47;
(_printf(751,$vararg_buffer1)|0);
}
}
$48 = HEAP8[728]|0;
$49 = $48&1;
L12: do {
if ($49) {
$6 = 0;
while(1) {
$50 = $6;
$51 = HEAP32[3]|0;
$52 = ($50>>>0)<($51>>>0);
if (!($52)) {
break L12;
}
$53 = HEAP32[1025]|0;
$54 = HEAP32[1024]|0;
$55 = ($53>>>0)<($54>>>0);
if (!($55)) {
break L12;
}
$56 = HEAP32[1025]|0;
$57 = HEAP32[$56>>2]|0;
$58 = (_move($57)|0);
$59 = HEAP32[1025]|0;
HEAP32[$59>>2] = $58;
$60 = HEAP32[1025]|0;
$61 = ((($60)) + 4|0);
$62 = HEAP32[$61>>2]|0;
$63 = (_move($62)|0);
$64 = HEAP32[1025]|0;
$65 = ((($64)) + 4|0);
HEAP32[$65>>2] = $63;
$66 = HEAP32[1025]|0;
$67 = ((($66)) + 8|0);
HEAP32[1025] = $67;
$68 = $6;
$69 = (($68) + 1)|0;
$6 = $69;
}
}
} while(0);
$70 = HEAP32[1023]|0;
$7 = $70;
while(1) {
$71 = $7;
$72 = HEAP32[1023]|0;
$73 = $71;
$74 = $72;
$75 = (($73) - ($74))|0;
$76 = (($75|0) / 4)&-1;
$77 = HEAP32[2]|0;
$78 = (($76>>>0) % ($77>>>0))&-1;
$79 = ($78|0)==(0);
if ($79) {
(_putchar(124)|0);
}
$80 = $7;
$81 = HEAP32[1025]|0;
$82 = ($80|0)==($81|0);
if ($82) {
(_putchar(83)|0);
}
$83 = $7;
$84 = HEAP32[1024]|0;
$85 = ($83|0)==($84|0);
if ($85) {
(_putchar(66)|0);
}
$86 = $7;
$87 = HEAP32[1026]|0;
$88 = ($86|0)==($87|0);
if ($88) {
(_putchar(84)|0);
}
$89 = $7;
$90 = HEAP32[1023]|0;
$91 = HEAP32[2]|0;
$92 = $91<<1;
$93 = (($90) + ($92<<2)|0);
$94 = ($89|0)==($93|0);
if ($94) {
break;
}
$95 = $7;
$96 = (_fromspace($95)|0);
do {
if ($96) {
$97 = $7;
$98 = HEAP32[$97>>2]|0;
$99 = (_tospace($98)|0);
$100 = $99 ? 43 : 32;
(_putchar($100)|0);
} else {
$101 = HEAP8[728]|0;
$102 = $101&1;
if (!($102)) {
$103 = $7;
$104 = HEAP32[1025]|0;
$105 = ($103>>>0)<($104>>>0);
if ($105) {
(_putchar(114)|0);
break;
}
}
$106 = HEAP8[728]|0;
$107 = $106&1;
if (!($107)) {
$108 = $7;
$109 = HEAP32[1024]|0;
$110 = ($108>>>0)<($109>>>0);
if ($110) {
(_putchar(110)|0);
break;
}
}
$111 = HEAP8[728]|0;
$112 = $111&1;
if ($112) {
$113 = $7;
$114 = HEAP32[1025]|0;
$115 = ($113>>>0)<($114>>>0);
if ($115) {
(_putchar(114)|0);
break;
}
}
$116 = HEAP8[728]|0;
$117 = $116&1;
if ($117) {
$118 = $7;
$119 = HEAP32[1024]|0;
$120 = ($118>>>0)<($119>>>0);
if ($120) {
(_putchar(116)|0);
break;
}
}
$121 = HEAP8[728]|0;
$122 = $121&1;
if ($122) {
$123 = HEAP32[1026]|0;
$124 = $7;
$125 = ($123>>>0)<=($124>>>0);
if ($125) {
(_putchar(110)|0);
break;
}
}
(_putchar(95)|0);
}
} while(0);
$126 = $7;
$127 = ((($126)) + 8|0);
$7 = $127;
}
(_putchar(10)|0);
$128 = HEAP32[1026]|0;
$129 = HEAP32[1024]|0;
$130 = ($128>>>0)<=($129>>>0);
if ($130) {
_error();
}
$131 = HEAP8[728]|0;
$132 = $131&1;
if ($132) {
$136 = HEAP32[1026]|0;
$137 = ((($136)) + -8|0);
HEAP32[1026] = $137;
$138 = HEAP32[1026]|0;
$4 = $138;
$139 = $2;
$140 = $4;
HEAP32[$140>>2] = $139;
$141 = $3;
$142 = $4;
$143 = ((($142)) + 4|0);
HEAP32[$143>>2] = $141;
$144 = $4;
STACKTOP = sp;return ($144|0);
} else {
$133 = HEAP32[1024]|0;
$4 = $133;
$134 = HEAP32[1024]|0;
$135 = ((($134)) + 8|0);
HEAP32[1024] = $135;
$139 = $2;
$140 = $4;
HEAP32[$140>>2] = $139;
$141 = $3;
$142 = $4;
$143 = ((($142)) + 4|0);
HEAP32[$143>>2] = $141;
$144 = $4;
STACKTOP = sp;return ($144|0);
}
return (0)|0;
}
function _move($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, label = 0;
var sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$2 = $0;
$3 = $2;
$4 = (_atom($3)|0);
if (!($4)) {
$5 = $2;
$6 = (_fromspace($5)|0);
if ($6) {
$8 = $2;
$9 = HEAP32[$8>>2]|0;
$10 = (_atom($9)|0);
if ($10) {
label = 6;
} else {
$11 = $2;
$12 = HEAP32[$11>>2]|0;
$13 = (_tospace($12)|0);
if (!($13)) {
label = 6;
}
}
if ((label|0) == 6) {
$14 = $2;
$15 = (_copy($14)|0);
$16 = $2;
HEAP32[$16>>2] = $15;
}
$17 = $2;
$18 = HEAP32[$17>>2]|0;
$1 = $18;
$19 = $1;
STACKTOP = sp;return ($19|0);
}
}
$7 = $2;
$1 = $7;
$19 = $1;
STACKTOP = sp;return ($19|0);
}
function _car($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);
$2 = $0;
$3 = HEAP8[728]|0;
$4 = $3&1;
$5 = $2;
$6 = HEAP32[$5>>2]|0;
if ($4) {
$1 = $6;
} else {
$7 = (_move($6)|0);
$1 = $7;
}
$8 = $1;
STACKTOP = sp;return ($8|0);
}
function _cdr($0) {
$0 = $0|0;
var $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);
$2 = $0;
$3 = HEAP8[728]|0;
$4 = $3&1;
$5 = $2;
$6 = ((($5)) + 4|0);
$7 = HEAP32[$6>>2]|0;
if ($4) {
$1 = $7;
} else {
$8 = (_move($7)|0);
$1 = $8;
}
$9 = $1;
STACKTOP = sp;return ($9|0);
}
function _rplacd($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;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$2 = $0;
$3 = $1;
$4 = $3;
$5 = $2;
$6 = ((($5)) + 4|0);
HEAP32[$6>>2] = $4;
STACKTOP = sp;return;
}
function _atom($0) {
$0 = $0|0;
var $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;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$1 = $0;
$2 = $1;
$3 = HEAP32[1023]|0;
$4 = ($2>>>0)<=($3>>>0);
if ($4) {
$15 = 1;
} else {
$5 = HEAP32[1023]|0;
$6 = HEAP32[2]|0;
$7 = $6<<1;
$8 = (($5) + ($7<<2)|0);
$9 = $1;
$10 = ($8>>>0)<=($9>>>0);
if ($10) {
$15 = 1;
} else {
$11 = $1;
$12 = $11;
$13 = $12 & 1;
$14 = ($13|0)!=(0);
$15 = $14;
}
}
STACKTOP = sp;return ($15|0);
}
function _integerp($0) {
$0 = $0|0;
var $1 = 0, $2 = 0, $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);
$1 = $0;
$2 = $1;
$3 = $2;
$4 = $3 & 1;
$5 = ($4|0)!=(0);
STACKTOP = sp;return ($5|0);
}
function _getinteger($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;
$4 = $3 >> 1;
STACKTOP = sp;return ($4|0);
}
function _integer($0) {
$0 = $0|0;
var $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;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$1 = $0;
$3 = $1;
$4 = $3<<1;
$5 = (($4) + 1)|0;
$6 = $5;
$2 = $6;
$7 = $2;
$8 = (_atom($7)|0);
if (!($8)) {
___assert_fail((774|0),(782|0),164,(792|0));
// unreachable;
}
$9 = $2;
$10 = (_integerp($9)|0);
if (!($10)) {
___assert_fail((800|0),(782|0),165,(792|0));
// unreachable;
}
$11 = $2;
$12 = (_getinteger($11)|0);
$13 = $1;
$14 = ($12|0)==($13|0);
if ($14) {
$15 = $2;
STACKTOP = sp;return ($15|0);
} else {
___assert_fail((812|0),(782|0),166,(792|0));
// unreachable;
}
return (0)|0;
}
function _copy($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;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$1 = $0;
$2 = $1;
$3 = (_atom($2)|0);
if ($3) {
___assert_fail((831|0),(782|0),184,(840|0));
// unreachable;
}
$4 = HEAP32[1024]|0;
$5 = HEAP32[1026]|0;
$6 = ($4>>>0)>=($5>>>0);
if ($6) {
_error();
}
$7 = HEAP32[1024]|0;
$8 = $1;
;HEAP32[$7>>2]=HEAP32[$8>>2]|0;
$9 = HEAP32[1024]|0;
$10 = ((($9)) + 4|0);
$11 = $1;
$12 = ((($11)) + 4|0);
;HEAP32[$10>>2]=HEAP32[$12>>2]|0;
$13 = HEAP32[1024]|0;
$14 = ((($13)) + 8|0);
HEAP32[1024] = $14;
$15 = HEAP32[1024]|0;
$16 = ((($15)) + -8|0);
STACKTOP = sp;return ($16|0);
}
function _workload() {
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, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
var $45 = 0, $46 = 0, $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 = 28;
while(1) {
$2 = $0;
$3 = (2)<=($2|0);
if (!($3)) {
break;
}
$4 = $0;
$5 = (_integer($4)|0);
$6 = HEAP32[1027]|0;
$7 = (_cons($5,$6)|0);
HEAP32[1027] = $7;
$8 = $0;
$9 = (($8) + -1)|0;
$0 = $9;
}
(_printf(845,$vararg_buffer)|0);
while(1) {
$10 = HEAP32[1027]|0;
$11 = (_atom($10)|0);
$12 = $11 ^ 1;
if (!($12)) {
break;
}
$13 = HEAP32[1027]|0;
$14 = (_car($13)|0);
$15 = (_getinteger($14)|0);
$1 = $15;
$16 = HEAP32[1027]|0;
$17 = (_car($16)|0);
$18 = HEAP32[(4116)>>2]|0;
$19 = (_cons($17,$18)|0);
HEAP32[(4116)>>2] = $19;
$20 = HEAP32[1027]|0;
HEAP32[(4112)>>2] = $20;
while(1) {
$21 = HEAP32[(4112)>>2]|0;
$22 = (_cdr($21)|0);
$23 = (_atom($22)|0);
$24 = $23 ^ 1;
if (!($24)) {
break;
}
$25 = HEAP32[(4112)>>2]|0;
$26 = (_cdr($25)|0);
$27 = (_car($26)|0);
$28 = (_getinteger($27)|0);
$29 = $1;
$30 = (($28|0) % ($29|0))&-1;
$31 = ($30|0)==(0);
$32 = HEAP32[(4112)>>2]|0;
if ($31) {
$33 = HEAP32[(4112)>>2]|0;
$34 = (_cdr($33)|0);
$35 = (_cdr($34)|0);
_rplacd($32,$35);
continue;
} else {
$36 = (_cdr($32)|0);
HEAP32[(4112)>>2] = $36;
continue;
}
}
$37 = HEAP32[1027]|0;
$38 = (_cdr($37)|0);
HEAP32[1027] = $38;
}
while(1) {
$39 = HEAP32[(4116)>>2]|0;
$40 = (_atom($39)|0);
$41 = $40 ^ 1;
if (!($41)) {
break;
}
$42 = HEAP32[(4116)>>2]|0;
$43 = (_car($42)|0);
$44 = (_getinteger($43)|0);
HEAP32[$vararg_buffer1>>2] = $44;
(_printf(856,$vararg_buffer1)|0);
$45 = HEAP32[(4116)>>2]|0;
$46 = (_cdr($45)|0);
HEAP32[(4116)>>2] = $46;
}
(_printf(861,$vararg_buffer3)|0);
STACKTOP = sp;return;
}
function _usage($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, $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 = $0;
$4 = $1;
$5 = $2;
$6 = HEAP32[5]|0;
$7 = $4;
$8 = $5;
$9 = $3;
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] = $9;
(_fprintf($6,863,$vararg_buffer)|0);
_exit(1);
// unreachable;
}
function _main($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, $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, $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;
$7 = sp + 8|0;
$8 = sp + 28|0;
$2 = 0;
$3 = $0;
$4 = $1;
L1: while(1) {
$10 = $3;
$11 = $4;
$12 = (_getopt($10,$11,1080)|0);
$13 = $12&255;
$5 = $13;
$14 = $13 << 24 >> 24;
$15 = ($14|0)!=(-1);
if (!($15)) {
break;
}
$16 = $5;
$17 = $16 << 24 >> 24;
switch ($17|0) {
case 105: {
$18 = HEAP32[1184]|0;
$19 = (_strtol($18,$7,10)|0);
$6 = $19;
$20 = HEAP32[$7>>2]|0;
$21 = HEAP8[$20>>0]|0;
$22 = ($21<<24>>24)!=(0);
if ($22) {
$23 = $4;
$24 = HEAP32[$23>>2]|0;
$25 = HEAP32[1184]|0;
_usage($24,1087,$25);
}
$26 = $6;
$27 = ($26|0)!=(0);
$28 = $27&1;
HEAP8[728] = $28;
continue L1;
break;
}
case 115: {
$29 = HEAP32[1184]|0;
$30 = (_strtol($29,$7,10)|0);
$31 = $30<<1;
HEAP32[2] = $31;
$32 = HEAP32[$7>>2]|0;
$33 = HEAP8[$32>>0]|0;
$34 = ($33<<24>>24)!=(0);
if (!($34)) {
continue L1;
}
$35 = $4;
$36 = HEAP32[$35>>2]|0;
$37 = HEAP32[1184]|0;
_usage($36,1109,$37);
continue L1;
break;
}
case 107: {
$38 = HEAP32[1184]|0;
$39 = (_strtol($38,$7,10)|0);
$40 = $39<<1;
HEAP32[3] = $40;
$41 = HEAP32[3]|0;
$42 = ($41>>>0)<(1);
if ($42) {
label = 11;
} else {
$43 = HEAP32[$7>>2]|0;
$44 = HEAP8[$43>>0]|0;
$45 = $44 << 24 >> 24;
$46 = ($45|0)!=(0);
if ($46) {
label = 11;
}
}
if ((label|0) == 11) {
label = 0;
$47 = $4;
$48 = HEAP32[$47>>2]|0;
$49 = HEAP32[1184]|0;
_usage($48,1128,$49);
}
HEAP8[728] = 1;
continue L1;
break;
}
default: {
$50 = $5;
HEAP8[$8>>0] = $50;
$51 = ((($8)) + 1|0);
HEAP8[$51>>0] = 0;
$52 = $4;
$53 = HEAP32[$52>>2]|0;
_usage($53,1155,$8);
continue L1;
}
}
}
$54 = HEAP32[4]|0;
$55 = $3;
$56 = (($55) - ($54))|0;
$3 = $56;
$57 = HEAP32[4]|0;
$58 = $4;
$59 = (($58) + ($57<<2)|0);
$4 = $59;
$60 = HEAP8[728]|0;
$61 = $60&1;
if ($61) {
(_printf(1172,$vararg_buffer)|0);
}
$62 = HEAP32[2]|0;
$63 = $62<<1;
$64 = (_calloc(4,$63)|0);
HEAP32[1023] = $64;
HEAP32[1022] = $64;
_flip();
$9 = 0;
while(1) {
$65 = $9;
$66 = ($65|0)<(32);
if (!($66)) {
break;
}
$67 = (_integer(666)|0);
$68 = $9;
$69 = (4108 + ($68<<2)|0);
HEAP32[$69>>2] = $67;
$70 = $9;
$71 = (($70) + 1)|0;
$9 = $71;
}
_workload();
STACKTOP = sp;return 0;
}
function _malloc($0) {
$0 = $0|0;
var $$$0172$i = 0, $$$0173$i = 0, $$$4236$i = 0, $$$4329$i = 0, $$$i = 0, $$0 = 0, $$0$i = 0, $$0$i$i = 0, $$0$i$i$i = 0, $$0$i20$i = 0, $$0172$lcssa$i = 0, $$01724$i = 0, $$0173$lcssa$i = 0, $$01733$i = 0, $$0192 = 0, $$0194 = 0, $$0201$i$i = 0, $$0202$i$i = 0, $$0206$i$i = 0, $$0207$i$i = 0;
var $$024367$i = 0, $$0260$i$i = 0, $$0261$i$i = 0, $$0262$i$i = 0, $$0268$i$i = 0, $$0269$i$i = 0, $$0320$i = 0, $$0322$i = 0, $$0323$i = 0, $$0325$i = 0, $$0331$i = 0, $$0336$i = 0, $$0337$$i = 0, $$0337$i = 0, $$0339$i = 0, $$0340$i = 0, $$0345$i = 0, $$1176$i = 0, $$1178$i = 0, $$124466$i = 0;
var $$1264$i$i = 0, $$1266$i$i = 0, $$1321$i = 0, $$1326$i = 0, $$1341$i = 0, $$1347$i = 0, $$1351$i = 0, $$2234243136$i = 0, $$2247$ph$i = 0, $$2253$ph$i = 0, $$2333$i = 0, $$3$i = 0, $$3$i$i = 0, $$3$i199 = 0, $$3328$i = 0, $$3349$i = 0, $$4$lcssa$i = 0, $$4$ph$i = 0, $$4236$i = 0, $$4329$lcssa$i = 0;
var $$43298$i = 0, $$4335$$4$i = 0, $$4335$ph$i = 0, $$43357$i = 0, $$49$i = 0, $$723947$i = 0, $$748$i = 0, $$pre = 0, $$pre$i = 0, $$pre$i$i = 0, $$pre$i17$i = 0, $$pre$i195 = 0, $$pre$i207 = 0, $$pre$phi$i$iZ2D = 0, $$pre$phi$i18$iZ2D = 0, $$pre$phi$i208Z2D = 0, $$pre$phi$iZ2D = 0, $$pre$phiZ2D = 0, $$sink1$i = 0, $$sink1$i$i = 0;
var $$sink12$i = 0, $$sink2$i = 0, $$sink2$i202 = 0, $$sink3$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;
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, $2 = 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, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0;
var $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, $293 = 0;
var $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, $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, $4 = 0, $40 = 0, $400 = 0;
var $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, $419 = 0;
var $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, $437 = 0;
var $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, $455 = 0;
var $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, $473 = 0;
var $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, $491 = 0;
var $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, $509 = 0;
var $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, $527 = 0;
var $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, $545 = 0;
var $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, $563 = 0;
var $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, $581 = 0;
var $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, $6 = 0;
var $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, $617 = 0;
var $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, $635 = 0;
var $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, $653 = 0;
var $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, $671 = 0;
var $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, $69 = 0;
var $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, $707 = 0;
var $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, $725 = 0;
var $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, $743 = 0;
var $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, $761 = 0;
var $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, $78 = 0;
var $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, $798 = 0;
var $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, $815 = 0;
var $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, $833 = 0;
var $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, $851 = 0;
var $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, $87 = 0;
var $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, $888 = 0;
var $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, $905 = 0;
var $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, $923 = 0;
var $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, $941 = 0;
var $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, $959 = 0, $96 = 0;
var $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, $98 = 0, $99 = 0, $cond$i = 0, $cond$i$i = 0, $cond$i206 = 0, $not$$i = 0, $not$3$i = 0;
var $or$cond$i = 0, $or$cond$i200 = 0, $or$cond1$i = 0, $or$cond1$i198 = 0, $or$cond10$i = 0, $or$cond11$i = 0, $or$cond11$not$i = 0, $or$cond12$i = 0, $or$cond2$i = 0, $or$cond49$i = 0, $or$cond5$i = 0, $or$cond50$i = 0, $or$cond7$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[1059]|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 = (4276 + ($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[1059] = $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[(4244)>>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 = (4276 + ($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[1059] = $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[(4256)>>2]|0;
$85 = $33 >>> 3;
$86 = $85 << 1;
$87 = (4276 + ($86<<2)|0);
$88 = 1 << $85;
$89 = $90 & $88;
$91 = ($89|0)==(0);
if ($91) {
$92 = $90 | $88;
HEAP32[1059] = $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[(4244)>>2] = $76;
HEAP32[(4256)>>2] = $79;
$$0 = $68;
STACKTOP = sp;return ($$0|0);
}
$98 = HEAP32[(4240)>>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 = (4540 + ($122<<2)|0);
$124 = HEAP32[$123>>2]|0;
$125 = ((($124)) + 4|0);
$126 = HEAP32[$125>>2]|0;
$127 = $126 & -8;
$128 = (($127) - ($6))|0;
$129 = ((($124)) + 16|0);
$130 = HEAP32[$129>>2]|0;
$131 = ($130|0)==(0|0);
$$sink12$i = $131&1;
$132 = (((($124)) + 16|0) + ($$sink12$i<<2)|0);
$133 = HEAP32[$132>>2]|0;
$134 = ($133|0)==(0|0);
if ($134) {
$$0172$lcssa$i = $124;$$0173$lcssa$i = $128;
} else {
$$01724$i = $124;$$01733$i = $128;$136 = $133;
while(1) {
$135 = ((($136)) + 4|0);
$137 = HEAP32[$135>>2]|0;
$138 = $137 & -8;
$139 = (($138) - ($6))|0;
$140 = ($139>>>0)<($$01733$i>>>0);
$$$0173$i = $140 ? $139 : $$01733$i;
$$$0172$i = $140 ? $136 : $$01724$i;
$141 = ((($136)) + 16|0);
$142 = HEAP32[$141>>2]|0;
$143 = ($142|0)==(0|0);
$$sink1$i = $143&1;
$144 = (((($136)) + 16|0) + ($$sink1$i<<2)|0);
$145 = HEAP32[$144>>2]|0;
$146 = ($145|0)==(0|0);
if ($146) {
$$0172$lcssa$i = $$$0172$i;$$0173$lcssa$i = $$$0173$i;
break;
} else {
$$01724$i = $$$0172$i;$$01733$i = $$$0173$i;$136 = $145;
}
}
}
$147 = (($$0172$lcssa$i) + ($6)|0);
$148 = ($147>>>0)>($$0172$lcssa$i>>>0);
if ($148) {
$149 = ((($$0172$lcssa$i)) + 24|0);
$150 = HEAP32[$149>>2]|0;
$151 = ((($$0172$lcssa$i)) + 12|0);
$152 = HEAP32[$151>>2]|0;
$153 = ($152|0)==($$0172$lcssa$i|0);
do {
if ($153) {
$158 = ((($$0172$lcssa$i)) + 20|0);
$159 = HEAP32[$158>>2]|0;
$160 = ($159|0)==(0|0);
if ($160) {
$161 = ((($$0172$lcssa$i)) + 16|0);
$162 = HEAP32[$161>>2]|0;
$163 = ($162|0)==(0|0);
if ($163) {
$$3$i = 0;
break;
} else {
$$1176$i = $162;$$1178$i = $161;
}
} else {
$$1176$i = $159;$$1178$i = $158;
}
while(1) {
$164 = ((($$1176$i)) + 20|0);
$165 = HEAP32[$164>>2]|0;
$166 = ($165|0)==(0|0);
if (!($166)) {
$$1176$i = $165;$$1178$i = $164;
continue;
}
$167 = ((($$1176$i)) + 16|0);
$168 = HEAP32[$167>>2]|0;
$169 = ($168|0)==(0|0);
if ($169) {
break;
} else {
$$1176$i = $168;$$1178$i = $167;
}
}
HEAP32[$$1178$i>>2] = 0;
$$3$i = $$1176$i;
} else {
$154 = ((($$0172$lcssa$i)) + 8|0);
$155 = HEAP32[$154>>2]|0;
$156 = ((($155)) + 12|0);
HEAP32[$156>>2] = $152;
$157 = ((($152)) + 8|0);
HEAP32[$157>>2] = $155;
$$3$i = $152;
}
} while(0);
$170 = ($150|0)==(0|0);
do {
if (!($170)) {
$171 = ((($$0172$lcssa$i)) + 28|0);
$172 = HEAP32[$171>>2]|0;
$173 = (4540 + ($172<<2)|0);
$174 = HEAP32[$173>>2]|0;
$175 = ($$0172$lcssa$i|0)==($174|0);
if ($175) {
HEAP32[$173>>2] = $$3$i;
$cond$i = ($$3$i|0)==(0|0);
if ($cond$i) {
$176 = 1 << $172;
$177 = $176 ^ -1;
$178 = $98 & $177;
HEAP32[(4240)>>2] = $178;
break;
}
} else {
$179 = ((($150)) + 16|0);
$180 = HEAP32[$179>>2]|0;
$181 = ($180|0)!=($$0172$lcssa$i|0);
$$sink2$i = $181&1;
$182 = (((($150)) + 16|0) + ($$sink2$i<<2)|0);
HEAP32[$182>>2] = $$3$i;
$183 = ($$3$i|0)==(0|0);
if ($183) {
break;
}
}
$184 = ((($$3$i)) + 24|0);
HEAP32[$184>>2] = $150;
$185 = ((($$0172$lcssa$i)) + 16|0);
$186 = HEAP32[$185>>2]|0;
$187 = ($186|0)==(0|0);
if (!($187)) {
$188 = ((($$3$i)) + 16|0);
HEAP32[$188>>2] = $186;
$189 = ((($186)) + 24|0);
HEAP32[$189>>2] = $$3$i;
}
$190 = ((($$0172$lcssa$i)) + 20|0);
$191 = HEAP32[$190>>2]|0;
$192 = ($191|0)==(0|0);
if (!($192)) {
$193 = ((($$3$i)) + 20|0);
HEAP32[$193>>2] = $191;
$194 = ((($191)) + 24|0);
HEAP32[$194>>2] = $$3$i;
}
}
} while(0);
$195 = ($$0173$lcssa$i>>>0)<(16);
if ($195) {
$196 = (($$0173$lcssa$i) + ($6))|0;
$197 = $196 | 3;
$198 = ((($$0172$lcssa$i)) + 4|0);
HEAP32[$198>>2] = $197;
$199 = (($$0172$lcssa$i) + ($196)|0);
$200 = ((($199)) + 4|0);
$201 = HEAP32[$200>>2]|0;
$202 = $201 | 1;
HEAP32[$200>>2] = $202;
} else {
$203 = $6 | 3;
$204 = ((($$0172$lcssa$i)) + 4|0);
HEAP32[$204>>2] = $203;
$205 = $$0173$lcssa$i | 1;
$206 = ((($147)) + 4|0);
HEAP32[$206>>2] = $205;
$207 = (($147) + ($$0173$lcssa$i)|0);
HEAP32[$207>>2] = $$0173$lcssa$i;
$208 = ($33|0)==(0);
if (!($208)) {
$209 = HEAP32[(4256)>>2]|0;
$210 = $33 >>> 3;
$211 = $210 << 1;
$212 = (4276 + ($211<<2)|0);
$213 = 1 << $210;
$214 = $8 & $213;
$215 = ($214|0)==(0);
if ($215) {
$216 = $8 | $213;
HEAP32[1059] = $216;
$$pre$i = ((($212)) + 8|0);
$$0$i = $212;$$pre$phi$iZ2D = $$pre$i;
} else {
$217 = ((($212)) + 8|0);
$218 = HEAP32[$217>>2]|0;
$$0$i = $218;$$pre$phi$iZ2D = $217;
}
HEAP32[$$pre$phi$iZ2D>>2] = $209;
$219 = ((($$0$i)) + 12|0);
HEAP32[$219>>2] = $209;
$220 = ((($209)) + 8|0);
HEAP32[$220>>2] = $$0$i;
$221 = ((($209)) + 12|0);
HEAP32[$221>>2] = $212;
}
HEAP32[(4244)>>2] = $$0173$lcssa$i;
HEAP32[(4256)>>2] = $147;
}
$222 = ((($$0172$lcssa$i)) + 8|0);
$$0 = $222;
STACKTOP = sp;return ($$0|0);
} else {
$$0192 = $6;
}
}
} else {
$$0192 = $6;
}
} else {
$223 = ($0>>>0)>(4294967231);
if ($223) {
$$0192 = -1;
} else {
$224 = (($0) + 11)|0;
$225 = $224 & -8;
$226 = HEAP32[(4240)>>2]|0;
$227 = ($226|0)==(0);
if ($227) {
$$0192 = $225;
} else {
$228 = (0 - ($225))|0;
$229 = $224 >>> 8;
$230 = ($229|0)==(0);
if ($230) {
$$0336$i = 0;
} else {
$231 = ($225>>>0)>(16777215);
if ($231) {
$$0336$i = 31;
} else {
$232 = (($229) + 1048320)|0;
$233 = $232 >>> 16;
$234 = $233 & 8;
$235 = $229 << $234;
$236 = (($235) + 520192)|0;
$237 = $236 >>> 16;
$238 = $237 & 4;
$239 = $238 | $234;
$240 = $235 << $238;
$241 = (($240) + 245760)|0;
$242 = $241 >>> 16;
$243 = $242 & 2;
$244 = $239 | $243;
$245 = (14 - ($244))|0;
$246 = $240 << $243;
$247 = $246 >>> 15;
$248 = (($245) + ($247))|0;
$249 = $248 << 1;
$250 = (($248) + 7)|0;
$251 = $225 >>> $250;
$252 = $251 & 1;
$253 = $252 | $249;
$$0336$i = $253;
}
}
$254 = (4540 + ($$0336$i<<2)|0);
$255 = HEAP32[$254>>2]|0;
$256 = ($255|0)==(0|0);
L74: do {
if ($256) {
$$2333$i = 0;$$3$i199 = 0;$$3328$i = $228;
label = 57;
} else {
$257 = ($$0336$i|0)==(31);
$258 = $$0336$i >>> 1;
$259 = (25 - ($258))|0;
$260 = $257 ? 0 : $259;
$261 = $225 << $260;
$$0320$i = 0;$$0325$i = $228;$$0331$i = $255;$$0337$i = $261;$$0340$i = 0;
while(1) {
$262 = ((($$0331$i)) + 4|0);
$263 = HEAP32[$262>>2]|0;
$264 = $263 & -8;
$265 = (($264) - ($225))|0;
$266 = ($265>>>0)<($$0325$i>>>0);
if ($266) {
$267 = ($265|0)==(0);
if ($267) {
$$43298$i = 0;$$43357$i = $$0331$i;$$49$i = $$0331$i;
label = 61;
break L74;
} else {
$$1321$i = $$0331$i;$$1326$i = $265;
}
} else {
$$1321$i = $$0320$i;$$1326$i = $$0325$i;
}
$268 = ((($$0331$i)) + 20|0);
$269 = HEAP32[$268>>2]|0;
$270 = $$0337$i >>> 31;
$271 = (((($$0331$i)) + 16|0) + ($270<<2)|0);
$272 = HEAP32[$271>>2]|0;
$273 = ($269|0)==(0|0);
$274 = ($269|0)==($272|0);
$or$cond1$i198 = $273 | $274;
$$1341$i = $or$cond1$i198 ? $$0340$i : $269;
$275 = ($272|0)==(0|0);
$not$3$i = $275 ^ 1;
$276 = $not$3$i&1;
$$0337$$i = $$0337$i << $276;
if ($275) {
$$2333$i = $$1341$i;$$3$i199 = $$1321$i;$$3328$i = $$1326$i;
label = 57;
break;
} else {
$$0320$i = $$1321$i;$$0325$i = $$1326$i;$$0331$i = $272;$$0337$i = $$0337$$i;$$0340$i = $$1341$i;
}
}
}
} while(0);
if ((label|0) == 57) {
$277 = ($$2333$i|0)==(0|0);
$278 = ($$3$i199|0)==(0|0);
$or$cond$i200 = $277 & $278;
if ($or$cond$i200) {
$279 = 2 << $$0336$i;
$280 = (0 - ($279))|0;
$281 = $279 | $280;
$282 = $226 & $281;
$283 = ($282|0)==(0);
if ($283) {
$$0192 = $225;
break;
}
$284 = (0 - ($282))|0;
$285 = $282 & $284;
$286 = (($285) + -1)|0;
$287 = $286 >>> 12;
$288 = $287 & 16;
$289 = $286 >>> $288;
$290 = $289 >>> 5;
$291 = $290 & 8;
$292 = $291 | $288;
$293 = $289 >>> $291;
$294 = $293 >>> 2;
$295 = $294 & 4;
$296 = $292 | $295;
$297 = $293 >>> $295;
$298 = $297 >>> 1;
$299 = $298 & 2;
$300 = $296 | $299;
$301 = $297 >>> $299;
$302 = $301 >>> 1;
$303 = $302 & 1;
$304 = $300 | $303;
$305 = $301 >>> $303;
$306 = (($304) + ($305))|0;
$307 = (4540 + ($306<<2)|0);
$308 = HEAP32[$307>>2]|0;
$$4$ph$i = 0;$$4335$ph$i = $308;
} else {
$$4$ph$i = $$3$i199;$$4335$ph$i = $$2333$i;
}
$309 = ($$4335$ph$i|0)==(0|0);
if ($309) {
$$4$lcssa$i = $$4$ph$i;$$4329$lcssa$i = $$3328$i;
} else {
$$43298$i = $$3328$i;$$43357$i = $$4335$ph$i;$$49$i = $$4$ph$i;
label = 61;
}
}
if ((label|0) == 61) {
while(1) {
label = 0;
$310 = ((($$43357$i)) + 4|0);
$311 = HEAP32[$310>>2]|0;
$312 = $311 & -8;
$313 = (($312) - ($225))|0;
$314 = ($313>>>0)<($$43298$i>>>0);
$$$4329$i = $314 ? $313 : $$43298$i;
$$4335$$4$i = $314 ? $$43357$i : $$49$i;
$315 = ((($$43357$i)) + 16|0);
$316 = HEAP32[$315>>2]|0;
$317 = ($316|0)==(0|0);
$$sink2$i202 = $317&1;
$318 = (((($$43357$i)) + 16|0) + ($$sink2$i202<<2)|0);
$319 = HEAP32[$318>>2]|0;
$320 = ($319|0)==(0|0);
if ($320) {
$$4$lcssa$i = $$4335$$4$i;$$4329$lcssa$i = $$$4329$i;
break;
} else {
$$43298$i = $$$4329$i;$$43357$i = $319;$$49$i = $$4335$$4$i;
label = 61;
}
}
}
$321 = ($$4$lcssa$i|0)==(0|0);
if ($321) {
$$0192 = $225;
} else {
$322 = HEAP32[(4244)>>2]|0;
$323 = (($322) - ($225))|0;
$324 = ($$4329$lcssa$i>>>0)<($323>>>0);
if ($324) {
$325 = (($$4$lcssa$i) + ($225)|0);
$326 = ($325>>>0)>($$4$lcssa$i>>>0);
if (!($326)) {
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
$327 = ((($$4$lcssa$i)) + 24|0);
$328 = HEAP32[$327>>2]|0;
$329 = ((($$4$lcssa$i)) + 12|0);
$330 = HEAP32[$329>>2]|0;
$331 = ($330|0)==($$4$lcssa$i|0);
do {
if ($331) {
$336 = ((($$4$lcssa$i)) + 20|0);
$337 = HEAP32[$336>>2]|0;
$338 = ($337|0)==(0|0);
if ($338) {
$339 = ((($$4$lcssa$i)) + 16|0);
$340 = HEAP32[$339>>2]|0;
$341 = ($340|0)==(0|0);
if ($341) {
$$3349$i = 0;
break;
} else {
$$1347$i = $340;$$1351$i = $339;
}
} else {
$$1347$i = $337;$$1351$i = $336;
}
while(1) {
$342 = ((($$1347$i)) + 20|0);
$343 = HEAP32[$342>>2]|0;
$344 = ($343|0)==(0|0);
if (!($344)) {
$$1347$i = $343;$$1351$i = $342;
continue;
}
$345 = ((($$1347$i)) + 16|0);
$346 = HEAP32[$345>>2]|0;
$347 = ($346|0)==(0|0);
if ($347) {
break;
} else {
$$1347$i = $346;$$1351$i = $345;
}
}
HEAP32[$$1351$i>>2] = 0;
$$3349$i = $$1347$i;
} else {
$332 = ((($$4$lcssa$i)) + 8|0);
$333 = HEAP32[$332>>2]|0;
$334 = ((($333)) + 12|0);
HEAP32[$334>>2] = $330;
$335 = ((($330)) + 8|0);
HEAP32[$335>>2] = $333;
$$3349$i = $330;
}
} while(0);
$348 = ($328|0)==(0|0);
do {
if ($348) {
$431 = $226;
} else {
$349 = ((($$4$lcssa$i)) + 28|0);
$350 = HEAP32[$349>>2]|0;
$351 = (4540 + ($350<<2)|0);
$352 = HEAP32[$351>>2]|0;
$353 = ($$4$lcssa$i|0)==($352|0);
if ($353) {
HEAP32[$351>>2] = $$3349$i;
$cond$i206 = ($$3349$i|0)==(0|0);
if ($cond$i206) {
$354 = 1 << $350;
$355 = $354 ^ -1;
$356 = $226 & $355;
HEAP32[(4240)>>2] = $356;
$431 = $356;
break;
}
} else {
$357 = ((($328)) + 16|0);
$358 = HEAP32[$357>>2]|0;
$359 = ($358|0)!=($$4$lcssa$i|0);
$$sink3$i = $359&1;
$360 = (((($328)) + 16|0) + ($$sink3$i<<2)|0);
HEAP32[$360>>2] = $$3349$i;
$361 = ($$3349$i|0)==(0|0);
if ($361) {
$431 = $226;
break;
}
}
$362 = ((($$3349$i)) + 24|0);
HEAP32[$362>>2] = $328;
$363 = ((($$4$lcssa$i)) + 16|0);
$364 = HEAP32[$363>>2]|0;
$365 = ($364|0)==(0|0);
if (!($365)) {
$366 = ((($$3349$i)) + 16|0);
HEAP32[$366>>2] = $364;
$367 = ((($364)) + 24|0);
HEAP32[$367>>2] = $$3349$i;
}
$368 = ((($$4$lcssa$i)) + 20|0);
$369 = HEAP32[$368>>2]|0;
$370 = ($369|0)==(0|0);
if ($370) {
$431 = $226;
} else {
$371 = ((($$3349$i)) + 20|0);
HEAP32[$371>>2] = $369;
$372 = ((($369)) + 24|0);
HEAP32[$372>>2] = $$3349$i;
$431 = $226;
}
}
} while(0);
$373 = ($$4329$lcssa$i>>>0)<(16);
do {
if ($373) {
$374 = (($$4329$lcssa$i) + ($225))|0;
$375 = $374 | 3;
$376 = ((($$4$lcssa$i)) + 4|0);
HEAP32[$376>>2] = $375;
$377 = (($$4$lcssa$i) + ($374)|0);
$378 = ((($377)) + 4|0);
$379 = HEAP32[$378>>2]|0;
$380 = $379 | 1;
HEAP32[$378>>2] = $380;
} else {
$381 = $225 | 3;
$382 = ((($$4$lcssa$i)) + 4|0);
HEAP32[$382>>2] = $381;
$383 = $$4329$lcssa$i | 1;
$384 = ((($325)) + 4|0);
HEAP32[$384>>2] = $383;
$385 = (($325) + ($$4329$lcssa$i)|0);
HEAP32[$385>>2] = $$4329$lcssa$i;
$386 = $$4329$lcssa$i >>> 3;
$387 = ($$4329$lcssa$i>>>0)<(256);
if ($387) {
$388 = $386 << 1;
$389 = (4276 + ($388<<2)|0);
$390 = HEAP32[1059]|0;
$391 = 1 << $386;
$392 = $390 & $391;
$393 = ($392|0)==(0);
if ($393) {
$394 = $390 | $391;
HEAP32[1059] = $394;
$$pre$i207 = ((($389)) + 8|0);
$$0345$i = $389;$$pre$phi$i208Z2D = $$pre$i207;
} else {
$395 = ((($389)) + 8|0);
$396 = HEAP32[$395>>2]|0;
$$0345$i = $396;$$pre$phi$i208Z2D = $395;
}
HEAP32[$$pre$phi$i208Z2D>>2] = $325;
$397 = ((($$0345$i)) + 12|0);
HEAP32[$397>>2] = $325;
$398 = ((($325)) + 8|0);
HEAP32[$398>>2] = $$0345$i;
$399 = ((($325)) + 12|0);
HEAP32[$399>>2] = $389;
break;
}
$400 = $$4329$lcssa$i >>> 8;
$401 = ($400|0)==(0);
if ($401) {
$$0339$i = 0;
} else {
$402 = ($$4329$lcssa$i>>>0)>(16777215);
if ($402) {
$$0339$i = 31;
} else {
$403 = (($400) + 1048320)|0;
$404 = $403 >>> 16;
$405 = $404 & 8;
$406 = $400 << $405;
$407 = (($406) + 520192)|0;
$408 = $407 >>> 16;
$409 = $408 & 4;
$410 = $409 | $405;
$411 = $406 << $409;
$412 = (($411) + 245760)|0;
$413 = $412 >>> 16;
$414 = $413 & 2;
$415 = $410 | $414;
$416 = (14 - ($415))|0;
$417 = $411 << $414;
$418 = $417 >>> 15;
$419 = (($416) + ($418))|0;
$420 = $419 << 1;
$421 = (($419) + 7)|0;
$422 = $$4329$lcssa$i >>> $421;
$423 = $422 & 1;
$424 = $423 | $420;
$$0339$i = $424;
}
}
$425 = (4540 + ($$0339$i<<2)|0);
$426 = ((($325)) + 28|0);
HEAP32[$426>>2] = $$0339$i;
$427 = ((($325)) + 16|0);
$428 = ((($427)) + 4|0);
HEAP32[$428>>2] = 0;
HEAP32[$427>>2] = 0;
$429 = 1 << $$0339$i;
$430 = $431 & $429;
$432 = ($430|0)==(0);
if ($432) {
$433 = $431 | $429;
HEAP32[(4240)>>2] = $433;
HEAP32[$425>>2] = $325;
$434 = ((($325)) + 24|0);
HEAP32[$434>>2] = $425;
$435 = ((($325)) + 12|0);
HEAP32[$435>>2] = $325;
$436 = ((($325)) + 8|0);
HEAP32[$436>>2] = $325;
break;
}
$437 = HEAP32[$425>>2]|0;
$438 = ($$0339$i|0)==(31);
$439 = $$0339$i >>> 1;
$440 = (25 - ($439))|0;
$441 = $438 ? 0 : $440;
$442 = $$4329$lcssa$i << $441;
$$0322$i = $442;$$0323$i = $437;
while(1) {
$443 = ((($$0323$i)) + 4|0);
$444 = HEAP32[$443>>2]|0;
$445 = $444 & -8;
$446 = ($445|0)==($$4329$lcssa$i|0);
if ($446) {
label = 97;
break;
}
$447 = $$0322$i >>> 31;
$448 = (((($$0323$i)) + 16|0) + ($447<<2)|0);
$449 = $$0322$i << 1;
$450 = HEAP32[$448>>2]|0;
$451 = ($450|0)==(0|0);
if ($451) {
label = 96;
break;
} else {
$$0322$i = $449;$$0323$i = $450;
}
}
if ((label|0) == 96) {
HEAP32[$448>>2] = $325;
$452 = ((($325)) + 24|0);
HEAP32[$452>>2] = $$0323$i;
$453 = ((($325)) + 12|0);
HEAP32[$453>>2] = $325;
$454 = ((($325)) + 8|0);
HEAP32[$454>>2] = $325;
break;
}
else if ((label|0) == 97) {
$455 = ((($$0323$i)) + 8|0);
$456 = HEAP32[$455>>2]|0;
$457 = ((($456)) + 12|0);
HEAP32[$457>>2] = $325;
HEAP32[$455>>2] = $325;
$458 = ((($325)) + 8|0);
HEAP32[$458>>2] = $456;
$459 = ((($325)) + 12|0);
HEAP32[$459>>2] = $$0323$i;
$460 = ((($325)) + 24|0);
HEAP32[$460>>2] = 0;
break;
}
}
} while(0);
$461 = ((($$4$lcssa$i)) + 8|0);
$$0 = $461;
STACKTOP = sp;return ($$0|0);
} else {
$$0192 = $225;
}
}
}
}
}
} while(0);
$462 = HEAP32[(4244)>>2]|0;
$463 = ($462>>>0)<($$0192>>>0);
if (!($463)) {
$464 = (($462) - ($$0192))|0;
$465 = HEAP32[(4256)>>2]|0;
$466 = ($464>>>0)>(15);
if ($466) {
$467 = (($465) + ($$0192)|0);
HEAP32[(4256)>>2] = $467;
HEAP32[(4244)>>2] = $464;
$468 = $464 | 1;
$469 = ((($467)) + 4|0);
HEAP32[$469>>2] = $468;
$470 = (($465) + ($462)|0);
HEAP32[$470>>2] = $464;
$471 = $$0192 | 3;
$472 = ((($465)) + 4|0);
HEAP32[$472>>2] = $471;
} else {
HEAP32[(4244)>>2] = 0;
HEAP32[(4256)>>2] = 0;
$473 = $462 | 3;
$474 = ((($465)) + 4|0);
HEAP32[$474>>2] = $473;
$475 = (($465) + ($462)|0);
$476 = ((($475)) + 4|0);
$477 = HEAP32[$476>>2]|0;
$478 = $477 | 1;
HEAP32[$476>>2] = $478;
}
$479 = ((($465)) + 8|0);
$$0 = $479;
STACKTOP = sp;return ($$0|0);
}
$480 = HEAP32[(4248)>>2]|0;
$481 = ($480>>>0)>($$0192>>>0);
if ($481) {
$482 = (($480) - ($$0192))|0;
HEAP32[(4248)>>2] = $482;
$483 = HEAP32[(4260)>>2]|0;
$484 = (($483) + ($$0192)|0);
HEAP32[(4260)>>2] = $484;
$485 = $482 | 1;
$486 = ((($484)) + 4|0);
HEAP32[$486>>2] = $485;
$487 = $$0192 | 3;
$488 = ((($483)) + 4|0);
HEAP32[$488>>2] = $487;
$489 = ((($483)) + 8|0);
$$0 = $489;
STACKTOP = sp;return ($$0|0);
}
$490 = HEAP32[1177]|0;
$491 = ($490|0)==(0);
if ($491) {
HEAP32[(4716)>>2] = 4096;
HEAP32[(4712)>>2] = 4096;
HEAP32[(4720)>>2] = -1;
HEAP32[(4724)>>2] = -1;
HEAP32[(4728)>>2] = 0;
HEAP32[(4680)>>2] = 0;
$492 = $1;
$493 = $492 & -16;
$494 = $493 ^ 1431655768;
HEAP32[1177] = $494;
$498 = 4096;
} else {
$$pre$i195 = HEAP32[(4716)>>2]|0;
$498 = $$pre$i195;
}
$495 = (($$0192) + 48)|0;
$496 = (($$0192) + 47)|0;
$497 = (($498) + ($496))|0;
$499 = (0 - ($498))|0;
$500 = $497 & $499;
$501 = ($500>>>0)>($$0192>>>0);
if (!($501)) {
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
$502 = HEAP32[(4676)>>2]|0;
$503 = ($502|0)==(0);
if (!($503)) {
$504 = HEAP32[(4668)>>2]|0;
$505 = (($504) + ($500))|0;
$506 = ($505>>>0)<=($504>>>0);
$507 = ($505>>>0)>($502>>>0);
$or$cond1$i = $506 | $507;
if ($or$cond1$i) {
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
}
$508 = HEAP32[(4680)>>2]|0;
$509 = $508 & 4;
$510 = ($509|0)==(0);
L167: do {
if ($510) {
$511 = HEAP32[(4260)>>2]|0;
$512 = ($511|0)==(0|0);
L169: do {
if ($512) {
label = 118;
} else {
$$0$i20$i = (4684);
while(1) {
$513 = HEAP32[$$0$i20$i>>2]|0;
$514 = ($513>>>0)>($511>>>0);
if (!($514)) {
$515 = ((($$0$i20$i)) + 4|0);
$516 = HEAP32[$515>>2]|0;
$517 = (($513) + ($516)|0);
$518 = ($517>>>0)>($511>>>0);
if ($518) {
break;
}
}
$519 = ((($$0$i20$i)) + 8|0);
$520 = HEAP32[$519>>2]|0;
$521 = ($520|0)==(0|0);
if ($521) {
label = 118;
break L169;
} else {
$$0$i20$i = $520;
}
}
$544 = (($497) - ($480))|0;
$545 = $544 & $499;
$546 = ($545>>>0)<(2147483647);
if ($546) {
$547 = (_sbrk(($545|0))|0);
$548 = HEAP32[$$0$i20$i>>2]|0;
$549 = HEAP32[$515>>2]|0;
$550 = (($548) + ($549)|0);
$551 = ($547|0)==($550|0);
if ($551) {
$552 = ($547|0)==((-1)|0);
if ($552) {
$$2234243136$i = $545;
} else {
$$723947$i = $545;$$748$i = $547;
label = 135;
break L167;
}
} else {
$$2247$ph$i = $547;$$2253$ph$i = $545;
label = 126;
}
} else {
$$2234243136$i = 0;
}
}
} while(0);
do {
if ((label|0) == 118) {
$522 = (_sbrk(0)|0);
$523 = ($522|0)==((-1)|0);
if ($523) {
$$2234243136$i = 0;
} else {
$524 = $522;
$525 = HEAP32[(4712)>>2]|0;
$526 = (($525) + -1)|0;
$527 = $526 & $524;
$528 = ($527|0)==(0);
$529 = (($526) + ($524))|0;
$530 = (0 - ($525))|0;
$531 = $529 & $530;
$532 = (($531) - ($524))|0;
$533 = $528 ? 0 : $532;
$$$i = (($533) + ($500))|0;
$534 = HEAP32[(4668)>>2]|0;
$535 = (($$$i) + ($534))|0;
$536 = ($$$i>>>0)>($$0192>>>0);
$537 = ($$$i>>>0)<(2147483647);
$or$cond$i = $536 & $537;
if ($or$cond$i) {
$538 = HEAP32[(4676)>>2]|0;
$539 = ($538|0)==(0);
if (!($539)) {
$540 = ($535>>>0)<=($534>>>0);
$541 = ($535>>>0)>($538>>>0);
$or$cond2$i = $540 | $541;
if ($or$cond2$i) {
$$2234243136$i = 0;
break;
}
}
$542 = (_sbrk(($$$i|0))|0);
$543 = ($542|0)==($522|0);
if ($543) {
$$723947$i = $$$i;$$748$i = $522;
label = 135;
break L167;
} else {
$$2247$ph$i = $542;$$2253$ph$i = $$$i;
label = 126;
}
} else {
$$2234243136$i = 0;
}
}
}
} while(0);
do {
if ((label|0) == 126) {
$553 = (0 - ($$2253$ph$i))|0;
$554 = ($$2247$ph$i|0)!=((-1)|0);
$555 = ($$2253$ph$i>>>0)<(2147483647);
$or$cond7$i = $555 & $554;
$556 = ($495>>>0)>($$2253$ph$i>>>0);
$or$cond10$i = $556 & $or$cond7$i;
if (!($or$cond10$i)) {
$566 = ($$2247$ph$i|0)==((-1)|0);
if ($566) {
$$2234243136$i = 0;
break;
} else {
$$723947$i = $$2253$ph$i;$$748$i = $$2247$ph$i;
label = 135;
break L167;
}
}
$557 = HEAP32[(4716)>>2]|0;
$558 = (($496) - ($$2253$ph$i))|0;
$559 = (($558) + ($557))|0;
$560 = (0 - ($557))|0;
$561 = $559 & $560;
$562 = ($561>>>0)<(2147483647);
if (!($562)) {
$$723947$i = $$2253$ph$i;$$748$i = $$2247$ph$i;
label = 135;
break L167;
}
$563 = (_sbrk(($561|0))|0);
$564 = ($563|0)==((-1)|0);
if ($564) {
(_sbrk(($553|0))|0);
$$2234243136$i = 0;
break;
} else {
$565 = (($561) + ($$2253$ph$i))|0;
$$723947$i = $565;$$748$i = $$2247$ph$i;
label = 135;
break L167;
}
}
} while(0);
$567 = HEAP32[(4680)>>2]|0;
$568 = $567 | 4;
HEAP32[(4680)>>2] = $568;
$$4236$i = $$2234243136$i;
label = 133;
} else {
$$4236$i = 0;
label = 133;
}
} while(0);
if ((label|0) == 133) {
$569 = ($500>>>0)<(2147483647);
if ($569) {
$570 = (_sbrk(($500|0))|0);
$571 = (_sbrk(0)|0);
$572 = ($570|0)!=((-1)|0);
$573 = ($571|0)!=((-1)|0);
$or$cond5$i = $572 & $573;
$574 = ($570>>>0)<($571>>>0);
$or$cond11$i = $574 & $or$cond5$i;
$575 = $571;
$576 = $570;
$577 = (($575) - ($576))|0;
$578 = (($$0192) + 40)|0;
$579 = ($577>>>0)>($578>>>0);
$$$4236$i = $579 ? $577 : $$4236$i;
$or$cond11$not$i = $or$cond11$i ^ 1;
$580 = ($570|0)==((-1)|0);
$not$$i = $579 ^ 1;
$581 = $580 | $not$$i;
$or$cond49$i = $581 | $or$cond11$not$i;
if (!($or$cond49$i)) {
$$723947$i = $$$4236$i;$$748$i = $570;
label = 135;
}
}
}
if ((label|0) == 135) {
$582 = HEAP32[(4668)>>2]|0;
$583 = (($582) + ($$723947$i))|0;
HEAP32[(4668)>>2] = $583;
$584 = HEAP32[(4672)>>2]|0;
$585 = ($583>>>0)>($584>>>0);
if ($585) {
HEAP32[(4672)>>2] = $583;
}
$586 = HEAP32[(4260)>>2]|0;
$587 = ($586|0)==(0|0);
do {
if ($587) {
$588 = HEAP32[(4252)>>2]|0;
$589 = ($588|0)==(0|0);
$590 = ($$748$i>>>0)<($588>>>0);
$or$cond12$i = $589 | $590;
if ($or$cond12$i) {
HEAP32[(4252)>>2] = $$748$i;
}
HEAP32[(4684)>>2] = $$748$i;
HEAP32[(4688)>>2] = $$723947$i;
HEAP32[(4696)>>2] = 0;
$591 = HEAP32[1177]|0;
HEAP32[(4272)>>2] = $591;
HEAP32[(4268)>>2] = -1;
HEAP32[(4288)>>2] = (4276);
HEAP32[(4284)>>2] = (4276);
HEAP32[(4296)>>2] = (4284);
HEAP32[(4292)>>2] = (4284);
HEAP32[(4304)>>2] = (4292);
HEAP32[(4300)>>2] = (4292);
HEAP32[(4312)>>2] = (4300);
HEAP32[(4308)>>2] = (4300);
HEAP32[(4320)>>2] = (4308);
HEAP32[(4316)>>2] = (4308);
HEAP32[(4328)>>2] = (4316);
HEAP32[(4324)>>2] = (4316);
HEAP32[(4336)>>2] = (4324);
HEAP32[(4332)>>2] = (4324);
HEAP32[(4344)>>2] = (4332);
HEAP32[(4340)>>2] = (4332);
HEAP32[(4352)>>2] = (4340);
HEAP32[(4348)>>2] = (4340);
HEAP32[(4360)>>2] = (4348);
HEAP32[(4356)>>2] = (4348);
HEAP32[(4368)>>2] = (4356);
HEAP32[(4364)>>2] = (4356);
HEAP32[(4376)>>2] = (4364);
HEAP32[(4372)>>2] = (4364);
HEAP32[(4384)>>2] = (4372);
HEAP32[(4380)>>2] = (4372);
HEAP32[(4392)>>2] = (4380);
HEAP32[(4388)>>2] = (4380);
HEAP32[(4400)>>2] = (4388);
HEAP32[(4396)>>2] = (4388);
HEAP32[(4408)>>2] = (4396);
HEAP32[(4404)>>2] = (4396);
HEAP32[(4416)>>2] = (4404);
HEAP32[(4412)>>2] = (4404);
HEAP32[(4424)>>2] = (4412);
HEAP32[(4420)>>2] = (4412);
HEAP32[(4432)>>2] = (4420);
HEAP32[(4428)>>2] = (4420);
HEAP32[(4440)>>2] = (4428);
HEAP32[(4436)>>2] = (4428);
HEAP32[(4448)>>2] = (4436);
HEAP32[(4444)>>2] = (4436);
HEAP32[(4456)>>2] = (4444);
HEAP32[(4452)>>2] = (4444);
HEAP32[(4464)>>2] = (4452);
HEAP32[(4460)>>2] = (4452);
HEAP32[(4472)>>2] = (4460);
HEAP32[(4468)>>2] = (4460);
HEAP32[(4480)>>2] = (4468);
HEAP32[(4476)>>2] = (4468);
HEAP32[(4488)>>2] = (4476);
HEAP32[(4484)>>2] = (4476);
HEAP32[(4496)>>2] = (4484);
HEAP32[(4492)>>2] = (4484);
HEAP32[(4504)>>2] = (4492);
HEAP32[(4500)>>2] = (4492);
HEAP32[(4512)>>2] = (4500);
HEAP32[(4508)>>2] = (4500);
HEAP32[(4520)>>2] = (4508);
HEAP32[(4516)>>2] = (4508);
HEAP32[(4528)>>2] = (4516);
HEAP32[(4524)>>2] = (4516);
HEAP32[(4536)>>2] = (4524);
HEAP32[(4532)>>2] = (4524);
$592 = (($$723947$i) + -40)|0;
$593 = ((($$748$i)) + 8|0);
$594 = $593;
$595 = $594 & 7;
$596 = ($595|0)==(0);
$597 = (0 - ($594))|0;
$598 = $597 & 7;
$599 = $596 ? 0 : $598;
$600 = (($$748$i) + ($599)|0);
$601 = (($592) - ($599))|0;
HEAP32[(4260)>>2] = $600;
HEAP32[(4248)>>2] = $601;
$602 = $601 | 1;
$603 = ((($600)) + 4|0);
HEAP32[$603>>2] = $602;
$604 = (($$748$i) + ($592)|0);
$605 = ((($604)) + 4|0);
HEAP32[$605>>2] = 40;
$606 = HEAP32[(4724)>>2]|0;
HEAP32[(4264)>>2] = $606;
} else {
$$024367$i = (4684);
while(1) {
$607 = HEAP32[$$024367$i>>2]|0;
$608 = ((($$024367$i)) + 4|0);
$609 = HEAP32[$608>>2]|0;
$610 = (($607) + ($609)|0);
$611 = ($$748$i|0)==($610|0);
if ($611) {
label = 143;
break;
}
$612 = ((($$024367$i)) + 8|0);
$613 = HEAP32[$612>>2]|0;
$614 = ($613|0)==(0|0);
if ($614) {
break;
} else {
$$024367$i = $613;
}
}
if ((label|0) == 143) {
$615 = ((($$024367$i)) + 12|0);
$616 = HEAP32[$615>>2]|0;
$617 = $616 & 8;
$618 = ($617|0)==(0);
if ($618) {
$619 = ($607>>>0)<=($586>>>0);
$620 = ($$748$i>>>0)>($586>>>0);
$or$cond50$i = $620 & $619;
if ($or$cond50$i) {
$621 = (($609) + ($$723947$i))|0;
HEAP32[$608>>2] = $621;
$622 = HEAP32[(4248)>>2]|0;
$623 = (($622) + ($$723947$i))|0;
$624 = ((($586)) + 8|0);
$625 = $624;
$626 = $625 & 7;
$627 = ($626|0)==(0);
$628 = (0 - ($625))|0;
$629 = $628 & 7;
$630 = $627 ? 0 : $629;
$631 = (($586) + ($630)|0);
$632 = (($623) - ($630))|0;
HEAP32[(4260)>>2] = $631;
HEAP32[(4248)>>2] = $632;
$633 = $632 | 1;
$634 = ((($631)) + 4|0);
HEAP32[$634>>2] = $633;
$635 = (($586) + ($623)|0);
$636 = ((($635)) + 4|0);
HEAP32[$636>>2] = 40;
$637 = HEAP32[(4724)>>2]|0;
HEAP32[(4264)>>2] = $637;
break;
}
}
}
$638 = HEAP32[(4252)>>2]|0;
$639 = ($$748$i>>>0)<($638>>>0);
if ($639) {
HEAP32[(4252)>>2] = $$748$i;
}
$640 = (($$748$i) + ($$723947$i)|0);
$$124466$i = (4684);
while(1) {
$641 = HEAP32[$$124466$i>>2]|0;
$642 = ($641|0)==($640|0);
if ($642) {
label = 151;
break;
}
$643 = ((($$124466$i)) + 8|0);
$644 = HEAP32[$643>>2]|0;
$645 = ($644|0)==(0|0);
if ($645) {
$$0$i$i$i = (4684);
break;
} else {
$$124466$i = $644;
}
}
if ((label|0) == 151) {
$646 = ((($$124466$i)) + 12|0);
$647 = HEAP32[$646>>2]|0;
$648 = $647 & 8;
$649 = ($648|0)==(0);
if ($649) {
HEAP32[$$124466$i>>2] = $$748$i;
$650 = ((($$124466$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 = ($586|0)==($668|0);
do {
if ($676) {
$677 = HEAP32[(4248)>>2]|0;
$678 = (($677) + ($673))|0;
HEAP32[(4248)>>2] = $678;
HEAP32[(4260)>>2] = $672;
$679 = $678 | 1;
$680 = ((($672)) + 4|0);
HEAP32[$680>>2] = $679;
} else {
$681 = HEAP32[(4256)>>2]|0;
$682 = ($681|0)==($668|0);
if ($682) {
$683 = HEAP32[(4244)>>2]|0;
$684 = (($683) + ($673))|0;
HEAP32[(4244)>>2] = $684;
HEAP32[(4256)>>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);
L234: 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[1059]|0;
$703 = $702 & $701;
HEAP32[1059] = $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 {
$$1264$i$i = $719;$$1266$i$i = $715;
}
} else {
$$1264$i$i = $717;$$1266$i$i = $716;
}
while(1) {
$721 = ((($$1264$i$i)) + 20|0);
$722 = HEAP32[$721>>2]|0;
$723 = ($722|0)==(0|0);
if (!($723)) {
$$1264$i$i = $722;$$1266$i$i = $721;
continue;
}
$724 = ((($$1264$i$i)) + 16|0);
$725 = HEAP32[$724>>2]|0;
$726 = ($725|0)==(0|0);
if ($726) {
break;
} else {
$$1264$i$i = $725;$$1266$i$i = $724;
}
}
HEAP32[$$1266$i$i>>2] = 0;
$$3$i$i = $$1264$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 = (4540 + ($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[(4240)>>2]|0;
$736 = $735 & $734;
HEAP32[(4240)>>2] = $736;
break L234;
} else {
$737 = ((($707)) + 16|0);
$738 = HEAP32[$737>>2]|0;
$739 = ($738|0)!=($668|0);
$$sink1$i$i = $739&1;
$740 = (((($707)) + 16|0) + ($$sink1$i$i<<2)|0);
HEAP32[$740>>2] = $$3$i$i;
$741 = ($$3$i$i|0)==(0|0);
if ($741) {
break L234;
}
}
} 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;$$0260$i$i = $754;
} else {
$$0$i$i = $668;$$0260$i$i = $673;
}
$755 = ((($$0$i$i)) + 4|0);
$756 = HEAP32[$755>>2]|0;
$757 = $756 & -2;
HEAP32[$755>>2] = $757;
$758 = $$0260$i$i | 1;
$759 = ((($672)) + 4|0);
HEAP32[$759>>2] = $758;
$760 = (($672) + ($$0260$i$i)|0);
HEAP32[$760>>2] = $$0260$i$i;
$761 = $$0260$i$i >>> 3;
$762 = ($$0260$i$i>>>0)<(256);
if ($762) {
$763 = $761 << 1;
$764 = (4276 + ($763<<2)|0);
$765 = HEAP32[1059]|0;
$766 = 1 << $761;
$767 = $765 & $766;
$768 = ($767|0)==(0);
if ($768) {
$769 = $765 | $766;
HEAP32[1059] = $769;
$$pre$i17$i = ((($764)) + 8|0);
$$0268$i$i = $764;$$pre$phi$i18$iZ2D = $$pre$i17$i;
} else {
$770 = ((($764)) + 8|0);
$771 = HEAP32[$770>>2]|0;
$$0268$i$i = $771;$$pre$phi$i18$iZ2D = $770;
}
HEAP32[$$pre$phi$i18$iZ2D>>2] = $672;
$772 = ((($$0268$i$i)) + 12|0);
HEAP32[$772>>2] = $672;
$773 = ((($672)) + 8|0);
HEAP32[$773>>2] = $$0268$i$i;
$774 = ((($672)) + 12|0);
HEAP32[$774>>2] = $764;
break;
}
$775 = $$0260$i$i >>> 8;
$776 = ($775|0)==(0);
do {
if ($776) {
$$0269$i$i = 0;
} else {
$777 = ($$0260$i$i>>>0)>(16777215);
if ($777) {
$$0269$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 = $$0260$i$i >>> $796;
$798 = $797 & 1;
$799 = $798 | $795;
$$0269$i$i = $799;
}
} while(0);
$800 = (4540 + ($$0269$i$i<<2)|0);
$801 = ((($672)) + 28|0);
HEAP32[$801>>2] = $$0269$i$i;
$802 = ((($672)) + 16|0);
$803 = ((($802)) + 4|0);
HEAP32[$803>>2] = 0;
HEAP32[$802>>2] = 0;
$804 = HEAP32[(4240)>>2]|0;
$805 = 1 << $$0269$i$i;
$806 = $804 & $805;
$807 = ($806|0)==(0);
if ($807) {
$808 = $804 | $805;
HEAP32[(4240)>>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 = ($$0269$i$i|0)==(31);
$814 = $$0269$i$i >>> 1;
$815 = (25 - ($814))|0;
$816 = $813 ? 0 : $815;
$817 = $$0260$i$i << $816;
$$0261$i$i = $817;$$0262$i$i = $812;
while(1) {
$818 = ((($$0262$i$i)) + 4|0);
$819 = HEAP32[$818>>2]|0;
$820 = $819 & -8;
$821 = ($820|0)==($$0260$i$i|0);
if ($821) {
label = 192;
break;
}
$822 = $$0261$i$i >>> 31;
$823 = (((($$0262$i$i)) + 16|0) + ($822<<2)|0);
$824 = $$0261$i$i << 1;
$825 = HEAP32[$823>>2]|0;
$826 = ($825|0)==(0|0);
if ($826) {
label = 191;
break;
} else {
$$0261$i$i = $824;$$0262$i$i = $825;
}
}
if ((label|0) == 191) {
HEAP32[$823>>2] = $672;
$827 = ((($672)) + 24|0);
HEAP32[$827>>2] = $$0262$i$i;
$828 = ((($672)) + 12|0);
HEAP32[$828>>2] = $672;
$829 = ((($672)) + 8|0);
HEAP32[$829>>2] = $672;
break;
}
else if ((label|0) == 192) {
$830 = ((($$0262$i$i)) + 8|0);
$831 = HEAP32[$830>>2]|0;
$832 = ((($831)) + 12|0);
HEAP32[$832>>2] = $672;
HEAP32[$830>>2] = $672;
$833 = ((($672)) + 8|0);
HEAP32[$833>>2] = $831;
$834 = ((($672)) + 12|0);
HEAP32[$834>>2] = $$0262$i$i;
$835 = ((($672)) + 24|0);
HEAP32[$835>>2] = 0;
break;
}
}
} while(0);
$960 = ((($660)) + 8|0);
$$0 = $960;
STACKTOP = sp;return ($$0|0);
} else {
$$0$i$i$i = (4684);
}
}
while(1) {
$836 = HEAP32[$$0$i$i$i>>2]|0;
$837 = ($836>>>0)>($586>>>0);
if (!($837)) {
$838 = ((($$0$i$i$i)) + 4|0);
$839 = HEAP32[$838>>2]|0;
$840 = (($836) + ($839)|0);
$841 = ($840>>>0)>($586>>>0);
if ($841) {
break;
}
}
$842 = ((($$0$i$i$i)) + 8|0);
$843 = HEAP32[$842>>2]|0;
$$0$i$i$i = $843;
}
$844 = ((($840)) + -47|0);
$845 = ((($844)) + 8|0);
$846 = $845;
$847 = $846 & 7;
$848 = ($847|0)==(0);
$849 = (0 - ($846))|0;
$850 = $849 & 7;
$851 = $848 ? 0 : $850;
$852 = (($844) + ($851)|0);
$853 = ((($586)) + 16|0);
$854 = ($852>>>0)<($853>>>0);
$855 = $854 ? $586 : $852;
$856 = ((($855)) + 8|0);
$857 = ((($855)) + 24|0);
$858 = (($$723947$i) + -40)|0;
$859 = ((($$748$i)) + 8|0);
$860 = $859;
$861 = $860 & 7;
$862 = ($861|0)==(0);
$863 = (0 - ($860))|0;
$864 = $863 & 7;
$865 = $862 ? 0 : $864;
$866 = (($$748$i) + ($865)|0);
$867 = (($858) - ($865))|0;
HEAP32[(4260)>>2] = $866;
HEAP32[(4248)>>2] = $867;
$868 = $867 | 1;
$869 = ((($866)) + 4|0);
HEAP32[$869>>2] = $868;
$870 = (($$748$i) + ($858)|0);
$871 = ((($870)) + 4|0);
HEAP32[$871>>2] = 40;
$872 = HEAP32[(4724)>>2]|0;
HEAP32[(4264)>>2] = $872;
$873 = ((($855)) + 4|0);
HEAP32[$873>>2] = 27;
;HEAP32[$856>>2]=HEAP32[(4684)>>2]|0;HEAP32[$856+4>>2]=HEAP32[(4684)+4>>2]|0;HEAP32[$856+8>>2]=HEAP32[(4684)+8>>2]|0;HEAP32[$856+12>>2]=HEAP32[(4684)+12>>2]|0;
HEAP32[(4684)>>2] = $$748$i;
HEAP32[(4688)>>2] = $$723947$i;
HEAP32[(4696)>>2] = 0;
HEAP32[(4692)>>2] = $856;
$875 = $857;
while(1) {
$874 = ((($875)) + 4|0);
HEAP32[$874>>2] = 7;
$876 = ((($875)) + 8|0);
$877 = ($876>>>0)<($840>>>0);
if ($877) {
$875 = $874;
} else {
break;
}
}
$878 = ($855|0)==($586|0);
if (!($878)) {
$879 = $855;
$880 = $586;
$881 = (($879) - ($880))|0;
$882 = HEAP32[$873>>2]|0;
$883 = $882 & -2;
HEAP32[$873>>2] = $883;
$884 = $881 | 1;
$885 = ((($586)) + 4|0);
HEAP32[$885>>2] = $884;
HEAP32[$855>>2] = $881;
$886 = $881 >>> 3;
$887 = ($881>>>0)<(256);
if ($887) {
$888 = $886 << 1;
$889 = (4276 + ($888<<2)|0);
$890 = HEAP32[1059]|0;
$891 = 1 << $886;
$892 = $890 & $891;
$893 = ($892|0)==(0);
if ($893) {
$894 = $890 | $891;
HEAP32[1059] = $894;
$$pre$i$i = ((($889)) + 8|0);
$$0206$i$i = $889;$$pre$phi$i$iZ2D = $$pre$i$i;
} else {
$895 = ((($889)) + 8|0);
$896 = HEAP32[$895>>2]|0;
$$0206$i$i = $896;$$pre$phi$i$iZ2D = $895;
}
HEAP32[$$pre$phi$i$iZ2D>>2] = $586;
$897 = ((($$0206$i$i)) + 12|0);
HEAP32[$897>>2] = $586;
$898 = ((($586)) + 8|0);
HEAP32[$898>>2] = $$0206$i$i;
$899 = ((($586)) + 12|0);
HEAP32[$899>>2] = $889;
break;
}
$900 = $881 >>> 8;
$901 = ($900|0)==(0);
if ($901) {
$$0207$i$i = 0;
} else {
$902 = ($881>>>0)>(16777215);
if ($902) {
$$0207$i$i = 31;
} else {
$903 = (($900) + 1048320)|0;
$904 = $903 >>> 16;
$905 = $904 & 8;
$906 = $900 << $905;
$907 = (($906) + 520192)|0;
$908 = $907 >>> 16;
$909 = $908 & 4;
$910 = $909 | $905;
$911 = $906 << $909;
$912 = (($911) + 245760)|0;
$913 = $912 >>> 16;
$914 = $913 & 2;
$915 = $910 | $914;
$916 = (14 - ($915))|0;
$917 = $911 << $914;
$918 = $917 >>> 15;
$919 = (($916) + ($918))|0;
$920 = $919 << 1;
$921 = (($919) + 7)|0;
$922 = $881 >>> $921;
$923 = $922 & 1;
$924 = $923 | $920;
$$0207$i$i = $924;
}
}
$925 = (4540 + ($$0207$i$i<<2)|0);
$926 = ((($586)) + 28|0);
HEAP32[$926>>2] = $$0207$i$i;
$927 = ((($586)) + 20|0);
HEAP32[$927>>2] = 0;
HEAP32[$853>>2] = 0;
$928 = HEAP32[(4240)>>2]|0;
$929 = 1 << $$0207$i$i;
$930 = $928 & $929;
$931 = ($930|0)==(0);
if ($931) {
$932 = $928 | $929;
HEAP32[(4240)>>2] = $932;
HEAP32[$925>>2] = $586;
$933 = ((($586)) + 24|0);
HEAP32[$933>>2] = $925;
$934 = ((($586)) + 12|0);
HEAP32[$934>>2] = $586;
$935 = ((($586)) + 8|0);
HEAP32[$935>>2] = $586;
break;
}
$936 = HEAP32[$925>>2]|0;
$937 = ($$0207$i$i|0)==(31);
$938 = $$0207$i$i >>> 1;
$939 = (25 - ($938))|0;
$940 = $937 ? 0 : $939;
$941 = $881 << $940;
$$0201$i$i = $941;$$0202$i$i = $936;
while(1) {
$942 = ((($$0202$i$i)) + 4|0);
$943 = HEAP32[$942>>2]|0;
$944 = $943 & -8;
$945 = ($944|0)==($881|0);
if ($945) {
label = 213;
break;
}
$946 = $$0201$i$i >>> 31;
$947 = (((($$0202$i$i)) + 16|0) + ($946<<2)|0);
$948 = $$0201$i$i << 1;
$949 = HEAP32[$947>>2]|0;
$950 = ($949|0)==(0|0);
if ($950) {
label = 212;
break;
} else {
$$0201$i$i = $948;$$0202$i$i = $949;
}
}
if ((label|0) == 212) {
HEAP32[$947>>2] = $586;
$951 = ((($586)) + 24|0);
HEAP32[$951>>2] = $$0202$i$i;
$952 = ((($586)) + 12|0);
HEAP32[$952>>2] = $586;
$953 = ((($586)) + 8|0);
HEAP32[$953>>2] = $586;
break;
}
else if ((label|0) == 213) {
$954 = ((($$0202$i$i)) + 8|0);
$955 = HEAP32[$954>>2]|0;
$956 = ((($955)) + 12|0);
HEAP32[$956>>2] = $586;
HEAP32[$954>>2] = $586;
$957 = ((($586)) + 8|0);
HEAP32[$957>>2] = $955;
$958 = ((($586)) + 12|0);
HEAP32[$958>>2] = $$0202$i$i;
$959 = ((($586)) + 24|0);
HEAP32[$959>>2] = 0;
break;
}
}
}
} while(0);
$961 = HEAP32[(4248)>>2]|0;
$962 = ($961>>>0)>($$0192>>>0);
if ($962) {
$963 = (($961) - ($$0192))|0;
HEAP32[(4248)>>2] = $963;
$964 = HEAP32[(4260)>>2]|0;
$965 = (($964) + ($$0192)|0);
HEAP32[(4260)>>2] = $965;
$966 = $963 | 1;
$967 = ((($965)) + 4|0);
HEAP32[$967>>2] = $966;
$968 = $$0192 | 3;
$969 = ((($964)) + 4|0);
HEAP32[$969>>2] = $968;
$970 = ((($964)) + 8|0);
$$0 = $970;
STACKTOP = sp;return ($$0|0);
}
}
$971 = (___errno_location()|0);
HEAP32[$971>>2] = 12;
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
function _free($0) {
$0 = $0|0;
var $$0195$i = 0, $$0195$in$i = 0, $$0348 = 0, $$0349 = 0, $$0361 = 0, $$0368 = 0, $$1 = 0, $$1347 = 0, $$1352 = 0, $$1355 = 0, $$1363 = 0, $$1367 = 0, $$2 = 0, $$3 = 0, $$3365 = 0, $$pre = 0, $$pre$phiZ2D = 0, $$sink3 = 0, $$sink5 = 0, $1 = 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, $2 = 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, $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, $cond373 = 0;
var $cond374 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ($0|0)==(0|0);
if ($1) {
return;
}
$2 = ((($0)) + -8|0);
$3 = HEAP32[(4252)>>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[(4256)>>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;$$1347 = $15;$87 = $14;
break;
}
HEAP32[(4244)>>2] = $15;
$83 = $80 & -2;
HEAP32[$79>>2] = $83;
$84 = $15 | 1;
$85 = ((($14)) + 4|0);
HEAP32[$85>>2] = $84;
$86 = (($14) + ($15)|0);
HEAP32[$86>>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[1059]|0;
$29 = $28 & $27;
HEAP32[1059] = $29;
$$1 = $14;$$1347 = $15;$87 = $14;
break;
} else {
$30 = ((($22)) + 12|0);
HEAP32[$30>>2] = $24;
$31 = ((($24)) + 8|0);
HEAP32[$31>>2] = $22;
$$1 = $14;$$1347 = $15;$87 = $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 {
$$1352 = $45;$$1355 = $41;
}
} else {
$$1352 = $43;$$1355 = $42;
}
while(1) {
$47 = ((($$1352)) + 20|0);
$48 = HEAP32[$47>>2]|0;
$49 = ($48|0)==(0|0);
if (!($49)) {
$$1352 = $48;$$1355 = $47;
continue;
}
$50 = ((($$1352)) + 16|0);
$51 = HEAP32[$50>>2]|0;
$52 = ($51|0)==(0|0);
if ($52) {
break;
} else {
$$1352 = $51;$$1355 = $50;
}
}
HEAP32[$$1355>>2] = 0;
$$3 = $$1352;
} 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;$$1347 = $15;$87 = $14;
} else {
$54 = ((($14)) + 28|0);
$55 = HEAP32[$54>>2]|0;
$56 = (4540 + ($55<<2)|0);
$57 = HEAP32[$56>>2]|0;
$58 = ($57|0)==($14|0);
if ($58) {
HEAP32[$56>>2] = $$3;
$cond373 = ($$3|0)==(0|0);
if ($cond373) {
$59 = 1 << $55;
$60 = $59 ^ -1;
$61 = HEAP32[(4240)>>2]|0;
$62 = $61 & $60;
HEAP32[(4240)>>2] = $62;
$$1 = $14;$$1347 = $15;$87 = $14;
break;
}
} else {
$63 = ((($33)) + 16|0);
$64 = HEAP32[$63>>2]|0;
$65 = ($64|0)!=($14|0);
$$sink3 = $65&1;
$66 = (((($33)) + 16|0) + ($$sink3<<2)|0);
HEAP32[$66>>2] = $$3;
$67 = ($$3|0)==(0|0);
if ($67) {
$$1 = $14;$$1347 = $15;$87 = $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;$$1347 = $15;$87 = $14;
} else {
$77 = ((($$3)) + 20|0);
HEAP32[$77>>2] = $75;
$78 = ((($75)) + 24|0);
HEAP32[$78>>2] = $$3;
$$1 = $14;$$1347 = $15;$87 = $14;
}
}
} else {
$$1 = $2;$$1347 = $6;$87 = $2;
}
} while(0);
$88 = ($87>>>0)<($7>>>0);
if (!($88)) {
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[(4260)>>2]|0;
$96 = ($95|0)==($7|0);
if ($96) {
$97 = HEAP32[(4248)>>2]|0;
$98 = (($97) + ($$1347))|0;
HEAP32[(4248)>>2] = $98;
HEAP32[(4260)>>2] = $$1;
$99 = $98 | 1;
$100 = ((($$1)) + 4|0);
HEAP32[$100>>2] = $99;
$101 = HEAP32[(4256)>>2]|0;
$102 = ($$1|0)==($101|0);
if (!($102)) {
return;
}
HEAP32[(4256)>>2] = 0;
HEAP32[(4244)>>2] = 0;
return;
}
$103 = HEAP32[(4256)>>2]|0;
$104 = ($103|0)==($7|0);
if ($104) {
$105 = HEAP32[(4244)>>2]|0;
$106 = (($105) + ($$1347))|0;
HEAP32[(4244)>>2] = $106;
HEAP32[(4256)>>2] = $87;
$107 = $106 | 1;
$108 = ((($$1)) + 4|0);
HEAP32[$108>>2] = $107;
$109 = (($87) + ($106)|0);
HEAP32[$109>>2] = $106;
return;
}
$110 = $90 & -8;
$111 = (($110) + ($$1347))|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[1059]|0;
$122 = $121 & $120;
HEAP32[1059] = $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) {
$$3365 = 0;
break;
} else {
$$1363 = $138;$$1367 = $134;
}
} else {
$$1363 = $136;$$1367 = $135;
}
while(1) {
$140 = ((($$1363)) + 20|0);
$141 = HEAP32[$140>>2]|0;
$142 = ($141|0)==(0|0);
if (!($142)) {
$$1363 = $141;$$1367 = $140;
continue;
}
$143 = ((($$1363)) + 16|0);
$144 = HEAP32[$143>>2]|0;
$145 = ($144|0)==(0|0);
if ($145) {
break;
} else {
$$1363 = $144;$$1367 = $143;
}
}
HEAP32[$$1367>>2] = 0;
$$3365 = $$1363;
} 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;
$$3365 = $128;
}
} while(0);
$146 = ($126|0)==(0|0);
if (!($146)) {
$147 = ((($7)) + 28|0);
$148 = HEAP32[$147>>2]|0;
$149 = (4540 + ($148<<2)|0);
$150 = HEAP32[$149>>2]|0;
$151 = ($150|0)==($7|0);
if ($151) {
HEAP32[$149>>2] = $$3365;
$cond374 = ($$3365|0)==(0|0);
if ($cond374) {
$152 = 1 << $148;
$153 = $152 ^ -1;
$154 = HEAP32[(4240)>>2]|0;
$155 = $154 & $153;
HEAP32[(4240)>>2] = $155;
break;
}
} else {
$156 = ((($126)) + 16|0);
$157 = HEAP32[$156>>2]|0;
$158 = ($157|0)!=($7|0);
$$sink5 = $158&1;
$159 = (((($126)) + 16|0) + ($$sink5<<2)|0);
HEAP32[$159>>2] = $$3365;
$160 = ($$3365|0)==(0|0);
if ($160) {
break;
}
}
$161 = ((($$3365)) + 24|0);
HEAP32[$161>>2] = $126;
$162 = ((($7)) + 16|0);
$163 = HEAP32[$162>>2]|0;
$164 = ($163|0)==(0|0);
if (!($164)) {
$165 = ((($$3365)) + 16|0);
HEAP32[$165>>2] = $163;
$166 = ((($163)) + 24|0);
HEAP32[$166>>2] = $$3365;
}
$167 = ((($162)) + 4|0);
$168 = HEAP32[$167>>2]|0;
$169 = ($168|0)==(0|0);
if (!($169)) {
$170 = ((($$3365)) + 20|0);
HEAP32[$170>>2] = $168;
$171 = ((($168)) + 24|0);
HEAP32[$171>>2] = $$3365;
}
}
}
} while(0);
$172 = $111 | 1;
$173 = ((($$1)) + 4|0);
HEAP32[$173>>2] = $172;
$174 = (($87) + ($111)|0);
HEAP32[$174>>2] = $111;
$175 = HEAP32[(4256)>>2]|0;
$176 = ($$1|0)==($175|0);
if ($176) {
HEAP32[(4244)>>2] = $111;
return;
} else {
$$2 = $111;
}
} else {
$177 = $90 & -2;
HEAP32[$89>>2] = $177;
$178 = $$1347 | 1;
$179 = ((($$1)) + 4|0);
HEAP32[$179>>2] = $178;
$180 = (($87) + ($$1347)|0);
HEAP32[$180>>2] = $$1347;
$$2 = $$1347;
}
$181 = $$2 >>> 3;
$182 = ($$2>>>0)<(256);
if ($182) {
$183 = $181 << 1;
$184 = (4276 + ($183<<2)|0);
$185 = HEAP32[1059]|0;
$186 = 1 << $181;
$187 = $185 & $186;
$188 = ($187|0)==(0);
if ($188) {
$189 = $185 | $186;
HEAP32[1059] = $189;
$$pre = ((($184)) + 8|0);
$$0368 = $184;$$pre$phiZ2D = $$pre;
} else {
$190 = ((($184)) + 8|0);
$191 = HEAP32[$190>>2]|0;
$$0368 = $191;$$pre$phiZ2D = $190;
}
HEAP32[$$pre$phiZ2D>>2] = $$1;
$192 = ((($$0368)) + 12|0);
HEAP32[$192>>2] = $$1;
$193 = ((($$1)) + 8|0);
HEAP32[$193>>2] = $$0368;
$194 = ((($$1)) + 12|0);
HEAP32[$194>>2] = $184;
return;
}
$195 = $$2 >>> 8;
$196 = ($195|0)==(0);
if ($196) {
$$0361 = 0;
} else {
$197 = ($$2>>>0)>(16777215);
if ($197) {
$$0361 = 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;
$$0361 = $219;
}
}
$220 = (4540 + ($$0361<<2)|0);
$221 = ((($$1)) + 28|0);
HEAP32[$221>>2] = $$0361;
$222 = ((($$1)) + 16|0);
$223 = ((($$1)) + 20|0);
HEAP32[$223>>2] = 0;
HEAP32[$222>>2] = 0;
$224 = HEAP32[(4240)>>2]|0;
$225 = 1 << $$0361;
$226 = $224 & $225;
$227 = ($226|0)==(0);
do {
if ($227) {
$228 = $224 | $225;
HEAP32[(4240)>>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 = ($$0361|0)==(31);
$234 = $$0361 >>> 1;
$235 = (25 - ($234))|0;
$236 = $233 ? 0 : $235;
$237 = $$2 << $236;
$$0348 = $237;$$0349 = $232;
while(1) {
$238 = ((($$0349)) + 4|0);
$239 = HEAP32[$238>>2]|0;
$240 = $239 & -8;
$241 = ($240|0)==($$2|0);
if ($241) {
label = 73;
break;
}
$242 = $$0348 >>> 31;
$243 = (((($$0349)) + 16|0) + ($242<<2)|0);
$244 = $$0348 << 1;
$245 = HEAP32[$243>>2]|0;
$246 = ($245|0)==(0|0);
if ($246) {
label = 72;
break;
} else {
$$0348 = $244;$$0349 = $245;
}
}
if ((label|0) == 72) {
HEAP32[$243>>2] = $$1;
$247 = ((($$1)) + 24|0);
HEAP32[$247>>2] = $$0349;
$248 = ((($$1)) + 12|0);
HEAP32[$248>>2] = $$1;
$249 = ((($$1)) + 8|0);
HEAP32[$249>>2] = $$1;
break;
}
else if ((label|0) == 73) {
$250 = ((($$0349)) + 8|0);
$251 = HEAP32[$250>>2]|0;
$252 = ((($251)) + 12|0);
HEAP32[$252>>2] = $$1;
HEAP32[$250>>2] = $$1;
$253 = ((($$1)) + 8|0);
HEAP32[$253>>2] = $251;
$254 = ((($$1)) + 12|0);
HEAP32[$254>>2] = $$0349;
$255 = ((($$1)) + 24|0);
HEAP32[$255>>2] = 0;
break;
}
}
} while(0);
$256 = HEAP32[(4268)>>2]|0;
$257 = (($256) + -1)|0;
HEAP32[(4268)>>2] = $257;
$258 = ($257|0)==(0);
if ($258) {
$$0195$in$i = (4692);
} else {
return;
}
while(1) {
$$0195$i = HEAP32[$$0195$in$i>>2]|0;
$259 = ($$0195$i|0)==(0|0);
$260 = ((($$0195$i)) + 8|0);
if ($259) {
break;
} else {
$$0195$in$i = $260;
}
}
HEAP32[(4268)>>2] = -1;
return;
}
function _calloc($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$ = 0, $$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;
$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);
$$ = $7 ? $3 : -1;
$$0 = $$;
} 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 ___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($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_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 (4740|0);
}
function _dummy($0) {
$0 = $0|0;
var label = 0, sp = 0;
sp = STACKTOP;
return ($0|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 + 16|0;
$vararg_buffer = sp;
$3 = sp + 32|0;
$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;$26 = $17;
while(1) {
$27 = ($26|0)<(0);
if ($27) {
break;
}
$35 = (($$04855) - ($26))|0;
$36 = ((($$04954)) + 4|0);
$37 = HEAP32[$36>>2]|0;
$38 = ($26>>>0)>($37>>>0);
$39 = ((($$04954)) + 8|0);
$$150 = $38 ? $39 : $$04954;
$40 = $38 << 31 >> 31;
$$1 = (($$04756) + ($40))|0;
$41 = $38 ? $37 : 0;
$$0 = (($26) - ($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;$26 = $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 ___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] = 2;
$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 _strlen($0) {
$0 = $0|0;
var $$0 = 0, $$015$lcssa = 0, $$01519 = 0, $$1$lcssa = 0, $$pn = 0, $$pre = 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;
var $21 = 0, $22 = 0, $23 = 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 = 4;
} else {
$$01519 = $0;$23 = $1;
while(1) {
$4 = HEAP8[$$01519>>0]|0;
$5 = ($4<<24>>24)==(0);
if ($5) {
$$sink = $23;
break L1;
}
$6 = ((($$01519)) + 1|0);
$7 = $6;
$8 = $7 & 3;
$9 = ($8|0)==(0);
if ($9) {
$$015$lcssa = $6;
label = 4;
break;
} else {
$$01519 = $6;$23 = $7;
}
}
}
} while(0);
if ((label|0) == 4) {
$$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 {
$$pn = $$0;
while(1) {
$19 = ((($$pn)) + 1|0);
$$pre = HEAP8[$19>>0]|0;
$20 = ($$pre<<24>>24)==(0);
if ($20) {
$$1$lcssa = $19;
break;
} else {
$$pn = $19;
}
}
}
$21 = $$1$lcssa;
$$sink = $21;
}
$22 = (($$sink) - ($1))|0;
return ($22|0);
}
function _mbtowc($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|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, $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, $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 = ($1|0)==(0|0);
L1: do {
if ($4) {
$$0 = 0;
} else {
$5 = ($2|0)==(0);
do {
if (!($5)) {
$6 = ($0|0)==(0|0);
$$ = $6 ? $3 : $0;
$7 = HEAP8[$1>>0]|0;
$8 = ($7<<24>>24)>(-1);
if ($8) {
$9 = $7&255;
HEAP32[$$>>2] = $9;
$10 = ($7<<24>>24)!=(0);
$11 = $10&1;
$$0 = $11;
break L1;
}
$12 = (___pthread_self_852()|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[$$>>2] = $19;
$$0 = 1;
break L1;
}
$20 = $17&255;
$21 = (($20) + -194)|0;
$22 = ($21>>>0)>(50);
if (!($22)) {
$23 = ((($1)) + 1|0);
$24 = (280 + ($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[$$>>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[$$>>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[$$>>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_852() {
var $0 = 0, label = 0, sp = 0;
sp = STACKTOP;
$0 = (_pthread_self()|0);
return ($0|0);
}
function _pthread_self() {
var label = 0, sp = 0;
sp = STACKTOP;
return (484|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 _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, $$13745 = 0, $$140 = 0, $$2 = 0, $$23839 = 0, $$3 = 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 {
$$2 = $$035$lcssa;$$3 = 0;
}
}
L8: do {
if ((label|0) == 6) {
$17 = HEAP8[$$035$lcssa65>>0]|0;
$18 = $1&255;
$19 = ($17<<24>>24)==($18<<24>>24);
if ($19) {
$$2 = $$035$lcssa65;$$3 = $$036$lcssa64;
} else {
$20 = Math_imul($3, 16843009)|0;
$21 = ($$036$lcssa64>>>0)>(3);
L11: 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)) {
break;
}
$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 L11;
}
}
$$140 = $$046;$$23839 = $$13745;
} else {
$$0$lcssa = $$035$lcssa65;$$137$lcssa = $$036$lcssa64;
label = 11;
}
} while(0);
if ((label|0) == 11) {
$32 = ($$137$lcssa|0)==(0);
if ($32) {
$$2 = $$0$lcssa;$$3 = 0;
break;
} else {
$$140 = $$0$lcssa;$$23839 = $$137$lcssa;
}
}
while(1) {
$33 = HEAP8[$$140>>0]|0;
$34 = ($33<<24>>24)==($18<<24>>24);
if ($34) {
$$2 = $$140;$$3 = $$23839;
break L8;
}
$35 = ((($$140)) + 1|0);
$36 = (($$23839) + -1)|0;
$37 = ($36|0)==(0);
if ($37) {
$$2 = $35;$$3 = 0;
break;
} else {
$$140 = $35;$$23839 = $36;
}
}
}
}
} while(0);
$38 = ($$3|0)!=(0);
$39 = $38 ? $$2 : 0;
return ($39|0);
}
function ___lctrans_cur($0) {
$0 = $0|0;
var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = (___pthread_self_397()|0);
$2 = ((($1)) + 188|0);
$3 = HEAP32[$2>>2]|0;
$4 = ((($3)) + 20|0);
$5 = HEAP32[$4>>2]|0;
$6 = (___lctrans_impl($0,$5)|0);
return ($6|0);
}
function _vfprintf($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$ = 0, $$0 = 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, $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, $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 + 120|0;
$4 = sp + 80|0;
$5 = sp;
$6 = sp + 136|0;
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);
$39 = $12;
} else {
$39 = 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 & 7]($0,0,0)|0);
$33 = HEAP32[$26>>2]|0;
$34 = ($33|0)==(0|0);
$$ = $34 ? -1 : $29;
HEAP32[$23>>2] = $24;
HEAP32[$19>>2] = 0;
HEAP32[$28>>2] = 0;
HEAP32[$25>>2] = 0;
HEAP32[$26>>2] = 0;
$$1 = $$;
}
} else {
$22 = (_printf_core($0,$1,$3,$5,$4)|0);
$$1 = $22;
}
$35 = HEAP32[$0>>2]|0;
$36 = $35 & 32;
$37 = ($36|0)==(0);
$$1$ = $37 ? $$1 : -1;
$38 = $35 | $14;
HEAP32[$0>>2] = $38;
$40 = ($39|0)==(0);
if (!($40)) {
___unlockfile($0);
}
$$0 = $$1$;
}
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, $$$0259 = 0, $$$0262 = 0, $$$0269 = 0, $$$4266 = 0, $$$5 = 0, $$0 = 0, $$0228 = 0, $$0228$ = 0, $$0229320 = 0, $$0232 = 0, $$0235 = 0, $$0237 = 0, $$0240$lcssa = 0, $$0240$lcssa357 = 0, $$0240319 = 0, $$0243 = 0, $$0247 = 0, $$0249$lcssa = 0;
var $$0249307 = 0, $$0252 = 0, $$0253 = 0, $$0254 = 0, $$0254$$0254$ = 0, $$0259 = 0, $$0262$lcssa = 0, $$0262313 = 0, $$0269 = 0, $$0269$phi = 0, $$1 = 0, $$1230331 = 0, $$1233 = 0, $$1236 = 0, $$1238 = 0, $$1241330 = 0, $$1244318 = 0, $$1248 = 0, $$1250 = 0, $$1255 = 0;
var $$1260 = 0, $$1263 = 0, $$1263$ = 0, $$1270 = 0, $$2 = 0, $$2234 = 0, $$2239 = 0, $$2242$lcssa = 0, $$2242306 = 0, $$2245 = 0, $$2251 = 0, $$2256 = 0, $$2256$ = 0, $$2256$$$2256 = 0, $$2261 = 0, $$2271 = 0, $$283$ = 0, $$290 = 0, $$291 = 0, $$3257 = 0;
var $$3265 = 0, $$3272 = 0, $$3304 = 0, $$376 = 0, $$4258355 = 0, $$4266 = 0, $$5 = 0, $$6268 = 0, $$lcssa295 = 0, $$pre = 0, $$pre346 = 0, $$pre347 = 0, $$pre347$pre = 0, $$pre349 = 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.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, $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, $arglist_current = 0, $arglist_current2 = 0, $arglist_next = 0, $arglist_next3 = 0, $brmerge = 0, $brmerge312 = 0, $expanded = 0, $expanded10 = 0, $expanded11 = 0, $expanded13 = 0, $expanded14 = 0;
var $expanded15 = 0, $expanded4 = 0, $expanded6 = 0, $expanded7 = 0, $expanded8 = 0, $isdigit = 0, $isdigit275 = 0, $isdigit277 = 0, $isdigittmp = 0, $isdigittmp$ = 0, $isdigittmp274 = 0, $isdigittmp276 = 0, $or$cond = 0, $or$cond280 = 0, $or$cond282 = 0, $or$cond285 = 0, $storemerge = 0, $storemerge278 = 0, $trunc = 0, label = 0;
var sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
$5 = sp + 16|0;
$6 = sp;
$7 = sp + 24|0;
$8 = sp + 8|0;
$9 = sp + 20|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 = 0;$$0247 = 0;$$0269 = 0;$21 = $1;
L1: 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 = HEAP8[$21>>0]|0;
$22 = ($20<<24>>24)==(0);
if ($22) {
label = 86;
break;
} else {
$23 = $20;$25 = $21;
}
L9: while(1) {
switch ($23<<24>>24) {
case 37: {
$$0249307 = $25;$27 = $25;
label = 9;
break L9;
break;
}
case 0: {
$$0249$lcssa = $25;$39 = $25;
break L9;
break;
}
default: {
}
}
$24 = ((($25)) + 1|0);
HEAP32[$5>>2] = $24;
$$pre = HEAP8[$24>>0]|0;
$23 = $$pre;$25 = $24;
}
L12: do {
if ((label|0) == 9) {
while(1) {
label = 0;
$26 = ((($27)) + 1|0);
$28 = HEAP8[$26>>0]|0;
$29 = ($28<<24>>24)==(37);
if (!($29)) {
$$0249$lcssa = $$0249307;$39 = $27;
break L12;
}
$30 = ((($$0249307)) + 1|0);
$31 = ((($27)) + 2|0);
HEAP32[$5>>2] = $31;
$32 = HEAP8[$31>>0]|0;
$33 = ($32<<24>>24)==(37);
if ($33) {
$$0249307 = $30;$27 = $31;
label = 9;
} else {
$$0249$lcssa = $30;$39 = $31;
break;
}
}
}
} while(0);
$34 = $$0249$lcssa;
$35 = $21;
$36 = (($34) - ($35))|0;
if ($10) {
_out_629($0,$21,$36);
}
$37 = ($36|0)==(0);
if (!($37)) {
$$0269$phi = $$0269;$$0243 = $36;$$0247 = $$1248;$21 = $39;$$0269 = $$0269$phi;
continue;
}
$38 = ((($39)) + 1|0);
$40 = HEAP8[$38>>0]|0;
$41 = $40 << 24 >> 24;
$isdigittmp = (($41) + -48)|0;
$isdigit = ($isdigittmp>>>0)<(10);
if ($isdigit) {
$42 = ((($39)) + 2|0);
$43 = HEAP8[$42>>0]|0;
$44 = ($43<<24>>24)==(36);
$45 = ((($39)) + 3|0);
$$376 = $44 ? $45 : $38;
$$$0269 = $44 ? 1 : $$0269;
$isdigittmp$ = $44 ? $isdigittmp : -1;
$$0253 = $isdigittmp$;$$1270 = $$$0269;$storemerge = $$376;
} else {
$$0253 = -1;$$1270 = $$0269;$storemerge = $38;
}
HEAP32[$5>>2] = $storemerge;
$46 = HEAP8[$storemerge>>0]|0;
$47 = $46 << 24 >> 24;
$48 = (($47) + -32)|0;
$49 = ($48>>>0)>(31);
$50 = 1 << $48;
$51 = $50 & 75913;
$52 = ($51|0)==(0);
$brmerge312 = $49 | $52;
if ($brmerge312) {
$$0262$lcssa = 0;$$lcssa295 = $46;$69 = $storemerge;
} else {
$$0262313 = 0;$54 = $46;$59 = $storemerge;
while(1) {
$53 = $54 << 24 >> 24;
$55 = (($53) + -32)|0;
$56 = 1 << $55;
$57 = $56 | $$0262313;
$58 = ((($59)) + 1|0);
HEAP32[$5>>2] = $58;
$60 = HEAP8[$58>>0]|0;
$61 = $60 << 24 >> 24;
$62 = (($61) + -32)|0;
$63 = ($62>>>0)>(31);
$64 = 1 << $62;
$65 = $64 & 75913;
$66 = ($65|0)==(0);
$brmerge = $63 | $66;
if ($brmerge) {
$$0262$lcssa = $57;$$lcssa295 = $60;$69 = $58;
break;
} else {
$$0262313 = $57;$54 = $60;$59 = $58;
}
}
}
$67 = ($$lcssa295<<24>>24)==(42);
if ($67) {
$68 = ((($69)) + 1|0);
$70 = HEAP8[$68>>0]|0;
$71 = $70 << 24 >> 24;
$isdigittmp276 = (($71) + -48)|0;
$isdigit277 = ($isdigittmp276>>>0)<(10);
if ($isdigit277) {
$72 = ((($69)) + 2|0);
$73 = HEAP8[$72>>0]|0;
$74 = ($73<<24>>24)==(36);
if ($74) {
$75 = (($4) + ($isdigittmp276<<2)|0);
HEAP32[$75>>2] = 10;
$76 = HEAP8[$68>>0]|0;
$77 = $76 << 24 >> 24;
$78 = (($77) + -48)|0;
$79 = (($3) + ($78<<3)|0);
$80 = $79;
$81 = $80;
$82 = HEAP32[$81>>2]|0;
$83 = (($80) + 4)|0;
$84 = $83;
$85 = HEAP32[$84>>2]|0;
$86 = ((($69)) + 3|0);
$$0259 = $82;$$2271 = 1;$storemerge278 = $86;
} else {
label = 22;
}
} else {
label = 22;
}
if ((label|0) == 22) {
label = 0;
$87 = ($$1270|0)==(0);
if (!($87)) {
$$0 = -1;
break;
}
if ($10) {
$arglist_current = HEAP32[$2>>2]|0;
$88 = $arglist_current;
$89 = ((0) + 4|0);
$expanded4 = $89;
$expanded = (($expanded4) - 1)|0;
$90 = (($88) + ($expanded))|0;
$91 = ((0) + 4|0);
$expanded8 = $91;
$expanded7 = (($expanded8) - 1)|0;
$expanded6 = $expanded7 ^ -1;
$92 = $90 & $expanded6;
$93 = $92;
$94 = HEAP32[$93>>2]|0;
$arglist_next = ((($93)) + 4|0);
HEAP32[$2>>2] = $arglist_next;
$$0259 = $94;$$2271 = 0;$storemerge278 = $68;
} else {
$$0259 = 0;$$2271 = 0;$storemerge278 = $68;
}
}
HEAP32[$5>>2] = $storemerge278;
$95 = ($$0259|0)<(0);
$96 = $$0262$lcssa | 8192;
$97 = (0 - ($$0259))|0;
$$$0262 = $95 ? $96 : $$0262$lcssa;
$$$0259 = $95 ? $97 : $$0259;
$$1260 = $$$0259;$$1263 = $$$0262;$$3272 = $$2271;$101 = $storemerge278;
} else {
$98 = (_getint_630($5)|0);
$99 = ($98|0)<(0);
if ($99) {
$$0 = -1;
break;
}
$$pre346 = HEAP32[$5>>2]|0;
$$1260 = $98;$$1263 = $$0262$lcssa;$$3272 = $$1270;$101 = $$pre346;
}
$100 = HEAP8[$101>>0]|0;
$102 = ($100<<24>>24)==(46);
do {
if ($102) {
$103 = ((($101)) + 1|0);
$104 = HEAP8[$103>>0]|0;
$105 = ($104<<24>>24)==(42);
if (!($105)) {
$132 = ((($101)) + 1|0);
HEAP32[$5>>2] = $132;
$133 = (_getint_630($5)|0);
$$pre347$pre = HEAP32[$5>>2]|0;
$$0254 = $133;$$pre347 = $$pre347$pre;
break;
}
$106 = ((($101)) + 2|0);
$107 = HEAP8[$106>>0]|0;
$108 = $107 << 24 >> 24;
$isdigittmp274 = (($108) + -48)|0;
$isdigit275 = ($isdigittmp274>>>0)<(10);
if ($isdigit275) {
$109 = ((($101)) + 3|0);
$110 = HEAP8[$109>>0]|0;
$111 = ($110<<24>>24)==(36);
if ($111) {
$112 = (($4) + ($isdigittmp274<<2)|0);
HEAP32[$112>>2] = 10;
$113 = HEAP8[$106>>0]|0;
$114 = $113 << 24 >> 24;
$115 = (($114) + -48)|0;
$116 = (($3) + ($115<<3)|0);
$117 = $116;
$118 = $117;
$119 = HEAP32[$118>>2]|0;
$120 = (($117) + 4)|0;
$121 = $120;
$122 = HEAP32[$121>>2]|0;
$123 = ((($101)) + 4|0);
HEAP32[$5>>2] = $123;
$$0254 = $119;$$pre347 = $123;
break;
}
}
$124 = ($$3272|0)==(0);
if (!($124)) {
$$0 = -1;
break L1;
}
if ($10) {
$arglist_current2 = HEAP32[$2>>2]|0;
$125 = $arglist_current2;
$126 = ((0) + 4|0);
$expanded11 = $126;
$expanded10 = (($expanded11) - 1)|0;
$127 = (($125) + ($expanded10))|0;
$128 = ((0) + 4|0);
$expanded15 = $128;
$expanded14 = (($expanded15) - 1)|0;
$expanded13 = $expanded14 ^ -1;
$129 = $127 & $expanded13;
$130 = $129;
$131 = HEAP32[$130>>2]|0;
$arglist_next3 = ((($130)) + 4|0);
HEAP32[$2>>2] = $arglist_next3;
$338 = $131;
} else {
$338 = 0;
}
HEAP32[$5>>2] = $106;
$$0254 = $338;$$pre347 = $106;
} else {
$$0254 = -1;$$pre347 = $101;
}
} while(0);
$$0252 = 0;$135 = $$pre347;
while(1) {
$134 = HEAP8[$135>>0]|0;
$136 = $134 << 24 >> 24;
$137 = (($136) + -65)|0;
$138 = ($137>>>0)>(57);
if ($138) {
$$0 = -1;
break L1;
}
$139 = ((($135)) + 1|0);
HEAP32[$5>>2] = $139;
$140 = HEAP8[$135>>0]|0;
$141 = $140 << 24 >> 24;
$142 = (($141) + -65)|0;
$143 = ((1340 + (($$0252*58)|0)|0) + ($142)|0);
$144 = HEAP8[$143>>0]|0;
$145 = $144&255;
$146 = (($145) + -1)|0;
$147 = ($146>>>0)<(8);
if ($147) {
$$0252 = $145;$135 = $139;
} else {
break;
}
}
$148 = ($144<<24>>24)==(0);
if ($148) {
$$0 = -1;
break;
}
$149 = ($144<<24>>24)==(19);
$150 = ($$0253|0)>(-1);
do {
if ($149) {
if ($150) {
$$0 = -1;
break L1;
} else {
label = 48;
}
} else {
if ($150) {
$151 = (($4) + ($$0253<<2)|0);
HEAP32[$151>>2] = $145;
$152 = (($3) + ($$0253<<3)|0);
$153 = $152;
$154 = $153;
$155 = HEAP32[$154>>2]|0;
$156 = (($153) + 4)|0;
$157 = $156;
$158 = HEAP32[$157>>2]|0;
$159 = $6;
$160 = $159;
HEAP32[$160>>2] = $155;
$161 = (($159) + 4)|0;
$162 = $161;
HEAP32[$162>>2] = $158;
label = 48;
break;
}
if (!($10)) {
$$0 = 0;
break L1;
}
_pop_arg_632($6,$145,$2);
}
} while(0);
if ((label|0) == 48) {
label = 0;
if (!($10)) {
$$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $139;
continue;
}
}
$163 = HEAP8[$135>>0]|0;
$164 = $163 << 24 >> 24;
$165 = ($$0252|0)!=(0);
$166 = $164 & 15;
$167 = ($166|0)==(3);
$or$cond280 = $165 & $167;
$168 = $164 & -33;
$$0235 = $or$cond280 ? $168 : $164;
$169 = $$1263 & 8192;
$170 = ($169|0)==(0);
$171 = $$1263 & -65537;
$$1263$ = $170 ? $$1263 : $171;
L70: do {
switch ($$0235|0) {
case 110: {
$trunc = $$0252&255;
switch ($trunc<<24>>24) {
case 0: {
$178 = HEAP32[$6>>2]|0;
HEAP32[$178>>2] = $$1248;
$$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $139;
continue L1;
break;
}
case 1: {
$179 = HEAP32[$6>>2]|0;
HEAP32[$179>>2] = $$1248;
$$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $139;
continue L1;
break;
}
case 2: {
$180 = ($$1248|0)<(0);
$181 = $180 << 31 >> 31;
$182 = HEAP32[$6>>2]|0;
$183 = $182;
$184 = $183;
HEAP32[$184>>2] = $$1248;
$185 = (($183) + 4)|0;
$186 = $185;
HEAP32[$186>>2] = $181;
$$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $139;
continue L1;
break;
}
case 3: {
$187 = $$1248&65535;
$188 = HEAP32[$6>>2]|0;
HEAP16[$188>>1] = $187;
$$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $139;
continue L1;
break;
}
case 4: {
$189 = $$1248&255;
$190 = HEAP32[$6>>2]|0;
HEAP8[$190>>0] = $189;
$$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $139;
continue L1;
break;
}
case 6: {
$191 = HEAP32[$6>>2]|0;
HEAP32[$191>>2] = $$1248;
$$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $139;
continue L1;
break;
}
case 7: {
$192 = ($$1248|0)<(0);
$193 = $192 << 31 >> 31;
$194 = HEAP32[$6>>2]|0;
$195 = $194;
$196 = $195;
HEAP32[$196>>2] = $$1248;
$197 = (($195) + 4)|0;
$198 = $197;
HEAP32[$198>>2] = $193;
$$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $139;
continue L1;
break;
}
default: {
$$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $139;
continue L1;
}
}
break;
}
case 112: {
$199 = ($$0254>>>0)>(8);
$200 = $199 ? $$0254 : 8;
$201 = $$1263$ | 8;
$$1236 = 120;$$1255 = $200;$$3265 = $201;
label = 60;
break;
}
case 88: case 120: {
$$1236 = $$0235;$$1255 = $$0254;$$3265 = $$1263$;
label = 60;
break;
}
case 111: {
$217 = $6;
$218 = $217;
$219 = HEAP32[$218>>2]|0;
$220 = (($217) + 4)|0;
$221 = $220;
$222 = HEAP32[$221>>2]|0;
$223 = (_fmt_o($219,$222,$11)|0);
$224 = $$1263$ & 8;
$225 = ($224|0)==(0);
$226 = $223;
$227 = (($12) - ($226))|0;
$228 = ($$0254|0)>($227|0);
$229 = (($227) + 1)|0;
$230 = $225 | $228;
$$0254$$0254$ = $230 ? $$0254 : $229;
$$0228 = $223;$$1233 = 0;$$1238 = 1804;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$255 = $219;$257 = $222;
label = 66;
break;
}
case 105: case 100: {
$231 = $6;
$232 = $231;
$233 = HEAP32[$232>>2]|0;
$234 = (($231) + 4)|0;
$235 = $234;
$236 = HEAP32[$235>>2]|0;
$237 = ($236|0)<(0);
if ($237) {
$238 = (_i64Subtract(0,0,($233|0),($236|0))|0);
$239 = tempRet0;
$240 = $6;
$241 = $240;
HEAP32[$241>>2] = $238;
$242 = (($240) + 4)|0;
$243 = $242;
HEAP32[$243>>2] = $239;
$$0232 = 1;$$0237 = 1804;$250 = $238;$251 = $239;
label = 65;
break L70;
} else {
$244 = $$1263$ & 2048;
$245 = ($244|0)==(0);
$246 = $$1263$ & 1;
$247 = ($246|0)==(0);
$$ = $247 ? 1804 : (1806);
$$$ = $245 ? $$ : (1805);
$248 = $$1263$ & 2049;
$249 = ($248|0)!=(0);
$$283$ = $249&1;
$$0232 = $$283$;$$0237 = $$$;$250 = $233;$251 = $236;
label = 65;
break L70;
}
break;
}
case 117: {
$172 = $6;
$173 = $172;
$174 = HEAP32[$173>>2]|0;
$175 = (($172) + 4)|0;
$176 = $175;
$177 = HEAP32[$176>>2]|0;
$$0232 = 0;$$0237 = 1804;$250 = $174;$251 = $177;
label = 65;
break;
}
case 99: {
$267 = $6;
$268 = $267;
$269 = HEAP32[$268>>2]|0;
$270 = (($267) + 4)|0;
$271 = $270;
$272 = HEAP32[$271>>2]|0;
$273 = $269&255;
HEAP8[$13>>0] = $273;
$$2 = $13;$$2234 = 0;$$2239 = 1804;$$2251 = $11;$$5 = 1;$$6268 = $171;
break;
}
case 109: {
$274 = (___errno_location()|0);
$275 = HEAP32[$274>>2]|0;
$276 = (_strerror($275)|0);
$$1 = $276;
label = 70;
break;
}
case 115: {
$277 = HEAP32[$6>>2]|0;
$278 = ($277|0)!=(0|0);
$279 = $278 ? $277 : 1814;
$$1 = $279;
label = 70;
break;
}
case 67: {
$286 = $6;
$287 = $286;
$288 = HEAP32[$287>>2]|0;
$289 = (($286) + 4)|0;
$290 = $289;
$291 = HEAP32[$290>>2]|0;
HEAP32[$8>>2] = $288;
HEAP32[$14>>2] = 0;
HEAP32[$6>>2] = $8;
$$4258355 = -1;$339 = $8;
label = 74;
break;
}
case 83: {
$$pre349 = HEAP32[$6>>2]|0;
$292 = ($$0254|0)==(0);
if ($292) {
_pad_635($0,32,$$1260,0,$$1263$);
$$0240$lcssa357 = 0;
label = 83;
} else {
$$4258355 = $$0254;$339 = $$pre349;
label = 74;
}
break;
}
case 65: case 71: case 70: case 69: case 97: case 103: case 102: case 101: {
$314 = +HEAPF64[$6>>3];
$315 = (_fmt_fp($0,$314,$$1260,$$0254,$$1263$,$$0235)|0);
$$0243 = $315;$$0247 = $$1248;$$0269 = $$3272;$21 = $139;
continue L1;
break;
}
default: {
$$2 = $21;$$2234 = 0;$$2239 = 1804;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$;
}
}
} while(0);
L94: do {
if ((label|0) == 60) {
label = 0;
$202 = $6;
$203 = $202;
$204 = HEAP32[$203>>2]|0;
$205 = (($202) + 4)|0;
$206 = $205;
$207 = HEAP32[$206>>2]|0;
$208 = $$1236 & 32;
$209 = (_fmt_x($204,$207,$11,$208)|0);
$210 = ($204|0)==(0);
$211 = ($207|0)==(0);
$212 = $210 & $211;
$213 = $$3265 & 8;
$214 = ($213|0)==(0);
$or$cond282 = $214 | $212;
$215 = $$1236 >> 4;
$216 = (1804 + ($215)|0);
$$290 = $or$cond282 ? 1804 : $216;
$$291 = $or$cond282 ? 0 : 2;
$$0228 = $209;$$1233 = $$291;$$1238 = $$290;$$2256 = $$1255;$$4266 = $$3265;$255 = $204;$257 = $207;
label = 66;
}
else if ((label|0) == 65) {
label = 0;
$252 = (_fmt_u($250,$251,$11)|0);
$$0228 = $252;$$1233 = $$0232;$$1238 = $$0237;$$2256 = $$0254;$$4266 = $$1263$;$255 = $250;$257 = $251;
label = 66;
}
else if ((label|0) == 70) {
label = 0;
$280 = (_memchr($$1,0,$$0254)|0);
$281 = ($280|0)==(0|0);
$282 = $280;
$283 = $$1;
$284 = (($282) - ($283))|0;
$285 = (($$1) + ($$0254)|0);
$$3257 = $281 ? $$0254 : $284;
$$1250 = $281 ? $285 : $280;
$$2 = $$1;$$2234 = 0;$$2239 = 1804;$$2251 = $$1250;$$5 = $$3257;$$6268 = $171;
}
else if ((label|0) == 74) {
label = 0;
$$0229320 = $339;$$0240319 = 0;$$1244318 = 0;
while(1) {
$293 = HEAP32[$$0229320>>2]|0;
$294 = ($293|0)==(0);
if ($294) {
$$0240$lcssa = $$0240319;$$2245 = $$1244318;
break;
}
$295 = (_wctomb($9,$293)|0);
$296 = ($295|0)<(0);
$297 = (($$4258355) - ($$0240319))|0;
$298 = ($295>>>0)>($297>>>0);
$or$cond285 = $296 | $298;
if ($or$cond285) {
$$0240$lcssa = $$0240319;$$2245 = $295;
break;
}
$299 = ((($$0229320)) + 4|0);
$300 = (($295) + ($$0240319))|0;
$301 = ($$4258355>>>0)>($300>>>0);
if ($301) {
$$0229320 = $299;$$0240319 = $300;$$1244318 = $295;
} else {
$$0240$lcssa = $300;$$2245 = $295;
break;
}
}
$302 = ($$2245|0)<(0);
if ($302) {
$$0 = -1;
break L1;
}
_pad_635($0,32,$$1260,$$0240$lcssa,$$1263$);
$303 = ($$0240$lcssa|0)==(0);
if ($303) {
$$0240$lcssa357 = 0;
label = 83;
} else {
$$1230331 = $339;$$1241330 = 0;
while(1) {
$304 = HEAP32[$$1230331>>2]|0;
$305 = ($304|0)==(0);
if ($305) {
$$0240$lcssa357 = $$0240$lcssa;
label = 83;
break L94;
}
$306 = (_wctomb($9,$304)|0);
$307 = (($306) + ($$1241330))|0;
$308 = ($307|0)>($$0240$lcssa|0);
if ($308) {
$$0240$lcssa357 = $$0240$lcssa;
label = 83;
break L94;
}
$309 = ((($$1230331)) + 4|0);
_out_629($0,$9,$306);
$310 = ($307>>>0)<($$0240$lcssa>>>0);
if ($310) {
$$1230331 = $309;$$1241330 = $307;
} else {
$$0240$lcssa357 = $$0240$lcssa;
label = 83;
break;
}
}
}
}
} while(0);
if ((label|0) == 66) {
label = 0;
$253 = ($$2256|0)>(-1);
$254 = $$4266 & -65537;
$$$4266 = $253 ? $254 : $$4266;
$256 = ($255|0)!=(0);
$258 = ($257|0)!=(0);
$259 = $256 | $258;
$260 = ($$2256|0)!=(0);
$or$cond = $260 | $259;
$261 = $$0228;
$262 = (($12) - ($261))|0;
$263 = $259 ^ 1;
$264 = $263&1;
$265 = (($262) + ($264))|0;
$266 = ($$2256|0)>($265|0);
$$2256$ = $266 ? $$2256 : $265;
$$2256$$$2256 = $or$cond ? $$2256$ : $$2256;
$$0228$ = $or$cond ? $$0228 : $11;
$$2 = $$0228$;$$2234 = $$1233;$$2239 = $$1238;$$2251 = $11;$$5 = $$2256$$$2256;$$6268 = $$$4266;
}
else if ((label|0) == 83) {
label = 0;
$311 = $$1263$ ^ 8192;
_pad_635($0,32,$$1260,$$0240$lcssa357,$311);
$312 = ($$1260|0)>($$0240$lcssa357|0);
$313 = $312 ? $$1260 : $$0240$lcssa357;
$$0243 = $313;$$0247 = $$1248;$$0269 = $$3272;$21 = $139;
continue;
}
$316 = $$2251;
$317 = $$2;
$318 = (($316) - ($317))|0;
$319 = ($$5|0)<($318|0);
$$$5 = $319 ? $318 : $$5;
$320 = (($$$5) + ($$2234))|0;
$321 = ($$1260|0)<($320|0);
$$2261 = $321 ? $320 : $$1260;
_pad_635($0,32,$$2261,$320,$$6268);
_out_629($0,$$2239,$$2234);
$322 = $$6268 ^ 65536;
_pad_635($0,48,$$2261,$320,$322);
_pad_635($0,48,$$$5,$318,0);
_out_629($0,$$2,$318);
$323 = $$6268 ^ 8192;
_pad_635($0,32,$$2261,$320,$323);
$$0243 = $$2261;$$0247 = $$1248;$$0269 = $$3272;$21 = $139;
}
L113: do {
if ((label|0) == 86) {
$324 = ($0|0)==(0|0);
if ($324) {
$325 = ($$0269|0)==(0);
if ($325) {
$$0 = 0;
} else {
$$2242306 = 1;
while(1) {
$326 = (($4) + ($$2242306<<2)|0);
$327 = HEAP32[$326>>2]|0;
$328 = ($327|0)==(0);
if ($328) {
$$2242$lcssa = $$2242306;
break;
}
$330 = (($3) + ($$2242306<<3)|0);
_pop_arg_632($330,$327,$2);
$331 = (($$2242306) + 1)|0;
$332 = ($$2242306|0)<(9);
if ($332) {
$$2242306 = $331;
} else {
$$2242$lcssa = $331;
break;
}
}
$329 = ($$2242$lcssa|0)<(10);
if ($329) {
$$3304 = $$2242$lcssa;
while(1) {
$335 = (($4) + ($$3304<<2)|0);
$336 = HEAP32[$335>>2]|0;
$337 = ($336|0)==(0);
if (!($337)) {
$$0 = -1;
break L113;
}
$333 = (($$3304) + 1)|0;
$334 = ($$3304|0)<(9);
if ($334) {
$$3304 = $333;
} else {
$$0 = 1;
break;
}
}
} else {
$$0 = 1;
}
}
} else {
$$0 = $$1248;
}
}
} while(0);
STACKTOP = sp;return ($$0|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 _out_629($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_630($0) {
$0 = $0|0;
var $$0$lcssa = 0, $$06 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $isdigit = 0, $isdigit5 = 0, $isdigittmp = 0, $isdigittmp4 = 0, $isdigittmp7 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = HEAP32[$0>>2]|0;
$2 = HEAP8[$1>>0]|0;
$3 = $2 << 24 >> 24;
$isdigittmp4 = (($3) + -48)|0;
$isdigit5 = ($isdigittmp4>>>0)<(10);
if ($isdigit5) {
$$06 = 0;$7 = $1;$isdigittmp7 = $isdigittmp4;
while(1) {
$4 = ($$06*10)|0;
$5 = (($isdigittmp7) + ($4))|0;
$6 = ((($7)) + 1|0);
HEAP32[$0>>2] = $6;
$8 = HEAP8[$6>>0]|0;
$9 = $8 << 24 >> 24;
$isdigittmp = (($9) + -48)|0;
$isdigit = ($isdigittmp>>>0)<(10);
if ($isdigit) {
$$06 = $5;$7 = $6;$isdigittmp7 = $isdigittmp;
} else {
$$0$lcssa = $5;
break;
}
}
} else {
$$0$lcssa = 0;
}
return ($$0$lcssa|0);
}
function _pop_arg_632($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 = (1856 + ($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, $3 = 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 = (___uremdi3(($8|0),($9|0),10,0)|0);
$11 = tempRet0;
$12 = $10&255;
$13 = $12 | 48;
$14 = ((($$0914)) + -1|0);
HEAP8[$14>>0] = $13;
$15 = (___udivdi3(($8|0),($9|0),10,0)|0);
$16 = tempRet0;
$17 = ($9>>>0)>(9);
$18 = ($8>>>0)>(4294967295);
$19 = ($9|0)==(9);
$20 = $19 & $18;
$21 = $17 | $20;
if ($21) {
$$0914 = $14;$8 = $15;$9 = $16;
} else {
break;
}
}
$$010$lcssa$off0 = $15;$$09$lcssa = $14;
} else {
$$010$lcssa$off0 = $0;$$09$lcssa = $2;
}
$22 = ($$010$lcssa$off0|0)==(0);
if ($22) {
$$1$lcssa = $$09$lcssa;
} else {
$$012 = $$010$lcssa$off0;$$111 = $$09$lcssa;
while(1) {
$23 = (($$012>>>0) % 10)&-1;
$24 = $23 | 48;
$25 = $24&255;
$26 = ((($$111)) + -1|0);
HEAP8[$26>>0] = $25;
$27 = (($$012>>>0) / 10)&-1;
$28 = ($$012>>>0)<(10);
if ($28) {
$$1$lcssa = $26;
break;
} else {
$$012 = $27;$$111 = $26;
}
}
}
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_465()|0);
$2 = ((($1)) + 188|0);
$3 = HEAP32[$2>>2]|0;
$4 = (___strerror_l($0,$3)|0);
return ($4|0);
}
function _pad_635($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, $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 = ($9>>>0)<(256);
$11 = $10 ? $9 : 256;
_memset(($5|0),($1|0),($11|0))|0;
$12 = ($9>>>0)>(255);
if ($12) {
$13 = (($2) - ($3))|0;
$$011 = $9;
while(1) {
_out_629($0,$5,256);
$14 = (($$011) + -256)|0;
$15 = ($14>>>0)>(255);
if ($15) {
$$011 = $14;
} else {
break;
}
}
$16 = $13 & 255;
$$0$lcssa = $16;
} else {
$$0$lcssa = $9;
}
_out_629($0,$5,$$0$lcssa);
}
STACKTOP = sp;return;
}
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 _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, $$$$564 = 0.0, $$$3484 = 0, $$$3484699 = 0, $$$3484700 = 0, $$$3501 = 0, $$$4502 = 0, $$$543 = 0.0, $$$564 = 0.0, $$0 = 0, $$0463$lcssa = 0, $$0463587 = 0, $$0464597 = 0, $$0471 = 0.0, $$0479 = 0, $$0487644 = 0, $$0488 = 0, $$0488655 = 0, $$0488657 = 0;
var $$0496$$9 = 0, $$0497656 = 0, $$0498 = 0, $$0509585 = 0.0, $$0510 = 0, $$0511 = 0, $$0514639 = 0, $$0520 = 0, $$0521 = 0, $$0521$ = 0, $$0523 = 0, $$0527 = 0, $$0527$in633 = 0, $$0530638 = 0, $$1465 = 0, $$1467 = 0.0, $$1469 = 0.0, $$1472 = 0.0, $$1480 = 0, $$1482$lcssa = 0;
var $$1482663 = 0, $$1489643 = 0, $$1499$lcssa = 0, $$1499662 = 0, $$1508586 = 0, $$1512$lcssa = 0, $$1512610 = 0, $$1515 = 0, $$1524 = 0, $$1526 = 0, $$1528617 = 0, $$1531$lcssa = 0, $$1531632 = 0, $$1601 = 0, $$2 = 0, $$2473 = 0.0, $$2476 = 0, $$2476$$549 = 0, $$2476$$551 = 0, $$2483$ph = 0;
var $$2500 = 0, $$2513 = 0, $$2516621 = 0, $$2529 = 0, $$2532620 = 0, $$3 = 0.0, $$3477 = 0, $$3484$lcssa = 0, $$3484650 = 0, $$3501$lcssa = 0, $$3501649 = 0, $$3533616 = 0, $$4 = 0.0, $$4478$lcssa = 0, $$4478593 = 0, $$4492 = 0, $$4502 = 0, $$4518 = 0, $$5$lcssa = 0, $$534$ = 0;
var $$540 = 0, $$540$ = 0, $$543 = 0.0, $$548 = 0, $$5486$lcssa = 0, $$5486626 = 0, $$5493600 = 0, $$550 = 0, $$5519$ph = 0, $$557 = 0, $$5605 = 0, $$561 = 0, $$564 = 0.0, $$6 = 0, $$6494592 = 0, $$7495604 = 0, $$7505 = 0, $$7505$ = 0, $$7505$ph = 0, $$8 = 0;
var $$9$ph = 0, $$lcssa675 = 0, $$neg = 0, $$neg568 = 0, $$pn = 0, $$pr = 0, $$pr566 = 0, $$pre = 0, $$pre$phi691Z2D = 0, $$pre$phi698Z2D = 0, $$pre690 = 0, $$pre693 = 0, $$pre697 = 0, $$sink = 0, $$sink547$lcssa = 0, $$sink547625 = 0, $$sink560 = 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.0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0.0, $119 = 0.0, $12 = 0;
var $120 = 0.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.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.0, $232 = 0.0, $233 = 0, $234 = 0.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.0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0.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, $40 = 0;
var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0.0, $51 = 0, $52 = 0, $53 = 0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.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.0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0;
var $97 = 0, $98 = 0, $99 = 0, $not$ = 0, $or$cond = 0, $or$cond3$not = 0, $or$cond542 = 0, $or$cond545 = 0, $or$cond556 = 0, $or$cond6 = 0, $scevgep686 = 0, $scevgep686687 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 560|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(560|0);
$6 = sp + 8|0;
$7 = sp;
$8 = sp + 524|0;
$9 = $8;
$10 = sp + 512|0;
HEAP32[$7>>2] = 0;
$11 = ((($10)) + 12|0);
(___DOUBLE_BITS_636($1)|0);
$12 = tempRet0;
$13 = ($12|0)<(0);
if ($13) {
$14 = -$1;
$$0471 = $14;$$0520 = 1;$$0521 = 1821;
} else {
$15 = $4 & 2048;
$16 = ($15|0)==(0);
$17 = $4 & 1;
$18 = ($17|0)==(0);
$$ = $18 ? (1822) : (1827);
$$$ = $16 ? $$ : (1824);
$19 = $4 & 2049;
$20 = ($19|0)!=(0);
$$534$ = $20&1;
$$0471 = $1;$$0520 = $$534$;$$0521 = $$$;
}
(___DOUBLE_BITS_636($$0471)|0);
$21 = tempRet0;
$22 = $21 & 2146435072;
$23 = (0)==(0);
$24 = ($22|0)==(2146435072);
$25 = $23 & $24;
do {
if ($25) {
$26 = $5 & 32;
$27 = ($26|0)!=(0);
$28 = $27 ? 1840 : 1844;
$29 = ($$0471 != $$0471) | (0.0 != 0.0);
$30 = $27 ? 1848 : 1852;
$$0510 = $29 ? $30 : $28;
$31 = (($$0520) + 3)|0;
$32 = $4 & -65537;
_pad_635($0,32,$2,$31,$32);
_out_629($0,$$0521,$$0520);
_out_629($0,$$0510,3);
$33 = $4 ^ 8192;
_pad_635($0,32,$2,$31,$33);
$$sink560 = $31;
} else {
$34 = (+_frexpl($$0471,$7));
$35 = $34 * 2.0;
$36 = $35 != 0.0;
if ($36) {
$37 = HEAP32[$7>>2]|0;
$38 = (($37) + -1)|0;
HEAP32[$7>>2] = $38;
}
$39 = $5 | 32;
$40 = ($39|0)==(97);
if ($40) {
$41 = $5 & 32;
$42 = ($41|0)==(0);
$43 = ((($$0521)) + 9|0);
$$0521$ = $42 ? $$0521 : $43;
$44 = $$0520 | 2;
$45 = ($3>>>0)>(11);
$46 = (12 - ($3))|0;
$47 = ($46|0)==(0);
$48 = $45 | $47;
do {
if ($48) {
$$1472 = $35;
} else {
$$0509585 = 8.0;$$1508586 = $46;
while(1) {
$49 = (($$1508586) + -1)|0;
$50 = $$0509585 * 16.0;
$51 = ($49|0)==(0);
if ($51) {
break;
} else {
$$0509585 = $50;$$1508586 = $49;
}
}
$52 = HEAP8[$$0521$>>0]|0;
$53 = ($52<<24>>24)==(45);
if ($53) {
$54 = -$35;
$55 = $54 - $50;
$56 = $50 + $55;
$57 = -$56;
$$1472 = $57;
break;
} else {
$58 = $35 + $50;
$59 = $58 - $50;
$$1472 = $59;
break;
}
}
} while(0);
$60 = HEAP32[$7>>2]|0;
$61 = ($60|0)<(0);
$62 = (0 - ($60))|0;
$63 = $61 ? $62 : $60;
$64 = ($63|0)<(0);
$65 = $64 << 31 >> 31;
$66 = (_fmt_u($63,$65,$11)|0);
$67 = ($66|0)==($11|0);
if ($67) {
$68 = ((($10)) + 11|0);
HEAP8[$68>>0] = 48;
$$0511 = $68;
} else {
$$0511 = $66;
}
$69 = $60 >> 31;
$70 = $69 & 2;
$71 = (($70) + 43)|0;
$72 = $71&255;
$73 = ((($$0511)) + -1|0);
HEAP8[$73>>0] = $72;
$74 = (($5) + 15)|0;
$75 = $74&255;
$76 = ((($$0511)) + -2|0);
HEAP8[$76>>0] = $75;
$77 = ($3|0)<(1);
$78 = $4 & 8;
$79 = ($78|0)==(0);
$$0523 = $8;$$2473 = $$1472;
while(1) {
$80 = (~~(($$2473)));
$81 = (1856 + ($80)|0);
$82 = HEAP8[$81>>0]|0;
$83 = $82&255;
$84 = $41 | $83;
$85 = $84&255;
$86 = ((($$0523)) + 1|0);
HEAP8[$$0523>>0] = $85;
$87 = (+($80|0));
$88 = $$2473 - $87;
$89 = $88 * 16.0;
$90 = $86;
$91 = (($90) - ($9))|0;
$92 = ($91|0)==(1);
if ($92) {
$93 = $89 == 0.0;
$or$cond3$not = $77 & $93;
$or$cond = $79 & $or$cond3$not;
if ($or$cond) {
$$1524 = $86;
} else {
$94 = ((($$0523)) + 2|0);
HEAP8[$86>>0] = 46;
$$1524 = $94;
}
} else {
$$1524 = $86;
}
$95 = $89 != 0.0;
if ($95) {
$$0523 = $$1524;$$2473 = $89;
} else {
break;
}
}
$96 = ($3|0)==(0);
$$pre693 = $$1524;
if ($96) {
label = 24;
} else {
$97 = (-2 - ($9))|0;
$98 = (($97) + ($$pre693))|0;
$99 = ($98|0)<($3|0);
if ($99) {
$100 = (($3) + 2)|0;
$$pre690 = (($$pre693) - ($9))|0;
$$pre$phi691Z2D = $$pre690;$$sink = $100;
} else {
label = 24;
}
}
if ((label|0) == 24) {
$101 = (($$pre693) - ($9))|0;
$$pre$phi691Z2D = $101;$$sink = $101;
}
$102 = $11;
$103 = $76;
$104 = (($102) - ($103))|0;
$105 = (($104) + ($44))|0;
$106 = (($105) + ($$sink))|0;
_pad_635($0,32,$2,$106,$4);
_out_629($0,$$0521$,$44);
$107 = $4 ^ 65536;
_pad_635($0,48,$2,$106,$107);
_out_629($0,$8,$$pre$phi691Z2D);
$108 = (($$sink) - ($$pre$phi691Z2D))|0;
_pad_635($0,48,$108,0,0);
_out_629($0,$76,$104);
$109 = $4 ^ 8192;
_pad_635($0,32,$2,$106,$109);
$$sink560 = $106;
break;
}
$110 = ($3|0)<(0);
$$540 = $110 ? 6 : $3;
if ($36) {
$111 = $35 * 268435456.0;
$112 = HEAP32[$7>>2]|0;
$113 = (($112) + -28)|0;
HEAP32[$7>>2] = $113;
$$3 = $111;$$pr = $113;
} else {
$$pre = HEAP32[$7>>2]|0;
$$3 = $35;$$pr = $$pre;
}
$114 = ($$pr|0)<(0);
$115 = ((($6)) + 288|0);
$$561 = $114 ? $6 : $115;
$$0498 = $$561;$$4 = $$3;
while(1) {
$116 = (~~(($$4))>>>0);
HEAP32[$$0498>>2] = $116;
$117 = ((($$0498)) + 4|0);
$118 = (+($116>>>0));
$119 = $$4 - $118;
$120 = $119 * 1.0E+9;
$121 = $120 != 0.0;
if ($121) {
$$0498 = $117;$$4 = $120;
} else {
break;
}
}
$122 = ($$pr|0)>(0);
if ($122) {
$$1482663 = $$561;$$1499662 = $117;$123 = $$pr;
while(1) {
$124 = ($123|0)<(29);
$125 = $124 ? $123 : 29;
$$0488655 = ((($$1499662)) + -4|0);
$126 = ($$0488655>>>0)<($$1482663>>>0);
if ($126) {
$$2483$ph = $$1482663;
} else {
$$0488657 = $$0488655;$$0497656 = 0;
while(1) {
$127 = HEAP32[$$0488657>>2]|0;
$128 = (_bitshift64Shl(($127|0),0,($125|0))|0);
$129 = tempRet0;
$130 = (_i64Add(($128|0),($129|0),($$0497656|0),0)|0);
$131 = tempRet0;
$132 = (___uremdi3(($130|0),($131|0),1000000000,0)|0);
$133 = tempRet0;
HEAP32[$$0488657>>2] = $132;
$134 = (___udivdi3(($130|0),($131|0),1000000000,0)|0);
$135 = tempRet0;
$$0488 = ((($$0488657)) + -4|0);
$136 = ($$0488>>>0)<($$1482663>>>0);
if ($136) {
break;
} else {
$$0488657 = $$0488;$$0497656 = $134;
}
}
$137 = ($134|0)==(0);
if ($137) {
$$2483$ph = $$1482663;
} else {
$138 = ((($$1482663)) + -4|0);
HEAP32[$138>>2] = $134;
$$2483$ph = $138;
}
}
$$2500 = $$1499662;
while(1) {
$139 = ($$2500>>>0)>($$2483$ph>>>0);
if (!($139)) {
break;
}
$140 = ((($$2500)) + -4|0);
$141 = HEAP32[$140>>2]|0;
$142 = ($141|0)==(0);
if ($142) {
$$2500 = $140;
} else {
break;
}
}
$143 = HEAP32[$7>>2]|0;
$144 = (($143) - ($125))|0;
HEAP32[$7>>2] = $144;
$145 = ($144|0)>(0);
if ($145) {
$$1482663 = $$2483$ph;$$1499662 = $$2500;$123 = $144;
} else {
$$1482$lcssa = $$2483$ph;$$1499$lcssa = $$2500;$$pr566 = $144;
break;
}
}
} else {
$$1482$lcssa = $$561;$$1499$lcssa = $117;$$pr566 = $$pr;
}
$146 = ($$pr566|0)<(0);
if ($146) {
$147 = (($$540) + 25)|0;
$148 = (($147|0) / 9)&-1;
$149 = (($148) + 1)|0;
$150 = ($39|0)==(102);
$$3484650 = $$1482$lcssa;$$3501649 = $$1499$lcssa;$152 = $$pr566;
while(1) {
$151 = (0 - ($152))|0;
$153 = ($151|0)<(9);
$154 = $153 ? $151 : 9;
$155 = ($$3484650>>>0)<($$3501649>>>0);
if ($155) {
$159 = 1 << $154;
$160 = (($159) + -1)|0;
$161 = 1000000000 >>> $154;
$$0487644 = 0;$$1489643 = $$3484650;
while(1) {
$162 = HEAP32[$$1489643>>2]|0;
$163 = $162 & $160;
$164 = $162 >>> $154;
$165 = (($164) + ($$0487644))|0;
HEAP32[$$1489643>>2] = $165;
$166 = Math_imul($163, $161)|0;
$167 = ((($$1489643)) + 4|0);
$168 = ($167>>>0)<($$3501649>>>0);
if ($168) {
$$0487644 = $166;$$1489643 = $167;
} else {
break;
}
}
$169 = HEAP32[$$3484650>>2]|0;
$170 = ($169|0)==(0);
$171 = ((($$3484650)) + 4|0);
$$$3484 = $170 ? $171 : $$3484650;
$172 = ($166|0)==(0);
if ($172) {
$$$3484700 = $$$3484;$$4502 = $$3501649;
} else {
$173 = ((($$3501649)) + 4|0);
HEAP32[$$3501649>>2] = $166;
$$$3484700 = $$$3484;$$4502 = $173;
}
} else {
$156 = HEAP32[$$3484650>>2]|0;
$157 = ($156|0)==(0);
$158 = ((($$3484650)) + 4|0);
$$$3484699 = $157 ? $158 : $$3484650;
$$$3484700 = $$$3484699;$$4502 = $$3501649;
}
$174 = $150 ? $$561 : $$$3484700;
$175 = $$4502;
$176 = $174;
$177 = (($175) - ($176))|0;
$178 = $177 >> 2;
$179 = ($178|0)>($149|0);
$180 = (($174) + ($149<<2)|0);
$$$4502 = $179 ? $180 : $$4502;
$181 = HEAP32[$7>>2]|0;
$182 = (($181) + ($154))|0;
HEAP32[$7>>2] = $182;
$183 = ($182|0)<(0);
if ($183) {
$$3484650 = $$$3484700;$$3501649 = $$$4502;$152 = $182;
} else {
$$3484$lcssa = $$$3484700;$$3501$lcssa = $$$4502;
break;
}
}
} else {
$$3484$lcssa = $$1482$lcssa;$$3501$lcssa = $$1499$lcssa;
}
$184 = ($$3484$lcssa>>>0)<($$3501$lcssa>>>0);
$185 = $$561;
if ($184) {
$186 = $$3484$lcssa;
$187 = (($185) - ($186))|0;
$188 = $187 >> 2;
$189 = ($188*9)|0;
$190 = HEAP32[$$3484$lcssa>>2]|0;
$191 = ($190>>>0)<(10);
if ($191) {
$$1515 = $189;
} else {
$$0514639 = $189;$$0530638 = 10;
while(1) {
$192 = ($$0530638*10)|0;
$193 = (($$0514639) + 1)|0;
$194 = ($190>>>0)<($192>>>0);
if ($194) {
$$1515 = $193;
break;
} else {
$$0514639 = $193;$$0530638 = $192;
}
}
}
} else {
$$1515 = 0;
}
$195 = ($39|0)!=(102);
$196 = $195 ? $$1515 : 0;
$197 = (($$540) - ($196))|0;
$198 = ($39|0)==(103);
$199 = ($$540|0)!=(0);
$200 = $199 & $198;
$$neg = $200 << 31 >> 31;
$201 = (($197) + ($$neg))|0;
$202 = $$3501$lcssa;
$203 = (($202) - ($185))|0;
$204 = $203 >> 2;
$205 = ($204*9)|0;
$206 = (($205) + -9)|0;
$207 = ($201|0)<($206|0);
if ($207) {
$208 = ((($$561)) + 4|0);
$209 = (($201) + 9216)|0;
$210 = (($209|0) / 9)&-1;
$211 = (($210) + -1024)|0;
$212 = (($208) + ($211<<2)|0);
$213 = (($209|0) % 9)&-1;
$214 = ($213|0)<(8);
if ($214) {
$$0527$in633 = $213;$$1531632 = 10;
while(1) {
$$0527 = (($$0527$in633) + 1)|0;
$215 = ($$1531632*10)|0;
$216 = ($$0527$in633|0)<(7);
if ($216) {
$$0527$in633 = $$0527;$$1531632 = $215;
} else {
$$1531$lcssa = $215;
break;
}
}
} else {
$$1531$lcssa = 10;
}
$217 = HEAP32[$212>>2]|0;
$218 = (($217>>>0) % ($$1531$lcssa>>>0))&-1;
$219 = ($218|0)==(0);
$220 = ((($212)) + 4|0);
$221 = ($220|0)==($$3501$lcssa|0);
$or$cond542 = $221 & $219;
if ($or$cond542) {
$$4492 = $212;$$4518 = $$1515;$$8 = $$3484$lcssa;
} else {
$222 = (($217>>>0) / ($$1531$lcssa>>>0))&-1;
$223 = $222 & 1;
$224 = ($223|0)==(0);
$$543 = $224 ? 9007199254740992.0 : 9007199254740994.0;
$225 = (($$1531$lcssa|0) / 2)&-1;
$226 = ($218>>>0)<($225>>>0);
$227 = ($218|0)==($225|0);
$or$cond545 = $221 & $227;
$$564 = $or$cond545 ? 1.0 : 1.5;
$$$564 = $226 ? 0.5 : $$564;
$228 = ($$0520|0)==(0);
if ($228) {
$$1467 = $$$564;$$1469 = $$543;
} else {
$229 = HEAP8[$$0521>>0]|0;
$230 = ($229<<24>>24)==(45);
$231 = -$$543;
$232 = -$$$564;
$$$543 = $230 ? $231 : $$543;
$$$$564 = $230 ? $232 : $$$564;
$$1467 = $$$$564;$$1469 = $$$543;
}
$233 = (($217) - ($218))|0;
HEAP32[$212>>2] = $233;
$234 = $$1469 + $$1467;
$235 = $234 != $$1469;
if ($235) {
$236 = (($233) + ($$1531$lcssa))|0;
HEAP32[$212>>2] = $236;
$237 = ($236>>>0)>(999999999);
if ($237) {
$$5486626 = $$3484$lcssa;$$sink547625 = $212;
while(1) {
$238 = ((($$sink547625)) + -4|0);
HEAP32[$$sink547625>>2] = 0;
$239 = ($238>>>0)<($$5486626>>>0);
if ($239) {
$240 = ((($$5486626)) + -4|0);
HEAP32[$240>>2] = 0;
$$6 = $240;
} else {
$$6 = $$5486626;
}
$241 = HEAP32[$238>>2]|0;
$242 = (($241) + 1)|0;
HEAP32[$238>>2] = $242;
$243 = ($242>>>0)>(999999999);
if ($243) {
$$5486626 = $$6;$$sink547625 = $238;
} else {
$$5486$lcssa = $$6;$$sink547$lcssa = $238;
break;
}
}
} else {
$$5486$lcssa = $$3484$lcssa;$$sink547$lcssa = $212;
}
$244 = $$5486$lcssa;
$245 = (($185) - ($244))|0;
$246 = $245 >> 2;
$247 = ($246*9)|0;
$248 = HEAP32[$$5486$lcssa>>2]|0;
$249 = ($248>>>0)<(10);
if ($249) {
$$4492 = $$sink547$lcssa;$$4518 = $247;$$8 = $$5486$lcssa;
} else {
$$2516621 = $247;$$2532620 = 10;
while(1) {
$250 = ($$2532620*10)|0;
$251 = (($$2516621) + 1)|0;
$252 = ($248>>>0)<($250>>>0);
if ($252) {
$$4492 = $$sink547$lcssa;$$4518 = $251;$$8 = $$5486$lcssa;
break;
} else {
$$2516621 = $251;$$2532620 = $250;
}
}
}
} else {
$$4492 = $212;$$4518 = $$1515;$$8 = $$3484$lcssa;
}
}
$253 = ((($$4492)) + 4|0);
$254 = ($$3501$lcssa>>>0)>($253>>>0);
$$$3501 = $254 ? $253 : $$3501$lcssa;
$$5519$ph = $$4518;$$7505$ph = $$$3501;$$9$ph = $$8;
} else {
$$5519$ph = $$1515;$$7505$ph = $$3501$lcssa;$$9$ph = $$3484$lcssa;
}
$$7505 = $$7505$ph;
while(1) {
$255 = ($$7505>>>0)>($$9$ph>>>0);
if (!($255)) {
$$lcssa675 = 0;
break;
}
$256 = ((($$7505)) + -4|0);
$257 = HEAP32[$256>>2]|0;
$258 = ($257|0)==(0);
if ($258) {
$$7505 = $256;
} else {
$$lcssa675 = 1;
break;
}
}
$259 = (0 - ($$5519$ph))|0;
do {
if ($198) {
$not$ = $199 ^ 1;
$260 = $not$&1;
$$540$ = (($$540) + ($260))|0;
$261 = ($$540$|0)>($$5519$ph|0);
$262 = ($$5519$ph|0)>(-5);
$or$cond6 = $261 & $262;
if ($or$cond6) {
$263 = (($5) + -1)|0;
$$neg568 = (($$540$) + -1)|0;
$264 = (($$neg568) - ($$5519$ph))|0;
$$0479 = $263;$$2476 = $264;
} else {
$265 = (($5) + -2)|0;
$266 = (($$540$) + -1)|0;
$$0479 = $265;$$2476 = $266;
}
$267 = $4 & 8;
$268 = ($267|0)==(0);
if ($268) {
if ($$lcssa675) {
$269 = ((($$7505)) + -4|0);
$270 = HEAP32[$269>>2]|0;
$271 = ($270|0)==(0);
if ($271) {
$$2529 = 9;
} else {
$272 = (($270>>>0) % 10)&-1;
$273 = ($272|0)==(0);
if ($273) {
$$1528617 = 0;$$3533616 = 10;
while(1) {
$274 = ($$3533616*10)|0;
$275 = (($$1528617) + 1)|0;
$276 = (($270>>>0) % ($274>>>0))&-1;
$277 = ($276|0)==(0);
if ($277) {
$$1528617 = $275;$$3533616 = $274;
} else {
$$2529 = $275;
break;
}
}
} else {
$$2529 = 0;
}
}
} else {
$$2529 = 9;
}
$278 = $$0479 | 32;
$279 = ($278|0)==(102);
$280 = $$7505;
$281 = (($280) - ($185))|0;
$282 = $281 >> 2;
$283 = ($282*9)|0;
$284 = (($283) + -9)|0;
if ($279) {
$285 = (($284) - ($$2529))|0;
$286 = ($285|0)>(0);
$$548 = $286 ? $285 : 0;
$287 = ($$2476|0)<($$548|0);
$$2476$$549 = $287 ? $$2476 : $$548;
$$1480 = $$0479;$$3477 = $$2476$$549;$$pre$phi698Z2D = 0;
break;
} else {
$288 = (($284) + ($$5519$ph))|0;
$289 = (($288) - ($$2529))|0;
$290 = ($289|0)>(0);
$$550 = $290 ? $289 : 0;
$291 = ($$2476|0)<($$550|0);
$$2476$$551 = $291 ? $$2476 : $$550;
$$1480 = $$0479;$$3477 = $$2476$$551;$$pre$phi698Z2D = 0;
break;
}
} else {
$$1480 = $$0479;$$3477 = $$2476;$$pre$phi698Z2D = $267;
}
} else {
$$pre697 = $4 & 8;
$$1480 = $5;$$3477 = $$540;$$pre$phi698Z2D = $$pre697;
}
} while(0);
$292 = $$3477 | $$pre$phi698Z2D;
$293 = ($292|0)!=(0);
$294 = $293&1;
$295 = $$1480 | 32;
$296 = ($295|0)==(102);
if ($296) {
$297 = ($$5519$ph|0)>(0);
$298 = $297 ? $$5519$ph : 0;
$$2513 = 0;$$pn = $298;
} else {
$299 = ($$5519$ph|0)<(0);
$300 = $299 ? $259 : $$5519$ph;
$301 = ($300|0)<(0);
$302 = $301 << 31 >> 31;
$303 = (_fmt_u($300,$302,$11)|0);
$304 = $11;
$305 = $303;
$306 = (($304) - ($305))|0;
$307 = ($306|0)<(2);
if ($307) {
$$1512610 = $303;
while(1) {
$308 = ((($$1512610)) + -1|0);
HEAP8[$308>>0] = 48;
$309 = $308;
$310 = (($304) - ($309))|0;
$311 = ($310|0)<(2);
if ($311) {
$$1512610 = $308;
} else {
$$1512$lcssa = $308;
break;
}
}
} else {
$$1512$lcssa = $303;
}
$312 = $$5519$ph >> 31;
$313 = $312 & 2;
$314 = (($313) + 43)|0;
$315 = $314&255;
$316 = ((($$1512$lcssa)) + -1|0);
HEAP8[$316>>0] = $315;
$317 = $$1480&255;
$318 = ((($$1512$lcssa)) + -2|0);
HEAP8[$318>>0] = $317;
$319 = $318;
$320 = (($304) - ($319))|0;
$$2513 = $318;$$pn = $320;
}
$321 = (($$0520) + 1)|0;
$322 = (($321) + ($$3477))|0;
$$1526 = (($322) + ($294))|0;
$323 = (($$1526) + ($$pn))|0;
_pad_635($0,32,$2,$323,$4);
_out_629($0,$$0521,$$0520);
$324 = $4 ^ 65536;
_pad_635($0,48,$2,$323,$324);
if ($296) {
$325 = ($$9$ph>>>0)>($$561>>>0);
$$0496$$9 = $325 ? $$561 : $$9$ph;
$326 = ((($8)) + 9|0);
$327 = $326;
$328 = ((($8)) + 8|0);
$$5493600 = $$0496$$9;
while(1) {
$329 = HEAP32[$$5493600>>2]|0;
$330 = (_fmt_u($329,0,$326)|0);
$331 = ($$5493600|0)==($$0496$$9|0);
if ($331) {
$337 = ($330|0)==($326|0);
if ($337) {
HEAP8[$328>>0] = 48;
$$1465 = $328;
} else {
$$1465 = $330;
}
} else {
$332 = ($330>>>0)>($8>>>0);
if ($332) {
$333 = $330;
$334 = (($333) - ($9))|0;
_memset(($8|0),48,($334|0))|0;
$$0464597 = $330;
while(1) {
$335 = ((($$0464597)) + -1|0);
$336 = ($335>>>0)>($8>>>0);
if ($336) {
$$0464597 = $335;
} else {
$$1465 = $335;
break;
}
}
} else {
$$1465 = $330;
}
}
$338 = $$1465;
$339 = (($327) - ($338))|0;
_out_629($0,$$1465,$339);
$340 = ((($$5493600)) + 4|0);
$341 = ($340>>>0)>($$561>>>0);
if ($341) {
break;
} else {
$$5493600 = $340;
}
}
$342 = ($292|0)==(0);
if (!($342)) {
_out_629($0,1872,1);
}
$343 = ($340>>>0)<($$7505>>>0);
$344 = ($$3477|0)>(0);
$345 = $343 & $344;
if ($345) {
$$4478593 = $$3477;$$6494592 = $340;
while(1) {
$346 = HEAP32[$$6494592>>2]|0;
$347 = (_fmt_u($346,0,$326)|0);
$348 = ($347>>>0)>($8>>>0);
if ($348) {
$349 = $347;
$350 = (($349) - ($9))|0;
_memset(($8|0),48,($350|0))|0;
$$0463587 = $347;
while(1) {
$351 = ((($$0463587)) + -1|0);
$352 = ($351>>>0)>($8>>>0);
if ($352) {
$$0463587 = $351;
} else {
$$0463$lcssa = $351;
break;
}
}
} else {
$$0463$lcssa = $347;
}
$353 = ($$4478593|0)<(9);
$354 = $353 ? $$4478593 : 9;
_out_629($0,$$0463$lcssa,$354);
$355 = ((($$6494592)) + 4|0);
$356 = (($$4478593) + -9)|0;
$357 = ($355>>>0)<($$7505>>>0);
$358 = ($$4478593|0)>(9);
$359 = $357 & $358;
if ($359) {
$$4478593 = $356;$$6494592 = $355;
} else {
$$4478$lcssa = $356;
break;
}
}
} else {
$$4478$lcssa = $$3477;
}
$360 = (($$4478$lcssa) + 9)|0;
_pad_635($0,48,$360,9,0);
} else {
$361 = ((($$9$ph)) + 4|0);
$$7505$ = $$lcssa675 ? $$7505 : $361;
$362 = ($$3477|0)>(-1);
if ($362) {
$363 = ((($8)) + 9|0);
$364 = ($$pre$phi698Z2D|0)==(0);
$365 = $363;
$366 = (0 - ($9))|0;
$367 = ((($8)) + 8|0);
$$5605 = $$3477;$$7495604 = $$9$ph;
while(1) {
$368 = HEAP32[$$7495604>>2]|0;
$369 = (_fmt_u($368,0,$363)|0);
$370 = ($369|0)==($363|0);
if ($370) {
HEAP8[$367>>0] = 48;
$$0 = $367;
} else {
$$0 = $369;
}
$371 = ($$7495604|0)==($$9$ph|0);
do {
if ($371) {
$375 = ((($$0)) + 1|0);
_out_629($0,$$0,1);
$376 = ($$5605|0)<(1);
$or$cond556 = $364 & $376;
if ($or$cond556) {
$$2 = $375;
break;
}
_out_629($0,1872,1);
$$2 = $375;
} else {
$372 = ($$0>>>0)>($8>>>0);
if (!($372)) {
$$2 = $$0;
break;
}
$scevgep686 = (($$0) + ($366)|0);
$scevgep686687 = $scevgep686;
_memset(($8|0),48,($scevgep686687|0))|0;
$$1601 = $$0;
while(1) {
$373 = ((($$1601)) + -1|0);
$374 = ($373>>>0)>($8>>>0);
if ($374) {
$$1601 = $373;
} else {
$$2 = $373;
break;
}
}
}
} while(0);
$377 = $$2;
$378 = (($365) - ($377))|0;
$379 = ($$5605|0)>($378|0);
$380 = $379 ? $378 : $$5605;
_out_629($0,$$2,$380);
$381 = (($$5605) - ($378))|0;
$382 = ((($$7495604)) + 4|0);
$383 = ($382>>>0)<($$7505$>>>0);
$384 = ($381|0)>(-1);
$385 = $383 & $384;
if ($385) {
$$5605 = $381;$$7495604 = $382;
} else {
$$5$lcssa = $381;
break;
}
}
} else {
$$5$lcssa = $$3477;
}
$386 = (($$5$lcssa) + 18)|0;
_pad_635($0,48,$386,18,0);
$387 = $11;
$388 = $$2513;
$389 = (($387) - ($388))|0;
_out_629($0,$$2513,$389);
}
$390 = $4 ^ 8192;
_pad_635($0,32,$2,$323,$390);
$$sink560 = $323;
}
} while(0);
$391 = ($$sink560|0)<($2|0);
$$557 = $391 ? $2 : $$sink560;
STACKTOP = sp;return ($$557|0);
}
function ___DOUBLE_BITS_636($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 _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_832()|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_832() {
var $0 = 0, label = 0, sp = 0;
sp = STACKTOP;
$0 = (_pthread_self()|0);
return ($0|0);
}
function ___pthread_self_465() {
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, $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 label = 0, sp = 0;
sp = STACKTOP;
$$016 = 0;
while(1) {
$3 = (1874 + ($$016)|0);
$4 = HEAP8[$3>>0]|0;
$5 = $4&255;
$6 = ($5|0)==($0|0);
if ($6) {
label = 2;
break;
}
$7 = (($$016) + 1)|0;
$8 = ($7|0)==(87);
if ($8) {
$$01214 = 1962;$$115 = 87;
label = 5;
break;
} else {
$$016 = $7;
}
}
if ((label|0) == 2) {
$2 = ($$016|0)==(0);
if ($2) {
$$012$lcssa = 1962;
} else {
$$01214 = 1962;$$115 = $$016;
label = 5;
}
}
if ((label|0) == 5) {
while(1) {
label = 0;
$$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;
label = 5;
}
}
}
$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 $$ = 0, $$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;
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, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond102 = 0, $or$cond104 = 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);
$64 = (($$094) - ($25))|0;
$$195 = $63 ? $25 : $64;
$$191 = $63 ? $$090 : $26;
if ($62) {
$$4 = 0;
break L1;
} else {
$$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);
$$ = $61 ? $57 : 0;
$$4 = $$;
} 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 $$ = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = ($1|0)==(0);
$3 = (_llvm_bswap_i32(($0|0))|0);
$$ = $2 ? $0 : $3;
return ($$|0);
}
function ___fwritex($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$038 = 0, $$042 = 0, $$1 = 0, $$139 = 0, $$141 = 0, $$143 = 0, $$pre = 0, $$pre47 = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
var 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 & 7]($2,$0,$1)|0);
$$1 = $17;
break;
}
$18 = ((($2)) + 75|0);
$19 = HEAP8[$18>>0]|0;
$20 = ($19<<24>>24)>(-1);
L10: do {
if ($20) {
$$038 = $1;
while(1) {
$21 = ($$038|0)==(0);
if ($21) {
$$139 = 0;$$141 = $0;$$143 = $1;$31 = $14;
break L10;
}
$22 = (($$038) + -1)|0;
$23 = (($0) + ($22)|0);
$24 = HEAP8[$23>>0]|0;
$25 = ($24<<24>>24)==(10);
if ($25) {
break;
} else {
$$038 = $22;
}
}
$26 = ((($2)) + 36|0);
$27 = HEAP32[$26>>2]|0;
$28 = (FUNCTION_TABLE_iiii[$27 & 7]($2,$0,$$038)|0);
$29 = ($28>>>0)<($$038>>>0);
if ($29) {
$$1 = $28;
break L5;
}
$30 = (($0) + ($$038)|0);
$$042 = (($1) - ($$038))|0;
$$pre47 = HEAP32[$9>>2]|0;
$$139 = $$038;$$141 = $30;$$143 = $$042;$31 = $$pre47;
} else {
$$139 = 0;$$141 = $0;$$143 = $1;$31 = $14;
}
} while(0);
_memcpy(($31|0),($$141|0),($$143|0))|0;
$32 = HEAP32[$9>>2]|0;
$33 = (($32) + ($$143)|0);
HEAP32[$9>>2] = $33;
$34 = (($$139) + ($$143))|0;
$$1 = $34;
}
} 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 ___pthread_self_397() {
var $0 = 0, label = 0, sp = 0;
sp = STACKTOP;
$0 = (_pthread_self()|0);
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 ___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 & 7]($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 ___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 & 7]($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 _strtox($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 ___shlim($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$sink = 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, 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;
$11 = $4;
$12 = $6;
$13 = (($12) + ($1)|0);
$$sink = $or$cond ? $13 : $11;
$14 = ((($0)) + 100|0);
HEAP32[$14>>2] = $$sink;
return;
}
function ___intscan($0,$1,$2,$3,$4) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
var $$0154222 = 0, $$0157 = 0, $$0157$ = 0, $$0159 = 0, $$1155192 = 0, $$1158 = 0, $$1160 = 0, $$1160169 = 0, $$1165 = 0, $$1165167 = 0, $$1165168 = 0, $$166 = 0, $$2156210 = 0, $$2161$be = 0, $$2161$lcssa = 0, $$3162$be = 0, $$3162215 = 0, $$4163$be = 0, $$4163$lcssa = 0, $$5$be = 0;
var $$6$be = 0, $$6$lcssa = 0, $$7$be = 0, $$7198 = 0, $$8 = 0, $$9$be = 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, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0;
var $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, $293 = 0;
var $294 = 0, $295 = 0, $296 = 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, $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$cond12 = 0;
var $or$cond187 = 0, $or$cond5 = 0, $or$cond7 = 0, label = 0, sp = 0;
sp = STACKTOP;
$5 = ($1>>>0)>(36);
L1: do {
if ($5) {
$8 = (___errno_location()|0);
HEAP32[$8>>2] = 22;
$289 = 0;$290 = 0;
} else {
$6 = ((($0)) + 4|0);
$7 = ((($0)) + 100|0);
while(1) {
$9 = HEAP32[$6>>2]|0;
$10 = HEAP32[$7>>2]|0;
$11 = ($9>>>0)<($10>>>0);
if ($11) {
$12 = ((($9)) + 1|0);
HEAP32[$6>>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[$6>>2]|0;
$22 = HEAP32[$7>>2]|0;
$23 = ($21>>>0)<($22>>>0);
if ($23) {
$24 = ((($21)) + 1|0);
HEAP32[$6>>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[$6>>2]|0;
$33 = HEAP32[$7>>2]|0;
$34 = ($32>>>0)<($33>>>0);
if ($34) {
$35 = ((($32)) + 1|0);
HEAP32[$6>>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) {
$$1160169 = $40;$$1165167 = 8;
label = 46;
break;
} else {
$$1160 = $40;$$1165 = $1;
label = 32;
break;
}
}
$42 = HEAP32[$6>>2]|0;
$43 = HEAP32[$7>>2]|0;
$44 = ($42>>>0)<($43>>>0);
if ($44) {
$45 = ((($42)) + 1|0);
HEAP32[$6>>2] = $45;
$46 = HEAP8[$42>>0]|0;
$47 = $46&255;
$50 = $47;
} else {
$48 = (___shgetc($0)|0);
$50 = $48;
}
$49 = ((3767) + ($50)|0);
$51 = HEAP8[$49>>0]|0;
$52 = ($51&255)>(15);
if ($52) {
$53 = HEAP32[$7>>2]|0;
$54 = ($53|0)==(0|0);
if (!($54)) {
$55 = HEAP32[$6>>2]|0;
$56 = ((($55)) + -1|0);
HEAP32[$6>>2] = $56;
}
$57 = ($2|0)==(0);
if ($57) {
___shlim($0,0);
$289 = 0;$290 = 0;
break L1;
}
if ($54) {
$289 = 0;$290 = 0;
break L1;
}
$58 = HEAP32[$6>>2]|0;
$59 = ((($58)) + -1|0);
HEAP32[$6>>2] = $59;
$289 = 0;$290 = 0;
break L1;
} else {
$$1160169 = $50;$$1165167 = 16;
label = 46;
}
} else {
$$166 = $28 ? 10 : $1;
$60 = ((3767) + ($$0159)|0);
$61 = HEAP8[$60>>0]|0;
$62 = $61&255;
$63 = ($$166>>>0)>($62>>>0);
if ($63) {
$$1160 = $$0159;$$1165 = $$166;
label = 32;
} else {
$64 = HEAP32[$7>>2]|0;
$65 = ($64|0)==(0|0);
if (!($65)) {
$66 = HEAP32[$6>>2]|0;
$67 = ((($66)) + -1|0);
HEAP32[$6>>2] = $67;
}
___shlim($0,0);
$68 = (___errno_location()|0);
HEAP32[$68>>2] = 22;
$289 = 0;$290 = 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) {
$$0154222 = 0;$74 = $70;
while(1) {
$72 = ($$0154222*10)|0;
$73 = (($72) + ($74))|0;
$75 = HEAP32[$6>>2]|0;
$76 = HEAP32[$7>>2]|0;
$77 = ($75>>>0)<($76>>>0);
if ($77) {
$78 = ((($75)) + 1|0);
HEAP32[$6>>2] = $78;
$79 = HEAP8[$75>>0]|0;
$80 = $79&255;
$$2161$be = $80;
} else {
$81 = (___shgetc($0)|0);
$$2161$be = $81;
}
$82 = (($$2161$be) + -48)|0;
$83 = ($82>>>0)<(10);
$84 = ($73>>>0)<(429496729);
$85 = $83 & $84;
if ($85) {
$$0154222 = $73;$74 = $82;
} else {
break;
}
}
$$2161$lcssa = $$2161$be;$291 = $73;$292 = 0;
} else {
$$2161$lcssa = $$1160;$291 = 0;$292 = 0;
}
$86 = (($$2161$lcssa) + -48)|0;
$87 = ($86>>>0)<(10);
if ($87) {
$$3162215 = $$2161$lcssa;$88 = $291;$89 = $292;$92 = $86;
while(1) {
$90 = (___muldi3(($88|0),($89|0),10,0)|0);
$91 = tempRet0;
$93 = ($92|0)<(0);
$94 = $93 << 31 >> 31;
$95 = $92 ^ -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) {
$$1165168 = 10;$$8 = $$3162215;$293 = $88;$294 = $89;
label = 72;
break L43;
}
$102 = (_i64Add(($90|0),($91|0),($92|0),($94|0))|0);
$103 = tempRet0;
$104 = HEAP32[$6>>2]|0;
$105 = HEAP32[$7>>2]|0;
$106 = ($104>>>0)<($105>>>0);
if ($106) {
$107 = ((($104)) + 1|0);
HEAP32[$6>>2] = $107;
$108 = HEAP8[$104>>0]|0;
$109 = $108&255;
$$3162$be = $109;
} else {
$110 = (___shgetc($0)|0);
$$3162$be = $110;
}
$111 = (($$3162$be) + -48)|0;
$112 = ($111>>>0)<(10);
$113 = ($103>>>0)<(429496729);
$114 = ($102>>>0)<(2576980378);
$115 = ($103|0)==(429496729);
$116 = $115 & $114;
$117 = $113 | $116;
$or$cond7 = $112 & $117;
if ($or$cond7) {
$$3162215 = $$3162$be;$88 = $102;$89 = $103;$92 = $111;
} else {
break;
}
}
$118 = ($111>>>0)>(9);
if ($118) {
$$1158 = $$0157;$262 = $103;$264 = $102;
} else {
$$1165168 = 10;$$8 = $$3162$be;$293 = $102;$294 = $103;
label = 72;
}
} else {
$$1158 = $$0157;$262 = $292;$264 = $291;
}
} else {
$$1160169 = $$1160;$$1165167 = $$1165;
label = 46;
}
}
} while(0);
L63: do {
if ((label|0) == 46) {
$119 = (($$1165167) + -1)|0;
$120 = $119 & $$1165167;
$121 = ($120|0)==(0);
if ($121) {
$126 = ($$1165167*23)|0;
$127 = $126 >>> 5;
$128 = $127 & 7;
$129 = (4023 + ($128)|0);
$130 = HEAP8[$129>>0]|0;
$131 = $130 << 24 >> 24;
$132 = ((3767) + ($$1160169)|0);
$133 = HEAP8[$132>>0]|0;
$134 = $133&255;
$135 = ($$1165167>>>0)>($134>>>0);
if ($135) {
$$1155192 = 0;$138 = $134;
while(1) {
$136 = $$1155192 << $131;
$137 = $138 | $136;
$139 = HEAP32[$6>>2]|0;
$140 = HEAP32[$7>>2]|0;
$141 = ($139>>>0)<($140>>>0);
if ($141) {
$142 = ((($139)) + 1|0);
HEAP32[$6>>2] = $142;
$143 = HEAP8[$139>>0]|0;
$144 = $143&255;
$$4163$be = $144;
} else {
$145 = (___shgetc($0)|0);
$$4163$be = $145;
}
$146 = ((3767) + ($$4163$be)|0);
$147 = HEAP8[$146>>0]|0;
$148 = $147&255;
$149 = ($$1165167>>>0)>($148>>>0);
$150 = ($137>>>0)<(134217728);
$151 = $150 & $149;
if ($151) {
$$1155192 = $137;$138 = $148;
} else {
break;
}
}
$$4163$lcssa = $$4163$be;$155 = $147;$158 = 0;$160 = $137;
} else {
$$4163$lcssa = $$1160169;$155 = $133;$158 = 0;$160 = 0;
}
$152 = (_bitshift64Lshr(-1,-1,($131|0))|0);
$153 = tempRet0;
$154 = $155&255;
$156 = ($$1165167>>>0)<=($154>>>0);
$157 = ($153>>>0)<($158>>>0);
$159 = ($152>>>0)<($160>>>0);
$161 = ($153|0)==($158|0);
$162 = $161 & $159;
$163 = $157 | $162;
$or$cond187 = $156 | $163;
if ($or$cond187) {
$$1165168 = $$1165167;$$8 = $$4163$lcssa;$293 = $160;$294 = $158;
label = 72;
break;
} else {
$164 = $160;$165 = $158;$169 = $155;
}
while(1) {
$166 = (_bitshift64Shl(($164|0),($165|0),($131|0))|0);
$167 = tempRet0;
$168 = $169&255;
$170 = $166 | $168;
$171 = HEAP32[$6>>2]|0;
$172 = HEAP32[$7>>2]|0;
$173 = ($171>>>0)<($172>>>0);
if ($173) {
$174 = ((($171)) + 1|0);
HEAP32[$6>>2] = $174;
$175 = HEAP8[$171>>0]|0;
$176 = $175&255;
$$5$be = $176;
} else {
$177 = (___shgetc($0)|0);
$$5$be = $177;
}
$178 = ((3767) + ($$5$be)|0);
$179 = HEAP8[$178>>0]|0;
$180 = $179&255;
$181 = ($$1165167>>>0)<=($180>>>0);
$182 = ($167>>>0)>($153>>>0);
$183 = ($170>>>0)>($152>>>0);
$184 = ($167|0)==($153|0);
$185 = $184 & $183;
$186 = $182 | $185;
$or$cond = $181 | $186;
if ($or$cond) {
$$1165168 = $$1165167;$$8 = $$5$be;$293 = $170;$294 = $167;
label = 72;
break L63;
} else {
$164 = $170;$165 = $167;$169 = $179;
}
}
}
$122 = ((3767) + ($$1160169)|0);
$123 = HEAP8[$122>>0]|0;
$124 = $123&255;
$125 = ($$1165167>>>0)>($124>>>0);
if ($125) {
$$2156210 = 0;$189 = $124;
while(1) {
$187 = Math_imul($$2156210, $$1165167)|0;
$188 = (($189) + ($187))|0;
$190 = HEAP32[$6>>2]|0;
$191 = HEAP32[$7>>2]|0;
$192 = ($190>>>0)<($191>>>0);
if ($192) {
$193 = ((($190)) + 1|0);
HEAP32[$6>>2] = $193;
$194 = HEAP8[$190>>0]|0;
$195 = $194&255;
$$6$be = $195;
} else {
$196 = (___shgetc($0)|0);
$$6$be = $196;
}
$197 = ((3767) + ($$6$be)|0);
$198 = HEAP8[$197>>0]|0;
$199 = $198&255;
$200 = ($$1165167>>>0)>($199>>>0);
$201 = ($188>>>0)<(119304647);
$202 = $201 & $200;
if ($202) {
$$2156210 = $188;$189 = $199;
} else {
break;
}
}
$$6$lcssa = $$6$be;$204 = $198;$295 = $188;$296 = 0;
} else {
$$6$lcssa = $$1160169;$204 = $123;$295 = 0;$296 = 0;
}
$203 = $204&255;
$205 = ($$1165167>>>0)>($203>>>0);
if ($205) {
$206 = (___udivdi3(-1,-1,($$1165167|0),0)|0);
$207 = tempRet0;
$$7198 = $$6$lcssa;$208 = $296;$210 = $295;$218 = $204;
while(1) {
$209 = ($208>>>0)>($207>>>0);
$211 = ($210>>>0)>($206>>>0);
$212 = ($208|0)==($207|0);
$213 = $212 & $211;
$214 = $209 | $213;
if ($214) {
$$1165168 = $$1165167;$$8 = $$7198;$293 = $210;$294 = $208;
label = 72;
break L63;
}
$215 = (___muldi3(($210|0),($208|0),($$1165167|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) {
$$1165168 = $$1165167;$$8 = $$7198;$293 = $210;$294 = $208;
label = 72;
break L63;
}
$225 = (_i64Add(($215|0),($216|0),($217|0),0)|0);
$226 = tempRet0;
$227 = HEAP32[$6>>2]|0;
$228 = HEAP32[$7>>2]|0;
$229 = ($227>>>0)<($228>>>0);
if ($229) {
$230 = ((($227)) + 1|0);
HEAP32[$6>>2] = $230;
$231 = HEAP8[$227>>0]|0;
$232 = $231&255;
$$7$be = $232;
} else {
$233 = (___shgetc($0)|0);
$$7$be = $233;
}
$234 = ((3767) + ($$7$be)|0);
$235 = HEAP8[$234>>0]|0;
$236 = $235&255;
$237 = ($$1165167>>>0)>($236>>>0);
if ($237) {
$$7198 = $$7$be;$208 = $226;$210 = $225;$218 = $235;
} else {
$$1165168 = $$1165167;$$8 = $$7$be;$293 = $225;$294 = $226;
label = 72;
break;
}
}
} else {
$$1165168 = $$1165167;$$8 = $$6$lcssa;$293 = $295;$294 = $296;
label = 72;
}
}
} while(0);
if ((label|0) == 72) {
$238 = ((3767) + ($$8)|0);
$239 = HEAP8[$238>>0]|0;
$240 = $239&255;
$241 = ($$1165168>>>0)>($240>>>0);
if ($241) {
while(1) {
$242 = HEAP32[$6>>2]|0;
$243 = HEAP32[$7>>2]|0;
$244 = ($242>>>0)<($243>>>0);
if ($244) {
$245 = ((($242)) + 1|0);
HEAP32[$6>>2] = $245;
$246 = HEAP8[$242>>0]|0;
$247 = $246&255;
$$9$be = $247;
} else {
$248 = (___shgetc($0)|0);
$$9$be = $248;
}
$249 = ((3767) + ($$9$be)|0);
$250 = HEAP8[$249>>0]|0;
$251 = $250&255;
$252 = ($$1165168>>>0)>($251>>>0);
if (!($252)) {
break;
}
}
$253 = (___errno_location()|0);
HEAP32[$253>>2] = 34;
$254 = $3 & 1;
$255 = ($254|0)==(0);
$256 = (0)==(0);
$257 = $255 & $256;
$$0157$ = $257 ? $$0157 : 0;
$$1158 = $$0157$;$262 = $4;$264 = $3;
} else {
$$1158 = $$0157;$262 = $294;$264 = $293;
}
}
$258 = HEAP32[$7>>2]|0;
$259 = ($258|0)==(0|0);
if (!($259)) {
$260 = HEAP32[$6>>2]|0;
$261 = ((($260)) + -1|0);
HEAP32[$6>>2] = $261;
}
$263 = ($262>>>0)<($4>>>0);
$265 = ($264>>>0)<($3>>>0);
$266 = ($262|0)==($4|0);
$267 = $266 & $265;
$268 = $263 | $267;
if (!($268)) {
$269 = $3 & 1;
$270 = ($269|0)!=(0);
$271 = (0)!=(0);
$272 = $270 | $271;
$273 = ($$1158|0)!=(0);
$or$cond12 = $272 | $273;
if (!($or$cond12)) {
$274 = (___errno_location()|0);
HEAP32[$274>>2] = 34;
$275 = (_i64Add(($3|0),($4|0),-1,-1)|0);
$276 = tempRet0;
$289 = $276;$290 = $275;
break;
}
$277 = ($262>>>0)>($4>>>0);
$278 = ($264>>>0)>($3>>>0);
$279 = ($262|0)==($4|0);
$280 = $279 & $278;
$281 = $277 | $280;
if ($281) {
$282 = (___errno_location()|0);
HEAP32[$282>>2] = 34;
$289 = $4;$290 = $3;
break;
}
}
$283 = ($$1158|0)<(0);
$284 = $283 << 31 >> 31;
$285 = $264 ^ $$1158;
$286 = $262 ^ $284;
$287 = (_i64Subtract(($285|0),($286|0),($$1158|0),($284|0))|0);
$288 = tempRet0;
$289 = $288;$290 = $287;
}
} while(0);
tempRet0 = ($289);
return ($290|0);
}
function ___shgetc($0) {
$0 = $0|0;
var $$0 = 0, $$phi$trans$insert = 0, $$phi$trans$insert29 = 0, $$pre = 0, $$pre30 = 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, $39 = 0, $4 = 0;
var $40 = 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);
if ($11) {
$$pre = HEAP32[$$phi$trans$insert>>2]|0;
$$sink = $$pre;$25 = $$pre;
} else {
$12 = HEAP32[$$phi$trans$insert>>2]|0;
$13 = ((($0)) + 4|0);
$14 = HEAP32[$13>>2]|0;
$15 = $14;
$16 = (($12) - ($15))|0;
$17 = ((($0)) + 108|0);
$18 = HEAP32[$17>>2]|0;
$19 = (($10) - ($18))|0;
$20 = ($16|0)<($19|0);
$21 = $12;
if ($20) {
$$sink = $21;$25 = $21;
} else {
$22 = (($19) + -1)|0;
$23 = (($14) + ($22)|0);
$$sink = $23;$25 = $21;
}
}
$24 = ((($0)) + 100|0);
HEAP32[$24>>2] = $$sink;
$26 = ($25|0)==(0|0);
$$phi$trans$insert29 = ((($0)) + 4|0);
if ($26) {
$$pre30 = HEAP32[$$phi$trans$insert29>>2]|0;
$36 = $$pre30;
} else {
$27 = HEAP32[$$phi$trans$insert29>>2]|0;
$28 = $25;
$29 = ((($0)) + 108|0);
$30 = HEAP32[$29>>2]|0;
$31 = (($28) + 1)|0;
$32 = (($31) - ($27))|0;
$33 = (($32) + ($30))|0;
HEAP32[$29>>2] = $33;
$34 = $27;
$36 = $34;
}
$35 = ((($36)) + -1|0);
$37 = HEAP8[$35>>0]|0;
$38 = $37&255;
$39 = ($7|0)==($38|0);
if ($39) {
$$0 = $7;
} else {
$40 = $7&255;
HEAP8[$35>>0] = $40;
$$0 = $7;
}
}
}
if ((label|0) == 4) {
$9 = ((($0)) + 100|0);
HEAP32[$9>>2] = 0;
$$0 = -1;
}
return ($$0|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 ___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_534()|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((4808|0));
return (4816|0);
}
function ___ofl_unlock() {
var label = 0, sp = 0;
sp = STACKTOP;
___unlock((4808|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[69]|0;
$9 = ($8|0)==(0|0);
if ($9) {
$29 = 0;
} else {
$10 = HEAP32[69]|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);
$25 = $17;
} else {
$25 = 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;
}
$26 = ($25|0)==(0);
if (!($26)) {
___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 & 7]($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 & 7]($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_534() {
var $0 = 0, label = 0, sp = 0;
sp = STACKTOP;
$0 = (_pthread_self()|0);
return ($0|0);
}
function ___getopt_msg($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $10 = 0, $11 = 0, $12 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$4 = HEAP32[5]|0;
$5 = (___lctrans_cur($1)|0);
_flockfile($4);
$6 = (_fputs($0,$4)|0);
$7 = ($6|0)>(-1);
if ($7) {
$8 = (_strlen($5)|0);
$9 = (_fwrite($5,$8,1,$4)|0);
$10 = ($9|0)==(0);
if (!($10)) {
$11 = (_fwrite($2,1,$3,$4)|0);
$12 = ($11|0)==($3|0);
if ($12) {
(_putc(10,$4)|0);
}
}
}
_funlockfile($4);
return;
}
function _flockfile($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 = (_ftrylockfile($0)|0);
$2 = ($1|0)==(0);
if (!($2)) {
$3 = ((($0)) + 76|0);
$4 = ((($0)) + 80|0);
while(1) {
$5 = HEAP32[$3>>2]|0;
$6 = ($5|0)==(0);
if (!($6)) {
___wait(($3|0),($4|0),($5|0),1);
}
$7 = (_ftrylockfile($0)|0);
$8 = ($7|0)==(0);
if ($8) {
break;
}
}
}
return;
}
function _fputs($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = (_strlen($0)|0);
$3 = (_fwrite($0,1,$2,$1)|0);
$4 = ($3|0)!=($2|0);
$5 = $4 << 31 >> 31;
return ($5|0);
}
function _fwrite($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$ = 0, $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, label = 0, sp = 0;
sp = STACKTOP;
$4 = Math_imul($2, $1)|0;
$5 = ($1|0)==(0);
$$ = $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) {
$12 = $11;
} else {
___unlockfile($3);
$12 = $11;
}
} else {
$9 = (___fwritex($0,$4,$3)|0);
$12 = $9;
}
$13 = ($12|0)==($4|0);
if ($13) {
$15 = $$;
} else {
$14 = (($12>>>0) / ($1>>>0))&-1;
$15 = $14;
}
return ($15|0);
}
function _putc($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = ((($1)) + 76|0);
$3 = HEAP32[$2>>2]|0;
$4 = ($3|0)<(0);
if ($4) {
label = 3;
} else {
$5 = (___lockfile($1)|0);
$6 = ($5|0)==(0);
if ($6) {
label = 3;
} else {
$20 = $0&255;
$21 = $0 & 255;
$22 = ((($1)) + 75|0);
$23 = HEAP8[$22>>0]|0;
$24 = $23 << 24 >> 24;
$25 = ($21|0)==($24|0);
if ($25) {
label = 10;
} else {
$26 = ((($1)) + 20|0);
$27 = HEAP32[$26>>2]|0;
$28 = ((($1)) + 16|0);
$29 = HEAP32[$28>>2]|0;
$30 = ($27>>>0)<($29>>>0);
if ($30) {
$31 = ((($27)) + 1|0);
HEAP32[$26>>2] = $31;
HEAP8[$27>>0] = $20;
$33 = $21;
} else {
label = 10;
}
}
if ((label|0) == 10) {
$32 = (___overflow($1,$0)|0);
$33 = $32;
}
___unlockfile($1);
$$0 = $33;
}
}
do {
if ((label|0) == 3) {
$7 = $0&255;
$8 = $0 & 255;
$9 = ((($1)) + 75|0);
$10 = HEAP8[$9>>0]|0;
$11 = $10 << 24 >> 24;
$12 = ($8|0)==($11|0);
if (!($12)) {
$13 = ((($1)) + 20|0);
$14 = HEAP32[$13>>2]|0;
$15 = ((($1)) + 16|0);
$16 = HEAP32[$15>>2]|0;
$17 = ($14>>>0)<($16>>>0);
if ($17) {
$18 = ((($14)) + 1|0);
HEAP32[$13>>2] = $18;
HEAP8[$14>>0] = $7;
$$0 = $8;
break;
}
}
$19 = (___overflow($1,$0)|0);
$$0 = $19;
}
} while(0);
return ($$0|0);
}
function _funlockfile($0) {
$0 = $0|0;
var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ((($0)) + 68|0);
$2 = HEAP32[$1>>2]|0;
$3 = ($2|0)==(1);
if ($3) {
___unlist_locked_file($0);
HEAP32[$1>>2] = 0;
___unlockfile($0);
} else {
$4 = (($2) + -1)|0;
HEAP32[$1>>2] = $4;
}
return;
}
function ___overflow($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, $3 = 0, $4 = 0;
var $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;
$3 = $1&255;
HEAP8[$2>>0] = $3;
$4 = ((($0)) + 16|0);
$5 = HEAP32[$4>>2]|0;
$6 = ($5|0)==(0|0);
if ($6) {
$7 = (___towrite($0)|0);
$8 = ($7|0)==(0);
if ($8) {
$$pre = HEAP32[$4>>2]|0;
$12 = $$pre;
label = 4;
} else {
$$0 = -1;
}
} else {
$12 = $5;
label = 4;
}
do {
if ((label|0) == 4) {
$9 = ((($0)) + 20|0);
$10 = HEAP32[$9>>2]|0;
$11 = ($10>>>0)<($12>>>0);
if ($11) {
$13 = $1 & 255;
$14 = ((($0)) + 75|0);
$15 = HEAP8[$14>>0]|0;
$16 = $15 << 24 >> 24;
$17 = ($13|0)==($16|0);
if (!($17)) {
$18 = ((($10)) + 1|0);
HEAP32[$9>>2] = $18;
HEAP8[$10>>0] = $3;
$$0 = $13;
break;
}
}
$19 = ((($0)) + 36|0);
$20 = HEAP32[$19>>2]|0;
$21 = (FUNCTION_TABLE_iiii[$20 & 7]($0,$2,1)|0);
$22 = ($21|0)==(1);
if ($22) {
$23 = HEAP8[$2>>0]|0;
$24 = $23&255;
$$0 = $24;
} else {
$$0 = -1;
}
}
} while(0);
STACKTOP = sp;return ($$0|0);
}
function _ftrylockfile($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 = (___pthread_self_534()|0);
$2 = ((($1)) + 52|0);
$3 = HEAP32[$2>>2]|0;
$4 = ((($0)) + 76|0);
$5 = HEAP32[$4>>2]|0;
$6 = ($5|0)==($3|0);
if ($6) {
$7 = ((($0)) + 68|0);
$8 = HEAP32[$7>>2]|0;
$9 = ($8|0)==(2147483647);
if ($9) {
$$0 = -1;
} else {
$10 = (($8) + 1)|0;
HEAP32[$7>>2] = $10;
$$0 = 0;
}
} else {
$11 = HEAP32[$4>>2]|0;
$12 = ($11|0)<(0);
if ($12) {
HEAP32[$4>>2] = 0;
}
$13 = HEAP32[$4>>2]|0;
$14 = ($13|0)==(0);
if ($14) {
_a_cas($4,$3);
$15 = ((($0)) + 68|0);
HEAP32[$15>>2] = 1;
$16 = ((($0)) + 112|0);
HEAP32[$16>>2] = 0;
$17 = ((($1)) + 232|0);
$18 = HEAP32[$17>>2]|0;
$19 = ((($0)) + 116|0);
HEAP32[$19>>2] = $18;
$20 = ($18|0)==(0|0);
if (!($20)) {
$21 = ((($18)) + 112|0);
HEAP32[$21>>2] = $0;
}
HEAP32[$17>>2] = $0;
$$0 = 0;
} else {
$$0 = -1;
}
}
return ($$0|0);
}
function _a_cas($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $2 = 0, $3 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = HEAP32[$0>>2]|0;
$3 = ($2|0)==(0);
if ($3) {
HEAP32[$0>>2] = $1;
}
return;
}
function _getopt($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$ = 0, $$0 = 0, $$049 = 0, $$050 = 0, $$051 = 0, $$1 = 0, $$pre52 = 0, $$pre53 = 0, $$pre54 = 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 $8 = 0, $9 = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 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 = HEAP32[4]|0;
$6 = ($5|0)==(0);
$7 = (0)!=(0);
$or$cond = $6 | $7;
if ($or$cond) {
HEAP32[1183] = 0;
HEAP32[4] = 1;
$8 = 1;
} else {
$8 = $5;
}
$9 = ($8|0)<($0|0);
L4: do {
if ($9) {
$10 = (($1) + ($8<<2)|0);
$11 = HEAP32[$10>>2]|0;
$12 = ($11|0)==(0|0);
$13 = $11;
if ($12) {
$$0 = -1;
} else {
$14 = HEAP8[$11>>0]|0;
$15 = ($14<<24>>24)==(45);
if (!($15)) {
$16 = HEAP8[$2>>0]|0;
$17 = ($16<<24>>24)==(45);
if (!($17)) {
$$0 = -1;
break;
}
$18 = (($8) + 1)|0;
HEAP32[4] = $18;
HEAP32[1184] = $13;
$$0 = 1;
break;
}
$19 = ((($11)) + 1|0);
$20 = HEAP8[$19>>0]|0;
switch ($20<<24>>24) {
case 0: {
$$0 = -1;
break L4;
break;
}
case 45: {
$21 = ((($11)) + 2|0);
$22 = HEAP8[$21>>0]|0;
$23 = ($22<<24>>24)==(0);
if ($23) {
$24 = (($8) + 1)|0;
HEAP32[4] = $24;
$$0 = -1;
break L4;
}
break;
}
default: {
}
}
$25 = HEAP32[1183]|0;
$26 = ($25|0)==(0);
if ($26) {
HEAP32[1183] = 1;
$28 = 1;
} else {
$28 = $25;
}
$27 = (($11) + ($28)|0);
$29 = (_mbtowc($3,$27,4)|0);
$30 = ($29|0)<(0);
if ($30) {
HEAP32[$3>>2] = 65533;
$$050 = 1;
} else {
$$050 = $29;
}
$31 = HEAP32[4]|0;
$32 = (($1) + ($31<<2)|0);
$33 = HEAP32[$32>>2]|0;
$34 = HEAP32[1183]|0;
$35 = (($33) + ($34)|0);
$36 = (($34) + ($$050))|0;
HEAP32[1183] = $36;
$37 = (($33) + ($36)|0);
$38 = HEAP8[$37>>0]|0;
$39 = ($38<<24>>24)==(0);
if ($39) {
$40 = (($31) + 1)|0;
HEAP32[4] = $40;
HEAP32[1183] = 0;
}
$41 = HEAP8[$2>>0]|0;
switch ($41<<24>>24) {
case 43: case 45: {
$42 = ((($2)) + 1|0);
$$049 = $42;
break;
}
default: {
$$049 = $2;
}
}
HEAP32[$4>>2] = 0;
$$051 = 0;
while(1) {
$43 = (($$049) + ($$051)|0);
$44 = (_mbtowc($4,$43,4)|0);
$45 = ($44|0)>(1);
$$ = $45 ? $44 : 1;
$$1 = (($$) + ($$051))|0;
$46 = ($44|0)==(0);
$$pre52 = HEAP32[$4>>2]|0;
$$pre53 = HEAP32[$3>>2]|0;
$47 = ($$pre52|0)==($$pre53|0);
if ($46) {
label = 23;
break;
}
if ($47) {
$75 = $$pre52;
break;
} else {
$$051 = $$1;
}
}
if ((label|0) == 23) {
if ($47) {
$75 = $$pre53;
} else {
$48 = HEAP8[$$049>>0]|0;
$49 = ($48<<24>>24)!=(58);
$50 = (1)!=(0);
$or$cond3 = $49 & $50;
if (!($or$cond3)) {
$$0 = 63;
break;
}
$51 = HEAP32[$1>>2]|0;
___getopt_msg($51,4032,$35,$$050);
$$0 = 63;
break;
}
}
$52 = (($$049) + ($$1)|0);
$53 = HEAP8[$52>>0]|0;
$54 = ($53<<24>>24)==(58);
if ($54) {
$55 = (($$1) + 1)|0;
$56 = (($$049) + ($55)|0);
$57 = HEAP8[$56>>0]|0;
$58 = ($57<<24>>24)==(58);
do {
if ($58) {
HEAP32[1184] = 0;
$$pre54 = HEAP8[$56>>0]|0;
$66 = ($$pre54<<24>>24)!=(58);
$67 = HEAP32[1183]|0;
$68 = ($67|0)!=(0);
$or$cond5 = $66 | $68;
if ($or$cond5) {
$74 = $67;
} else {
$$0 = $75;
break L4;
}
} else {
$59 = HEAP32[4]|0;
$60 = ($59|0)<($0|0);
if ($60) {
$61 = HEAP32[1183]|0;
$74 = $61;
break;
}
$62 = HEAP8[$$049>>0]|0;
$63 = ($62<<24>>24)==(58);
if ($63) {
$$0 = 58;
break L4;
}
$64 = (1)==(0);
if ($64) {
$$0 = 63;
break L4;
}
$65 = HEAP32[$1>>2]|0;
___getopt_msg($65,4056,$35,$$050);
$$0 = 63;
break L4;
}
} while(0);
$69 = HEAP32[4]|0;
$70 = (($69) + 1)|0;
HEAP32[4] = $70;
$71 = (($1) + ($69<<2)|0);
$72 = HEAP32[$71>>2]|0;
$73 = (($72) + ($74)|0);
HEAP32[1184] = $73;
HEAP32[1183] = 0;
$$0 = $75;
} else {
$$0 = $75;
}
}
} else {
$$0 = -1;
}
} while(0);
STACKTOP = sp;return ($$0|0);
}
function _strtol($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($0,$1,$2,-2147483648,0)|0);
$4 = tempRet0;
return ($3|0);
}
function _fputc($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = ((($1)) + 76|0);
$3 = HEAP32[$2>>2]|0;
$4 = ($3|0)<(0);
if ($4) {
label = 3;
} else {
$5 = (___lockfile($1)|0);
$6 = ($5|0)==(0);
if ($6) {
label = 3;
} else {
$20 = $0&255;
$21 = $0 & 255;
$22 = ((($1)) + 75|0);
$23 = HEAP8[$22>>0]|0;
$24 = $23 << 24 >> 24;
$25 = ($21|0)==($24|0);
if ($25) {
label = 10;
} else {
$26 = ((($1)) + 20|0);
$27 = HEAP32[$26>>2]|0;
$28 = ((($1)) + 16|0);
$29 = HEAP32[$28>>2]|0;
$30 = ($27>>>0)<($29>>>0);
if ($30) {
$31 = ((($27)) + 1|0);
HEAP32[$26>>2] = $31;
HEAP8[$27>>0] = $20;
$33 = $21;
} else {
label = 10;
}
}
if ((label|0) == 10) {
$32 = (___overflow($1,$0)|0);
$33 = $32;
}
___unlockfile($1);
$$0 = $33;
}
}
do {
if ((label|0) == 3) {
$7 = $0&255;
$8 = $0 & 255;
$9 = ((($1)) + 75|0);
$10 = HEAP8[$9>>0]|0;
$11 = $10 << 24 >> 24;
$12 = ($8|0)==($11|0);
if (!($12)) {
$13 = ((($1)) + 20|0);
$14 = HEAP32[$13>>2]|0;
$15 = ((($1)) + 16|0);
$16 = HEAP32[$15>>2]|0;
$17 = ($14>>>0)<($16>>>0);
if ($17) {
$18 = ((($14)) + 1|0);
HEAP32[$13>>2] = $18;
HEAP8[$14>>0] = $7;
$$0 = $8;
break;
}
}
$19 = (___overflow($1,$0)|0);
$$0 = $19;
}
} while(0);
return ($$0|0);
}
function _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;
HEAP32[$1>>2] = $varargs;
$2 = HEAP32[37]|0;
$3 = (_vfprintf($2,$0,$1)|0);
STACKTOP = sp;return ($3|0);
}
function _putchar($0) {
$0 = $0|0;
var $1 = 0, $2 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = HEAP32[37]|0;
$2 = (_fputc($0,$1)|0);
return ($2|0);
}
function runPostSets() {
}
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 _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) {
x = x|0;
var ret = 0;
ret = ((HEAP8[(((cttz_i8)+(x & 0xff))>>0)])|0);
if ((ret|0) < 8) return ret|0;
ret = ((HEAP8[(((cttz_i8)+((x >> 8)&0xff))>>0)])|0);
if ((ret|0) < 8) return (ret + 8)|0;
ret = ((HEAP8[(((cttz_i8)+((x >> 16)&0xff))>>0)])|0);
if ((ret|0) < 8) return (ret + 16)|0;
return (((HEAP8[(((cttz_i8)+(x >>> 24))>>0)])|0) + 24)|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 ___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 _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 _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 _sbrk(increment) {
increment = increment|0;
var oldDynamicTop = 0;
var oldDynamicTopOnChange = 0;
var newDynamicTop = 0;
var totalMemory = 0;
increment = ((increment + 15) & -16)|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&1](a1|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&7](a1|0,a2|0,a3|0)|0;
}
function b0(p0) {
p0 = p0|0; nullFunc_ii(0);return 0;
}
function b1(p0,p1,p2) {
p0 = p0|0;p1 = p1|0;p2 = p2|0; nullFunc_iiii(1);return 0;
}
// EMSCRIPTEN_END_FUNCS
var FUNCTION_TABLE_ii = [b0,___stdio_close];
var FUNCTION_TABLE_iiii = [b1,b1,___stdio_write,___stdio_seek,___stdout_write,b1,b1,b1];
return { ___errno_location: ___errno_location, ___muldi3: ___muldi3, ___udivdi3: ___udivdi3, ___uremdi3: ___uremdi3, _bitshift64Lshr: _bitshift64Lshr, _bitshift64Shl: _bitshift64Shl, _fflush: _fflush, _free: _free, _i64Add: _i64Add, _i64Subtract: _i64Subtract, _llvm_bswap_i32: _llvm_bswap_i32, _main: _main, _malloc: _malloc, _memcpy: _memcpy, _memset: _memset, _sbrk: _sbrk, dynCall_ii: dynCall_ii, dynCall_iiii: dynCall_iiii, 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____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__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__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__main = asm["_main"]; asm["_main"] = 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__main.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__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 ___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 _bitshift64Lshr = Module["_bitshift64Lshr"] = asm["_bitshift64Lshr"];
var _bitshift64Shl = Module["_bitshift64Shl"] = asm["_bitshift64Shl"];
var _fflush = Module["_fflush"] = asm["_fflush"];
var _free = Module["_free"] = asm["_free"];
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 _main = Module["_main"] = asm["_main"];
var _malloc = Module["_malloc"] = asm["_malloc"];
var _memcpy = Module["_memcpy"] = asm["_memcpy"];
var _memset = Module["_memset"] = asm["_memset"];
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_iiii = Module["dynCall_iiii"] = asm["dynCall_iiii"];
;
// === 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)") };
if (!Module["ccall"]) Module["ccall"] = function() { abort("'ccall' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
if (!Module["cwrap"]) Module["cwrap"] = function() { abort("'cwrap' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
if (!Module["setValue"]) Module["setValue"] = function() { abort("'setValue' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
if (!Module["getValue"]) Module["getValue"] = function() { abort("'getValue' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
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") };
if (!Module["Pointer_stringify"]) Module["Pointer_stringify"] = function() { abort("'Pointer_stringify' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
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)") };
if (!Module["stringToUTF8"]) Module["stringToUTF8"] = function() { abort("'stringToUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
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["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["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)) {
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, 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 or memoryInitializerPrefixURL, and defining them in JS. That
// means that the HTML file doesn't know about them, 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
}
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;
var argv = stackAlloc((argc + 1) * 4);
HEAP32[argv >> 2] = allocateUTF8OnStack(Module['thisProgram']);
for (var i = 1; i < argc; i++) {
HEAP32[(argv >> 2) + i] = allocateUTF8OnStack(args[i - 1]);
}
HEAP32[(argv >> 2) + argc] = 0;
try {
var ret = Module['_main'](argc, argv, 0);
// if we're not running an evented main loop, it's time to exit
exit(ret, /* implicit = */ true);
}
catch(e) {
if (e instanceof ExitStatus) {
// exit() throws this once it's done to make sure execution
// has been stopped completely
return;
} else if (e == 'SimulateInfiniteLoop') {
// running an evented main loop, don't immediately exit
Module['noExitRuntime'] = true;
return;
} else {
var toLog = e;
if (e && typeof e === 'object' && e.stack) {
toLog = [e, e.stack];
}
Module.printErr('exception thrown: ' + toLog);
Module['quit'](1, e);
}
} finally {
calledMain = true;
}
}
/** @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']();
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'] = 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 = Module['print'];
var printErr = Module['printErr'];
var has = false;
Module['print'] = Module['printErr'] = function(x) {
has = true;
}
try { // it doesn't matter if it fails
var flush = flush_NO_FILESYSTEM;
if (flush) flush(0);
} catch(e) {}
Module['print'] = print;
Module['printErr'] = 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) {
Module.printErr('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);
}
if (ENVIRONMENT_IS_NODE) {
process['exit'](status);
}
Module['quit'](status, new ExitStatus(status));
}
Module['exit'] = exit;
var abortDecorators = [];
function abort(what) {
if (Module['onAbort']) {
Module['onAbort'](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'] = abort;
// {{PRE_RUN_ADDITIONS}}
if (Module['preInit']) {
if (typeof Module['preInit'] == 'function') Module['preInit'] = [Module['preInit']];
while (Module['preInit'].length > 0) {
Module['preInit'].pop()();
}
}
// shouldRunNow refers to calling main(), not run().
var shouldRunNow = true;
if (Module['noInitialRun']) {
shouldRunNow = false;
}
Module["noExitRuntime"] = true;
run();
// {{POST_RUN_ADDITIONS}}
// {{MODULE_ADDITIONS}}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment